@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.
Files changed (45) hide show
  1. package/client-dist/assets/index-B51Kcb1K.css +1 -0
  2. package/client-dist/assets/index-zgl3whdc.js +104 -0
  3. package/client-dist/index.html +2 -2
  4. package/dist/backup.d.ts +25 -3
  5. package/dist/backup.d.ts.map +1 -1
  6. package/dist/backup.js +110 -13
  7. package/dist/backup.js.map +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +5 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/middleware/project.d.ts +3 -2
  12. package/dist/middleware/project.d.ts.map +1 -1
  13. package/dist/middleware/project.js +8 -4
  14. package/dist/middleware/project.js.map +1 -1
  15. package/dist/reference-files.d.ts +87 -0
  16. package/dist/reference-files.d.ts.map +1 -0
  17. package/dist/reference-files.js +267 -0
  18. package/dist/reference-files.js.map +1 -0
  19. package/dist/routes/chat.d.ts.map +1 -1
  20. package/dist/routes/chat.js +4 -2
  21. package/dist/routes/chat.js.map +1 -1
  22. package/dist/routes/entity.d.ts.map +1 -1
  23. package/dist/routes/entity.js +122 -5
  24. package/dist/routes/entity.js.map +1 -1
  25. package/dist/routes/names.d.ts +4 -0
  26. package/dist/routes/names.d.ts.map +1 -0
  27. package/dist/routes/names.js +61 -0
  28. package/dist/routes/names.js.map +1 -0
  29. package/dist/routes/project.d.ts.map +1 -1
  30. package/dist/routes/project.js +45 -5
  31. package/dist/routes/project.js.map +1 -1
  32. package/dist/routes/reference.d.ts +4 -0
  33. package/dist/routes/reference.d.ts.map +1 -0
  34. package/dist/routes/reference.js +24 -0
  35. package/dist/routes/reference.js.map +1 -0
  36. package/dist/routes/settings.d.ts +5 -8
  37. package/dist/routes/settings.d.ts.map +1 -1
  38. package/dist/routes/settings.js +9 -3
  39. package/dist/routes/settings.js.map +1 -1
  40. package/dist/routes/trash.d.ts.map +1 -1
  41. package/dist/routes/trash.js +25 -1
  42. package/dist/routes/trash.js.map +1 -1
  43. package/package.json +6 -6
  44. package/client-dist/assets/index-Dw_YYehf.css +0 -1
  45. 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;AAqBhF,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,CAmO3F;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,aAAkB,GAAG,IAAI,CAc/D;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU,4EAAqB,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"}
@@ -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
- projectPrompt: project.config.prompt || undefined, // 决策 7 项目层
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
  });
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,kDAAkD;AAClD,EAAE;AACF,QAAQ;AACR,wFAAwF;AACxF,uFAAuF;AACvF,gEAAgE;AAChE,6DAA6D;AAC7D,6EAA6E;AAC7E,gEAAgE;AAChE,gFAAgF;AAChF,4EAA4E;AAC5E,sEAAsE;AACtE,+EAA+E;AAC/E,2EAA2E;AAC3E,4CAA4C;AAC5C,0EAA0E;AAC1E,uEAAuE;AACvE,wEAAwE;AACxE,kEAAkE;AAClE,EAAE;AACF,QAAQ;AACR,mEAAmE;AACnE,0DAA0D;AAC1D,qEAAqE;AACrE,qEAAqE;AACrE,gDAAgD;AAChD,mFAAmF;AACnF,EAAE;AACF,yEAAyE;AACzE,6DAA6D;AAE7D,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAU,MAAM,KAAK,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,QAAQ,GAOT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAuB,MAAM,gCAAgC,CAAC;AAChF,OAAO,EACL,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAC1H,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAuB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEtG,+BAA+B;AAE/B,sDAAsD;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAW,CAAC;AAE9E;+BAC+B;AAC/B,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD,0EAA0E;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAA4B,CAAC;IAC3D,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA+B;IAClE,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC,QAAQ,CAAC;SACjG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC;KAC9C,CAAC,CAAC,CAAC;AACR,CAAC;AAED,uDAAuD;AAEvD;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,MAAc,EACd,KAAa,EACb,KAA0B,EAC1B,WAAoB,EACpB,WAA4E,sBAAsB;IAElG,OAAO,CAAC,QAAsB,EAAE,MAAwB,EAAE,OAAgD,EAAE,EAAE;IAC5G,6DAA6D;IAC7D,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtG,CAAC;AAED,4EAA4E;AAE5E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgC,EAChC,GAAkD;IAElD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QACnC,kCAAkC;QAClC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,iBAAiB,GAAG,CAAC,KAAK,8CAA8C,SAAS,GAAG,CAAC,CAAC;YACjH,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,oBAAoB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;QACjG,CAAC;QACD,yCAAyC;QACzC,MAAM,aAAa,GACjB,iBAAiB,CAAC,OAAO,CAAC,IAAI,OAAO;YACnC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;oBACtB,QAAQ,CACN,OAAO,EACP,KAAK,EACL,uBAAuB,CAAC,EAAE,aAAa,IAAI,GAAG,sBAAsB,CAAC,EAAE,iBAAiB,IAAI,GAAG,UAAU,CAAC,EAAE,YAAY,IAAI,GAAG,SAAS,KAAK,CAAC,UAAU,EAAE,CAC3J,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe;YACjC,CAAC;YACH,CAAC,CAAC,OAAO,CAAC;QACd,OAAO,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC;AA0BD,+CAA+C;AAE/C;;;;;GAKG;AACH,SAAS,cAAc,CACrB,OAAuB,EACvB,OAAqG;IAErG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CACR,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,iCAAiC;AAEjC,wDAAwD;AACxD,SAAS,cAAc,CAAC,EAAU,EAAE,OAA+B;IACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wDAAwD;AAExD,2DAA2D;AAC3D,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAc,EAAE,GAAG,GAAG,eAAe;IACzD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAChF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,wDAAwD;IACvE,OAAO,CAAC,KAAiB,EAAQ,EAAE;QACjC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,wBAAwB;QAChE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,KAAK,MAAM;gBACT,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,WAAW;gBAC7E,OAAO;YACT,KAAK,WAAW;gBACd,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,SAAS,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzG,OAAO;YACT,KAAK,aAAa;gBAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,WAAW,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/G,OAAO;YACT,KAAK,UAAU;gBACb,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,CAAC,QAAQ,CAAC,WAAW,SAAS,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClG,OAAO;YACT,KAAK,MAAM;gBACT,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,CAAC,SAAS,UAAU,KAAK,EAAE,CAAC,CAAC;gBAC3E,OAAO;YACT,KAAK,OAAO;gBACV,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvG,OAAO;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,oEAAoE;AAEpE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAsB,EAAE;IACtD,OAAO,KAAK,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QAExC,2CAA2C;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;QAC5E,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,iDAAiD;QACvE,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAErD,gEAAgE;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC,GAAG,CAAC;QACpD,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,qBAAqB,EACrB,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QACD,0DAA0D;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,KAAK,IAAI,aAAa,CAAC;QACnE,iEAAiE;QACjE,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC,cAAc,IAAI,sBAAsB,CAAC;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;QAE/B,OAAO,SAAS,CACd,CAAC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,gCAAgC;YAChC,MAAM,SAAS,GAAG,UAAU,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7D,+DAA+D;YAC/D,0CAA0C;YAC1C,MAAM,OAAO,GACX,UAAU,KAAK,SAAS;gBACtB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,cAAc,CACZ,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EACzD,IAAI,CAAC,sBAAsB,IAAI,4BAA4B,CAC5D,CAAC;YAER,qCAAqC;YACrC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE/C,8DAA8D;YAC9D,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC5B,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC7B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,GAAG,EAAE;aAClB,CAAC,CAAC;YAEH,uCAAuC;YACvC,8DAA8D;YAC9D,0DAA0D;YAC1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YACrD,CAAC,CAAC;YACF,wEAAwE;YACxE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvB,4EAA4E;YAC5E,gDAAgD;YAChD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAkE,CAAC;YACxF,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,sEAAsE;YACtE,mDAAmD;YACnD,oCAAoC;YAEpC,iDAAiD;YACjD,MAAM,UAAU,GAAG,KAAK,EAAE,KAAa,EAAE,IAAa,EAAiB,EAAE;gBACvE,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO,CAAC,cAAc;gBACrD,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,EAAE,CAAC,CAAC,2BAA2B;gBACvC,CAAC;YACH,CAAC,CAAC;YAEF,sDAAsD;YACtD,MAAM,aAAa,GAAG,IAAI,eAAe,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC5B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,oBAAoB,CAAC;gBAChE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACrC,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnE,MAAM,cAAc,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;oBACpE,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBACtE,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACrD,iDAAiD;oBACjD,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;gBACxC,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YAEL,oFAAoF;YACpF,8DAA8D;YAC9D,4BAA4B;YAC5B,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC,CAAC,8BAA8B;YAC5E,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAQ,EAAE;gBAC1C,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,gCAAgC;gBACrD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,YAAY;wBACf,OAAO,CAAC,2BAA2B;oBACrC,KAAK,MAAM;wBACT,KAAK,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBAChD,OAAO;oBACT,KAAK,WAAW;wBACd,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnF,OAAO;oBACT,KAAK,aAAa;wBAChB,KAAK,UAAU,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;wBACzF,OAAO;oBACT,KAAK,UAAU;wBACb,+DAA+D;wBAC/D,KAAK,UAAU,CAAC,UAAU,EAAE;4BAC1B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;4BACvC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;4BACzB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;yBAChC,CAAC,CAAC;wBACH,OAAO;oBACT,KAAK,MAAM;wBACT,qCAAqC;wBACrC,KAAK,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC9G,OAAO;oBACT,KAAK,OAAO;wBACV,kDAAkD;wBAClD,IAAI,CAAC,KAAK,CAAC,OAAO;4BAAE,KAAK,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC3F,OAAO;gBACX,CAAC;YACH,CAAC,CAAC;YAEF,uFAAuF;YACvF,uDAAuD;YACvD,kDAAkD;YAClD,MAAM,UAAU,GAAG,CAAC,QAA0B,EAAQ,EAAE;gBACtD,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;gBACjB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE;wBAC5B,UAAU,EAAE,SAAS;wBACrB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;wBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;wBAC1B,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7F,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9D,UAAU,EAAE,EAAE;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC;YAEF,6DAA6D;YAC7D,qEAAqE;YACrE,yDAAyD;YACzD,MAAM,OAAO,GACX,IAAI,CAAC,OAAO;gBACZ,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE;oBACrG,KAAK;oBACL,KAAK;iBACN,CAAC,CAAC;YACL,qEAAqE;YACrE,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjI,mEAAmE;YACnE,wEAAwE;YACxE,IAAI,SAAS,GAAsF,IAAI,CAAC;YACxG,MAAM,gBAAgB,GAA4B,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;gBACpF,MAAM,GAAG,GAAmB,CAAC,CAAC,EAAE,EAAE;oBAChC,IAAI,CAAC,EAAE,IAAI,KAAK,QAAQ;wBAAE,SAAS,GAAG,CAAC,CAAC,KAAyB,CAAC;oBAClE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC;gBACF,OAAO,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;gBAC5B,SAAS;gBACT,WAAW,EAAE,OAAO,EAAE,sCAAsC;gBAC5D,OAAO;gBACP,KAAK;gBACL,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,WAAW;gBAC9D,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;gBACpE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,0BAA0B;aACtD,CAAC,CAAC;YAEH,+CAA+C;YAC/C,8DAA8D;YAC9D,4CAA4C;YAC5C,iDAAiD;YACjD,gDAAgD;YAChD,oDAAoD;YACpD,qDAAqD;YACrD,0EAA0E;YAC1E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;YAED,4DAA4D;YAC5D,gEAAgE;YAChE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,wCAAwC;YAC/D,MAAM,SAAS,CAAC;YAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,4DAA4D;QAC5D,iDAAiD;QACjD,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,CAAC;oBACpB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;qBAC1D,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,iCAAiC;AAEjC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAsB,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IACH,yDAAyD;IACzD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;AAE7C;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,CAAU,EAAE,QAA8B;IAClE,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,gBAAgB,EAChB,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,SAAS,gBAAgB,CAAC,CAAU,EAAE,SAAiB,EAAE,QAAuB;IAC9E,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,gBAAgB,EAChB,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC"}
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;AAiB5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAMlE,wCAAwC;AACxC,eAAO,MAAM,YAAY,4EAAa,CAAC;AAEvC,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAMvD"}
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"}