use super::channel_test_support::{TestResult, require, run};
use serde_json::json;
#[test]
fn agt001_initialize_advertises_the_exact_channel_capability() -> TestResult {
run(|_, host| {
let initialized = host.initialize()?;
require(
initialized["result"]["capabilities"]
== json!({"tools":{},"logging":{},
"experimental":{"claude/channel":{}}}),
"initialize must advertise experimental claude/channel alongside tools and logging",
)
})
}
#[test]
fn agt001_discovery_also_advertises_the_channel_capability() -> TestResult {
run(|_, host| {
let discovered = host.request(
"server/discover",
&json!({"_meta":{
"io.modelcontextprotocol/protocolVersion":"2026-07-28",
"io.modelcontextprotocol/clientCapabilities":{}}}),
)?;
require(
discovered["result"]["capabilities"]["experimental"] == json!({"claude/channel":{}}),
"discovery must advertise the same exact channel capability",
)
})
}