Files
Genarrative/server-rs/crates/shared-contracts/README.md

97 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# shared-contracts 共享 crate 说明
日期:`2026-04-21`
## 1. crate 职责
`shared-contracts` 是前后端兼容 contract 共享 crate后续负责
1. HTTP 请求与响应 DTO
2. SSE 事件结构与事件名约定
3. response envelope、错误结构、兼容头部契约
4. 各模块对外暴露的共享协议类型
## 2. 当前阶段说明
当前阶段已完成 Stage1 最小真实落地:
1. 统一 response envelope / 头部常量
2. `auth/login-options`
3. `auth/me`
4. `auth/sessions`
5. `runtime/settings`
当前阶段继续补齐的 Stage2 鉴权 DTO
1. `auth/entry`
2. `auth/refresh`
3. `auth/logout`
4. `auth/logout-all`
5. `auth/phone/send-code`
6. `auth/phone/login`
7. `auth/wechat/start`
8. `auth/wechat/callback`
9. `auth/wechat/bind-phone`
当前阶段继续补齐的 Stage3 公开请求 DTO
1. `assets/direct-upload-tickets`
2. `assets/read-url`
3. `assets/objects/confirm`
4. `assets/objects/bind`
5. `story-sessions/begin`
6. `story-sessions/continue`
当前阶段继续补齐的 Stage4 显式成功响应 DTO
1. `assets/direct-upload-tickets`
2. `assets/read-url`
3. `assets/objects/confirm`
4. `assets/objects/bind`
5. `story-sessions/begin`
6. `story-sessions/continue`
当前阶段新增 Stage6 `character visual` 兼容 DTO
1. `assets/character-visual/generate`
2. `assets/character-visual/jobs/:taskId`
3. `assets/character-visual/publish`
当前阶段新增 Stage7 `character animation` 模板与导入兼容 DTO
1. `assets/character-animation/templates`
2. `assets/character-animation/import-video`
当前阶段新增 Stage8 `character workflow cache` 第一批兼容 DTO
1. `assets/character-workflow-cache`
2. `assets/character-workflow-cache/:characterId`
当前阶段新增 Stage9 `character animation` 主链兼容 DTO
1. `assets/character-animation/generate`
2. `assets/character-animation/jobs/:taskId`
3. `assets/character-animation/publish`
当前阶段新增 Stage5 story session scoped runtime story 写读 DTO
1. `BeginStoryRuntimeSessionRequest`
2. `ResolveStoryRuntimeActionRequest`
3. `StoryRuntimeProjectionResponse`
4. `StoryRuntimeMutationResponse`
5. `StoryRuntimeSnapshotPayload` 仅用于 story session scoped 写侧持久化边界,不复用旧 `/api/runtime/story/*` 总入口 contract。
`WP-DEL` 已删除旧 runtime story HTTP DTO`RuntimeStoryStateResolveRequest``RuntimeStoryBootstrapRequest/Response``RuntimeStoryActionResponse` 和旧 `RuntimeStorySnapshotPayload``runtime_story` 模块中仍保留的 `RuntimeStoryViewModel``RuntimeStoryPresentation``RuntimeStoryPatch` 与 battle presentation 是当前投影/表现构件,不作为旧 HTTP 写入口。
当前仍刻意未做:
1. SSE 事件结构
2. 自动代码生成或跨语言 contract 同步
3. 其他尚未收口模块的 handler 响应体显式 DTO 化
## 3. 边界约束
1. `shared-contracts` 只放协议类型与兼容结构,不承接业务规则、供应商适配或状态写入逻辑。
2. 各模块 crate 对外暴露的协议优先复用这里的共享定义,避免重复散落。
3. 前端兼容契约一旦进入本 crate就必须与任务清单和基线文档同步维护。