use crate::{backend_harness::BackendHarnessAdapter, AgentWrapperBackend};
use super::support::backend_with_env;
#[test]
fn opencode_adapter_implements_backend_harness_adapter_contract() {
fn assert_impl<T: BackendHarnessAdapter>() {}
assert_impl::<crate::backends::opencode::OpencodeBackend>();
}
#[test]
fn opencode_backend_advertises_the_canonical_model_and_session_controls() {
let backend = backend_with_env(Default::default());
assert_eq!(
backend.capabilities().ids,
std::collections::BTreeSet::from([
"agent_api.run".to_string(),
"agent_api.events".to_string(),
"agent_api.events.live".to_string(),
"agent_api.config.model.v1".to_string(),
"agent_api.session.resume.v1".to_string(),
"agent_api.session.fork.v1".to_string(),
])
);
assert_eq!(
backend.supported_extension_keys(),
&[
"agent_api.config.model.v1",
"agent_api.session.resume.v1",
"agent_api.session.fork.v1",
]
);
}