#![allow(clippy::result_large_err)]
mod call;
mod message;
mod provider_trait;
mod request;
mod response;
mod responses_continuation;
#[cfg(test)]
mod tests;
mod tool;
pub use call::{FunctionCall, ToolCall};
pub use message::{AssistantPhase, ContentPart, Message, MessageContent, MessageRole};
pub use provider_trait::{
LLMError, LLMErrorMetadata, LLMProvider, ProviderCapabilities, get_cached_capabilities,
};
pub use request::{
AnthropicOptionalStringOverride, AnthropicOptionalU32Override, AnthropicRequestOverrides,
AnthropicThinkingDisplayOverride, AnthropicThinkingModeOverride, CodingAgentSettings,
LLMRequest, ParallelToolConfig, PromptCacheProfile, ResponsesCompactionOptions,
SpecificFunctionChoice, SpecificToolChoice, ToolChoice,
};
pub use response::{
BorrowedLLMStream, FinishReason, LLMNormalizedStream, LLMResponse, LLMStream, LLMStreamEvent,
NormalizedStreamEvent, Usage,
};
pub use responses_continuation::{
PreparedResponsesRequest, ResponsesContinuationState, prepare_openai_responses_request,
prepare_responses_continuation_request, responses_continuation_key,
supports_responses_chaining, uses_incremental_responses_history,
};
pub use tool::{
FunctionDefinition, GrammarDefinition, ShellToolDefinition, ToolDefinition, ToolSearchAlgorithm,
};