@fgbg/mdocs 1.2.0 → 1.2.2

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 (65) hide show
  1. package/agent-skills/changelog/SKILL.md +25 -1
  2. package/agent-skills/index/SKILL.md +1 -0
  3. package/agent-skills/index.json +8 -1
  4. package/agent-skills/usage-html-documents/SKILL.md +40 -0
  5. package/dist/server/agent/Config/config.js +26 -5
  6. package/dist/server/agent/Config/config.js.map +1 -1
  7. package/dist/server/agent/Config/config.test.js +23 -3
  8. package/dist/server/agent/Config/config.test.js.map +1 -1
  9. package/dist/server/documents/document.service.js +68 -59
  10. package/dist/server/documents/document.service.js.map +1 -1
  11. package/dist/server/documents/graph.integration.test.js +1 -0
  12. package/dist/server/documents/graph.integration.test.js.map +1 -1
  13. package/dist/server/documents/graph.service.js +14 -4
  14. package/dist/server/documents/graph.service.js.map +1 -1
  15. package/dist/server/documents/tree-and-folders.test.js +16 -0
  16. package/dist/server/documents/tree-and-folders.test.js.map +1 -1
  17. package/dist/server/documents/tree.service.js +13 -7
  18. package/dist/server/documents/tree.service.js.map +1 -1
  19. package/dist/server/routes/documents.routes.js +7 -1
  20. package/dist/server/routes/documents.routes.js.map +1 -1
  21. package/dist/server/routes/graph.routes.js +21 -4
  22. package/dist/server/routes/graph.routes.js.map +1 -1
  23. package/dist/server/routes/tree.routes.js +2 -1
  24. package/dist/server/routes/tree.routes.js.map +1 -1
  25. package/dist/shared/docPath.js +2 -2
  26. package/dist/shared/docPath.js.map +1 -1
  27. package/dist/shared/file-type-policy.js +12 -14
  28. package/dist/shared/file-type-policy.js.map +1 -1
  29. package/dist/shared/file-type-policy.test.js +37 -0
  30. package/dist/shared/file-type-policy.test.js.map +1 -0
  31. package/dist/shared/file-types.js +3 -4
  32. package/dist/shared/file-types.js.map +1 -1
  33. package/dist/shared/storagePath.js +11 -8
  34. package/dist/shared/storagePath.js.map +1 -1
  35. package/dist/web/assets/AgentChatPanel-dADh_kOG.js +22 -0
  36. package/dist/web/assets/AgentSkillFormCard-DEKBKWH-.js +6 -0
  37. package/dist/web/assets/{AiWriteWorkbench-i9ZoyX3p.js → AiWriteWorkbench-DezZBKI2.js} +1 -1
  38. package/dist/web/assets/{DiagramEditor-NtNY3sZL-CAQtZY2E.js → DiagramEditor-NtNY3sZL-5TyWJGgH.js} +1 -1
  39. package/dist/web/assets/{DocumentEditor-oFGmAxnV.js → DocumentEditor-D39RTLYE.js} +1 -1
  40. package/dist/web/assets/HtmlEditor-Bmpi_p2t.js +1 -0
  41. package/dist/web/assets/HtmlEditor-Bw2cVxtF.css +1 -0
  42. package/dist/web/assets/MergeView-WUR136do.js +10 -0
  43. package/dist/web/assets/{PlaygroundPage-BLEC6-Uf.js → PlaygroundPage-CPzJG_Wk.js} +1 -1
  44. package/dist/web/assets/SettingsPage-CuwYAiJh.js +1 -0
  45. package/dist/web/assets/{Toolbar-Dz9Cn_hv.js → Toolbar-JoV5KtuT.js} +1 -1
  46. package/dist/web/assets/{VisitorPickerModal-eagVdEZA.js → VisitorPickerModal-ImaQvyyf.js} +1 -1
  47. package/dist/web/assets/{code-xml-CZsyEkCa.js → code-xml-DX89c1sd.js} +1 -1
  48. package/dist/web/assets/{copy-BUUKT-QO.js → copy-yWKSE1g1.js} +1 -1
  49. package/dist/web/assets/diagram-Bk84WZto.js +3320 -0
  50. package/dist/web/assets/index-CwzlBu2W.js +263 -0
  51. package/dist/web/assets/index-uw_8eaPv.css +1 -0
  52. package/dist/web/assets/{meta2dEngine-BD2XbzaV-nAmL0RaW.js → meta2dEngine-BD2XbzaV-DUaWTg_P.js} +1 -1
  53. package/dist/web/assets/{motion-BgtuAqBE.js → motion-DFABYlwt.js} +1 -1
  54. package/dist/web/assets/{plus-BkiPFt2u.js → plus-B0mmDuSt.js} +1 -1
  55. package/dist/web/assets/{react--aHzEjEz.js → react-BJcufYxR.js} +3 -3
  56. package/dist/web/assets/{ui-RahDNce8.js → ui-CvA4pq3d.js} +3 -3
  57. package/dist/web/index.html +5 -5
  58. package/package.json +2 -2
  59. package/dist/web/assets/AgentChatPanel-Dd8Xnyia.js +0 -27
  60. package/dist/web/assets/AgentSkillFormCard-dsAy12lL.js +0 -6
  61. package/dist/web/assets/MergeView-DgEbzTVh.js +0 -10
  62. package/dist/web/assets/SettingsPage-BcCvamXH.js +0 -1
  63. package/dist/web/assets/diagram-DtU2xxz3.js +0 -5772
  64. package/dist/web/assets/index-DI_31upJ.js +0 -248
  65. package/dist/web/assets/index-YRgNGXBI.css +0 -1
@@ -1,13 +1,37 @@
1
1
  ---
2
2
  id: changelog
3
3
  name: "更新日志"
4
- description: "---"
4
+ description: "详见 [HTML 文档](./usage/html-documents.md)。"
5
5
  keywords: []
6
6
  source: changelog.md
7
7
  ---
8
8
 
9
9
  # 更新日志
10
10
 
11
+ ## v1.2.2
12
+
13
+ ### HTML 文档(一期)
14
+ - **新建 HTML**:侧栏「新建」下拉可选 Markdown / HTML;树中图标为 `H`
15
+ - **预览与编辑**:默认预览(`iframe` + `sandbox=""`,不执行脚本);可手动切编辑(textarea 源码)/ 预览
16
+ - **草稿与发布**:与 Markdown 共用 IndexedDB 草稿壳(`contentKind=html` 存原文);乐观锁 / 冲突 merge 走原文三路,不经 Lexical 桥
17
+ - **政策**:不进全文搜索、不进知识图谱抽取;`GET ?format=text` 返回 HTML 原文
18
+ - **二期预告**:与 Markdown 共用顶栏(标题 / 域选择 / 同步等);AI 帮写是否接入 HTML 另议
19
+
20
+ 详见 [HTML 文档](./usage/html-documents.md)。
21
+
22
+ ---
23
+
24
+ ## v1.2.1
25
+
26
+ ### 修复与体验
27
+ - **左侧目录树滚动**:头尾固定,仅中间树列表滚动;悬浮层移出主壳,避免整页被正文撑高
28
+ - **DeepSeek 模型**:默认改为官方名 `deepseek-flash`(V4.1 Flash);旧 `deepseek-v4-flash` / `deepseek-v4.1-flash` 等别名保存时归一;默认上下文 1M;`deepseek-v4-pro` 仍可选(将路由至 Flash)
29
+
30
+ ### 其它
31
+ - 图谱与路径相关小改进
32
+
33
+ ---
34
+
11
35
  ## v1.2.0
12
36
 
13
37
  ### Agent
@@ -31,6 +31,7 @@ source: index.md
31
31
 
32
32
  - [设置页面概览](./usage/settings.md)——集中配置中心
33
33
  - [编辑体验](./usage/markdown.md)——富文本编辑,Markdown 存储
34
+ - [HTML 文档](./usage/html-documents.md)——沙箱预览与源码编辑(一期)
34
35
  - [流程图生成](./usage/flowchart.md)——拖拽绘制,嵌入文档
35
36
  - [草稿与同步](./usage/drafts.md)——本地优先,按需发布
36
37
  - [版本冲突与合并](./usage/merge-conflicts.md)——409 时的三栏合并
@@ -2,7 +2,7 @@
2
2
  {
3
3
  "id": "changelog",
4
4
  "name": "更新日志",
5
- "description": "---",
5
+ "description": "详见 [HTML 文档](./usage/html-documents.md)。",
6
6
  "keywords": [],
7
7
  "source": "changelog.md"
8
8
  },
@@ -132,6 +132,13 @@
132
132
  "keywords": [],
133
133
  "source": "usage/flowchart.md"
134
134
  },
135
+ {
136
+ "id": "usage-html-documents",
137
+ "name": "HTML 文档",
138
+ "description": "mdocs 支持与 Markdown 平级的 **HTML 文档**(`file_type=html`,磁盘路径以 `.html` 结尾)。权限、提交历史、目录树与 Markdown 相同;正文按 **HTML 原文** 存盘与草稿,不经 Lexical。",
139
+ "keywords": [],
140
+ "source": "usage/html-documents.md"
141
+ },
135
142
  {
136
143
  "id": "usage-knowledge-graph",
137
144
  "name": "知识图谱",
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: usage-html-documents
3
+ name: "HTML 文档"
4
+ description: "mdocs 支持与 Markdown 平级的 **HTML 文档**(`file_type=html`,磁盘路径以 `.html` 结尾)。权限、提交历史、目录树与 Markdown 相同;正文按 **HTML 原文** 存盘与草稿,不经 Lexical。"
5
+ keywords: []
6
+ source: usage/html-documents.md
7
+ ---
8
+
9
+ # HTML 文档
10
+
11
+ mdocs 支持与 Markdown 平级的 **HTML 文档**(`file_type=html`,磁盘路径以 `.html` 结尾)。权限、提交历史、目录树与 Markdown 相同;正文按 **HTML 原文** 存盘与草稿,不经 Lexical。
12
+
13
+ ## 创建
14
+
15
+ 侧栏「新建」下拉选择 **HTML**(不要与 Markdown 混用后缀)。默认文件名如 `untitled.html`。
16
+
17
+ ## 预览与编辑
18
+
19
+ - 打开后 **默认预览**(忽略「自动进入编辑」设置)
20
+ - 预览使用 `iframe` + 最严 `sandbox=""`:**不执行脚本**,避免 XSS 进主应用
21
+ - 可手动切换 **编辑**(源码 textarea)与 **预览**;模式不会因输入自动跳回
22
+
23
+ ## 草稿、发布与冲突
24
+
25
+ - 自动保存进浏览器 IndexedDB,字段 `contentKind=html`
26
+ - 发布走与 Markdown 相同的乐观锁;冲突时三路 merge **直接用 HTML 字符串**,不走 Markdown↔Lexical 转换
27
+
28
+ ## 与 Markdown 的差异(一期)
29
+
30
+ | 能力 | HTML |
31
+ |------|------|
32
+ | 全文搜索 | 不索引正文 |
33
+ | 知识图谱 | 不抽取 |
34
+ | AI 帮写 / 评论 / 上传 | 本期不做 |
35
+ | 顶栏(域选择、同步等) | 二期再与 Markdown 对齐 |
36
+
37
+ ## 安全注意
38
+
39
+ 预览沙箱初版不允许脚本;外链图片 / CSS 仍可能加载。不要把不可信 HTML 当成可执行页面托管。
40
+
@@ -19,8 +19,20 @@ export function skillSourceToUrl(source) {
19
19
  return null;
20
20
  return `${MDOCS_SITE_DOCS_BASE}/${pathPart}.html`;
21
21
  }
22
- export const AGENT_MODEL_IDS = ["deepseek-v4-flash", "deepseek-v4-pro"];
23
- export const DEFAULT_AGENT_CONTEXT_WINDOW = 128_000;
22
+ export const AGENT_MODEL_IDS = ["deepseek-flash", "deepseek-v4-pro"];
23
+ /** DeepSeek Flash / Pro 官方上下文均为 1M */
24
+ export const DEFAULT_AGENT_CONTEXT_WINDOW = 1_000_000;
25
+ /**
26
+ * 旧模型名仍可调通,但服务端已切到 V4.1 Flash;写入配置时归一到 deepseek-flash。
27
+ * @see https://api-docs.deepseek.com/ (模型名 deepseek-flash)
28
+ */
29
+ const DEEPSEEK_FLASH_ALIASES = new Set([
30
+ "deepseek-flash",
31
+ "deepseek-v4-flash",
32
+ "deepseek-v4-flash-vision-exp",
33
+ "deepseek-v4.1-flash",
34
+ "deepseek-v4.1-flash-expires-on-0910",
35
+ ]);
24
36
  const DEEPSEEK_PRESET = {
25
37
  baseUrl: DEEPSEEK_ENDPOINT,
26
38
  apiType: "openai-completions",
@@ -37,6 +49,17 @@ export function agentProviderLabel(cfg) {
37
49
  export function isAgentModelId(v) {
38
50
  return AGENT_MODEL_IDS.includes(v);
39
51
  }
52
+ /** 将 DeepSeek 官方/历史别名归一为白名单模型 id */
53
+ export function normalizeDeepseekModelId(raw) {
54
+ const id = (raw ?? "").trim();
55
+ if (id === "deepseek-v4-pro")
56
+ return "deepseek-v4-pro";
57
+ if (DEEPSEEK_FLASH_ALIASES.has(id) || id === "deepseek-flash")
58
+ return "deepseek-flash";
59
+ if (isAgentModelId(id))
60
+ return id;
61
+ return "deepseek-flash";
62
+ }
40
63
  export function normalizeContextWindow(value, fallback = DEFAULT_AGENT_CONTEXT_WINDOW) {
41
64
  const n = typeof value === "number" ? value : typeof value === "string" ? Number(value) : NaN;
42
65
  if (!Number.isFinite(n))
@@ -191,9 +214,7 @@ function buildConfigRow(input) {
191
214
  updated_at,
192
215
  };
193
216
  }
194
- const modelId = isAgentModelId(input.modelId ?? existing?.model_id ?? "")
195
- ? (input.modelId ?? existing?.model_id)
196
- : "deepseek-v4-flash";
217
+ const modelId = normalizeDeepseekModelId(input.modelId ?? existing?.model_id);
197
218
  return {
198
219
  id: input.id,
199
220
  owner_visitor_id: input.ownerVisitorId,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/server/agent/Config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/server/agent/Config/config.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ describe("agent model configs", () => {
19
19
  upsertVisitorAgentConfig({
20
20
  ownerVisitorId: "v1",
21
21
  visitorName: "张三",
22
- modelId: "deepseek-v4-flash",
22
+ modelId: "deepseek-flash",
23
23
  apiKey: "sk-test-key",
24
24
  });
25
25
  const cfg = getVisitorAgentConfig("v1");
@@ -55,7 +55,7 @@ describe("agent model configs", () => {
55
55
  const ds = upsertVisitorAgentConfig({
56
56
  ownerVisitorId: "v3",
57
57
  visitorName: "王五",
58
- modelId: "deepseek-v4-flash",
58
+ modelId: "deepseek-flash",
59
59
  apiKey: "sk-ds",
60
60
  });
61
61
  const custom = upsertVisitorAgentConfig({
@@ -80,7 +80,7 @@ describe("agent model configs", () => {
80
80
  const ds = upsertVisitorAgentConfig({
81
81
  ownerVisitorId: "v4",
82
82
  visitorName: "赵六",
83
- modelId: "deepseek-v4-flash",
83
+ modelId: "deepseek-flash",
84
84
  apiKey: "sk-ds",
85
85
  });
86
86
  upsertVisitorAgentConfig({
@@ -96,6 +96,26 @@ describe("agent model configs", () => {
96
96
  expect(getVisitorAgentConfig("v4")?.id).toBe(ds.id);
97
97
  expect(listVisitorAgentConfigs("v4")).toHaveLength(1);
98
98
  });
99
+ it("旧 flash 别名保存时归一为 deepseek-flash", () => {
100
+ const db = new Database(":memory:");
101
+ applySchema(db);
102
+ testDbRef.db = db;
103
+ seedVisitor(db, "v5");
104
+ upsertVisitorAgentConfig({
105
+ ownerVisitorId: "v5",
106
+ visitorName: "钱七",
107
+ modelId: "deepseek-v4-flash",
108
+ apiKey: "sk-legacy",
109
+ });
110
+ expect(getVisitorAgentConfig("v5")?.modelId).toBe("deepseek-flash");
111
+ upsertVisitorAgentConfig({
112
+ ownerVisitorId: "v5",
113
+ visitorName: "钱七",
114
+ modelId: "deepseek-v4.1-flash",
115
+ apiKey: "sk-legacy",
116
+ });
117
+ expect(getVisitorAgentConfig("v5")?.modelId).toBe("deepseek-flash");
118
+ });
99
119
  it("启动迁移会删除 agent_model_configs.display_name 列", () => {
100
120
  const db = new Database(":memory:");
101
121
  applySchema(db);
@@ -1 +1 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../../../src/server/agent/Config/config.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../../../src/server/agent/Config/config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,MAAM,SAAS,GAA8B,EAAE,EAAE,EAAE,IAAK,EAAE,CAAC;AAE3D,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE;CAC1B,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,SAAS,WAAW,CAAC,EAAqB,EAAE,EAAU;QACpD,EAAE,CAAC,OAAO,CACR;2BACqB,CACtB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEtB,wBAAwB,CAAC;YACvB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEtB,wBAAwB,CAAC;YACvB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEtB,MAAM,EAAE,GAAG,wBAAwB,CAAC;YAClC,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,wBAAwB,CAAC;YACtC,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QAEH,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEpD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEtB,MAAM,EAAE,GAAG,wBAAwB,CAAC;YAClC,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QACH,wBAAwB,CAAC;YACvB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAE,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEtB,wBAAwB,CAAC;YACvB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEpE,wBAAwB,CAAC;YACvB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,EAAE,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACxE,WAAW,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAwB,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -13,8 +13,29 @@ import { markDirty, removeIndex, rebuildDocument, } from "../search/document-ind
13
13
  import { getConfig } from "../config/index.js";
14
14
  import { markdownToLexicalJson } from "./markdown-to-lexical.js";
15
15
  import { extractPlainTextFromLexical } from "./lexical-text.js";
16
+ import { FILE_TYPE } from "../../shared/file-types.js";
16
17
  import { getPolicy } from "../../shared/file-type-policy.js";
17
18
  import { onArticleDeleted, onArticleMoved, onArticlePublished, onFolderDeleted, scheduleGraphLifecycle, } from "./graph/lifecycle.js";
19
+ function scheduleFtsIfNeeded(fileType, documentId) {
20
+ const policy = getPolicy(fileType);
21
+ if (!policy?.ftsIndex)
22
+ return;
23
+ markDirty(documentId);
24
+ process.nextTick(() => {
25
+ try {
26
+ rebuildDocument(documentId);
27
+ }
28
+ catch {
29
+ // 定时器会再扫 dirty
30
+ }
31
+ });
32
+ }
33
+ function scheduleGraphIfExtractable(fileType, task) {
34
+ const policy = getPolicy(fileType);
35
+ if (!policy?.graphExtract)
36
+ return;
37
+ scheduleGraphLifecycle(task);
38
+ }
18
39
  // ============================================================
19
40
  // 列文档(域内可见列表)
20
41
  // ============================================================
@@ -74,27 +95,38 @@ export function listFolderChildren(folderId, visitorId) {
74
95
  /**
75
96
  * 规范化文件名:确保文件名有效且以 .md 结尾
76
97
  */
77
- function normalizeFileName(fileName) {
98
+ function normalizeFileName(fileName, fileType) {
78
99
  let normalized = fileName.trim();
79
100
  // 移除路径字符,只保留文件名
80
101
  normalized = normalized.split(/[\\/]/).pop() || "untitled";
81
102
  // 替换非法字符
82
103
  normalized = normalized.replace(/[^\w\u4e00-\u9fa5\-_.]/g, "_");
83
- // 确保以 .md 结尾
84
- if (!normalized.toLowerCase().endsWith(".md")) {
85
- normalized += ".md";
104
+ // fileType 确定目标后缀
105
+ const ext = fileType === FILE_TYPE.HTML ? ".html" : ".md";
106
+ // 确保以正确后缀结尾
107
+ const lower = normalized.toLowerCase();
108
+ if (!lower.endsWith(".md") && !lower.endsWith(".html")) {
109
+ normalized += ext;
86
110
  }
87
111
  // 避免空文件名
88
- if (normalized === ".md") {
89
- normalized = "untitled.md";
112
+ const checkLower = normalized.toLowerCase();
113
+ if (checkLower === ".md" || checkLower === ".html") {
114
+ normalized = "untitled" + ext;
90
115
  }
91
116
  return normalized;
92
117
  }
93
118
  export function createDocument(params) {
94
- // 如果 markdown 格式,先转为 Lexical JSON
95
- const content = params.contentFormat === "markdown"
96
- ? markdownToLexicalJson(params.content)
97
- : params.content;
119
+ const fileType = params.fileType ?? FILE_TYPE.DOCUMENT;
120
+ const policy = getPolicy(fileType);
121
+ if (policy.writeNormalize === "raw" && params.contentFormat === "markdown") {
122
+ throw new DocumentError("BAD_REQUEST", "html 文档不支持 contentFormat=markdown", 400);
123
+ }
124
+ // html 等 raw 类型:内容原样存;md:可 markdown→Lexical
125
+ const content = policy.writeNormalize === "raw"
126
+ ? params.content
127
+ : params.contentFormat === "markdown"
128
+ ? markdownToLexicalJson(params.content)
129
+ : params.content;
98
130
  const cfg = getConfig();
99
131
  const domainId = params.domainId?.trim() || cfg.defaultDomainId;
100
132
  const db = getDb();
@@ -108,7 +140,7 @@ export function createDocument(params) {
108
140
  }
109
141
  // 自动计算 relativePath
110
142
  let relativePath;
111
- const normalizedFileName = normalizeFileName(params.fileName);
143
+ const normalizedFileName = normalizeFileName(params.fileName, fileType);
112
144
  if (!params.parentId) {
113
145
  // 没有 parentId,是域的顶层文件
114
146
  relativePath = normalizedFileName;
@@ -166,7 +198,7 @@ export function createDocument(params) {
166
198
  createdAt: now,
167
199
  updatedAt: now,
168
200
  permission,
169
- fileType: params.fileType ?? "md",
201
+ fileType,
170
202
  parentId: params.parentId ?? null,
171
203
  });
172
204
  insertCommit(db, {
@@ -187,16 +219,8 @@ export function createDocument(params) {
187
219
  });
188
220
  });
189
221
  tx();
190
- // 异步标记并重建索引(不阻塞 API 响应)
191
- markDirty(documentId);
192
- process.nextTick(() => {
193
- try {
194
- rebuildDocument(documentId);
195
- }
196
- catch (err) {
197
- // 忽略索引失败,定时器会再次扫描 dirty
198
- }
199
- });
222
+ // 异步标记并重建索引(仅 ftsIndex 类型)
223
+ scheduleFtsIfNeeded(fileType, documentId);
200
224
  return {
201
225
  documentId,
202
226
  domainId,
@@ -255,11 +279,18 @@ export function getDocument(documentId, visitorId, format) {
255
279
  // 更新文档
256
280
  // ============================================================
257
281
  export function updateDocument(params) {
258
- const content = normalizeDocumentContent(params.content, params.contentFormat);
259
282
  const db = getDb();
260
283
  const row = findDocumentById(db, params.documentId);
261
284
  if (!row)
262
285
  throw new DocumentError("DOC_NOT_FOUND", "文档不存在", 404);
286
+ // html 等 raw:不走 markdown→Lexical
287
+ const policy = getPolicy(row.file_type);
288
+ if (policy.writeNormalize === "raw" && params.contentFormat === "markdown") {
289
+ throw new DocumentError("BAD_REQUEST", "html 文档不支持 contentFormat=markdown", 400);
290
+ }
291
+ const content = policy.writeNormalize === "raw"
292
+ ? params.content
293
+ : normalizeDocumentContent(params.content, params.contentFormat);
263
294
  const domain = findDomainById(db, row.domain_id);
264
295
  const domainPermission = domain?.permission ?? "public";
265
296
  const isMember = !!(domain && isDomainMember(db, domain.domain_id, params.actorVisitorId));
@@ -285,7 +316,9 @@ export function updateDocument(params) {
285
316
  throw new DocumentError("BAD_REQUEST", "merge 发布需要在 version 中提供 localBaseCommitId", 400);
286
317
  }
287
318
  const localSnapshotContent = mergeCtx.localSnapshotContent !== undefined
288
- ? normalizeDocumentContent(mergeCtx.localSnapshotContent, params.contentFormat)
319
+ ? policy.writeNormalize === "raw"
320
+ ? mergeCtx.localSnapshotContent
321
+ : normalizeDocumentContent(mergeCtx.localSnapshotContent, params.contentFormat)
289
322
  : undefined;
290
323
  return publishMergeDocument({
291
324
  row,
@@ -344,16 +377,8 @@ export function updateDocument(params) {
344
377
  });
345
378
  });
346
379
  tx();
347
- markDirty(row.document_id);
348
- process.nextTick(() => {
349
- try {
350
- rebuildDocument(row.document_id);
351
- }
352
- catch (err) {
353
- // ignore
354
- }
355
- });
356
- scheduleGraphLifecycle(() => onArticlePublished({
380
+ scheduleFtsIfNeeded(row.file_type, row.document_id);
381
+ scheduleGraphIfExtractable(row.file_type, () => onArticlePublished({
357
382
  domainId: row.domain_id,
358
383
  documentId: row.document_id,
359
384
  parentId: row.parent_id,
@@ -403,9 +428,9 @@ export function removeDocument(params) {
403
428
  });
404
429
  tx();
405
430
  deleteDocumentFile(row.domain_id, row.relative_path);
406
- // 从全文索引中移除
431
+ // 从全文索引中移除(非 fts 类型也安全 no-op)
407
432
  removeIndex(row.document_id);
408
- scheduleGraphLifecycle(() => onArticleDeleted(hook));
433
+ scheduleGraphIfExtractable(row.file_type, () => onArticleDeleted(hook));
409
434
  }
410
435
  // ============================================================
411
436
  // 移动文档(同域;改 parent_id + relative_path + 磁盘)
@@ -422,8 +447,8 @@ export function moveDocument(params) {
422
447
  if (row.owner_visitor_id !== params.actorVisitorId) {
423
448
  throw new DocumentError("FORBIDDEN", "仅创建者可移动此文件", 403);
424
449
  }
425
- if (row.file_type !== "md") {
426
- throw new DocumentError("INVALID_TYPE", "只能移动文档,不能移动文件夹", 400);
450
+ if (!getPolicy(row.file_type).movable) {
451
+ throw new DocumentError("INVALID_TYPE", "该类型文件不支持移动", 400);
427
452
  }
428
453
  const currentParent = row.parent_id ?? null;
429
454
  const targetParent = params.parentId;
@@ -503,16 +528,8 @@ export function moveDocument(params) {
503
528
  }
504
529
  throw err;
505
530
  }
506
- markDirty(row.document_id);
507
- process.nextTick(() => {
508
- try {
509
- rebuildDocument(row.document_id);
510
- }
511
- catch {
512
- // 定时器会再扫 dirty
513
- }
514
- });
515
- scheduleGraphLifecycle(() => onArticleMoved({
531
+ scheduleFtsIfNeeded(row.file_type, row.document_id);
532
+ scheduleGraphIfExtractable(row.file_type, () => onArticleMoved({
516
533
  domainId: row.domain_id,
517
534
  documentId: row.document_id,
518
535
  oldParentId,
@@ -584,7 +601,7 @@ export function removeFolder(params) {
584
601
  catch {
585
602
  // 盘上可能已不存在
586
603
  }
587
- if (doc.file_type === "md") {
604
+ if (getPolicy(doc.file_type)?.ftsIndex) {
588
605
  removeIndex(doc.document_id);
589
606
  }
590
607
  }
@@ -800,16 +817,8 @@ function publishMergeDocument(params) {
800
817
  });
801
818
  });
802
819
  tx();
803
- markDirty(row.document_id);
804
- process.nextTick(() => {
805
- try {
806
- rebuildDocument(row.document_id);
807
- }
808
- catch {
809
- // ignore
810
- }
811
- });
812
- scheduleGraphLifecycle(() => onArticlePublished({
820
+ scheduleFtsIfNeeded(row.file_type, row.document_id);
821
+ scheduleGraphIfExtractable(row.file_type, () => onArticlePublished({
813
822
  domainId: row.domain_id,
814
823
  documentId: row.document_id,
815
824
  parentId: row.parent_id,