zelari-code 2.7.0 → 2.9.0
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/README.md +10 -2
- package/dist/cli/budget/modelContextBuilder.js +17 -17
- package/dist/cli/budget/modelContextBuilder.js.map +1 -1
- package/dist/cli/budget/resourceSnapshot.js +3 -3
- package/dist/cli/budget/tokenBudget.js +8 -8
- package/dist/cli/budget/tokenBudget.js.map +1 -1
- package/dist/cli/hooks/conversationContext.js +1 -1
- package/dist/cli/hooks/conversationContext.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +116 -3
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/hooks/useSlashDispatch.js +7 -0
- package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
- package/dist/cli/kraken/executor.js +73 -0
- package/dist/cli/kraken/executor.js.map +1 -1
- package/dist/cli/main.bundled.js +5647 -1635
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/main.js +46 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/memory/fileBackend.js +8 -0
- package/dist/cli/memory/fileBackend.js.map +1 -1
- package/dist/cli/memory/jsonApi.js +83 -0
- package/dist/cli/memory/jsonApi.js.map +1 -0
- package/dist/cli/memory/legacyImport.js +91 -0
- package/dist/cli/memory/legacyImport.js.map +1 -0
- package/dist/cli/memory/mcpAdapter.js +255 -0
- package/dist/cli/memory/mcpAdapter.js.map +1 -0
- package/dist/cli/memory/mcpCli.js +19 -0
- package/dist/cli/memory/mcpCli.js.map +1 -0
- package/dist/cli/memory/mcpServer.js +126 -0
- package/dist/cli/memory/mcpServer.js.map +1 -0
- package/dist/cli/memory/promotion.js +68 -0
- package/dist/cli/memory/promotion.js.map +1 -0
- package/dist/cli/memory/serviceFactory.js +94 -0
- package/dist/cli/memory/serviceFactory.js.map +1 -0
- package/dist/cli/memory/sqliteBackend.js +636 -0
- package/dist/cli/memory/sqliteBackend.js.map +1 -0
- package/dist/cli/memory/sqliteCodec.js +114 -0
- package/dist/cli/memory/sqliteCodec.js.map +1 -0
- package/dist/cli/memory/sqliteRpc.js +120 -0
- package/dist/cli/memory/sqliteRpc.js.map +1 -0
- package/dist/cli/memory/sqliteSchema.js +181 -0
- package/dist/cli/memory/sqliteSchema.js.map +1 -0
- package/dist/cli/memory/sqliteWorker.mjs +264 -0
- package/dist/cli/missionSlice.js +1 -0
- package/dist/cli/missionSlice.js.map +1 -1
- package/dist/cli/provider/capabilities.js +108 -39
- package/dist/cli/provider/capabilities.js.map +1 -1
- package/dist/cli/provider/openai-compatible.js +21 -6
- package/dist/cli/provider/openai-compatible.js.map +1 -1
- package/dist/cli/runHeadless.js +114 -81
- package/dist/cli/runHeadless.js.map +1 -1
- package/dist/cli/semantic/embeddings.js +13 -1
- package/dist/cli/semantic/embeddings.js.map +1 -1
- package/dist/cli/semantic/provider.js +11 -2
- package/dist/cli/semantic/provider.js.map +1 -1
- package/dist/cli/sessionSpine.js +1 -1
- package/dist/cli/sessionSpine.js.map +1 -1
- package/dist/cli/slashCommands.js +10 -0
- package/dist/cli/slashCommands.js.map +1 -1
- package/dist/cli/slashHandlers/krakenGraph.js +11 -0
- package/dist/cli/slashHandlers/krakenGraph.js.map +1 -1
- package/dist/cli/slashHandlers/memory.js +239 -0
- package/dist/cli/slashHandlers/memory.js.map +1 -0
- package/dist/cli/toolRegistry.js +4 -0
- package/dist/cli/toolRegistry.js.map +1 -1
- package/dist/cli/tools/taskTool.js +45 -0
- package/dist/cli/tools/taskTool.js.map +1 -1
- package/dist/cli/zelariMission.js +6 -0
- package/dist/cli/zelariMission.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteBackend.js","sourceRoot":"","sources":["../../../src/cli/memory/sqliteBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { MemoryEdgeSchema, MemoryNodeSchema, } from '@zelari/core/memory';
|
|
2
|
+
function json(value, fallback) {
|
|
3
|
+
if (typeof value !== 'string')
|
|
4
|
+
return fallback;
|
|
5
|
+
try {
|
|
6
|
+
return JSON.parse(value);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return fallback;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function optional(value) {
|
|
13
|
+
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
14
|
+
}
|
|
15
|
+
export function decodeNode(row) {
|
|
16
|
+
if (!row)
|
|
17
|
+
return null;
|
|
18
|
+
const parsed = MemoryNodeSchema.safeParse({
|
|
19
|
+
id: row.id,
|
|
20
|
+
schemaVersion: row.schema_version,
|
|
21
|
+
projectId: row.project_id,
|
|
22
|
+
kind: row.kind,
|
|
23
|
+
content: row.content,
|
|
24
|
+
importance: row.importance,
|
|
25
|
+
confidence: row.confidence,
|
|
26
|
+
status: row.status,
|
|
27
|
+
visibility: row.visibility ?? 'project',
|
|
28
|
+
tags: json(row.tags_json, []),
|
|
29
|
+
source: json(row.source_json, {}),
|
|
30
|
+
createdAt: row.created_at,
|
|
31
|
+
updatedAt: row.updated_at,
|
|
32
|
+
...(optional(row.valid_from) ? { validFrom: optional(row.valid_from) } : {}),
|
|
33
|
+
...(optional(row.valid_until) ? { validUntil: optional(row.valid_until) } : {}),
|
|
34
|
+
recordedAt: row.recorded_at,
|
|
35
|
+
...(optional(row.retracted_at) ? { retractedAt: optional(row.retracted_at) } : {}),
|
|
36
|
+
...(optional(row.embedding_ref) ? { embeddingRef: optional(row.embedding_ref) } : {}),
|
|
37
|
+
metadata: json(row.metadata_json, {}),
|
|
38
|
+
});
|
|
39
|
+
return parsed.success ? parsed.data : null;
|
|
40
|
+
}
|
|
41
|
+
export function nodeSqlValues(node) {
|
|
42
|
+
return [
|
|
43
|
+
node.id,
|
|
44
|
+
node.schemaVersion,
|
|
45
|
+
node.projectId,
|
|
46
|
+
node.kind,
|
|
47
|
+
node.content,
|
|
48
|
+
node.importance,
|
|
49
|
+
node.confidence,
|
|
50
|
+
node.status,
|
|
51
|
+
node.visibility ?? 'project',
|
|
52
|
+
JSON.stringify(node.tags),
|
|
53
|
+
JSON.stringify(node.source),
|
|
54
|
+
node.createdAt,
|
|
55
|
+
node.updatedAt,
|
|
56
|
+
node.validFrom ?? null,
|
|
57
|
+
node.validUntil ?? null,
|
|
58
|
+
node.recordedAt,
|
|
59
|
+
node.retractedAt ?? null,
|
|
60
|
+
node.embeddingRef ?? null,
|
|
61
|
+
JSON.stringify(node.metadata),
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
export function decodeEdge(row) {
|
|
65
|
+
if (!row)
|
|
66
|
+
return null;
|
|
67
|
+
const parsed = MemoryEdgeSchema.safeParse({
|
|
68
|
+
id: row.id,
|
|
69
|
+
from: row.from_id,
|
|
70
|
+
to: row.to_id,
|
|
71
|
+
relation: row.relation,
|
|
72
|
+
strength: row.strength,
|
|
73
|
+
confidence: row.confidence,
|
|
74
|
+
createdAt: row.created_at,
|
|
75
|
+
...(optional(row.created_by) ? { createdBy: optional(row.created_by) } : {}),
|
|
76
|
+
...(optional(row.valid_from) ? { validFrom: optional(row.valid_from) } : {}),
|
|
77
|
+
...(optional(row.valid_until) ? { validUntil: optional(row.valid_until) } : {}),
|
|
78
|
+
metadata: json(row.metadata_json, {}),
|
|
79
|
+
});
|
|
80
|
+
return parsed.success ? parsed.data : null;
|
|
81
|
+
}
|
|
82
|
+
export function edgeSqlValues(edge) {
|
|
83
|
+
return [
|
|
84
|
+
edge.id,
|
|
85
|
+
edge.from,
|
|
86
|
+
edge.to,
|
|
87
|
+
edge.relation,
|
|
88
|
+
edge.strength,
|
|
89
|
+
edge.confidence,
|
|
90
|
+
edge.createdAt,
|
|
91
|
+
edge.createdBy ?? null,
|
|
92
|
+
edge.validFrom ?? null,
|
|
93
|
+
edge.validUntil ?? null,
|
|
94
|
+
JSON.stringify(edge.metadata),
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
export function decodeVersion(row) {
|
|
98
|
+
if (!row)
|
|
99
|
+
return null;
|
|
100
|
+
const snapshot = json(row.snapshot_json, null);
|
|
101
|
+
const parsed = MemoryNodeSchema.safeParse(snapshot);
|
|
102
|
+
if (!parsed.success)
|
|
103
|
+
return null;
|
|
104
|
+
return {
|
|
105
|
+
versionId: String(row.version_id),
|
|
106
|
+
memoryId: String(row.memory_id),
|
|
107
|
+
revision: Number(row.revision),
|
|
108
|
+
snapshot: parsed.data,
|
|
109
|
+
recordedAt: String(row.recorded_at),
|
|
110
|
+
...(optional(row.actor) ? { actor: optional(row.actor) } : {}),
|
|
111
|
+
...(optional(row.reason) ? { reason: optional(row.reason) } : {}),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=sqliteCodec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteCodec.js","sourceRoot":"","sources":["../../../src/cli/memory/sqliteCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAU7B,SAAS,IAAI,CAAI,KAAc,EAAE,QAAW;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,QAAQ,CAAC;IAAC,CAAC;AACnE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAuB;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC;QACxC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;QACvC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;QACjC,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,OAAO;QACL,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,SAAS;QACd,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,OAAO;QACZ,IAAI,CAAC,UAAU;QACf,IAAI,CAAC,UAAU;QACf,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,UAAU,IAAI,SAAS;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,SAAS;QACd,IAAI,CAAC,SAAS;QACd,IAAI,CAAC,SAAS,IAAI,IAAI;QACtB,IAAI,CAAC,UAAU,IAAI,IAAI;QACvB,IAAI,CAAC,UAAU;QACf,IAAI,CAAC,WAAW,IAAI,IAAI;QACxB,IAAI,CAAC,YAAY,IAAI,IAAI;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAuB;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC;QACxC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,OAAO;QACjB,EAAE,EAAE,GAAG,CAAC,KAAK;QACb,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,OAAO;QACL,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,UAAU;QACf,IAAI,CAAC,SAAS;QACd,IAAI,CAAC,SAAS,IAAI,IAAI;QACtB,IAAI,CAAC,SAAS,IAAI,IAAI;QACtB,IAAI,CAAC,UAAU,IAAI,IAAI;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAuB;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAU,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QACjC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC,IAAI;QACrB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import { Worker } from 'node:worker_threads';
|
|
5
|
+
function isBusy(error) {
|
|
6
|
+
const candidate = error;
|
|
7
|
+
return candidate?.sqliteCode === 5 || candidate?.sqliteCode === 6 ||
|
|
8
|
+
/(?:database is locked|database is busy|SQLITE_BUSY|SQLITE_LOCKED)/i.test(candidate?.message ?? '');
|
|
9
|
+
}
|
|
10
|
+
function resolveWorkerUrl() {
|
|
11
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
const direct = path.join(here, 'sqliteWorker.mjs');
|
|
13
|
+
if (existsSync(direct))
|
|
14
|
+
return pathToFileURL(direct);
|
|
15
|
+
// In the single-file esbuild output import.meta.url is dist/cli/*.js,
|
|
16
|
+
// while the copied worker remains under dist/cli/memory/.
|
|
17
|
+
return pathToFileURL(path.join(here, 'memory', 'sqliteWorker.mjs'));
|
|
18
|
+
}
|
|
19
|
+
export class SqliteWorkerRpc {
|
|
20
|
+
worker = null;
|
|
21
|
+
nextId = 1;
|
|
22
|
+
pending = new Map();
|
|
23
|
+
closing = false;
|
|
24
|
+
async open(args) {
|
|
25
|
+
if (this.worker)
|
|
26
|
+
return { fts: true };
|
|
27
|
+
// Node 24 still labels `node:sqlite` experimental. Keep that runtime-only
|
|
28
|
+
// warning inside the dedicated worker so every recall does not pollute the
|
|
29
|
+
// TUI/headless protocol; operational errors still travel over RPC.
|
|
30
|
+
const worker = new Worker(resolveWorkerUrl(), { execArgv: ['--no-warnings'] });
|
|
31
|
+
this.worker = worker;
|
|
32
|
+
worker.on('message', (message) => {
|
|
33
|
+
const request = this.pending.get(message.id);
|
|
34
|
+
if (!request)
|
|
35
|
+
return;
|
|
36
|
+
this.pending.delete(message.id);
|
|
37
|
+
if (message.ok)
|
|
38
|
+
request.resolve(message.value);
|
|
39
|
+
else {
|
|
40
|
+
const error = new Error(message.error?.message ?? 'SQLite worker failed.');
|
|
41
|
+
error.name = message.error?.name ?? 'Error';
|
|
42
|
+
if (message.error?.stack)
|
|
43
|
+
error.stack = message.error.stack;
|
|
44
|
+
if (message.error?.code)
|
|
45
|
+
error.code = message.error.code;
|
|
46
|
+
if (message.error?.errcode !== undefined) {
|
|
47
|
+
error.sqliteCode = Number(message.error.errcode);
|
|
48
|
+
}
|
|
49
|
+
request.reject(error);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
worker.on('error', (error) => this.failAll(error instanceof Error ? error : new Error(String(error))));
|
|
53
|
+
worker.on('exit', (code) => {
|
|
54
|
+
this.worker = null;
|
|
55
|
+
if (!this.closing && code !== 0) {
|
|
56
|
+
this.failAll(new Error(`SQLite worker exited with code ${code}.`));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return this.requestWithBusyRetry('open', args);
|
|
60
|
+
}
|
|
61
|
+
statement(step) {
|
|
62
|
+
return this.requestWithBusyRetry('statement', step);
|
|
63
|
+
}
|
|
64
|
+
vectorSearch(args) {
|
|
65
|
+
return this.requestWithBusyRetry('vectorSearch', args);
|
|
66
|
+
}
|
|
67
|
+
semanticStatus(args) {
|
|
68
|
+
return this.requestWithBusyRetry('semanticStatus', args);
|
|
69
|
+
}
|
|
70
|
+
batch(steps, immediate = true) {
|
|
71
|
+
return this.requestWithBusyRetry('batch', { steps, immediate });
|
|
72
|
+
}
|
|
73
|
+
exec(sql) {
|
|
74
|
+
return this.requestWithBusyRetry('exec', { sql });
|
|
75
|
+
}
|
|
76
|
+
async close() {
|
|
77
|
+
const worker = this.worker;
|
|
78
|
+
if (!worker)
|
|
79
|
+
return;
|
|
80
|
+
this.closing = true;
|
|
81
|
+
try {
|
|
82
|
+
await this.request('close', {});
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
await worker.terminate();
|
|
86
|
+
this.worker = null;
|
|
87
|
+
this.closing = false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
request(operation, args) {
|
|
91
|
+
const worker = this.worker;
|
|
92
|
+
if (!worker)
|
|
93
|
+
return Promise.reject(new Error('SQLite worker is not open.'));
|
|
94
|
+
const id = this.nextId++;
|
|
95
|
+
return new Promise((resolve, reject) => {
|
|
96
|
+
this.pending.set(id, { resolve, reject });
|
|
97
|
+
worker.postMessage({ id, operation, args });
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
async requestWithBusyRetry(operation, args) {
|
|
101
|
+
let attempt = 0;
|
|
102
|
+
while (true) {
|
|
103
|
+
try {
|
|
104
|
+
return await this.request(operation, args);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (!isBusy(error) || attempt >= 3)
|
|
108
|
+
throw error;
|
|
109
|
+
await new Promise((resolve) => setTimeout(resolve, 25 * (2 ** attempt)));
|
|
110
|
+
attempt += 1;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
failAll(error) {
|
|
115
|
+
for (const request of this.pending.values())
|
|
116
|
+
request.reject(error);
|
|
117
|
+
this.pending.clear();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=sqliteRpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteRpc.js","sourceRoot":"","sources":["../../../src/cli/memory/sqliteRpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
export const SQLITE_MEMORY_SCHEMA_VERSION = 2;
|
|
2
|
+
export const SQLITE_MEMORY_BASE_SCHEMA = `
|
|
3
|
+
PRAGMA foreign_keys = ON;
|
|
4
|
+
PRAGMA journal_mode = WAL;
|
|
5
|
+
PRAGMA synchronous = NORMAL;
|
|
6
|
+
PRAGMA busy_timeout = 5000;
|
|
7
|
+
|
|
8
|
+
CREATE TABLE IF NOT EXISTS memory_nodes (
|
|
9
|
+
id TEXT PRIMARY KEY,
|
|
10
|
+
schema_version INTEGER NOT NULL DEFAULT 1,
|
|
11
|
+
project_id TEXT NOT NULL,
|
|
12
|
+
kind TEXT NOT NULL,
|
|
13
|
+
content TEXT NOT NULL,
|
|
14
|
+
importance REAL NOT NULL CHECK (importance >= 0 AND importance <= 1),
|
|
15
|
+
confidence REAL NOT NULL CHECK (confidence >= 0 AND confidence <= 1),
|
|
16
|
+
status TEXT NOT NULL CHECK (status IN ('active','superseded','retracted','archived')),
|
|
17
|
+
visibility TEXT NOT NULL DEFAULT 'project' CHECK (visibility IN ('project','private')),
|
|
18
|
+
tags_json TEXT NOT NULL DEFAULT '[]',
|
|
19
|
+
source_json TEXT NOT NULL DEFAULT '{}',
|
|
20
|
+
created_at TEXT NOT NULL,
|
|
21
|
+
updated_at TEXT NOT NULL,
|
|
22
|
+
valid_from TEXT,
|
|
23
|
+
valid_until TEXT,
|
|
24
|
+
recorded_at TEXT NOT NULL,
|
|
25
|
+
retracted_at TEXT,
|
|
26
|
+
embedding_ref TEXT,
|
|
27
|
+
metadata_json TEXT NOT NULL DEFAULT '{}'
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
CREATE TABLE IF NOT EXISTS memory_edges (
|
|
31
|
+
id TEXT PRIMARY KEY,
|
|
32
|
+
from_id TEXT NOT NULL REFERENCES memory_nodes(id) ON DELETE CASCADE,
|
|
33
|
+
to_id TEXT NOT NULL REFERENCES memory_nodes(id) ON DELETE CASCADE,
|
|
34
|
+
relation TEXT NOT NULL,
|
|
35
|
+
strength REAL NOT NULL CHECK (strength >= 0 AND strength <= 1),
|
|
36
|
+
confidence REAL NOT NULL CHECK (confidence >= 0 AND confidence <= 1),
|
|
37
|
+
created_at TEXT NOT NULL,
|
|
38
|
+
created_by TEXT,
|
|
39
|
+
valid_from TEXT,
|
|
40
|
+
valid_until TEXT,
|
|
41
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
42
|
+
CHECK (from_id <> to_id)
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
CREATE TABLE IF NOT EXISTS memory_versions (
|
|
46
|
+
version_id TEXT PRIMARY KEY,
|
|
47
|
+
memory_id TEXT NOT NULL REFERENCES memory_nodes(id) ON DELETE CASCADE,
|
|
48
|
+
revision INTEGER NOT NULL,
|
|
49
|
+
snapshot_json TEXT NOT NULL,
|
|
50
|
+
recorded_at TEXT NOT NULL,
|
|
51
|
+
actor TEXT,
|
|
52
|
+
reason TEXT,
|
|
53
|
+
UNIQUE(memory_id, revision)
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
CREATE TABLE IF NOT EXISTS memory_imports (
|
|
57
|
+
source_id TEXT PRIMARY KEY,
|
|
58
|
+
memory_id TEXT NOT NULL REFERENCES memory_nodes(id) ON DELETE CASCADE,
|
|
59
|
+
imported_at TEXT NOT NULL
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
CREATE TABLE IF NOT EXISTS memory_embeddings (
|
|
63
|
+
memory_id TEXT NOT NULL REFERENCES memory_nodes(id) ON DELETE CASCADE,
|
|
64
|
+
project_id TEXT NOT NULL,
|
|
65
|
+
model TEXT NOT NULL,
|
|
66
|
+
content_hash TEXT NOT NULL,
|
|
67
|
+
dimensions INTEGER NOT NULL CHECK (dimensions > 0),
|
|
68
|
+
vector_json TEXT NOT NULL,
|
|
69
|
+
indexed_at TEXT NOT NULL,
|
|
70
|
+
PRIMARY KEY(memory_id, model)
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
CREATE TABLE IF NOT EXISTS memory_access (
|
|
74
|
+
memory_id TEXT PRIMARY KEY REFERENCES memory_nodes(id) ON DELETE CASCADE,
|
|
75
|
+
visibility TEXT NOT NULL DEFAULT 'project' CHECK (visibility IN ('project','private')),
|
|
76
|
+
owner_client TEXT,
|
|
77
|
+
updated_at TEXT NOT NULL
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
CREATE INDEX IF NOT EXISTS idx_memory_nodes_project_status
|
|
81
|
+
ON memory_nodes(project_id, status);
|
|
82
|
+
CREATE INDEX IF NOT EXISTS idx_memory_nodes_project_kind
|
|
83
|
+
ON memory_nodes(project_id, kind);
|
|
84
|
+
CREATE INDEX IF NOT EXISTS idx_memory_nodes_importance
|
|
85
|
+
ON memory_nodes(importance DESC);
|
|
86
|
+
CREATE INDEX IF NOT EXISTS idx_memory_nodes_updated
|
|
87
|
+
ON memory_nodes(updated_at DESC);
|
|
88
|
+
CREATE INDEX IF NOT EXISTS idx_memory_edges_from ON memory_edges(from_id);
|
|
89
|
+
CREATE INDEX IF NOT EXISTS idx_memory_edges_to ON memory_edges(to_id);
|
|
90
|
+
CREATE INDEX IF NOT EXISTS idx_memory_edges_relation ON memory_edges(relation);
|
|
91
|
+
CREATE INDEX IF NOT EXISTS idx_memory_versions_memory_revision
|
|
92
|
+
ON memory_versions(memory_id, revision DESC);
|
|
93
|
+
CREATE INDEX IF NOT EXISTS idx_memory_embeddings_project_model
|
|
94
|
+
ON memory_embeddings(project_id, model);
|
|
95
|
+
CREATE INDEX IF NOT EXISTS idx_memory_access_visibility
|
|
96
|
+
ON memory_access(visibility);
|
|
97
|
+
|
|
98
|
+
CREATE TRIGGER IF NOT EXISTS memory_nodes_access_insert AFTER INSERT ON memory_nodes BEGIN
|
|
99
|
+
INSERT OR REPLACE INTO memory_access(memory_id, visibility, owner_client, updated_at)
|
|
100
|
+
VALUES (new.id, new.visibility, json_extract(new.source_json, '$.client'), new.updated_at);
|
|
101
|
+
END;
|
|
102
|
+
|
|
103
|
+
CREATE TRIGGER IF NOT EXISTS memory_nodes_access_update
|
|
104
|
+
AFTER UPDATE OF visibility, source_json ON memory_nodes BEGIN
|
|
105
|
+
INSERT OR REPLACE INTO memory_access(memory_id, visibility, owner_client, updated_at)
|
|
106
|
+
VALUES (new.id, new.visibility, json_extract(new.source_json, '$.client'), new.updated_at);
|
|
107
|
+
END;
|
|
108
|
+
|
|
109
|
+
INSERT OR IGNORE INTO memory_access(memory_id, visibility, owner_client, updated_at)
|
|
110
|
+
SELECT id, visibility, json_extract(source_json, '$.client'), updated_at FROM memory_nodes;
|
|
111
|
+
`;
|
|
112
|
+
/** Ordered, forward-only migrations for databases that already have user_version. */
|
|
113
|
+
export const SQLITE_MEMORY_MIGRATIONS = [
|
|
114
|
+
{
|
|
115
|
+
version: 2,
|
|
116
|
+
sql: `
|
|
117
|
+
ALTER TABLE memory_nodes ADD COLUMN visibility TEXT NOT NULL DEFAULT 'project'
|
|
118
|
+
CHECK (visibility IN ('project','private'));
|
|
119
|
+
CREATE TABLE memory_embeddings (
|
|
120
|
+
memory_id TEXT NOT NULL REFERENCES memory_nodes(id) ON DELETE CASCADE,
|
|
121
|
+
project_id TEXT NOT NULL,
|
|
122
|
+
model TEXT NOT NULL,
|
|
123
|
+
content_hash TEXT NOT NULL,
|
|
124
|
+
dimensions INTEGER NOT NULL CHECK (dimensions > 0),
|
|
125
|
+
vector_json TEXT NOT NULL,
|
|
126
|
+
indexed_at TEXT NOT NULL,
|
|
127
|
+
PRIMARY KEY(memory_id, model)
|
|
128
|
+
);
|
|
129
|
+
CREATE TABLE memory_access (
|
|
130
|
+
memory_id TEXT PRIMARY KEY REFERENCES memory_nodes(id) ON DELETE CASCADE,
|
|
131
|
+
visibility TEXT NOT NULL DEFAULT 'project' CHECK (visibility IN ('project','private')),
|
|
132
|
+
owner_client TEXT,
|
|
133
|
+
updated_at TEXT NOT NULL
|
|
134
|
+
);
|
|
135
|
+
CREATE INDEX idx_memory_embeddings_project_model
|
|
136
|
+
ON memory_embeddings(project_id, model);
|
|
137
|
+
CREATE INDEX idx_memory_access_visibility ON memory_access(visibility);
|
|
138
|
+
CREATE TRIGGER memory_nodes_access_insert AFTER INSERT ON memory_nodes BEGIN
|
|
139
|
+
INSERT OR REPLACE INTO memory_access(memory_id, visibility, owner_client, updated_at)
|
|
140
|
+
VALUES (new.id, new.visibility, json_extract(new.source_json, '$.client'), new.updated_at);
|
|
141
|
+
END;
|
|
142
|
+
CREATE TRIGGER memory_nodes_access_update
|
|
143
|
+
AFTER UPDATE OF visibility, source_json ON memory_nodes BEGIN
|
|
144
|
+
INSERT OR REPLACE INTO memory_access(memory_id, visibility, owner_client, updated_at)
|
|
145
|
+
VALUES (new.id, new.visibility, json_extract(new.source_json, '$.client'), new.updated_at);
|
|
146
|
+
END;
|
|
147
|
+
INSERT INTO memory_access(memory_id, visibility, owner_client, updated_at)
|
|
148
|
+
SELECT id, visibility, json_extract(source_json, '$.client'), updated_at FROM memory_nodes;
|
|
149
|
+
`,
|
|
150
|
+
},
|
|
151
|
+
];
|
|
152
|
+
export const SQLITE_MEMORY_FTS_SCHEMA = `
|
|
153
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS memory_fts USING fts5(
|
|
154
|
+
node_id UNINDEXED,
|
|
155
|
+
content,
|
|
156
|
+
tags,
|
|
157
|
+
tokenize = 'unicode61 remove_diacritics 2'
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
CREATE TRIGGER IF NOT EXISTS memory_nodes_fts_insert AFTER INSERT ON memory_nodes BEGIN
|
|
161
|
+
INSERT INTO memory_fts(node_id, content, tags)
|
|
162
|
+
VALUES (new.id, new.content, new.tags_json);
|
|
163
|
+
END;
|
|
164
|
+
|
|
165
|
+
CREATE TRIGGER IF NOT EXISTS memory_nodes_fts_delete AFTER DELETE ON memory_nodes BEGIN
|
|
166
|
+
DELETE FROM memory_fts WHERE node_id = old.id;
|
|
167
|
+
END;
|
|
168
|
+
|
|
169
|
+
CREATE TRIGGER IF NOT EXISTS memory_nodes_fts_update
|
|
170
|
+
AFTER UPDATE OF content, tags_json ON memory_nodes BEGIN
|
|
171
|
+
DELETE FROM memory_fts WHERE node_id = old.id;
|
|
172
|
+
INSERT INTO memory_fts(node_id, content, tags)
|
|
173
|
+
VALUES (new.id, new.content, new.tags_json);
|
|
174
|
+
END;
|
|
175
|
+
|
|
176
|
+
INSERT INTO memory_fts(node_id, content, tags)
|
|
177
|
+
SELECT n.id, n.content, n.tags_json
|
|
178
|
+
FROM memory_nodes n
|
|
179
|
+
WHERE NOT EXISTS (SELECT 1 FROM memory_fts f WHERE f.node_id = n.id);
|
|
180
|
+
`;
|
|
181
|
+
//# sourceMappingURL=sqliteSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteSchema.js","sourceRoot":"","sources":["../../../src/cli/memory/sqliteSchema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAO9C,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6GxC,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAqC;IACxE;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCJ;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BvC,CAAC"}
|