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

# isort: skip_file

import typing
from importlib import import_module

if typing.TYPE_CHECKING:
    from .agent_v1agent_audio_done import AgentV1AgentAudioDoneParams
    from .agent_v1agent_started_speaking import AgentV1AgentStartedSpeakingParams
    from .agent_v1agent_thinking import AgentV1AgentThinkingParams
    from .agent_v1conversation_text import AgentV1ConversationTextParams
    from .agent_v1error import AgentV1ErrorParams
    from .agent_v1function_call_request import AgentV1FunctionCallRequestParams
    from .agent_v1function_call_request_functions_item import AgentV1FunctionCallRequestFunctionsItemParams
    from .agent_v1inject_agent_message import AgentV1InjectAgentMessageParams
    from .agent_v1inject_user_message import AgentV1InjectUserMessageParams
    from .agent_v1injection_refused import AgentV1InjectionRefusedParams
    from .agent_v1keep_alive import AgentV1KeepAliveParams
    from .agent_v1prompt_updated import AgentV1PromptUpdatedParams
    from .agent_v1receive_function_call_response import AgentV1ReceiveFunctionCallResponseParams
    from .agent_v1send_function_call_response import AgentV1SendFunctionCallResponseParams
    from .agent_v1settings import AgentV1SettingsParams
    from .agent_v1settings_agent import AgentV1SettingsAgentParams
    from .agent_v1settings_agent_context import AgentV1SettingsAgentContextParams
    from .agent_v1settings_agent_context_messages_item import AgentV1SettingsAgentContextMessagesItemParams
    from .agent_v1settings_agent_context_messages_item_content import (
        AgentV1SettingsAgentContextMessagesItemContentParams,
    )
    from .agent_v1settings_agent_context_messages_item_function_calls import (
        AgentV1SettingsAgentContextMessagesItemFunctionCallsParams,
    )
    from .agent_v1settings_agent_context_messages_item_function_calls_function_calls_item import (
        AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItemParams,
    )
    from .agent_v1settings_agent_listen import AgentV1SettingsAgentListenParams
    from .agent_v1settings_agent_listen_provider import (
        AgentV1SettingsAgentListenProviderParams,
        AgentV1SettingsAgentListenProvider_V1Params,
        AgentV1SettingsAgentListenProvider_V2Params,
    )
    from .agent_v1settings_agent_listen_provider_v1 import AgentV1SettingsAgentListenProviderV1Params
    from .agent_v1settings_agent_listen_provider_v2 import AgentV1SettingsAgentListenProviderV2Params
    from .agent_v1settings_agent_speak import AgentV1SettingsAgentSpeakParams
    from .agent_v1settings_agent_think import AgentV1SettingsAgentThinkParams
    from .agent_v1settings_applied import AgentV1SettingsAppliedParams
    from .agent_v1settings_audio import AgentV1SettingsAudioParams
    from .agent_v1settings_audio_input import AgentV1SettingsAudioInputParams
    from .agent_v1settings_audio_output import AgentV1SettingsAudioOutputParams
    from .agent_v1settings_flags import AgentV1SettingsFlagsParams
    from .agent_v1speak_updated import AgentV1SpeakUpdatedParams
    from .agent_v1update_prompt import AgentV1UpdatePromptParams
    from .agent_v1update_speak import AgentV1UpdateSpeakParams
    from .agent_v1user_started_speaking import AgentV1UserStartedSpeakingParams
    from .agent_v1warning import AgentV1WarningParams
    from .agent_v1welcome import AgentV1WelcomeParams
_dynamic_imports: typing.Dict[str, str] = {
    "AgentV1AgentAudioDoneParams": ".agent_v1agent_audio_done",
    "AgentV1AgentStartedSpeakingParams": ".agent_v1agent_started_speaking",
    "AgentV1AgentThinkingParams": ".agent_v1agent_thinking",
    "AgentV1ConversationTextParams": ".agent_v1conversation_text",
    "AgentV1ErrorParams": ".agent_v1error",
    "AgentV1FunctionCallRequestFunctionsItemParams": ".agent_v1function_call_request_functions_item",
    "AgentV1FunctionCallRequestParams": ".agent_v1function_call_request",
    "AgentV1InjectAgentMessageParams": ".agent_v1inject_agent_message",
    "AgentV1InjectUserMessageParams": ".agent_v1inject_user_message",
    "AgentV1InjectionRefusedParams": ".agent_v1injection_refused",
    "AgentV1KeepAliveParams": ".agent_v1keep_alive",
    "AgentV1PromptUpdatedParams": ".agent_v1prompt_updated",
    "AgentV1ReceiveFunctionCallResponseParams": ".agent_v1receive_function_call_response",
    "AgentV1SendFunctionCallResponseParams": ".agent_v1send_function_call_response",
    "AgentV1SettingsAgentContextMessagesItemContentParams": ".agent_v1settings_agent_context_messages_item_content",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItemParams": ".agent_v1settings_agent_context_messages_item_function_calls_function_calls_item",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsParams": ".agent_v1settings_agent_context_messages_item_function_calls",
    "AgentV1SettingsAgentContextMessagesItemParams": ".agent_v1settings_agent_context_messages_item",
    "AgentV1SettingsAgentContextParams": ".agent_v1settings_agent_context",
    "AgentV1SettingsAgentListenParams": ".agent_v1settings_agent_listen",
    "AgentV1SettingsAgentListenProviderParams": ".agent_v1settings_agent_listen_provider",
    "AgentV1SettingsAgentListenProviderV1Params": ".agent_v1settings_agent_listen_provider_v1",
    "AgentV1SettingsAgentListenProviderV2Params": ".agent_v1settings_agent_listen_provider_v2",
    "AgentV1SettingsAgentListenProvider_V1Params": ".agent_v1settings_agent_listen_provider",
    "AgentV1SettingsAgentListenProvider_V2Params": ".agent_v1settings_agent_listen_provider",
    "AgentV1SettingsAgentParams": ".agent_v1settings_agent",
    "AgentV1SettingsAgentSpeakParams": ".agent_v1settings_agent_speak",
    "AgentV1SettingsAgentThinkParams": ".agent_v1settings_agent_think",
    "AgentV1SettingsAppliedParams": ".agent_v1settings_applied",
    "AgentV1SettingsAudioInputParams": ".agent_v1settings_audio_input",
    "AgentV1SettingsAudioOutputParams": ".agent_v1settings_audio_output",
    "AgentV1SettingsAudioParams": ".agent_v1settings_audio",
    "AgentV1SettingsFlagsParams": ".agent_v1settings_flags",
    "AgentV1SettingsParams": ".agent_v1settings",
    "AgentV1SpeakUpdatedParams": ".agent_v1speak_updated",
    "AgentV1UpdatePromptParams": ".agent_v1update_prompt",
    "AgentV1UpdateSpeakParams": ".agent_v1update_speak",
    "AgentV1UserStartedSpeakingParams": ".agent_v1user_started_speaking",
    "AgentV1WarningParams": ".agent_v1warning",
    "AgentV1WelcomeParams": ".agent_v1welcome",
}


def __getattr__(attr_name: str) -> typing.Any:
    module_name = _dynamic_imports.get(attr_name)
    if module_name is None:
        raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
    try:
        module = import_module(module_name, __package__)
        if module_name == f".{attr_name}":
            return module
        else:
            return getattr(module, attr_name)
    except ImportError as e:
        raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
    except AttributeError as e:
        raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e


def __dir__():
    lazy_attrs = list(_dynamic_imports.keys())
    return sorted(lazy_attrs)


__all__ = [
    "AgentV1AgentAudioDoneParams",
    "AgentV1AgentStartedSpeakingParams",
    "AgentV1AgentThinkingParams",
    "AgentV1ConversationTextParams",
    "AgentV1ErrorParams",
    "AgentV1FunctionCallRequestFunctionsItemParams",
    "AgentV1FunctionCallRequestParams",
    "AgentV1InjectAgentMessageParams",
    "AgentV1InjectUserMessageParams",
    "AgentV1InjectionRefusedParams",
    "AgentV1KeepAliveParams",
    "AgentV1PromptUpdatedParams",
    "AgentV1ReceiveFunctionCallResponseParams",
    "AgentV1SendFunctionCallResponseParams",
    "AgentV1SettingsAgentContextMessagesItemContentParams",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItemParams",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsParams",
    "AgentV1SettingsAgentContextMessagesItemParams",
    "AgentV1SettingsAgentContextParams",
    "AgentV1SettingsAgentListenParams",
    "AgentV1SettingsAgentListenProviderParams",
    "AgentV1SettingsAgentListenProviderV1Params",
    "AgentV1SettingsAgentListenProviderV2Params",
    "AgentV1SettingsAgentListenProvider_V1Params",
    "AgentV1SettingsAgentListenProvider_V2Params",
    "AgentV1SettingsAgentParams",
    "AgentV1SettingsAgentSpeakParams",
    "AgentV1SettingsAgentThinkParams",
    "AgentV1SettingsAppliedParams",
    "AgentV1SettingsAudioInputParams",
    "AgentV1SettingsAudioOutputParams",
    "AgentV1SettingsAudioParams",
    "AgentV1SettingsFlagsParams",
    "AgentV1SettingsParams",
    "AgentV1SpeakUpdatedParams",
    "AgentV1UpdatePromptParams",
    "AgentV1UpdateSpeakParams",
    "AgentV1UserStartedSpeakingParams",
    "AgentV1WarningParams",
    "AgentV1WelcomeParams",
]
