tools-kit 0.0.2

Portable Local and MCP tool execution with narrow extension traits.
Documentation
use std::rc::Rc;

use tools_kit::{
    ToolError, ToolHandlerBackend,
    execution::{ToolHandlerInput, ToolHandlerOutput},
};

struct NonSendFutureHandler;

impl ToolHandlerBackend for NonSendFutureHandler {
    fn step(
        &mut self,
        _input: ToolHandlerInput,
    ) -> impl std::future::Future<Output = Result<ToolHandlerOutput, ToolError>> + Send + '_ {
        async {
            let not_send = Rc::new(());
            std::future::ready(()).await;
            drop(not_send);
            Err(ToolError::Unsupported {
                operation: "compile-fail fixture".to_owned(),
            })
        }
    }
}

fn main() {}