1#![forbid(unsafe_code)]
14
15pub mod constrained;
16pub mod error;
17pub mod event_stream;
18pub mod frames;
19#[cfg(feature = "providers")]
20pub mod http;
21#[cfg(feature = "providers")]
22pub mod images;
23pub mod json_parse;
24pub mod model;
25pub mod provider;
26pub mod providers;
27pub mod schema;
28pub(crate) mod strict_schema;
29pub mod types;
30
31pub use error::AiError;
33pub use event_stream::{AssistantMessageEventStream, AssistantMessageEventStreamProducer};
34pub use model::{Model, StreamingProtocolCompat};
35pub use provider::{
36 CacheRetention, ContextPatch, NoopProviderHooks, Provider, ProviderHooks, SimpleStreamOptions,
37 SimpleStreamOptionsPatch, DEFAULT_LLM_API_TIMEOUT,
38};
39pub use schema::validate_tool_arguments;
40pub use types::{
41 Api, AssistantMessage, AssistantMessageEvent, Content, Context, DeferredHandle, DoneReason,
42 ErrorReason, ImageContent, InputModality, Message, ModelCost, ModelCostRates, ModelCostTier,
43 ProviderId, Schema, StopReason, TextContent, ThinkingBudgets, ThinkingContent, ThinkingLevel,
44 ThinkingLevelMap, Tool, ToolCall, ToolCallType, ToolResultMessage, Usage, UsageCost,
45 UserContent, UserMessage,
46};