| 1234567891011121314151617181920212223242526272829303132333435 |
- """飞书渠道在通用 ``ExecutorBackend`` / ``UserIdentityResolver`` 上的类型收窄。"""
- from __future__ import annotations
- from typing import Any, Protocol, runtime_checkable
- from gateway.core.channels.feishu.types import FeishuReplyContext, IncomingFeishuEvent
- from gateway.core.channels.protocols import ExecutorBackend, UserIdentityResolver
- __all__ = ["FeishuExecutorBackend", "FeishuUserIdentityResolver"]
- @runtime_checkable
- class FeishuExecutorBackend(ExecutorBackend, Protocol):
- """飞书执行器——窄化 ``ExecutorBackend`` 的参数类型为飞书专属结构。"""
- async def handle_inbound_message(
- self,
- existing_agent_trace_id: str,
- text: str,
- reply_context: FeishuReplyContext,
- connector: Any,
- *,
- event: IncomingFeishuEvent,
- ) -> tuple[str, str]:
- """返回 ``(task_id, agent_trace_id)``;失败时 ``agent_trace_id`` 为空。"""
- ...
- @runtime_checkable
- class FeishuUserIdentityResolver(UserIdentityResolver, Protocol):
- """飞书用户身份解析器——窄化 ``UserIdentityResolver`` 的事件类型为 ``IncomingFeishuEvent``。"""
- def resolve_user_id(self, event: IncomingFeishuEvent) -> str:
- ...
|