"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations from .anthropiccachecontrolttl import AnthropicCacheControlTTL from openrouter.types import BaseModel from openrouter.utils import validate_open_enum from pydantic.functional_validators import PlainValidator from typing import Literal, Optional from typing_extensions import Annotated, NotRequired, TypedDict AnthropicCacheControlDirectiveType = Literal["ephemeral",] class AnthropicCacheControlDirectiveTypedDict(TypedDict): r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models.""" type: AnthropicCacheControlDirectiveType ttl: NotRequired[AnthropicCacheControlTTL] class AnthropicCacheControlDirective(BaseModel): r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models.""" type: AnthropicCacheControlDirectiveType ttl: Annotated[ Optional[AnthropicCacheControlTTL], PlainValidator(validate_open_enum(False)) ] = None