// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "kind")]
pub enum AllItemsMatchConditionConditionOneOf {
    ExistCondition(Box<ExistCondition>),
    #[serde(rename = "not_exists")]
    NotExistsCondition(Box<NotExistsCondition>),
    EqualCondition(Box<EqualCondition>),
    #[serde(rename = "not_equals")]
    NotEqualsCondition(Box<NotEqualsCondition>),
    #[serde(rename = "number_compare")]
    NumberCompareCondition(Box<NumberCompareCondition>),
    ContainCondition(Box<ContainCondition>),
    #[serde(rename = "object_contains")]
    ObjectContainsCondition(Box<ObjectContainsCondition>),
    #[serde(rename = "array_contains")]
    ArrayContainsCondition(Box<ArrayContainsCondition>),
    MatcheRegexCondition(Box<MatcheRegexCondition>),
    #[serde(rename = "json_schema_valid")]
    JsonSchemaValidCondition(Box<JsonSchemaValidCondition>),
    #[serde(rename = "similarity_gte")]
    SimilarityGteCondition(Box<SimilarityGteCondition>),
    #[serde(rename = "llm_judged_as")]
    LlmJudgedAsCondition(Box<LlmJudgedAsCondition>),
    #[serde(rename = "llm_not_judged_as")]
    LlmNotJudgedAsCondition(Box<LlmNotJudgedAsCondition>),
    #[serde(rename = "not_contains")]
    NotContainsCondition(Box<NotContainsCondition>),
    #[serde(rename = "length_compare")]
    LengthCompareCondition(Box<LengthCompareCondition>),
    #[serde(rename = "between")]
    BetweenCondition(Box<BetweenCondition>),
    StartWithCondition(Box<StartWithCondition>),
    #[serde(rename = "ends_with")]
    EndsWithCondition(Box<EndsWithCondition>),
    #[serde(rename = "all_items_match")]
    AllItemsMatchCondition(Box<AllItemsMatchCondition>),
    #[serde(rename = "any_item_matches")]
    AnyItemMatchesCondition(Box<AnyItemMatchesCondition>),
    #[serde(rename = "split_iou_gte")]
    SplitIouCondition(Box<SplitIouCondition>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum BetweenConditionLowerOneOf {
    I64(i64),
    F64(f64),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "status")]
pub enum StoredBlockExecutionLifecycleOneOf {
    #[serde(rename = "completed")]
    CompletedBlockExecutionLifecycle(Box<CompletedBlockExecutionLifecycle>),
    #[serde(rename = "error")]
    ErrorBlockExecutionLifecycle(Box<ErrorBlockExecutionLifecycle>),
    #[serde(rename = "skipped")]
    SkippedBlockExecutionLifecycle(Box<SkippedBlockExecutionLifecycle>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "status")]
pub enum CancelWorkflowExperimentRunResponseLifecycleOneOf {
    #[serde(rename = "pending")]
    PendingWorkflowExperimentRun(Box<PendingWorkflowExperimentRun>),
    #[serde(rename = "queued")]
    QueuedWorkflowExperimentRun(Box<QueuedWorkflowExperimentRun>),
    #[serde(rename = "running")]
    RunningWorkflowExperimentRun(Box<RunningWorkflowExperimentRun>),
    #[serde(rename = "completed")]
    CompletedWorkflowExperimentRun(Box<CompletedWorkflowExperimentRun>),
    #[serde(rename = "error")]
    ErrorWorkflowExperimentRun(Box<ErrorWorkflowExperimentRun>),
    #[serde(rename = "cancelled")]
    CancelledWorkflowExperimentRun(Box<CancelledWorkflowExperimentRun>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum ClassificationRequestDocumentOneOf {
    MimeData(Box<MimeData>),
    FileRef(Box<FileRef>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum CreateWorkflowTestRequestSourceOneOf {
    #[serde(rename = "manual")]
    ManualWorkflowTestSource(Box<ManualWorkflowTestSource>),
    #[serde(rename = "run_step")]
    RunStepWorkflowTestSource(Box<RunStepWorkflowTestSource>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum DeclarativePlanFieldChangePathOneOf {
    String(String),
    I64(i64),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum ExperimentSummaryMetricsResponseAggregateOneOf {
    ExperimentExtractSummaryAggregate(Box<ExperimentExtractSummaryAggregate>),
    ExperimentConfusionSummaryAggregate(Box<ExperimentConfusionSummaryAggregate>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum ExplicitExperimentDocumentRequestHandleInputsOneOf {
    #[serde(rename = "json")]
    JsonHandleInput(Box<JsonHandleInput>),
    #[serde(rename = "file")]
    FileHandleInput(Box<FileHandleInput>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "kind")]
pub enum ReviewAllOfPredicatesOneOf {
    #[serde(rename = "always")]
    ReviewAlways(Box<ReviewAlways>),
    #[serde(rename = "validation_failed")]
    ReviewValidationFailed(Box<ReviewValidationFailed>),
    #[serde(rename = "confidence_lt")]
    ReviewConfidenceLt(Box<ReviewConfidenceLt>),
    #[serde(rename = "category_in")]
    ReviewCategoryIn(Box<ReviewCategoryIn>),
    #[serde(rename = "top_margin_lt")]
    ReviewTopMarginLt(Box<ReviewTopMarginLt>),
    #[serde(rename = "split_count_neq")]
    ReviewSplitCountNeq(Box<ReviewSplitCountNeq>),
    #[serde(rename = "any_split_pages_lt")]
    ReviewAnySplitPagesLt(Box<ReviewAnySplitPagesLt>),
    #[serde(rename = "boundary_confidence_lt")]
    ReviewBoundaryConfidenceLt(Box<ReviewBoundaryConfidenceLt>),
    #[serde(rename = "any_required_field_null")]
    ReviewAnyRequiredFieldNull(Box<ReviewAnyRequiredFieldNull>),
    #[serde(rename = "field_confidence_lt")]
    ReviewFieldConfidenceLt(Box<ReviewFieldConfidenceLt>),
    #[serde(rename = "json_condition")]
    ReviewJsonCondition(Box<ReviewJsonCondition>),
    #[serde(rename = "branch_in")]
    ReviewBranchIn(Box<ReviewBranchIn>),
    #[serde(rename = "any_of")]
    ReviewAnyOf(Box<ReviewAnyOf>),
    #[serde(rename = "all_of")]
    ReviewAllOf(Box<ReviewAllOf>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "status")]
pub enum ExperimentResultLifecycleOneOf {
    #[serde(rename = "pending")]
    PendingWorkflowExperimentResult(Box<PendingWorkflowExperimentResult>),
    #[serde(rename = "queued")]
    QueuedWorkflowExperimentResult(Box<QueuedWorkflowExperimentResult>),
    #[serde(rename = "running")]
    RunningWorkflowExperimentResult(Box<RunningWorkflowExperimentResult>),
    #[serde(rename = "completed")]
    CompletedWorkflowExperimentResult(Box<CompletedWorkflowExperimentResult>),
    #[serde(rename = "error")]
    ErrorWorkflowExperimentResult(Box<ErrorWorkflowExperimentResult>),
    #[serde(rename = "cancelled")]
    CancelledWorkflowExperimentResult(Box<CancelledWorkflowExperimentResult>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum WorkflowRunTriggerOneOf {
    #[serde(rename = "manual")]
    ManualTrigger(Box<ManualTrigger>),
    #[serde(rename = "api")]
    ApiTrigger(Box<ApiTrigger>),
    #[serde(rename = "schedule")]
    ScheduleTrigger(Box<ScheduleTrigger>),
    #[serde(rename = "webhook")]
    WebhookTrigger(Box<WebhookTrigger>),
    #[serde(rename = "email")]
    EmailTrigger(Box<EmailTrigger>),
    #[serde(rename = "restart")]
    RestartTrigger(Box<RestartTrigger>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "status")]
pub enum WorkflowRunLifecycleOneOf {
    #[serde(rename = "pending")]
    PendingRun(Box<PendingRun>),
    #[serde(rename = "running")]
    RunningRun(Box<RunningRun>),
    #[serde(rename = "awaiting_review")]
    AwaitingReviewRun(Box<AwaitingReviewRun>),
    #[serde(rename = "completed")]
    CompletedTerminal(Box<CompletedTerminal>),
    #[serde(rename = "error")]
    ErrorTerminal(Box<ErrorTerminal>),
    #[serde(rename = "cancelled")]
    CancelledTerminal(Box<CancelledTerminal>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "status")]
pub enum WorkflowRunStepLifecycleOneOf {
    #[serde(rename = "pending")]
    PendingStepLifecycle(Box<PendingStepLifecycle>),
    #[serde(rename = "queued")]
    QueuedStepLifecycle(Box<QueuedStepLifecycle>),
    #[serde(rename = "running")]
    RunningStepLifecycle(Box<RunningStepLifecycle>),
    #[serde(rename = "completed")]
    CompletedStepLifecycle(Box<CompletedStepLifecycle>),
    #[serde(rename = "awaiting_review")]
    AwaitingReviewStepLifecycle(Box<AwaitingReviewStepLifecycle>),
    #[serde(rename = "error")]
    ErrorStepLifecycle(Box<ErrorStepLifecycle>),
    #[serde(rename = "skipped")]
    SkippedStepLifecycle(Box<SkippedStepLifecycle>),
    #[serde(rename = "cancelled")]
    CancelledStepLifecycle(Box<CancelledStepLifecycle>),
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "status")]
pub enum WorkflowTestResultLifecycleOneOf {
    #[serde(rename = "pending")]
    PendingWorkflowTestRun(Box<PendingWorkflowTestRun>),
    #[serde(rename = "queued")]
    QueuedWorkflowTestRun(Box<QueuedWorkflowTestRun>),
    #[serde(rename = "running")]
    RunningWorkflowTestRun(Box<RunningWorkflowTestRun>),
    #[serde(rename = "completed")]
    CompletedWorkflowTestRun(Box<CompletedWorkflowTestRun>),
    #[serde(rename = "error")]
    ErrorWorkflowTestRun(Box<ErrorWorkflowTestRun>),
    #[serde(rename = "cancelled")]
    CancelledWorkflowTestRun(Box<CancelledWorkflowTestRun>),
}
