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


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",
    "v1",
]
