ForcePilot/backend/package/yuxi/channel/sdk/testing/fixtures.py
Kris b438af3ba8 feat(channel-sdk): 新增完整的渠道SDK工具链
本提交新增了全渠道SDK核心模块:
1.  异步锁、目标解析、动作调度等基础工具
2.  消息动作注册与统一调度系统
3.  测试套件与契约测试框架
4.  完整的目标解析流水线与工具函数
5.  资源依赖注入与生命周期管理
2026-05-21 10:29:12 +08:00

49 lines
1.3 KiB
Python

from __future__ import annotations
from dataclasses import dataclass
from yuxi.channel.capabilities import ChannelCapabilities
@dataclass
class FixtureFactory:
@staticmethod
def capabilities(**overrides) -> ChannelCapabilities:
defaults = {
"chat_types": ["direct", "group"],
"message_types": ["text"],
"streaming": False,
"streaming_mode": None,
"block_streaming": False,
}
defaults.update(overrides)
return ChannelCapabilities(**defaults)
@staticmethod
def preview_streaming_caps() -> ChannelCapabilities:
return FixtureFactory.capabilities(
streaming=True,
streaming_mode=None,
)
@staticmethod
def block_streaming_caps() -> ChannelCapabilities:
return FixtureFactory.capabilities(
streaming=True,
streaming_mode="block",
block_streaming=True,
)
@staticmethod
def card_kit_caps() -> ChannelCapabilities:
return FixtureFactory.capabilities(
streaming=True,
streaming_mode="card_kit",
adaptive_cards=True,
)
@staticmethod
def no_streaming_caps() -> ChannelCapabilities:
return FixtureFactory.capabilities(
streaming=False,
)