#![warn(missing_docs)]
pub mod budget;
pub mod chat;
pub mod content;
pub mod error;
pub mod model;
pub mod prompt;
pub mod role;
pub mod semconv;
pub mod stream;
pub mod usage;
pub mod vector;
pub use budget::{Budget, BudgetExceededReason};
pub use content::{ContentPart, ToolResultBlock, ToolUseBlock, text_content, text_of};
pub use error::GenAiError;
pub use model::{Capabilities, Model, Provider};
pub use prompt::{
Builder, PromptError, PromptIdentity, PromptTemplate, Registry, RenderContext, RenderToMessage,
Template, ValidationFinding, ValidationFindingKind, VariableDecl, VariableType, render,
validate,
};
pub use role::Role;
pub use stream::{
ErrorEvent, FinishReason, MessageStart, MessageStop, ReasoningDelta, StreamEvent,
StreamEventRef, TextDelta, ToolUseDelta, ToolUseStart, ToolUseStop, UsageDelta,
};
pub use usage::{Cost, Money, Usage};
#[cfg(test)]
mod tests;