# 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 .types import (
        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,
    )
    from . import settings
    from .requests import (
        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,
    )
_dynamic_imports: typing.Dict[str, str] = {
    "AgentV1AgentAudioDone": ".types",
    "AgentV1AgentAudioDoneParams": ".requests",
    "AgentV1AgentStartedSpeaking": ".types",
    "AgentV1AgentStartedSpeakingParams": ".requests",
    "AgentV1AgentThinking": ".types",
    "AgentV1AgentThinkingParams": ".requests",
    "AgentV1ConversationText": ".types",
    "AgentV1ConversationTextParams": ".requests",
    "AgentV1ConversationTextRole": ".types",
    "AgentV1Error": ".types",
    "AgentV1ErrorParams": ".requests",
    "AgentV1FunctionCallRequest": ".types",
    "AgentV1FunctionCallRequestFunctionsItem": ".types",
    "AgentV1FunctionCallRequestFunctionsItemParams": ".requests",
    "AgentV1FunctionCallRequestParams": ".requests",
    "AgentV1InjectAgentMessage": ".types",
    "AgentV1InjectAgentMessageParams": ".requests",
    "AgentV1InjectUserMessage": ".types",
    "AgentV1InjectUserMessageParams": ".requests",
    "AgentV1InjectionRefused": ".types",
    "AgentV1InjectionRefusedParams": ".requests",
    "AgentV1KeepAlive": ".types",
    "AgentV1KeepAliveParams": ".requests",
    "AgentV1PromptUpdated": ".types",
    "AgentV1PromptUpdatedParams": ".requests",
    "AgentV1ReceiveFunctionCallResponse": ".types",
    "AgentV1ReceiveFunctionCallResponseParams": ".requests",
    "AgentV1SendFunctionCallResponse": ".types",
    "AgentV1SendFunctionCallResponseParams": ".requests",
    "AgentV1Settings": ".types",
    "AgentV1SettingsAgent": ".types",
    "AgentV1SettingsAgentContext": ".types",
    "AgentV1SettingsAgentContextMessagesItem": ".types",
    "AgentV1SettingsAgentContextMessagesItemContent": ".types",
    "AgentV1SettingsAgentContextMessagesItemContentParams": ".requests",
    "AgentV1SettingsAgentContextMessagesItemContentRole": ".types",
    "AgentV1SettingsAgentContextMessagesItemFunctionCalls": ".types",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItem": ".types",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItemParams": ".requests",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsParams": ".requests",
    "AgentV1SettingsAgentContextMessagesItemParams": ".requests",
    "AgentV1SettingsAgentContextParams": ".requests",
    "AgentV1SettingsAgentListen": ".types",
    "AgentV1SettingsAgentListenParams": ".requests",
    "AgentV1SettingsAgentListenProvider": ".types",
    "AgentV1SettingsAgentListenProviderParams": ".requests",
    "AgentV1SettingsAgentListenProviderV1": ".types",
    "AgentV1SettingsAgentListenProviderV1Params": ".requests",
    "AgentV1SettingsAgentListenProviderV2": ".types",
    "AgentV1SettingsAgentListenProviderV2Params": ".requests",
    "AgentV1SettingsAgentListenProvider_V1": ".types",
    "AgentV1SettingsAgentListenProvider_V1Params": ".requests",
    "AgentV1SettingsAgentListenProvider_V2": ".types",
    "AgentV1SettingsAgentListenProvider_V2Params": ".requests",
    "AgentV1SettingsAgentParams": ".requests",
    "AgentV1SettingsAgentSpeak": ".types",
    "AgentV1SettingsAgentSpeakParams": ".requests",
    "AgentV1SettingsAgentThink": ".types",
    "AgentV1SettingsAgentThinkParams": ".requests",
    "AgentV1SettingsApplied": ".types",
    "AgentV1SettingsAppliedParams": ".requests",
    "AgentV1SettingsAudio": ".types",
    "AgentV1SettingsAudioInput": ".types",
    "AgentV1SettingsAudioInputEncoding": ".types",
    "AgentV1SettingsAudioInputParams": ".requests",
    "AgentV1SettingsAudioOutput": ".types",
    "AgentV1SettingsAudioOutputEncoding": ".types",
    "AgentV1SettingsAudioOutputParams": ".requests",
    "AgentV1SettingsAudioParams": ".requests",
    "AgentV1SettingsFlags": ".types",
    "AgentV1SettingsFlagsParams": ".requests",
    "AgentV1SettingsParams": ".requests",
    "AgentV1SpeakUpdated": ".types",
    "AgentV1SpeakUpdatedParams": ".requests",
    "AgentV1UpdatePrompt": ".types",
    "AgentV1UpdatePromptParams": ".requests",
    "AgentV1UpdateSpeak": ".types",
    "AgentV1UpdateSpeakParams": ".requests",
    "AgentV1UserStartedSpeaking": ".types",
    "AgentV1UserStartedSpeakingParams": ".requests",
    "AgentV1Warning": ".types",
    "AgentV1WarningParams": ".requests",
    "AgentV1Welcome": ".types",
    "AgentV1WelcomeParams": ".requests",
    "settings": ".settings",
}


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",
    "AgentV1AgentAudioDoneParams",
    "AgentV1AgentStartedSpeaking",
    "AgentV1AgentStartedSpeakingParams",
    "AgentV1AgentThinking",
    "AgentV1AgentThinkingParams",
    "AgentV1ConversationText",
    "AgentV1ConversationTextParams",
    "AgentV1ConversationTextRole",
    "AgentV1Error",
    "AgentV1ErrorParams",
    "AgentV1FunctionCallRequest",
    "AgentV1FunctionCallRequestFunctionsItem",
    "AgentV1FunctionCallRequestFunctionsItemParams",
    "AgentV1FunctionCallRequestParams",
    "AgentV1InjectAgentMessage",
    "AgentV1InjectAgentMessageParams",
    "AgentV1InjectUserMessage",
    "AgentV1InjectUserMessageParams",
    "AgentV1InjectionRefused",
    "AgentV1InjectionRefusedParams",
    "AgentV1KeepAlive",
    "AgentV1KeepAliveParams",
    "AgentV1PromptUpdated",
    "AgentV1PromptUpdatedParams",
    "AgentV1ReceiveFunctionCallResponse",
    "AgentV1ReceiveFunctionCallResponseParams",
    "AgentV1SendFunctionCallResponse",
    "AgentV1SendFunctionCallResponseParams",
    "AgentV1Settings",
    "AgentV1SettingsAgent",
    "AgentV1SettingsAgentContext",
    "AgentV1SettingsAgentContextMessagesItem",
    "AgentV1SettingsAgentContextMessagesItemContent",
    "AgentV1SettingsAgentContextMessagesItemContentParams",
    "AgentV1SettingsAgentContextMessagesItemContentRole",
    "AgentV1SettingsAgentContextMessagesItemFunctionCalls",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItem",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsFunctionCallsItemParams",
    "AgentV1SettingsAgentContextMessagesItemFunctionCallsParams",
    "AgentV1SettingsAgentContextMessagesItemParams",
    "AgentV1SettingsAgentContextParams",
    "AgentV1SettingsAgentListen",
    "AgentV1SettingsAgentListenParams",
    "AgentV1SettingsAgentListenProvider",
    "AgentV1SettingsAgentListenProviderParams",
    "AgentV1SettingsAgentListenProviderV1",
    "AgentV1SettingsAgentListenProviderV1Params",
    "AgentV1SettingsAgentListenProviderV2",
    "AgentV1SettingsAgentListenProviderV2Params",
    "AgentV1SettingsAgentListenProvider_V1",
    "AgentV1SettingsAgentListenProvider_V1Params",
    "AgentV1SettingsAgentListenProvider_V2",
    "AgentV1SettingsAgentListenProvider_V2Params",
    "AgentV1SettingsAgentParams",
    "AgentV1SettingsAgentSpeak",
    "AgentV1SettingsAgentSpeakParams",
    "AgentV1SettingsAgentThink",
    "AgentV1SettingsAgentThinkParams",
    "AgentV1SettingsApplied",
    "AgentV1SettingsAppliedParams",
    "AgentV1SettingsAudio",
    "AgentV1SettingsAudioInput",
    "AgentV1SettingsAudioInputEncoding",
    "AgentV1SettingsAudioInputParams",
    "AgentV1SettingsAudioOutput",
    "AgentV1SettingsAudioOutputEncoding",
    "AgentV1SettingsAudioOutputParams",
    "AgentV1SettingsAudioParams",
    "AgentV1SettingsFlags",
    "AgentV1SettingsFlagsParams",
    "AgentV1SettingsParams",
    "AgentV1SpeakUpdated",
    "AgentV1SpeakUpdatedParams",
    "AgentV1UpdatePrompt",
    "AgentV1UpdatePromptParams",
    "AgentV1UpdateSpeak",
    "AgentV1UpdateSpeakParams",
    "AgentV1UserStartedSpeaking",
    "AgentV1UserStartedSpeakingParams",
    "AgentV1Warning",
    "AgentV1WarningParams",
    "AgentV1Welcome",
    "AgentV1WelcomeParams",
    "settings",
]
