@zooique/memora 0.3.0 → 1.0.1

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 (104) hide show
  1. package/README.md +5 -5
  2. package/dist/agent/agent.d.ts +13 -3
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.js +15 -0
  5. package/dist/agent/agent.js.map +1 -1
  6. package/dist/agent/assembler.d.ts +3 -0
  7. package/dist/agent/assembler.d.ts.map +1 -1
  8. package/dist/agent/assembler.js +11 -2
  9. package/dist/agent/assembler.js.map +1 -1
  10. package/dist/agent/guardrail.d.ts +47 -0
  11. package/dist/agent/guardrail.d.ts.map +1 -0
  12. package/dist/agent/guardrail.js +51 -0
  13. package/dist/agent/guardrail.js.map +1 -0
  14. package/dist/agent/loop.d.ts +0 -17
  15. package/dist/agent/loop.d.ts.map +1 -1
  16. package/dist/agent/loop.js +16 -56
  17. package/dist/agent/loop.js.map +1 -1
  18. package/dist/agent/managers/insightExtractor.d.ts +10 -73
  19. package/dist/agent/managers/insightExtractor.d.ts.map +1 -1
  20. package/dist/agent/managers/insightExtractor.js +27 -154
  21. package/dist/agent/managers/insightExtractor.js.map +1 -1
  22. package/dist/agent/managers/memoryInspector.d.ts +14 -56
  23. package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
  24. package/dist/agent/managers/memoryInspector.js +7 -75
  25. package/dist/agent/managers/memoryInspector.js.map +1 -1
  26. package/dist/agent/managers/memoryMutator.d.ts +92 -0
  27. package/dist/agent/managers/memoryMutator.d.ts.map +1 -0
  28. package/dist/agent/managers/memoryMutator.js +94 -0
  29. package/dist/agent/managers/memoryMutator.js.map +1 -0
  30. package/dist/agent/managers/relationBuilder.d.ts +131 -0
  31. package/dist/agent/managers/relationBuilder.d.ts.map +1 -0
  32. package/dist/agent/managers/relationBuilder.js +191 -0
  33. package/dist/agent/managers/relationBuilder.js.map +1 -0
  34. package/dist/agent/types.d.ts +8 -0
  35. package/dist/agent/types.d.ts.map +1 -1
  36. package/dist/config/loader.d.ts +48 -36
  37. package/dist/config/loader.d.ts.map +1 -1
  38. package/dist/config/loader.js +29 -31
  39. package/dist/config/loader.js.map +1 -1
  40. package/dist/eval/evalTypes.d.ts +15 -6
  41. package/dist/eval/evalTypes.d.ts.map +1 -1
  42. package/dist/eval/evalTypes.js +3 -2
  43. package/dist/eval/evalTypes.js.map +1 -1
  44. package/dist/index.d.ts +14 -6
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +12 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/llm/embedding.d.ts +18 -2
  49. package/dist/llm/embedding.d.ts.map +1 -1
  50. package/dist/llm/embedding.js +78 -46
  51. package/dist/llm/embedding.js.map +1 -1
  52. package/dist/llm/factory.js +1 -1
  53. package/dist/llm/factory.js.map +1 -1
  54. package/dist/llm/openaiCompatible.d.ts.map +1 -1
  55. package/dist/llm/openaiCompatible.js +11 -2
  56. package/dist/llm/openaiCompatible.js.map +1 -1
  57. package/dist/llm/provider.d.ts +0 -14
  58. package/dist/llm/provider.d.ts.map +1 -1
  59. package/dist/llm/provider.js.map +1 -1
  60. package/dist/logging/logger.d.ts +1 -0
  61. package/dist/logging/logger.d.ts.map +1 -1
  62. package/dist/logging/logger.js +43 -37
  63. package/dist/logging/logger.js.map +1 -1
  64. package/dist/memory/inMemoryStorage.js +1 -1
  65. package/dist/memory/inMemoryStorage.js.map +1 -1
  66. package/dist/memory/lockManager.d.ts +48 -0
  67. package/dist/memory/lockManager.d.ts.map +1 -0
  68. package/dist/memory/lockManager.js +167 -0
  69. package/dist/memory/lockManager.js.map +1 -0
  70. package/dist/memory/projectManager.d.ts +23 -53
  71. package/dist/memory/projectManager.d.ts.map +1 -1
  72. package/dist/memory/projectManager.js +47 -228
  73. package/dist/memory/projectManager.js.map +1 -1
  74. package/dist/memory/projectRegistry.d.ts +62 -0
  75. package/dist/memory/projectRegistry.d.ts.map +1 -0
  76. package/dist/memory/projectRegistry.js +166 -0
  77. package/dist/memory/projectRegistry.js.map +1 -0
  78. package/dist/memory/recall.d.ts +3 -3
  79. package/dist/memory/recall.d.ts.map +1 -1
  80. package/dist/memory/recall.js +2 -2
  81. package/dist/memory/recall.js.map +1 -1
  82. package/dist/memory/sourceValidation.d.ts +43 -0
  83. package/dist/memory/sourceValidation.d.ts.map +1 -0
  84. package/dist/memory/sourceValidation.js +139 -0
  85. package/dist/memory/sourceValidation.js.map +1 -0
  86. package/dist/memory/store.d.ts.map +1 -1
  87. package/dist/memory/store.js +2 -1
  88. package/dist/memory/store.js.map +1 -1
  89. package/dist/memory/types.d.ts +0 -47
  90. package/dist/memory/types.d.ts.map +1 -1
  91. package/dist/memory/types.js +0 -138
  92. package/dist/memory/types.js.map +1 -1
  93. package/dist/memory/vectorStore.d.ts +68 -7
  94. package/dist/memory/vectorStore.d.ts.map +1 -1
  95. package/dist/memory/vectorStore.js +12 -8
  96. package/dist/memory/vectorStore.js.map +1 -1
  97. package/dist/security/pathGuard.d.ts.map +1 -1
  98. package/dist/security/pathGuard.js +3 -1
  99. package/dist/security/pathGuard.js.map +1 -1
  100. package/dist/utils/segmenter.d.ts +6 -0
  101. package/dist/utils/segmenter.d.ts.map +1 -1
  102. package/dist/utils/segmenter.js +13 -0
  103. package/dist/utils/segmenter.js.map +1 -1
  104. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC,CAAC;IAEH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC,CAAC;IACH;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,aAAa,CAAC;QACpB,WAAW,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjC,CAAC;KACH,CAAC;IACF;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;OASG;IACH,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAS;IAEnD;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;CAChF"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC,CAAC;IAEH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC,CAAC;IACH;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,aAAa,CAAC;QACpB,WAAW,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjC,CAAC;KACH,CAAC;IACF;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;OASG;IACH,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAS;IAEnD;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;CAChF"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAoFA;;;GAGG;AACH,MAAM,OAAgB,WAAW;IAG/B;;;;;;;;;OASG;IACM,wBAAwB,GAAY,KAAK,CAAC;CAOpD"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAsEA;;;GAGG;AACH,MAAM,OAAgB,WAAW;IAG/B;;;;;;;;;OASG;IACM,wBAAwB,GAAY,KAAK,CAAC;CAOpD"}
@@ -22,6 +22,7 @@ import type { ILogger } from '../logging/loggerInterface.js';
22
22
  * 全局日志访问器
23
23
  *
24
24
  * 20+ 个内核模块统一通过此变量输出日志。
25
+ * 首次访问任一方法时懒触发 pino 升级(确保 import 零 fs 副作用)。
25
26
  * 宿主注入自定义 logger 后,所有模块自动使用新实现。
26
27
  */
27
28
  export declare const logger: ILogger;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,8BAA8B,CAAC;AA8PnE;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,OAapB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CA4B9D"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,8BAA8B,CAAC;AAyQnE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,OAiBpB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAmB9D"}
@@ -204,52 +204,68 @@ async function tryCreatePinoLogger() {
204
204
  /**
205
205
  * 全局日志单例
206
206
  *
207
- * 初始化为 console fallback,模块顶层异步尝试加载 pino。
208
- * 宿主通过 setLogger() 注入后自动替换。
207
+ * 初始化为 console fallback(同步可用,零 fs 副作用)。
208
+ * 首次日志调用时懒触发 pino 升级(确保模块 import 零 fs 副作用)。
209
+ * 宿主通过 setLogger() 注入后自动替换,并跳过 pino 升级。
209
210
  */
210
211
  let _logger = createConsoleLogger();
211
- /** 标记 _logger 是否已被宿主注入(用于 setLogger 覆盖检测) */
212
+ /** 标记 _logger 是否已被宿主注入(用于 setLogger 覆盖检测 + pino 升级跳过) */
212
213
  let _loggerInjected = false;
214
+ /** pino 升级是否已启动(确保只触发一次,避免重复 fs 操作) */
215
+ let _pinoUpgradeStarted = false;
213
216
  // 同步初始化 utils 层 logger 桥接(确保 utils 在 pino 异步加载前就有 console fallback)
214
217
  setUtilsLogger(_logger);
215
- // 模块加载时异步尝试升级到 pino(不阻塞模块导入)
216
- // 竞态守卫:then 回调内检查 _loggerInjected,避免覆盖宿主已注入的 logger
217
- // 场景:模块加载 → setLogger(custom) 同步执行 → tryCreatePinoLogger 异步 resolve
218
- // 此时若不加守卫,pino 会覆盖 custom,宿主 logger 静默丢失
219
- void tryCreatePinoLogger().then((pinoLogger) => {
220
- // 守卫:宿主已通过 setLogger 注入自定义 logger,不再覆盖
221
- if (_loggerInjected) {
222
- // 仍同步桥接到 utils 层(utils 可能尚未收到宿主 logger)
223
- setUtilsLogger(_logger);
218
+ /**
219
+ * 懒触发 pino 升级
220
+ *
221
+ * 在首次日志调用时触发,确保模块 import 零 fs 副作用。
222
+ * - 宿主已注入 logger 时跳过升级(_loggerInjected 守卫)
223
+ * - 升级启动后不再重复触发(_pinoUpgradeStarted 守卫)
224
+ * - 竞态守卫:then 回调内再次检查 _loggerInjected,避免覆盖宿主在升级期间注入的 logger
225
+ */
226
+ function maybeUpgradeToPino() {
227
+ if (_pinoUpgradeStarted || _loggerInjected)
224
228
  return;
225
- }
226
- if (pinoLogger) {
227
- _logger = pinoLogger;
228
- _logger.info({ level, prod: isProd, fileEnabled }, 'logger 启动(pino)');
229
- }
230
- else {
231
- _logger.info({ level, prod: isProd }, 'logger 启动(console fallback,pino 未安装)');
232
- }
233
- // 桥接注入到 utils 层(utils 运行时不依赖 logging/)
234
- setUtilsLogger(_logger);
235
- });
229
+ _pinoUpgradeStarted = true;
230
+ void tryCreatePinoLogger().then((pinoLogger) => {
231
+ // 守卫:升级期间宿主可能已通过 setLogger 注入自定义 logger
232
+ if (_loggerInjected) {
233
+ setUtilsLogger(_logger);
234
+ return;
235
+ }
236
+ if (pinoLogger) {
237
+ _logger = pinoLogger;
238
+ _logger.info({ level, prod: isProd, fileEnabled }, 'logger 启动(pino)');
239
+ }
240
+ else {
241
+ _logger.info({ level, prod: isProd }, 'logger 启动(console fallback,pino 未安装)');
242
+ }
243
+ // 桥接注入到 utils 层(utils 运行时不依赖 logging/)
244
+ setUtilsLogger(_logger);
245
+ });
246
+ }
236
247
  /**
237
248
  * 全局日志访问器
238
249
  *
239
250
  * 20+ 个内核模块统一通过此变量输出日志。
251
+ * 首次访问任一方法时懒触发 pino 升级(确保 import 零 fs 副作用)。
240
252
  * 宿主注入自定义 logger 后,所有模块自动使用新实现。
241
253
  */
242
254
  export const logger = {
243
255
  get info() {
256
+ maybeUpgradeToPino();
244
257
  return _logger.info.bind(_logger);
245
258
  },
246
259
  get warn() {
260
+ maybeUpgradeToPino();
247
261
  return _logger.warn.bind(_logger);
248
262
  },
249
263
  get error() {
264
+ maybeUpgradeToPino();
250
265
  return _logger.error.bind(_logger);
251
266
  },
252
267
  get debug() {
268
+ maybeUpgradeToPino();
253
269
  return _logger.debug.bind(_logger);
254
270
  },
255
271
  };
@@ -273,23 +289,13 @@ export function setLogger(newLogger) {
273
289
  _logger = newLogger;
274
290
  }
275
291
  else {
276
- // 恢复默认:同步先恢复到 console fallback,异步再尝试升级到 pino
277
- // 与模块加载时一致(先 console,再异步 pino),避免 setLogger(undefined) 后 _logger 仍指向旧实例
292
+ // 恢复默认:同步恢复到 console fallback
293
+ // pino 升级不主动触发——等下次日志调用时由 maybeUpgradeToPino() 懒触发
294
+ // 这样 setLogger(undefined) 零 fs 副作用,与模块加载时一致
278
295
  _loggerInjected = false;
296
+ _pinoUpgradeStarted = false; // 允许下次日志调用时重新触发升级
279
297
  _logger = createConsoleLogger();
280
298
  setUtilsLogger(_logger);
281
- // 竞态守卫:若回调执行前宿主再次调用 setLogger(custom),
282
- // _loggerInjected 会被置为 true,此时不应覆盖
283
- void tryCreatePinoLogger().then((pinoLogger) => {
284
- // 守卫:恢复过程中宿主又注入了新 logger,不再覆盖
285
- if (_loggerInjected)
286
- return;
287
- if (pinoLogger) {
288
- _logger = pinoLogger;
289
- // 桥接注入到 utils 层
290
- setUtilsLogger(_logger);
291
- }
292
- });
293
299
  }
294
300
  }
295
301
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { validateSource } from '../memory/types.js';
1
+ import { validateSource } from '../memory/sourceValidation.js';
2
2
  import { segmentText } from '../utils/segmenter.js';
3
3
  import { configError } from '../utils/errors.js';
4
4
  import { logger } from '../logging/logger.js';
@@ -1 +1 @@
1
- {"version":3,"file":"inMemoryStorage.js","sourceRoot":"","sources":["../../src/memory/inMemoryStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inMemoryStorage.js","sourceRoot":"","sources":["../../src/memory/inMemoryStorage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * 锁文件管理器
3
+ *
4
+ * 管理项目级 .lock 文件的生命周期,防止同项目并发写入导致数据损坏。
5
+ * 不强制阻止并发(CLI-first),检测到冲突仅警告。
6
+ */
7
+ export declare class LockManager {
8
+ /** 当前持有的锁文件路径 */
9
+ private currentLockPath;
10
+ /**
11
+ * 获取当前锁文件路径(null 表示未持有锁)
12
+ */
13
+ get currentPath(): string | null;
14
+ /**
15
+ * 获取锁文件
16
+ *
17
+ * 如果锁文件存在且进程存活,发出警告但不阻止。
18
+ * 如果锁文件存在但进程已死,清理残留锁。
19
+ * 如果锁文件损坏(结构不合法),清理后重新获取。
20
+ *
21
+ * @param memoraDir - 项目 .memora/ 目录(锁文件所在目录)
22
+ */
23
+ acquire(memoraDir: string): Promise<void>;
24
+ /**
25
+ * 释放锁文件
26
+ *
27
+ * 删除当前持有的锁文件,并重置内部状态。
28
+ * 未持有锁时为 no-op。
29
+ */
30
+ release(): Promise<void>;
31
+ /**
32
+ * 安全删除文件(忽略不存在的错误)
33
+ *
34
+ * @param filePath - 待删除文件路径
35
+ */
36
+ private safeUnlink;
37
+ /**
38
+ * 检查进程是否存活
39
+ *
40
+ * 跨平台统一使用 process.kill(pid, 0) 探测进程存活
41
+ * (Windows 上 process.kill(pid, 0) 同样有效)
42
+ *
43
+ * @param pid - 待检查的进程 ID
44
+ * @returns true 表示进程存活
45
+ */
46
+ private isProcessAlive;
47
+ }
48
+ //# sourceMappingURL=lockManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lockManager.d.ts","sourceRoot":"","sources":["../../src/memory/lockManager.ts"],"names":[],"mappings":"AA2EA;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,iBAAiB;IACjB,OAAO,CAAC,eAAe,CAAuB;IAE9C;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED;;;;;;;;OAQG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C/C;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B;;;;OAIG;YACW,UAAU;IAQxB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;CAWvB"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * 锁文件管理器 — 项目级并发保护
3
+ *
4
+ * 从 ProjectManager 拆分出来(P1-4),专职管理 .memora/.lock 文件:
5
+ * - 获取锁(写入 PID + 时间戳 + 主机名)
6
+ * - 释放锁(删除锁文件)
7
+ * - 残留锁检测(进程存活判断 + 自动清理)
8
+ * - 锁文件结构校验(QC-24 类型守卫,替代 `as` 类型断言)
9
+ *
10
+ * 设计原则:
11
+ * - 跨平台兼容(process.kill(pid, 0) 在 POSIX + Windows 均有效)
12
+ * - 不强制阻止并发(CLI-first,检测到冲突仅警告,用户决定)
13
+ * - 安全降级(锁文件损坏/进程已死 → 清理残留 → 重新获取)
14
+ *
15
+ * 锁文件策略:
16
+ * - 打开项目时创建 .lock 文件(含 PID + 时间戳 + 主机名)
17
+ * - 关闭/切换项目时删除 .lock 文件
18
+ * - 检测到残留锁时:判断进程是否存活 → 存活则警告 / 已死则清理
19
+ *
20
+ * 与 ProjectManager 的分工(P1-4 拆分,1.0 接口稳定化):
21
+ * - LockManager:锁文件获取/释放 + 残留锁检测/清理
22
+ * - ProjectManager:项目生命周期编排(注册 + 资源加载 + 上下文构建)
23
+ *
24
+ * 详见 ADR-008 · 目录结构按"职责分层" + 迭代文档 P1-4
25
+ */
26
+ import { join } from 'node:path';
27
+ import { hostname } from 'node:os';
28
+ import { mkdir, readFile, writeFile, unlink } from 'node:fs/promises';
29
+ import { logger } from '../logging/logger.js';
30
+ import { toError } from '../utils/toError.js';
31
+ import { nowIso } from '../utils/time.js';
32
+ // ─── 类型守卫(QC-24,对不可信磁盘 JSON 运行时校验) ─────
33
+ /**
34
+ * 判断值是否为非数组对象(排除 null)
35
+ *
36
+ * @param value 待校验的值
37
+ * @returns true 表示是普通对象
38
+ */
39
+ function isPlainObject(value) {
40
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
41
+ }
42
+ /**
43
+ * 判断值是否为 LockInfo(锁文件结构)
44
+ *
45
+ * @param value 待校验的值
46
+ * @returns true 表示符合 LockInfo 结构
47
+ */
48
+ function isLockInfo(value) {
49
+ if (!isPlainObject(value))
50
+ return false;
51
+ return (typeof value['pid'] === 'number' &&
52
+ typeof value['acquiredAt'] === 'string' &&
53
+ typeof value['hostname'] === 'string');
54
+ }
55
+ // ─── 类 ──────────────────────────────────────────────────
56
+ /**
57
+ * 锁文件管理器
58
+ *
59
+ * 管理项目级 .lock 文件的生命周期,防止同项目并发写入导致数据损坏。
60
+ * 不强制阻止并发(CLI-first),检测到冲突仅警告。
61
+ */
62
+ export class LockManager {
63
+ /** 当前持有的锁文件路径 */
64
+ currentLockPath = null;
65
+ /**
66
+ * 获取当前锁文件路径(null 表示未持有锁)
67
+ */
68
+ get currentPath() {
69
+ return this.currentLockPath;
70
+ }
71
+ /**
72
+ * 获取锁文件
73
+ *
74
+ * 如果锁文件存在且进程存活,发出警告但不阻止。
75
+ * 如果锁文件存在但进程已死,清理残留锁。
76
+ * 如果锁文件损坏(结构不合法),清理后重新获取。
77
+ *
78
+ * @param memoraDir - 项目 .memora/ 目录(锁文件所在目录)
79
+ */
80
+ async acquire(memoraDir) {
81
+ const lockPath = join(memoraDir, '.lock');
82
+ try {
83
+ // 尝试读取锁文件(存在时)
84
+ const raw = await readFile(lockPath, 'utf-8');
85
+ // QC-24 使用类型守卫校验 JSON.parse 结果,替代 `as LockInfo` 类型断言
86
+ const parsed = JSON.parse(raw);
87
+ if (isLockInfo(parsed)) {
88
+ // 合法锁文件:检查进程是否存活
89
+ const info = parsed;
90
+ if (this.isProcessAlive(info.pid)) {
91
+ logger.warn({ pid: info.pid, acquiredAt: info.acquiredAt, hostname: info.hostname }, '项目已被其他进程打开(锁文件存在),继续操作可能导致数据冲突');
92
+ }
93
+ else {
94
+ // 残留锁,清理
95
+ logger.info({ pid: info.pid }, '清理残留锁文件(进程已退出)');
96
+ await this.safeUnlink(lockPath);
97
+ }
98
+ }
99
+ else {
100
+ // 锁文件结构损坏(合法 JSON 但非 LockInfo),清理后 fall through 到写入新锁
101
+ logger.warn({ path: lockPath }, '锁文件结构损坏,清理残留');
102
+ await this.safeUnlink(lockPath);
103
+ }
104
+ }
105
+ catch (err) {
106
+ // 锁文件不存在或损坏,清理:记录 debug 日志便于排查(不存在属正常首次启动)
107
+ logger.debug({ path: lockPath, err: toError(err).message }, '锁文件读取失败,清理残留');
108
+ await this.safeUnlink(lockPath);
109
+ }
110
+ // 写入新锁
111
+ const lockInfo = {
112
+ pid: process.pid,
113
+ acquiredAt: nowIso(),
114
+ hostname: hostname(),
115
+ };
116
+ await mkdir(memoraDir, { recursive: true });
117
+ await writeFile(lockPath, JSON.stringify(lockInfo, null, 2), 'utf-8');
118
+ this.currentLockPath = lockPath;
119
+ }
120
+ /**
121
+ * 释放锁文件
122
+ *
123
+ * 删除当前持有的锁文件,并重置内部状态。
124
+ * 未持有锁时为 no-op。
125
+ */
126
+ async release() {
127
+ if (this.currentLockPath) {
128
+ await this.safeUnlink(this.currentLockPath);
129
+ this.currentLockPath = null;
130
+ }
131
+ }
132
+ /**
133
+ * 安全删除文件(忽略不存在的错误)
134
+ *
135
+ * @param filePath - 待删除文件路径
136
+ */
137
+ async safeUnlink(filePath) {
138
+ try {
139
+ await unlink(filePath);
140
+ }
141
+ catch (err) {
142
+ logger.debug({ path: filePath, err: toError(err).message }, 'safeUnlink 忽略删除失败');
143
+ }
144
+ }
145
+ /**
146
+ * 检查进程是否存活
147
+ *
148
+ * 跨平台统一使用 process.kill(pid, 0) 探测进程存活
149
+ * (Windows 上 process.kill(pid, 0) 同样有效)
150
+ *
151
+ * @param pid - 待检查的进程 ID
152
+ * @returns true 表示进程存活
153
+ */
154
+ isProcessAlive(pid) {
155
+ try {
156
+ // 发送信号 0 检查进程是否存在(POSIX 兼容)
157
+ // Windows 上 process.kill(pid, 0) 也会抛出错误如果进程不存在
158
+ process.kill(pid, 0);
159
+ return true;
160
+ }
161
+ catch {
162
+ logger.debug({ pid }, '进程不存在');
163
+ return false;
164
+ }
165
+ }
166
+ }
167
+ //# sourceMappingURL=lockManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lockManager.js","sourceRoot":"","sources":["../../src/memory/lockManager.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import type { IMemoryStorage } from '../memory/storageInterface.js';
3
3
  import type { LoadResult } from '../memory/loader.js';
4
4
  import type { SecurityGuard } from '../security/pathGuard.js';
5
5
  import { type Memory } from '../memory/types.js';
6
+ import { type ProjectEntry } from '../memory/projectRegistry.js';
7
+ export type { ProjectEntry } from '../memory/projectRegistry.js';
6
8
  /**
7
9
  * 项目上下文:打开一个项目后产出的一组组件
8
10
  * 与 DomainContext 类似,但增加了项目级别的信息
@@ -27,17 +29,6 @@ export interface ProjectContext {
27
29
  /** 加载结果 */
28
30
  loadResult: LoadResult;
29
31
  }
30
- /**
31
- * 项目注册表条目
32
- */
33
- export interface ProjectEntry {
34
- /** 项目根目录的绝对路径 */
35
- path: string;
36
- /** 项目名称(用户自定义或目录名) */
37
- name: string;
38
- /** 最后打开时间 */
39
- lastOpened: string;
40
- }
41
32
  /**
42
33
  * ProjectManager 构造选项
43
34
  */
@@ -64,22 +55,25 @@ export interface ProjectManagerOptions {
64
55
  * 1. 初始化当前项目(加锁 + 加载两层配置)
65
56
  * 2. /project <name> 切换到新项目(解锁旧项目 + 加锁新项目)
66
57
  * 3. 退出时清理锁文件
58
+ *
59
+ * P1-4 拆分后:注册表/锁文件实现委托给 ProjectRegistry / LockManager,
60
+ * 本类聚焦生命周期编排。
67
61
  */
68
62
  export declare class ProjectManager {
69
- /** 项目注册表路径 */
70
- private readonly registryPath;
71
63
  /** Agent 级数据目录(memora.db 所在目录) */
72
64
  private readonly agentDataDir;
73
65
  /** Agent 级存储实例(全局共享,不随项目切换重建) */
74
66
  private agentIndex;
75
67
  /** 当前打开的项目路径 */
76
68
  private currentProjectPath;
77
- /** 当前持有的锁文件路径 */
78
- private currentLockPath;
79
69
  /** 外部注入的存储实例(可选,不传则内部创建 InMemoryStorage 兜底) */
80
70
  private externalStorage;
81
71
  /** SecurityGuard 工厂函数(由 Agent 层注入) */
82
72
  private readonly createSecurityGuard?;
73
+ /** 项目注册表(P1-4 拆分,专职管理 projects.json) */
74
+ private readonly registry;
75
+ /** 锁文件管理器(P1-4 拆分,专职管理 .memora/.lock) */
76
+ private readonly lockManager;
83
77
  constructor(options: ProjectManagerOptions);
84
78
  /**
85
79
  * 确保 Agent 级资源已初始化(存储实例)
@@ -145,67 +139,43 @@ export declare class ProjectManager {
145
139
  shutdown(): Promise<void>;
146
140
  /**
147
141
  * 列出已注册的项目(IX-02:统一为 getter 风格,与 persona/skill 一致)
142
+ *
143
+ * P1-4 拆分后委托给 ProjectRegistry。
148
144
  */
149
145
  get list(): ProjectEntry[];
150
146
  /**
151
147
  * 列出已注册的项目
152
- * @deprecated 请使用 `projectManager.list` getter 代替
148
+ *
149
+ * v1.0 公共 API(CHANGELOG 迁移路径:`agent.listProjects()` → `agent.projects.listProjects()`)。
150
+ * 与 `.list` getter 等价,保留方法形式以兼容 0.3 迁移路径。
153
151
  */
154
152
  listProjects(): ProjectEntry[];
155
153
  /**
156
154
  * 注册项目到注册表
155
+ *
156
+ * P1-4 拆分后委托给 ProjectRegistry。
157
+ *
158
+ * @param projectPath 项目根目录
159
+ * @param name 项目名称
157
160
  */
158
161
  registerProject(projectPath: string, name: string): void;
159
162
  /**
160
163
  * 从注册表移除项目
164
+ *
165
+ * P1-4 拆分后委托给 ProjectRegistry。
166
+ *
167
+ * @param projectPath 项目根目录
161
168
  */
162
169
  unregisterProject(projectPath: string): void;
163
170
  /**
164
171
  * 获取当前项目路径
165
172
  */
166
173
  get currentProject(): string | null;
167
- /**
168
- * 获取锁文件
169
- * 如果锁文件存在且进程存活,发出警告但不阻止
170
- * 如果锁文件存在但进程已死,清理残留锁
171
- */
172
- private acquireLock;
173
- /**
174
- * 释放锁文件
175
- */
176
- private releaseLock;
177
- /**
178
- * 安全删除文件(忽略不存在的错误)
179
- */
180
- private safeUnlink;
181
- /**
182
- * 检查进程是否存活
183
- *
184
- * 跨平台统一使用 process.kill(pid, 0) 探测进程存活
185
- * (Windows 上 process.kill(pid, 0) 同样有效)
186
- */
187
- private isProcessAlive;
188
174
  /**
189
175
  * 解析项目的 .memora/ 目录路径
190
176
  * 每个项目有独立的 .memora/ 目录(在项目根目录下)
191
177
  * 这与 config.memory.dataDir(用户级默认目录)不同
192
178
  */
193
179
  private resolveMemoraDir;
194
- /**
195
- * 从项目路径推断项目名称
196
- * 取路径最后一段目录名
197
- */
198
- private inferProjectName;
199
- /**
200
- * 读取项目注册表
201
- *
202
- * 同步读取:list getter 契约要求同步返回,注册表操作低频,同步 I/O 影响可控
203
- * 损坏时返回空数组并记录警告日志,避免静默吞错掩盖磁盘故障
204
- */
205
- private readRegistry;
206
- /**
207
- * 写入项目注册表
208
- */
209
- private writeRegistry;
210
180
  }
211
181
  //# sourceMappingURL=projectManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectManager.d.ts","sourceRoot":"","sources":["../../src/memory/projectManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectManager.d.ts","sourceRoot":"","sources":["../../src/memory/projectManager.ts"],"names":[],"mappings":"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"}