@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
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/routes/cloud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/routes/cloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Hono } from "hono";
2
+ /** 练习路由(挂载于 /api/v1/practice,index.ts) */
3
+ export declare const practiceRoutes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
4
+ //# sourceMappingURL=practice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"practice.d.ts","sourceRoot":"","sources":["../../src/routes/practice.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAoC1C,0CAA0C;AAC1C,eAAO,MAAM,cAAc,4EAAa,CAAC"}
@@ -0,0 +1,209 @@
1
+ // 作家文风练习路由(/api/v1/practice/*,2026-10 改版)——13 个端点
2
+ //
3
+ // 契约:`docs/api/120-api-practice.md`(13 个端点的 Req/Res 形状与语义)、
4
+ // `docs/api/error-code.md`(`KIND_MISMATCH` 400 / `VALIDATION_ERROR` 400 / `PRACTICE_NOT_FOUND` 404);
5
+ // 设计与不变式见 `docs/design/60-practice.md` §2 / §5 / §6。
6
+ //
7
+ // 分工(**库写入唯一入口 = db 包 `queries/practice.ts`,本层不碰表**):
8
+ // - 请求 schema 单一来源 = shared `types/api.ts`(本层只 parse 请求;**响应 schema 是类型契约,
9
+ // 响应不 `.parse()`**——由本层按文档逐字段拼出);schema 全 `.strict()` ⇒ 多余字段被拒
10
+ // - **长度上限校验落 shared schema**(db 层有意不校验):超限 → 400 `VALIDATION_ERROR`
11
+ // - 本层另做两件 db 层不做的校验:① `work_id` 成员校验(shared `resolveWork`);
12
+ // ② 不存在 → 404 `PRACTICE_NOT_FOUND`(**文案按资源**:样本「练习样本不存在」、自由练习「自由练习不存在」)
13
+ //
14
+ // 前置守卫(单点函数 `requirePracticeWorkspace`,本组全部端点共用):
15
+ // ① `kind ≠ "practice"` → 400 `KIND_MISMATCH`(文案与服务端 `requireKind` 同源,见 middleware/kind.ts;
16
+ // 整组中间件 `requireKind("practice")` 另挂在 index.ts,本函数是端点级同口径兜底,不改错误语义);
17
+ // ② `author_id` 解析不到预置作家 → 400 `VALIDATION_ERROR`「练习工作区未关联预置作家」(存量 / 坏值工作区)。
18
+ import { Hono } from "hono";
19
+ import { createPracticePiece, createPracticeSample, deletePracticePiece, deletePracticeSample, deleteStylePack, getPracticePiece, getPracticeSample, getStylePack, listPracticePieces, listPracticeSamples, updatePracticePieceDraft, updatePracticeSampleDraft, upsertStylePack, } from "@whispering233/ai-editor-db";
20
+ import { resolveAuthor, resolveWork } from "@whispering233/ai-editor-shared";
21
+ import { practiceDraftPutReqSchema, practicePieceCreateReqSchema, practiceSampleCreateReqSchema, practiceStylePackPutReqSchema, } from "@whispering233/ai-editor-shared/schemas";
22
+ import { HttpError, ok } from "../middleware/error.js";
23
+ import { assertWorkspaceKind } from "../middleware/kind.js";
24
+ import { requireCurrentProject } from "../middleware/project.js";
25
+ /** 练习路由(挂载于 /api/v1/practice,index.ts) */
26
+ export const practiceRoutes = new Hono();
27
+ /** 样本不存在(详情 / 保存稿件 / 删除)→ 404 `PRACTICE_NOT_FOUND` */
28
+ function sampleNotFound() {
29
+ return new HttpError(404, "PRACTICE_NOT_FOUND", "练习样本不存在");
30
+ }
31
+ /** 自由练习篇不存在(详情 / 保存稿件 / 删除)→ 404 `PRACTICE_NOT_FOUND` */
32
+ function pieceNotFound() {
33
+ return new HttpError(404, "PRACTICE_NOT_FOUND", "自由练习不存在");
34
+ }
35
+ /**
36
+ * 前置守卫(本组端点共用的**单点**):当前工作区必须 `kind = "practice"` 且 `author_id` 能解析到
37
+ * 预置作家(shared `AUTHOR_CATALOG`);无当前工作区 → 409 `NO_PROJECT_OPEN`(`requireCurrentProject`)。
38
+ * 返回已解析的作家条目,供素材包端点取预置风格说明(不重复解析)。
39
+ */
40
+ function requirePracticeWorkspace() {
41
+ const project = requireCurrentProject();
42
+ assertWorkspaceKind(project, "practice");
43
+ const author = resolveAuthor(project.config.author_id);
44
+ if (author === null) {
45
+ throw new HttpError(400, "VALIDATION_ERROR", "练习工作区未关联预置作家");
46
+ }
47
+ return { project, author };
48
+ }
49
+ /** 请求体解析:空 body / 非法 JSON → null,统一交给 schema 报校验失败(同 names.ts 口径) */
50
+ async function readJson(c) {
51
+ return c.req.json().catch(() => null);
52
+ }
53
+ /**
54
+ * 样本详情的 API 投影(详情与新建样本的响应共用同一形状)。
55
+ * `feedback` 只透传:写入侧唯一入口是提交点评工具,读取侧的坏 JSON 防御解析在 db 层
56
+ * (**非对象** → null,合法 JSON 对象一律透传)——本层不重复校验、也不做键名转换。
57
+ */
58
+ function toSampleDetail(row) {
59
+ return {
60
+ id: row.id,
61
+ workId: row.work_id,
62
+ excerptLabel: row.excerpt_label,
63
+ text: row.text,
64
+ draft: row.draft,
65
+ feedback: row.feedback,
66
+ createdAt: row.created_at,
67
+ updatedAt: row.updated_at,
68
+ };
69
+ }
70
+ /** 自由练习详情的 API 投影(详情与新建的响应共用同一形状) */
71
+ function toPieceDetail(row) {
72
+ return {
73
+ id: row.id,
74
+ topic: row.topic,
75
+ brief: row.brief,
76
+ topicSource: row.topic_source,
77
+ draft: row.draft,
78
+ feedback: row.feedback,
79
+ createdAt: row.created_at,
80
+ updatedAt: row.updated_at,
81
+ };
82
+ }
83
+ // ============ 范文样本(五端点) ============
84
+ // GET /api/v1/practice/samples —— 本工作区全部样本(按 updatedAt 倒序;列表不回正文与卡体)
85
+ practiceRoutes.get("/samples", (c) => {
86
+ const { project } = requirePracticeWorkspace();
87
+ return c.json(ok({ samples: listPracticeSamples(project.db) }));
88
+ });
89
+ // POST /api/v1/practice/samples —— 新建样本(粘贴或导入文本均走这里)
90
+ practiceRoutes.post("/samples", async (c) => {
91
+ const { project, author } = requirePracticeWorkspace();
92
+ const parsed = practiceSampleCreateReqSchema.safeParse(await readJson(c));
93
+ if (!parsed.success)
94
+ throw parsed.error; // → 400 VALIDATION_ERROR(含 fields)
95
+ const workId = parsed.data.work_id ?? null;
96
+ // work_id 成员校验:给了就必须在预置作品清单内(未知 id 不静默落成「其他」——那会让用户以为选上了)
97
+ if (workId !== null && resolveWork(author.id, workId) === null) {
98
+ throw new HttpError(400, "VALIDATION_ERROR", `未知的作品 id: ${workId}(须为预置作品清单内的 id)`);
99
+ }
100
+ const row = createPracticeSample(project.db, {
101
+ workId,
102
+ excerptLabel: parsed.data.excerpt_label,
103
+ text: parsed.data.text,
104
+ });
105
+ return c.json(ok(toSampleDetail(row)));
106
+ });
107
+ // GET /api/v1/practice/samples/:id —— 样本详情(唯一返回范文全文与点评卡的读端点)
108
+ practiceRoutes.get("/samples/:id", (c) => {
109
+ const { project } = requirePracticeWorkspace();
110
+ const row = getPracticeSample(project.db, c.req.param("id"));
111
+ if (row === null)
112
+ throw sampleNotFound();
113
+ return c.json(ok(toSampleDetail(row)));
114
+ });
115
+ // PUT /api/v1/practice/samples/:id —— 保存仿写稿(strict 单字段;唯一的用户写稿入口,后写覆盖)
116
+ practiceRoutes.put("/samples/:id", async (c) => {
117
+ const { project } = requirePracticeWorkspace();
118
+ const parsed = practiceDraftPutReqSchema.safeParse(await readJson(c));
119
+ if (!parsed.success)
120
+ throw parsed.error;
121
+ const result = updatePracticeSampleDraft(project.db, c.req.param("id"), parsed.data.draft);
122
+ if (result === null)
123
+ throw sampleNotFound();
124
+ return c.json(ok(result));
125
+ });
126
+ // DELETE /api/v1/practice/samples/:id —— 删除样本(物理删)
127
+ practiceRoutes.delete("/samples/:id", (c) => {
128
+ const { project } = requirePracticeWorkspace();
129
+ if (!deletePracticeSample(project.db, c.req.param("id")))
130
+ throw sampleNotFound();
131
+ return c.json(ok({ deleted: true }));
132
+ });
133
+ // ============ 作家风格说明素材包(三端点) ============
134
+ //
135
+ // 预置文本 = shared 常量(无端点);这里读写的是当前工作区作者的**用户覆盖**(单行)。
136
+ /** 生效内容 = 用户覆盖 `??` 预置(无覆盖 → 预置,恒非空) */
137
+ function toStylePack(author, override) {
138
+ return {
139
+ authorId: author.id,
140
+ content: override?.content ?? author.styleNotes,
141
+ customized: override !== null,
142
+ updatedAt: override?.updated_at ?? null,
143
+ };
144
+ }
145
+ // GET /api/v1/practice/style-pack —— 生效内容 + 是否有用户覆盖
146
+ practiceRoutes.get("/style-pack", (c) => {
147
+ const { project, author } = requirePracticeWorkspace();
148
+ return c.json(ok(toStylePack(author, getStylePack(project.db, author.id))));
149
+ });
150
+ // PUT /api/v1/practice/style-pack —— 写入用户覆盖(trim 非空;清空请用 DELETE)
151
+ practiceRoutes.put("/style-pack", async (c) => {
152
+ const { project, author } = requirePracticeWorkspace();
153
+ const parsed = practiceStylePackPutReqSchema.safeParse(await readJson(c));
154
+ if (!parsed.success)
155
+ throw parsed.error;
156
+ return c.json(ok(toStylePack(author, upsertStylePack(project.db, author.id, parsed.data.content))));
157
+ });
158
+ // DELETE /api/v1/practice/style-pack —— 删除用户覆盖 = 恢复预置(幂等:无覆盖也 200)
159
+ practiceRoutes.delete("/style-pack", (c) => {
160
+ const { project, author } = requirePracticeWorkspace();
161
+ deleteStylePack(project.db, author.id);
162
+ return c.json(ok(toStylePack(author, null)));
163
+ });
164
+ // ============ 自由练习(五端点) ============
165
+ // GET /api/v1/practice/free —— 本工作区全部自由练习篇(按 updatedAt 倒序;列表不回稿件与卡体)
166
+ practiceRoutes.get("/free", (c) => {
167
+ const { project } = requirePracticeWorkspace();
168
+ return c.json(ok({ pieces: listPracticePieces(project.db) }));
169
+ });
170
+ // POST /api/v1/practice/free —— 新建自由练习篇(自拟题,或建「待出题」空题行)
171
+ practiceRoutes.post("/free", async (c) => {
172
+ const { project } = requirePracticeWorkspace();
173
+ const parsed = practicePieceCreateReqSchema.safeParse(await readJson(c));
174
+ if (!parsed.success)
175
+ throw parsed.error; // topic 与 topic_source 的一致性在 schema(superRefine)
176
+ const row = createPracticePiece(project.db, {
177
+ topicSource: parsed.data.topic_source,
178
+ topic: parsed.data.topic,
179
+ brief: parsed.data.brief,
180
+ });
181
+ return c.json(ok(toPieceDetail(row)));
182
+ });
183
+ // GET /api/v1/practice/free/:id —— 自由练习详情(唯一返回稿件全文与点评卡的读端点)
184
+ practiceRoutes.get("/free/:id", (c) => {
185
+ const { project } = requirePracticeWorkspace();
186
+ const row = getPracticePiece(project.db, c.req.param("id"));
187
+ if (row === null)
188
+ throw pieceNotFound();
189
+ return c.json(ok(toPieceDetail(row)));
190
+ });
191
+ // PUT /api/v1/practice/free/:id —— 保存自由练习稿(与仿写稿同一口径:strict 单字段、允许空串、后写覆盖)
192
+ practiceRoutes.put("/free/:id", async (c) => {
193
+ const { project } = requirePracticeWorkspace();
194
+ const parsed = practiceDraftPutReqSchema.safeParse(await readJson(c));
195
+ if (!parsed.success)
196
+ throw parsed.error;
197
+ const result = updatePracticePieceDraft(project.db, c.req.param("id"), parsed.data.draft);
198
+ if (result === null)
199
+ throw pieceNotFound();
200
+ return c.json(ok(result));
201
+ });
202
+ // DELETE /api/v1/practice/free/:id —— 删除自由练习篇(物理删;不满意的 AI 出题 = 删掉重建)
203
+ practiceRoutes.delete("/free/:id", (c) => {
204
+ const { project } = requirePracticeWorkspace();
205
+ if (!deletePracticePiece(project.db, c.req.param("id")))
206
+ throw pieceNotFound();
207
+ return c.json(ok({ deleted: true }));
208
+ });
209
+ //# sourceMappingURL=practice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"practice.js","sourceRoot":"","sources":["../../src/routes/practice.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { Hono } from "hono";
2
+ import type { WorkspaceKind } from "@whispering233/ai-editor-shared";
2
3
  /** 设置创作根(index.ts startServer 调用;测试隔离用传 null 重置) */
3
4
  export declare function setProjectRoot(root: string | null): void;
4
- /** 读创作根(书架模式:创作根 / `books/<书名>/`;未初始化 → null) */
5
+ /** 读创作根(工作区模式:创作根 / `<kind 目录>/<名字>/`;未初始化 → null) */
5
6
  export declare function getProjectRoot(): string | null;
6
- /** books/ 子目录名(书架模式:创作根/books/<书名>/) */
7
- export declare const BOOKS_DIR_NAME = "books";
8
7
  /**
9
8
  * 规范化并校验项目路径(create/open 通用):
10
9
  *
@@ -33,17 +32,25 @@ export declare const projectRoutes: Hono<import("hono/types").BlankEnv, import("
33
32
  */
34
33
  export declare function isBookNameValid(name: string): boolean;
35
34
  /**
36
- * 按 project_id 在书架 books/ 下定位书目录(唯一 key = project_id):
37
- * 遍历 books/ 下各书目录的 project.json 读 id 比对;无匹配返回 null。
35
+ * 按 project_id 在创作根下定位工作区目录(唯一 key = project_id):
36
+ * 遍历**各工作区目录**(`WORKSPACE_KINDS` 全量,不只 books/——练习工作区同在书架列表里)
37
+ * 下各子目录的 project.json 读 id 比对;无匹配返回 null。
38
+ * 命中时一并返回**目录位置推出的 kind**(命中路径就是该 kind 目录的直接子目录)——
39
+ * 覆盖恢复的 kind 归一用它(目录是事实,不读包内 kind)。
38
40
  * 损坏的 project.json 抛错向上传播(与 list/open 语义一致:坏数据不静默吞)。
39
41
  * 导出供 `/cloud/remote-books`(`localExists`)与 `/cloud/import-book`(同 id 拒重复导入)复用。
40
42
  */
41
- export declare function findBookDirById(root: string, id: string): string | null;
43
+ export declare function findBookDirById(root: string, id: string): {
44
+ dir: string;
45
+ kind: WorkspaceKind;
46
+ } | null;
42
47
  /**
43
- * 新书目标目录去重(import 节):`books/<name>/` 已存在 →
44
- * `books/<name> (N)/`(N 为最小正整数,从 2 起,避免与去重命名惯例冲突);
48
+ * 新工作区目标目录去重(import / 云端导入节):`<kind 目录>/<name>/` 已存在 →
49
+ * `<kind 目录>/<name> (N)/`(N 为最小正整数,从 2 起,避免与去重命名惯例冲突);
45
50
  * 返回去重后的目录绝对路径。project.json 内部 name 由调用方同步为去重名
46
- * (「目录名 = 书名」不变式)。
51
+ * (「目录名 = 名字」不变式)。
52
+ *
53
+ * `kind` 取**包内 project.json** 的值(备份是权威)——目录名一律取 shared `WORKSPACE_DIRS`。
47
54
  */
48
- export declare function uniqueBookDir(root: string, name: string): string;
55
+ export declare function uniqueBookDir(root: string, name: string, kind: WorkspaceKind): string;
49
56
  //# sourceMappingURL=project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/routes/project.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AA0D1C,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAExD;AAED,iDAAiD;AACjD,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED,wCAAwC;AACxC,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkBzD;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,4EAAa,CAAC;AAsPxC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAkBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAevE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhE"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/routes/project.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAsC,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAuEzG,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAExD;AAED,sDAAsD;AACtD,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkBzD;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,4EAAa,CAAC;AAuTxC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAiBrG;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAOrF"}