"""Base channel interface.""" from __future__ import annotations from abc import ABC, abstractmethod from xtrm_agent.bus import MessageBus class BaseChannel(ABC): """Abstract base for all input/output channels.""" def __init__(self, bus: MessageBus) -> None: self.bus = bus @abstractmethod async def start(self) -> None: """Start listening for messages.""" @abstractmethod async def stop(self) -> None: """Clean up and stop."""