openclaw-cortex-memory 0.1.0-Alpha.3 → 0.1.0-Alpha.31

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 (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +296 -203
  3. package/SIGNATURE.md +7 -0
  4. package/SKILL.md +92 -268
  5. package/dist/index.d.ts +100 -22
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1249 -1252
  8. package/dist/index.js.map +1 -1
  9. package/dist/openclaw.plugin.json +501 -16
  10. package/dist/src/dedup/three_stage_deduplicator.d.ts +25 -0
  11. package/dist/src/dedup/three_stage_deduplicator.d.ts.map +1 -0
  12. package/dist/src/dedup/three_stage_deduplicator.js +224 -0
  13. package/dist/src/dedup/three_stage_deduplicator.js.map +1 -0
  14. package/dist/src/engine/memory_engine.d.ts +6 -1
  15. package/dist/src/engine/memory_engine.d.ts.map +1 -1
  16. package/dist/src/engine/ts_engine.d.ts +242 -0
  17. package/dist/src/engine/ts_engine.d.ts.map +1 -1
  18. package/dist/src/engine/ts_engine.js +1468 -52
  19. package/dist/src/engine/ts_engine.js.map +1 -1
  20. package/dist/src/engine/types.d.ts +29 -0
  21. package/dist/src/engine/types.d.ts.map +1 -1
  22. package/dist/src/graph/ontology.d.ts +125 -0
  23. package/dist/src/graph/ontology.d.ts.map +1 -0
  24. package/dist/src/graph/ontology.js +1237 -0
  25. package/dist/src/graph/ontology.js.map +1 -0
  26. package/dist/src/net/http_post.d.ts +17 -0
  27. package/dist/src/net/http_post.d.ts.map +1 -0
  28. package/dist/src/net/http_post.js +56 -0
  29. package/dist/src/net/http_post.js.map +1 -0
  30. package/dist/src/quality/llm_output_validator.d.ts +66 -0
  31. package/dist/src/quality/llm_output_validator.d.ts.map +1 -0
  32. package/dist/src/quality/llm_output_validator.js +659 -0
  33. package/dist/src/quality/llm_output_validator.js.map +1 -0
  34. package/dist/src/reflect/reflector.d.ts +7 -0
  35. package/dist/src/reflect/reflector.d.ts.map +1 -1
  36. package/dist/src/reflect/reflector.js +352 -8
  37. package/dist/src/reflect/reflector.js.map +1 -1
  38. package/dist/src/rules/rule_store.d.ts.map +1 -1
  39. package/dist/src/rules/rule_store.js +75 -16
  40. package/dist/src/rules/rule_store.js.map +1 -1
  41. package/dist/src/session/session_end.d.ts +33 -0
  42. package/dist/src/session/session_end.d.ts.map +1 -1
  43. package/dist/src/session/session_end.js +67 -64
  44. package/dist/src/session/session_end.js.map +1 -1
  45. package/dist/src/store/archive_store.d.ts +136 -0
  46. package/dist/src/store/archive_store.d.ts.map +1 -0
  47. package/dist/src/store/archive_store.js +635 -0
  48. package/dist/src/store/archive_store.js.map +1 -0
  49. package/dist/src/store/embedding_utils.d.ts +32 -0
  50. package/dist/src/store/embedding_utils.d.ts.map +1 -0
  51. package/dist/src/store/embedding_utils.js +173 -0
  52. package/dist/src/store/embedding_utils.js.map +1 -0
  53. package/dist/src/store/graph_memory_store.d.ts +114 -0
  54. package/dist/src/store/graph_memory_store.d.ts.map +1 -0
  55. package/dist/src/store/graph_memory_store.js +841 -0
  56. package/dist/src/store/graph_memory_store.js.map +1 -0
  57. package/dist/src/store/read_store.d.ts +89 -0
  58. package/dist/src/store/read_store.d.ts.map +1 -1
  59. package/dist/src/store/read_store.js +2459 -28
  60. package/dist/src/store/read_store.js.map +1 -1
  61. package/dist/src/store/vector_store.d.ts +45 -0
  62. package/dist/src/store/vector_store.d.ts.map +1 -0
  63. package/dist/src/store/vector_store.js +202 -0
  64. package/dist/src/store/vector_store.js.map +1 -0
  65. package/dist/src/store/write_store.d.ts +54 -0
  66. package/dist/src/store/write_store.d.ts.map +1 -1
  67. package/dist/src/store/write_store.js +284 -6
  68. package/dist/src/store/write_store.js.map +1 -1
  69. package/dist/src/sync/session_sync.d.ts +119 -2
  70. package/dist/src/sync/session_sync.d.ts.map +1 -1
  71. package/dist/src/sync/session_sync.js +2377 -31
  72. package/dist/src/sync/session_sync.js.map +1 -1
  73. package/dist/src/utils/runtime_env.d.ts +4 -0
  74. package/dist/src/utils/runtime_env.d.ts.map +1 -0
  75. package/dist/src/utils/runtime_env.js +51 -0
  76. package/dist/src/utils/runtime_env.js.map +1 -0
  77. package/dist/src/wiki/wiki_linter.d.ts +25 -0
  78. package/dist/src/wiki/wiki_linter.d.ts.map +1 -0
  79. package/dist/src/wiki/wiki_linter.js +268 -0
  80. package/dist/src/wiki/wiki_linter.js.map +1 -0
  81. package/dist/src/wiki/wiki_logger.d.ts +10 -0
  82. package/dist/src/wiki/wiki_logger.d.ts.map +1 -0
  83. package/dist/src/wiki/wiki_logger.js +78 -0
  84. package/dist/src/wiki/wiki_logger.js.map +1 -0
  85. package/dist/src/wiki/wiki_maintainer.d.ts +36 -0
  86. package/dist/src/wiki/wiki_maintainer.d.ts.map +1 -0
  87. package/dist/src/wiki/wiki_maintainer.js +38 -0
  88. package/dist/src/wiki/wiki_maintainer.js.map +1 -0
  89. package/dist/src/wiki/wiki_projector.d.ts +33 -0
  90. package/dist/src/wiki/wiki_projector.d.ts.map +1 -0
  91. package/dist/src/wiki/wiki_projector.js +633 -0
  92. package/dist/src/wiki/wiki_projector.js.map +1 -0
  93. package/dist/src/wiki/wiki_queue.d.ts +29 -0
  94. package/dist/src/wiki/wiki_queue.d.ts.map +1 -0
  95. package/dist/src/wiki/wiki_queue.js +137 -0
  96. package/dist/src/wiki/wiki_queue.js.map +1 -0
  97. package/openclaw.plugin.json +501 -16
  98. package/package.json +58 -7
  99. package/schema/graph.schema.yaml +330 -0
  100. package/scripts/cli.js +19 -14
  101. package/scripts/repair-memory.js +321 -0
  102. package/scripts/uninstall.js +22 -5
  103. package/skills/cortex-memory/SKILL.md +49 -0
  104. package/skills/cortex-memory/references/agent-manual.md +115 -0
  105. package/skills/cortex-memory/references/configuration.md +92 -0
  106. package/skills/cortex-memory/references/publish-checklist.md +46 -0
  107. package/skills/cortex-memory/references/system-prompt-template.md +27 -0
  108. package/skills/cortex-memory/references/tools.md +181 -0
  109. package/skills/cortex-memory/scripts/smoke-check.ps1 +56 -0
  110. package/index.ts +0 -2142
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createThreeStageDeduplicator = createThreeStageDeduplicator;
37
+ const crypto = __importStar(require("crypto"));
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ function tokenize(text) {
41
+ return text
42
+ .toLowerCase()
43
+ .replace(/[^\p{L}\p{N}\s]/gu, " ")
44
+ .split(/\s+/)
45
+ .filter(Boolean);
46
+ }
47
+ function buildShingles(tokens, size) {
48
+ if (tokens.length < size) {
49
+ return [tokens.join(" ")].filter(Boolean);
50
+ }
51
+ const result = [];
52
+ for (let i = 0; i <= tokens.length - size; i += 1) {
53
+ result.push(tokens.slice(i, i + size).join(" "));
54
+ }
55
+ return result;
56
+ }
57
+ function hashToken(value) {
58
+ const digest = crypto.createHash("sha1").update(value).digest();
59
+ let output = 0n;
60
+ for (let i = 0; i < 8; i += 1) {
61
+ output = (output << 8n) + BigInt(digest[i]);
62
+ }
63
+ return output;
64
+ }
65
+ function computeSimhash(text) {
66
+ const tokens = tokenize(text);
67
+ const vector = Array.from({ length: 64 }, () => 0);
68
+ for (const token of tokens) {
69
+ const hash = hashToken(token);
70
+ for (let bit = 0; bit < 64; bit += 1) {
71
+ const mask = 1n << BigInt(bit);
72
+ vector[bit] += (hash & mask) !== 0n ? 1 : -1;
73
+ }
74
+ }
75
+ let result = 0n;
76
+ for (let bit = 0; bit < 64; bit += 1) {
77
+ if (vector[bit] >= 0) {
78
+ result |= 1n << BigInt(bit);
79
+ }
80
+ }
81
+ return result;
82
+ }
83
+ function hammingDistance(left, right) {
84
+ let value = left ^ right;
85
+ let count = 0;
86
+ while (value > 0n) {
87
+ count += Number(value & 1n);
88
+ value >>= 1n;
89
+ }
90
+ return count;
91
+ }
92
+ function seedHash(seed, token) {
93
+ const digest = crypto.createHash("sha1").update(`${seed}:${token}`).digest();
94
+ return digest.readUInt32BE(0);
95
+ }
96
+ function computeMinhash(text, signatures = 64) {
97
+ const tokens = tokenize(text);
98
+ const shingles = buildShingles(tokens, 2);
99
+ if (shingles.length === 0) {
100
+ return Array.from({ length: signatures }, () => 0);
101
+ }
102
+ const output = [];
103
+ for (let seed = 0; seed < signatures; seed += 1) {
104
+ let min = Number.MAX_SAFE_INTEGER;
105
+ for (const shingle of shingles) {
106
+ const value = seedHash(seed, shingle);
107
+ if (value < min) {
108
+ min = value;
109
+ }
110
+ }
111
+ output.push(min === Number.MAX_SAFE_INTEGER ? 0 : min);
112
+ }
113
+ return output;
114
+ }
115
+ function minhashSimilarity(left, right) {
116
+ if (left.length === 0 || right.length === 0) {
117
+ return 0;
118
+ }
119
+ const size = Math.min(left.length, right.length);
120
+ let same = 0;
121
+ for (let i = 0; i < size; i += 1) {
122
+ if (left[i] === right[i]) {
123
+ same += 1;
124
+ }
125
+ }
126
+ return same / size;
127
+ }
128
+ function cosineSimilarity(left, right) {
129
+ if (!left.length || !right.length) {
130
+ return 0;
131
+ }
132
+ const size = Math.min(left.length, right.length);
133
+ let dot = 0;
134
+ let normLeft = 0;
135
+ let normRight = 0;
136
+ for (let i = 0; i < size; i += 1) {
137
+ dot += left[i] * right[i];
138
+ normLeft += left[i] * left[i];
139
+ normRight += right[i] * right[i];
140
+ }
141
+ if (normLeft === 0 || normRight === 0) {
142
+ return 0;
143
+ }
144
+ return dot / (Math.sqrt(normLeft) * Math.sqrt(normRight));
145
+ }
146
+ function readState(filePath) {
147
+ try {
148
+ if (!fs.existsSync(filePath)) {
149
+ return { items: [] };
150
+ }
151
+ const content = fs.readFileSync(filePath, "utf-8").trim();
152
+ if (!content) {
153
+ return { items: [] };
154
+ }
155
+ const parsed = JSON.parse(content);
156
+ if (!Array.isArray(parsed.items)) {
157
+ return { items: [] };
158
+ }
159
+ return parsed;
160
+ }
161
+ catch {
162
+ return { items: [] };
163
+ }
164
+ }
165
+ function writeState(filePath, state) {
166
+ const dir = path.dirname(filePath);
167
+ if (!fs.existsSync(dir)) {
168
+ fs.mkdirSync(dir, { recursive: true });
169
+ }
170
+ fs.writeFileSync(filePath, JSON.stringify(state, null, 2), "utf-8");
171
+ }
172
+ function createThreeStageDeduplicator(options) {
173
+ const statePath = path.join(options.memoryRoot, ".dedup_index.json");
174
+ const maxItems = 8000;
175
+ const state = readState(statePath);
176
+ function check(input) {
177
+ const simhash = computeSimhash(input.summary);
178
+ const minhash = computeMinhash(input.summary);
179
+ const recent = state.items.slice(-2000);
180
+ for (const item of recent) {
181
+ const distance = hammingDistance(simhash, BigInt(`0x${item.simhash}`));
182
+ if (distance <= 3) {
183
+ return { duplicate: true, stage: "simhash", matchedId: item.id };
184
+ }
185
+ }
186
+ for (const item of recent) {
187
+ const similarity = minhashSimilarity(minhash, item.minhash);
188
+ if (similarity >= 0.88) {
189
+ return { duplicate: true, stage: "minhash", matchedId: item.id };
190
+ }
191
+ }
192
+ if (input.embedding && input.embedding.length > 0) {
193
+ for (const item of recent) {
194
+ if (!item.embedding || item.embedding.length === 0) {
195
+ continue;
196
+ }
197
+ const similarity = cosineSimilarity(input.embedding, item.embedding);
198
+ if (similarity >= 0.95) {
199
+ return { duplicate: true, stage: "vector", matchedId: item.id };
200
+ }
201
+ }
202
+ }
203
+ return { duplicate: false };
204
+ }
205
+ function append(input) {
206
+ const item = {
207
+ id: input.id,
208
+ summary: input.summary.slice(0, 500),
209
+ simhash: computeSimhash(input.summary).toString(16).padStart(16, "0"),
210
+ minhash: computeMinhash(input.summary),
211
+ embedding: input.embedding && input.embedding.length > 0 ? input.embedding : undefined,
212
+ createdAt: new Date().toISOString(),
213
+ };
214
+ state.items.push(item);
215
+ if (state.items.length > maxItems) {
216
+ state.items = state.items.slice(state.items.length - maxItems);
217
+ }
218
+ writeState(statePath, state);
219
+ options.logger.debug(`ThreeStageDeduplicator indexed event ${input.id}`);
220
+ }
221
+ options.logger.info(`ThreeStageDeduplicator initialized at ${statePath}`);
222
+ return { check, append };
223
+ }
224
+ //# sourceMappingURL=three_stage_deduplicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"three_stage_deduplicator.js","sourceRoot":"","sources":["../../../src/dedup/three_stage_deduplicator.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
- import type { CleanupMemoriesArgs, DeleteMemoryArgs, EngineMode, GetAutoContextArgs, GetHotContextArgs, QueryGraphArgs, SearchMemoryArgs, StoreEventArgs, ToolContext, ToolResult, UpdateMemoryArgs } from "./types";
1
+ import type { BackfillEmbeddingsArgs, CleanupMemoriesArgs, DeleteMemoryArgs, EngineMode, ExportGraphViewArgs, GetAutoContextArgs, GetHotContextArgs, LintMemoryWikiArgs, ListGraphConflictsArgs, QueryGraphArgs, ResolveGraphConflictArgs, SearchMemoryArgs, StoreEventArgs, ToolContext, ToolResult, UpdateMemoryArgs } from "./types";
2
2
  export interface MemoryEngine {
3
3
  mode: EngineMode;
4
4
  searchMemory(args: SearchMemoryArgs, context: ToolContext): Promise<ToolResult>;
5
5
  storeEvent(args: StoreEventArgs, context: ToolContext): Promise<ToolResult>;
6
6
  queryGraph(args: QueryGraphArgs, context: ToolContext): Promise<ToolResult>;
7
+ exportGraphView(args: ExportGraphViewArgs, context: ToolContext): Promise<ToolResult>;
8
+ lintMemoryWiki(args: LintMemoryWikiArgs, context: ToolContext): Promise<ToolResult>;
9
+ listGraphConflicts(args: ListGraphConflictsArgs, context: ToolContext): Promise<ToolResult>;
10
+ resolveGraphConflict(args: ResolveGraphConflictArgs, context: ToolContext): Promise<ToolResult>;
7
11
  getHotContext(args: GetHotContextArgs, context: ToolContext): Promise<ToolResult>;
8
12
  getAutoContext(args: GetAutoContextArgs, context: ToolContext): Promise<ToolResult>;
9
13
  reflectMemory(args: Record<string, unknown>, context: ToolContext): Promise<ToolResult>;
@@ -12,6 +16,7 @@ export interface MemoryEngine {
12
16
  deleteMemory(args: DeleteMemoryArgs, context: ToolContext): Promise<ToolResult>;
13
17
  updateMemory(args: UpdateMemoryArgs, context: ToolContext): Promise<ToolResult>;
14
18
  cleanupMemories(args: CleanupMemoriesArgs, context: ToolContext): Promise<ToolResult>;
19
+ backfillEmbeddings(args: BackfillEmbeddingsArgs, context: ToolContext): Promise<ToolResult>;
15
20
  runDiagnostics(args: Record<string, unknown>, context: ToolContext): Promise<ToolResult>;
16
21
  onMessage(payload: unknown, context: ToolContext): Promise<void>;
17
22
  onSessionEnd(payload: unknown, context: ToolContext): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"memory_engine.d.ts","sourceRoot":"","sources":["../../../src/engine/memory_engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,UAAU,EACV,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChF,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAClF,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpF,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxF,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrF,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxF,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChF,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChF,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtF,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACzF,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"memory_engine.d.ts","sourceRoot":"","sources":["../../../src/engine/memory_engine.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,211 @@ interface TsEngineDeps {
12
12
  sessionId: string;
13
13
  }): Promise<WriteMemoryResult>;
14
14
  };
15
+ vectorStore: {
16
+ upsert(record: {
17
+ id: string;
18
+ session_id: string;
19
+ event_type: string;
20
+ summary: string;
21
+ timestamp: string;
22
+ layer: "active" | "archive";
23
+ source_memory_id: string;
24
+ source_memory_canonical_id?: string;
25
+ source_event_id?: string;
26
+ source_field?: "summary" | "evidence";
27
+ outcome?: string;
28
+ entities?: string[];
29
+ relations?: Array<{
30
+ source: string;
31
+ target: string;
32
+ type: string;
33
+ evidence_span?: string;
34
+ confidence?: number;
35
+ }>;
36
+ embedding: number[];
37
+ quality_score: number;
38
+ char_count: number;
39
+ token_count: number;
40
+ chunk_index?: number;
41
+ chunk_total?: number;
42
+ chunk_start?: number;
43
+ chunk_end?: number;
44
+ }): Promise<void>;
45
+ deleteBySourceMemory(args: {
46
+ layer: "active" | "archive";
47
+ sourceMemoryId: string;
48
+ }): Promise<void>;
49
+ };
50
+ archiveStore: {
51
+ storeEvents(events: Array<{
52
+ event_type: string;
53
+ summary: string;
54
+ cause?: string;
55
+ process?: string;
56
+ result?: string;
57
+ entities?: string[];
58
+ relations?: Array<{
59
+ source: string;
60
+ target: string;
61
+ type: string;
62
+ evidence_span?: string;
63
+ confidence?: number;
64
+ }>;
65
+ entity_types?: Record<string, string>;
66
+ outcome?: string;
67
+ session_id: string;
68
+ source_file: string;
69
+ source_text?: string;
70
+ confidence?: number;
71
+ source_event_id?: string;
72
+ actor?: string;
73
+ canonical_id?: string;
74
+ }>): Promise<{
75
+ stored: Array<{
76
+ id: string;
77
+ }>;
78
+ skipped: Array<{
79
+ summary: string;
80
+ reason: string;
81
+ }>;
82
+ }>;
83
+ };
84
+ graphMemoryStore?: {
85
+ append(input: {
86
+ sourceEventId: string;
87
+ sourceLayer: "archive_event" | "active_only";
88
+ archiveEventId?: string;
89
+ sessionId: string;
90
+ sourceFile?: string;
91
+ source_text_nav?: {
92
+ layer?: string;
93
+ session_id?: string;
94
+ source_file?: string;
95
+ source_memory_id?: string;
96
+ source_event_id?: string;
97
+ fulltext_anchor?: string;
98
+ };
99
+ summary?: string;
100
+ eventType?: string;
101
+ entities?: string[];
102
+ entity_types?: Record<string, string>;
103
+ relations?: Array<{
104
+ source: string;
105
+ target: string;
106
+ type: string;
107
+ relation_origin?: string;
108
+ relation_definition?: string;
109
+ mapping_hint?: string;
110
+ evidence_span?: string;
111
+ context_chunk?: string;
112
+ confidence?: number;
113
+ }>;
114
+ gateSource: "sync" | "session_end" | "manual";
115
+ confidence?: number;
116
+ sourceText?: string;
117
+ }): Promise<{
118
+ success: boolean;
119
+ reason?: string;
120
+ }>;
121
+ loadAll(): Array<{
122
+ id: string;
123
+ summary: string;
124
+ source_text_nav: {
125
+ layer: "archive_event" | "active_only";
126
+ session_id: string;
127
+ source_file: string;
128
+ source_memory_id: string;
129
+ source_event_id: string;
130
+ fulltext_anchor?: string;
131
+ };
132
+ source_event_id: string;
133
+ source_layer: "archive_event" | "active_only";
134
+ archive_event_id?: string;
135
+ session_id: string;
136
+ source_file?: string;
137
+ timestamp: string;
138
+ entities: string[];
139
+ entity_types: Record<string, string>;
140
+ relations: Array<{
141
+ source: string;
142
+ target: string;
143
+ type: string;
144
+ relation_origin?: string;
145
+ relation_definition?: string;
146
+ mapping_hint?: string;
147
+ evidence_span?: string;
148
+ context_chunk?: string;
149
+ confidence?: number;
150
+ }>;
151
+ gate_source: "sync" | "session_end" | "manual";
152
+ event_type?: string;
153
+ schema_version?: string;
154
+ confidence?: number;
155
+ }>;
156
+ listConflicts(args?: {
157
+ status?: "pending" | "accepted" | "rejected" | "all";
158
+ limit?: number;
159
+ }): Array<{
160
+ conflict_id: string;
161
+ status: "pending" | "accepted" | "rejected";
162
+ created_at: string;
163
+ updated_at: string;
164
+ source_event_id: string;
165
+ session_id: string;
166
+ conflict_reason: string;
167
+ conflict_types: string[];
168
+ existing_relation_keys: string[];
169
+ candidate_relations: Array<{
170
+ source: string;
171
+ type: string;
172
+ target: string;
173
+ }>;
174
+ resolution?: {
175
+ action: "accept" | "reject";
176
+ note?: string;
177
+ resolved_at: string;
178
+ applied_record_id?: string;
179
+ };
180
+ }>;
181
+ resolveConflict(args: {
182
+ conflictId: string;
183
+ action: "accept" | "reject";
184
+ note?: string;
185
+ }): Promise<{
186
+ success: boolean;
187
+ reason?: string;
188
+ appliedRecordId?: string;
189
+ }>;
190
+ getConflictStats(): {
191
+ pending: number;
192
+ accepted: number;
193
+ rejected: number;
194
+ };
195
+ exportGraphView(): {
196
+ nodes: Array<{
197
+ id: string;
198
+ type: "entity";
199
+ }>;
200
+ edges: Array<{
201
+ source: string;
202
+ target: string;
203
+ type: string;
204
+ status: "active" | "pending_conflict" | "superseded" | "rejected";
205
+ relation_key: string;
206
+ source_event_id?: string;
207
+ evidence_span?: string;
208
+ confidence?: number;
209
+ conflict_id?: string;
210
+ }>;
211
+ status_counts: {
212
+ active: number;
213
+ pending_conflict: number;
214
+ superseded: number;
215
+ rejected: number;
216
+ };
217
+ updated_at: string;
218
+ };
219
+ };
15
220
  sessionSync: {
16
221
  syncMemory(): Promise<{
17
222
  imported: number;
@@ -23,6 +228,13 @@ interface TsEngineDeps {
23
228
  onSessionEnd(args: {
24
229
  sessionId: string;
25
230
  syncRecords: boolean;
231
+ messages?: Array<{
232
+ id?: string;
233
+ session_id?: string;
234
+ role?: string;
235
+ content?: string;
236
+ timestamp?: string;
237
+ }>;
26
238
  }): Promise<{
27
239
  events_generated: number;
28
240
  sync_result?: {
@@ -44,6 +256,36 @@ interface TsEngineDeps {
44
256
  }>;
45
257
  };
46
258
  memoryRoot: string;
259
+ projectRoot: string;
260
+ embedding?: {
261
+ provider: string;
262
+ model: string;
263
+ apiKey?: string;
264
+ baseURL?: string;
265
+ baseUrl?: string;
266
+ dimensions?: number;
267
+ timeoutMs?: number;
268
+ maxRetries?: number;
269
+ };
270
+ llm?: {
271
+ provider?: string;
272
+ model: string;
273
+ apiKey?: string;
274
+ baseURL?: string;
275
+ baseUrl?: string;
276
+ };
277
+ reranker?: {
278
+ provider?: string;
279
+ model: string;
280
+ apiKey?: string;
281
+ baseURL?: string;
282
+ baseUrl?: string;
283
+ };
284
+ vectorChunking?: {
285
+ chunkSize?: number;
286
+ chunkOverlap?: number;
287
+ evidenceMaxChunks?: number;
288
+ };
47
289
  getCachedAutoSearch: (sessionId: string) => {
48
290
  query: string;
49
291
  results: unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"ts_engine.d.ts","sourceRoot":"","sources":["../../../src/engine/ts_engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAQV,WAAW,EAGZ,MAAM,SAAS,CAAC;AAEjB,UAAU,YAAY;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE;QACV,WAAW,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;KAClH,CAAC;IACF,WAAW,EAAE;QACX,UAAU,IAAI,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACtF,CAAC;IACF,UAAU,EAAE;QACV,YAAY,CAAC,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC;YACvE,gBAAgB,EAAE,MAAM,CAAC;YACzB,WAAW,CAAC,EAAE;gBAAE,QAAQ,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAC;gBAAC,cAAc,EAAE,MAAM,CAAA;aAAE,CAAC;SAC7E,CAAC,CAAC;KACJ,CAAC;IACF,SAAS,EAAE;QACT,aAAa,IAAI,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvF,aAAa,IAAI,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACtE,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7G,gBAAgB,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACtE,wBAAwB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtG,yBAAyB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC1F,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACrD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KACrD,CAAC;CACH;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAwW/D"}
1
+ {"version":3,"file":"ts_engine.d.ts","sourceRoot":"","sources":["../../../src/engine/ts_engine.ts"],"names":[],"mappings":"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"}