//! # df-relay //! //! 跨端 AI Chat 云中继服务(设计文档 Layer2)。 //! //! ## 职责 //! - axum WS Server 接受两类连接:小程序(device_id 鉴权)+ 桌面端(token 配对) //! - 广播中继:小程序操作 → 桌面端;桌面端事件 → 小程序 //! - 纯转发,无业务逻辑(保持轻量,设计文档明确) //! //! ## 边界 //! - 不依赖 df-tunnel / df-types / src-tauri(独立消息骨架,避免跨 crate 强耦合) //! - 不含业务逻辑(Phase2 填连接生命周期 / 注册表 / 广播分发) //! //! ## 模块 //! - [`broadcast`]:广播消息骨架(BroadcastMessage / ClientKind / ControlMessage / MessageKind) //! - [`conn`]:连接注册表(ConnId / ConnHandle / ConnRegistry / RelayState) //! - [`relay`]:RelayServer trait + DefaultRelayServer + axum WS 路由与连接生命周期 //! - [`error`]:RelayError 错误类型 pub mod broadcast; pub mod conn; pub mod error; pub mod relay; // 顶层再导出常用项 pub use broadcast::{BroadcastMessage, ClientKind, ControlMessage, MessageKind, PresenceState}; pub use conn::{next_conn_id, ConnHandle, ConnId, ConnRegistry, RelayState}; pub use error::{RelayError, Result}; pub use relay::{build_router, DefaultRelayServer, RelayServer};