@fgbg/mdocs 0.8.25 → 1.1.0

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 (145) hide show
  1. package/agent-skills/changelog/SKILL.md +43 -1
  2. package/agent-skills/index.json +8 -1
  3. package/agent-skills/usage-knowledge-graph/SKILL.md +126 -0
  4. package/agent-skills/usage-onboarding-ai/SKILL.md +36 -5
  5. package/dist/server/agent/Agent/run.js +60 -34
  6. package/dist/server/agent/Agent/run.js.map +1 -1
  7. package/dist/server/agent/Agent/tools-documents.js +1 -1
  8. package/dist/server/agent/Agent/tools-documents.js.map +1 -1
  9. package/dist/server/agent/Config/config.js +234 -64
  10. package/dist/server/agent/Config/config.js.map +1 -1
  11. package/dist/server/agent/Config/config.test.js +109 -0
  12. package/dist/server/agent/Config/config.test.js.map +1 -0
  13. package/dist/server/app.js +2 -0
  14. package/dist/server/app.js.map +1 -1
  15. package/dist/server/db/repositories/agent-model-config.repo.js +58 -27
  16. package/dist/server/db/repositories/agent-model-config.repo.js.map +1 -1
  17. package/dist/server/db/schema.js +96 -1
  18. package/dist/server/db/schema.js.map +1 -1
  19. package/dist/server/documents/build-graph.e2e.test.js +65 -0
  20. package/dist/server/documents/build-graph.e2e.test.js.map +1 -0
  21. package/dist/server/documents/document.service.js +34 -2
  22. package/dist/server/documents/document.service.js.map +1 -1
  23. package/dist/server/documents/graph/change-ratio.js +29 -0
  24. package/dist/server/documents/graph/change-ratio.js.map +1 -0
  25. package/dist/server/documents/graph/change-ratio.test.js +38 -0
  26. package/dist/server/documents/graph/change-ratio.test.js.map +1 -0
  27. package/dist/server/documents/graph/graph-agent.integration.test.js +95 -0
  28. package/dist/server/documents/graph/graph-agent.integration.test.js.map +1 -0
  29. package/dist/server/documents/graph/graph-agent.js +185 -0
  30. package/dist/server/documents/graph/graph-agent.js.map +1 -0
  31. package/dist/server/documents/graph/graph-file.js +58 -0
  32. package/dist/server/documents/graph/graph-file.js.map +1 -0
  33. package/dist/server/documents/graph/graph-file.test.js +28 -0
  34. package/dist/server/documents/graph/graph-file.test.js.map +1 -0
  35. package/dist/server/documents/graph/index.js +183 -0
  36. package/dist/server/documents/graph/index.js.map +1 -0
  37. package/dist/server/documents/graph/lifecycle.js +104 -0
  38. package/dist/server/documents/graph/lifecycle.js.map +1 -0
  39. package/dist/server/documents/graph/llm-chains.js +135 -0
  40. package/dist/server/documents/graph/llm-chains.js.map +1 -0
  41. package/dist/server/documents/graph/llm-utils.js +19 -0
  42. package/dist/server/documents/graph/llm-utils.js.map +1 -0
  43. package/dist/server/documents/graph/llm-utils.test.js +34 -0
  44. package/dist/server/documents/graph/llm-utils.test.js.map +1 -0
  45. package/dist/server/documents/graph/tools/concept-relations.tool.js +49 -0
  46. package/dist/server/documents/graph/tools/concept-relations.tool.js.map +1 -0
  47. package/dist/server/documents/graph/tools/extract-knowledge-points.tool.js +45 -0
  48. package/dist/server/documents/graph/tools/extract-knowledge-points.tool.js.map +1 -0
  49. package/dist/server/documents/graph/tools/generate-contains.tool.js +41 -0
  50. package/dist/server/documents/graph/tools/generate-contains.tool.js.map +1 -0
  51. package/dist/server/documents/graph/tools/induce-concepts.tool.js +43 -0
  52. package/dist/server/documents/graph/tools/induce-concepts.tool.js.map +1 -0
  53. package/dist/server/documents/graph/types.js +12 -0
  54. package/dist/server/documents/graph/types.js.map +1 -0
  55. package/dist/server/documents/graph/utils.js +41 -0
  56. package/dist/server/documents/graph/utils.js.map +1 -0
  57. package/dist/server/documents/graph/utils.test.js +87 -0
  58. package/dist/server/documents/graph/utils.test.js.map +1 -0
  59. package/dist/server/documents/graph-cache-io.js +254 -0
  60. package/dist/server/documents/graph-cache-io.js.map +1 -0
  61. package/dist/server/documents/graph-lifecycle.js +19 -0
  62. package/dist/server/documents/graph-lifecycle.js.map +1 -0
  63. package/dist/server/documents/graph-task.js +232 -0
  64. package/dist/server/documents/graph-task.js.map +1 -0
  65. package/dist/server/documents/graph.integration.test.js +213 -0
  66. package/dist/server/documents/graph.integration.test.js.map +1 -0
  67. package/dist/server/documents/graph.service.js +296 -0
  68. package/dist/server/documents/graph.service.js.map +1 -0
  69. package/dist/server/documents/markdown-to-lexical.js +111 -13
  70. package/dist/server/documents/markdown-to-lexical.js.map +1 -1
  71. package/dist/server/documents/markdown-to-lexical.test.js +37 -0
  72. package/dist/server/documents/markdown-to-lexical.test.js.map +1 -1
  73. package/dist/server/documents/tree.service.js +12 -6
  74. package/dist/server/documents/tree.service.js.map +1 -1
  75. package/dist/server/migrations/003-folder-desc-file-type.js +43 -0
  76. package/dist/server/migrations/003-folder-desc-file-type.js.map +1 -0
  77. package/dist/server/migrations/004-api-key-to-secrets.js +90 -0
  78. package/dist/server/migrations/004-api-key-to-secrets.js.map +1 -0
  79. package/dist/server/migrations/004-folder-desc-id.js +98 -0
  80. package/dist/server/migrations/004-folder-desc-id.js.map +1 -0
  81. package/dist/server/migrations/005-special-file-id-format.js +124 -0
  82. package/dist/server/migrations/005-special-file-id-format.js.map +1 -0
  83. package/dist/server/routes/agent.routes.js +69 -31
  84. package/dist/server/routes/agent.routes.js.map +1 -1
  85. package/dist/server/routes/assets.routes.js +68 -62
  86. package/dist/server/routes/assets.routes.js.map +1 -1
  87. package/dist/server/routes/assets.routes.upload.test.js +27 -0
  88. package/dist/server/routes/assets.routes.upload.test.js.map +1 -0
  89. package/dist/server/routes/documents.routes.js +1 -1
  90. package/dist/server/routes/documents.routes.js.map +1 -1
  91. package/dist/server/routes/folders.routes.js +2 -2
  92. package/dist/server/routes/folders.routes.js.map +1 -1
  93. package/dist/server/routes/graph.routes.js +112 -0
  94. package/dist/server/routes/graph.routes.js.map +1 -0
  95. package/dist/server/routes/tree.routes.js +1 -1
  96. package/dist/server/routes/tree.routes.js.map +1 -1
  97. package/dist/server/secrets/secrets-store.js +93 -0
  98. package/dist/server/secrets/secrets-store.js.map +1 -0
  99. package/dist/server/storage/paths.js +0 -1
  100. package/dist/server/storage/paths.js.map +1 -1
  101. package/dist/server/task-queue/TaskQueue.js +258 -0
  102. package/dist/server/task-queue/TaskQueue.js.map +1 -0
  103. package/dist/server/task-queue/TaskQueue.test.js +136 -0
  104. package/dist/server/task-queue/TaskQueue.test.js.map +1 -0
  105. package/dist/server/task-queue/index.js +18 -0
  106. package/dist/server/task-queue/index.js.map +1 -0
  107. package/dist/server/task-queue/log-store.js +84 -0
  108. package/dist/server/task-queue/log-store.js.map +1 -0
  109. package/dist/server/task-queue/types.js +5 -0
  110. package/dist/server/task-queue/types.js.map +1 -0
  111. package/dist/shared/docPath.js +3 -2
  112. package/dist/shared/docPath.js.map +1 -1
  113. package/dist/shared/file-types.js +35 -0
  114. package/dist/shared/file-types.js.map +1 -0
  115. package/dist/shared/graph-files.js +31 -0
  116. package/dist/shared/graph-files.js.map +1 -0
  117. package/dist/web/assets/AgentChatPanel-C8TMWDuE.js +6 -0
  118. package/dist/web/assets/AgentSkillFormCard-yk7PWF0W.js +6 -0
  119. package/dist/web/assets/AiWriteWorkbench-ChCJt24m.js +7 -0
  120. package/dist/web/assets/{DiagramEditor-NtNY3sZL-DqPXDJHY.js → DiagramEditor-NtNY3sZL-Bw4wHaBD.js} +1 -1
  121. package/dist/web/assets/DocumentEditor-B3Dsq02C.js +26 -0
  122. package/dist/web/assets/{MergeView-Y3zB8V5p.js → MergeView-royv5YkB.js} +1 -1
  123. package/dist/web/assets/PlaygroundPage-B-_1l4Ix.js +8 -0
  124. package/dist/web/assets/SettingsPage-D8HfepZ8.js +1 -0
  125. package/dist/web/assets/{Toolbar-B36NxaTc.js → Toolbar-BDJ6WABq.js} +16 -21
  126. package/dist/web/assets/{VisitorPickerModal-drnOuPLP.js → VisitorPickerModal-DPKIoySi.js} +1 -1
  127. package/dist/web/assets/{copy-CX8GOyUb.js → copy-UwfRYkpI.js} +1 -1
  128. package/dist/web/assets/{diagram-3lhA7FYR.js → diagram--gCCJK__.js} +545 -545
  129. package/dist/web/assets/index-4TuRcE3b.js +248 -0
  130. package/dist/web/assets/index-C4ESYs7f.css +1 -0
  131. package/dist/web/assets/{meta2dEngine-BD2XbzaV-CCgjRlVJ.js → meta2dEngine-BD2XbzaV-D1J2-XNv.js} +1 -1
  132. package/dist/web/assets/{motion-92iQWeIW.js → motion-DddvD-ez.js} +1 -1
  133. package/dist/web/assets/{plus-BWV299MC.js → plus-CiGwts52.js} +1 -1
  134. package/dist/web/assets/{react-BUhFwPCj.js → react-B99eF5mm.js} +146 -151
  135. package/dist/web/assets/{ui-06fxEgif.js → ui-BHvBMRFE.js} +3 -3
  136. package/dist/web/index.html +5 -4
  137. package/package.json +2 -1
  138. package/dist/web/assets/AgentChatPanel-BTCyf9Ww.js +0 -1
  139. package/dist/web/assets/AgentSkillFormCard-CAD6QqQ0.js +0 -6
  140. package/dist/web/assets/AiWriteWorkbench-PVv90TJS.js +0 -7
  141. package/dist/web/assets/DocumentEditor-zNIJgxe0.js +0 -21
  142. package/dist/web/assets/PlaygroundPage-DAaEm887.js +0 -8
  143. package/dist/web/assets/SettingsPage-DhdiNEhO.js +0 -1
  144. package/dist/web/assets/index-DgM2rYI-.js +0 -185
  145. package/dist/web/assets/index-S_lCknAk.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-model-config.repo.js","sourceRoot":"","sources":["../../../../src/server/db/repositories/agent-model-config.repo.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,2BAA2B,CACzC,EAAqB,EACrB,cAAsB;IAEtB,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,8DAA8D,CAAC;SACvE,GAAG,CAAC,cAAc,CAA6C,CAAC;IACnE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC9C,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAC5B,cAAc,EACZ,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC,cAAc,GAAG,CAAC;YAC9D,CAAC,CAAC,GAAG,CAAC,cAAc;YACpB,CAAC,CAAC,MAAM;QACZ,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAqB,EACrB,GAAwB;IAExB,EAAE,CAAC,OAAO,CACR;;;;;;;;;wCASoC,CACrC,CAAC,GAAG,CACH,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,UAAU,CACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agent-model-config.repo.js","sourceRoot":"","sources":["../../../../src/server/db/repositories/agent-model-config.repo.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,4BAA4B,CAC1C,EAAqB,EACrB,cAAsB;IAEtB,OAAO,EAAE;SACN,OAAO,CACN;;iDAE2C,CAC5C;SACA,GAAG,CAAC,cAAc,CAA0B,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,EAAqB,EACrB,EAAU,EACV,cAAsB;IAEtB,OAAO,EAAE;SACN,OAAO,CAAC,yEAAyE,CAAC;SAClF,GAAG,CAAC,EAAE,EAAE,cAAc,CAAoC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,EAAqB,EACrB,cAAsB;IAEtB,OAAO,CACJ,EAAE;SACA,OAAO,CACN;;iBAES,CACV;SACA,GAAG,CAAC,cAAc,CAAqC;QACzD,EAAE;aACA,OAAO,CACN;;;iBAGS,CACV;aACA,GAAG,CAAC,cAAc,CAAqC,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,EAAqB,EACrB,cAAsB;IAEtB,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,0EAA0E,CAAC;SACnF,GAAG,CAAC,cAAc,CAAkB,CAAC;IACxC,OAAO,GAAG,CAAC,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAqB,EAAE,GAAwB;IACpF,EAAE,CAAC,OAAO,CACR;;;uDAGmD,CACpD,CAAC,GAAG,CACH,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,UAAU,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAqB,EAAE,GAAwB;IACpF,EAAE,CAAC,OAAO,CACR;;;;2CAIuC,CACxC,CAAC,GAAG,CACH,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,gBAAgB,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAqB,EACrB,EAAU,EACV,cAAsB;IAEtB,MAAM,CAAC,GAAG,EAAE;SACT,OAAO,CAAC,uEAAuE,CAAC;SAChF,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,EAAqB,EACrB,cAAsB,EACtB,QAAgB;IAEhB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,EAAE,CAAC,OAAO,CAAC,0EAA0E,CAAC,CAAC,GAAG,CACxF,cAAc,CACf,CAAC;QACF,MAAM,CAAC,GAAG,EAAE;aACT,OAAO,CACN;+CACuC,CACxC;aACA,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,EAAE,EAAE,CAAC;AACP,CAAC"}
@@ -169,12 +169,13 @@ const SCHEMA_STATEMENTS = [
169
169
  `CREATE INDEX IF NOT EXISTS idx_comments_visitor ON document_comments (visitor_id)`,
170
170
  `CREATE TABLE IF NOT EXISTS agent_model_configs (
171
171
  id TEXT PRIMARY KEY,
172
- owner_visitor_id TEXT NOT NULL UNIQUE,
172
+ owner_visitor_id TEXT NOT NULL,
173
173
  name TEXT NOT NULL,
174
174
  provider TEXT NOT NULL DEFAULT 'deepseek',
175
175
  model_id TEXT NOT NULL,
176
176
  api_key TEXT NOT NULL,
177
177
  context_window INTEGER NOT NULL DEFAULT 128000,
178
+ is_default INTEGER NOT NULL DEFAULT 0,
178
179
  updated_at TEXT NOT NULL,
179
180
  FOREIGN KEY (owner_visitor_id) REFERENCES visitors(visitor_id) ON DELETE CASCADE
180
181
  )`,
@@ -209,6 +210,9 @@ export function applySchema(db) {
209
210
  migrateVisitorsPasswordHash(db);
210
211
  migrateVisitorSessions(db);
211
212
  migrateAgentModelConfigContextWindow(db);
213
+ migrateAgentModelConfigProviderFields(db);
214
+ migrateAgentModelConfigDropDisplayName(db);
215
+ migrateAgentModelConfigMultiDefault(db);
212
216
  ensureDefaultDomain(db);
213
217
  });
214
218
  tx();
@@ -385,4 +389,95 @@ function migrateAgentModelConfigContextWindow(db) {
385
389
  return;
386
390
  db.exec(`ALTER TABLE agent_model_configs ADD COLUMN context_window INTEGER NOT NULL DEFAULT 128000`);
387
391
  }
392
+ const DEEPSEEK_PRESET_COMPAT = JSON.stringify({
393
+ supportsDeveloperRole: false,
394
+ supportsReasoningEffort: false,
395
+ });
396
+ /** agent_model_configs:提供方扩展列 + 旧行 backfill */
397
+ function migrateAgentModelConfigProviderFields(db) {
398
+ const rows = db.prepare(`PRAGMA table_info(agent_model_configs)`).all();
399
+ if (rows.length === 0)
400
+ return;
401
+ if (!rows.some((r) => r.name === "kind")) {
402
+ db.exec(`ALTER TABLE agent_model_configs ADD COLUMN kind TEXT NOT NULL DEFAULT 'deepseek'`);
403
+ }
404
+ if (!rows.some((r) => r.name === "provider_id")) {
405
+ db.exec(`ALTER TABLE agent_model_configs ADD COLUMN provider_id TEXT`);
406
+ }
407
+ if (!rows.some((r) => r.name === "base_url")) {
408
+ db.exec(`ALTER TABLE agent_model_configs ADD COLUMN base_url TEXT`);
409
+ }
410
+ if (!rows.some((r) => r.name === "api_type")) {
411
+ db.exec(`ALTER TABLE agent_model_configs ADD COLUMN api_type TEXT NOT NULL DEFAULT 'openai-completions'`);
412
+ }
413
+ if (!rows.some((r) => r.name === "compat_json")) {
414
+ db.exec(`ALTER TABLE agent_model_configs ADD COLUMN compat_json TEXT`);
415
+ }
416
+ db.prepare(`UPDATE agent_model_configs SET
417
+ kind = COALESCE(NULLIF(kind, ''), 'deepseek'),
418
+ base_url = COALESCE(NULLIF(base_url, ''), 'https://api.deepseek.com'),
419
+ api_type = COALESCE(NULLIF(api_type, ''), 'openai-completions'),
420
+ compat_json = COALESCE(compat_json, ?)
421
+ WHERE base_url IS NULL OR base_url = ''`).run(DEEPSEEK_PRESET_COMPAT);
422
+ }
423
+ /** 移除 agent_model_configs.display_name(已废弃,展示名由 kind/provider_id/name 推导) */
424
+ function migrateAgentModelConfigDropDisplayName(db) {
425
+ const rows = db.prepare(`PRAGMA table_info(agent_model_configs)`).all();
426
+ if (rows.length === 0)
427
+ return;
428
+ if (!rows.some((r) => r.name === "display_name"))
429
+ return;
430
+ db.exec(`ALTER TABLE agent_model_configs DROP COLUMN display_name`);
431
+ }
432
+ /** 一访客多配置:去掉 owner UNIQUE,增加 is_default */
433
+ function migrateAgentModelConfigMultiDefault(db) {
434
+ const cols = db.prepare(`PRAGMA table_info(agent_model_configs)`).all();
435
+ if (cols.length === 0)
436
+ return;
437
+ const hasIsDefault = cols.some((c) => c.name === "is_default");
438
+ const indexes = db.prepare(`PRAGMA index_list(agent_model_configs)`).all();
439
+ const hasOwnerUnique = indexes.some((idx) => idx.unique === 1 && idx.name.startsWith("sqlite_autoindex_agent_model_configs"));
440
+ if (hasIsDefault && !hasOwnerUnique) {
441
+ db.exec(`CREATE UNIQUE INDEX IF NOT EXISTS idx_agent_model_configs_owner_default
442
+ ON agent_model_configs(owner_visitor_id) WHERE is_default = 1`);
443
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_agent_model_configs_owner
444
+ ON agent_model_configs(owner_visitor_id)`);
445
+ return;
446
+ }
447
+ db.exec(`CREATE TABLE agent_model_configs_new (
448
+ id TEXT PRIMARY KEY,
449
+ owner_visitor_id TEXT NOT NULL,
450
+ name TEXT NOT NULL,
451
+ provider TEXT NOT NULL DEFAULT 'deepseek',
452
+ kind TEXT NOT NULL DEFAULT 'deepseek',
453
+ provider_id TEXT,
454
+ base_url TEXT,
455
+ api_type TEXT NOT NULL DEFAULT 'openai-completions',
456
+ compat_json TEXT,
457
+ model_id TEXT NOT NULL,
458
+ api_key TEXT NOT NULL,
459
+ context_window INTEGER NOT NULL DEFAULT 128000,
460
+ is_default INTEGER NOT NULL DEFAULT 0,
461
+ updated_at TEXT NOT NULL,
462
+ FOREIGN KEY (owner_visitor_id) REFERENCES visitors(visitor_id) ON DELETE CASCADE
463
+ )`);
464
+ db.exec(`INSERT INTO agent_model_configs_new
465
+ (id, owner_visitor_id, name, provider, kind, provider_id, base_url, api_type,
466
+ compat_json, model_id, api_key, context_window, is_default, updated_at)
467
+ SELECT
468
+ id, owner_visitor_id, name, provider,
469
+ COALESCE(kind, 'deepseek'),
470
+ provider_id, base_url,
471
+ COALESCE(api_type, 'openai-completions'),
472
+ compat_json, model_id, api_key,
473
+ COALESCE(context_window, 128000),
474
+ 1,
475
+ updated_at
476
+ FROM agent_model_configs`);
477
+ db.exec(`DROP TABLE agent_model_configs`);
478
+ db.exec(`ALTER TABLE agent_model_configs_new RENAME TO agent_model_configs`);
479
+ db.exec(`CREATE UNIQUE INDEX idx_agent_model_configs_owner_default
480
+ ON agent_model_configs(owner_visitor_id) WHERE is_default = 1`);
481
+ db.exec(`CREATE INDEX idx_agent_model_configs_owner ON agent_model_configs(owner_visitor_id)`);
482
+ }
388
483
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/server/db/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/server/db/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * buildGraphByDocId 端到端集成测试。
3
+ *
4
+ * 用本地真实的 mdocs 数据(~/.mdocs/),完整跑一遍图谱构建流程:
5
+ * - 读文档内容
6
+ * - AI 提取 doc 节点
7
+ * - 归纳 concept 节点
8
+ * - 生成 contains 关系
9
+ * - 写入图谱隐藏文件
10
+ *
11
+ * 默认跳过(.skip),需要手动运行:
12
+ * pnpm vitest run build-graph.e2e.test.ts
13
+ *
14
+ * 运行前确认:
15
+ * 1. ~/.mdocs/ 有数据
16
+ * 2. ~/.claude/settings.json 配置正确
17
+ * 3. 把下面的 TEST_DOC_ID 换成你想测试的文档/目录 ID
18
+ */
19
+ import fs from "node:fs/promises";
20
+ import os from "node:os";
21
+ import path from "node:path";
22
+ import { describe, it, expect } from "vitest";
23
+ import { buildGraphByDocId } from "./graph.service.js";
24
+ // 换成你要测试的文档或目录 ID
25
+ const TEST_DOC_ID = "a513302a-7dda-4b68-a47c-06e4f5280ac6.folder-desc";
26
+ /** 从 ~/.claude/settings.json 读取 Agent 配置(测试用) */
27
+ async function loadAgentConfig() {
28
+ const settingsPath = path.join(os.homedir(), ".claude", "settings.json");
29
+ const raw = await fs.readFile(settingsPath, "utf-8");
30
+ const settings = JSON.parse(raw);
31
+ const env = settings.env ?? {};
32
+ const baseUrl = env.ANTHROPIC_BASE_URL;
33
+ const apiKey = env.ANTHROPIC_AUTH_TOKEN;
34
+ const modelId = settings.model ?? "ddmc";
35
+ if (!baseUrl || !apiKey) {
36
+ throw new Error("settings.json 中缺少 ANTHROPIC_BASE_URL 或 ANTHROPIC_AUTH_TOKEN");
37
+ }
38
+ return { baseUrl, apiKey, modelId };
39
+ }
40
+ describe("buildGraphByDocId 端到端测试", () => {
41
+ it("可以正常构建图谱", async () => {
42
+ const agentConfig = await loadAgentConfig();
43
+ console.log(`开始构建图谱,docId: ${TEST_DOC_ID}...`);
44
+ const graph = await buildGraphByDocId(TEST_DOC_ID, agentConfig);
45
+ console.log(`构建完成!`);
46
+ console.log(` 节点数:${graph.nodes.length}`);
47
+ console.log(` 边数:${graph.edges.length}`);
48
+ console.log(` doc 节点:${graph.nodes.filter((n) => n.type === "doc").length}`);
49
+ console.log(` concept 节点:${graph.nodes.filter((n) => n.type === "concept").length}`);
50
+ // 打印前 3 个节点看看
51
+ console.log("\n前 3 个节点:");
52
+ for (const node of graph.nodes.slice(0, 3)) {
53
+ console.log(` [${node.type}] ${node.label} — ${node.description.slice(0, 50)}...`);
54
+ }
55
+ // 打印前 3 条边看看
56
+ if (graph.edges.length > 0) {
57
+ console.log("\n前 3 条边:");
58
+ for (const edge of graph.edges.slice(0, 3)) {
59
+ console.log(` ${edge.from} → ${edge.to} (${edge.type}, ${edge.confidence})`);
60
+ }
61
+ }
62
+ expect(graph.nodes.length).toBeGreaterThan(0);
63
+ });
64
+ });
65
+ //# sourceMappingURL=build-graph.e2e.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-graph.e2e.test.js","sourceRoot":"","sources":["../../../src/server/documents/build-graph.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ 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 { onArticleDeleted, onArticleMoved, onArticlePublished, onFolderDeleted, scheduleGraphLifecycle, } from "./graph/lifecycle.js";
16
17
  // ============================================================
17
18
  // 列文档(域内可见列表)
18
19
  // ============================================================
@@ -340,6 +341,11 @@ export function updateDocument(params) {
340
341
  // ignore
341
342
  }
342
343
  });
344
+ scheduleGraphLifecycle(() => onArticlePublished({
345
+ domainId: row.domain_id,
346
+ documentId: row.document_id,
347
+ parentId: row.parent_id,
348
+ }));
343
349
  // 写后直接返回最新 DocumentDetail(而非要求前端再 GET):
344
350
  // 1) 降低竞争态:避免 PUT 与后续 GET 间隙被他人再次推进 head;
345
351
  // 2) 单一真相:以后端实际落库结果为准(权限、head、invite 派生字段等)。
@@ -366,6 +372,11 @@ export function removeDocument(params) {
366
372
  if (row.owner_visitor_id !== params.actorVisitorId) {
367
373
  throw new DocumentError("FORBIDDEN", "仅创建者可删除此文档", 403);
368
374
  }
375
+ const hook = {
376
+ domainId: row.domain_id,
377
+ documentId: row.document_id,
378
+ parentId: row.parent_id,
379
+ };
369
380
  const now = new Date().toISOString();
370
381
  const tx = db.transaction(() => {
371
382
  deleteDocument(db, row.document_id);
@@ -382,6 +393,7 @@ export function removeDocument(params) {
382
393
  deleteDocumentFile(row.domain_id, row.relative_path);
383
394
  // 从全文索引中移除
384
395
  removeIndex(row.document_id);
396
+ scheduleGraphLifecycle(() => onArticleDeleted(hook));
385
397
  }
386
398
  // ============================================================
387
399
  // 移动文档(同域;改 parent_id + relative_path + 磁盘)
@@ -433,6 +445,7 @@ export function moveDocument(params) {
433
445
  }
434
446
  const now = new Date().toISOString();
435
447
  const oldPath = row.relative_path;
448
+ const oldParentId = currentParent;
436
449
  const pathChanged = oldPath !== newRelativePath;
437
450
  if (pathChanged) {
438
451
  try {
@@ -487,6 +500,12 @@ export function moveDocument(params) {
487
500
  // 定时器会再扫 dirty
488
501
  }
489
502
  });
503
+ scheduleGraphLifecycle(() => onArticleMoved({
504
+ domainId: row.domain_id,
505
+ documentId: row.document_id,
506
+ oldParentId,
507
+ newParentId,
508
+ }));
490
509
  return getDocument(params.documentId, params.actorVisitorId);
491
510
  }
492
511
  // ============================================================
@@ -528,6 +547,8 @@ export function removeFolder(params) {
528
547
  }
529
548
  const now = new Date().toISOString();
530
549
  const deletedIds = [];
550
+ const parentOfFolder = folder.parent_id;
551
+ const domainId = folder.domain_id;
531
552
  const tx = db.transaction(() => {
532
553
  for (const doc of allToDelete) {
533
554
  deleteDocument(db, doc.document_id);
@@ -543,13 +564,19 @@ export function removeFolder(params) {
543
564
  }
544
565
  });
545
566
  tx();
546
- // 删除磁盘文件和索引(只删 md 文件有内容的,dir 类型不写磁盘)
567
+ // 磁盘:有文件就删(dir / graph_dir 通常无独立文件,exists 检查后 noop)
547
568
  for (const doc of allToDelete) {
548
- if (doc.file_type === "md") {
569
+ try {
549
570
  deleteDocumentFile(doc.domain_id, doc.relative_path);
571
+ }
572
+ catch {
573
+ // 盘上可能已不存在
574
+ }
575
+ if (doc.file_type === "md") {
550
576
  removeIndex(doc.document_id);
551
577
  }
552
578
  }
579
+ scheduleGraphLifecycle(() => onFolderDeleted({ domainId, parentId: parentOfFolder }));
553
580
  return { deletedCount: allToDelete.length };
554
581
  }
555
582
  // ============================================================
@@ -770,6 +797,11 @@ function publishMergeDocument(params) {
770
797
  // ignore
771
798
  }
772
799
  });
800
+ scheduleGraphLifecycle(() => onArticlePublished({
801
+ domainId: row.domain_id,
802
+ documentId: row.document_id,
803
+ parentId: row.parent_id,
804
+ }));
773
805
  // merge 发布同样采用“写后即返回最新资源”:
774
806
  // - 避免前端二次查询引入时序偏差;
775
807
  // - 确保 UI 使用服务端合并后的最终状态作为唯一真相。
@@ -1 +1 @@
1
- {"version":3,"file":"document.service.js","sourceRoot":"","sources":["../../../src/server/documents/document.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.service.js","sourceRoot":"","sources":["../../../src/server/documents/document.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EACL,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,EAEf,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,eAAe,EACf,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAQ7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,+DAA+D;AAC/D,eAAe;AACf,+DAA+D;AAE/D,MAAM,UAAU,aAAa,CAC3B,QAAiB,EACjB,SAAyB;IAEzB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,eAAe,CAAC;IAC1D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,gBAAgB,GAAG,MAAM,EAAE,UAAU,IAAI,QAAQ,CAAC;IACxD,MAAM,QAAQ,GAAG,CAAC,CAAC,CACjB,SAAS;QACT,MAAM;QACN,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAChD,CAAC;IACF,MAAM,UAAU,GAAqB;QACnC,gBAAgB;QAChB,cAAc,EAAE,QAAQ;KACzB,CAAC;IAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,eAAe,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,EAAE,UAAU,CAAC,CAClD,CAAC;IACF,OAAO,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,+DAA+D;AAC/D,aAAa;AACb,+DAA+D;AAE/D,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,SAAyB;IAEzB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,mBAAmB;IACnB,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5E,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,gBAAgB,GAAG,MAAM,EAAE,UAAU,IAAI,QAAQ,CAAC;IACxD,MAAM,QAAQ,GAAG,CAAC,CAAC,CACjB,SAAS;QACT,MAAM;QACN,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAChD,CAAC;IACF,MAAM,UAAU,GAAqB;QACnC,gBAAgB;QAChB,cAAc,EAAE,QAAQ;KACzB,CAAC;IAEF,iBAAiB;IACjB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY;IACZ,MAAM,QAAQ,GAAG,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACrC,eAAe,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,EAAE,UAAU,CAAC,CAClD,CAAC;IACF,OAAO,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,+DAA+D;AAC/D,QAAQ;AACR,+DAA+D;AAE/D;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEjC,gBAAgB;IAChB,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC;IAE3D,SAAS;IACT,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;IAEhE,aAAa;IACb,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,UAAU,IAAI,KAAK,CAAC;IACtB,CAAC;IAED,SAAS;IACT,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,UAAU,GAAG,aAAa,CAAC;IAC7B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAW9B;IACC,kCAAkC;IAClC,MAAM,OAAO,GACX,MAAM,CAAC,aAAa,KAAK,UAAU;QACjC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACrB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,eAAe,CAAC;IAChE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,SAAS,GAAG,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAChC,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,CAAC,cAAc,CACtB,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,oBAAoB;IACpB,IAAI,YAAoB,CAAC;IACzB,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,sBAAsB;QACtB,YAAY,GAAG,kBAAkB,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,wBAAwB;QACxB,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChD,MAAM,IAAI,aAAa,CACrB,gBAAgB,EAChB,iBAAiB,EACjB,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,gBAAgB;QAChB,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC,aAAa;YACzB,CAAC,CAAC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC;QAClC,YAAY,GAAG,UAAU,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,iBAAiB,GACrB,QAAQ,KAAK,MAAM,CAAC,cAAc;QAChC,CAAC,CAAC,UAAU,CAAC,OAAO;QACpB,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,YAAY;YACrC,CAAC,CAAC,UAAU,CAAC,WAAW;YACxB,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;IAE/B,IAAI,UAAkB,CAAC;IACvB,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,aAAa,CACrB,oBAAoB,EACpB,OAAO,SAAS,CAAC,UAAU,WAAW,MAAM,CAAC,UAAU,EAAE,EACzD,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,iBAAiB,CAAC;IACjC,CAAC;IAED,6BAA6B;IAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7D,kCAAkC;IAClC,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEzD,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,cAAc,CAAC,EAAE,EAAE;YACjB,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,SAAS,EAAE,MAAM,CAAC,cAAc;YAChC,SAAS,EAAE,MAAM,CAAC,cAAc;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,UAAU;YACV,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;SAClC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,EAAE;YACf,QAAQ;YACR,UAAU;YACV,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,MAAM,CAAC,cAAc;YACtC,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,cAAc,CAAC,EAAE,EAAE;YACjB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,iBAAiB;YACzB,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YAC9C,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,EAAE,CAAC;IAEL,wBAAwB;IACxB,SAAS,CAAC,UAAU,CAAC,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC;YACH,eAAe,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,wBAAwB;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,SAAS,EAAE,MAAM,CAAC,cAAc;QAChC,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,OAAO;QACP,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU;QACV,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,YAAY,EAAE,QAAQ;KACvB,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D,MAAM,UAAU,WAAW,CACzB,UAAkB,EAClB,SAAyB,EACzB,MAAwB;IAExB,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,YAAY,CAC3C,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,aAAa,CAClB,CAAC;IACF,mBAAmB;IACnB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,SAAS,IAAI,GAAG,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAClE,WAAW,GAAG,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC;IAC9C,CAAC;IACD,8BAA8B;IAC9B,MAAM,YAAY,GAAG,MAAM,KAAK,MAAM;QACpC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC;QACtC,CAAC,CAAC,OAAO,CAAC;IACZ,OAAO;QACL,GAAG,YAAY,CAAC,GAAG,CAAC;QACpB,OAAO,EAAE,YAAY;QACrB,WAAW;QACX,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,QAAQ;AACR,+DAA+D;AAE/D,MAAM,UAAU,cAAc,CAAC,MAU9B;IACC,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/E,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,EAAE,UAAU,IAAI,QAAQ,CAAC;IACxD,MAAM,QAAQ,GAAG,CAAC,CAAC,CACjB,MAAM,IAAI,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,CACtE,CAAC;IACF,MAAM,UAAU,GAAqB;QACnC,gBAAgB;QAChB,cAAc,EAAE,QAAQ;KACzB,CAAC;IACF,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,IACE,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,EAC9D,CAAC;QACD,MAAM,IAAI,aAAa,CACrB,oBAAoB,EACpB,OAAO,gBAAgB,WAAW,MAAM,CAAC,UAAU,EAAE,EACrD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,CAAC;IAEhC,qCAAqC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,aAAa,CACrB,aAAa,EACb,2CAA2C,EAC3C,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,oBAAoB,GACxB,QAAQ,CAAC,oBAAoB,KAAK,SAAS;YACzC,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,aAAa,CAAC;YAC/E,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,oBAAoB,CAAC;YAC1B,GAAG;YACH,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,OAAO;YACP,WAAW;YACX,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,iBAAiB;YACjB,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,oBAAoB;YACpB,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,uBAAuB,CAAC,EAAE,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEzD,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,qBAAqB,CAAC,EAAE,EAAE;YACxB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,WAAW;YACX,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,MAAM,CAAC,cAAc;YAChC,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,EAAE;YACf,QAAQ;YACR,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,MAAM,CAAC,cAAc;YACtC,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,iCAAiC;QACjC,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACvB,kBAAkB,CAAC,EAAE,EAAE;gBACrB,aAAa,EAAE,QAAQ;gBACvB,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CAAC;QACL,CAAC;QACD,wBAAwB,CAAC,EAAE,EAAE;YAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM,CAAC,cAAc;YAChC,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,cAAc,CAAC,EAAE,EAAE;YACjB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,iBAAiB;YACzB,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,GAAG,CAAC,WAAW;YACzB,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YAChC,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,EAAE,CAAC;IAEL,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC;YACH,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB,CAAC,GAAG,EAAE,CAC1B,kBAAkB,CAAC;QACjB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;KACxB,CAAC,CACH,CAAC;IAEF,wCAAwC;IACxC,0CAA0C;IAC1C,6CAA6C;IAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3E,OAAO,mBAAmB,CAAC,GAAG,EAAE;QAC9B,WAAW;QACX,OAAO;QACP,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,MAAM,CAAC,cAAc;QAChC,SAAS,EAAE,GAAG;QACd,UAAU,EACR,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU;QACtE,YAAY,EAAE,QAAQ;QACtB,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,+DAA+D;AAC/D,QAAQ;AACR,+DAA+D;AAE/D,MAAM,UAAU,cAAc,CAAC,MAG9B;IACC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC,cAAc,EAAE,CAAC;QACnD,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;KACxB,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,cAAc,CAAC,EAAE,EAAE;YACjB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,iBAAiB;YACzB,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,GAAG,CAAC,WAAW;YACzB,QAAQ,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE;YAC7C,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,EAAE,CAAC;IACL,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IACrD,WAAW;IACX,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B,sBAAsB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,+DAA+D;AAC/D,6CAA6C;AAC7C,+DAA+D;AAE/D,SAAS,oBAAoB,CAAC,YAAoB;IAChD,MAAM,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAI5B;IACC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC,cAAc,EAAE,CAAC;QACnD,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;IACrC,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,WAA0B,CAAC;IAC/B,IAAI,eAAuB,CAAC;IAC5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAEzD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,WAAW,GAAG,IAAI,CAAC;QACnB,eAAe,GAAG,QAAQ,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChD,MAAM,IAAI,aAAa,CACrB,gBAAgB,EAChB,iBAAiB,EACjB,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,WAAW,GAAG,YAAY,CAAC;QAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC;QAC5B,eAAe,GAAG,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACxE,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC;IAClC,MAAM,WAAW,GAAG,aAAa,CAAC;IAClC,MAAM,WAAW,GAAG,OAAO,KAAK,eAAe,CAAC;IAEhD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAC7B,sBAAsB,CAAC,EAAE,EAAE;gBACzB,UAAU,EAAE,GAAG,CAAC,WAAW;gBAC3B,QAAQ,EAAE,WAAW;gBACrB,YAAY,EAAE,eAAe;gBAC7B,SAAS,EAAE,MAAM,CAAC,cAAc;gBAChC,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YACH,cAAc,CAAC,EAAE,EAAE;gBACjB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,MAAM,EAAE,eAAe;gBACvB,UAAU,EAAE,UAAU;gBACtB,QAAQ,EAAE,GAAG,CAAC,WAAW;gBACzB,QAAQ,EAAE;oBACR,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,eAAe;oBAC/B,QAAQ,EAAE,WAAW;iBACtB;gBACD,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;QACH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC;YACH,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB,CAAC,GAAG,EAAE,CAC1B,cAAc,CAAC;QACb,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,WAAW;QACX,WAAW;KACZ,CAAC,CACH,CAAC;IAEF,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/D,CAAC;AAED,+DAA+D;AAC/D,yBAAyB;AACzB,+DAA+D;AAE/D,MAAM,UAAU,YAAY,CAAC,MAG5B;IACC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,IAAI,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAEpE,qCAAqC;IACrC,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,cAAc,EAAE,CAAC;QACtD,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,aAAa,GAAG,CAAC;IAE9C,8BAA8B;IAC9B,MAAM,OAAO,GAAG,yBAAyB,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAE5E,SAAS;IACT,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;IAEzC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAEzD,kBAAkB;IAClB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC;IACzF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,CACrB,WAAW,EACX,QAAQ,QAAQ,CAAC,MAAM,eAAe,EACtC,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAElC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,cAAc,CAAC,EAAE,EAAE;gBACjB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,MAAM,EAAE,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB;gBACrE,UAAU,EAAE,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;gBAC3D,QAAQ,EAAE,GAAG,CAAC,WAAW;gBACzB,QAAQ,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE;gBACpE,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,EAAE,EAAE,CAAC;IAEL,oDAAoD;IACpD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC3B,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,EAAE,CAC1B,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CACxD,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED,+DAA+D;AAC/D,QAAQ;AACR,+DAA+D;AAE/D,MAAM,UAAU,iBAAiB,CAC/B,cAAsB,EACtB,UAAkB,EAClB,eAAuB,EACvB,gBAAwB;IAExB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,gBAAgB,KAAK,cAAc,EAAE,CAAC;QAC5C,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,MAAM,IAAI,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,aAAa,CACrB,aAAa,EACb,wBAAwB,EACxB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,cAAsB,EACtB,UAAkB,EAClB,eAAuB;IAEvB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,gBAAgB,KAAK,cAAc,EAAE,CAAC;QAC5C,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,oBAAoB,CAAC,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAkB;IAElB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,+DAA+D;AAC/D,QAAQ;AACR,+DAA+D;AAE/D,kBAAkB;AAElB,SAAS,YAAY,CAAC,GAAgB;IACpC,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,cAAc,EAAE,GAAG,CAAC,gBAAgB;QACpC,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,SAAS,mBAAmB,CAC1B,GAAgB,EAChB,SASC;IAED,OAAO;QACL,GAAG,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QACnE,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,GAAgB,EAChB,aAAqB,EACrB,iBAAyB;IAEzB,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,eAAe,EAAE,GAAG,EAAE;QAChE,YAAY,EAAE,GAAG,CAAC,cAAc;QAChC,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,iBAAiB;KAC/B,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAC9B,EAA4B,EAC5B,GAAgB,EAChB,iBAAqC;IAErC,6CAA6C;IAC7C,8BAA8B;IAC9B,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO;IAEtD,wDAAwD;IACxD,IAAI,iBAAiB,KAAK,GAAG,CAAC,cAAc;QAAE,OAAO;IAErD,gEAAgE;IAChE,6BAA6B,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAChF,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,oBAAoB,CAAC,MAW7B;IACC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAClE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,oEAAoE;IACpE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IACD,4BAA4B;IAC5B,IAAI,MAAM,CAAC,cAAc,KAAK,GAAG,CAAC,cAAc,EAAE,CAAC;QACjD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,YAAY,CAC1D,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,aAAa,CAClB,CAAC;QACF,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,6BAA6B,CAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7E,6BAA6B,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1E,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAErE,wCAAwC;IACxC,MAAM,YAAY,GAAG,MAAM,CAAC,oBAAoB,IAAI,OAAO,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;IACvF,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,aAAa;IAC1E,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB;IAEvF,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;IAEnC;;;;;;;;;OASG;IACH,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,0BAA0B;QAC1B,YAAY;QACZ,YAAY,CAAC,EAAE,EAAE;YACf,QAAQ,EAAE,aAAa;YACvB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,eAAe,EAAE,cAAc;YAC/B,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,kBAAkB,CAAC,EAAE,EAAE;YACrB,aAAa,EAAE,aAAa;YAC5B,cAAc,EAAE,MAAM,CAAC,iBAAiB;SACzC,CAAC,CAAC;QAEH,qBAAqB,CAAC,EAAE,EAAE;YACxB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,WAAW;YACX,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,kCAAkC;QAClC,YAAY,CAAC,EAAE,EAAE;YACf,QAAQ,EAAE,aAAa;YACvB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,eAAe,EAAE,cAAc;YAC/B,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,2CAA2C;QAC3C,eAAe;QACf,kBAAkB,CAAC,EAAE,EAAE;YACrB,aAAa,EAAE,aAAa;YAC5B,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC,CAAC;QACH,gBAAgB;QAChB,kBAAkB,CAAC,EAAE,EAAE;YACrB,aAAa,EAAE,aAAa;YAC5B,cAAc,EAAE,aAAa;SAC9B,CAAC,CAAC;QACH,wBAAwB,CAAC,EAAE,EAAE;YAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,YAAY,EAAE,aAAa;YAC3B,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,cAAc,CAAC,EAAE,EAAE;YACjB,cAAc;YACd,MAAM,EAAE,gBAAgB;YACxB,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,GAAG,CAAC,WAAW;YACzB,QAAQ,EAAE;gBACR,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,aAAa;gBACb,aAAa;aACd;YACD,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,EAAE,CAAC;IAEL,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC;YACH,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB,CAAC,GAAG,EAAE,CAC1B,kBAAkB,CAAC;QACjB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;KACxB,CAAC,CACH,CAAC;IAEF,2BAA2B;IAC3B,oBAAoB;IACpB,+BAA+B;IAC/B,MAAM,WAAW,GAAG,sBAAsB,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IACpE,OAAO,mBAAmB,CAAC,GAAG,EAAE;QAC9B,WAAW;QACX,OAAO;QACP,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,GAAG;QACd,UAAU,EACR,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU;QACtE,YAAY,EAAE,aAAa;QAC3B,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAuB,EACvB,YAAoB;IAEpB,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY,CAAC;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;AACpD,CAAC;AAED,uCAAuC;AACvC,SAAS,wBAAwB,CAC/B,OAAe,EACf,aAAsC;IAEtC,OAAO,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACjF,CAAC;AAED,SAAS,sBAAsB,CAC7B,EAA4B,EAC5B,GAAgB,EAChB,cAAsB;IAEtB,IAAI,GAAG,CAAC,gBAAgB,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACvE,OAAO,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC;AACvC,CAAC;AAED,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,iBAAqC;IAErC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC;IAChC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,IAAI,YAAY,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,iBAAyB,EACzB,cAAsB;IAEtB,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAEjE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,6BAA6B,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACjE,6BAA6B,CAAC,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAE9D,IAAI,iBAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,iBAAiB,GAAG,qBAAqB,CAAC,EAAE,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,sBAAsB,CAAC,MAItC;IACC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IACrD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QAC1D,OAAO,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 两段正文的行级变化率:ratio = (added + removed) / max(oldLines, 1)
3
+ */
4
+ export const DEFAULT_GRAPH_DIRTY_RATIO = 0.15;
5
+ export function changeRatio(oldText, newText) {
6
+ const a = oldText === "" ? [] : oldText.split("\n");
7
+ const b = newText === "" ? [] : newText.split("\n");
8
+ const { added, removed } = lineEditCounts(a, b);
9
+ return (added + removed) / Math.max(a.length, 1);
10
+ }
11
+ /** 基于 LCS 的行增删统计 */
12
+ export function lineEditCounts(oldLines, newLines) {
13
+ const m = oldLines.length;
14
+ const n = newLines.length;
15
+ const dp = Array.from({ length: m + 1 }, () => Array.from({ length: n + 1 }, () => 0));
16
+ for (let i = 1; i <= m; i++) {
17
+ for (let j = 1; j <= n; j++) {
18
+ if (oldLines[i - 1] === newLines[j - 1]) {
19
+ dp[i][j] = dp[i - 1][j - 1] + 1;
20
+ }
21
+ else {
22
+ dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
23
+ }
24
+ }
25
+ }
26
+ const lcs = dp[m][n];
27
+ return { removed: m - lcs, added: n - lcs };
28
+ }
29
+ //# sourceMappingURL=change-ratio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-ratio.js","sourceRoot":"","sources":["../../../../src/server/documents/graph/change-ratio.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,OAAe;IAC1D,MAAM,CAAC,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,cAAc,CAC5B,QAAkB,EAClB,QAAkB;IAElB,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1B,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CACxD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CACvC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { changeRatio, lineEditCounts } from "./change-ratio.js";
3
+ describe("lineEditCounts", () => {
4
+ it("identical → 0", () => {
5
+ expect(lineEditCounts(["a", "b"], ["a", "b"])).toEqual({
6
+ added: 0,
7
+ removed: 0,
8
+ });
9
+ });
10
+ it("one line replaced", () => {
11
+ expect(lineEditCounts(["a", "b"], ["a", "c"])).toEqual({
12
+ added: 1,
13
+ removed: 1,
14
+ });
15
+ });
16
+ it("append lines", () => {
17
+ expect(lineEditCounts(["a"], ["a", "b", "c"])).toEqual({
18
+ added: 2,
19
+ removed: 0,
20
+ });
21
+ });
22
+ });
23
+ describe("changeRatio", () => {
24
+ it("empty old uses denominator 1", () => {
25
+ expect(changeRatio("", "hello")).toBe(1);
26
+ });
27
+ it("small edit has low ratio", () => {
28
+ const oldT = Array.from({ length: 20 }, (_, i) => `line-${i}`).join("\n");
29
+ const newT = oldT.replace("line-0", "line-0-edited");
30
+ expect(changeRatio(oldT, newT)).toBeLessThan(0.15);
31
+ });
32
+ it("large rewrite has high ratio", () => {
33
+ const oldT = "a\nb\nc\nd";
34
+ const newT = "w\nx\ny\nz";
35
+ expect(changeRatio(oldT, newT)).toBeGreaterThan(0.5);
36
+ });
37
+ });
38
+ //# sourceMappingURL=change-ratio.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-ratio.test.js","sourceRoot":"","sources":["../../../../src/server/documents/graph/change-ratio.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEhE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACrD,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACrD,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACrD,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}