zelari-code 2.6.3 → 2.8.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.
Files changed (55) hide show
  1. package/README.md +24 -2
  2. package/dist/cli/hooks/useChatTurn.js +109 -1
  3. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  4. package/dist/cli/hooks/useSlashDispatch.js +7 -0
  5. package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
  6. package/dist/cli/kraken/executor.js +73 -0
  7. package/dist/cli/kraken/executor.js.map +1 -1
  8. package/dist/cli/main.bundled.js +5323 -1502
  9. package/dist/cli/main.bundled.js.map +4 -4
  10. package/dist/cli/main.js +46 -0
  11. package/dist/cli/main.js.map +1 -1
  12. package/dist/cli/memory/fileBackend.js +8 -0
  13. package/dist/cli/memory/fileBackend.js.map +1 -1
  14. package/dist/cli/memory/jsonApi.js +83 -0
  15. package/dist/cli/memory/jsonApi.js.map +1 -0
  16. package/dist/cli/memory/legacyImport.js +91 -0
  17. package/dist/cli/memory/legacyImport.js.map +1 -0
  18. package/dist/cli/memory/mcpAdapter.js +255 -0
  19. package/dist/cli/memory/mcpAdapter.js.map +1 -0
  20. package/dist/cli/memory/mcpCli.js +19 -0
  21. package/dist/cli/memory/mcpCli.js.map +1 -0
  22. package/dist/cli/memory/mcpServer.js +126 -0
  23. package/dist/cli/memory/mcpServer.js.map +1 -0
  24. package/dist/cli/memory/promotion.js +68 -0
  25. package/dist/cli/memory/promotion.js.map +1 -0
  26. package/dist/cli/memory/serviceFactory.js +94 -0
  27. package/dist/cli/memory/serviceFactory.js.map +1 -0
  28. package/dist/cli/memory/sqliteBackend.js +636 -0
  29. package/dist/cli/memory/sqliteBackend.js.map +1 -0
  30. package/dist/cli/memory/sqliteCodec.js +114 -0
  31. package/dist/cli/memory/sqliteCodec.js.map +1 -0
  32. package/dist/cli/memory/sqliteRpc.js +120 -0
  33. package/dist/cli/memory/sqliteRpc.js.map +1 -0
  34. package/dist/cli/memory/sqliteSchema.js +181 -0
  35. package/dist/cli/memory/sqliteSchema.js.map +1 -0
  36. package/dist/cli/memory/sqliteWorker.mjs +264 -0
  37. package/dist/cli/runHeadless.js +97 -3
  38. package/dist/cli/runHeadless.js.map +1 -1
  39. package/dist/cli/semantic/embeddings.js +13 -1
  40. package/dist/cli/semantic/embeddings.js.map +1 -1
  41. package/dist/cli/semantic/provider.js +11 -2
  42. package/dist/cli/semantic/provider.js.map +1 -1
  43. package/dist/cli/slashCommands.js +10 -0
  44. package/dist/cli/slashCommands.js.map +1 -1
  45. package/dist/cli/slashHandlers/krakenGraph.js +11 -0
  46. package/dist/cli/slashHandlers/krakenGraph.js.map +1 -1
  47. package/dist/cli/slashHandlers/memory.js +239 -0
  48. package/dist/cli/slashHandlers/memory.js.map +1 -0
  49. package/dist/cli/toolRegistry.js +4 -0
  50. package/dist/cli/toolRegistry.js.map +1 -1
  51. package/dist/cli/tools/taskTool.js +41 -0
  52. package/dist/cli/tools/taskTool.js.map +1 -1
  53. package/dist/cli/zelariMission.js +6 -0
  54. package/dist/cli/zelariMission.js.map +1 -1
  55. 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"}