#![deny(unsafe_code, missing_debug_implementations)]
#![warn(missing_docs)]
pub mod adapter;
pub mod claude_http;
pub mod claude_summary;
pub mod ollama;
pub mod ollama_http;
pub mod ollama_summary;
pub mod openai_compat;
pub mod replay;
pub mod sensitivity;
pub mod summary;
pub use adapter::{
blake3_hex, LlmAdapter, LlmError, LlmMessage, LlmRequest, LlmResponse, LlmRole, TokenUsage,
};
pub use claude_http::{
ClaudeHttpAdapter, CLAUDE_ADAPTER_API_KEY_MISSING_INVARIANT,
CLAUDE_ADAPTER_ENDPOINT_REJECTED_INVARIANT, CLAUDE_ADAPTER_MODEL_NOT_ALLOWED_INVARIANT,
};
pub use claude_summary::ClaudeSummaryBackend;
pub use ollama_summary::{canonical_prompt_template_blake3, OllamaSummaryBackend};
pub use ollama::{
validate_config as validate_ollama_config,
validate_endpoint_url as validate_ollama_endpoint_url,
validate_model_ref as validate_ollama_model_ref, OllamaConfig,
};
pub use ollama_http::OllamaHttpAdapter;
pub use openai_compat::OpenAiCompatAdapter;
pub use replay::{
FixtureFile, FixtureIndex, FixtureMatch, FixtureResponse, IndexEntry, ReplayAdapter,
};
pub use sensitivity::{check_remote_prompt_sensitivity, MaxSensitivity, SensitivityGateResult};
pub use summary::{
NoopSummaryBackend, ReplaySummaryBackend, ReplaySummaryFixture, ReplaySummaryFixtureEntry,
SourceClaim, SummaryBackend, SummaryError, SummaryRequest, SummaryResponse,
};