ricecoder_providers/
lib.rs

1//! Ricecoder AI Providers - Unified abstraction layer for multiple AI providers
2//!
3//! This crate provides a consistent interface for interacting with different AI providers
4//! (OpenAI, Anthropic, ollama, Google, etc.) without changing your workflow.
5
6pub mod api_key;
7pub mod audit_log;
8pub mod cache;
9pub mod config;
10pub mod error;
11pub mod health_check;
12pub mod models;
13pub mod provider;
14pub mod providers;
15pub mod rate_limiter;
16pub mod redaction;
17pub mod security_headers;
18pub mod token_counter;
19
20// Re-export commonly used types
21pub use api_key::ApiKeyManager;
22pub use audit_log::{AuditEventType, AuditLogger, AuditLogEntry};
23pub use cache::ProviderCache;
24pub use error::ProviderError;
25pub use health_check::{HealthCheckCache, HealthCheckResult};
26pub use models::{
27    Capability, ChatRequest, ChatResponse, FinishReason, Message, ModelInfo, TokenUsage,
28};
29pub use provider::{Provider, ProviderManager, ProviderRegistry};
30pub use providers::{
31    AnthropicProvider, GoogleProvider, OllamaProvider, OpenAiProvider, ZenProvider,
32};
33pub use rate_limiter::{ExponentialBackoff, RateLimiterRegistry, TokenBucketLimiter};
34pub use redaction::{contains_sensitive_info, redact, Redacted, RedactionFilter};
35pub use security_headers::{SecurityHeadersBuilder, SecurityHeadersValidator};
36pub use token_counter::{TokenCounter, TokenCounterTrait};