# This file was auto-generated by Fern from our API Definition.

import typing

import typing_extensions
from .agent_v1settings_agent_think_one_item_context_length import AgentV1SettingsAgentThinkOneItemContextLengthParams
from .agent_v1settings_agent_think_one_item_endpoint import AgentV1SettingsAgentThinkOneItemEndpointParams
from .agent_v1settings_agent_think_one_item_functions_item import AgentV1SettingsAgentThinkOneItemFunctionsItemParams
from .agent_v1settings_agent_think_one_item_provider import AgentV1SettingsAgentThinkOneItemProviderParams


class AgentV1SettingsAgentThinkOneItemParams(typing_extensions.TypedDict):
    provider: AgentV1SettingsAgentThinkOneItemProviderParams
    endpoint: typing_extensions.NotRequired[AgentV1SettingsAgentThinkOneItemEndpointParams]
    """
    Optional for non-Deepgram LLM providers. When present, must include url field and headers object
    """

    functions: typing_extensions.NotRequired[typing.Sequence[AgentV1SettingsAgentThinkOneItemFunctionsItemParams]]
    prompt: typing_extensions.NotRequired[str]
    context_length: typing_extensions.NotRequired[AgentV1SettingsAgentThinkOneItemContextLengthParams]
    """
    Specifies the number of characters retained in context between user messages, agent responses, and function calls. This setting is only configurable when a custom think endpoint is used
    """
