Skip to main content

caliban_provider/
lib.rs

1//! Provider-neutral message IR and the `Provider` trait for the caliban
2//! agent harness. Adapter crates (`caliban-provider-anthropic`, etc.)
3//! implement this trait for specific schema-family/transport pairs.
4
5pub mod cache;
6pub mod capabilities;
7pub mod effort;
8pub mod error;
9pub mod message;
10pub mod provider;
11pub mod request;
12pub mod response;
13pub mod stream;
14pub mod thinking;
15pub mod tool;
16pub mod transport;
17
18#[cfg(feature = "mock")]
19pub mod mock;
20
21pub use cache::CacheControl;
22pub use capabilities::{
23    Capabilities, ModelInfo, PromptCachingCapability, SystemPromptCapability, ToolUseCapability,
24};
25pub use effort::Effort;
26pub use error::{Error, Result, is_auth_error};
27pub use message::{ContentBlock, ImageBlock, ImageSource, Message, Role, TextBlock};
28pub use provider::Provider;
29pub use request::{CompletionRequest, CompletionRequestBuilder, RequestMetadata, RequestPurpose};
30pub use response::{CompletionResponse, StopReason, Usage};
31pub use stream::{
32    MessageStream, StreamEvent, StreamingContentType, StreamingDelta, collect_message,
33};
34pub use thinking::{ThinkingBlock, ThinkingConfig, ThinkingSetting};
35pub use tool::{Tool, ToolChoice, ToolResultBlock, ToolUseBlock};
36pub use transport::{TransportErrorClass, classify_reqwest_error, render_source_chain};
37
38#[cfg(feature = "mock")]
39pub use mock::{MockProvider, MockProviderBuilder};