pub mod classifier;
pub mod client;
pub mod complete;
pub mod config;
pub mod confirmation;
pub mod embed;
pub mod error;
pub mod schema;
pub mod similarity;
pub mod tools;
#[cfg(feature = "pgvector")]
pub mod pgvector;
pub use classifier::anthropic::AnthropicProvider;
pub use classifier::provider::ClassificationProvider;
pub use classifier::{ClassificationResult, Classifier, ClassifierConfig};
pub use client::{
AnthropicClient, CompletionRequest, CompletionResponse, LlmClient, OllamaClient, OpenAiClient,
TokenStream, ToolChoice, ToolRequest, ToolUseBlock,
};
pub use complete::{complete, complete_with, CompleteOptions};
pub use config::AiConfig;
pub use confirmation::events::ConfirmationExpired;
pub use confirmation::store::InMemoryConfirmationStore;
pub use confirmation::{ConfirmationStore, PendingActionInfo};
pub use embed::embed;
pub use error::Error;
pub use schema::for_structured_output;
pub use similarity::cosine_similarity;
pub use tools::{make_handler, ToolDef, ToolError, ToolRegistry};
#[cfg(feature = "pgvector")]
pub use pgvector::{Neighbor, PgVectorStore};
#[cfg(test)]
pub static ENV_LOCK: std::sync::Mutex<()> = std::sync::Mutex::new(());