fromtypingimportAwaitable,Callable,Dict,List,Literal,Optional,Unionfromautogen_coreimportComponentModelfromautogen_core.modelsimportModelCapabilities,ModelInfo# type: ignorefrompydanticimportBaseModel,SecretStrfromtyping_extensionsimportRequired,TypedDictclassJSONSchema(TypedDict,total=False):name:Required[str]"""The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64."""description:str"""A description of what the response format is for, used by the model to determine how to respond in the format."""schema:Dict[str,object]"""The schema for the response format, described as a JSON Schema object."""strict:Optional[bool]"""Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs). """classResponseFormat(TypedDict):type:Literal["text","json_object","json_schema"]"""The type of response format being defined: `text`, `json_object`, or `json_schema`"""json_schema:Optional[JSONSchema]"""The type of response format being defined: `json_schema`"""classStreamOptions(TypedDict):include_usage:boolclassCreateArguments(TypedDict,total=False):frequency_penalty:Optional[float]logit_bias:Optional[Dict[str,int]]max_tokens:Optional[int]n:Optional[int]presence_penalty:Optional[float]response_format:ResponseFormatseed:Optional[int]stop:Union[Optional[str],List[str]]temperature:Optional[float]top_p:Optional[float]user:strstream_options:Optional[StreamOptions]AsyncAzureADTokenProvider=Callable[[],Union[str,Awaitable[str]]]classBaseOpenAIClientConfiguration(CreateArguments,total=False):model:strapi_key:strtimeout:Union[float,None]max_retries:intmodel_capabilities:ModelCapabilities# type: ignoremodel_info:ModelInfoadd_name_prefixes:bool"""What functionality the model supports, determined by default from model name but is overriden if value passed."""default_headers:Dict[str,str]|None# See OpenAI docs for explanation of these parametersclassOpenAIClientConfiguration(BaseOpenAIClientConfiguration,total=False):organization:strbase_url:strclassAzureOpenAIClientConfiguration(BaseOpenAIClientConfiguration,total=False):# Azure specificazure_endpoint:Required[str]azure_deployment:strapi_version:Required[str]azure_ad_token:strazure_ad_token_provider:AsyncAzureADTokenProvider# Or AzureTokenProvider# Pydantic equivalents of the above TypedDicts