fix: correct numeric types in progress notifications (#361)

* fix: correct numeric types in progress notifications

The standard specifies that these may be floating-point.

* fix: regenerate schemas
This commit is contained in:
Jack Amadeo 2025-08-07 12:59:38 -04:00 • committed by GitHub
commit 589815a40e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 16 additions and 22 deletions

View file

@ -758,10 +758,10 @@ const_string!(ProgressNotificationMethod = "notifications/progress");
pub struct ProgressNotificationParam {
pub progress_token: ProgressToken,
/// The progress thus far. This should increase every time progress is made, even if the total is unknown.
pub progress: u32,
pub progress: f64,
/// Total number of items to process (or total progress required), if known
#[serde(skip_serializing_if = "Option::is_none")]
pub total: Option<u32>,
pub total: Option<f64>,
/// An optional message describing the current progress.
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,

View file

@ -762,9 +762,8 @@
},
"progress": {
"description": "The progress thus far. This should increase every time progress is made, even if the total is unknown.",
"type": "integer",
"format": "uint32",
"minimum": 0
"type": "number",
"format": "double"
},
"progressToken": {
"$ref": "#/definitions/ProgressToken"
@ -772,11 +771,10 @@
"total": {
"description": "Total number of items to process (or total progress required), if known",
"type": [
"integer",
"number",
"null"
],
"format": "uint32",
"minimum": 0
"format": "double"
}
},
"required": [

View file

@ -1027,9 +1027,8 @@
},
"progress": {
"description": "The progress thus far. This should increase every time progress is made, even if the total is unknown.",
"type": "integer",
"format": "uint32",
"minimum": 0
"type": "number",
"format": "double"
},
"progressToken": {
"$ref": "#/definitions/ProgressToken"
@ -1037,11 +1036,10 @@
"total": {
"description": "Total number of items to process (or total progress required), if known",
"type": [
"integer",
"number",
"null"
],
"format": "uint32",
"minimum": 0
"format": "double"
}
},
"required": [

View file

@ -1027,9 +1027,8 @@
},
"progress": {
"description": "The progress thus far. This should increase every time progress is made, even if the total is unknown.",
"type": "integer",
"format": "uint32",
"minimum": 0
"type": "number",
"format": "double"
},
"progressToken": {
"$ref": "#/definitions/ProgressToken"
@ -1037,11 +1036,10 @@
"total": {
"description": "Total number of items to process (or total progress required), if known",
"type": [
"integer",
"number",
"null"
],
"format": "uint32",
"minimum": 0
"format": "double"
}
},
"required": [

View file

@ -69,8 +69,8 @@ impl MyServer {
let _ = client
.notify_progress(ProgressNotificationParam {
progress_token: progress_token.clone(),
progress: step,
total: Some(10),
progress: (step as f64),
total: Some(10.0),
message: Some("Some message".into()),
})
.await;