from __future__ import annotations from typing import Any, Protocol, runtime_checkable from yuxi.channels.models import ChannelMessage @runtime_checkable class ChannelThreadingProtocol(Protocol): def resolve_reply_mode(self, config: dict[str, Any], chat_type: str) -> str: ... def resolve_thread_id(self, message: ChannelMessage) -> str | None: ... def build_tool_context(self, context: dict) -> dict: ... def resolve_auto_thread_id(self, to: str, reply_to_id: str) -> str | None: ... def resolve_reply_transport(self, thread_id: str, reply_to_id: str) -> dict: ...