# ---------------------------------------------------------
# Do not modify this file. It was generated by `scripts/generate_typed_dicts.py`.
# ---------------------------------------------------------


from typing import Iterable, Literal, Mapping, Optional, Sequence, TypedDict, Union

import anthropic
import anthropic.types.cache_control_ephemeral_param
import anthropic.types.code_execution_tool_20250522_param
import anthropic.types.code_execution_tool_20250825_param
import anthropic.types.code_execution_tool_20260120_param
import anthropic.types.code_execution_tool_20260521_param
import anthropic.types.memory_tool_20250818_param
import anthropic.types.message_param
import anthropic.types.output_config_param
import anthropic.types.text_block_param
import anthropic.types.thinking_config_adaptive_param
import anthropic.types.thinking_config_disabled_param
import anthropic.types.thinking_config_enabled_param
import anthropic.types.tool_bash_20250124_param
import anthropic.types.tool_choice_any_param
import anthropic.types.tool_choice_auto_param
import anthropic.types.tool_choice_none_param
import anthropic.types.tool_choice_tool_param
import anthropic.types.tool_param
import anthropic.types.tool_search_tool_bm25_20251119_param
import anthropic.types.tool_search_tool_regex_20251119_param
import anthropic.types.tool_text_editor_20250124_param
import anthropic.types.tool_text_editor_20250429_param
import anthropic.types.tool_text_editor_20250728_param
import anthropic.types.web_fetch_tool_20250910_param
import anthropic.types.web_fetch_tool_20260209_param
import anthropic.types.web_fetch_tool_20260309_param
import anthropic.types.web_fetch_tool_20260318_param
import anthropic.types.web_search_tool_20250305_param
import anthropic.types.web_search_tool_20260209_param
import anthropic.types.web_search_tool_20260318_param


class SubmitInputArgs(TypedDict, total=False):
    max_tokens: int
    messages: Iterable[anthropic.types.message_param.MessageParam]
    model: Union[
        Literal[
            "claude-sonnet-5",
            "claude-fable-5",
            "claude-mythos-5",
            "claude-opus-5",
            "claude-opus-4-8",
            "claude-opus-4-7",
            "claude-mythos-preview",
            "claude-opus-4-6",
            "claude-sonnet-4-6",
            "claude-haiku-4-5",
            "claude-haiku-4-5-20251001",
            "claude-opus-4-5",
            "claude-opus-4-5-20251101",
            "claude-sonnet-4-5",
            "claude-sonnet-4-5-20250929",
            "claude-opus-4-1",
            "claude-opus-4-1-20250805",
        ],
        str,
    ]
    cache_control: Union[
        anthropic.types.cache_control_ephemeral_param.CacheControlEphemeralParam,
        None,
        anthropic.Omit,
    ]
    container: Union[str, None, anthropic.Omit]
    inference_geo: Union[str, None, anthropic.Omit]
    output_config: (
        anthropic.types.output_config_param.OutputConfigParam | anthropic.Omit
    )
    service_tier: Union[Literal["auto", "standard_only"], anthropic.Omit]
    stop_sequences: Union[Sequence[str], anthropic.Omit]
    stream: Union[Literal[False], Literal[True], anthropic.Omit]
    system: Union[
        str, Iterable[anthropic.types.text_block_param.TextBlockParam], anthropic.Omit
    ]
    temperature: float | anthropic.Omit
    thinking: Union[
        anthropic.types.thinking_config_enabled_param.ThinkingConfigEnabledParam,
        anthropic.types.thinking_config_disabled_param.ThinkingConfigDisabledParam,
        anthropic.types.thinking_config_adaptive_param.ThinkingConfigAdaptiveParam,
        anthropic.Omit,
    ]
    tool_choice: Union[
        anthropic.types.tool_choice_auto_param.ToolChoiceAutoParam,
        anthropic.types.tool_choice_any_param.ToolChoiceAnyParam,
        anthropic.types.tool_choice_tool_param.ToolChoiceToolParam,
        anthropic.types.tool_choice_none_param.ToolChoiceNoneParam,
        anthropic.Omit,
    ]
    tools: Union[
        Iterable[
            Union[
                anthropic.types.tool_param.ToolParam,
                anthropic.types.tool_bash_20250124_param.ToolBash20250124Param,
                anthropic.types.code_execution_tool_20250522_param.CodeExecutionTool20250522Param,
                anthropic.types.code_execution_tool_20250825_param.CodeExecutionTool20250825Param,
                anthropic.types.code_execution_tool_20260120_param.CodeExecutionTool20260120Param,
                anthropic.types.code_execution_tool_20260521_param.CodeExecutionTool20260521Param,
                anthropic.types.memory_tool_20250818_param.MemoryTool20250818Param,
                anthropic.types.tool_text_editor_20250124_param.ToolTextEditor20250124Param,
                anthropic.types.tool_text_editor_20250429_param.ToolTextEditor20250429Param,
                anthropic.types.tool_text_editor_20250728_param.ToolTextEditor20250728Param,
                anthropic.types.web_search_tool_20250305_param.WebSearchTool20250305Param,
                anthropic.types.web_fetch_tool_20250910_param.WebFetchTool20250910Param,
                anthropic.types.web_search_tool_20260209_param.WebSearchTool20260209Param,
                anthropic.types.web_fetch_tool_20260209_param.WebFetchTool20260209Param,
                anthropic.types.web_fetch_tool_20260309_param.WebFetchTool20260309Param,
                anthropic.types.web_search_tool_20260318_param.WebSearchTool20260318Param,
                anthropic.types.web_fetch_tool_20260318_param.WebFetchTool20260318Param,
                anthropic.types.tool_search_tool_bm25_20251119_param.ToolSearchToolBm25_20251119Param,
                anthropic.types.tool_search_tool_regex_20251119_param.ToolSearchToolRegex20251119Param,
            ]
        ],
        anthropic.Omit,
    ]
    top_k: int | anthropic.Omit
    top_p: float | anthropic.Omit
    user_profile_id: str | anthropic.Omit
    extra_headers: Optional[Mapping[str, Union[str, anthropic.Omit]]]
    extra_query: Optional[Mapping[str, object]]
    extra_body: object | None
    timeout: float | anthropic.Timeout | None | anthropic.NotGiven
