@whispering233/ai-editor-server 0.0.29 → 0.0.32

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 (70) hide show
  1. package/client-dist/assets/index-BlZjI169.js +523 -0
  2. package/client-dist/assets/{index-0zEqGbv5.css → index-DUmFZL7d.css} +1 -1
  3. package/client-dist/index.html +3 -3
  4. package/dist/backup.d.ts +13 -12
  5. package/dist/backup.d.ts.map +1 -1
  6. package/dist/backup.js +73 -57
  7. package/dist/backup.js.map +1 -1
  8. package/dist/chat-runtime.d.ts +44 -0
  9. package/dist/chat-runtime.d.ts.map +1 -0
  10. package/dist/chat-runtime.js +102 -0
  11. package/dist/chat-runtime.js.map +1 -0
  12. package/dist/consistency.js +1 -1
  13. package/dist/consistency.js.map +1 -1
  14. package/dist/debug.d.ts +1 -1
  15. package/dist/debug.d.ts.map +1 -1
  16. package/dist/debug.js +3 -3
  17. package/dist/debug.js.map +1 -1
  18. package/dist/http-dispatcher.d.ts +30 -0
  19. package/dist/http-dispatcher.d.ts.map +1 -0
  20. package/dist/http-dispatcher.js +101 -0
  21. package/dist/http-dispatcher.js.map +1 -0
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +13 -5
  25. package/dist/index.js.map +1 -1
  26. package/dist/middleware/error.d.ts +2 -2
  27. package/dist/middleware/error.d.ts.map +1 -1
  28. package/dist/middleware/error.js +2 -2
  29. package/dist/middleware/error.js.map +1 -1
  30. package/dist/middleware/project.d.ts +3 -3
  31. package/dist/middleware/project.d.ts.map +1 -1
  32. package/dist/middleware/project.js +10 -6
  33. package/dist/middleware/project.js.map +1 -1
  34. package/dist/model-runtime.d.ts +41 -0
  35. package/dist/model-runtime.d.ts.map +1 -0
  36. package/dist/model-runtime.js +81 -0
  37. package/dist/model-runtime.js.map +1 -0
  38. package/dist/reference-files.d.ts +4 -4
  39. package/dist/reference-files.d.ts.map +1 -1
  40. package/dist/reference-files.js +5 -5
  41. package/dist/reference-files.js.map +1 -1
  42. package/dist/routes/chat.d.ts +36 -73
  43. package/dist/routes/chat.d.ts.map +1 -1
  44. package/dist/routes/chat.js +390 -373
  45. package/dist/routes/chat.js.map +1 -1
  46. package/dist/routes/delta.js +6 -6
  47. package/dist/routes/delta.js.map +1 -1
  48. package/dist/routes/entity.js +9 -9
  49. package/dist/routes/entity.js.map +1 -1
  50. package/dist/routes/names.js +3 -3
  51. package/dist/routes/names.js.map +1 -1
  52. package/dist/routes/outline.js +6 -6
  53. package/dist/routes/outline.js.map +1 -1
  54. package/dist/routes/project.d.ts +1 -1
  55. package/dist/routes/project.js +20 -20
  56. package/dist/routes/project.js.map +1 -1
  57. package/dist/routes/proposal.js +6 -6
  58. package/dist/routes/proposal.js.map +1 -1
  59. package/dist/routes/reference.js +1 -1
  60. package/dist/routes/reference.js.map +1 -1
  61. package/dist/routes/relation.js +1 -1
  62. package/dist/routes/relation.js.map +1 -1
  63. package/dist/routes/settings.d.ts +0 -53
  64. package/dist/routes/settings.d.ts.map +1 -1
  65. package/dist/routes/settings.js +159 -194
  66. package/dist/routes/settings.js.map +1 -1
  67. package/dist/routes/trash.js +4 -4
  68. package/dist/routes/trash.js.map +1 -1
  69. package/package.json +8 -6
  70. package/client-dist/assets/index-DMtHdMMq.js +0 -521
package/dist/backup.js CHANGED
@@ -1,4 +1,4 @@
1
- // 自动备份与恢复(B2.2 + B2.5 + B2.6
1
+ // 自动备份与恢复(B2.2 + B2.5 + B2.6)
2
2
  //
3
3
  // 职责:
4
4
  // - 备份管道:三文件 + wal_checkpoint → .backups/<YYYYMMDD-HHmmssSSS>[-<kind>][-<名称>].zip
@@ -22,22 +22,30 @@ import { basename, dirname, join } from "node:path";
22
22
  import { Unzip, UnzipInflate, zipSync } from "fflate";
23
23
  import { BACKUP_FREQUENCIES, DEFAULT_BACKUP_FREQUENCY_MINUTES, formatBackupFileName, MAX_BACKUPS_PER_PROJECT, MAX_BACKUP_NAME_LENGTH, parseBackupFileName, sanitizeBackupName } from "@whispering233/ai-editor-shared";
24
24
  import { PROJECT_EXPORT_FILE_NAMES } from "@whispering233/ai-editor-shared/schemas";
25
- import { closeDatabase, checkpointWal, DATA_DB_FILE_NAME, ensureSchemaCompatible, getUserVersion, hasMigrationPath, migrateChatMessagesProject, openDatabase, OUTLINE_FILE_NAME, PROJECT_FILE_NAME, readAgentsFile, readProjectFile, SCHEMA_VERSION, writeAgentsFile, } from "@whispering233/ai-editor-db";
25
+ import { closeDatabase, checkpointWal, DATA_DB_FILE_NAME, ensureSchemaCompatible, getUserVersion, hasMigrationPath, openDatabase, OUTLINE_FILE_NAME, PROJECT_FILE_NAME, readAgentsFile, readProjectFile, SCHEMA_VERSION, writeAgentsFile, } from "@whispering233/ai-editor-db";
26
+ import { SESSIONS_DIR_NAME } from "@whispering233/ai-editor-agent";
26
27
  import { HttpError } from "./middleware/error.js";
27
28
  /** 备份目录名(项目目录内 .backups/,随书籍移动自然携带) */
28
29
  export const BACKUPS_DIR_NAME = ".backups";
29
30
  /** 参考资料目录名(项目目录内 references/,随备份 zip 打包) */
30
31
  const REFERENCE_DIR_NAME = "references";
31
- /** 备份包条目白名单判定(三文件 + references/ 前缀——逐名比对天然防 zip 路径穿越;
32
- * references/ 子路径拒绝含 `..` 的条目防相对路径逃逸) */
32
+ /**
33
+ * 随备份 zip 整体打包的目录(目录名已登记在 `docs/api/20-api-backup.md`):
34
+ * `references/`(参考资料含 .trash/)与 `sessions/`(会话 JSONL)——两者语义一致:
35
+ * 白名单前缀 + 递归打包 + 参与变更判定 + 恢复时整体覆盖。
36
+ * `SESSIONS_DIR_NAME` 取自 agent 包的 pi 运行时(会话目录的唯一事实来源;pi 的 session 文件落在此目录)。
37
+ */
38
+ const PACKED_DIR_NAMES = [REFERENCE_DIR_NAME, SESSIONS_DIR_NAME];
39
+ /** 备份包条目白名单判定(三文件 + 打包目录前缀——逐名比对天然防 zip 路径穿越;
40
+ * 目录子路径拒绝含 `..` 的条目防相对路径逃逸) */
33
41
  export function isAllowedBackupEntry(name) {
34
42
  if (PROJECT_EXPORT_FILE_NAMES.includes(name))
35
43
  return true;
36
- return name.startsWith(`${REFERENCE_DIR_NAME}/`) && !name.split("/").includes("..");
44
+ return PACKED_DIR_NAMES.some((d) => name.startsWith(`${d}/`)) && !name.split("/").includes("..");
37
45
  }
38
- /** references/ 目录内全部文件(递归,含 .trash/)相对路径(`/` 分隔);目录缺失 → [] */
39
- function listReferenceDirFiles(root) {
40
- const base = join(root, REFERENCE_DIR_NAME);
46
+ /** 项目目录内某子目录的全部文件(递归,含 .trash/)相对路径(`/` 分隔);目录缺失 → [] */
47
+ function listDirFiles(root, dirName) {
48
+ const base = join(root, dirName);
41
49
  if (!existsSync(base))
42
50
  return [];
43
51
  const out = [];
@@ -54,11 +62,30 @@ function listReferenceDirFiles(root) {
54
62
  walk(base, "");
55
63
  return out;
56
64
  }
65
+ /**
66
+ * 用备份条目**整体覆盖**项目目录内的打包目录(恢复/导入语义:目录以备份内容为准,
67
+ * 本地残留不混入)。目录不存在则创建;`..` 条目跳过(白名单已校验,双保险)。
68
+ */
69
+ function overwriteDirFromEntries(dir, dirName, entries) {
70
+ const baseDir = join(dir, dirName);
71
+ if (existsSync(baseDir))
72
+ rmSync(baseDir, { recursive: true, force: true });
73
+ for (const key of Object.keys(entries)) {
74
+ if (!key.startsWith(`${dirName}/`))
75
+ continue;
76
+ const rel = key.slice(dirName.length + 1);
77
+ if (rel === "" || rel.split("/").includes(".."))
78
+ continue;
79
+ const target = join(baseDir, ...rel.split("/"));
80
+ mkdirSync(dirname(target), { recursive: true });
81
+ writeFileAtomic(target, entries[key]);
82
+ }
83
+ }
57
84
  /** 解压总字节预算(200MB,zip 炸弹防御——与 import 同款,restore 复用) */
58
85
  const MAX_UNZIP_BUDGET = 200 * 1024 * 1024;
59
86
  /**
60
87
  * mtime 变更判定容差(毫秒):备份管道内 wal_checkpoint 会把 WAL 合并回 data.db 主文件,
61
- * 其 mtime 刷新到「备份时刻」(毫秒精度)。 起文件名时间戳为毫秒精度,
88
+ * 其 mtime 刷新到「备份时刻」(毫秒精度)。起文件名时间戳为毫秒精度,
62
89
  * 文件名截断误差已消除——但容差**保留 1s**:粗粒度 mtime 文件系统(如 FAT/exFAT 2s 粒度)
63
90
  * 下,严格 `mtime > lastBackupAt` 仍可能误判,1s 容差是必要防御;最小 tick 5 分钟,
64
91
  * 用户变更必然超出容差窗口。
@@ -81,10 +108,10 @@ function assertBackupFileNameFormat(fileName) {
81
108
  }
82
109
  // ============ 备份管道(复用 打包,避免复制) ============
83
110
  /**
84
- * 打包当前项目为 zip( export 同款管道):
111
+ * 打包当前项目为 zip(export 同款管道):
85
112
  * wal_checkpoint(TRUNCATE) 把 WAL 合并回主文件(zip 内 data.db 为完整快照,
86
113
  * 无需附带 -wal/-shm)→ zipSync 打包(键序稳定:project.json → outline.json → data.db
87
- * → references/**(参考资料目录含 .trash/ 随包——项目自包含))。
114
+ * → references/** → sessions/**(打包目录含 .trash/ 随包——项目自包含))。
88
115
  * 三文件缺失任一 → 抛错(打开的项目三文件必然齐全,缺失即损坏,不导出半成品包)。
89
116
  */
90
117
  export function createBackupZip(project) {
@@ -95,14 +122,16 @@ export function createBackupZip(project) {
95
122
  [OUTLINE_FILE_NAME]: readFileSync(join(dir, OUTLINE_FILE_NAME)),
96
123
  [DATA_DB_FILE_NAME]: readFileSync(join(dir, DATA_DB_FILE_NAME)),
97
124
  };
98
- // references/ 目录随包(存在则递归打包;不存在跳过——旧项目无目录不报错)
99
- for (const rel of listReferenceDirFiles(dir)) {
100
- zipEntries[`${REFERENCE_DIR_NAME}/${rel}`] = readFileSync(join(dir, REFERENCE_DIR_NAME, rel));
125
+ // 打包目录随包(存在则递归打包;不存在跳过——旧项目无目录不报错)
126
+ for (const dirName of PACKED_DIR_NAMES) {
127
+ for (const rel of listDirFiles(dir, dirName)) {
128
+ zipEntries[`${dirName}/${rel}`] = readFileSync(join(dir, dirName, rel));
129
+ }
101
130
  }
102
131
  return zipSync(zipEntries, { level: 6 });
103
132
  }
104
133
  /**
105
- * 生成不冲突的备份文件名:`<YYYYMMDD-HHmmssSSS>[-<kind>][-<名称>].zip`( 毫秒精度 +
134
+ * 生成不冲突的备份文件名:`<YYYYMMDD-HHmmssSSS>[-<kind>][-<名称>].zip`(毫秒精度 +
106
135
  * kind 段;shared formatBackupFileName;kind 缺省 auto——纯时间戳;带自定义名称 →
107
136
  * `-a-<名称>`(auto)/ `-m-<名称>`(manual))。
108
137
  *
@@ -127,7 +156,7 @@ function uniqueBackupFileName(backupsDir, date, opts) {
127
156
  * 立即备份当前项目(手动触发 / 自动定时器 / restore 覆盖前快照共用):
128
157
  * 打包 → 写入 .backups/<时间戳>[-<kind>][-<名称>].zip(毫秒精度;同毫秒 +1ms 去重)→
129
158
  * 触发保留策略清理(失败不阻塞)。
130
- * 写盘失败向上抛(errorHandler → 500 INTERNAL_ERROR, POST /backup 语义)。
159
+ * 写盘失败向上抛(errorHandler → 500 INTERNAL_ERROR,POST /backup 语义)。
131
160
  *
132
161
  * @param opts.kind 备份类型(缺省 "auto"):手动触发传 "manual"(文件名落 -m 段);
133
162
  * 自动备份/覆盖前快照不传(auto,纯时间戳)
@@ -155,7 +184,7 @@ export function writeBackup(project, opts) {
155
184
  return {
156
185
  fileName,
157
186
  size: zip.length,
158
- createdAt: toIso(date), // date = 最终去重后的时间戳,与 fileName 时间戳段一致( 无状态语义)
187
+ createdAt: toIso(date), // date = 最终去重后的时间戳,与 fileName 时间戳段一致(无状态语义)
159
188
  kind,
160
189
  ...(name !== undefined ? { name } : {}),
161
190
  };
@@ -347,7 +376,7 @@ function unzipWithBudget(zipData, budget) {
347
376
  };
348
377
  file.start();
349
378
  });
350
- // 关键(fflate API ):Unzip 默认仅注册 stored(0) 解码器——deflate(8) 压缩的
379
+ // 关键(fflate API):Unzip 默认仅注册 stored(0) 解码器——deflate(8) 压缩的
351
380
  // zip(zipSync 默认)必须显式 register(UnzipInflate),否则 start 报 unknown
352
381
  // compression type(fflate README 明确要求)
353
382
  unzipper.register(UnzipInflate);
@@ -377,7 +406,8 @@ function isValidOutlineFile(parsed) {
377
406
  * 备份包完整校验(自 import 校验顺序 3-7 提取,restore 与 import 共用):
378
407
  *
379
408
  * 1. zip 解析(流式 + 解压总字节预算 200MB,zip 炸弹防御;失败 400「不是有效的项目备份包」)
380
- * 2. 条目白名单(只接受 PROJECT_EXPORT_FILE_NAMES 三文件名,逐名比对天然防 zip 路径穿越)
409
+ * 2. 条目白名单(只接受 PROJECT_EXPORT_FILE_NAMES 三文件名 + references/ 与 sessions/ 目录条目;
410
+ * 逐名比对天然防 zip 路径穿越;**目录条目为非必需**——旧备份包无 sessions/ 仍可导入)
381
411
  * 3. 三文件齐全
382
412
  * 4. 临时目录写入 → project.json / outline.json 顶层(JSON 损坏 / 不符 → 400)
383
413
  * 5. data.db 校验(**大小 > 0 → 打开成功 → user_version**):
@@ -408,7 +438,7 @@ export function validateBackupPackage(zipData) {
408
438
  }
409
439
  const unknown = entryNames.filter((k) => !isAllowedBackupEntry(k));
410
440
  if (unknown.length > 0) {
411
- throw new HttpError(400, "VALIDATION_ERROR", `备份包含未知条目: ${unknown.join(", ")}(只接受 ${PROJECT_EXPORT_FILE_NAMES.join("/")} 与 references/)`);
441
+ throw new HttpError(400, "VALIDATION_ERROR", `备份包含未知条目: ${unknown.join(", ")}(只接受 ${PROJECT_EXPORT_FILE_NAMES.join("/")} 与 ${PACKED_DIR_NAMES.map((d) => `${d}/`).join("/")})`);
412
442
  }
413
443
  const missing = PROJECT_EXPORT_FILE_NAMES.filter((f) => !(f in entries));
414
444
  if (missing.length > 0) {
@@ -446,7 +476,7 @@ export function validateBackupPackage(zipData) {
446
476
  // data.db 校验顺序(ora-4):**文件大小 > 0 → 打开成功 → user_version**——
447
477
  // 0 字节文件 SQLite 会当新库打开(user_version=0),必须先按坏包拒绝(400 而非 409);
448
478
  // 非 SQLite 内容打开失败 → 400 坏包。
449
- // user_version 判定( 卡规格追加句):
479
+ // user_version 判定(卡规格追加句):
450
480
  // v === SCHEMA_VERSION → 接受(现状)
451
481
  // v < SCHEMA_VERSION → **有迁移路径**(MIGRATIONS 存在连续链,替换后 open 时自动前向
452
482
  // 迁移,数据保全完整)→ 接受;**无迁移路径** → 409(文案标注版本过旧无路径)
@@ -538,13 +568,15 @@ function hasFileChangesSince(project, since) {
538
568
  if (err.code !== "ENOENT")
539
569
  return true;
540
570
  }
541
- // references/ 目录:内文件(含 .trash/)任一 mtime 晚于 limit → 有变更——
542
- // 本地新增/外部编辑 md 文档同样触发自动备份;目录缺失 = 无文件跳过;
571
+ // 打包目录(references/ sessions/):内文件任一 mtime 晚于 limit → 有变更——
572
+ // 本地新增/外部编辑 md 文档、新增聊天会话同样触发自动备份;目录缺失 = 无文件跳过;
543
573
  // 遍历竞态(读取中删除)→ 防御视为无变更(下一 tick 重检)
544
574
  try {
545
- for (const rel of listReferenceDirFiles(project.root)) {
546
- if (statSync(join(project.root, REFERENCE_DIR_NAME, rel)).mtimeMs > limit)
547
- return true;
575
+ for (const dirName of PACKED_DIR_NAMES) {
576
+ for (const rel of listDirFiles(project.root, dirName)) {
577
+ if (statSync(join(project.root, dirName, rel)).mtimeMs > limit)
578
+ return true;
579
+ }
548
580
  }
549
581
  }
550
582
  catch {
@@ -617,9 +649,9 @@ function scheduleNext(project) {
617
649
  /**
618
650
  * 用备份包内容替换目录三文件(restore 与 import 分流共用,B2.3 提取):
619
651
  *
620
- * - project.json:JSON 解析后按 opts 覆盖——`keepId`(覆盖恢复以 project_id 为
621
- * 唯一 key,换 id 即断连 chat_messages 会话历史——;备份包可能来自异项目,
622
- * 防御性强制保留)与 `name`(「目录名 = 书名」不变式:import 覆盖归一为目录名、
652
+ * - project.json:JSON 解析后按 opts 覆盖——`keepId`(id 是书的身份,覆盖恢复以它为
653
+ * 唯一 key;备份包可能来自异项目,防御性强制保留)与 `name`(「目录名 = 书名」
654
+ * 不变式:import 覆盖归一为目录名、
623
655
  * 新书导入同步为去重名);其余字段随备份替换。序列化走 2 空格缩进 + 尾换行
624
656
  * (与 db 包 writeJsonAtomic 同款格式惯例)
625
657
  * - outline.json / data.db:原样字节原子写
@@ -644,21 +676,10 @@ export function writeProjectFilesFromBackup(dir, entries, opts = {}) {
644
676
  replaced.push(OUTLINE_FILE_NAME);
645
677
  writeFileAtomic(join(dir, DATA_DB_FILE_NAME), entries[DATA_DB_FILE_NAME]);
646
678
  replaced.push(DATA_DB_FILE_NAME);
647
- // references/ 目录整体覆盖(清空现有 写回备份条目;含 .trash/)——
679
+ // 打包目录整体覆盖(references/ .trash/、sessions/ 会话 JSONL)——
648
680
  // 恢复/导入是「整体还原」语义,目录以备份内容为准,本地残留不混入
649
- const refDir = join(dir, REFERENCE_DIR_NAME);
650
- if (existsSync(refDir))
651
- rmSync(refDir, { recursive: true, force: true });
652
- for (const key of Object.keys(entries)) {
653
- if (!key.startsWith(`${REFERENCE_DIR_NAME}/`))
654
- continue;
655
- const rel = key.slice(REFERENCE_DIR_NAME.length + 1);
656
- if (rel === "" || rel.split("/").includes(".."))
657
- continue; // 白名单已校验,双保险
658
- const target = join(refDir, ...rel.split("/"));
659
- mkdirSync(dirname(target), { recursive: true });
660
- writeFileAtomic(target, entries[key]);
661
- }
681
+ for (const dirName of PACKED_DIR_NAMES)
682
+ overwriteDirFromEntries(dir, dirName, entries);
662
683
  }
663
684
  catch (err) {
664
685
  // P1-2:失败路径日志(对齐「记日志暴露部分替换」承诺)——已替换/未替换文件清单 + 覆盖前快照名
@@ -669,7 +690,7 @@ export function writeProjectFilesFromBackup(dir, entries, opts = {}) {
669
690
  }
670
691
  /**
671
692
  * 自动迁移:project.json 存在非空 `prompt` 且项目目录无 →
672
- * 将 prompt 内容**原样**写入 (原子写, 同款),一次性——
693
+ * 将 prompt 内容**原样**写入 (原子写,同款),一次性——
673
694
  * 迁移后 存在,条件不再满足,prompt 不再使用(字段可保留为遗留数据,宽松读取)。
674
695
  *
675
696
  * 触发点:打开项目时(detectProject 启动即打开 + open 路由)+ restore/import 覆盖路径
@@ -786,7 +807,7 @@ export function snapshotBookDir(dir) {
786
807
  }
787
808
  }
788
809
  /**
789
- * 原子写任意字节( 同款流程:写同目录临时文件 → fsync → rename 覆盖;
810
+ * 原子写任意字节(同款流程:写同目录临时文件 → fsync → rename 覆盖;
790
811
  * 供 restore/import 替换三文件用——JSON 版见 db 包 writeJsonAtomic,此处为通用 bytes 版)。
791
812
  * 失败保留临时文件供排查,原文件未被触碰。
792
813
  */
@@ -824,7 +845,7 @@ function writeFileAtomic(filePath, data) {
824
845
  /**
825
846
  * 从备份恢复当前项目(POST /project/backup/restore):
826
847
  *
827
- * 1. fileName 白名单校验:仅允许 `.backups/` 下时间戳格式( 兼容四类:
848
+ * 1. fileName 白名单校验:仅允许 `.backups/` 下时间戳格式(兼容四类:
828
849
  * `<YYYYMMDD-HHmmssSSS>[-<kind>][-<名称>].zip` 毫秒级(含 kind 段)/ `<YYYYMMDD-HHmmssSSS>-<名称>.zip`
829
850
  * 旧带名称 / 旧秒级 `<YYYYMMDD-HHmmss>.zip`——shared parseBackupFileName,^$ 锚定 + 名称部分
830
851
  * 拒绝 /\\,天然防路径分隔符与 `..` 穿越);格式合法但文件不存在 → 404
@@ -850,23 +871,18 @@ export function restoreBackup(project, fileName) {
850
871
  }
851
872
  // 2. 覆盖前自动快照(复用备份管道;误操作/选错备份永远有后悔药)
852
873
  const snapshot = writeBackup(project);
853
- // 3. 备份包校验(零触碰:通过前不写任何数据文件);projectId = zip 内 project.json 的 id
874
+ // 3. 备份包校验(零触碰:通过前不写任何数据文件)
854
875
  const zip = readFileSync(backupPath);
855
- const { entries, projectId: zipProjectId } = validateBackupPackage(zip);
876
+ const { entries } = validateBackupPackage(zip);
856
877
  // 4. 覆盖管道(B2.3 提取,import 覆盖复用):原子替换三文件(保留当前 id)+
857
878
  // 重连 data.db + 同步 config + 重启定时器。
858
879
  // name 归一为当前目录名(审核裁决:与 import 覆盖一致,维持「目录名 = 书名」
859
880
  // 不变式——id 是身份、name 是展示名;改名需求走 /project/rename)
860
881
  overwriteProjectFiles(project, entries, { name: basename(project.root), snapshotFileName: snapshot.fileName });
861
- // 5. 会话归属迁移(B2.2 审核 P1-1):备份包内 project_id ≠ 当前项目 id
862
- // (跨项目恢复,如手工放入 .backups/ 的异项目备份)→ chat_messages id 行迁移为
863
- // 当前 id——「保留 id 保会话」的理由在跨项目场景同样成立:不迁移则恢复后聊天面板
864
- // 静默为空、旧会话行成孤儿数据。同项目恢复(id 相等)跳过,不执行多余迁移。
865
- // (import 覆盖无需迁移:id 匹配才走覆盖分支,zip id = 书架 id)
866
- if (zipProjectId !== project.config.id) {
867
- migrateChatMessagesProject(project.db, zipProjectId, project.config.id);
868
- }
869
- // ():snapshot 仅含 fileName/createdAt(size 属内部信息不暴露)
882
+ // 5. 会话无归属迁移:对话历史已出库为项目目录内 `sessions/*.jsonl`(迁移 006),归属由
883
+ // 目录表达,不再依赖 data.db project_id——恢复只需覆盖三文件 + references/
884
+ // (`sessions/` 的入包与覆盖语义由备份管道承担,见 createBackupZip / writeProjectFilesFromBackup)。
885
+ //:snapshot 仅含 fileName/createdAt(size 属内部信息不暴露)
870
886
  return { snapshot: { fileName: snapshot.fileName, createdAt: snapshot.createdAt } };
871
887
  }
872
888
  //# sourceMappingURL=backup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../src/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../src/backup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { type ProjectRuntime } from "@whispering233/ai-editor-agent";
2
+ import type { Db } from "@whispering233/ai-editor-db";
3
+ /** 对话链路需要的最小项目上下文(不依赖 middleware,避免与 project.ts 形成运行时环) */
4
+ export interface ChatProjectTarget {
5
+ root: string;
6
+ projectId: string;
7
+ db: Db;
8
+ }
9
+ export type RuntimeFactory = (request: {
10
+ target: ChatProjectTarget;
11
+ sessionFile?: string;
12
+ }) => Promise<ProjectRuntime>;
13
+ /** 缺省工厂:项目 sessions/ 目录 + 项目根 AGENTS.md 的 pi 运行时(装配细节见 agent 包 runtime/)
14
+ * 模型目录/凭据/settings 用 server 层单例:设置端点与对话链路看到同一份配置(docs/design/config.md)。 */
15
+ export declare const defaultRuntimeFactory: RuntimeFactory;
16
+ /**
17
+ * 取当前项目的运行时:同项目同会话复用,否则释放旧的再建。
18
+ * 抛出(如 NoModelConfiguredError)时调用方在开流前转 HTTP 错误。
19
+ */
20
+ export declare function acquireProjectRuntime(target: ChatProjectTarget, sessionFile: string | undefined, factory?: RuntimeFactory): Promise<ProjectRuntime>;
21
+ /**
22
+ * 释放运行时:中止在途流 → dispose 会话订阅 → 清空提案仓。
23
+ * 项目切换/关闭时由 middleware/project.ts 的 setCurrentProject 单点调用。
24
+ */
25
+ export declare function disposeProjectRuntime(): void;
26
+ export interface ActiveChatHandle {
27
+ /** 运行时就绪后登记中止回调(`() => session.abort()`) */
28
+ setAbort(abort: () => void): void;
29
+ /** 流结束(任何退出路径)时释放占位 */
30
+ release(): void;
31
+ }
32
+ /** 该项目的在途流是否已存在(重复进入 → 409 CHAT_BUSY) */
33
+ export declare function hasActiveChat(projectRoot: string): boolean;
34
+ /** 占用「本项目在途流」名额(**同步**:与 hasActiveChat 相邻调用即可避免竞态窗口) */
35
+ export declare function beginActiveChat(projectRoot: string): ActiveChatHandle;
36
+ /** 中止全部在途流(项目切换/关闭时;未就绪的占位跳过) */
37
+ export declare function abortActiveChats(): void;
38
+ /** 登记会话在途(同一会话并发流可重复登记) */
39
+ export declare function enterInFlightSession(sessionId: string): void;
40
+ /** 注销会话在途(归零即删条目) */
41
+ export declare function leaveInFlightSession(sessionId: string): void;
42
+ /** 该会话是否有在途流(删除端点用:拒删在途会话,防流把文件原地重建) */
43
+ export declare function isSessionInFlight(sessionId: string): boolean;
44
+ //# sourceMappingURL=chat-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-runtime.d.ts","sourceRoot":"","sources":["../src/chat-runtime.ts"],"names":[],"mappings":"AAUA,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAGtD,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,EAAE,CAAC;CACR;AAID,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAEvH;4EAC4E;AAC5E,eAAO,MAAM,qBAAqB,EAAE,cASnC,CAAC;AAUF;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,GAAE,cAAsC,GAC9C,OAAO,CAAC,cAAc,CAAC,CAezB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAO5C;AAWD,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAClC,uBAAuB;IACvB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,yCAAyC;AACzC,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAWrE;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAMD,2BAA2B;AAC3B,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,qBAAqB;AACrB,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI5D;AAED,wCAAwC;AACxC,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE5D"}
@@ -0,0 +1,102 @@
1
+ // server:对话运行时池 + 在途流登记
2
+ //
3
+ // 两件事只在这里做(session 文件的读写细节全在 agent 包 runtime/sessions.ts):
4
+ // 1. **每项目一个 ProjectRuntime**:懒创建;切换项目/关闭项目或切换会话时释放
5
+ // (dispose 会话 + 中止在途流 + 清空提案仓)。
6
+ // 2. **单项目单在途流 + 会话级在途登记**:CHAT_BUSY / SESSION_BUSY 两个 409 的判定依据。
7
+ //
8
+ // 路径安全:session_id → 文件路径只经 agent 包的磁盘发现(SessionManager.list)映射,
9
+ // 客户端传入值**永不参与路径拼接**(docs/db/schema.md「本仓依赖的契约面」)。
10
+ import { createProjectRuntime, defaultProposalStore, openProjectSessionManager, } from "@whispering233/ai-editor-agent";
11
+ import { applyActiveSettings, getModelRuntime, getSettingsManager } from "./model-runtime.js";
12
+ /** 缺省工厂:项目 sessions/ 目录 + 项目根 AGENTS.md 的 pi 运行时(装配细节见 agent 包 runtime/)
13
+ * 模型目录/凭据/settings 用 server 层单例:设置端点与对话链路看到同一份配置(docs/design/config.md)。 */
14
+ export const defaultRuntimeFactory = async ({ target, sessionFile }) => {
15
+ const input = {
16
+ projectRoot: target.root,
17
+ toolContext: { db: target.db, outlineDir: target.root, projectId: target.projectId },
18
+ sessionManager: openProjectSessionManager(target.root, sessionFile),
19
+ modelRuntime: await getModelRuntime(),
20
+ settingsManager: getSettingsManager(),
21
+ };
22
+ return createProjectRuntime(input);
23
+ };
24
+ let active = null;
25
+ /**
26
+ * 取当前项目的运行时:同项目同会话复用,否则释放旧的再建。
27
+ * 抛出(如 NoModelConfiguredError)时调用方在开流前转 HTTP 错误。
28
+ */
29
+ export async function acquireProjectRuntime(target, sessionFile, factory = defaultRuntimeFactory) {
30
+ if (active !== null) {
31
+ const sameProject = active.projectRoot === target.root;
32
+ const sameSession = sessionFile !== undefined && active.sessionFile === sessionFile;
33
+ if (sameProject && sameSession) {
34
+ // 复用前同步一次激活模型/思考强度:设置页的变更只影响新请求,但必须对**下一个**请求生效
35
+ // (否则 ChatPanel 已乐观显示新模型、对话仍用旧模型)
36
+ await applyActiveSettings(active.runtime);
37
+ return active.runtime;
38
+ }
39
+ disposeProjectRuntime(); // 换项目/换会话:旧运行时连同其在途流一起退休
40
+ }
41
+ const runtime = await factory({ target, sessionFile });
42
+ active = { projectRoot: target.root, sessionFile: runtime.session.sessionFile, runtime };
43
+ return runtime;
44
+ }
45
+ /**
46
+ * 释放运行时:中止在途流 → dispose 会话订阅 → 清空提案仓。
47
+ * 项目切换/关闭时由 middleware/project.ts 的 setCurrentProject 单点调用。
48
+ */
49
+ export function disposeProjectRuntime() {
50
+ abortActiveChats();
51
+ const previous = active;
52
+ active = null;
53
+ previous?.runtime.dispose();
54
+ // 未确认提案随项目/会话切换作废(docs/design/30-agent-loop.md §2)
55
+ defaultProposalStore.clear();
56
+ }
57
+ const activeChats = new Set();
58
+ /** 该项目的在途流是否已存在(重复进入 → 409 CHAT_BUSY) */
59
+ export function hasActiveChat(projectRoot) {
60
+ for (const chat of activeChats) {
61
+ if (chat.projectRoot === projectRoot)
62
+ return true;
63
+ }
64
+ return false;
65
+ }
66
+ /** 占用「本项目在途流」名额(**同步**:与 hasActiveChat 相邻调用即可避免竞态窗口) */
67
+ export function beginActiveChat(projectRoot) {
68
+ const chat = { projectRoot, abort: null };
69
+ activeChats.add(chat);
70
+ return {
71
+ setAbort: (abort) => {
72
+ chat.abort = abort;
73
+ },
74
+ release: () => {
75
+ activeChats.delete(chat);
76
+ },
77
+ };
78
+ }
79
+ /** 中止全部在途流(项目切换/关闭时;未就绪的占位跳过) */
80
+ export function abortActiveChats() {
81
+ for (const chat of [...activeChats])
82
+ chat.abort?.();
83
+ }
84
+ // ============ 会话级在途登记(DELETE 的并发防线) ============
85
+ const inFlightSessions = new Map();
86
+ /** 登记会话在途(同一会话并发流可重复登记) */
87
+ export function enterInFlightSession(sessionId) {
88
+ inFlightSessions.set(sessionId, (inFlightSessions.get(sessionId) ?? 0) + 1);
89
+ }
90
+ /** 注销会话在途(归零即删条目) */
91
+ export function leaveInFlightSession(sessionId) {
92
+ const next = (inFlightSessions.get(sessionId) ?? 1) - 1;
93
+ if (next <= 0)
94
+ inFlightSessions.delete(sessionId);
95
+ else
96
+ inFlightSessions.set(sessionId, next);
97
+ }
98
+ /** 该会话是否有在途流(删除端点用:拒删在途会话,防流把文件原地重建) */
99
+ export function isSessionInFlight(sessionId) {
100
+ return (inFlightSessions.get(sessionId) ?? 0) > 0;
101
+ }
102
+ //# sourceMappingURL=chat-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-runtime.js","sourceRoot":"","sources":["../src/chat-runtime.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export function reconcileSoftDelete(project) {
30
30
  if (deletedIds.length === 0) {
31
31
  return { deletedNodes: 0, relations: 0, deltas: 0 };
32
32
  }
33
- const deletedAt = nowIso(); // ISO 8601 应用层写入()
33
+ const deletedAt = nowIso(); // ISO 8601 应用层写入
34
34
  const rel = project.db
35
35
  .prepare(`UPDATE relation_records SET deleted_at = ? WHERE deleted_at IS NULL AND
36
36
  (source_id IN ${inPlaceholders(deletedIds)} OR target_id IN ${inPlaceholders(deletedIds)})`)
@@ -1 +1 @@
1
- {"version":3,"file":"consistency.js","sourceRoot":"","sources":["../src/consistency.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAYvE,gEAAgE;AAChE,SAAS,cAAc,CAAC,GAAa;IACnC,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACzD,IAAI,UAAoB,CAAC;IACzB,IAAI,CAAC;QACH,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,4CAA4C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC/F,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC,mBAAmB;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE;SACnB,OAAO,CACN;uBACiB,cAAc,CAAC,UAAU,CAAC,oBAAoB,cAAc,CAAC,UAAU,CAAC,GAAG,CAC7F;SACA,GAAG,CAAC,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE;SACrB,OAAO,CACN,mFAAmF,cAAc,CAAC,UAAU,CAAC,EAAE,CAChH;SACA,GAAG,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;IACjC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAiC;IACtE,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CACT,8BAA8B,MAAM,CAAC,YAAY,kBAAkB,MAAM,CAAC,SAAS,YAAY,MAAM,CAAC,MAAM,EAAE,CAC/G,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"consistency.js","sourceRoot":"","sources":["../src/consistency.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAYvE,gEAAgE;AAChE,SAAS,cAAc,CAAC,GAAa;IACnC,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACzD,IAAI,UAAoB,CAAC;IACzB,IAAI,CAAC;QACH,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,4CAA4C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC/F,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC,iBAAiB;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE;SACnB,OAAO,CACN;uBACiB,cAAc,CAAC,UAAU,CAAC,oBAAoB,cAAc,CAAC,UAAU,CAAC,GAAG,CAC7F;SACA,GAAG,CAAC,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE;SACrB,OAAO,CACN,mFAAmF,cAAc,CAAC,UAAU,CAAC,EAAE,CAChH;SACA,GAAG,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;IACjC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAiC;IACtE,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CACT,8BAA8B,MAAM,CAAC,YAAY,kBAAkB,MAAM,CAAC,SAAS,YAAY,MAAM,CAAC,MAAM,EAAE,CAC/G,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/debug.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** 五类别清单(isCategoryEnabled 判定依据;新增类别在此扩展) */
2
- export declare const DEBUG_CATEGORIES: readonly ["chat", "request", "stream", "usage", "http"];
2
+ export declare const DEBUG_CATEGORIES: readonly ["chat", "request", "usage", "http"];
3
3
  /** 调试类别(细粒度开关;debugLog 第一参) */
4
4
  export type DebugCategory = (typeof DEBUG_CATEGORIES)[number];
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAuBA,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,yDAA0D,CAAC;AAExF,+BAA+B;AAC/B,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAmD9D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAG7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAGrF"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAuBA,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,+CAAgD,CAAC;AAE9E,+BAA+B;AAC/B,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAmD9D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAG7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAGrF"}
package/dist/debug.js CHANGED
@@ -16,11 +16,11 @@
16
16
  // 配置文件进入配置态,initDebugConfig(undefined) 回全关态。
17
17
  import { readFileSync } from "node:fs";
18
18
  import { join } from "node:path";
19
- /** 配置文件相对创作根的路径(项目级调试配置;与 settings.ts 的用户级 ~/.ai-editor/config.json
20
- * 同文件名不同 base——settings DeepSeek key,此处管调试开关,互不干扰) */
19
+ /** 配置文件相对创作根的路径(项目级调试配置——debug 开关的唯一载体;
20
+ * 模型/凭据/运行参数自 K5 起全部在 pi agent dir,与本文件无关) */
21
21
  const DEBUG_CONFIG_RELATIVE_PATH = join(".ai-editor", "config.json");
22
22
  /** 五类别清单(isCategoryEnabled 判定依据;新增类别在此扩展) */
23
- export const DEBUG_CATEGORIES = ["chat", "request", "stream", "usage", "http"];
23
+ export const DEBUG_CATEGORIES = ["chat", "request", "usage", "http"];
24
24
  // 模块内配置状态(initDebugConfig 每次调用重置快照——测试可重复进入/退出配置态)
25
25
  let configEnabled = false; // 配置 enabled(仅 true 开;缺失/非布尔 = false → 全关)
26
26
  let configCategories = null; // null = 全部类别
package/dist/debug.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}