use serde::{Deserialize, Serialize};
use super::core::ProgressToken;
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)]
#[serde(rename_all = "lowercase")]
pub enum LogLevel {
Debug,
Info,
Notice,
Warning,
Error,
Critical,
Alert,
Emergency,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SetLevelRequest {
pub level: LogLevel,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SetLevelResult {}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LoggingNotification {
pub level: LogLevel,
pub data: serde_json::Value,
#[serde(skip_serializing_if = "Option::is_none")]
pub logger: Option<String>,
}
pub type LoggingMessageNotification = LoggingNotification;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProgressNotification {
#[serde(rename = "progressToken")]
pub progress_token: ProgressToken,
pub progress: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}