"""Ariadne 一站式导入的提供模块"""


import contextlib

from ..adapter import ComposeForwardAdapter as ComposeForwardAdapter
from ..adapter import DefaultAdapter as DefaultAdapter
from ..adapter import HttpAdapter as HttpAdapter
from ..adapter import WebsocketAdapter as WebsocketAdapter
from ..app import Ariadne as Ariadne
from ..context import adapter_ctx as adapter_ctx
from ..context import ariadne_ctx as ariadne_ctx
from ..context import broadcast_ctx as broadcast_ctx
from ..context import event_ctx as event_ctx
from ..context import event_loop_ctx as event_loop_ctx
from ..context import upload_method_ctx as upload_method_ctx
from ..dispatcher import ContextDispatcher as ContextDispatcher
from ..dispatcher import MessageChainDispatcher as MessageChainDispatcher
from ..dispatcher import SourceDispatcher as SourceDispatcher
from ..exception import AccountMuted as AccountMuted
from ..exception import AccountNotFound as AccountNotFound
from ..exception import InvalidArgument as InvalidArgument
from ..exception import InvalidEventTypeDefinition as InvalidEventTypeDefinition
from ..exception import InvalidSession as InvalidSession
from ..exception import InvalidVerifyKey as InvalidVerifyKey
from ..exception import MessageTooLong as MessageTooLong
from ..exception import UnknownError as UnknownError
from ..exception import UnknownTarget as UnknownTarget
from ..exception import UnVerifiedSession as UnVerifiedSession
from ..model import BotMessage as BotMessage
from ..model import CallMethod as CallMethod
from ..model import ChatLogConfig as ChatLogConfig
from ..model import Client as Client
from ..model import DownloadInfo as DownloadInfo
from ..model import FileInfo as FileInfo
from ..model import Friend as Friend
from ..model import Group as Group
from ..model import GroupConfig as GroupConfig
from ..model import Member as Member
from ..model import MemberInfo as MemberInfo
from ..model import MemberPerm as MemberPerm
from ..model import MiraiSession as MiraiSession
from ..model import Profile as Profile
from ..model import Stranger as Stranger
from ..model import UploadMethod as UploadMethod
from ..util import cpu_bound as cpu_bound
from ..util import io_bound as io_bound
from ..util.cooldown import CoolDown as CoolDown
from ..util.send import Bypass as Bypass
from ..util.send import Ignore as Ignore
from ..util.send import Safe as Safe
from ..util.send import Strict as Strict
from . import event as event
from . import message as message

# no error


with contextlib.suppress(ImportError):
    from ..adapter.reverse import (
        ComposeReverseWebsocketAdapter as ComposeReverseWebsocketAdapter,
    )
    from ..adapter.reverse import ComposeWebhookAdapter as ComposeWebhookAdapter
    from ..adapter.reverse import ReverseWebsocketAdapter as ReverseWebsocketAdapter
