ForcePilot/backend/package/yuxi/channels/protocols/threading.py

19 lines
594 B
Python
Raw Normal View History

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: ...