n2-soul 9.0.3 → 9.0.5

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 (36) hide show
  1. package/dist/index.js +6 -4
  2. package/dist/index.js.map +1 -1
  3. package/dist/lib/config.js +1 -2
  4. package/dist/lib/config.js.map +1 -1
  5. package/dist/lib/entity-memory.d.ts +1 -0
  6. package/dist/lib/entity-memory.js +5 -6
  7. package/dist/lib/entity-memory.js.map +1 -1
  8. package/dist/lib/kv-cache/backup.d.ts +23 -4
  9. package/dist/lib/kv-cache/backup.js +85 -58
  10. package/dist/lib/kv-cache/backup.js.map +1 -1
  11. package/dist/lib/kv-cache/index.d.ts +7 -4
  12. package/dist/lib/kv-cache/index.js +19 -8
  13. package/dist/lib/kv-cache/index.js.map +1 -1
  14. package/dist/lib/kv-cache/snapshot.js +2 -1
  15. package/dist/lib/kv-cache/snapshot.js.map +1 -1
  16. package/dist/lib/kv-cache/sqlite-store.d.ts +6 -0
  17. package/dist/lib/kv-cache/sqlite-store.js +42 -52
  18. package/dist/lib/kv-cache/sqlite-store.js.map +1 -1
  19. package/dist/lib/kv-cache/tier-manager.js +2 -2
  20. package/dist/lib/kv-cache/token-saver.js +28 -22
  21. package/dist/lib/kv-cache/token-saver.js.map +1 -1
  22. package/dist/sequences/boot.d.ts +2 -1
  23. package/dist/sequences/boot.js +102 -93
  24. package/dist/sequences/boot.js.map +1 -1
  25. package/dist/sequences/end.d.ts +2 -1
  26. package/dist/sequences/end.js +150 -150
  27. package/dist/sequences/end.js.map +1 -1
  28. package/dist/sequences/work.d.ts +2 -1
  29. package/dist/sequences/work.js +131 -112
  30. package/dist/sequences/work.js.map +1 -1
  31. package/dist/tools/brain.js +23 -26
  32. package/dist/tools/brain.js.map +1 -1
  33. package/dist/tools/kv-cache.js +43 -43
  34. package/dist/tools/kv-cache.js.map +1 -1
  35. package/dist/types.d.ts +1 -0
  36. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
8
8
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
9
9
  const zod_1 = require("zod");
10
10
  const config_1 = __importDefault(require("./lib/config"));
11
+ const soul_engine_1 = require("./lib/soul-engine");
11
12
  const boot_1 = require("./sequences/boot");
12
13
  const work_1 = require("./sequences/work");
13
14
  const end_1 = require("./sequences/end");
@@ -15,10 +16,11 @@ const brain_1 = require("./tools/brain");
15
16
  const kv_cache_1 = require("./tools/kv-cache");
16
17
  const package_json_1 = __importDefault(require("../package.json"));
17
18
  const server = new mcp_js_1.McpServer({ name: 'n2-soul', version: package_json_1.default.version });
18
- // Register core modules
19
- (0, boot_1.registerBootSequence)(server, zod_1.z, config_1.default);
20
- (0, work_1.registerWorkSequence)(server, zod_1.z, config_1.default);
21
- (0, end_1.registerEndSequence)(server, zod_1.z, config_1.default);
19
+ const engine = new soul_engine_1.SoulEngine(config_1.default.DATA_DIR);
20
+ // Register core modules (shared SoulEngine instance)
21
+ (0, boot_1.registerBootSequence)(server, zod_1.z, config_1.default, engine);
22
+ (0, work_1.registerWorkSequence)(server, zod_1.z, config_1.default, engine);
23
+ (0, end_1.registerEndSequence)(server, zod_1.z, config_1.default, engine);
22
24
  (0, brain_1.registerBrainTools)(server, zod_1.z, config_1.default);
23
25
  (0, kv_cache_1.registerKVCacheTools)(server, zod_1.z, config_1.default);
24
26
  // Start MCP transport
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,+EAA+E;AAC/E,oEAAoE;AACpE,wEAAiF;AACjF,6BAAwB;AAExB,0DAAkC;AAClC,2CAAwD;AACxD,2CAA6E;AAC7E,yCAAsD;AACtD,yCAAmD;AACnD,+CAAwD;AAExD,mEAAkC;AAElC,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAG,CAAC,OAAO,EAAE,CAAkF,CAAC;AAEzJ,wBAAwB;AACxB,IAAA,2BAAoB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,CAAC,CAAC;AACxC,IAAA,2BAAoB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,CAAC,CAAC;AACxC,IAAA,yBAAmB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,CAAC,CAAC;AACvC,IAAA,0BAAkB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,CAAC,CAAC;AACtC,IAAA,+BAAoB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,CAAC,CAAC;AAExC,sBAAsB;AACtB,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,SAAS,QAAQ;IACf,IAAA,0BAAmB,GAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,+EAA+E;AAC/E,oEAAoE;AACpE,wEAAiF;AACjF,6BAAwB;AAExB,0DAAkC;AAClC,mDAA+C;AAC/C,2CAAwD;AACxD,2CAA6E;AAC7E,yCAAsD;AACtD,yCAAmD;AACnD,+CAAwD;AAExD,mEAAkC;AAElC,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAG,CAAC,OAAO,EAAE,CAAkB,CAAC;AACzF,MAAM,MAAM,GAAG,IAAI,wBAAU,CAAC,gBAAM,CAAC,QAAQ,CAAC,CAAC;AAE/C,qDAAqD;AACrD,IAAA,2BAAoB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,EAAE,MAAM,CAAC,CAAC;AAChD,IAAA,2BAAoB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,EAAE,MAAM,CAAC,CAAC;AAChD,IAAA,yBAAmB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,EAAE,MAAM,CAAC,CAAC;AAC/C,IAAA,0BAAkB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,CAAC,CAAC;AACtC,IAAA,+BAAoB,EAAC,MAAM,EAAE,OAAC,EAAE,gBAAM,CAAC,CAAC;AAExC,sBAAsB;AACtB,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,SAAS,QAAQ;IACf,IAAA,0BAAmB,GAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC"}
@@ -12,8 +12,7 @@ try {
12
12
  local = (typeof rawConf === 'object' && rawConf !== null ? rawConf : {});
13
13
  }
14
14
  catch (e) {
15
- const err = e;
16
- if (err.code !== 'MODULE_NOT_FOUND')
15
+ if (e instanceof Error && 'code' in e && e.code !== 'MODULE_NOT_FOUND')
17
16
  throw e;
18
17
  }
19
18
  /** Deep merge: local overrides default, nested objects are merged (not replaced) */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";;;;;AAEA,sEAAwC;AAMxC,IAAI,KAAK,GAA4B,EAAE,CAAC;AACxC,IAAI,CAAC;IACH,sFAAsF;IACtF,sFAAsF;IACtF,MAAM,OAAO,GAAY,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,KAAK,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;AACtG,CAAC;AAAC,OAAO,CAAU,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,CAA0B,CAAC;IACvC,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB;QAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,oFAAoF;AACpF,SAAS,SAAS,CAChB,IAAO,EACP,QAAwB;IAExB,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAA6B,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAA4B,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAc,CAAC,CAAC;QAChC,IACE,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAClD,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CACrB,EAA6B,EAC7B,EAA0C,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,MAAM,MAAM,GAAe,SAAS,CAClC,wBAA8C,EAC9C,KAAwD,CAChC,CAAC;AAE3B,sEAAsE;AACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;IAC5D,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;AACrH,CAAC;AACD,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,sBAAsB,KAAK,SAAS,EAAE,CAAC;IACtF,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,sBAAsB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;QAC7G,OAAO,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACjH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,EAAE,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";;;;;AAEA,sEAAwC;AAMxC,IAAI,KAAK,GAA4B,EAAE,CAAC;AACxC,IAAI,CAAC;IACH,sFAAsF;IACtF,sFAAsF;IACtF,MAAM,OAAO,GAAY,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,KAAK,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;AACtG,CAAC;AAAC,OAAO,CAAU,EAAE,CAAC;IACpB,IAAI,CAAC,YAAY,KAAK,IAAI,MAAM,IAAI,CAAC,IAAK,CAA2B,CAAC,IAAI,KAAK,kBAAkB;QAAE,MAAM,CAAC,CAAC;AAC7G,CAAC;AAED,oFAAoF;AACpF,SAAS,SAAS,CAChB,IAAO,EACP,QAAwB;IAExB,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAA6B,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAA4B,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAc,CAAC,CAAC;QAChC,IACE,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAClD,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CACrB,EAA6B,EAC7B,EAA0C,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC;AAID,MAAM,MAAM,GAAe,SAAS,CAClC,wBAAyB,EACzB,KAAmC,CACpC,CAAC;AAEF,sEAAsE;AACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;IAC5D,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;AACrH,CAAC;AACD,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,sBAAsB,KAAK,SAAS,EAAE,CAAC;IACtF,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,sBAAsB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;QAC7G,OAAO,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACjH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,EAAE,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,kBAAe,MAAM,CAAC"}
@@ -27,6 +27,7 @@ interface BatchResult {
27
27
  * Entity types: person, hardware, project, concept, place, service
28
28
  */
29
29
  export declare class EntityMemory {
30
+ private static readonly MAX_ENTITIES;
30
31
  private readonly filePath;
31
32
  private _cache;
32
33
  constructor(dataDir: string);
@@ -14,6 +14,7 @@ const utils_1 = require("./utils");
14
14
  * Entity types: person, hardware, project, concept, place, service
15
15
  */
16
16
  class EntityMemory {
17
+ static MAX_ENTITIES = 500;
17
18
  filePath;
18
19
  _cache;
19
20
  constructor(dataDir) {
@@ -62,10 +63,9 @@ class EntityMemory {
62
63
  };
63
64
  data.entities.push(newEntity);
64
65
  // Auto-cap: remove least-mentioned entities when exceeding limit
65
- const MAX_ENTITIES = 500;
66
- if (data.entities.length > MAX_ENTITIES) {
66
+ if (data.entities.length > EntityMemory.MAX_ENTITIES) {
67
67
  data.entities.sort((a, b) => (b.mentionCount || 0) - (a.mentionCount || 0));
68
- data.entities = data.entities.slice(0, MAX_ENTITIES);
68
+ data.entities = data.entities.slice(0, EntityMemory.MAX_ENTITIES);
69
69
  }
70
70
  this._save(data);
71
71
  return { action: 'created', entity: newEntity };
@@ -101,10 +101,9 @@ class EntityMemory {
101
101
  changed = true;
102
102
  }
103
103
  // Auto-cap after batch
104
- const MAX_ENTITIES = 500;
105
- if (data.entities.length > MAX_ENTITIES) {
104
+ if (data.entities.length > EntityMemory.MAX_ENTITIES) {
106
105
  data.entities.sort((a, b) => (b.mentionCount || 0) - (a.mentionCount || 0));
107
- data.entities = data.entities.slice(0, MAX_ENTITIES);
106
+ data.entities = data.entities.slice(0, EntityMemory.MAX_ENTITIES);
108
107
  }
109
108
  if (changed)
110
109
  this._save(data);
@@ -1 +1 @@
1
- {"version":3,"file":"entity-memory.js","sourceRoot":"","sources":["../../src/lib/entity-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-memory.js","sourceRoot":"","sources":["../../src/lib/entity-memory.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ interface BackupConfig {
3
3
  keepCount?: number;
4
4
  incremental?: boolean;
5
5
  }
6
- interface ManifestEntry {
6
+ export interface ManifestEntry {
7
7
  id: string;
8
8
  type: string;
9
9
  timestamp: string;
@@ -11,7 +11,7 @@ interface ManifestEntry {
11
11
  snapshots?: number;
12
12
  embeddings?: number;
13
13
  }
14
- interface BackupResult {
14
+ export interface BackupResult {
15
15
  backupId: string | null;
16
16
  snapshots?: number;
17
17
  embeddings?: number;
@@ -22,7 +22,7 @@ interface BackupResult {
22
22
  message?: string;
23
23
  error?: string;
24
24
  }
25
- interface RestoreResult {
25
+ export interface RestoreResult {
26
26
  restored: number | string;
27
27
  embeddings?: number;
28
28
  backupId?: string;
@@ -32,6 +32,13 @@ interface RestoreResult {
32
32
  interface RestoreOptions {
33
33
  target?: 'sqlite' | 'json';
34
34
  }
35
+ export interface BackupStatusResult {
36
+ project: string;
37
+ totalBackups: number;
38
+ lastBackup: string | null;
39
+ totalBackupSize: string;
40
+ keepCount: number;
41
+ }
35
42
  interface BackupOptions {
36
43
  full?: boolean;
37
44
  }
@@ -47,14 +54,26 @@ export declare class BackupManager {
47
54
  backup(project: string, options?: BackupOptions): Promise<BackupResult>;
48
55
  private _backupByCopy;
49
56
  private _backupFromJson;
57
+ /** Recursively collect JSON snapshot files */
58
+ private _collectSnapFiles;
59
+ /** Initialize backup DB schema */
60
+ private _initBackupSchema;
61
+ /** Insert snapshots from JSON files into backup DB */
62
+ private _insertSnapshotsIntoDb;
63
+ /** Insert embeddings into backup DB */
64
+ private _insertEmbeddingsIntoDb;
50
65
  /** Restore from backup */
51
66
  restore(project: string, backupId?: string | null, options?: RestoreOptions): Promise<RestoreResult>;
67
+ /** Restore snapshots from backup DB to JSON files */
68
+ private _restoreSnapshots;
69
+ /** Restore embeddings from backup DB to JSON files */
70
+ private _restoreEmbeddings;
52
71
  /** List backup history */
53
72
  list(project: string): (ManifestEntry & {
54
73
  sizeFormatted: string;
55
74
  })[];
56
75
  /** Backup status summary */
57
- status(project: string): Record<string, unknown>;
76
+ status(project: string): BackupStatusResult;
58
77
  private _cleanup;
59
78
  private _makeBackupId;
60
79
  private _loadManifest;
@@ -40,6 +40,7 @@ exports.BackupManager = void 0;
40
40
  // Soul KV-Cache v9.0 — Backup/Restore engine. sqlite-store compatible DB backup.
41
41
  const path_1 = __importDefault(require("path"));
42
42
  const fs_1 = __importDefault(require("fs"));
43
+ const utils_1 = require("../utils");
43
44
  /** KV-Cache Backup Manager */
44
45
  class BackupManager {
45
46
  dataDir;
@@ -101,16 +102,7 @@ class BackupManager {
101
102
  if (!fs_1.default.existsSync(snapDir)) {
102
103
  return { backupId: null, snapshots: 0, sizeBytes: 0, type: 'empty', error: 'No snapshots' };
103
104
  }
104
- const snapFiles = [];
105
- const scanDir = (dir) => {
106
- for (const entry of fs_1.default.readdirSync(dir, { withFileTypes: true })) {
107
- if (entry.isDirectory())
108
- scanDir(path_1.default.join(dir, entry.name));
109
- else if (entry.name.endsWith('.json'))
110
- snapFiles.push(path_1.default.join(dir, entry.name));
111
- }
112
- };
113
- scanDir(snapDir);
105
+ const snapFiles = this._collectSnapFiles(snapDir);
114
106
  if (snapFiles.length === 0) {
115
107
  return { backupId: null, snapshots: 0, sizeBytes: 0, type: 'empty', error: 'No snapshots' };
116
108
  }
@@ -129,6 +121,45 @@ class BackupManager {
129
121
  }
130
122
  }
131
123
  const db = new SQL.Database();
124
+ this._initBackupSchema(db);
125
+ const snapCount = this._insertSnapshotsIntoDb(db, snapFiles, project);
126
+ const embCount = this._insertEmbeddingsIntoDb(db, project);
127
+ const backupId = this._makeBackupId();
128
+ const destPath = path_1.default.join(this.backupDir, project, `backup-${backupId}.sqlite`);
129
+ const dbData = db.export();
130
+ const buffer = Buffer.from(dbData);
131
+ fs_1.default.writeFileSync(destPath, buffer);
132
+ db.close();
133
+ const entry = {
134
+ id: backupId, type: 'full', timestamp: new Date().toISOString(),
135
+ snapshots: snapCount, embeddings: embCount, sizeBytes: buffer.length,
136
+ };
137
+ manifest.backups.push(entry);
138
+ manifest.lastBackup = entry.timestamp;
139
+ this._saveManifest(project, manifest);
140
+ this._cleanup(project);
141
+ return {
142
+ backupId, snapshots: snapCount, embeddings: embCount,
143
+ sizeBytes: buffer.length, sizeFormatted: this._formatBytes(buffer.length),
144
+ type: 'full', path: destPath,
145
+ };
146
+ }
147
+ /** Recursively collect JSON snapshot files */
148
+ _collectSnapFiles(dir) {
149
+ const files = [];
150
+ const scan = (d) => {
151
+ for (const entry of fs_1.default.readdirSync(d, { withFileTypes: true })) {
152
+ if (entry.isDirectory())
153
+ scan(path_1.default.join(d, entry.name));
154
+ else if (entry.name.endsWith('.json'))
155
+ files.push(path_1.default.join(d, entry.name));
156
+ }
157
+ };
158
+ scan(dir);
159
+ return files;
160
+ }
161
+ /** Initialize backup DB schema */
162
+ _initBackupSchema(db) {
132
163
  db.run(`
133
164
  CREATE TABLE IF NOT EXISTS snapshots (
134
165
  id TEXT PRIMARY KEY, agent_name TEXT NOT NULL, agent_type TEXT DEFAULT 'external',
@@ -140,13 +171,16 @@ class BackupManager {
140
171
  `);
141
172
  db.run(`CREATE INDEX IF NOT EXISTS idx_snapshots_project ON snapshots(project_name, ended_at DESC)`);
142
173
  db.run(`CREATE TABLE IF NOT EXISTS embeddings (snapshot_id TEXT PRIMARY KEY, vector BLOB NOT NULL)`);
174
+ }
175
+ /** Insert snapshots from JSON files into backup DB */
176
+ _insertSnapshotsIntoDb(db, snapFiles, project) {
143
177
  const stmt = db.prepare(`
144
178
  INSERT OR REPLACE INTO snapshots
145
179
  (id, agent_name, agent_type, model, started_at, ended_at,
146
180
  turn_count, token_estimate, keys, context, parent_session_id, project_name)
147
181
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
148
182
  `);
149
- let snapCount = 0;
183
+ let count = 0;
150
184
  try {
151
185
  for (const filePath of snapFiles) {
152
186
  try {
@@ -159,7 +193,7 @@ class BackupManager {
159
193
  JSON.stringify(s.keys ?? []), JSON.stringify(s.context ?? {}),
160
194
  s.parentSessionId ?? null, s.projectName ?? project,
161
195
  ]);
162
- snapCount++;
196
+ count++;
163
197
  }
164
198
  catch { /* skip corrupt */ }
165
199
  }
@@ -167,44 +201,29 @@ class BackupManager {
167
201
  finally {
168
202
  stmt.free();
169
203
  }
170
- // Embeddings backup
204
+ return count;
205
+ }
206
+ /** Insert embeddings into backup DB */
207
+ _insertEmbeddingsIntoDb(db, project) {
171
208
  const embDir = path_1.default.join(this.dataDir, 'kv-cache', 'embeddings', project);
172
- let embCount = 0;
173
- if (fs_1.default.existsSync(embDir)) {
174
- const embStmt = db.prepare('INSERT OR REPLACE INTO embeddings (snapshot_id, vector) VALUES (?, ?)');
175
- try {
176
- for (const file of fs_1.default.readdirSync(embDir).filter(f => f.endsWith('.json'))) {
177
- try {
178
- const vec = fs_1.default.readFileSync(path_1.default.join(embDir, file), 'utf-8');
179
- embStmt.run([path_1.default.basename(file, '.json'), vec]);
180
- embCount++;
181
- }
182
- catch { /* skip */ }
209
+ if (!fs_1.default.existsSync(embDir))
210
+ return 0;
211
+ let count = 0;
212
+ const stmt = db.prepare('INSERT OR REPLACE INTO embeddings (snapshot_id, vector) VALUES (?, ?)');
213
+ try {
214
+ for (const file of fs_1.default.readdirSync(embDir).filter(f => f.endsWith('.json'))) {
215
+ try {
216
+ const vec = fs_1.default.readFileSync(path_1.default.join(embDir, file), 'utf-8');
217
+ stmt.run([path_1.default.basename(file, '.json'), vec]);
218
+ count++;
183
219
  }
184
- }
185
- finally {
186
- embStmt.free();
220
+ catch { /* skip */ }
187
221
  }
188
222
  }
189
- const backupId = this._makeBackupId();
190
- const destPath = path_1.default.join(this.backupDir, project, `backup-${backupId}.sqlite`);
191
- const dbData = db.export();
192
- const buffer = Buffer.from(dbData);
193
- fs_1.default.writeFileSync(destPath, buffer);
194
- db.close();
195
- const entry = {
196
- id: backupId, type: 'full', timestamp: new Date().toISOString(),
197
- snapshots: snapCount, embeddings: embCount, sizeBytes: buffer.length,
198
- };
199
- manifest.backups.push(entry);
200
- manifest.lastBackup = entry.timestamp;
201
- this._saveManifest(project, manifest);
202
- this._cleanup(project);
203
- return {
204
- backupId, snapshots: snapCount, embeddings: embCount,
205
- sizeBytes: buffer.length, sizeFormatted: this._formatBytes(buffer.length),
206
- type: 'full', path: destPath,
207
- };
223
+ finally {
224
+ stmt.free();
225
+ }
226
+ return count;
208
227
  }
209
228
  /** Restore from backup */
210
229
  async restore(project, backupId, options = {}) {
@@ -217,8 +236,7 @@ class BackupManager {
217
236
  const dbPath = path_1.default.join(this.backupDir, project, `backup-${backupId}.sqlite`);
218
237
  if (!fs_1.default.existsSync(dbPath))
219
238
  return { error: `Backup not found: ${backupId}`, restored: 0 };
220
- const target = options.target || 'json';
221
- if (target === 'sqlite') {
239
+ if ((options.target || 'json') === 'sqlite') {
222
240
  const destDir = path_1.default.join(this.dataDir, 'kv-cache', 'sqlite');
223
241
  if (!fs_1.default.existsSync(destDir))
224
242
  fs_1.default.mkdirSync(destDir, { recursive: true });
@@ -228,10 +246,17 @@ class BackupManager {
228
246
  const SQL = await this._initSql();
229
247
  const dbData = fs_1.default.readFileSync(dbPath);
230
248
  const db = new SQL.Database(dbData);
249
+ const restoredSnaps = this._restoreSnapshots(db, project);
250
+ const restoredEmbs = this._restoreEmbeddings(db, project);
251
+ db.close();
252
+ return { restored: restoredSnaps, embeddings: restoredEmbs, backupId, target: 'json' };
253
+ }
254
+ /** Restore snapshots from backup DB to JSON files */
255
+ _restoreSnapshots(db, project) {
231
256
  const snapDir = path_1.default.join(this.dataDir, 'kv-cache', 'snapshots', project);
232
257
  if (!fs_1.default.existsSync(snapDir))
233
258
  fs_1.default.mkdirSync(snapDir, { recursive: true });
234
- let restoredSnaps = 0;
259
+ let count = 0;
235
260
  const snapRows = db.exec('SELECT * FROM snapshots');
236
261
  if (snapRows.length > 0 && snapRows[0]) {
237
262
  const cols = snapRows[0].columns;
@@ -246,28 +271,30 @@ class BackupManager {
246
271
  context: JSON.parse(String(obj.context ?? '{}')),
247
272
  parentSessionId: obj.parent_session_id, projectName: obj.project_name,
248
273
  };
249
- // M5 fix: write to date-dir structure so SnapshotEngine.list() can find them
250
274
  const dateStr = (String(session.endedAt || session.startedAt || '')).split('T')[0] || '1970-01-01';
251
275
  const dateDir = path_1.default.join(snapDir, dateStr);
252
276
  if (!fs_1.default.existsSync(dateDir))
253
277
  fs_1.default.mkdirSync(dateDir, { recursive: true });
254
- fs_1.default.writeFileSync(path_1.default.join(dateDir, `${String(session.id)}.json`), JSON.stringify(session, null, 2));
255
- restoredSnaps++;
278
+ (0, utils_1.writeFile)(path_1.default.join(dateDir, `${String(session.id)}.json`), JSON.stringify(session, null, 2));
279
+ count++;
256
280
  }
257
281
  }
282
+ return count;
283
+ }
284
+ /** Restore embeddings from backup DB to JSON files */
285
+ _restoreEmbeddings(db, project) {
258
286
  const embDir = path_1.default.join(this.dataDir, 'kv-cache', 'embeddings', project);
259
287
  if (!fs_1.default.existsSync(embDir))
260
288
  fs_1.default.mkdirSync(embDir, { recursive: true });
261
- let restoredEmbs = 0;
289
+ let count = 0;
262
290
  const embRows = db.exec('SELECT snapshot_id, vector FROM embeddings');
263
291
  if (embRows.length > 0 && embRows[0]) {
264
292
  for (const row of embRows[0].values) {
265
- fs_1.default.writeFileSync(path_1.default.join(embDir, `${String(row[0])}.json`), String(row[1]));
266
- restoredEmbs++;
293
+ (0, utils_1.writeFile)(path_1.default.join(embDir, `${String(row[0])}.json`), String(row[1]));
294
+ count++;
267
295
  }
268
296
  }
269
- db.close();
270
- return { restored: restoredSnaps, embeddings: restoredEmbs, backupId, target: 'json' };
297
+ return count;
271
298
  }
272
299
  /** List backup history */
273
300
  list(project) {
@@ -321,7 +348,7 @@ class BackupManager {
321
348
  const dir = path_1.default.join(this.backupDir, project);
322
349
  if (!fs_1.default.existsSync(dir))
323
350
  fs_1.default.mkdirSync(dir, { recursive: true });
324
- fs_1.default.writeFileSync(path_1.default.join(dir, 'manifest.json'), JSON.stringify(manifest, null, 2));
351
+ (0, utils_1.writeJson)(path_1.default.join(dir, 'manifest.json'), manifest);
325
352
  }
326
353
  _formatBytes(bytes) {
327
354
  if (!bytes)
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../src/lib/kv-cache/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../src/lib/kv-cache/backup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iFAAiF;AACjF,gDAAwB;AACxB,4CAAoB;AACpB,oCAAgD;AAiGhD,8BAA8B;AAC9B,MAAa,aAAa;IACP,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,SAAS,CAAS;IAC3B,IAAI,CAAqB;IAEjC,YAAY,OAAe,EAAE,SAAuB,EAAE;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,IAAI,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,UAAyB,EAAE;QACvD,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAAE,YAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1F,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,SAAS,CAAC,CAAC;QAEtF,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAEO,aAAa,CACnB,OAAe,EAAE,UAAkB,EAAE,QAAkB,EAAE,OAAsB;QAE/E,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,QAAQ,SAAS,CAAC,CAAC;QACjF,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI;SACtF,CAAC;QACF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO;YACL,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI;YAC5C,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ;SAC5D,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,OAAe,EAAE,QAAkB,EAAE,OAAsB;QAE3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC9F,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACpC,IAAI,CAAC;oBAAC,OAAO,YAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,QAAQ,SAAS,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC/D,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM;SACrE,CAAC;QACF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO;YACL,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ;YACpD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YACzE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;SAC7B,CAAC;IACJ,CAAC;IAED,8CAA8C;IACtC,iBAAiB,CAAC,GAAW;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAS,EAAQ,EAAE;YAC/B,KAAK,MAAM,KAAK,IAAI,YAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/D,IAAI,KAAK,CAAC,WAAW,EAAE;oBAAE,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;qBACnD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kCAAkC;IAC1B,iBAAiB,CAAC,EAAiB;QACzC,EAAE,CAAC,GAAG,CAAC;;;;;;;;KAQN,CAAC,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;QACrG,EAAE,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;IACvG,CAAC;IAED,sDAAsD;IAC9C,sBAAsB,CAAC,EAAiB,EAAE,SAAmB,EAAE,OAAe;QACpF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;KAKvB,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC;YACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;oBACzC,IAAI,CAAC,GAAG,CAAC;wBACP,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,UAAU;wBAC/D,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;wBACpC,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC;wBACzD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;wBAC7D,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,IAAI,OAAO;qBACpD,CAAC,CAAC;oBACH,KAAK,EAAE,CAAC;gBACV,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uCAAuC;IAC/B,uBAAuB,CAAC,EAAiB,EAAE,OAAe;QAChE,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,uEAAuE,CAAC,CAAC;QACjG,IAAI,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,YAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC3E,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC9D,IAAI,CAAC,GAAG,CAAC,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC9C,KAAK,EAAE,CAAC;gBACV,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,QAAwB,EAAE,UAA0B,EAAE;QACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACrF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,QAAQ,SAAS,CAAC,CAAC;QAC/E,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAE3F,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,YAAE,CAAC,YAAY,CAAC,MAAM,EAAE,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,YAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACzF,CAAC;IAED,qDAAqD;IAC7C,iBAAiB,CAAC,EAAiB,EAAE,OAAe;QAC1D,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAwD,EAAE,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU;oBAChE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ;oBAClE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc;oBAC5D,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAa;oBACtD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAA4B;oBAC3E,eAAe,EAAE,GAAG,CAAC,iBAAiB,EAAE,WAAW,EAAE,GAAG,CAAC,YAAY;iBACtE,CAAC;gBACF,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;gBACnG,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC;oBAAE,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxE,IAAA,iBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9F,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sDAAsD;IAC9C,kBAAkB,CAAC,EAAiB,EAAE,OAAe;QAC3D,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAA,iBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnD,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;SACpD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,OAAe;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO;YACL,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;YAC9C,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YAC9E,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,gBAAgB;IAER,QAAQ,CAAC,OAAe;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC;oBAAC,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;oBAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QACD,IAAI,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAEO,aAAa;QACnB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAEO,aAAa,CAAC,OAAe;QACnC,MAAM,CAAC,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,IAAI,YAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAa,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAEO,aAAa,CAAC,OAAe,EAAE,QAAkB;QACvD,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,IAAA,iBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/E,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;CACF;AAnUD,sCAmUC"}
@@ -1,5 +1,6 @@
1
1
  import { SnapshotEngine } from './snapshot';
2
2
  import { TierManager } from './tier-manager';
3
+ import type { BackupResult, RestoreResult, ManifestEntry, BackupStatusResult } from './backup';
3
4
  import type { SessionData } from './schema';
4
5
  import type { KVCacheConfig } from '../../types';
5
6
  interface LoadOptions {
@@ -68,15 +69,17 @@ export declare class SoulKVCache {
68
69
  /** Backup project data */
69
70
  backup(project: string, options?: {
70
71
  full?: boolean;
71
- }): Promise<Record<string, unknown>>;
72
+ }): Promise<BackupResult>;
72
73
  /** Restore from backup */
73
74
  restore(project: string, backupId?: string | null, options?: {
74
75
  target?: 'sqlite' | 'json';
75
- }): Promise<Record<string, unknown>>;
76
+ }): Promise<RestoreResult>;
76
77
  /** List backup history for a project */
77
- listBackups(project: string): Array<Record<string, unknown>>;
78
+ listBackups(project: string): (ManifestEntry & {
79
+ sizeFormatted: string;
80
+ })[];
78
81
  /** Backup status for a project */
79
- backupStatus(project: string): Record<string, unknown>;
82
+ backupStatus(project: string): BackupStatusResult;
80
83
  private _runAutoBackup;
81
84
  /** Stop auto-backup scheduler and cleanup */
82
85
  stopAutoBackup(): void;
@@ -15,6 +15,13 @@ const token_saver_1 = require("./token-saver");
15
15
  const tier_manager_1 = require("./tier-manager");
16
16
  const embedding_1 = require("./embedding");
17
17
  const backup_1 = require("./backup");
18
+ // BackupResult type imported from ./backup — no local duplicate needed
19
+ const DEFAULT_COMPRESSION_TARGET = 1000;
20
+ const AUTO_BACKUP_DELAY_MS = 5 * 60 * 1000;
21
+ const DEFAULT_MAX_SNAPSHOTS = 50;
22
+ const DEFAULT_MAX_AGE_DAYS = 30;
23
+ const DEFAULT_BOOT_TOKEN_BUDGET = 2000;
24
+ const DEFAULT_SEARCH_TOKEN_BUDGET = 500;
18
25
  /** Creates the appropriate storage engine based on config */
19
26
  function createStorageEngine(dataDir, config) {
20
27
  const backend = config.backend || 'json';
@@ -66,11 +73,11 @@ class SoulKVCache {
66
73
  this.dataDir = dataDir;
67
74
  this.config = {
68
75
  backend: config.backend || 'json',
69
- compressionTarget: config.compressionTarget || 1000,
70
- maxSnapshotsPerProject: config.maxSnapshotsPerProject || 50,
71
- maxSnapshotAgeDays: config.maxSnapshotAgeDays || 30,
76
+ compressionTarget: config.compressionTarget || DEFAULT_COMPRESSION_TARGET,
77
+ maxSnapshotsPerProject: config.maxSnapshotsPerProject || DEFAULT_MAX_SNAPSHOTS,
78
+ maxSnapshotAgeDays: config.maxSnapshotAgeDays || DEFAULT_MAX_AGE_DAYS,
72
79
  tokenBudget: config.tokenBudget || {
73
- bootContext: 2000, searchResult: 500, progressiveLoad: true,
80
+ bootContext: DEFAULT_BOOT_TOKEN_BUDGET, searchResult: DEFAULT_SEARCH_TOKEN_BUDGET, progressiveLoad: true,
74
81
  },
75
82
  };
76
83
  // Embedding engine (optional, requires Ollama)
@@ -78,7 +85,7 @@ class SoulKVCache {
78
85
  this._embeddingReady = false;
79
86
  const embConfig = config.embedding;
80
87
  if (embConfig?.enabled) {
81
- this.embedding = new embedding_1.EmbeddingEngine(embConfig);
88
+ this.embedding = new embedding_1.EmbeddingEngine({ model: embConfig.model, endpoint: embConfig.endpoint ?? undefined });
82
89
  this.embedding.isAvailable().then(ok => {
83
90
  this._embeddingReady = ok;
84
91
  if (ok && this.embedding) {
@@ -95,7 +102,11 @@ class SoulKVCache {
95
102
  this._delayTimer = null;
96
103
  const backupConfig = config.backup;
97
104
  if (backupConfig?.enabled) {
98
- this._backup = new backup_1.BackupManager(dataDir, backupConfig);
105
+ this._backup = new backup_1.BackupManager(dataDir, {
106
+ dir: backupConfig.dir ?? undefined,
107
+ keepCount: backupConfig.keepCount,
108
+ incremental: backupConfig.incremental,
109
+ });
99
110
  const schedule = backupConfig.schedule || 'daily';
100
111
  if (schedule !== 'manual') {
101
112
  const intervalMs = schedule === 'weekly' ? 7 * 24 * 60 * 60 * 1000 : 24 * 60 * 60 * 1000;
@@ -109,7 +120,7 @@ class SoulKVCache {
109
120
  if (this._backupTimer && 'unref' in this._backupTimer) {
110
121
  (this._backupTimer).unref();
111
122
  }
112
- }, 5 * 60 * 1000);
123
+ }, AUTO_BACKUP_DELAY_MS);
113
124
  if (this._delayTimer && 'unref' in this._delayTimer) {
114
125
  (this._delayTimer).unref();
115
126
  }
@@ -240,7 +251,7 @@ class SoulKVCache {
240
251
  const dir = path_1.default.join(this.dataDir, 'kv-cache', 'embeddings', project);
241
252
  if (!fs_1.default.existsSync(dir))
242
253
  fs_1.default.mkdirSync(dir, { recursive: true });
243
- fs_1.default.writeFileSync(path_1.default.join(dir, `${snapshotId}.json`), JSON.stringify(vector));
254
+ (0, utils_1.writeFile)(path_1.default.join(dir, `${snapshotId}.json`), JSON.stringify(vector));
244
255
  }
245
256
  _loadEmbedding(project, snapshotId) {
246
257
  const filePath = path_1.default.join(this.dataDir, 'kv-cache', 'embeddings', project, `${snapshotId}.json`);