use crate::{sandbox::Sandbox, shared::UserInteraction, tools::ToolOutcome};
use schemars::JsonSchema;
use serde::Deserialize;
use serde_json::json;
use std::sync::Arc;
#[derive(Deserialize, JsonSchema)]
pub struct AskFollowupQuestionArgs {
pub question: String,
pub options: Vec<String>,
}
pub async fn ask_followup_question(
_sandbox: Arc<dyn Sandbox>,
args: AskFollowupQuestionArgs,
) -> Result<ToolOutcome, String> {
Ok(ToolOutcome::NeedsUserInteraction(UserInteraction {
kind: "followup_question".to_string(),
payload: json!({
"question": args.question,
"options": args.options
}),
}))
}