本次提交新增了完整的多渠道消息网关系统,包括: 1. 支持飞书、钉钉、Web、Hook 四种渠道的适配器与配置 2. 领域模型层:消息、会话、绑定、出箱等核心实体 3. 应用服务层:管道、中间件、DTO 与业务逻辑 4. 基础设施层:持久化、过滤器、队列等端口实现 5. 接口层:REST API、SSE、WebSocket 通信端点 6. 前端页面与路由配置,添加渠道管理菜单 7. 新增相关依赖包与 docker-compose 部署配置
42 lines
900 B
Python
42 lines
900 B
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
from typing import Any
|
|
|
|
|
|
@dataclass
|
|
class InboundRequest:
|
|
channel_type: str
|
|
raw_payload: dict[str, Any] = field(default_factory=dict)
|
|
authorization: str = ""
|
|
client_ip: str = ""
|
|
trace_id: str = ""
|
|
|
|
|
|
@dataclass
|
|
class DispatchPayload:
|
|
message_id: str
|
|
channel_type: str
|
|
content: str
|
|
sender_id: str
|
|
session_id: str = ""
|
|
agent_config_id: int | None = None
|
|
trace_id: str = ""
|
|
metadata: dict[str, Any] = field(default_factory=dict)
|
|
raw_payload: dict[str, Any] = field(default_factory=dict)
|
|
attachments: list[dict[str, Any]] = field(default_factory=list)
|
|
|
|
|
|
@dataclass
|
|
class BindingCreateRequest:
|
|
channel_type: str
|
|
account_id: str
|
|
group_id: str
|
|
agent_config_id: int
|
|
|
|
|
|
@dataclass
|
|
class ConfigReloadResult:
|
|
updated: list[str]
|
|
config_hash: str | None
|