feat: add protocol types and config schemas

This commit is contained in:
nav
2026-04-08 20:03:59 +00:00
parent 609563c73e
commit 3b59e34eb5
4 changed files with 29 additions and 3 deletions

View File

@@ -56,6 +56,9 @@
## Phase 1 — 协议落地与共享契约 ## Phase 1 — 协议落地与共享契约
### YNX-0101 固化 builtin 协议信封与类型枚举 ### YNX-0101 固化 builtin 协议信封与类型枚举
**状态**
- [x] 已完成2026-04-08
**目标** **目标**
-`PROTOCOL.md` 里的 builtin envelope 转成共享 TypeScript 类型 -`PROTOCOL.md` 里的 builtin envelope 转成共享 TypeScript 类型
@@ -72,6 +75,11 @@
- Server / Client 都能直接复用类型 - Server / Client 都能直接复用类型
- 所有 builtin 消息都可被类型系统约束 - 所有 builtin 消息都可被类型系统约束
**已完成内容**
- 已在 `Yonexus.Protocol/src/types.ts` 落地 `BuiltinEnvelope`、builtin `type` 联合类型、各类 payload 接口与 `BuiltinPayloadMap`
- 已增加 `Yonexus.Protocol/src/index.ts` 作为导出入口
- 已同步更新 `Yonexus.Protocol/README.md`,让共享类型入口不再停留在 planned 状态
--- ---
### YNX-0102 实现协议编解码工具 ### YNX-0102 实现协议编解码工具
@@ -144,6 +152,9 @@
--- ---
### YNX-0202 定义 Yonexus.Server 配置 schema ### YNX-0202 定义 Yonexus.Server 配置 schema
**状态**
- [x] 已完成2026-04-08
**目标** **目标**
- 让 Server 配置在启动前就能被校验 - 让 Server 配置在启动前就能被校验
@@ -159,6 +170,12 @@
- 缺字段和非法字段会 fail fast - 缺字段和非法字段会 fail fast
- 错误信息足够定位问题 - 错误信息足够定位问题
**已完成内容**
- 已新增 `Yonexus.Server/plugin/core/config.ts`
- 已实现 `validateYonexusServerConfig()``YonexusServerConfigError`
- 已覆盖 `followerIdentifiers``notifyBotToken``adminUserId``listenPort``listenHost``publicWsUrl` 的基础约束与默认值处理
- 已从 `plugin/index.ts` 导出配置类型与校验入口,方便后续 lifecycle wiring 复用
--- ---
### YNX-0203 实现 Server 生命周期 wiring ### YNX-0203 实现 Server 生命周期 wiring
@@ -200,6 +217,9 @@
--- ---
### YNX-0302 定义 Yonexus.Client 配置 schema ### YNX-0302 定义 Yonexus.Client 配置 schema
**状态**
- [x] 已完成2026-04-08
**目标** **目标**
- 保证 Client 配置可启动前校验 - 保证 Client 配置可启动前校验
@@ -213,6 +233,12 @@
**验收标准** **验收标准**
- 配置错误可在启动时直接发现 - 配置错误可在启动时直接发现
**已完成内容**
- 已新增 `Yonexus.Client/plugin/core/config.ts`
- 已实现 `validateYonexusClientConfig()``YonexusClientConfigError`
- 已覆盖 `mainHost``identifier``notifyBotToken``adminUserId` 的必填校验,并限定 `mainHost``ws://` / `wss://`
- 已从 `plugin/index.ts` 导出配置类型与校验入口,方便后续 lifecycle wiring 直接接入
--- ---
### YNX-0303 实现 Client 生命周期 wiring ### YNX-0303 实现 Client 生命周期 wiring