本次提交新增了完整的多渠道消息网关系统,包括: 1. 支持飞书、钉钉、Web、Hook 四种渠道的适配器与配置 2. 领域模型层:消息、会话、绑定、出箱等核心实体 3. 应用服务层:管道、中间件、DTO 与业务逻辑 4. 基础设施层:持久化、过滤器、队列等端口实现 5. 接口层:REST API、SSE、WebSocket 通信端点 6. 前端页面与路由配置,添加渠道管理菜单 7. 新增相关依赖包与 docker-compose 部署配置
25 lines
657 B
Python
25 lines
657 B
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
|
|
|
|
@dataclass
|
|
class HookMapping:
|
|
match_path: str
|
|
match_source: str = "*"
|
|
default_agent_id: int = 1
|
|
allowed_agent_ids: list[int] = field(default_factory=list)
|
|
default_session_key: str = "main"
|
|
allow_request_session_key: bool = False
|
|
allowed_session_key_prefixes: list[str] = field(default_factory=list)
|
|
session_key_strategy: str = "main"
|
|
channel: str = "last"
|
|
deliver: bool = True
|
|
max_body_bytes: int = 256 * 1024
|
|
secret: str | None = None
|
|
|
|
|
|
@dataclass
|
|
class HooksConfig:
|
|
mappings: list[HookMapping] = field(default_factory=list)
|