do_memory_mcp/server/audit/
query_ops.rs1use super::core::AuditLogger;
6use super::types::AuditLogLevel;
7use serde_json::json;
8
9impl AuditLogger {
10 pub async fn log_batch_execution(
14 &self,
15 client_id: &str,
16 operation_count: usize,
17 success_count: usize,
18 failure_count: usize,
19 success: bool,
20 ) {
21 let metadata = json!({
22 "operation_count": operation_count,
23 "success_count": success_count,
24 "failure_count": failure_count
25 });
26
27 self.log_event(
28 AuditLogLevel::Info,
29 client_id,
30 "batch_execute",
31 if success { "success" } else { "failure" },
32 metadata,
33 )
34 .await;
35 }
36
37 pub async fn log_bulk_episodes(&self, client_id: &str, episode_count: usize, success: bool) {
39 let metadata = json!({
40 "episode_count": episode_count
41 });
42
43 self.log_event(
44 AuditLogLevel::Debug,
45 client_id,
46 "bulk_episodes",
47 if success { "success" } else { "failure" },
48 metadata,
49 )
50 .await;
51 }
52
53 pub async fn log_memory_query(
57 &self,
58 client_id: &str,
59 query: &str,
60 result_count: usize,
61 success: bool,
62 ) {
63 let metadata = json!({
64 "query": query,
65 "result_count": result_count
66 });
67
68 self.log_event(
69 AuditLogLevel::Debug,
70 client_id,
71 "query_memory",
72 if success { "success" } else { "failure" },
73 metadata,
74 )
75 .await;
76 }
77
78 pub async fn log_semantic_query(
80 &self,
81 client_id: &str,
82 query: &str,
83 result_count: usize,
84 success: bool,
85 ) {
86 let metadata = json!({
87 "query": query,
88 "result_count": result_count
89 });
90
91 self.log_event(
92 AuditLogLevel::Debug,
93 client_id,
94 "query_semantic_memory",
95 if success { "success" } else { "failure" },
96 metadata,
97 )
98 .await;
99 }
100}