from __future__ import annotations from typing import TYPE_CHECKING if TYPE_CHECKING: from yuxi.channel.domain.port.channel_adapter_port import ChannelAdapterPort _channel_adapters: dict[str, type[ChannelAdapterPort]] = {} def register_channel(name: str, adapter_cls: type[ChannelAdapterPort]) -> None: _channel_adapters[name] = adapter_cls def get_registered_channels() -> dict[str, type[ChannelAdapterPort]]: return dict(_channel_adapters)