use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ToolCall {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<models::ToolTypes>,
#[serde(rename = "function")]
pub function: Box<models::FunctionCall>,
#[serde(rename = "index", skip_serializing_if = "Option::is_none")]
pub index: Option<i32>,
}
impl ToolCall {
pub fn new(function: models::FunctionCall) -> ToolCall {
ToolCall {
id: None,
r#type: None,
function: Box::new(function),
index: None,
}
}
}