@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.
- package/agent-skills/changelog/SKILL.md +43 -1
- package/agent-skills/index.json +8 -1
- package/agent-skills/usage-knowledge-graph/SKILL.md +126 -0
- package/agent-skills/usage-onboarding-ai/SKILL.md +36 -5
- package/dist/server/agent/Agent/run.js +60 -34
- package/dist/server/agent/Agent/run.js.map +1 -1
- package/dist/server/agent/Agent/tools-documents.js +1 -1
- package/dist/server/agent/Agent/tools-documents.js.map +1 -1
- package/dist/server/agent/Config/config.js +234 -64
- package/dist/server/agent/Config/config.js.map +1 -1
- package/dist/server/agent/Config/config.test.js +109 -0
- package/dist/server/agent/Config/config.test.js.map +1 -0
- package/dist/server/app.js +2 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/db/repositories/agent-model-config.repo.js +58 -27
- package/dist/server/db/repositories/agent-model-config.repo.js.map +1 -1
- package/dist/server/db/schema.js +96 -1
- package/dist/server/db/schema.js.map +1 -1
- package/dist/server/documents/build-graph.e2e.test.js +65 -0
- package/dist/server/documents/build-graph.e2e.test.js.map +1 -0
- package/dist/server/documents/document.service.js +34 -2
- package/dist/server/documents/document.service.js.map +1 -1
- package/dist/server/documents/graph/change-ratio.js +29 -0
- package/dist/server/documents/graph/change-ratio.js.map +1 -0
- package/dist/server/documents/graph/change-ratio.test.js +38 -0
- package/dist/server/documents/graph/change-ratio.test.js.map +1 -0
- package/dist/server/documents/graph/graph-agent.integration.test.js +95 -0
- package/dist/server/documents/graph/graph-agent.integration.test.js.map +1 -0
- package/dist/server/documents/graph/graph-agent.js +185 -0
- package/dist/server/documents/graph/graph-agent.js.map +1 -0
- package/dist/server/documents/graph/graph-file.js +58 -0
- package/dist/server/documents/graph/graph-file.js.map +1 -0
- package/dist/server/documents/graph/graph-file.test.js +28 -0
- package/dist/server/documents/graph/graph-file.test.js.map +1 -0
- package/dist/server/documents/graph/index.js +183 -0
- package/dist/server/documents/graph/index.js.map +1 -0
- package/dist/server/documents/graph/lifecycle.js +104 -0
- package/dist/server/documents/graph/lifecycle.js.map +1 -0
- package/dist/server/documents/graph/llm-chains.js +135 -0
- package/dist/server/documents/graph/llm-chains.js.map +1 -0
- package/dist/server/documents/graph/llm-utils.js +19 -0
- package/dist/server/documents/graph/llm-utils.js.map +1 -0
- package/dist/server/documents/graph/llm-utils.test.js +34 -0
- package/dist/server/documents/graph/llm-utils.test.js.map +1 -0
- package/dist/server/documents/graph/tools/concept-relations.tool.js +49 -0
- package/dist/server/documents/graph/tools/concept-relations.tool.js.map +1 -0
- package/dist/server/documents/graph/tools/extract-knowledge-points.tool.js +45 -0
- package/dist/server/documents/graph/tools/extract-knowledge-points.tool.js.map +1 -0
- package/dist/server/documents/graph/tools/generate-contains.tool.js +41 -0
- package/dist/server/documents/graph/tools/generate-contains.tool.js.map +1 -0
- package/dist/server/documents/graph/tools/induce-concepts.tool.js +43 -0
- package/dist/server/documents/graph/tools/induce-concepts.tool.js.map +1 -0
- package/dist/server/documents/graph/types.js +12 -0
- package/dist/server/documents/graph/types.js.map +1 -0
- package/dist/server/documents/graph/utils.js +41 -0
- package/dist/server/documents/graph/utils.js.map +1 -0
- package/dist/server/documents/graph/utils.test.js +87 -0
- package/dist/server/documents/graph/utils.test.js.map +1 -0
- package/dist/server/documents/graph-cache-io.js +254 -0
- package/dist/server/documents/graph-cache-io.js.map +1 -0
- package/dist/server/documents/graph-lifecycle.js +19 -0
- package/dist/server/documents/graph-lifecycle.js.map +1 -0
- package/dist/server/documents/graph-task.js +232 -0
- package/dist/server/documents/graph-task.js.map +1 -0
- package/dist/server/documents/graph.integration.test.js +213 -0
- package/dist/server/documents/graph.integration.test.js.map +1 -0
- package/dist/server/documents/graph.service.js +296 -0
- package/dist/server/documents/graph.service.js.map +1 -0
- package/dist/server/documents/markdown-to-lexical.js +111 -13
- package/dist/server/documents/markdown-to-lexical.js.map +1 -1
- package/dist/server/documents/markdown-to-lexical.test.js +37 -0
- package/dist/server/documents/markdown-to-lexical.test.js.map +1 -1
- package/dist/server/documents/tree.service.js +12 -6
- package/dist/server/documents/tree.service.js.map +1 -1
- package/dist/server/migrations/003-folder-desc-file-type.js +43 -0
- package/dist/server/migrations/003-folder-desc-file-type.js.map +1 -0
- package/dist/server/migrations/004-api-key-to-secrets.js +90 -0
- package/dist/server/migrations/004-api-key-to-secrets.js.map +1 -0
- package/dist/server/migrations/004-folder-desc-id.js +98 -0
- package/dist/server/migrations/004-folder-desc-id.js.map +1 -0
- package/dist/server/migrations/005-special-file-id-format.js +124 -0
- package/dist/server/migrations/005-special-file-id-format.js.map +1 -0
- package/dist/server/routes/agent.routes.js +69 -31
- package/dist/server/routes/agent.routes.js.map +1 -1
- package/dist/server/routes/assets.routes.js +68 -62
- package/dist/server/routes/assets.routes.js.map +1 -1
- package/dist/server/routes/assets.routes.upload.test.js +27 -0
- package/dist/server/routes/assets.routes.upload.test.js.map +1 -0
- package/dist/server/routes/documents.routes.js +1 -1
- package/dist/server/routes/documents.routes.js.map +1 -1
- package/dist/server/routes/folders.routes.js +2 -2
- package/dist/server/routes/folders.routes.js.map +1 -1
- package/dist/server/routes/graph.routes.js +112 -0
- package/dist/server/routes/graph.routes.js.map +1 -0
- package/dist/server/routes/tree.routes.js +1 -1
- package/dist/server/routes/tree.routes.js.map +1 -1
- package/dist/server/secrets/secrets-store.js +93 -0
- package/dist/server/secrets/secrets-store.js.map +1 -0
- package/dist/server/storage/paths.js +0 -1
- package/dist/server/storage/paths.js.map +1 -1
- package/dist/server/task-queue/TaskQueue.js +258 -0
- package/dist/server/task-queue/TaskQueue.js.map +1 -0
- package/dist/server/task-queue/TaskQueue.test.js +136 -0
- package/dist/server/task-queue/TaskQueue.test.js.map +1 -0
- package/dist/server/task-queue/index.js +18 -0
- package/dist/server/task-queue/index.js.map +1 -0
- package/dist/server/task-queue/log-store.js +84 -0
- package/dist/server/task-queue/log-store.js.map +1 -0
- package/dist/server/task-queue/types.js +5 -0
- package/dist/server/task-queue/types.js.map +1 -0
- package/dist/shared/docPath.js +3 -2
- package/dist/shared/docPath.js.map +1 -1
- package/dist/shared/file-types.js +35 -0
- package/dist/shared/file-types.js.map +1 -0
- package/dist/shared/graph-files.js +31 -0
- package/dist/shared/graph-files.js.map +1 -0
- package/dist/web/assets/AgentChatPanel-C8TMWDuE.js +6 -0
- package/dist/web/assets/AgentSkillFormCard-yk7PWF0W.js +6 -0
- package/dist/web/assets/AiWriteWorkbench-ChCJt24m.js +7 -0
- package/dist/web/assets/{DiagramEditor-NtNY3sZL-DqPXDJHY.js → DiagramEditor-NtNY3sZL-Bw4wHaBD.js} +1 -1
- package/dist/web/assets/DocumentEditor-B3Dsq02C.js +26 -0
- package/dist/web/assets/{MergeView-Y3zB8V5p.js → MergeView-royv5YkB.js} +1 -1
- package/dist/web/assets/PlaygroundPage-B-_1l4Ix.js +8 -0
- package/dist/web/assets/SettingsPage-D8HfepZ8.js +1 -0
- package/dist/web/assets/{Toolbar-B36NxaTc.js → Toolbar-BDJ6WABq.js} +16 -21
- package/dist/web/assets/{VisitorPickerModal-drnOuPLP.js → VisitorPickerModal-DPKIoySi.js} +1 -1
- package/dist/web/assets/{copy-CX8GOyUb.js → copy-UwfRYkpI.js} +1 -1
- package/dist/web/assets/{diagram-3lhA7FYR.js → diagram--gCCJK__.js} +545 -545
- package/dist/web/assets/index-4TuRcE3b.js +248 -0
- package/dist/web/assets/index-C4ESYs7f.css +1 -0
- package/dist/web/assets/{meta2dEngine-BD2XbzaV-CCgjRlVJ.js → meta2dEngine-BD2XbzaV-D1J2-XNv.js} +1 -1
- package/dist/web/assets/{motion-92iQWeIW.js → motion-DddvD-ez.js} +1 -1
- package/dist/web/assets/{plus-BWV299MC.js → plus-CiGwts52.js} +1 -1
- package/dist/web/assets/{react-BUhFwPCj.js → react-B99eF5mm.js} +146 -151
- package/dist/web/assets/{ui-06fxEgif.js → ui-BHvBMRFE.js} +3 -3
- package/dist/web/index.html +5 -4
- package/package.json +2 -1
- package/dist/web/assets/AgentChatPanel-BTCyf9Ww.js +0 -1
- package/dist/web/assets/AgentSkillFormCard-CAD6QqQ0.js +0 -6
- package/dist/web/assets/AiWriteWorkbench-PVv90TJS.js +0 -7
- package/dist/web/assets/DocumentEditor-zNIJgxe0.js +0 -21
- package/dist/web/assets/PlaygroundPage-DAaEm887.js +0 -8
- package/dist/web/assets/SettingsPage-DhdiNEhO.js +0 -1
- package/dist/web/assets/index-DgM2rYI-.js +0 -185
- 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":"
|
|
1
|
+
{"version":3,"file":"agent-model-config.repo.js","sourceRoot":"","sources":["../../../../src/server/db/repositories/agent-model-config.repo.ts"],"names":[],"mappings":"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"}
|
package/dist/server/db/schema.js
CHANGED
|
@@ -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
|
|
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":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAE/E,gCAAgC;AAChC,MAAM,iBAAiB,GAAa;IAClC;;;;;;;;IAQE;IACF,qFAAqF;IACrF;;;;;;;;IAQE;IACF,0FAA0F;IAC1F,6FAA6F;IAC7F;;;;;;;IAOE;IACF;;;;;;;;;;;;;;;;;IAiBE;IACF,0EAA0E;IAC1E,gFAAgF;IAChF,qEAAqE;IACrE;;;;;;;;IAQE;IACF,6GAA6G;IAC7G;;;;;;IAME;IACF;;;;;;;;IAQE;IACF;;;;;;;;IAQE;IACF,6EAA6E;IAC7E,oFAAoF;IACpF,yCAAyC;IACzC,+BAA+B;IAC/B;;;;;;IAME;IACF;;;;;IAKE;IACF,uFAAuF;IACvF;;;;;IAKE;IACF,oFAAoF;IACpF,sFAAsF;IACtF;;;;;;;IAOE;IACF,6GAA6G;IAC7G;;;IAGE;IACF;;;;;;;;;IASE;IACF;;;;;;;IAOE;IACF,8EAA8E;IAC9E;;;;;IAKE;IACF,qFAAqF;IACrF;;;;;;;;;;;;IAYE;IACF,sGAAsG;IACtG,iFAAiF;IACjF,mFAAmF;IACnF
|
|
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
|
-
//
|
|
567
|
+
// 磁盘:有文件就删(dir / graph_dir 通常无独立文件,exists 检查后 noop)
|
|
547
568
|
for (const doc of allToDelete) {
|
|
548
|
-
|
|
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":"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"}
|
|
@@ -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"}
|