Skip to content

Commit 233195a

Browse files
authored
Update to agent-client-protocol-schema v0.9.0 (#18)
1 parent 54394f3 commit 233195a

File tree

3 files changed

+24
-32
lines changed

3 files changed

+24
-32
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ tokio = { version = "1.48", features = ["full"] }
2727
tokio-util = { version = "0.7", features = ["compat"] }
2828

2929
# Protocol
30-
agent-client-protocol-schema = { version = "0.8.0" }
30+
agent-client-protocol-schema = { version = "0.9.0" }
3131

3232
# Serialization
3333
serde = { version = "1.0", features = ["derive", "rc"] }

src/sacp/src/capabilities.rs

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,13 @@ impl MetaCapabilityExt for InitializeRequest {
8484
}
8585

8686
fn add_meta_capability(mut self, capability: impl MetaCapability) -> Self {
87-
let mut meta = self.client_capabilities.meta.take().unwrap_or(json!({}));
87+
let mut meta = self.client_capabilities.meta.take().unwrap_or_default();
8888

89-
if let Some(obj) = meta.as_object_mut() {
90-
let symposium = obj.entry("symposium").or_insert_with(|| json!({}));
89+
let symposium = meta.entry("symposium").or_insert_with(|| json!({}));
9190

92-
if let Some(symposium_obj) = symposium.as_object_mut() {
93-
symposium_obj.insert("version".to_string(), json!("1.0"));
94-
symposium_obj.insert(capability.key().to_string(), capability.value());
95-
}
91+
if let Some(symposium_obj) = symposium.as_object_mut() {
92+
symposium_obj.insert("version".to_string(), json!("1.0"));
93+
symposium_obj.insert(capability.key().to_string(), capability.value());
9694
}
9795

9896
self.client_capabilities.meta = Some(meta);
@@ -101,8 +99,7 @@ impl MetaCapabilityExt for InitializeRequest {
10199

102100
fn remove_meta_capability(mut self, capability: impl MetaCapability) -> Self {
103101
if let Some(ref mut meta) = self.client_capabilities.meta
104-
&& let Some(obj) = meta.as_object_mut()
105-
&& let Some(symposium) = obj.get_mut("symposium")
102+
&& let Some(symposium) = meta.get_mut("symposium")
106103
&& let Some(symposium_obj) = symposium.as_object_mut()
107104
{
108105
symposium_obj.remove(capability.key());
@@ -122,15 +119,13 @@ impl MetaCapabilityExt for InitializeResponse {
122119
}
123120

124121
fn add_meta_capability(mut self, capability: impl MetaCapability) -> Self {
125-
let mut meta = self.agent_capabilities.meta.take().unwrap_or(json!({}));
122+
let mut meta = self.agent_capabilities.meta.take().unwrap_or_default();
126123

127-
if let Some(obj) = meta.as_object_mut() {
128-
let symposium = obj.entry("symposium").or_insert_with(|| json!({}));
124+
let symposium = meta.entry("symposium").or_insert_with(|| json!({}));
129125

130-
if let Some(symposium_obj) = symposium.as_object_mut() {
131-
symposium_obj.insert("version".to_string(), json!("1.0"));
132-
symposium_obj.insert(capability.key().to_string(), capability.value());
133-
}
126+
if let Some(symposium_obj) = symposium.as_object_mut() {
127+
symposium_obj.insert("version".to_string(), json!("1.0"));
128+
symposium_obj.insert(capability.key().to_string(), capability.value());
134129
}
135130

136131
self.agent_capabilities.meta = Some(meta);
@@ -139,8 +134,7 @@ impl MetaCapabilityExt for InitializeResponse {
139134

140135
fn remove_meta_capability(mut self, capability: impl MetaCapability) -> Self {
141136
if let Some(ref mut meta) = self.agent_capabilities.meta
142-
&& let Some(obj) = meta.as_object_mut()
143-
&& let Some(symposium) = obj.get_mut("symposium")
137+
&& let Some(symposium) = meta.get_mut("symposium")
144138
&& let Some(symposium_obj) = symposium.as_object_mut()
145139
{
146140
symposium_obj.remove(capability.key());
@@ -153,7 +147,7 @@ impl MetaCapabilityExt for InitializeResponse {
153147
mod tests {
154148
use super::*;
155149
use crate::schema::ClientCapabilities;
156-
use agent_client_protocol_schema::ProtocolVersion;
150+
use agent_client_protocol_schema::{Meta, ProtocolVersion};
157151
use serde_json::json;
158152

159153
#[test]
@@ -171,11 +165,10 @@ mod tests {
171165

172166
#[test]
173167
fn test_remove_proxy_capability() {
174-
let client_capabilities = ClientCapabilities::new().meta(json!({
175-
"symposium": {
176-
"proxy": true
177-
}
178-
}));
168+
let client_capabilities = ClientCapabilities::new().meta(Meta::from_iter([(
169+
"symposium".into(),
170+
json!({"proxy": true}),
171+
)]));
179172

180173
let request = InitializeRequest::new(ProtocolVersion::LATEST)
181174
.client_capabilities(client_capabilities);
@@ -187,11 +180,10 @@ mod tests {
187180

188181
#[test]
189182
fn test_has_proxy_capability() {
190-
let client_capabilities = ClientCapabilities::new().meta(json!({
191-
"symposium": {
192-
"proxy": true
193-
}
194-
}));
183+
let client_capabilities = ClientCapabilities::new().meta(Meta::from_iter([(
184+
"symposium".into(),
185+
json!({"proxy": true}),
186+
)]));
195187

196188
let request = InitializeRequest::new(ProtocolVersion::LATEST)
197189
.client_capabilities(client_capabilities);

0 commit comments

Comments
 (0)