pub use turbomcp_core::context::{RequestContext, TransportType};
#[allow(unused_imports)]
pub use turbomcp_core::session::{Cancellable, McpSession, SessionFuture};
#[cfg(test)]
mod tests {
use super::*;
use std::sync::Arc;
use tokio_util::sync::CancellationToken;
#[test]
fn cancellation_token_adapts_to_cancellable() {
let token = CancellationToken::new();
let ctx = RequestContext::new()
.with_cancellation_token(Arc::new(token.clone()) as Arc<dyn Cancellable>);
assert!(!ctx.is_cancelled());
token.cancel();
assert!(ctx.is_cancelled());
}
#[test]
fn new_generates_uuid_request_id() {
let ctx = RequestContext::new();
assert!(!ctx.request_id().is_empty());
}
}