n2-soul 9.0.4 → 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.
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/config.js +1 -2
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/entity-memory.d.ts +1 -0
- package/dist/lib/entity-memory.js +5 -6
- package/dist/lib/entity-memory.js.map +1 -1
- package/dist/lib/kv-cache/backup.d.ts +23 -4
- package/dist/lib/kv-cache/backup.js +85 -58
- package/dist/lib/kv-cache/backup.js.map +1 -1
- package/dist/lib/kv-cache/index.d.ts +7 -4
- package/dist/lib/kv-cache/index.js +19 -8
- package/dist/lib/kv-cache/index.js.map +1 -1
- package/dist/lib/kv-cache/snapshot.js +2 -1
- package/dist/lib/kv-cache/snapshot.js.map +1 -1
- package/dist/lib/kv-cache/sqlite-store.d.ts +6 -0
- package/dist/lib/kv-cache/sqlite-store.js +42 -52
- package/dist/lib/kv-cache/sqlite-store.js.map +1 -1
- package/dist/lib/kv-cache/tier-manager.js +2 -2
- package/dist/lib/kv-cache/token-saver.js +28 -22
- package/dist/lib/kv-cache/token-saver.js.map +1 -1
- package/dist/sequences/boot.d.ts +2 -1
- package/dist/sequences/boot.js +102 -93
- package/dist/sequences/boot.js.map +1 -1
- package/dist/sequences/end.d.ts +2 -1
- package/dist/sequences/end.js +150 -150
- package/dist/sequences/end.js.map +1 -1
- package/dist/sequences/work.d.ts +2 -1
- package/dist/sequences/work.js +131 -112
- package/dist/sequences/work.js.map +1 -1
- package/dist/tools/brain.js +23 -26
- package/dist/tools/brain.js.map +1 -1
- package/dist/tools/kv-cache.js +43 -43
- package/dist/tools/kv-cache.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
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
|
-
|
|
19
|
-
|
|
20
|
-
(0,
|
|
21
|
-
(0,
|
|
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,
|
|
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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -12,8 +12,7 @@ try {
|
|
|
12
12
|
local = (typeof rawConf === 'object' && rawConf !== null ? rawConf : {});
|
|
13
13
|
}
|
|
14
14
|
catch (e) {
|
|
15
|
-
|
|
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) */
|
package/dist/lib/config.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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":";;;;;;AAAA,2FAA2F;AAC3F,4CAAoB;AACpB,gDAAwB;AACxB,mCAAsD;AAkCtD;;;;GAIG;AACH,MAAa,YAAY;
|
|
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):
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
255
|
-
|
|
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
|
|
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
|
-
|
|
266
|
-
|
|
293
|
+
(0, utils_1.writeFile)(path_1.default.join(embDir, `${String(row[0])}.json`), String(row[1]));
|
|
294
|
+
count++;
|
|
267
295
|
}
|
|
268
296
|
}
|
|
269
|
-
|
|
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
|
-
|
|
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<
|
|
72
|
+
}): Promise<BackupResult>;
|
|
72
73
|
/** Restore from backup */
|
|
73
74
|
restore(project: string, backupId?: string | null, options?: {
|
|
74
75
|
target?: 'sqlite' | 'json';
|
|
75
|
-
}): Promise<
|
|
76
|
+
}): Promise<RestoreResult>;
|
|
76
77
|
/** List backup history for a project */
|
|
77
|
-
listBackups(project: string):
|
|
78
|
+
listBackups(project: string): (ManifestEntry & {
|
|
79
|
+
sizeFormatted: string;
|
|
80
|
+
})[];
|
|
78
81
|
/** Backup status for a project */
|
|
79
|
-
backupStatus(project: string):
|
|
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 ||
|
|
70
|
-
maxSnapshotsPerProject: config.maxSnapshotsPerProject ||
|
|
71
|
-
maxSnapshotAgeDays: config.maxSnapshotAgeDays ||
|
|
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:
|
|
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,
|
|
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
|
-
},
|
|
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
|
-
|
|
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`);
|