use async_trait::async_trait;
use crate::context::ExecutionContext;
use crate::error::ToolError;
use crate::registry::{Tool, ToolConfig};
use crate::result::ToolResult;
use crate::tools::duckdb::DuckdbTool;
pub struct DucklakeTool {
inner: DuckdbTool,
}
impl DucklakeTool {
pub fn new() -> Self {
Self {
inner: DuckdbTool::new(),
}
}
}
impl Default for DucklakeTool {
fn default() -> Self {
Self::new()
}
}
#[async_trait]
impl Tool for DucklakeTool {
fn name(&self) -> &'static str {
"ducklake"
}
async fn execute(
&self,
config: &ToolConfig,
ctx: &ExecutionContext,
) -> Result<ToolResult, ToolError> {
self.inner.execute(config, ctx).await
}
}