ricecoder_images/
lib.rs

1//! Image support for ricecoder with drag-and-drop, analysis, caching, and terminal display.
2//!
3//! This crate provides centralized image handling including:
4//! - Format validation (PNG, JPG, GIF, WebP)
5//! - Image analysis via AI providers
6//! - Smart caching with LRU eviction
7//! - Terminal display with ASCII fallback
8//! - Multi-image support
9
10pub mod error;
11pub mod config;
12pub mod formats;
13pub mod models;
14pub mod handler;
15pub mod cache;
16pub mod analyzer;
17pub mod display;
18pub mod provider_integration;
19pub mod token_counting;
20pub mod audit_logging;
21pub mod session_integration;
22pub mod session_manager;
23
24pub use error::{ImageError, ImageResult};
25pub use config::{ImageConfig, DisplayConfig};
26pub use formats::ImageFormat;
27pub use models::{ImageMetadata, ImageAnalysisResult, ImageCacheEntry};
28pub use handler::ImageHandler;
29pub use cache::ImageCache;
30pub use analyzer::{ImageAnalyzer, AnalysisRetryContext};
31pub use display::ImageDisplay;
32pub use provider_integration::{
33    ImageData, ChatRequestWithImages, ProviderImageFormat, ImageAuditLogEntry,
34};
35pub use token_counting::ImageTokenCounter;
36pub use audit_logging::ImageAuditLogger;
37pub use session_integration::{
38    MessageImageMetadata, MessageImages, SessionImageContext,
39};
40pub use session_manager::{SessionImageManager, MultiSessionImageManager};