Skip to main content

cera_client/
lib.rs

1//! Asynchronous client library for OpenAI and OpenRouter endpoints.
2//!
3//! Provides strongly typed request and response structures, real-time Server-Sent Events
4//! (SSE) stream parsing, tool calling schemas, and provider abstractions.
5
6pub mod client;
7pub mod error;
8pub mod provider;
9pub mod stream;
10pub mod types;
11
12pub use client::{Client, ClientBuilder};
13pub use error::{ApiErrorEnvelope, ApiErrorPayload, ClientError};
14pub use provider::{
15    OPENAI_API_KEY_ENV, OPENAI_BASE_URL_ENV, OPENAI_DEFAULT_BASE_URL, OPENROUTER_API_KEY_ENV,
16    OPENROUTER_DEFAULT_BASE_URL, Provider,
17};
18pub use reqwest::StatusCode;
19pub use stream::{BoxChatCompletionStream, ChatCompletionStream};
20pub use types::{
21    ChatChoice, ChatChunkChoice, ChatChunkDelta, ChatCompletionChunk, ChatCompletionRequest,
22    ChatCompletionResponse, ChatMessage, ChunkFunctionCall, ChunkToolCall, EmbeddingData,
23    EmbeddingInput, EmbeddingRequest, EmbeddingResponse, FunctionCall, FunctionDefinition,
24    ListModelsResponse, ModelInfo, Role, ToolCall, ToolDefinition, Usage,
25};