#![warn(missing_docs)]
pub mod error;
pub mod media_delivery;
#[allow(clippy::disallowed_types)]
pub mod server;
#[allow(clippy::disallowed_types)]
pub mod trait_def;
pub mod workspace_exec;
pub use error::ToolSdkError;
pub use media_delivery::{DynMediaDelivery, MediaDelivery, NoopMediaDelivery};
pub use server::ToolServer;
pub use trait_def::{DynTool, Tool, ToolContext};
pub use workspace_exec::{DynWorkspaceExec, ExecOutput, WorkspaceExec};
#[cfg(test)]
mod tests {
use super::*;
use rstest::rstest;
#[rstest]
fn when_tool_sdk_error_reexported_then_accessible() {
let err = ToolSdkError::ExecutionFailed("test".into());
assert!(err.to_string().contains("test"));
}
#[rstest]
fn when_tool_trait_reexported_then_accessible() {
fn _accepts_tool<T: Tool>(_t: &T) {}
}
#[rstest]
fn when_dyn_tool_alias_reexported_then_accessible() {
fn _accepts_dyn_tool(_t: &dyn DynTool) {}
}
#[rstest]
fn when_media_delivery_reexported_then_accessible() {
fn _accepts_dyn_media(_d: &dyn DynMediaDelivery) {}
let _noop = NoopMediaDelivery;
}
}