use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum BetaItemResource {
BetaInputMessageResource(Box<models::BetaInputMessageResource>),
BetaOutputMessage(Box<models::BetaOutputMessage>),
BetaFileSearchToolCall(Box<models::BetaFileSearchToolCall>),
BetaComputerToolCall(Box<models::BetaComputerToolCall>),
BetaComputerToolCallOutputResource(Box<models::BetaComputerToolCallOutputResource>),
BetaWebSearchToolCall(Box<models::BetaWebSearchToolCall>),
BetaFunctionToolCallResource(Box<models::BetaFunctionToolCallResource>),
BetaFunctionToolCallOutputResource(Box<models::BetaFunctionToolCallOutputResource>),
BetaAgentMessage(Box<models::BetaAgentMessage>),
BetaMultiAgentCall(Box<models::BetaMultiAgentCall>),
BetaMultiAgentCallOutput(Box<models::BetaMultiAgentCallOutput>),
BetaToolSearchCall(Box<models::BetaToolSearchCall>),
BetaToolSearchOutput(Box<models::BetaToolSearchOutput>),
BetaAdditionalTools(Box<models::BetaAdditionalTools>),
BetaResponseConfigurationUpdate(Box<models::BetaResponseConfigurationUpdate>),
BetaReasoningItem(Box<models::BetaReasoningItem>),
BetaProgram(Box<models::BetaProgram>),
BetaProgramOutput(Box<models::BetaProgramOutput>),
BetaCompactionBody(Box<models::BetaCompactionBody>),
BetaImageGenToolCall(Box<models::BetaImageGenToolCall>),
BetaCodeInterpreterToolCall(Box<models::BetaCodeInterpreterToolCall>),
BetaLocalShellToolCall(Box<models::BetaLocalShellToolCall>),
BetaLocalShellToolCallOutput(Box<models::BetaLocalShellToolCallOutput>),
BetaFunctionShellCall(Box<models::BetaFunctionShellCall>),
BetaFunctionShellCallOutput(Box<models::BetaFunctionShellCallOutput>),
BetaApplyPatchToolCall(Box<models::BetaApplyPatchToolCall>),
BetaApplyPatchToolCallOutput(Box<models::BetaApplyPatchToolCallOutput>),
BetaMcpListTools(Box<models::BetaMcpListTools>),
BetaMcpApprovalRequest(Box<models::BetaMcpApprovalRequest>),
BetaMcpApprovalResponseResource(Box<models::BetaMcpApprovalResponseResource>),
BetaMcpToolCall(Box<models::BetaMcpToolCall>),
BetaCustomToolCallResource(Box<models::BetaCustomToolCallResource>),
BetaCustomToolCallOutputResource(Box<models::BetaCustomToolCallOutputResource>),
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Quality {
Low,
Medium,
High,
Xhigh,
Max,
Auto,
}
impl Default for Quality {
fn default() -> Quality {
Self::Low
}
}