use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum PersistedAgentToolResource {
Function(Box<models::PersistedAgentToolResourceFunction>),
ToolSearch(Box<models::PersistedAgentToolResourceToolSearch>),
ProgrammaticToolCalling(Box<models::PersistedAgentToolResourceProgrammaticToolCalling>),
Mcp(Box<models::PersistedAgentToolResourceMcp>),
WebSearch(Box<models::PersistedAgentToolResourceWebSearch>),
ComputerUse(Box<models::PersistedAgentToolResourceComputerUse>),
}
impl Default for PersistedAgentToolResource {
fn default() -> Self {
Self::Function(Default::default())
}
}