"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations from openrouter.types import BaseModel, UnrecognizedStr from openrouter.utils import validate_open_enum from pydantic.functional_validators import PlainValidator from typing import Literal, Optional, Union from typing_extensions import Annotated, NotRequired, TypedDict SubagentReasoningEffort = Union[ Literal[ "max", "xhigh", "high", "medium", "low", "minimal", "none", ], UnrecognizedStr, ] r"""Reasoning effort level for the subagent call.""" class SubagentReasoningTypedDict(TypedDict): r"""Reasoning configuration forwarded to the subagent call. Use this to control reasoning effort and token budget for models that support extended thinking.""" effort: NotRequired[SubagentReasoningEffort] r"""Reasoning effort level for the subagent call.""" max_tokens: NotRequired[int] r"""Maximum number of reasoning tokens the subagent may use. Accepted and validated but not yet forwarded to the subagent call.""" class SubagentReasoning(BaseModel): r"""Reasoning configuration forwarded to the subagent call. Use this to control reasoning effort and token budget for models that support extended thinking.""" effort: Annotated[ Optional[SubagentReasoningEffort], PlainValidator(validate_open_enum(False)) ] = None r"""Reasoning effort level for the subagent call.""" max_tokens: Optional[int] = None r"""Maximum number of reasoning tokens the subagent may use. Accepted and validated but not yet forwarded to the subagent call."""