fix(agent): clarify protocol capability contract

This commit is contained in:
t8y2 committed 2026-06-19 14:18:19 +08:00
1 parent 954dba1e13
commit 4186c94dd4
2 files changed
+65 -5

No files matched your search

+18 -1
View File
@@ -1243,9 +1243,11 @@ mod tests {
vec!["protocolVersion", "agentProtocolVersion", "capabilities"]
);
assert_eq!(
string_array(&contract["capabilities"]),
string_array(&contract["allCapabilities"]),
AgentCapability::ALL.iter().map(|method| method.as_str()).collect::<Vec<_>>()
);
assert_eq!(string_array(&contract["capabilities"]), default_sql_capabilities());
assert_eq!(string_array(&contract["defaultSqlCapabilities"]), default_sql_capabilities());
assert_eq!(
string_array(&contract["commonMethods"]),
AgentMethod::ALL.iter().map(|method| method.as_str()).collect::<Vec<_>>()
@@ -1298,4 +1300,19 @@ mod tests {
fn string_array(value: &serde_json::Value) -> Vec<&str> {
value.as_array().unwrap().iter().map(|item| item.as_str().unwrap()).collect()
}
fn default_sql_capabilities() -> Vec<&'static str> {
[
AgentCapability::Connect,
AgentCapability::TestConnection,
AgentCapability::Metadata,
AgentCapability::Query,
AgentCapability::PagedQuery,
AgentCapability::Transaction,
AgentCapability::Ddl,
]
.iter()
.map(|capability| capability.as_str())
.collect()
}
}