//! Compile-time Send+Sync assertions for all public types that hold
//! shared state.
//!
//! These tests verify at compile time that the SDK's core types satisfy
//! the `Send + Sync` bounds required for safe concurrent usage across
//! async tasks and threads.
fn assert_send_sync<T: Send + Sync>() {}
#[test]
fn all_public_types_are_send_sync() {
// Core agent types
assert_send_sync::<kova_sdk::agent::Agent>();
assert_send_sync::<kova_sdk::agent::AgentBuilder>();
// Provider types
assert_send_sync::<kova_sdk::provider::openai::OpenAiCompatibleProvider>();
assert_send_sync::<kova_sdk::provider::openai::OpenAiProviderConfig>();
// Tool registry
assert_send_sync::<kova_sdk::tool::registry::ToolRegistry>();
// Memory store
assert_send_sync::<kova_sdk::memory::in_memory::InMemoryStore>();
// Orchestrator
assert_send_sync::<kova_sdk::orchestrator::Orchestrator>();
// MCP client
assert_send_sync::<kova_sdk::mcp::McpClient>();
}