pub mod backup;
pub mod cache;
pub mod cache_invalidation_middleware;
pub mod config;
pub mod config_hot_reload;
pub mod config_loader;
pub mod database;
pub mod disk_cache;
pub mod error;
#[cfg(feature = "advanced-queries")]
pub mod filter_expr;
#[cfg(feature = "batch-operations")]
pub(crate) mod batch;
#[cfg(feature = "batch-operations")]
pub mod cursor;
#[cfg(any(
feature = "export-csv",
feature = "export-opml",
feature = "export-taskpaper",
feature = "export-ical"
))]
pub mod export;
pub mod mcp_cache_middleware;
pub mod mcp_config;
pub mod models;
pub mod mutations;
#[cfg(feature = "observability")]
pub mod observability;
pub mod performance;
pub mod query;
pub mod query_cache;
pub mod query_performance;
#[cfg(feature = "advanced-queries")]
pub mod saved_queries;
#[cfg(any(test, feature = "test-utils"))]
pub mod test_utils;
pub use backup::{BackupManager, BackupMetadata, BackupStats};
pub use cache::{CacheConfig, CachePreloader, CacheStats, DefaultPreloader, ThingsCache};
pub use cache_invalidation_middleware::{
CacheInvalidationHandler, CacheInvalidationMiddleware, InvalidationConfig, InvalidationEvent,
InvalidationEventType, InvalidationRule, InvalidationStats, InvalidationStrategy,
ThingsCacheInvalidationHandler,
};
pub use config::ThingsConfig;
pub use config_hot_reload::{
ConfigChangeHandler, ConfigHotReloader, ConfigHotReloaderWithHandler,
DefaultConfigChangeHandler,
};
pub use config_loader::{load_config, load_config_from_env, load_config_with_paths, ConfigLoader};
pub use database::{
get_default_database_path, ComprehensiveHealthStatus, DatabasePoolConfig, DatabaseStats,
PoolHealthStatus, PoolMetrics, SqliteOptimizations, ThingsDatabase,
};
pub use disk_cache::{DiskCache, DiskCacheConfig, DiskCacheStats};
pub use error::{Result, ThingsError};
#[cfg(any(
feature = "export-csv",
feature = "export-opml",
feature = "export-taskpaper",
feature = "export-ical"
))]
pub use export::{DataExporter, ExportConfig, ExportData, ExportFormat};
pub use mcp_cache_middleware::{MCPCacheConfig, MCPCacheEntry, MCPCacheMiddleware, MCPCacheStats};
pub use mcp_config::McpServerConfig;
#[cfg(feature = "advanced-queries")]
pub use models::RankedTask;
pub use models::{
Area, BulkCompleteRequest, BulkCreateTasksRequest, BulkDeleteRequest, BulkMoveRequest,
BulkOperationResult, BulkUpdateDatesRequest, CreateAreaRequest, CreateProjectRequest,
CreateTagRequest, CreateTaskRequest, DeleteChildHandling, Project, ProjectChildHandling, Tag,
TagAssignmentResult, TagCompletion, TagCreationResult, TagMatch, TagMatchType, TagPair,
TagStatistics, Task, TaskFilters, TaskStatus, TaskType, ThingsId, UpdateAreaRequest,
UpdateProjectRequest, UpdateTagRequest, UpdateTaskRequest,
};
#[cfg(target_os = "macos")]
pub use mutations::AppleScriptBackend;
pub use mutations::{MutationBackend, SqlxBackend};
#[cfg(feature = "observability")]
pub use observability::{
CheckResult, HealthStatus, ObservabilityConfig, ObservabilityError, ObservabilityManager,
ThingsMetrics,
};
pub use performance::{
CacheMetrics, ComprehensivePerformanceSummary, OperationMetrics, PerformanceMonitor,
PerformanceStats, PerformanceSummary, QueryMetrics,
};
pub use query_cache::{QueryCache, QueryCacheConfig, QueryCacheStats};
#[cfg(feature = "advanced-queries")]
pub use filter_expr::{FilterExpr, FilterPredicate};
#[cfg(feature = "batch-operations")]
pub use cursor::{Cursor, Page};
pub use query_performance::{
ImplementationEffort, OptimizationPriority, OptimizationType, QueryContext,
QueryOptimizationSuggestion, QueryPerformanceMetrics, QueryPerformanceStats,
QueryPerformanceSummary, QueryPerformanceTracker,
};
#[cfg(feature = "advanced-queries")]
pub use saved_queries::{SavedQuery, SavedQueryStore};
pub use chrono::{DateTime, NaiveDate, Utc};
pub use serde::{Deserialize, Serialize};
pub use uuid::Uuid;