turbomcp_protocol/types/
logging.rs1use serde::{Deserialize, Serialize};
6
7use super::core::ProgressToken;
8
9#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)]
11#[serde(rename_all = "lowercase")]
12pub enum LogLevel {
13 Debug,
15 Info,
17 Notice,
19 Warning,
21 Error,
23 Critical,
25 Alert,
27 Emergency,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33pub struct SetLevelRequest {
34 pub level: LogLevel,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
40pub struct SetLevelResult;
41
42#[derive(Debug, Clone, Serialize, Deserialize)]
44pub struct LoggingNotification {
45 pub level: LogLevel,
47 pub data: serde_json::Value,
49 #[serde(skip_serializing_if = "Option::is_none")]
51 pub logger: Option<String>,
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
56pub struct ProgressNotification {
57 #[serde(rename = "progressToken")]
59 pub progress_token: ProgressToken,
60 pub progress: f64,
62 #[serde(skip_serializing_if = "Option::is_none")]
64 pub total: Option<f64>,
65 #[serde(skip_serializing_if = "Option::is_none")]
67 pub message: Option<String>,
68}
69
70