do_memory_mcp/server/audit/mod.rs
1//! Audit logging module
2//!
3//! This module provides comprehensive audit logging capabilities for the MCP server,
4//! enabling security incident investigation through structured, immutable audit logs.
5//!
6//! ## Features
7//!
8//! - Structured JSON logging format
9//! - Configurable log destinations (file, stdout, or both)
10//! - Log rotation support
11//! - Sensitive data redaction
12//! - All security-relevant operations tracked
13//!
14//! ## Security Operations Logged
15//!
16//! - Episode creation/modification/deletion
17//! - Relationship changes
18//! - Configuration changes
19//! - Authentication events
20//! - Rate limit violations
21//!
22//! ## Example
23//!
24//! ```rust
25//! use do_memory_mcp::server::audit::{AuditLogger, AuditConfig, AuditDestination};
26//!
27//! #[tokio::main]
28//! async fn main() -> anyhow::Result<()> {
29//! let config = AuditConfig::from_env();
30//! let logger = AuditLogger::new(config).await?;
31//!
32//! logger.log_episode_creation(
33//! "client-123",
34//! "episode-uuid",
35//! "task description",
36//! true,
37//! None
38//! ).await;
39//!
40//! Ok(())
41//! }
42//! ```
43
44pub mod core;
45pub mod episode_ops;
46pub mod pattern_ops;
47pub mod query_ops;
48pub mod relationship_ops;
49pub mod security_ops;
50pub mod tag_ops;
51pub mod types;
52
53pub use core::AuditLogger;
54pub use types::{AuditConfig, AuditDestination, AuditLogEntry, AuditLogLevel};