@whispering233/ai-editor-server 0.0.15 → 0.0.20
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/client-dist/assets/index-B51Kcb1K.css +1 -0
- package/client-dist/assets/index-zgl3whdc.js +104 -0
- package/client-dist/index.html +2 -2
- package/dist/backup.d.ts +25 -3
- package/dist/backup.d.ts.map +1 -1
- package/dist/backup.js +110 -13
- package/dist/backup.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware/project.d.ts +3 -2
- package/dist/middleware/project.d.ts.map +1 -1
- package/dist/middleware/project.js +8 -4
- package/dist/middleware/project.js.map +1 -1
- package/dist/reference-files.d.ts +87 -0
- package/dist/reference-files.d.ts.map +1 -0
- package/dist/reference-files.js +267 -0
- package/dist/reference-files.js.map +1 -0
- package/dist/routes/chat.d.ts.map +1 -1
- package/dist/routes/chat.js +4 -2
- package/dist/routes/chat.js.map +1 -1
- package/dist/routes/entity.d.ts.map +1 -1
- package/dist/routes/entity.js +122 -5
- package/dist/routes/entity.js.map +1 -1
- package/dist/routes/names.d.ts +4 -0
- package/dist/routes/names.d.ts.map +1 -0
- package/dist/routes/names.js +61 -0
- package/dist/routes/names.js.map +1 -0
- package/dist/routes/project.d.ts.map +1 -1
- package/dist/routes/project.js +45 -5
- package/dist/routes/project.js.map +1 -1
- package/dist/routes/reference.d.ts +4 -0
- package/dist/routes/reference.d.ts.map +1 -0
- package/dist/routes/reference.js +24 -0
- package/dist/routes/reference.js.map +1 -0
- package/dist/routes/settings.d.ts +5 -8
- package/dist/routes/settings.d.ts.map +1 -1
- package/dist/routes/settings.js +9 -3
- package/dist/routes/settings.js.map +1 -1
- package/dist/routes/trash.d.ts.map +1 -1
- package/dist/routes/trash.js +25 -1
- package/dist/routes/trash.js.map +1 -1
- package/package.json +6 -6
- package/client-dist/assets/index-Dw_YYehf.css +0 -1
- package/client-dist/assets/index-Z8xntmCT.js +0 -14
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { type Db } from "@whispering233/ai-editor-db";
|
|
2
|
+
import type { EntityRow } from "@whispering233/ai-editor-shared";
|
|
3
|
+
/** 参考资料目录(项目根下,决策 43:书籍项目文件夹自包含参考资料) */
|
|
4
|
+
export declare const REFERENCE_DIR = "references";
|
|
5
|
+
/** 软删回收目录(references/.trash/,决策 43:软删文件移入,restore 移回、purge 物理删) */
|
|
6
|
+
export declare const REFERENCE_TRASH_DIR = ".trash";
|
|
7
|
+
/** 文件 mtime 比对容差(毫秒):**仅防御 ISO 毫秒截断 roundtrip**(mtimeMs 浮点 → toISOString
|
|
8
|
+
* 毫秒截断 → getTime 可能差亚毫秒)。与备份体系 1s 容差语义相反——备份容差防「mtime 未刷新
|
|
9
|
+
* 误判有变更」,scan 容差过大会**漏检真实外部修改**(1s 内的改动检测不到),故取最小值。
|
|
10
|
+
* 应用内写入:writeFileAtomic 后 stat 与 scan 读取的 mtime 必然一致(同一文件),严格相等即可。 */
|
|
11
|
+
export declare const REFERENCE_MTIME_TOLERANCE_MS = 2;
|
|
12
|
+
/** 原子写(决策 11 同款:临时文件 + fsync + rename;参考资料 md 文件同样禁止直接覆盖) */
|
|
13
|
+
export declare function writeFileAtomic(filePath: string, data: string): void;
|
|
14
|
+
/** 确保 references/ 与 references/.trash/ 存在(幂等) */
|
|
15
|
+
export declare function ensureReferenceDirs(root: string): void;
|
|
16
|
+
/** 生成不冲突文件名:`<base>.md` 已存在 → `<base> (N).md`(N 最小正整数,沿用「书名 (N)」先例) */
|
|
17
|
+
export declare function uniqueFileNameIn(dir: string, base: string): string;
|
|
18
|
+
/** 写参考文件(frontmatter + 正文,原子写);返回 { fileName(调用方已唯一化), mtime(ISO) } */
|
|
19
|
+
export declare function writeReferenceFile(root: string, fileName: string, meta: {
|
|
20
|
+
title: string;
|
|
21
|
+
category: string;
|
|
22
|
+
tags: string[];
|
|
23
|
+
extraLines?: readonly string[];
|
|
24
|
+
}, body: string): {
|
|
25
|
+
fileName: string;
|
|
26
|
+
mtime: string;
|
|
27
|
+
};
|
|
28
|
+
/** 解析后的参考文件(meta + body + mtime) */
|
|
29
|
+
export interface ParsedReferenceFile {
|
|
30
|
+
title: string | undefined;
|
|
31
|
+
category: string | undefined;
|
|
32
|
+
tags: string[];
|
|
33
|
+
body: string;
|
|
34
|
+
/** 未知 frontmatter 行(外部编辑器自定义字段,序列化时原样保留) */
|
|
35
|
+
extraLines: string[];
|
|
36
|
+
/** 文件 mtime(ISO,毫秒精度) */
|
|
37
|
+
mtime: string;
|
|
38
|
+
/** mtime 毫秒数值(scan 容差比对用) */
|
|
39
|
+
mtimeMs: number;
|
|
40
|
+
}
|
|
41
|
+
/** 读参考文件并解析 frontmatter;文件缺失 → null */
|
|
42
|
+
export declare function readReferenceFile(root: string, fileName: string): ParsedReferenceFile | null;
|
|
43
|
+
/** 软删移动:references/<fileName> → references/.trash/<唯一名>;返回实际文件名(冲突递增) */
|
|
44
|
+
export declare function moveReferenceToTrash(root: string, fileName: string): string;
|
|
45
|
+
/** 还原移动:references/.trash/<fileName> → references/<唯一名>;返回实际文件名(冲突递增);
|
|
46
|
+
* .trash/ 下文件缺失 → 返回 null(外部已清理——仅还原索引,详情读取时 409 REFERENCE_FILE_MISSING) */
|
|
47
|
+
export declare function restoreReferenceFromTrash(root: string, fileName: string): string | null;
|
|
48
|
+
/** 物理删参考文件(references/ 与 references/.trash/ 都尝试;缺失忽略——幂等) */
|
|
49
|
+
export declare function removeReferenceFile(root: string, fileName: string): void;
|
|
50
|
+
/** references/ 顶层 md 文件列表(排除 .trash/;不含子目录——YAGNI) */
|
|
51
|
+
export declare function listReferenceFiles(root: string): string[];
|
|
52
|
+
/** 扫描结果统计(决策 43:幂等全量比对) */
|
|
53
|
+
export interface ScanReferenceResult {
|
|
54
|
+
added: number;
|
|
55
|
+
updated: number;
|
|
56
|
+
restored: number;
|
|
57
|
+
removed: number;
|
|
58
|
+
skipped: number;
|
|
59
|
+
errors: string[];
|
|
60
|
+
}
|
|
61
|
+
/** 只读统计:references/ 下未同步文件数(无匹配索引 或 mtime 不一致;**无副作用**——
|
|
62
|
+
* 列表页打开项目提示条用,不触发索引写入/软删) */
|
|
63
|
+
export declare function countUnsyncedReferenceFiles(root: string, db: Db): number;
|
|
64
|
+
/**
|
|
65
|
+
* 扫描重建参考资料索引(POST /api/v1/reference/scan,endpoints.md)。
|
|
66
|
+
* 规则(决策 43 + 2026-08 修订:软删文件归 .trash/,references/ 下缺失即视为外部删除):
|
|
67
|
+
* 1. 遍历 references/ 顶层 *.md(排除 .trash/):
|
|
68
|
+
* - 非软删索引匹配(kind='file' 且 file_name === 文件名)→ mtime 一致(容差内)跳过;
|
|
69
|
+
* 不一致 → 以文件为准更新(title/category/tags/content/file_mtime/updated_at)
|
|
70
|
+
* - 软删索引匹配 → 还原(deleted_at=NULL,文件留 references/ 原地)+ 更新数据
|
|
71
|
+
* - 无匹配 → 新建(title=frontmatter title ?? 文件名去扩展名、category ?? material)
|
|
72
|
+
* 2. 反向:非软删 file 类索引,references/ 下对应文件缺失 → 索引同步软删(进回收站可还原)
|
|
73
|
+
* 幂等:重复执行无副作用;只处理顶层文件。
|
|
74
|
+
*/
|
|
75
|
+
export declare function scanReferences(root: string, db: Db): ScanReferenceResult;
|
|
76
|
+
/** 读取实体的 reference data(不存在 → null;**含软删**——trash restore/purge 分支用,
|
|
77
|
+
* getEntity 过滤 deleted_at 读不到软删实体);用于 route 层 kind 分支判定 */
|
|
78
|
+
export declare function getReferenceRowAny(db: Db, id: string): {
|
|
79
|
+
row: EntityRow;
|
|
80
|
+
data: Record<string, unknown>;
|
|
81
|
+
} | null;
|
|
82
|
+
/** 读取实体的 reference data(不存在/已软删 → null;用于 route 层 kind 分支判定) */
|
|
83
|
+
export declare function getReferenceRow(db: Db, id: string): {
|
|
84
|
+
row: EntityRow;
|
|
85
|
+
data: Record<string, unknown>;
|
|
86
|
+
} | null;
|
|
87
|
+
//# sourceMappingURL=reference-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-files.d.ts","sourceRoot":"","sources":["../src/reference-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
// 参考资料文件服务(决策 43,批次十一)
|
|
2
|
+
//
|
|
3
|
+
// 单一事实来源:doc/design/decisions.md 决策 43、doc/ui/pages/references.md。
|
|
4
|
+
// 职责:references/ 目录(项目文件夹内自包含)的读写/原子写/移动(软删 .trash/)/物理删,
|
|
5
|
+
// + 扫描重建索引(文件 = 真相源,DB 索引 = 派生镜像,mtime 快照比对)。
|
|
6
|
+
// 同步方案(决策 43,与用户确认):
|
|
7
|
+
// - 应用内编辑:先原子写文件再更新 DB(文件写失败 → 操作报错 DB 不动;DB 失败 → 文件已写,
|
|
8
|
+
// scan 以文件为准自愈——文件可重建 DB 而 DB 不可重建文件)
|
|
9
|
+
// - 外部编辑/新增/删除:scan 幂等全量比对——「已索引跳过」= 索引存在 且 文件 mtime === 索引
|
|
10
|
+
// file_mtime;mtime 不一致 → 以文件为准重新解析 frontmatter + 正文更新索引
|
|
11
|
+
// - 软删:文件移 references/.trash/ + 索引 deleted_at;restore 移回;purge 物理删
|
|
12
|
+
// 依赖方向:本模块只依赖 shared 纯函数与 db 包实体查询(getEntity/updateEntity/softDeleteEntity/
|
|
13
|
+
// restoreEntity——scan 用),不依赖 route/middleware(避免循环依赖)。
|
|
14
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, openSync, fsyncSync, closeSync } from "node:fs";
|
|
15
|
+
import { join } from "node:path";
|
|
16
|
+
import { parseReferenceFrontmatter, serializeReferenceFile, } from "@whispering233/ai-editor-shared";
|
|
17
|
+
import { createEntity, getEntity, nowIso, restoreEntity, softDeleteEntity, updateEntity, } from "@whispering233/ai-editor-db";
|
|
18
|
+
/** 参考资料目录(项目根下,决策 43:书籍项目文件夹自包含参考资料) */
|
|
19
|
+
export const REFERENCE_DIR = "references";
|
|
20
|
+
/** 软删回收目录(references/.trash/,决策 43:软删文件移入,restore 移回、purge 物理删) */
|
|
21
|
+
export const REFERENCE_TRASH_DIR = ".trash";
|
|
22
|
+
/** 文件 mtime 比对容差(毫秒):**仅防御 ISO 毫秒截断 roundtrip**(mtimeMs 浮点 → toISOString
|
|
23
|
+
* 毫秒截断 → getTime 可能差亚毫秒)。与备份体系 1s 容差语义相反——备份容差防「mtime 未刷新
|
|
24
|
+
* 误判有变更」,scan 容差过大会**漏检真实外部修改**(1s 内的改动检测不到),故取最小值。
|
|
25
|
+
* 应用内写入:writeFileAtomic 后 stat 与 scan 读取的 mtime 必然一致(同一文件),严格相等即可。 */
|
|
26
|
+
export const REFERENCE_MTIME_TOLERANCE_MS = 2;
|
|
27
|
+
/** 原子写(决策 11 同款:临时文件 + fsync + rename;参考资料 md 文件同样禁止直接覆盖) */
|
|
28
|
+
export function writeFileAtomic(filePath, data) {
|
|
29
|
+
const tmp = `${filePath}.tmp`;
|
|
30
|
+
const fd = openSync(tmp, "w");
|
|
31
|
+
try {
|
|
32
|
+
writeFileSync(fd, data, "utf8");
|
|
33
|
+
fsyncSync(fd);
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
closeSync(fd);
|
|
37
|
+
}
|
|
38
|
+
renameSync(tmp, filePath);
|
|
39
|
+
}
|
|
40
|
+
/** 确保 references/ 与 references/.trash/ 存在(幂等) */
|
|
41
|
+
export function ensureReferenceDirs(root) {
|
|
42
|
+
mkdirSync(join(root, REFERENCE_DIR), { recursive: true });
|
|
43
|
+
mkdirSync(join(root, REFERENCE_DIR, REFERENCE_TRASH_DIR), { recursive: true });
|
|
44
|
+
}
|
|
45
|
+
/** 生成不冲突文件名:`<base>.md` 已存在 → `<base> (N).md`(N 最小正整数,沿用「书名 (N)」先例) */
|
|
46
|
+
export function uniqueFileNameIn(dir, base) {
|
|
47
|
+
let name = `${base}.md`;
|
|
48
|
+
let n = 2;
|
|
49
|
+
while (existsSync(join(dir, name))) {
|
|
50
|
+
name = `${base} (${n}).md`;
|
|
51
|
+
n += 1;
|
|
52
|
+
}
|
|
53
|
+
return name;
|
|
54
|
+
}
|
|
55
|
+
/** 写参考文件(frontmatter + 正文,原子写);返回 { fileName(调用方已唯一化), mtime(ISO) } */
|
|
56
|
+
export function writeReferenceFile(root, fileName, meta, body) {
|
|
57
|
+
ensureReferenceDirs(root);
|
|
58
|
+
writeFileAtomic(join(root, REFERENCE_DIR, fileName), serializeReferenceFile({ ...meta, body }));
|
|
59
|
+
return { fileName, mtime: new Date(statSync(join(root, REFERENCE_DIR, fileName)).mtimeMs).toISOString() };
|
|
60
|
+
}
|
|
61
|
+
/** 读参考文件并解析 frontmatter;文件缺失 → null */
|
|
62
|
+
export function readReferenceFile(root, fileName) {
|
|
63
|
+
const full = join(root, REFERENCE_DIR, fileName);
|
|
64
|
+
if (!existsSync(full))
|
|
65
|
+
return null;
|
|
66
|
+
const text = readFileSync(full, "utf8");
|
|
67
|
+
const parsed = parseReferenceFrontmatter(text);
|
|
68
|
+
const st = statSync(full);
|
|
69
|
+
return {
|
|
70
|
+
title: parsed.title,
|
|
71
|
+
category: parsed.category,
|
|
72
|
+
tags: parsed.tags,
|
|
73
|
+
body: parsed.body,
|
|
74
|
+
extraLines: parsed.extraLines,
|
|
75
|
+
mtime: new Date(st.mtimeMs).toISOString(),
|
|
76
|
+
mtimeMs: st.mtimeMs,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/** 软删移动:references/<fileName> → references/.trash/<唯一名>;返回实际文件名(冲突递增) */
|
|
80
|
+
export function moveReferenceToTrash(root, fileName) {
|
|
81
|
+
ensureReferenceDirs(root);
|
|
82
|
+
const trashDir = join(root, REFERENCE_DIR, REFERENCE_TRASH_DIR);
|
|
83
|
+
const base = fileName.replace(/\.md$/, "");
|
|
84
|
+
const target = uniqueFileNameIn(trashDir, base);
|
|
85
|
+
renameSync(join(root, REFERENCE_DIR, fileName), join(trashDir, target));
|
|
86
|
+
return target;
|
|
87
|
+
}
|
|
88
|
+
/** 还原移动:references/.trash/<fileName> → references/<唯一名>;返回实际文件名(冲突递增);
|
|
89
|
+
* .trash/ 下文件缺失 → 返回 null(外部已清理——仅还原索引,详情读取时 409 REFERENCE_FILE_MISSING) */
|
|
90
|
+
export function restoreReferenceFromTrash(root, fileName) {
|
|
91
|
+
ensureReferenceDirs(root);
|
|
92
|
+
const trashFile = join(root, REFERENCE_DIR, REFERENCE_TRASH_DIR, fileName);
|
|
93
|
+
if (!existsSync(trashFile))
|
|
94
|
+
return null;
|
|
95
|
+
const base = fileName.replace(/\.md$/, "");
|
|
96
|
+
const target = uniqueFileNameIn(join(root, REFERENCE_DIR), base);
|
|
97
|
+
renameSync(trashFile, join(root, REFERENCE_DIR, target));
|
|
98
|
+
return target;
|
|
99
|
+
}
|
|
100
|
+
/** 物理删参考文件(references/ 与 references/.trash/ 都尝试;缺失忽略——幂等) */
|
|
101
|
+
export function removeReferenceFile(root, fileName) {
|
|
102
|
+
for (const dir of [REFERENCE_DIR, join(REFERENCE_DIR, REFERENCE_TRASH_DIR)]) {
|
|
103
|
+
const full = join(root, dir, fileName);
|
|
104
|
+
if (existsSync(full))
|
|
105
|
+
rmSync(full);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/** references/ 顶层 md 文件列表(排除 .trash/;不含子目录——YAGNI) */
|
|
109
|
+
export function listReferenceFiles(root) {
|
|
110
|
+
const dir = join(root, REFERENCE_DIR);
|
|
111
|
+
if (!existsSync(dir))
|
|
112
|
+
return [];
|
|
113
|
+
return readdirSync(dir, { withFileTypes: true })
|
|
114
|
+
.filter((e) => e.isFile() && e.name.endsWith(".md"))
|
|
115
|
+
.map((e) => e.name)
|
|
116
|
+
.sort();
|
|
117
|
+
}
|
|
118
|
+
/** 实体行 → reference data 解析(data 坏 JSON 防御由 rowToEntityRow 兜底) */
|
|
119
|
+
function referenceDataOf(row) {
|
|
120
|
+
return (row.data ?? {});
|
|
121
|
+
}
|
|
122
|
+
/** file 类索引读取(live/softDeleted 双 Map,scan 与只读统计共用) */
|
|
123
|
+
function readReferenceIndexes(db) {
|
|
124
|
+
const rows = db
|
|
125
|
+
.prepare("SELECT id, name, data, deleted_at FROM entities WHERE type = 'reference'")
|
|
126
|
+
.all();
|
|
127
|
+
const live = new Map();
|
|
128
|
+
const softDeleted = new Map();
|
|
129
|
+
for (const r of rows) {
|
|
130
|
+
let data;
|
|
131
|
+
try {
|
|
132
|
+
data = JSON.parse(r.data);
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
continue; // 坏行防御(rowToEntityRow 同款语义,跳过不阻塞)
|
|
136
|
+
}
|
|
137
|
+
if (data.kind !== "file" || typeof data.file_name !== "string")
|
|
138
|
+
continue;
|
|
139
|
+
if (r.deleted_at === null)
|
|
140
|
+
live.set(data.file_name, { id: r.id, name: r.name, data });
|
|
141
|
+
else
|
|
142
|
+
softDeleted.set(data.file_name, { id: r.id, name: r.name, data });
|
|
143
|
+
}
|
|
144
|
+
return { live, softDeleted };
|
|
145
|
+
}
|
|
146
|
+
/** 只读统计:references/ 下未同步文件数(无匹配索引 或 mtime 不一致;**无副作用**——
|
|
147
|
+
* 列表页打开项目提示条用,不触发索引写入/软删) */
|
|
148
|
+
export function countUnsyncedReferenceFiles(root, db) {
|
|
149
|
+
ensureReferenceDirs(root);
|
|
150
|
+
const { live } = readReferenceIndexes(db);
|
|
151
|
+
let unsynced = 0;
|
|
152
|
+
for (const fileName of listReferenceFiles(root)) {
|
|
153
|
+
const file = readReferenceFile(root, fileName);
|
|
154
|
+
if (file === null)
|
|
155
|
+
continue;
|
|
156
|
+
const index = live.get(fileName);
|
|
157
|
+
if (index === undefined) {
|
|
158
|
+
unsynced += 1; // 无索引(本地新增)
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
const stored = typeof index.data.file_mtime === "string" ? new Date(index.data.file_mtime).getTime() : NaN;
|
|
162
|
+
if (Number.isNaN(stored) || Math.abs(file.mtimeMs - stored) > REFERENCE_MTIME_TOLERANCE_MS) {
|
|
163
|
+
unsynced += 1; // mtime 不一致(外部修改)
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return unsynced;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* 扫描重建参考资料索引(POST /api/v1/reference/scan,endpoints.md)。
|
|
170
|
+
* 规则(决策 43 + 2026-08 修订:软删文件归 .trash/,references/ 下缺失即视为外部删除):
|
|
171
|
+
* 1. 遍历 references/ 顶层 *.md(排除 .trash/):
|
|
172
|
+
* - 非软删索引匹配(kind='file' 且 file_name === 文件名)→ mtime 一致(容差内)跳过;
|
|
173
|
+
* 不一致 → 以文件为准更新(title/category/tags/content/file_mtime/updated_at)
|
|
174
|
+
* - 软删索引匹配 → 还原(deleted_at=NULL,文件留 references/ 原地)+ 更新数据
|
|
175
|
+
* - 无匹配 → 新建(title=frontmatter title ?? 文件名去扩展名、category ?? material)
|
|
176
|
+
* 2. 反向:非软删 file 类索引,references/ 下对应文件缺失 → 索引同步软删(进回收站可还原)
|
|
177
|
+
* 幂等:重复执行无副作用;只处理顶层文件。
|
|
178
|
+
*/
|
|
179
|
+
export function scanReferences(root, db) {
|
|
180
|
+
const result = { added: 0, updated: 0, restored: 0, removed: 0, skipped: 0, errors: [] };
|
|
181
|
+
ensureReferenceDirs(root);
|
|
182
|
+
// 现有 file 类索引(含软删——还原判定用)
|
|
183
|
+
const { live: liveIndex, softDeleted: softDeletedIndex } = readReferenceIndexes(db);
|
|
184
|
+
// 1. 正向:文件 → 索引
|
|
185
|
+
for (const fileName of listReferenceFiles(root)) {
|
|
186
|
+
const file = readReferenceFile(root, fileName);
|
|
187
|
+
if (file === null)
|
|
188
|
+
continue; // 竞态(读取间被删)→ 下一轮 scan 处理
|
|
189
|
+
const live = liveIndex.get(fileName);
|
|
190
|
+
if (live !== undefined) {
|
|
191
|
+
// mtime 容差比对:一致跳过
|
|
192
|
+
const stored = typeof live.data.file_mtime === "string" ? new Date(live.data.file_mtime).getTime() : NaN;
|
|
193
|
+
if (!Number.isNaN(stored) && Math.abs(file.mtimeMs - stored) <= REFERENCE_MTIME_TOLERANCE_MS) {
|
|
194
|
+
result.skipped += 1;
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
applyFileToIndex(db, live.id, file, fileName);
|
|
198
|
+
result.updated += 1;
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
const soft = softDeletedIndex.get(fileName);
|
|
202
|
+
if (soft !== undefined) {
|
|
203
|
+
// 软删索引 + 文件回归 references/ → 还原 + 更新
|
|
204
|
+
restoreEntity(db, "reference", soft.id);
|
|
205
|
+
applyFileToIndex(db, soft.id, file, fileName);
|
|
206
|
+
result.restored += 1;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
// 无匹配 → 新建(title/category 兜底)
|
|
210
|
+
const title = file.title ?? fileName.replace(/\.md$/, "");
|
|
211
|
+
const category = file.category ?? "material";
|
|
212
|
+
const data = {
|
|
213
|
+
kind: "file",
|
|
214
|
+
file_name: fileName,
|
|
215
|
+
file_mtime: file.mtime,
|
|
216
|
+
type: category,
|
|
217
|
+
content: file.body,
|
|
218
|
+
...(file.tags.length > 0 ? { tags: file.tags } : {}),
|
|
219
|
+
};
|
|
220
|
+
createEntity(db, { type: "reference", name: title, data });
|
|
221
|
+
result.added += 1;
|
|
222
|
+
}
|
|
223
|
+
// 2. 反向:非软删 file 类索引,references/ 下文件缺失 → 软删
|
|
224
|
+
const files = new Set(listReferenceFiles(root));
|
|
225
|
+
for (const [fileName, live] of liveIndex) {
|
|
226
|
+
if (!files.has(fileName)) {
|
|
227
|
+
softDeleteEntity(db, live.id, nowIso());
|
|
228
|
+
result.removed += 1;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return result;
|
|
232
|
+
}
|
|
233
|
+
/** 以文件为准更新索引(name + data 浅合并:title/category/tags/content/file_mtime) */
|
|
234
|
+
function applyFileToIndex(db, id, file, fileName) {
|
|
235
|
+
updateEntity(db, id, {
|
|
236
|
+
name: file.title ?? fileName.replace(/\.md$/, ""),
|
|
237
|
+
data: {
|
|
238
|
+
type: file.category ?? "material",
|
|
239
|
+
content: file.body,
|
|
240
|
+
file_mtime: file.mtime,
|
|
241
|
+
...(file.tags.length > 0 ? { tags: file.tags } : {}),
|
|
242
|
+
},
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
/** 读取实体的 reference data(不存在 → null;**含软删**——trash restore/purge 分支用,
|
|
246
|
+
* getEntity 过滤 deleted_at 读不到软删实体);用于 route 层 kind 分支判定 */
|
|
247
|
+
export function getReferenceRowAny(db, id) {
|
|
248
|
+
const raw = db.prepare("SELECT * FROM entities WHERE id = ?").get(id);
|
|
249
|
+
if (raw === undefined)
|
|
250
|
+
return null;
|
|
251
|
+
let data;
|
|
252
|
+
try {
|
|
253
|
+
data = JSON.parse(typeof raw.data === "string" ? raw.data : "{}");
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
data = {};
|
|
257
|
+
}
|
|
258
|
+
return { row: raw, data };
|
|
259
|
+
}
|
|
260
|
+
/** 读取实体的 reference data(不存在/已软删 → null;用于 route 层 kind 分支判定) */
|
|
261
|
+
export function getReferenceRow(db, id) {
|
|
262
|
+
const row = getEntity(db, id);
|
|
263
|
+
if (row === null)
|
|
264
|
+
return null;
|
|
265
|
+
return { row, data: referenceDataOf(row) };
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=reference-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-files.js","sourceRoot":"","sources":["../src/reference-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAgB,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EAGjB,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAA+C,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAgB,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EAGjB,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAA+C,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAsBhF,sDAAsD;AACtD,eAAO,MAAM,oBAAoB;;;CAA4C,CAAC;AAE9E;+BAC+B;AAC/B,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAIjD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIjF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,GAAG,iBAAiB,EAAE,CAQzF;AAwBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,EAChC,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE,GACjD,YAAY,CAAC,SAAS,CAAC,CA4BzB;AAID,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,kFAAkF;IAClF,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,4CAA4C;IAC5C,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAwED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CA6BnE;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,aAAkB,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAqO3F;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,aAAkB,GAAG,IAAI,CAc/D;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU,4EAAqB,CAAC"}
|
package/dist/routes/chat.js
CHANGED
|
@@ -35,7 +35,7 @@ import { toJSONSchema } from "zod";
|
|
|
35
35
|
import { createToolDispatcher, defaultProposalStore, restoreSession, runAgent, } from "@whispering233/ai-editor-agent";
|
|
36
36
|
import { chatStream } from "@whispering233/ai-editor-llm";
|
|
37
37
|
import { listTools } from "@whispering233/ai-editor-tools";
|
|
38
|
-
import { findOutlineNode, getEntity, insertChatMessage, listMessageRows, listMessages, listSessions, nowIso, readOutlineFile, } from "@whispering233/ai-editor-db";
|
|
38
|
+
import { findOutlineNode, getEntity, insertChatMessage, listMessageRows, listMessages, listSessions, nowIso, readAgentsFile, readOutlineFile, } from "@whispering233/ai-editor-db";
|
|
39
39
|
import { TOOL_PERMISSION, generateRuntimeId } from "@whispering233/ai-editor-shared";
|
|
40
40
|
import { chatMessagesResSchema, chatSendReqSchema, chatSessionsResSchema } from "@whispering233/ai-editor-shared/schemas";
|
|
41
41
|
import { HttpError, ok } from "../middleware/error.js";
|
|
@@ -406,7 +406,9 @@ export function chatSendHandler(deps = {}) {
|
|
|
406
406
|
userMessage: message, // runAgent 追加进会话(传入 session 不应已含本轮消息)
|
|
407
407
|
session,
|
|
408
408
|
focus,
|
|
409
|
-
|
|
409
|
+
// 决策 41:项目规则唯一事实源 = 项目目录 AGENTS.md(取代 project.config.prompt)——
|
|
410
|
+
// 每次对话实时读文件(外部编辑立即可见);文件不存在 → undefined(「## 项目设定」段跳过)
|
|
411
|
+
projectPrompt: readAgentsFile(project.root) ?? undefined,
|
|
410
412
|
deps: { produce: produceWithUsage, dispatcher, onEvent, onMessages },
|
|
411
413
|
signal: controller.signal, // 决策 16:断开即取消(abort 永不重试)
|
|
412
414
|
});
|
package/dist/routes/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/routes/entity.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/routes/entity.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAqB5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAelE,wCAAwC;AACxC,eAAO,MAAM,YAAY,4EAAa,CAAC;AAEvC,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAMvD"}
|