feat: YNX-0903/0904/0905 - Implement rule messaging APIs and server rewrite
- YNX-0903: Add sendMessageToServer() and sendRuleMessage() to Client runtime - YNX-0904: Add sendMessageToClient() and sendRuleMessageToClient() to Server runtime - YNX-0905: Implement handleRuleMessage() for server-side message rewriting with sender identifier injection (::::) - Update TASKLIST.md to mark all 3 tasks as completed
This commit is contained in:
49
TASKLIST.md
49
TASKLIST.md
@@ -830,44 +830,51 @@
|
||||
---
|
||||
|
||||
### YNX-0903 实现 `sendMessageToServer(message)`
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 暴露 Client 到 Server 的发送 API
|
||||
|
||||
**子任务**
|
||||
- 校验连接/认证状态
|
||||
- 发送 `${rule_identifier}::${message_content}`
|
||||
- 未连接时返回明确错误
|
||||
|
||||
**验收标准**
|
||||
- 上层插件可直接调用
|
||||
**已完成内容**
|
||||
- 已在 `YonexusClientRuntime` 添加 `sendMessageToServer(message)` 方法
|
||||
- 已添加 `sendRuleMessage(ruleIdentifier, content)` 辅助方法
|
||||
- 已校验连接/认证状态,未连接时返回 false
|
||||
- 已验证消息格式(拒绝 builtin:: 前缀,要求 :: 分隔符)
|
||||
- 已复用 `encodeRuleMessage` 进行类型安全的消息编码
|
||||
|
||||
---
|
||||
|
||||
### YNX-0904 实现 `sendMessageToClient(identifier, message)`
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 暴露 Server 到指定 Client 的发送 API
|
||||
|
||||
**子任务**
|
||||
- 校验目标 client 已知且在线
|
||||
- 发送 `${rule_identifier}::${message_content}`
|
||||
- 离线时返回明确错误
|
||||
|
||||
**验收标准**
|
||||
- 上层插件可向指定客户端投递消息
|
||||
**已完成内容**
|
||||
- 已在 `YonexusServerRuntime` 添加 `sendMessageToClient(identifier, message)` 方法
|
||||
- 已添加 `sendRuleMessageToClient(identifier, ruleIdentifier, content)` 辅助方法
|
||||
- 已校验目标 client 在线且已认证,离线时返回 false
|
||||
- 已验证消息格式(拒绝 builtin:: 前缀,要求 :: 分隔符)
|
||||
- 已复用 `encodeRewrittenRuleMessage` 进行类型安全的消息编码
|
||||
|
||||
---
|
||||
|
||||
### YNX-0905 实现 Server 入站消息重写
|
||||
**状态**
|
||||
- [x] 已完成(2026-04-08)
|
||||
|
||||
**目标**
|
||||
- 把客户端来的消息重写成带 sender 标识的形式
|
||||
|
||||
**子任务**
|
||||
- 解析 `${rule_identifier}::${message_content}`
|
||||
- 重写为 `${rule_identifier}::${sender_identifier}::${message_content}`
|
||||
- 再进入 rule dispatch
|
||||
|
||||
**验收标准**
|
||||
- Server 侧处理器能可靠识别消息来源
|
||||
**已完成内容**
|
||||
- 已在 `YonexusServerRuntime` 添加 `handleRuleMessage(connection, raw)` 私有方法
|
||||
- 已更新 `handleMessage` 入口,非 builtin 消息自动进入 rule message 处理流程
|
||||
- 已实现 sender identifier 识别(从 connection 或 session 中解析)
|
||||
- 已使用 `parseRuleMessage` + `encodeRewrittenRuleMessage` 完成消息重写
|
||||
- 重写格式:`${rule}::${content}` -> `${rule}::${sender}::${content}`
|
||||
- 已校验客户端认证状态,未认证客户端发送 rule message 会被断开连接
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user