//! A tool to continue the conversation with the user.

use super::TypedTool;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, JsonSchema)]
pub struct ContinuationArgs {
    pub message: String,
}

pub struct ContinuationTool;

impl TypedTool for ContinuationTool {
    type Args = ContinuationArgs;
    type Output = String;

    fn name(&self) -> &'static str {
        "continuation-tool"
    }

    fn description(&self) -> &'static str {
        "Continue the conversation with the user. Use this tool everytime you use the question tool."
    }

    fn execute(&self, _args: Self::Args) -> anyhow::Result<Self::Output> {
        Ok("CONTINUE".to_string())
    }
}
