@whispering233/ai-editor-server 0.0.56 → 0.0.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/client-dist/assets/index-BGcP0euU.js +669 -0
  2. package/client-dist/assets/{index-FO9svVbu.css → index-F-JE9HKi.css} +1 -1
  3. package/client-dist/brand-icon.svg +14 -0
  4. package/client-dist/index.html +3 -2
  5. package/dist/backup.d.ts +31 -7
  6. package/dist/backup.d.ts.map +1 -1
  7. package/dist/backup.js +49 -12
  8. package/dist/backup.js.map +1 -1
  9. package/dist/chat-runtime.d.ts +3 -0
  10. package/dist/chat-runtime.d.ts.map +1 -1
  11. package/dist/chat-runtime.js +1 -0
  12. package/dist/chat-runtime.js.map +1 -1
  13. package/dist/cloud/sync.d.ts +3 -2
  14. package/dist/cloud/sync.d.ts.map +1 -1
  15. package/dist/cloud/sync.js +3 -2
  16. package/dist/cloud/sync.js.map +1 -1
  17. package/dist/http-dispatcher.d.ts.map +1 -1
  18. package/dist/http-dispatcher.js +4 -2
  19. package/dist/http-dispatcher.js.map +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +18 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/middleware/kind.d.ts +19 -0
  24. package/dist/middleware/kind.d.ts.map +1 -0
  25. package/dist/middleware/kind.js +34 -0
  26. package/dist/middleware/kind.js.map +1 -0
  27. package/dist/middleware/project.d.ts +2 -2
  28. package/dist/middleware/project.d.ts.map +1 -1
  29. package/dist/middleware/project.js +6 -3
  30. package/dist/middleware/project.js.map +1 -1
  31. package/dist/routes/chat.d.ts +4 -2
  32. package/dist/routes/chat.d.ts.map +1 -1
  33. package/dist/routes/chat.js +93 -11
  34. package/dist/routes/chat.js.map +1 -1
  35. package/dist/routes/cloud.js +7 -5
  36. package/dist/routes/cloud.js.map +1 -1
  37. package/dist/routes/practice.d.ts +4 -0
  38. package/dist/routes/practice.d.ts.map +1 -0
  39. package/dist/routes/practice.js +209 -0
  40. package/dist/routes/practice.js.map +1 -0
  41. package/dist/routes/project.d.ts +17 -10
  42. package/dist/routes/project.d.ts.map +1 -1
  43. package/dist/routes/project.js +175 -85
  44. package/dist/routes/project.js.map +1 -1
  45. package/dist/routes/settings.js +1 -1
  46. package/dist/routes/settings.js.map +1 -1
  47. package/package.json +7 -7
  48. package/client-dist/assets/index-DMMiv-GL.js +0 -625
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ import { errorHandler, fail, ok } from "./middleware/error.js";
24
24
  import { stopAutoBackup } from "./backup.js";
25
25
  import { initDebugConfig, isCategoryEnabled } from "./debug.js";
26
26
  import { applyHttpProxySettings, configureHttpDispatcher } from "./http-dispatcher.js";
27
+ import { requireKind } from "./middleware/kind.js";
27
28
  import { getSettingsManager } from "./model-runtime.js";
28
29
  import { chatRoutes } from "./routes/chat.js";
29
30
  import { deltaRoutes } from "./routes/delta.js";
@@ -38,6 +39,7 @@ import { initCloudState } from "./cloud/state.js";
38
39
  import { cloudRoutes } from "./routes/cloud.js";
39
40
  import { namesRoutes } from "./routes/names.js"; // 批量名称解析(工具调用人类可读化)
40
41
  import { proposalRoutes } from "./routes/proposal.js";
42
+ import { practiceRoutes } from "./routes/practice.js"; // 作家文风练习(卡 5)
41
43
  import { trashRoutes } from "./routes/trash.js";
42
44
  import { relationRoutes } from "./routes/relation.js";
43
45
  import { logSoftDeleteReconcile, reconcileSoftDelete } from "./consistency.js";
@@ -123,7 +125,7 @@ export async function startServer(projectRoot, options = {}) {
123
125
  const clientDist = options.clientDist ?? defaultClientDist();
124
126
  // 创作根归一化(2026-08 修复):CLI 以相对路径启动(node packages/server/dist/index.js
125
127
  // test-project)时,原值直接注入会导致 GET /api/v1/project/list 返回相对 rootPath,
126
- // 前端 buildBookPath(rootPath, name) 拼出相对路径后,POST /project/create 的
128
+ // 前端 buildWorkspacePath(rootPath, kind, name) 拼出相对路径后,POST /project/create 的
127
129
  // resolveProjectDir 中 isAbsolute 校验失败 → 400 INVALID_PROJECT_PATH。此处统一基于
128
130
  // process.cwd resolve 为绝对路径(对绝对输入幂等),detectProject/setProjectRoot
129
131
  // 及其下游消费方全部使用归一化值;create/open 请求体 path 仍要求绝对(安全校验不变)。
@@ -171,30 +173,45 @@ export async function startServer(projectRoot, options = {}) {
171
173
  app.use("*", projectMiddleware());
172
174
  // 探活路由(本卡基础路由;切片 1 起在下方并列挂载 routes/ 业务路由)
173
175
  app.get("/api/v1/health", (c) => c.json(ok({ status: "ok" })));
176
+ // 工作区类型守卫(卡 3):**小说语义路由组**——练习工作区(kind = "practice")访问 → 400 KIND_MISMATCH;
177
+ // 通用组(settings / project / cloud / chat)不挂。每组一行,且**必须在同名 app.route 之前**
178
+ // ——Hono 按注册序组合中间件与 handler,写在后面守卫不生效(middleware/kind.ts 有完整清单)。
179
+ // 反向守卫(requireKind("practice"))随练习路由组一起挂载。
174
180
  // 设置路由(S1.3):GET/PUT /api/v1/settings/llm(用户级配置)
175
181
  app.route("/api/v1/settings", settingsRoutes);
176
182
  // 实体路由(S3.3):GET/POST /api/v1/entity/:type、GET/PUT/DELETE /:type/:id
183
+ app.use("/api/v1/entity/*", requireKind("novel"));
177
184
  app.route("/api/v1/entity", entityRoutes);
178
185
  // 项目路由(S1.2):create/open/close/config(项目管理)
179
186
  app.route("/api/v1/project", projectRoutes);
180
187
  // 大纲路由(S2.2):整树/创建/更新/移动/软删/路径(严格三层)
188
+ app.use("/api/v1/outline/*", requireKind("novel"));
181
189
  app.route("/api/v1/outline", outlineRoutes);
182
190
  // 章正文路由(卡 12.4):GET/PUT /api/v1/manuscript/:chapterNodeId(块文档进 data.db)
191
+ app.use("/api/v1/manuscript/*", requireKind("novel"));
183
192
  app.route("/api/v1/manuscript", manuscriptRoutes);
184
193
  // 名称解析路由:POST /api/v1/names/resolve 批量名称解析(工具调用展示人类可读化)
194
+ app.use("/api/v1/names/*", requireKind("novel"));
185
195
  app.route("/api/v1/names", namesRoutes);
186
196
  // 回收站路由(S2.2 大纲侧;实体侧 S4 扩展):列表/还原/物理清除
197
+ app.use("/api/v1/trash/*", requireKind("novel"));
187
198
  app.route("/api/v1/trash", trashRoutes);
188
199
  // 关系路由(S3.4):查询(k 跳)/创建(判重)/物理删
200
+ app.use("/api/v1/relation/*", requireKind("novel"));
189
201
  app.route("/api/v1/relation", relationRoutes);
190
202
  // 云端存档路由(卡 2):账号配置 + 连通性测试(不要求项目已打开)
191
203
  app.route("/api/v1/cloud", cloudRoutes);
192
204
  // Delta 路由(S5.3):追加 / 按节点查询 / compute 状态计算
205
+ app.use("/api/v1/delta/*", requireKind("novel"));
193
206
  app.route("/api/v1/delta", deltaRoutes);
194
207
  // 对话路由(U3):会话列表 / 消息历史(按项目隔离;POST SSE 端点属后续切片)
195
208
  app.route("/api/v1/chat", chatRoutes);
196
209
  // 提案路由(S7.5):confirm/reject(仅内存提案 + 快照重校验 + 项目绑定)
210
+ app.use("/api/v1/proposal/*", requireKind("novel"));
197
211
  app.route("/api/v1/proposal", proposalRoutes);
212
+ // 练习路由(卡 5):范文样本 / 风格说明素材包 / 自由练习(练习工作区专属)——反向守卫**先于本组 app.route 注册**
213
+ app.use("/api/v1/practice/*", requireKind("practice"));
214
+ app.route("/api/v1/practice", practiceRoutes);
198
215
  // 兜底:/api/* → JSON 404;其他 GET/HEAD → 静态文件 → SPA fallback index.html
199
216
  app.notFound(async (c) => {
200
217
  const path = c.req.path;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { MiddlewareHandler } from "hono";
2
+ import type { WorkspaceKind } from "@whispering233/ai-editor-shared";
3
+ import { type ProjectContext } from "./project.js";
4
+ /**
5
+ * `KIND_MISMATCH` 的固定文案(key = **被要求**的工作区类型);中间件与 handler 断言共用的单一定义,
6
+ * 与 `docs/api/error-code.md` 逐字一致(文案描述的是「要求」,不随实际 kind 变化)。
7
+ */
8
+ export declare const KIND_MISMATCH_MESSAGES: Record<WorkspaceKind, string>;
9
+ /**
10
+ * 断言当前项目的工作区类型;不匹配则抛 400 `KIND_MISMATCH`(handler 内使用,经 errorHandler 转响应)。
11
+ * kind 经 shared `resolveWorkspaceKind` 兜底(旧 project.json 缺该键 → novel)。
12
+ */
13
+ export declare function assertWorkspaceKind(project: ProjectContext, required: WorkspaceKind): void;
14
+ /**
15
+ * 路由组守卫中间件:当前工作区 kind ≠ `required` → 400 `KIND_MISMATCH`。
16
+ * 无当前工作区(待命态)→ 放行(`docs/api/error-code.md`:`NO_PROJECT_OPEN` 409 语义不变)。
17
+ */
18
+ export declare function requireKind(required: WorkspaceKind): MiddlewareHandler;
19
+ //# sourceMappingURL=kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kind.d.ts","sourceRoot":"","sources":["../../src/middleware/kind.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGrE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAGhE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAG1F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,iBAAiB,CAQtE"}
@@ -0,0 +1,34 @@
1
+ import { resolveWorkspaceKind } from "@whispering233/ai-editor-shared";
2
+ import { HttpError } from "./error.js";
3
+ import { getCurrentProject } from "./project.js";
4
+ /**
5
+ * `KIND_MISMATCH` 的固定文案(key = **被要求**的工作区类型);中间件与 handler 断言共用的单一定义,
6
+ * 与 `docs/api/error-code.md` 逐字一致(文案描述的是「要求」,不随实际 kind 变化)。
7
+ */
8
+ export const KIND_MISMATCH_MESSAGES = {
9
+ novel: "该端点仅适用于小说工作区",
10
+ practice: "该端点仅适用于练习工作区",
11
+ };
12
+ /**
13
+ * 断言当前项目的工作区类型;不匹配则抛 400 `KIND_MISMATCH`(handler 内使用,经 errorHandler 转响应)。
14
+ * kind 经 shared `resolveWorkspaceKind` 兜底(旧 project.json 缺该键 → novel)。
15
+ */
16
+ export function assertWorkspaceKind(project, required) {
17
+ if (resolveWorkspaceKind(project.config.kind) === required)
18
+ return;
19
+ throw new HttpError(400, "KIND_MISMATCH", KIND_MISMATCH_MESSAGES[required]);
20
+ }
21
+ /**
22
+ * 路由组守卫中间件:当前工作区 kind ≠ `required` → 400 `KIND_MISMATCH`。
23
+ * 无当前工作区(待命态)→ 放行(`docs/api/error-code.md`:`NO_PROJECT_OPEN` 409 语义不变)。
24
+ */
25
+ export function requireKind(required) {
26
+ return async (_c, next) => {
27
+ const project = getCurrentProject();
28
+ if (project !== null) {
29
+ assertWorkspaceKind(project, required);
30
+ }
31
+ await next();
32
+ };
33
+ }
34
+ //# sourceMappingURL=kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kind.js","sourceRoot":"","sources":["../../src/middleware/kind.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAuB,MAAM,cAAc,CAAC;AAEtE;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkC;IACnE,KAAK,EAAE,cAAc;IACrB,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAuB,EAAE,QAAuB;IAClF,IAAI,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO;IACnE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,QAAuB;IACjD,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -75,11 +75,11 @@ export declare function detectProject(root: string): ProjectContext | null;
75
75
  * 避免后续 open 时 ensureSchemaCompatible 触发无意义重建并留空库 data.db.v0.bak)。
76
76
  * 注:`prompt` 已废弃——新项目不再写入该字段(项目规则改由 承载)。
77
77
  *
78
- * @param configOverride 可选覆盖 {name?, language?}(create 请求的 config 字段);
78
+ * @param configOverride 可选覆盖 {name?, language?, kind?, author_id?}(create 请求的 config 字段);
79
79
  * 传入时 updated_at 一并刷新。
80
80
  * @returns 已打开的项目上下文(调用方负责 closeProject;create 路由创建后即关闭)
81
81
  */
82
- export declare function initProject(root: string, configOverride?: Partial<Pick<ProjectFileConfig, "name" | "language">>): ProjectContext;
82
+ export declare function initProject(root: string, configOverride?: Partial<Pick<ProjectFileConfig, "name" | "language" | "kind" | "author_id">>): ProjectContext;
83
83
  /** 关闭项目:释放数据库连接(WAL + synchronous=FULL 已即时落盘) */
84
84
  export declare function closeProject(project: ProjectContext): void;
85
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/middleware/project.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAA+C,KAAK,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAW/G,yBAAyB;AACzB,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAK3C,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,EAAE,EAAE,EAAE,CAAC;CACR;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,8BAA8B;AAC9B,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAAG,cAAc,CAEtF;AA4BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CActE;AAED,uBAAuB;AACvB,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CAKtD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAWpF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAiBjE;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,GACrE,cAAc,CAoBhB;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE1D;AAYD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,CASzD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CAQrD"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/middleware/project.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAA+C,KAAK,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAW/G,yBAAyB;AACzB,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAK3C,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,EAAE,EAAE,EAAE,CAAC;CACR;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,8BAA8B;AAC9B,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAAG,cAAc,CAEtF;AA4BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CActE;AAED,uBAAuB;AACvB,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CAKtD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAWpF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAiBjE;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,GAC5F,cAAc,CAuBhB;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE1D;AAYD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,CASzD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CAQrD"}
@@ -13,7 +13,7 @@
13
13
  // (端口 +1 可变;dev 态 Vite proxy 转发后端口为 5173,校验端口会误杀开发请求)
14
14
  import { basename, join } from "node:path";
15
15
  import { mkdirSync } from "node:fs";
16
- import { generateProjectId, DEFAULT_BACKUP_FREQUENCY_MINUTES } from "@whispering233/ai-editor-shared";
16
+ import { generateProjectId, DEFAULT_BACKUP_FREQUENCY_MINUTES, resolveWorkspaceKind } from "@whispering233/ai-editor-shared";
17
17
  import { closeDatabase, openDatabase, setUserVersion } from "@whispering233/ai-editor-db";
18
18
  import { ensureSchemaCompatible, SchemaVersionError } from "@whispering233/ai-editor-db";
19
19
  import { readProjectFile, writeProjectFile } from "@whispering233/ai-editor-db";
@@ -170,7 +170,7 @@ function logStartupOpenFailure(root, err) {
170
170
  * 避免后续 open 时 ensureSchemaCompatible 触发无意义重建并留空库 data.db.v0.bak)。
171
171
  * 注:`prompt` 已废弃——新项目不再写入该字段(项目规则改由 承载)。
172
172
  *
173
- * @param configOverride 可选覆盖 {name?, language?}(create 请求的 config 字段);
173
+ * @param configOverride 可选覆盖 {name?, language?, kind?, author_id?}(create 请求的 config 字段);
174
174
  * 传入时 updated_at 一并刷新。
175
175
  * @returns 已打开的项目上下文(调用方负责 closeProject;create 路由创建后即关闭)
176
176
  */
@@ -187,7 +187,10 @@ export function initProject(root, configOverride) {
187
187
  backup_frequency_minutes: DEFAULT_BACKUP_FREQUENCY_MINUTES,
188
188
  created_at: now,
189
189
  updated_at: now,
190
- ...configOverride, // 覆盖参数(若有);updated_at 已含当前时间
190
+ ...configOverride, // 覆盖参数 name / language / kind / author_id(若有);updated_at 已含当前时间
191
+ // 工作区类型:创建时**显式写入**(缺省 novel)——存量文件缺 kind 的读侧兜底不落盘,
192
+ // 新文件恒带该键;归一唯一入口 = shared resolveWorkspaceKind
193
+ kind: resolveWorkspaceKind(configOverride?.kind),
191
194
  };
192
195
  writeProjectFile(root, config);
193
196
  writeOutlineFile(root, { id: "root", type: "root", schema_version: SCHEMA_VERSION, children: [] });
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/middleware/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/middleware/project.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,8 @@ export interface ChatRouteDeps {
25
25
  export declare const FOCUS_CHAPTER_EXCERPT_CHARS = 2000;
26
26
  /**
27
27
  * 聚焦上下文文本:focus_entity_id → 实体、focus_node_id → 大纲节点、focus_deduction → 推演节点集合,
28
- * 拼成结构化文本。
29
- * 查询不到(已软删/不存在/跨项目)→ 跳过该项(不报错):客户端可能携带过期 focus。
28
+ * practice_sample_id → 练习样本、practice_free_piece_id → 自由练习篇,拼成结构化文本。
29
+ * 查询不到(已软删/不存在/跨项目/样本已删)→ 跳过该项(不报错):客户端可能携带过期 focus。
30
30
  * 各项皆无(或均无效)→ undefined(不注入,消息原文保持干净)。
31
31
  * 聚焦**章**:另注入正文前 `FOCUS_CHAPTER_EXCERPT_CHARS` 字符节选(带「节选」标注)——
32
32
  * **不做整章自动入上下文**(正文预算与对话历史共享同一窗口,见 docs/design/20-context.md §2)。
@@ -36,6 +36,8 @@ export declare function buildFocusText(project: ProjectContext, context: {
36
36
  focus_entity_id?: string;
37
37
  focus_node_id?: string;
38
38
  focus_deduction?: boolean;
39
+ practice_sample_id?: string;
40
+ practice_free_piece_id?: string;
39
41
  } | undefined): string | undefined;
40
42
  /** pi 会话事件的最小结构形态(结构性类型:server 包不直接依赖 pi 的类型) */
41
43
  interface MinimalAgentEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,EAgBL,KAAK,aAAa,EAClB,KAAK,cAAc,EAGpB,MAAM,gCAAgC,CAAC;AAuBxC,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAI5B,gDAAgD;AAChD,eAAO,MAAM,oBAAoB;;;CAA4C,CAAC;AAE9E,yDAAyD;AACzD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAO/C,iCAAiC;AACjC,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sEAAsE;IACtE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sCAAsC;IACtC,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAID,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,cAAc,EACvB,OAAO,EACH;IACE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACD,SAAS,GACZ,MAAM,GAAG,SAAS,CAsBpB;AAgED,iDAAiD;AACjD,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CA4HjG;AAiCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,aAAkB,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAqL3F;AAyBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,aAAkB,GAAG,IAAI,CAqF/D;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU,4EAAqB,CAAC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,EAgBL,KAAK,aAAa,EAClB,KAAK,cAAc,EAGpB,MAAM,gCAAgC,CAAC;AA6BxC,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAI5B,gDAAgD;AAChD,eAAO,MAAM,oBAAoB;;;CAA4C,CAAC;AAE9E,yDAAyD;AACzD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAO/C,iCAAiC;AACjC,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sEAAsE;IACtE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sCAAsC;IACtC,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAID,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,cAAc,EACvB,OAAO,EACH;IACE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,GACD,SAAS,GACZ,MAAM,GAAG,SAAS,CA8BpB;AAiHD,iDAAiD;AACjD,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CA4HjG;AAiCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,aAAkB,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA0L3F;AAqCD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,aAAkB,GAAG,IAAI,CAyF/D;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU,4EAAqB,CAAC"}
@@ -18,8 +18,8 @@ import { unlinkSync } from "node:fs";
18
18
  import { Hono } from "hono";
19
19
  import { streamSSE } from "hono/streaming";
20
20
  import { contextUsageField, createPingFrame, createSessionFrame, createSpeedMeter, defaultProposalStore, findProjectSession, FOCUS_TITLE, lastVisibleSessionText, listProjectSessions, NoModelConfiguredError, projectSessionMessages, readProjectSession, readSessionThinking, sessionUsage, toSseFrame, } from "@whispering233/ai-editor-agent";
21
- import { findOutlineNode, getDocument, getDocumentTextLengths, getEntity, readOutlineFile, } from "@whispering233/ai-editor-db";
22
- import { buildDeductionMarks, orderVisibleChapters, truncate, } from "@whispering233/ai-editor-shared";
21
+ import { findOutlineNode, getDocument, getDocumentTextLengths, getEntity, getPracticePiece, getPracticeSample, readOutlineFile, } from "@whispering233/ai-editor-db";
22
+ import { buildDeductionMarks, orderVisibleChapters, PRACTICE_OTHER_WORK_LABEL, resolveAuthor, resolveWork, resolveWorkspaceKind, truncate, } from "@whispering233/ai-editor-shared";
23
23
  import { chatMessagesResSchema, chatSendReqSchema, chatSessionDeleteResSchema, chatSessionsResSchema, chatThinkingResSchema, } from "@whispering233/ai-editor-shared/schemas";
24
24
  import { HttpError, ok } from "../middleware/error.js";
25
25
  import { requireCurrentProject } from "../middleware/project.js";
@@ -38,8 +38,8 @@ const TOOL_RESULT_TRUNCATION_MARKER = "[工具结果已截断";
38
38
  export const FOCUS_CHAPTER_EXCERPT_CHARS = 2000;
39
39
  /**
40
40
  * 聚焦上下文文本:focus_entity_id → 实体、focus_node_id → 大纲节点、focus_deduction → 推演节点集合,
41
- * 拼成结构化文本。
42
- * 查询不到(已软删/不存在/跨项目)→ 跳过该项(不报错):客户端可能携带过期 focus。
41
+ * practice_sample_id → 练习样本、practice_free_piece_id → 自由练习篇,拼成结构化文本。
42
+ * 查询不到(已软删/不存在/跨项目/样本已删)→ 跳过该项(不报错):客户端可能携带过期 focus。
43
43
  * 各项皆无(或均无效)→ undefined(不注入,消息原文保持干净)。
44
44
  * 聚焦**章**:另注入正文前 `FOCUS_CHAPTER_EXCERPT_CHARS` 字符节选(带「节选」标注)——
45
45
  * **不做整章自动入上下文**(正文预算与对话历史共享同一窗口,见 docs/design/20-context.md §2)。
@@ -64,8 +64,71 @@ export function buildFocusText(project, context) {
64
64
  if (deduction !== undefined)
65
65
  parts.push(deduction); // 无标记 / 全部失效 → 不注入该段(不影响其余项)
66
66
  }
67
+ if (context?.practice_sample_id !== undefined) {
68
+ const practice = practiceSampleFocusText(project, context.practice_sample_id);
69
+ if (practice !== undefined)
70
+ parts.push(practice); // 样本不存在 / 工作区未关联作家 → 不注入该段(不影响其余项)
71
+ }
72
+ if (context?.practice_free_piece_id !== undefined) {
73
+ const free = freePracticeFocusText(project, context.practice_free_piece_id);
74
+ if (free !== undefined)
75
+ parts.push(free); // 篇不存在 / 工作区未关联作家 → 不注入该段(不影响其余项)
76
+ }
67
77
  return parts.length > 0 ? parts.join("\n\n") : undefined;
68
78
  }
79
+ /**
80
+ * 练习样本段(`context.practice_sample_id`,见 `docs/design/60-practice.md` §8):
81
+ * **只给事实**——样本 id、作家名、作品名(`work_id` 空 / 未知 → shared `PRACTICE_OTHER_WORK_LABEL` 兜底)、
82
+ * 片段说明(空则不注入该行)。
83
+ * 范文 `text` 与用户稿 `draft` **绝不注入**(它们走两个只读工具分页拉取);
84
+ * 「点评必须走提交工具」这类**指令语义只活在练习内核提示词常量**(agent 包 `PRACTICE_KERNEL_PROMPT`)
85
+ * ——注入段再写一份 = 第二事实源。
86
+ * 样本不存在 / 工作区未关联预置作家(`author_id` 缺失或未知)→ undefined(静默省略,不报错,
87
+ * **不编造空作家名**;与样本端点的 400 守卫不同:注入是可选项,不能打挂本轮对话)。
88
+ */
89
+ function practiceSampleFocusText(project, sampleId) {
90
+ const sample = getPracticeSample(project.db, sampleId);
91
+ if (sample === null)
92
+ return undefined;
93
+ const author = resolveAuthor(project.config.author_id);
94
+ if (author === null)
95
+ return undefined;
96
+ const work = sample.work_id === null ? null : resolveWork(author.id, sample.work_id);
97
+ const lines = [
98
+ `练习样本:id=${sample.id}`,
99
+ `作家:${author.name}`,
100
+ `作品:${work?.name ?? PRACTICE_OTHER_WORK_LABEL}`,
101
+ ];
102
+ if (sample.excerpt_label !== "")
103
+ lines.push(`片段说明:${sample.excerpt_label}`);
104
+ return lines.join("\n");
105
+ }
106
+ /**
107
+ * 自由练习段(`context.practice_free_piece_id`,见 `docs/design/60-practice.md` §8)——
108
+ * 点评与出题共用同一条触发口径(携带空题篇 = 出题,否则 = 点评):**只给事实**——
109
+ * 篇 id、作家名、题目(空题行说明这是待出题的新篇)、写作要求(`brief` 空则不注入该行)。
110
+ * 用户稿 `draft` 与点评卡**绝不注入**(稿件走 get_free_draft 分页拉取);
111
+ * 「出题要提交题目与可执行的写作要求」这类**指令语义只活在练习内核提示词常量**
112
+ * (agent 包 `PRACTICE_KERNEL_PROMPT`)——注入段再写一份 = 第二事实源。
113
+ * 篇不存在 / 工作区未关联预置作家(`author_id` 缺失或未知)→ undefined(静默省略,不报错,
114
+ * **不编造空作家名**;与篇端点的 400 守卫不同:注入是可选项,不能打挂本轮对话)。
115
+ */
116
+ function freePracticeFocusText(project, pieceId) {
117
+ const piece = getPracticePiece(project.db, pieceId);
118
+ if (piece === null)
119
+ return undefined;
120
+ const author = resolveAuthor(project.config.author_id);
121
+ if (author === null)
122
+ return undefined;
123
+ const lines = [
124
+ `自由练习:id=${piece.id}`,
125
+ `作家:${author.name}`,
126
+ piece.topic === "" ? "题目:未出题(本篇等待你出题)" : `题目:${piece.topic}`,
127
+ ];
128
+ if (piece.brief !== "")
129
+ lines.push(`写作要求:${piece.brief}`);
130
+ return lines.join("\n");
131
+ }
69
132
  /**
70
133
  * 推演节点集合段(`context.focus_deduction`,见 `docs/design/20-context.md` §2):
71
134
  * 三段短文本——① 口径说明 ② 有序标记清单(角色 · 章号 · 标题)③ 相邻区间摘要(跨越章数 · 已写章数)。
@@ -287,7 +350,12 @@ export function chatSendHandler(deps = {}) {
287
350
  chat.release();
288
351
  };
289
352
  try {
290
- const target = { root: project.root, projectId: project.config.id, db: project.db };
353
+ const target = {
354
+ root: project.root,
355
+ projectId: project.config.id,
356
+ db: project.db,
357
+ kind: resolveWorkspaceKind(project.config.kind),
358
+ };
291
359
  // ---- 目标会话:session_id 只经磁盘发现映射(未命中 → 404) ----
292
360
  let sessionFile;
293
361
  if (session_id !== undefined) {
@@ -442,10 +510,20 @@ export function chatSendHandler(deps = {}) {
442
510
  };
443
511
  }
444
512
  // ============ 会话端点辅助 ============
445
- /** 会话末条可见文本(列表摘要用)+ 50 字截断 */
446
- async function lastVisibleText(target, sessionId) {
513
+ /**
514
+ * 会话列表投影:末条可见文本(列表摘要,截断到 `SESSION_LAST_MESSAGE_MAX_LEN`)+ **可见消息数**。
515
+ * 计数**不用** pi `SessionInfo.messageCount`——它把 pi 自己写入的首条 system 消息 entry 也算进去,
516
+ * 而列表是给用户看的(界面文案「N 条消息」)⇒ 与历史接口同源,数 `projectSessionMessages` 的长度。
517
+ * 两个值共用同一次 `readProjectSession`(列表本来就要读全量 entries 取末条文本)。
518
+ */
519
+ async function sessionListFields(target, sessionId) {
447
520
  const opened = await readProjectSession(target.root, sessionId);
448
- return opened === null ? "" : lastVisibleSessionText(opened.entries);
521
+ if (opened === null)
522
+ return { lastMessage: "", messageCount: 0 };
523
+ return {
524
+ lastMessage: truncate(lastVisibleSessionText(opened.entries), SESSION_LAST_MESSAGE_MAX_LEN),
525
+ messageCount: projectSessionMessages(opened.entries).length,
526
+ };
449
527
  }
450
528
  /**
451
529
  * 历史响应的 `contextUsage`:**只带窗口,不重建占用**(占用建在 pi 未导出的估算函数上,见
@@ -468,13 +546,17 @@ export function createChatRoutes(deps = {}) {
468
546
  // GET /api/v1/chat/sessions —— 会话列表(按最后活动倒序)
469
547
  routes.get("/sessions", async (c) => {
470
548
  const project = requireCurrentProject();
471
- const target = { root: project.root, projectId: project.config.id, db: project.db };
549
+ const target = {
550
+ root: project.root,
551
+ projectId: project.config.id,
552
+ db: project.db,
553
+ kind: resolveWorkspaceKind(project.config.kind),
554
+ };
472
555
  const sessions = await listProjectSessions(target.root);
473
556
  const items = await Promise.all(sessions.map(async (info) => ({
474
557
  id: info.id,
475
558
  name: info.name, // pi `session_info` 条目(普通 chat 会话没有 ⇒ undefined 被 JSON 序列化丢掉)
476
- lastMessage: truncate(await lastVisibleText(target, info.id), SESSION_LAST_MESSAGE_MAX_LEN),
477
- messageCount: info.messageCount,
559
+ ...(await sessionListFields(target, info.id)),
478
560
  createdAt: info.created.toISOString(),
479
561
  updatedAt: info.modified.toISOString(),
480
562
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
@@ -280,9 +280,10 @@ cloudRoutes.get("/remote-books", async (c) => {
280
280
  //
281
281
  // 流程:目录/文件存在性(404)→ 下载 → **既有导入校验管道** `validateBackupPackage`
282
282
  // (与 `POST /project/import` 同一实现:坏包 400 / 版本 409)→ **目录名一致性守卫**
283
- // (目录名能解析出 id 且 ≠ 包内 id → 400;必读包内 id 故此时才能比对;从未触碰 `books/`)
283
+ // (目录名能解析出 id 且 ≠ 包内 id → 400;必读包内 id 故此时才能比对;从未触碰任何工作区目录)
284
284
  // → 本机已有同 id → 409(不静默覆盖:
285
- // 那本书应在应用内自己同步)→ `uniqueBookDir` 建档(**id 沿用**、name 归一为目录名)→
285
+ // 那本书应在应用内自己同步)→ `uniqueBookDir` 按**包内 kind** 建档(`<kind 目录>/<名字>/`;
286
+ // **id 沿用**、name 归一为目录名)→
286
287
  // 那份 zip **原样**落新书 `.backups/`(新机器立刻有一份「最新本地备份」)→ 写 `cloud.json` book state
287
288
  // (`lastPushedFileName` = 导入的那份 / `lastSeenCloudFiles` = 当时云端集合 / `lastSyncAt` = 见
288
289
  // `importSyncBaseline`)——不写则新机器一打开就是 `conflict`(云端有份 + 本机无同步记录),
@@ -295,7 +296,7 @@ cloudRoutes.post("/import-book", async (c) => {
295
296
  throw new HttpError(500, "INTERNAL_ERROR", "创作根未初始化(startServer 未调用 setProjectRoot)");
296
297
  }
297
298
  // dir_name 进云盘路径拼接,也作书名兜底 → 只接受**单段目录名**(不含路径分隔符与 `..`,
298
- // 且通过书名规则:纯点/控制字符同样拒——`books/` 下目标目录名就从它派生)
299
+ // 且通过书名规则:纯点/控制字符同样拒——目标目录名(`<kind 目录>/<名字>`)就从它派生)
299
300
  if (parsed.dir_name.trim() === "" || /[/\\]|\.\./.test(parsed.dir_name) || !isBookNameValid(parsed.dir_name)) {
300
301
  throw new HttpError(400, "VALIDATION_ERROR", `云端目录名非法(须为不含路径分隔符与 .. 的单段名): ${parsed.dir_name}`);
301
302
  }
@@ -319,7 +320,7 @@ cloudRoutes.post("/import-book", async (c) => {
319
320
  if (bytes === null) {
320
321
  throw new HttpError(404, "CLOUD_FILE_NOT_FOUND", `云端那份备份已不存在: ${target.fileName}`);
321
322
  }
322
- // 校验通过前不触碰 books/(与 import 同管道同语义);版本过高/坏包直接抛出,不落半成品
323
+ // 校验通过前不触碰任何工作区目录(与 import 同管道同语义);版本过高/坏包直接抛出,不落半成品
323
324
  const validated = validateBackupPackage(new Uint8Array(bytes));
324
325
  // 目录名解析出的 id ≠ 包内 id → 拒绝(设计文档 §10 表)。危害不是「导入错书」而是 state.dirName 取自目录名:
325
326
  // 之后推送会把这本书写进**别人的书的云端目录**(跨书污染)。解析不出 id(用户手工命名目录)无 id 声明,不算冲突。
@@ -333,7 +334,8 @@ cloudRoutes.post("/import-book", async (c) => {
333
334
  // 书名:目录名解析出的优先(云端目录名就是书名来源);回退命名解析不出 → 包内 project.json 的书名;
334
335
  // 两者都不合法(包内书名只经「非空字符串」校验,拼目录前必须过同一道规则)→ 用目录名(已验单段)
335
336
  const candidate = parseCloudBookDirName(parsed.dir_name)?.name ?? validated.projectName.trim();
336
- const bookDir = uniqueBookDir(root, isBookNameValid(candidate) ? candidate : parsed.dir_name);
337
+ // 落目录按**包内 kind**(备份是权威,与 `POST /project/import` 同一口径)
338
+ const bookDir = uniqueBookDir(root, isBookNameValid(candidate) ? candidate : parsed.dir_name, validated.kind);
337
339
  try {
338
340
  mkdirSync(bookDir, { recursive: true });
339
341
  writeProjectFilesFromBackup(bookDir, validated.entries, { name: basename(bookDir) }); // id 沿用(keepId 不传)