use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ToolCallConfirmation {
#[serde(rename = "tool_call_id")]
pub tool_call_id: String,
#[serde(rename = "confirmation")]
pub confirmation: Confirmation,
}
impl ToolCallConfirmation {
pub fn new(tool_call_id: String, confirmation: Confirmation) -> ToolCallConfirmation {
ToolCallConfirmation {
tool_call_id,
confirmation,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Confirmation {
#[serde(rename = "allow")]
Allow,
#[serde(rename = "deny")]
Deny,
}
impl Default for Confirmation {
fn default() -> Confirmation {
Self::Allow
}
}