openclaw-cortex-memory 0.1.0-Alpha.4 → 0.1.0-Alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +82 -3
  2. package/SKILL.md +58 -3
  3. package/dist/index.d.ts +18 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +118 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/openclaw.plugin.json +101 -1
  8. package/dist/src/dedup/three_stage_deduplicator.d.ts +25 -0
  9. package/dist/src/dedup/three_stage_deduplicator.d.ts.map +1 -0
  10. package/dist/src/dedup/three_stage_deduplicator.js +225 -0
  11. package/dist/src/dedup/three_stage_deduplicator.js.map +1 -0
  12. package/dist/src/engine/ts_engine.d.ts +36 -0
  13. package/dist/src/engine/ts_engine.d.ts.map +1 -1
  14. package/dist/src/engine/ts_engine.js +197 -32
  15. package/dist/src/engine/ts_engine.js.map +1 -1
  16. package/dist/src/engine/types.d.ts +4 -0
  17. package/dist/src/engine/types.d.ts.map +1 -1
  18. package/dist/src/graph/ontology.d.ts +53 -0
  19. package/dist/src/graph/ontology.d.ts.map +1 -0
  20. package/dist/src/graph/ontology.js +252 -0
  21. package/dist/src/graph/ontology.js.map +1 -0
  22. package/dist/src/session/session_end.d.ts +55 -0
  23. package/dist/src/session/session_end.d.ts.map +1 -1
  24. package/dist/src/session/session_end.js +237 -51
  25. package/dist/src/session/session_end.js.map +1 -1
  26. package/dist/src/store/archive_store.d.ts +89 -0
  27. package/dist/src/store/archive_store.d.ts.map +1 -0
  28. package/dist/src/store/archive_store.js +242 -0
  29. package/dist/src/store/archive_store.js.map +1 -0
  30. package/dist/src/store/read_store.d.ts +24 -0
  31. package/dist/src/store/read_store.d.ts.map +1 -1
  32. package/dist/src/store/read_store.js +635 -27
  33. package/dist/src/store/read_store.js.map +1 -1
  34. package/dist/src/store/vector_store.d.ts +30 -0
  35. package/dist/src/store/vector_store.d.ts.map +1 -0
  36. package/dist/src/store/vector_store.js +127 -0
  37. package/dist/src/store/vector_store.js.map +1 -0
  38. package/dist/src/sync/session_sync.d.ts +7 -0
  39. package/dist/src/sync/session_sync.d.ts.map +1 -1
  40. package/dist/src/sync/session_sync.js +109 -7
  41. package/dist/src/sync/session_sync.js.map +1 -1
  42. package/openclaw.plugin.json +101 -1
  43. package/package.json +6 -2
@@ -0,0 +1,242 @@
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.createArchiveStore = createArchiveStore;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const ontology_1 = require("../graph/ontology");
40
+ function normalizeBaseUrl(value) {
41
+ if (!value)
42
+ return "";
43
+ return value.endsWith("/") ? value.slice(0, -1) : value;
44
+ }
45
+ function scoreQuality(text) {
46
+ const length = text.length;
47
+ const score = Math.max(0, Math.min(1, Number((Math.min(length, 320) / 320).toFixed(2))));
48
+ if (score >= 0.75) {
49
+ return { score, level: "high" };
50
+ }
51
+ if (score >= 0.4) {
52
+ return { score, level: "medium" };
53
+ }
54
+ return { score, level: "low" };
55
+ }
56
+ async function requestEmbedding(args) {
57
+ const endpoint = args.baseUrl.endsWith("/embeddings") ? args.baseUrl : `${args.baseUrl}/embeddings`;
58
+ const body = {
59
+ input: args.text,
60
+ model: args.model,
61
+ };
62
+ if (typeof args.dimensions === "number" && Number.isFinite(args.dimensions) && args.dimensions > 0) {
63
+ body.dimensions = args.dimensions;
64
+ }
65
+ let lastError = null;
66
+ for (let attempt = 0; attempt < 3; attempt += 1) {
67
+ const controller = new AbortController();
68
+ const timeoutId = setTimeout(() => controller.abort(), 10000);
69
+ try {
70
+ const response = await fetch(endpoint, {
71
+ method: "POST",
72
+ headers: {
73
+ "content-type": "application/json",
74
+ authorization: `Bearer ${args.apiKey}`,
75
+ },
76
+ body: JSON.stringify(body),
77
+ signal: controller.signal,
78
+ });
79
+ clearTimeout(timeoutId);
80
+ if (!response.ok) {
81
+ lastError = new Error(`embedding_http_${response.status}`);
82
+ continue;
83
+ }
84
+ const json = await response.json();
85
+ const embedding = json?.data?.[0]?.embedding;
86
+ if (Array.isArray(embedding) && embedding.length > 0) {
87
+ return embedding.filter(item => Number.isFinite(item));
88
+ }
89
+ lastError = new Error("embedding_empty");
90
+ }
91
+ catch (error) {
92
+ clearTimeout(timeoutId);
93
+ lastError = error;
94
+ }
95
+ }
96
+ if (lastError) {
97
+ throw lastError;
98
+ }
99
+ return null;
100
+ }
101
+ function ensureDirForFile(filePath) {
102
+ const dir = path.dirname(filePath);
103
+ if (!fs.existsSync(dir)) {
104
+ fs.mkdirSync(dir, { recursive: true });
105
+ }
106
+ }
107
+ function createArchiveStore(options) {
108
+ const archivePath = path.join(options.memoryRoot, "sessions", "archive", "sessions.jsonl");
109
+ const mutationLogPath = path.join(options.memoryRoot, "graph", "mutation_log.jsonl");
110
+ const graphSchema = (0, ontology_1.loadGraphSchema)(options.projectRoot);
111
+ async function storeEvents(events) {
112
+ const stored = [];
113
+ const skipped = [];
114
+ if (!events.length) {
115
+ return { stored, skipped };
116
+ }
117
+ const lines = [];
118
+ const mutationLines = [];
119
+ for (const event of events) {
120
+ const summary = (event.summary || "").trim();
121
+ if (!summary) {
122
+ skipped.push({ summary: "", reason: "empty_summary" });
123
+ continue;
124
+ }
125
+ const confidence = typeof event.confidence === "number"
126
+ ? Math.max(0, Math.min(1, event.confidence))
127
+ : undefined;
128
+ if (typeof confidence === "number" && confidence < 0.35) {
129
+ skipped.push({ summary, reason: "low_confidence" });
130
+ continue;
131
+ }
132
+ const quality = scoreQuality(summary);
133
+ if (quality.level === "low") {
134
+ skipped.push({ summary, reason: "low_quality" });
135
+ continue;
136
+ }
137
+ const normalizedEventType = (0, ontology_1.normalizeEventType)(event.event_type || "insight", graphSchema);
138
+ const entities = Array.isArray(event.entities)
139
+ ? [...new Set(event.entities.map(item => (typeof item === "string" ? item.trim() : "")).filter(Boolean))]
140
+ : [];
141
+ const relationValidation = (0, ontology_1.validateRelations)({
142
+ relations: Array.isArray(event.relations) ? event.relations : [],
143
+ entities,
144
+ entityTypes: event.entity_types,
145
+ schema: graphSchema,
146
+ });
147
+ if (relationValidation.accepted.length === 0 && Array.isArray(event.relations) && event.relations.length > 0) {
148
+ skipped.push({ summary, reason: "relation_validation_failed" });
149
+ continue;
150
+ }
151
+ const id = `evt_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
152
+ let embedding = undefined;
153
+ const embeddingModel = options.embedding?.model || "";
154
+ const embeddingApiKey = options.embedding?.apiKey || "";
155
+ const embeddingBaseUrl = normalizeBaseUrl(options.embedding?.baseURL || options.embedding?.baseUrl);
156
+ if (embeddingModel && embeddingApiKey && embeddingBaseUrl) {
157
+ try {
158
+ embedding = await requestEmbedding({
159
+ text: summary,
160
+ model: embeddingModel,
161
+ apiKey: embeddingApiKey,
162
+ baseUrl: embeddingBaseUrl,
163
+ dimensions: options.embedding?.dimensions,
164
+ }) || undefined;
165
+ }
166
+ catch (error) {
167
+ options.logger.warn(`Archive embedding failed: ${error}`);
168
+ }
169
+ }
170
+ const dedup = options.deduplicator.check({
171
+ id,
172
+ summary: `${normalizedEventType}: ${summary}`,
173
+ embedding,
174
+ });
175
+ if (dedup.duplicate) {
176
+ skipped.push({ summary, reason: `duplicate_${dedup.stage || "unknown"}` });
177
+ continue;
178
+ }
179
+ const record = {
180
+ ...event,
181
+ event_type: normalizedEventType,
182
+ entities,
183
+ relations: relationValidation.accepted,
184
+ canonical_id: event.canonical_id || (0, ontology_1.buildCanonicalId)({
185
+ eventType: normalizedEventType,
186
+ summary,
187
+ entities,
188
+ relations: relationValidation.accepted,
189
+ outcome: event.outcome,
190
+ }),
191
+ actor: event.actor || "system",
192
+ confidence,
193
+ id,
194
+ timestamp: new Date().toISOString(),
195
+ quality_score: quality.score,
196
+ quality_level: quality.level,
197
+ embedding,
198
+ };
199
+ lines.push(JSON.stringify(record));
200
+ stored.push(record);
201
+ options.deduplicator.append({
202
+ id: record.id,
203
+ summary: `${record.event_type}: ${summary}`,
204
+ embedding: embedding,
205
+ });
206
+ mutationLines.push(JSON.stringify({
207
+ op: "insert_event",
208
+ id: record.id,
209
+ canonical_id: record.canonical_id,
210
+ source_event_id: record.source_event_id || "",
211
+ actor: record.actor || "system",
212
+ timestamp: record.timestamp,
213
+ event_type: record.event_type,
214
+ summary: record.summary,
215
+ }));
216
+ if (embedding && embedding.length > 0) {
217
+ await options.vectorStore.upsert({
218
+ id: record.id,
219
+ session_id: record.session_id,
220
+ event_type: record.event_type,
221
+ summary: record.summary,
222
+ timestamp: record.timestamp,
223
+ outcome: record.outcome,
224
+ entities: record.entities,
225
+ relations: record.relations,
226
+ embedding,
227
+ quality_score: record.quality_score,
228
+ });
229
+ }
230
+ }
231
+ if (lines.length > 0) {
232
+ ensureDirForFile(archivePath);
233
+ fs.appendFileSync(archivePath, `${lines.join("\n")}\n`, "utf-8");
234
+ ensureDirForFile(mutationLogPath);
235
+ fs.appendFileSync(mutationLogPath, `${mutationLines.join("\n")}\n`, "utf-8");
236
+ }
237
+ return { stored, skipped };
238
+ }
239
+ options.logger.info(`Archive store initialized at ${archivePath}`);
240
+ return { storeEvents };
241
+ }
242
+ //# sourceMappingURL=archive_store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive_store.js","sourceRoot":"","sources":["../../../src/store/archive_store.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,30 @@ interface ReadStoreOptions {
37
37
  baseURL?: string;
38
38
  baseUrl?: string;
39
39
  };
40
+ llm?: {
41
+ provider: string;
42
+ model: string;
43
+ apiKey?: string;
44
+ baseURL?: string;
45
+ baseUrl?: string;
46
+ };
47
+ fusion?: {
48
+ enabled?: boolean;
49
+ maxCandidates?: number;
50
+ authoritative?: boolean;
51
+ };
52
+ memoryDecay?: {
53
+ enabled?: boolean;
54
+ minFloor?: number;
55
+ defaultHalfLifeDays?: number;
56
+ halfLifeByEventType?: Record<string, number>;
57
+ antiDecay?: {
58
+ enabled?: boolean;
59
+ maxBoost?: number;
60
+ hitWeight?: number;
61
+ recentWindowDays?: number;
62
+ };
63
+ };
40
64
  }
41
65
  export interface ReadStore {
42
66
  searchMemory(args: ReadStoreSearchArgs): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"read_store.d.ts","sourceRoot":"","sources":["../../../src/store/read_store.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAUD,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IACzE,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IACvE,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC/C,WAAW,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;QACzE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;KACzB,CAAC,CAAC;CACJ;AA+QD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAoIpE"}
1
+ {"version":3,"file":"read_store.d.ts","sourceRoot":"","sources":["../../../src/store/read_store.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAeD,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,SAAS,CAAC,EAAE;YACV,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IACzE,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IACvE,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC/C,WAAW,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;QACzE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;KACzB,CAAC,CAAC;CACJ;AA+pBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAoZpE"}