# 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 AgentV1AgentAudioDone
    from .agent_v1agent_started_speaking import AgentV1AgentStartedSpeaking
    from .agent_v1agent_thinking import AgentV1AgentThinking
    from .agent_v1conversation_text import AgentV1ConversationText
    from .agent_v1conversation_text_role import AgentV1ConversationTextRole
    from .agent_v1error import AgentV1Error
    from .agent_v1function_call_request import AgentV1FunctionCallRequest
    from .agent_v1function_call_request_functions_item import AgentV1FunctionCallRequestFunctionsItem
    from .agent_v1inject_agent_message import AgentV1InjectAgentMessage
    from .agent_v1inject_user_message import AgentV1InjectUserMessage
    from .agent_v1injection_refused import AgentV1InjectionRefused
    from .agent_v1keep_alive import AgentV1KeepAlive
    from .agent_v1prompt_updated import AgentV1PromptUpdated
    from .agent_v1receive_function_call_response import AgentV1ReceiveFunctionCallResponse
    from .agent_v1send_function_call_response import AgentV1SendFunctionCallResponse
    from .agent_v1settings import AgentV1Settings
    from .agent_v1settings_agent import AgentV1SettingsAgent
    from .agent_v1settings_agent_context import AgentV1SettingsAgentContext
    from .agent_v1settings_agent_context_messages_item import AgentV1SettingsAgentContextMessagesItem
    from .agent_v1settings_agent_context_messages_item_content import AgentV1SettingsAgentContextMessagesItemContent
    from .agent_v1settings_agent_context_messages_item_content_role import (
        AgentV1SettingsAgentContextMessagesItemContentRole,
    )
    from .agent_v1settings_agent_context_messages_item_function_calls import (
        AgentV1SettingsAgentContextMessagesItemFunctionCalls,
    )
    from .agent_v1settings_agent_context_messages_item_function_calls_function_calls_item import (
        AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItem,
    )
    from .agent_v1settings_agent_listen import AgentV1SettingsAgentListen
    from .agent_v1settings_agent_listen_provider import (
        AgentV1SettingsAgentListenProvider,
        AgentV1SettingsAgentListenProvider_V1,
        AgentV1SettingsAgentListenProvider_V2,
    )
    from .agent_v1settings_agent_listen_provider_v1 import AgentV1SettingsAgentListenProviderV1
    from .agent_v1settings_agent_listen_provider_v2 import AgentV1SettingsAgentListenProviderV2
    from .agent_v1settings_agent_speak import AgentV1SettingsAgentSpeak
    from .agent_v1settings_agent_think import AgentV1SettingsAgentThink
    from .agent_v1settings_applied import AgentV1SettingsApplied
    from .agent_v1settings_audio import AgentV1SettingsAudio
    from .agent_v1settings_audio_input import AgentV1SettingsAudioInput
    from .agent_v1settings_audio_input_encoding import AgentV1SettingsAudioInputEncoding
    from .agent_v1settings_audio_output import AgentV1SettingsAudioOutput
    from .agent_v1settings_audio_output_encoding import AgentV1SettingsAudioOutputEncoding
    from .agent_v1settings_flags import AgentV1SettingsFlags
    from .agent_v1speak_updated import AgentV1SpeakUpdated
    from .agent_v1update_prompt import AgentV1UpdatePrompt
    from .agent_v1update_speak import AgentV1UpdateSpeak
    from .agent_v1user_started_speaking import AgentV1UserStartedSpeaking
    from .agent_v1warning import AgentV1Warning
    from .agent_v1welcome import AgentV1Welcome
_dynamic_imports: typing.Dict[str, str] = {
    "AgentV1AgentAudioDone": ".agent_v1agent_audio_done",
    "AgentV1AgentStartedSpeaking": ".agent_v1agent_started_speaking",
    "AgentV1AgentThinking": ".agent_v1agent_thinking",
    "AgentV1ConversationText": ".agent_v1conversation_text",
    "AgentV1ConversationTextRole": ".agent_v1conversation_text_role",
    "AgentV1Error": ".agent_v1error",
    "AgentV1FunctionCallRequest": ".agent_v1function_call_request",
    "AgentV1FunctionCallRequestFunctionsItem": ".agent_v1function_call_request_functions_item",
    "AgentV1InjectAgentMessage": ".agent_v1inject_agent_message",
    "AgentV1InjectUserMessage": ".agent_v1inject_user_message",
    "AgentV1InjectionRefused": ".agent_v1injection_refused",
    "AgentV1KeepAlive": ".agent_v1keep_alive",
    "AgentV1PromptUpdated": ".agent_v1prompt_updated",
    "AgentV1ReceiveFunctionCallResponse": ".agent_v1receive_function_call_response",
    "AgentV1SendFunctionCallResponse": ".agent_v1send_function_call_response",
    "AgentV1Settings": ".agent_v1settings",
    "AgentV1SettingsAgent": ".agent_v1settings_agent",
    "AgentV1SettingsAgentContext": ".agent_v1settings_agent_context",
    "AgentV1SettingsAgentContextMessagesItem": ".agent_v1settings_agent_context_messages_item",
    "AgentV1SettingsAgentContextMessagesItemContent": ".agent_v1settings_agent_context_messages_item_content",
    "AgentV1SettingsAgentContextMessagesItemContentRole": ".agent_v1settings_agent_context_messages_item_content_role",
    "AgentV1SettingsAgentContextMessagesItemFunctionCalls": ".agent_v1settings_agent_context_messages_item_function_calls",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItem": ".agent_v1settings_agent_context_messages_item_function_calls_function_calls_item",
    "AgentV1SettingsAgentListen": ".agent_v1settings_agent_listen",
    "AgentV1SettingsAgentListenProvider": ".agent_v1settings_agent_listen_provider",
    "AgentV1SettingsAgentListenProviderV1": ".agent_v1settings_agent_listen_provider_v1",
    "AgentV1SettingsAgentListenProviderV2": ".agent_v1settings_agent_listen_provider_v2",
    "AgentV1SettingsAgentListenProvider_V1": ".agent_v1settings_agent_listen_provider",
    "AgentV1SettingsAgentListenProvider_V2": ".agent_v1settings_agent_listen_provider",
    "AgentV1SettingsAgentSpeak": ".agent_v1settings_agent_speak",
    "AgentV1SettingsAgentThink": ".agent_v1settings_agent_think",
    "AgentV1SettingsApplied": ".agent_v1settings_applied",
    "AgentV1SettingsAudio": ".agent_v1settings_audio",
    "AgentV1SettingsAudioInput": ".agent_v1settings_audio_input",
    "AgentV1SettingsAudioInputEncoding": ".agent_v1settings_audio_input_encoding",
    "AgentV1SettingsAudioOutput": ".agent_v1settings_audio_output",
    "AgentV1SettingsAudioOutputEncoding": ".agent_v1settings_audio_output_encoding",
    "AgentV1SettingsFlags": ".agent_v1settings_flags",
    "AgentV1SpeakUpdated": ".agent_v1speak_updated",
    "AgentV1UpdatePrompt": ".agent_v1update_prompt",
    "AgentV1UpdateSpeak": ".agent_v1update_speak",
    "AgentV1UserStartedSpeaking": ".agent_v1user_started_speaking",
    "AgentV1Warning": ".agent_v1warning",
    "AgentV1Welcome": ".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__ = [
    "AgentV1AgentAudioDone",
    "AgentV1AgentStartedSpeaking",
    "AgentV1AgentThinking",
    "AgentV1ConversationText",
    "AgentV1ConversationTextRole",
    "AgentV1Error",
    "AgentV1FunctionCallRequest",
    "AgentV1FunctionCallRequestFunctionsItem",
    "AgentV1InjectAgentMessage",
    "AgentV1InjectUserMessage",
    "AgentV1InjectionRefused",
    "AgentV1KeepAlive",
    "AgentV1PromptUpdated",
    "AgentV1ReceiveFunctionCallResponse",
    "AgentV1SendFunctionCallResponse",
    "AgentV1Settings",
    "AgentV1SettingsAgent",
    "AgentV1SettingsAgentContext",
    "AgentV1SettingsAgentContextMessagesItem",
    "AgentV1SettingsAgentContextMessagesItemContent",
    "AgentV1SettingsAgentContextMessagesItemContentRole",
    "AgentV1SettingsAgentContextMessagesItemFunctionCalls",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItem",
    "AgentV1SettingsAgentListen",
    "AgentV1SettingsAgentListenProvider",
    "AgentV1SettingsAgentListenProviderV1",
    "AgentV1SettingsAgentListenProviderV2",
    "AgentV1SettingsAgentListenProvider_V1",
    "AgentV1SettingsAgentListenProvider_V2",
    "AgentV1SettingsAgentSpeak",
    "AgentV1SettingsAgentThink",
    "AgentV1SettingsApplied",
    "AgentV1SettingsAudio",
    "AgentV1SettingsAudioInput",
    "AgentV1SettingsAudioInputEncoding",
    "AgentV1SettingsAudioOutput",
    "AgentV1SettingsAudioOutputEncoding",
    "AgentV1SettingsFlags",
    "AgentV1SpeakUpdated",
    "AgentV1UpdatePrompt",
    "AgentV1UpdateSpeak",
    "AgentV1UserStartedSpeaking",
    "AgentV1Warning",
    "AgentV1Welcome",
]
