fastskill-core 0.9.112

FastSkill core library - AI Skills management toolkit
Documentation
//! Tool calling service implementation

use crate::core::service::ServiceError;
use async_trait::async_trait;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ToolResult {
    pub success: bool,
    // Add other fields as needed
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AvailableTool {
    pub name: String,
    pub description: String,
    // Add other fields as needed
}

#[async_trait]
pub trait ToolCallingService: Send + Sync {
    async fn get_available_tools(&self) -> Result<Vec<AvailableTool>, ServiceError>;
    // Add other methods as needed
}

pub struct ToolCallingServiceImpl;

impl Default for ToolCallingServiceImpl {
    fn default() -> Self {
        Self::new()
    }
}

impl ToolCallingServiceImpl {
    pub fn new() -> Self {
        Self
    }
}

#[async_trait]
impl ToolCallingService for ToolCallingServiceImpl {
    async fn get_available_tools(&self) -> Result<Vec<AvailableTool>, ServiceError> {
        Ok(vec![])
    }
}