47921eee1249168f2ca32912eaa4e80f130537d5
`actions-sync.test.ts` walks every `registerAction(...)` in `@snowluma/core/src/onebot/actions/` and asserts the SDK's exported list matches. The napcat-parity work (Tier 1 + Tier 2 + Tier 3 + AI voice) added 14 actions to core without ever touching the SDK, so the test caught the drift: bot_exit cancel_group_todo complete_group_todo delete_group_folder get_ai_characters get_ai_record get_group_ignore_add_request nc_get_packet_status nc_get_rkey nc_get_user_status send_group_ai_record send_packet set_diy_online_status set_group_todo Added them to `SNOWLUMA_ACTIONS` and gave each one a typed `SnowLumaActionMap` entry. Where the request body shape is non-trivial (AI voice, group todo, DIY status, send_packet, nc_get_user_status), introduced dedicated param types in `types/params.ts`; where the response is structured (AI character list, user-status word), introduced result types in `types/results.ts`. Everything else routes through `JsonObject` / `EmptyData` so the SDK surface stays small. Verified: pnpm --filter @snowluma/sdk typecheck → clean pnpm --filter @snowluma/sdk test → 17/17 pass
❄️ SnowLuma
Next Remote Protocol Framework.
关于项目
项目处于开发初期,仅支持部分功能,高速迭代中,随时可能出现破坏性更新。
鸣谢
LagrangeV2 - Proto
NapCatQQ - Scaner/Packet
辅助编程
推荐 Opus4.6 + Gemini3.1pro 对本项目辅助开发
本项目大量使用Ai技术。
加入我们
Languages
TypeScript
98.9%
CSS
0.5%
JavaScript
0.5%