DrSmoothl
8e173cf7d7
refactor(onebot): merge element toSegment/fromSegment into one codec table
阶段 2(零行为改动):把「同一种消息元素」的两个 onebot 方向——收·转
(to-segment) 与 发·解(message-parser)——从两个文件各写各的分支,合并到一张
按元素类型索引的 ELEMENT_CODECS 表,每种类型一条 { toSegment?, fromSegment? }。
- 新增 event-converter/element-codecs.ts:13 类 toSegment + 14 类 fromSegment
逐字平移自原实现;私有 helper intOr/marketFaceElement/pickMediaSource 移来并导出。
- to-segment.ts:elementToSegment 改查表 + 保留原 default 透传兜底。
- message-parser.ts:segmentToElement 保留 9 个纯输入糖 case 作前置 normalize,
真实类型改查表,末尾保留原 unsupported warn。
- onebot 对账测试升级为按表键核对 S/P(比正则更硬),并断言真实类型 case 不再
残留于 parser、输入糖仍在。
行为 byte 级不变:onebot 全量 513 全绿、typecheck 干净;对抗性 Agent 逐字比对
确认无漂移、无运行时循环依赖。
2026-07-01 15:48:04 +08:00
..
2026-06-30 23:29:51 +08:00
2026-06-30 20:38:37 +08:00
2026-07-01 02:13:35 +08:00
2026-07-01 02:27:35 +08:00
2026-07-01 15:48:04 +08:00
2026-07-01 02:13:35 +08:00
2026-07-01 15:48:04 +08:00
2026-06-30 20:38:37 +08:00
2026-06-30 20:38:37 +08:00
2026-06-30 20:38:37 +08:00
2026-06-30 20:38:37 +08:00
2026-06-30 20:38:37 +08:00
2026-07-01 14:43:29 +08:00