@framers/agentos 0.2.12 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ingest-router/executors/EntityExtractor.d.ts +23 -0
- package/dist/ingest-router/executors/EntityExtractor.d.ts.map +1 -0
- package/dist/ingest-router/executors/EntityExtractor.js +69 -0
- package/dist/ingest-router/executors/EntityExtractor.js.map +1 -0
- package/dist/ingest-router/executors/EntityLinkingIngestExecutor.d.ts +46 -0
- package/dist/ingest-router/executors/EntityLinkingIngestExecutor.d.ts.map +1 -0
- package/dist/ingest-router/executors/EntityLinkingIngestExecutor.js +45 -0
- package/dist/ingest-router/executors/EntityLinkingIngestExecutor.js.map +1 -0
- package/dist/ingest-router/executors/entity-types.d.ts +55 -0
- package/dist/ingest-router/executors/entity-types.d.ts.map +1 -0
- package/dist/ingest-router/executors/entity-types.js +17 -0
- package/dist/ingest-router/executors/entity-types.js.map +1 -0
- package/dist/ingest-router/executors/index.d.ts +7 -0
- package/dist/ingest-router/executors/index.d.ts.map +1 -1
- package/dist/ingest-router/executors/index.js +6 -0
- package/dist/ingest-router/executors/index.js.map +1 -1
- package/dist/ingest-router/index.d.ts +2 -2
- package/dist/ingest-router/index.d.ts.map +1 -1
- package/dist/ingest-router/index.js +1 -1
- package/dist/ingest-router/index.js.map +1 -1
- package/dist/memory/AgentMemory.js +1 -1
- package/dist/memory/AgentMemory.js.map +1 -1
- package/dist/memory/CognitiveMemoryManager.js +4 -4
- package/dist/memory/CognitiveMemoryManager.js.map +1 -1
- package/dist/memory/archive/IMemoryArchive.d.ts +2 -2
- package/dist/memory/archive/SqlStorageMemoryArchive.d.ts +17 -13
- package/dist/memory/archive/SqlStorageMemoryArchive.d.ts.map +1 -1
- package/dist/memory/archive/SqlStorageMemoryArchive.js +36 -28
- package/dist/memory/archive/SqlStorageMemoryArchive.js.map +1 -1
- package/dist/memory/core/config.d.ts +4 -4
- package/dist/memory/core/config.d.ts.map +1 -1
- package/dist/memory/index.d.ts +3 -3
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -3
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/io/ChatGptImporter.d.ts +5 -5
- package/dist/memory/io/ChatGptImporter.d.ts.map +1 -1
- package/dist/memory/io/ChatGptImporter.js +9 -7
- package/dist/memory/io/ChatGptImporter.js.map +1 -1
- package/dist/memory/io/CsvImporter.d.ts +4 -4
- package/dist/memory/io/CsvImporter.d.ts.map +1 -1
- package/dist/memory/io/CsvImporter.js +11 -8
- package/dist/memory/io/CsvImporter.js.map +1 -1
- package/dist/memory/io/JsonExporter.d.ts +5 -5
- package/dist/memory/io/JsonExporter.d.ts.map +1 -1
- package/dist/memory/io/JsonExporter.js +13 -12
- package/dist/memory/io/JsonExporter.js.map +1 -1
- package/dist/memory/io/JsonImporter.d.ts +5 -5
- package/dist/memory/io/JsonImporter.d.ts.map +1 -1
- package/dist/memory/io/JsonImporter.js +50 -34
- package/dist/memory/io/JsonImporter.js.map +1 -1
- package/dist/memory/io/MarkdownExporter.d.ts +4 -4
- package/dist/memory/io/MarkdownExporter.d.ts.map +1 -1
- package/dist/memory/io/MarkdownExporter.js +1 -1
- package/dist/memory/io/MarkdownExporter.js.map +1 -1
- package/dist/memory/io/MarkdownImporter.d.ts +6 -6
- package/dist/memory/io/MarkdownImporter.d.ts.map +1 -1
- package/dist/memory/io/MarkdownImporter.js +8 -7
- package/dist/memory/io/MarkdownImporter.js.map +1 -1
- package/dist/memory/io/ObsidianImporter.d.ts +4 -4
- package/dist/memory/io/ObsidianImporter.d.ts.map +1 -1
- package/dist/memory/io/ObsidianImporter.js +15 -10
- package/dist/memory/io/ObsidianImporter.js.map +1 -1
- package/dist/memory/io/SqliteExporter.d.ts +5 -5
- package/dist/memory/io/SqliteExporter.d.ts.map +1 -1
- package/dist/memory/io/SqliteExporter.js +3 -3
- package/dist/memory/io/SqliteExporter.js.map +1 -1
- package/dist/memory/io/SqliteImporter.d.ts +4 -4
- package/dist/memory/io/SqliteImporter.d.ts.map +1 -1
- package/dist/memory/io/SqliteImporter.js +23 -16
- package/dist/memory/io/SqliteImporter.js.map +1 -1
- package/dist/memory/io/facade/Memory.d.ts +58 -10
- package/dist/memory/io/facade/Memory.d.ts.map +1 -1
- package/dist/memory/io/facade/Memory.js +124 -50
- package/dist/memory/io/facade/Memory.js.map +1 -1
- package/dist/memory/io/facade/types.d.ts +1 -1
- package/dist/memory/io/index.d.ts +2 -2
- package/dist/memory/io/index.js +2 -2
- package/dist/memory/io/tools/MemoryAddTool.d.ts +2 -2
- package/dist/memory/io/tools/MemoryAddTool.d.ts.map +1 -1
- package/dist/memory/io/tools/MemoryAddTool.js +2 -2
- package/dist/memory/io/tools/MemoryAddTool.js.map +1 -1
- package/dist/memory/io/tools/MemoryDeleteTool.d.ts +2 -2
- package/dist/memory/io/tools/MemoryDeleteTool.d.ts.map +1 -1
- package/dist/memory/io/tools/MemoryDeleteTool.js +1 -1
- package/dist/memory/io/tools/MemoryDeleteTool.js.map +1 -1
- package/dist/memory/io/tools/MemoryMergeTool.d.ts +2 -2
- package/dist/memory/io/tools/MemoryMergeTool.d.ts.map +1 -1
- package/dist/memory/io/tools/MemoryMergeTool.js +4 -3
- package/dist/memory/io/tools/MemoryMergeTool.js.map +1 -1
- package/dist/memory/io/tools/MemoryReflectTool.d.ts +2 -2
- package/dist/memory/io/tools/MemoryReflectTool.d.ts.map +1 -1
- package/dist/memory/io/tools/MemoryReflectTool.js.map +1 -1
- package/dist/memory/io/tools/MemorySearchTool.d.ts +2 -2
- package/dist/memory/io/tools/MemorySearchTool.d.ts.map +1 -1
- package/dist/memory/io/tools/MemorySearchTool.js.map +1 -1
- package/dist/memory/io/tools/MemoryUpdateTool.d.ts +2 -2
- package/dist/memory/io/tools/MemoryUpdateTool.d.ts.map +1 -1
- package/dist/memory/io/tools/MemoryUpdateTool.js +5 -4
- package/dist/memory/io/tools/MemoryUpdateTool.js.map +1 -1
- package/dist/memory/pipeline/consolidation/ConsolidationLoop.d.ts +3 -3
- package/dist/memory/pipeline/consolidation/ConsolidationLoop.d.ts.map +1 -1
- package/dist/memory/pipeline/consolidation/ConsolidationLoop.js +22 -17
- package/dist/memory/pipeline/consolidation/ConsolidationLoop.js.map +1 -1
- package/dist/memory/retrieval/feedback/RetrievalFeedbackSignal.d.ts +3 -3
- package/dist/memory/retrieval/feedback/RetrievalFeedbackSignal.d.ts.map +1 -1
- package/dist/memory/retrieval/feedback/RetrievalFeedbackSignal.js +15 -12
- package/dist/memory/retrieval/feedback/RetrievalFeedbackSignal.js.map +1 -1
- package/dist/memory/retrieval/graph/index.d.ts +0 -1
- package/dist/memory/retrieval/graph/index.d.ts.map +1 -1
- package/dist/memory/retrieval/graph/index.js +4 -1
- package/dist/memory/retrieval/graph/index.js.map +1 -1
- package/dist/memory/retrieval/store/{SqliteBrain.d.ts → Brain.d.ts} +106 -23
- package/dist/memory/retrieval/store/Brain.d.ts.map +1 -0
- package/dist/memory/retrieval/store/Brain.js +898 -0
- package/dist/memory/retrieval/store/Brain.js.map +1 -0
- package/dist/memory/retrieval/store/HnswSidecar.d.ts +1 -1
- package/dist/memory/retrieval/store/HnswSidecar.js +1 -1
- package/dist/memory/retrieval/store/MemoryStore.d.ts +6 -6
- package/dist/memory/retrieval/store/MemoryStore.d.ts.map +1 -1
- package/dist/memory/retrieval/store/MemoryStore.js +10 -9
- package/dist/memory/retrieval/store/MemoryStore.js.map +1 -1
- package/dist/memory/retrieval/store/{SqliteKnowledgeGraph.d.ts → SqlKnowledgeGraph.d.ts} +12 -12
- package/dist/memory/retrieval/store/SqlKnowledgeGraph.d.ts.map +1 -0
- package/dist/memory/retrieval/store/{SqliteKnowledgeGraph.js → SqlKnowledgeGraph.js} +83 -64
- package/dist/memory/retrieval/store/SqlKnowledgeGraph.js.map +1 -0
- package/dist/memory/retrieval/store/{SqliteMemoryGraph.d.ts → SqlMemoryGraph.d.ts} +11 -11
- package/dist/memory/retrieval/store/SqlMemoryGraph.d.ts.map +1 -0
- package/dist/memory/retrieval/store/{SqliteMemoryGraph.js → SqlMemoryGraph.js} +26 -24
- package/dist/memory/retrieval/store/SqlMemoryGraph.js.map +1 -0
- package/dist/memory/retrieval/store/migrations/MigrationRunner.d.ts +50 -0
- package/dist/memory/retrieval/store/migrations/MigrationRunner.d.ts.map +1 -0
- package/dist/memory/retrieval/store/migrations/MigrationRunner.js +100 -0
- package/dist/memory/retrieval/store/migrations/MigrationRunner.js.map +1 -0
- package/dist/memory/retrieval/store/migrations/index.d.ts +20 -0
- package/dist/memory/retrieval/store/migrations/index.d.ts.map +1 -0
- package/dist/memory/retrieval/store/migrations/index.js +19 -0
- package/dist/memory/retrieval/store/migrations/index.js.map +1 -0
- package/dist/memory/retrieval/store/migrations/types.d.ts +28 -0
- package/dist/memory/retrieval/store/migrations/types.d.ts.map +1 -0
- package/dist/memory/retrieval/store/migrations/types.js +7 -0
- package/dist/memory/retrieval/store/migrations/types.js.map +1 -0
- package/dist/memory/retrieval/store/migrations/v1-to-v2.d.ts +40 -0
- package/dist/memory/retrieval/store/migrations/v1-to-v2.d.ts.map +1 -0
- package/dist/memory/retrieval/store/migrations/v1-to-v2.js +491 -0
- package/dist/memory/retrieval/store/migrations/v1-to-v2.js.map +1 -0
- package/dist/memory/retrieval/store/portable-tables.d.ts +27 -0
- package/dist/memory/retrieval/store/portable-tables.d.ts.map +1 -0
- package/dist/memory/retrieval/store/portable-tables.js +56 -0
- package/dist/memory/retrieval/store/portable-tables.js.map +1 -0
- package/dist/memory-router/backends/EntityRetrievalRanker.d.ts +54 -0
- package/dist/memory-router/backends/EntityRetrievalRanker.d.ts.map +1 -0
- package/dist/memory-router/backends/EntityRetrievalRanker.js +39 -0
- package/dist/memory-router/backends/EntityRetrievalRanker.js.map +1 -0
- package/dist/memory-router/backends/index.d.ts +16 -0
- package/dist/memory-router/backends/index.d.ts.map +1 -0
- package/dist/memory-router/backends/index.js +16 -0
- package/dist/memory-router/backends/index.js.map +1 -0
- package/dist/memory-router/index.d.ts +2 -0
- package/dist/memory-router/index.d.ts.map +1 -1
- package/dist/memory-router/index.js +4 -0
- package/dist/memory-router/index.js.map +1 -1
- package/dist/rag/utils/vectorMath.d.ts +1 -1
- package/dist/rag/utils/vectorMath.js +1 -1
- package/dist/rag/vector-search/HnswIndexSidecar.d.ts +1 -1
- package/dist/rag/vector-search/HnswIndexSidecar.js +1 -1
- package/package.json +2 -2
- package/dist/memory/retrieval/graph/knowledge/SqliteKnowledgeGraph.d.ts +0 -10
- package/dist/memory/retrieval/graph/knowledge/SqliteKnowledgeGraph.d.ts.map +0 -1
- package/dist/memory/retrieval/graph/knowledge/SqliteKnowledgeGraph.js +0 -10
- package/dist/memory/retrieval/graph/knowledge/SqliteKnowledgeGraph.js.map +0 -1
- package/dist/memory/retrieval/store/SqliteBrain.d.ts.map +0 -1
- package/dist/memory/retrieval/store/SqliteBrain.js +0 -553
- package/dist/memory/retrieval/store/SqliteBrain.js.map +0 -1
- package/dist/memory/retrieval/store/SqliteKnowledgeGraph.d.ts.map +0 -1
- package/dist/memory/retrieval/store/SqliteKnowledgeGraph.js.map +0 -1
- package/dist/memory/retrieval/store/SqliteMemoryGraph.d.ts.map +0 -1
- package/dist/memory/retrieval/store/SqliteMemoryGraph.js.map +0 -1
|
@@ -43,7 +43,7 @@ const HASHTAG_RE = /(?<![[#])#([\w-]+)/g;
|
|
|
43
43
|
// ObsidianImporter
|
|
44
44
|
// ---------------------------------------------------------------------------
|
|
45
45
|
/**
|
|
46
|
-
* Imports an Obsidian vault (directory of Markdown files) into a `
|
|
46
|
+
* Imports an Obsidian vault (directory of Markdown files) into a `Brain`.
|
|
47
47
|
*
|
|
48
48
|
* **Usage:**
|
|
49
49
|
* ```ts
|
|
@@ -53,7 +53,7 @@ const HASHTAG_RE = /(?<![[#])#([\w-]+)/g;
|
|
|
53
53
|
*/
|
|
54
54
|
export class ObsidianImporter extends MarkdownImporter {
|
|
55
55
|
/**
|
|
56
|
-
* @param brain - The target `
|
|
56
|
+
* @param brain - The target `Brain` to import into.
|
|
57
57
|
*/
|
|
58
58
|
constructor(brain) {
|
|
59
59
|
super(brain);
|
|
@@ -119,7 +119,8 @@ export class ObsidianImporter extends MarkdownImporter {
|
|
|
119
119
|
async _mergeTagsIntoTrace(traceId, newTags, result) {
|
|
120
120
|
try {
|
|
121
121
|
const brainRef = this.brain;
|
|
122
|
-
const
|
|
122
|
+
const brainId = brainRef.brainId;
|
|
123
|
+
const row = await brainRef.get('SELECT tags FROM memory_traces WHERE brain_id = ? AND id = ?', [brainId, traceId]);
|
|
123
124
|
if (!row)
|
|
124
125
|
return;
|
|
125
126
|
let existing = [];
|
|
@@ -130,7 +131,7 @@ export class ObsidianImporter extends MarkdownImporter {
|
|
|
130
131
|
existing = [];
|
|
131
132
|
}
|
|
132
133
|
const merged = Array.from(new Set([...existing, ...newTags]));
|
|
133
|
-
await brainRef.run('UPDATE memory_traces SET tags = ? WHERE id = ?', [JSON.stringify(merged), traceId]);
|
|
134
|
+
await brainRef.run('UPDATE memory_traces SET tags = ? WHERE brain_id = ? AND id = ?', [JSON.stringify(merged), brainId, traceId]);
|
|
134
135
|
}
|
|
135
136
|
catch (err) {
|
|
136
137
|
result.errors.push(`Tag merge error for trace ${traceId}: ${String(err)}`);
|
|
@@ -157,18 +158,20 @@ export class ObsidianImporter extends MarkdownImporter {
|
|
|
157
158
|
try {
|
|
158
159
|
const brainRef = this.brain;
|
|
159
160
|
const { dialect } = brainRef.features;
|
|
161
|
+
const brainId = brainRef.brainId;
|
|
160
162
|
// ---- Upsert source knowledge node for the trace ----
|
|
161
163
|
// We use the trace ID itself as the node label so the graph stays navigable.
|
|
162
164
|
const sourceLabel = `trace:${sourceTraceId}`;
|
|
163
165
|
const sourceHash = await sha256(`wiki-source::${sourceTraceId}`);
|
|
164
166
|
let sourceNodeId;
|
|
165
|
-
const existingSource = await brainRef.get(`SELECT id FROM knowledge_nodes WHERE label = ? LIMIT 1`, [sourceLabel]);
|
|
167
|
+
const existingSource = await brainRef.get(`SELECT id FROM knowledge_nodes WHERE brain_id = ? AND label = ? LIMIT 1`, [brainId, sourceLabel]);
|
|
166
168
|
if (existingSource) {
|
|
167
169
|
sourceNodeId = existingSource.id;
|
|
168
170
|
}
|
|
169
171
|
else {
|
|
170
172
|
sourceNodeId = `kn_${uuidv4()}`;
|
|
171
|
-
await brainRef.run(dialect.insertOrIgnore('knowledge_nodes', ['id', 'type', 'label', 'properties', 'embedding', 'confidence', 'source', 'created_at'], ['?', "'trace'", '?', '?', 'NULL', '1.0', "'{}'", '?']), [
|
|
173
|
+
await brainRef.run(dialect.insertOrIgnore('knowledge_nodes', ['brain_id', 'id', 'type', 'label', 'properties', 'embedding', 'confidence', 'source', 'created_at'], ['?', '?', "'trace'", '?', '?', 'NULL', '1.0', "'{}'", '?']), [
|
|
174
|
+
brainId,
|
|
172
175
|
sourceNodeId,
|
|
173
176
|
sourceLabel,
|
|
174
177
|
JSON.stringify({ import_hash: sourceHash, trace_id: sourceTraceId }),
|
|
@@ -178,13 +181,14 @@ export class ObsidianImporter extends MarkdownImporter {
|
|
|
178
181
|
// ---- Upsert target knowledge node for the wikilink label ----
|
|
179
182
|
const targetHash = await sha256(`wiki::${targetLabel}`);
|
|
180
183
|
let targetNodeId;
|
|
181
|
-
const existingTarget = await brainRef.get(`SELECT id FROM knowledge_nodes WHERE label = ? LIMIT 1`, [targetLabel]);
|
|
184
|
+
const existingTarget = await brainRef.get(`SELECT id FROM knowledge_nodes WHERE brain_id = ? AND label = ? LIMIT 1`, [brainId, targetLabel]);
|
|
182
185
|
if (existingTarget) {
|
|
183
186
|
targetNodeId = existingTarget.id;
|
|
184
187
|
}
|
|
185
188
|
else {
|
|
186
189
|
targetNodeId = `kn_${uuidv4()}`;
|
|
187
|
-
await brainRef.run(dialect.insertOrIgnore('knowledge_nodes', ['id', 'type', 'label', 'properties', 'embedding', 'confidence', 'source', 'created_at'], ['?', "'concept'", '?', '?', 'NULL', '1.0', "'{}'", '?']), [
|
|
190
|
+
await brainRef.run(dialect.insertOrIgnore('knowledge_nodes', ['brain_id', 'id', 'type', 'label', 'properties', 'embedding', 'confidence', 'source', 'created_at'], ['?', '?', "'concept'", '?', '?', 'NULL', '1.0', "'{}'", '?']), [
|
|
191
|
+
brainId,
|
|
188
192
|
targetNodeId,
|
|
189
193
|
targetLabel,
|
|
190
194
|
JSON.stringify({ import_hash: targetHash, obsidian_wikilink: true }),
|
|
@@ -195,9 +199,10 @@ export class ObsidianImporter extends MarkdownImporter {
|
|
|
195
199
|
const edgeHash = await sha256(`${sourceNodeId}::${targetNodeId}::related_to`);
|
|
196
200
|
// Check for existing edge before insert (extra safety beyond OR IGNORE).
|
|
197
201
|
const existingEdge = await brainRef.get(`SELECT id FROM knowledge_edges
|
|
198
|
-
WHERE ${dialect.jsonExtract('metadata', '$.import_hash')} = ? LIMIT 1`, [edgeHash]);
|
|
202
|
+
WHERE brain_id = ? AND ${dialect.jsonExtract('metadata', '$.import_hash')} = ? LIMIT 1`, [brainId, edgeHash]);
|
|
199
203
|
if (!existingEdge) {
|
|
200
|
-
await brainRef.run(dialect.insertOrIgnore('knowledge_edges', ['id', 'source_id', 'target_id', 'type', 'weight', 'bidirectional', 'metadata', 'created_at'], ['?', '?', '?', "'related_to'", '1.0', '0', '?', '?']), [
|
|
204
|
+
await brainRef.run(dialect.insertOrIgnore('knowledge_edges', ['brain_id', 'id', 'source_id', 'target_id', 'type', 'weight', 'bidirectional', 'metadata', 'created_at'], ['?', '?', '?', '?', "'related_to'", '1.0', '0', '?', '?']), [
|
|
205
|
+
brainId,
|
|
201
206
|
`ke_${uuidv4()}`,
|
|
202
207
|
sourceNodeId,
|
|
203
208
|
targetNodeId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObsidianImporter.js","sourceRoot":"","sources":["../../../src/memory/io/ObsidianImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAE5D;;;GAGG;AACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAmBzC,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IACpD;;OAEG;IACH,YAAY,
|
|
1
|
+
{"version":3,"file":"ObsidianImporter.js","sourceRoot":"","sources":["../../../src/memory/io/ObsidianImporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview SQLite exporter for AgentOS memory brain.
|
|
3
3
|
*
|
|
4
|
-
* Provides a full-fidelity backup of the `
|
|
4
|
+
* Provides a full-fidelity backup of the `Brain` SQLite file by copying
|
|
5
5
|
* the database file to a specified output path. This is the highest-fidelity
|
|
6
6
|
* export format — it preserves all tables, indexes, and metadata exactly.
|
|
7
7
|
*
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* @module memory/io/SqliteExporter
|
|
12
12
|
*/
|
|
13
13
|
import type { ExportOptions } from './facade/types.js';
|
|
14
|
-
import type {
|
|
14
|
+
import type { Brain } from '../retrieval/store/Brain.js';
|
|
15
15
|
/**
|
|
16
|
-
* Exports a `
|
|
16
|
+
* Exports a `Brain` as a portable SQLite file.
|
|
17
17
|
*
|
|
18
18
|
* **Usage:**
|
|
19
19
|
* ```ts
|
|
@@ -24,9 +24,9 @@ import type { SqliteBrain } from '../retrieval/store/SqliteBrain.js';
|
|
|
24
24
|
export declare class SqliteExporter {
|
|
25
25
|
private readonly brain;
|
|
26
26
|
/**
|
|
27
|
-
* @param brain - The `
|
|
27
|
+
* @param brain - The `Brain` instance to export.
|
|
28
28
|
*/
|
|
29
|
-
constructor(brain:
|
|
29
|
+
constructor(brain: Brain);
|
|
30
30
|
/**
|
|
31
31
|
* Copy the brain database to `outputPath`.
|
|
32
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteExporter.d.ts","sourceRoot":"","sources":["../../../src/memory/io/SqliteExporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SqliteExporter.d.ts","sourceRoot":"","sources":["../../../src/memory/io/SqliteExporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAMzD;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAIb,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC;;OAEG;gBAC0B,KAAK,EAAE,KAAK;IAMzC;;;;;;;;;;;;;OAaG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview SQLite exporter for AgentOS memory brain.
|
|
3
3
|
*
|
|
4
|
-
* Provides a full-fidelity backup of the `
|
|
4
|
+
* Provides a full-fidelity backup of the `Brain` SQLite file by copying
|
|
5
5
|
* the database file to a specified output path. This is the highest-fidelity
|
|
6
6
|
* export format — it preserves all tables, indexes, and metadata exactly.
|
|
7
7
|
*
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SqliteExporter
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
/**
|
|
17
|
-
* Exports a `
|
|
17
|
+
* Exports a `Brain` as a portable SQLite file.
|
|
18
18
|
*
|
|
19
19
|
* **Usage:**
|
|
20
20
|
* ```ts
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
export class SqliteExporter {
|
|
26
26
|
/**
|
|
27
|
-
* @param brain - The `
|
|
27
|
+
* @param brain - The `Brain` instance to export.
|
|
28
28
|
*/
|
|
29
29
|
constructor(brain) {
|
|
30
30
|
this.brain = brain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteExporter.js","sourceRoot":"","sources":["../../../src/memory/io/SqliteExporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAc;IACzB;;OAEG;IACH,YAA6B,
|
|
1
|
+
{"version":3,"file":"SqliteExporter.js","sourceRoot":"","sources":["../../../src/memory/io/SqliteExporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAc;IACzB;;OAEG;IACH,YAA6B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAE7C,4EAA4E;IAC5E,aAAa;IACb,4EAA4E;IAE5E;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,QAAwB;QACvD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Opens a source SQLite file via `@framers/sql-storage-adapter` (supporting
|
|
5
5
|
* better-sqlite3, sql.js, IndexedDB, etc.) and merges traces, knowledge
|
|
6
|
-
* nodes, and edges into the target `
|
|
6
|
+
* nodes, and edges into the target `Brain`.
|
|
7
7
|
*
|
|
8
8
|
* ## Merge strategy
|
|
9
9
|
* - **memory_traces**: deduplicated by SHA-256 of `content`.
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
* @module memory/io/SqliteImporter
|
|
20
20
|
*/
|
|
21
21
|
import type { ImportOptions, ImportResult } from './facade/types.js';
|
|
22
|
-
import type {
|
|
22
|
+
import type { Brain } from '../retrieval/store/Brain.js';
|
|
23
23
|
/**
|
|
24
|
-
* Merges a source SQLite brain file into a target `
|
|
24
|
+
* Merges a source SQLite brain file into a target `Brain`.
|
|
25
25
|
*
|
|
26
26
|
* Uses `@framers/sql-storage-adapter` to open the source file, enabling
|
|
27
27
|
* cross-platform operation (better-sqlite3, sql.js, IndexedDB).
|
|
@@ -34,7 +34,7 @@ import type { SqliteBrain } from '../retrieval/store/SqliteBrain.js';
|
|
|
34
34
|
*/
|
|
35
35
|
export declare class SqliteImporter {
|
|
36
36
|
private readonly brain;
|
|
37
|
-
constructor(brain:
|
|
37
|
+
constructor(brain: Brain);
|
|
38
38
|
/**
|
|
39
39
|
* Open `sourcePath` via StorageAdapter, read all tables, and merge
|
|
40
40
|
* their contents into the target brain.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteImporter.d.ts","sourceRoot":"","sources":["../../../src/memory/io/SqliteImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SqliteImporter.d.ts","sourceRoot":"","sources":["../../../src/memory/io/SqliteImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAkDzD;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEzC;;;;;;OAMG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;YAkCjF,OAAO;YAIP,YAAY;YAgFZ,WAAW;YAiDX,WAAW;YA0DX,eAAe;CAU9B"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Opens a source SQLite file via `@framers/sql-storage-adapter` (supporting
|
|
5
5
|
* better-sqlite3, sql.js, IndexedDB, etc.) and merges traces, knowledge
|
|
6
|
-
* nodes, and edges into the target `
|
|
6
|
+
* nodes, and edges into the target `Brain`.
|
|
7
7
|
*
|
|
8
8
|
* ## Merge strategy
|
|
9
9
|
* - **memory_traces**: deduplicated by SHA-256 of `content`.
|
|
@@ -25,7 +25,7 @@ import { resolveStorageAdapter } from '@framers/sql-storage-adapter';
|
|
|
25
25
|
// SqliteImporter
|
|
26
26
|
// ---------------------------------------------------------------------------
|
|
27
27
|
/**
|
|
28
|
-
* Merges a source SQLite brain file into a target `
|
|
28
|
+
* Merges a source SQLite brain file into a target `Brain`.
|
|
29
29
|
*
|
|
30
30
|
* Uses `@framers/sql-storage-adapter` to open the source file, enabling
|
|
31
31
|
* cross-platform operation (better-sqlite3, sql.js, IndexedDB).
|
|
@@ -91,21 +91,23 @@ export class SqliteImporter {
|
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
93
|
const { dialect } = this.brain.features;
|
|
94
|
+
const brainId = this.brain.brainId;
|
|
94
95
|
const checkSql = `SELECT id, created_at, tags
|
|
95
96
|
FROM memory_traces
|
|
96
|
-
WHERE
|
|
97
|
-
|
|
97
|
+
WHERE brain_id = ?
|
|
98
|
+
AND (${dialect.jsonExtract('metadata', '$.import_hash')} = ?
|
|
99
|
+
OR content = ?)
|
|
98
100
|
LIMIT 1`;
|
|
99
101
|
const insertSql = `INSERT INTO memory_traces
|
|
100
|
-
(id, type, scope, content, embedding, strength, created_at, last_accessed,
|
|
102
|
+
(brain_id, id, type, scope, content, embedding, strength, created_at, last_accessed,
|
|
101
103
|
retrieval_count, tags, emotions, metadata, deleted)
|
|
102
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`;
|
|
103
|
-
const updateTimestampSql = `UPDATE memory_traces SET created_at = ?, tags = ? WHERE id = ?`;
|
|
104
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`;
|
|
105
|
+
const updateTimestampSql = `UPDATE memory_traces SET created_at = ?, tags = ? WHERE brain_id = ? AND id = ?`;
|
|
104
106
|
for (const row of sourceRows) {
|
|
105
107
|
try {
|
|
106
108
|
const hash = await this._sha256(row.content);
|
|
107
109
|
if (options?.dedup ?? true) {
|
|
108
|
-
const existing = await trx.get(checkSql, [hash, row.content]);
|
|
110
|
+
const existing = await trx.get(checkSql, [brainId, hash, row.content]);
|
|
109
111
|
if (existing) {
|
|
110
112
|
const newerAt = Math.max(existing.created_at, row.created_at);
|
|
111
113
|
let existingTags = [];
|
|
@@ -119,7 +121,7 @@ export class SqliteImporter {
|
|
|
119
121
|
}
|
|
120
122
|
catch { /* ignore */ }
|
|
121
123
|
const merged = Array.from(new Set([...existingTags, ...sourceTags]));
|
|
122
|
-
await trx.run(updateTimestampSql, [newerAt, JSON.stringify(merged), existing.id]);
|
|
124
|
+
await trx.run(updateTimestampSql, [newerAt, JSON.stringify(merged), brainId, existing.id]);
|
|
123
125
|
result.skipped++;
|
|
124
126
|
continue;
|
|
125
127
|
}
|
|
@@ -132,6 +134,7 @@ export class SqliteImporter {
|
|
|
132
134
|
meta['import_hash'] = hash;
|
|
133
135
|
const id = await this._resolveTraceId(trx, row.id ?? `mt_${uuidv4()}`);
|
|
134
136
|
await trx.run(insertSql, [
|
|
137
|
+
brainId,
|
|
135
138
|
id,
|
|
136
139
|
row.type ?? 'episodic',
|
|
137
140
|
row.scope ?? 'user',
|
|
@@ -161,17 +164,19 @@ export class SqliteImporter {
|
|
|
161
164
|
catch {
|
|
162
165
|
return;
|
|
163
166
|
}
|
|
164
|
-
const checkSql = `SELECT id FROM knowledge_nodes WHERE label = ? AND type = ? LIMIT 1`;
|
|
167
|
+
const checkSql = `SELECT id FROM knowledge_nodes WHERE brain_id = ? AND label = ? AND type = ? LIMIT 1`;
|
|
165
168
|
const { dialect } = this.brain.features;
|
|
166
|
-
const
|
|
169
|
+
const brainId = this.brain.brainId;
|
|
170
|
+
const insertSql = dialect.insertOrIgnore('knowledge_nodes', ['brain_id', 'id', 'type', 'label', 'properties', 'embedding', 'confidence', 'source', 'created_at'], ['?', '?', '?', '?', '?', '?', '?', '?', '?']);
|
|
167
171
|
for (const row of sourceRows) {
|
|
168
172
|
try {
|
|
169
|
-
const existing = await trx.get(checkSql, [row.label ?? '', row.type ?? '']);
|
|
173
|
+
const existing = await trx.get(checkSql, [brainId, row.label ?? '', row.type ?? '']);
|
|
170
174
|
if (existing) {
|
|
171
175
|
result.skipped++;
|
|
172
176
|
continue;
|
|
173
177
|
}
|
|
174
178
|
await trx.run(insertSql, [
|
|
179
|
+
brainId,
|
|
175
180
|
row.id ?? `kn_${uuidv4()}`,
|
|
176
181
|
row.type ?? 'concept',
|
|
177
182
|
row.label ?? '',
|
|
@@ -197,22 +202,24 @@ export class SqliteImporter {
|
|
|
197
202
|
return;
|
|
198
203
|
}
|
|
199
204
|
const checkSql = `SELECT id FROM knowledge_edges
|
|
200
|
-
WHERE source_id = ? AND target_id = ? AND type = ?
|
|
205
|
+
WHERE brain_id = ? AND source_id = ? AND target_id = ? AND type = ?
|
|
201
206
|
LIMIT 1`;
|
|
202
207
|
const { dialect } = this.brain.features;
|
|
203
|
-
const
|
|
208
|
+
const brainId = this.brain.brainId;
|
|
209
|
+
const insertSql = dialect.insertOrIgnore('knowledge_edges', ['brain_id', 'id', 'source_id', 'target_id', 'type', 'weight', 'bidirectional', 'metadata', 'created_at'], ['?', '?', '?', '?', '?', '?', '?', '?', '?']);
|
|
204
210
|
for (const row of sourceRows) {
|
|
205
211
|
try {
|
|
206
212
|
if (!row.source_id || !row.target_id) {
|
|
207
213
|
result.skipped++;
|
|
208
214
|
continue;
|
|
209
215
|
}
|
|
210
|
-
const existing = await trx.get(checkSql, [row.source_id, row.target_id, row.type ?? '']);
|
|
216
|
+
const existing = await trx.get(checkSql, [brainId, row.source_id, row.target_id, row.type ?? '']);
|
|
211
217
|
if (existing) {
|
|
212
218
|
result.skipped++;
|
|
213
219
|
continue;
|
|
214
220
|
}
|
|
215
221
|
await trx.run(insertSql, [
|
|
222
|
+
brainId,
|
|
216
223
|
row.id ?? `ke_${uuidv4()}`,
|
|
217
224
|
row.source_id,
|
|
218
225
|
row.target_id,
|
|
@@ -230,7 +237,7 @@ export class SqliteImporter {
|
|
|
230
237
|
}
|
|
231
238
|
}
|
|
232
239
|
async _resolveTraceId(trx, preferredId) {
|
|
233
|
-
const existing = await trx.get('SELECT id FROM memory_traces WHERE id = ? LIMIT 1', [preferredId]);
|
|
240
|
+
const existing = await trx.get('SELECT id FROM memory_traces WHERE brain_id = ? AND id = ? LIMIT 1', [this.brain.brainId, preferredId]);
|
|
234
241
|
return existing ? `mt_${uuidv4()}` : preferredId;
|
|
235
242
|
}
|
|
236
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteImporter.js","sourceRoot":"","sources":["../../../src/memory/io/SqliteImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAIpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AA4CrE,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAc;IACzB,YAA6B,
|
|
1
|
+
{"version":3,"file":"SqliteImporter.js","sourceRoot":"","sources":["../../../src/memory/io/SqliteImporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* @fileoverview Memory facade -- unified public API for the complete memory system.
|
|
3
3
|
*
|
|
4
4
|
* The `Memory` class wires together every subsystem built in Tasks 1-12:
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
5
|
+
* - Brain (unified SQLite connection with WAL, full schema)
|
|
6
|
+
* - SqlKnowledgeGraph (IKnowledgeGraph backed by SQLite)
|
|
7
|
+
* - SqlMemoryGraph (IMemoryGraph with spreading activation)
|
|
8
8
|
* - LoaderRegistry (document loaders: text, md, html, pdf, docx)
|
|
9
9
|
* - FolderScanner (recursive directory scanning)
|
|
10
10
|
* - ChunkingEngine (4 chunking strategies)
|
|
@@ -68,7 +68,7 @@ export declare class Memory {
|
|
|
68
68
|
/** Optional embedding function for vector search (set via config.embed). */
|
|
69
69
|
private readonly _embed;
|
|
70
70
|
/**
|
|
71
|
-
* Private constructor. Receives an already-opened
|
|
71
|
+
* Private constructor. Receives an already-opened Brain and
|
|
72
72
|
* pre-computed configuration. Use {@link Memory.create} to instantiate.
|
|
73
73
|
*/
|
|
74
74
|
private constructor();
|
|
@@ -78,10 +78,10 @@ export declare class Memory {
|
|
|
78
78
|
* Initialization sequence:
|
|
79
79
|
* 1. Merge `config` with defaults (store='sqlite', path=tmpdir, graph=true,
|
|
80
80
|
* selfImprove=true, decay=true).
|
|
81
|
-
* 2. Await `
|
|
81
|
+
* 2. Await `Brain.openSqlite(config.path)`.
|
|
82
82
|
* 3. Check embedding dimension compatibility (warn on mismatch).
|
|
83
|
-
* 4. Create `
|
|
84
|
-
* 5. Create `
|
|
83
|
+
* 4. Create `SqlKnowledgeGraph(brain)`.
|
|
84
|
+
* 5. Create `SqlMemoryGraph(brain)` and call `.initialize()`.
|
|
85
85
|
* 6. Create `ChunkingEngine()`.
|
|
86
86
|
* 7. Lazily create ingestion loaders on first `ingest()` call.
|
|
87
87
|
* 8. If `selfImprove`: create `RetrievalFeedbackSignal(brain)` and
|
|
@@ -90,7 +90,55 @@ export declare class Memory {
|
|
|
90
90
|
* @param config - Optional configuration; see {@link MemoryConfig}.
|
|
91
91
|
* @returns A fully initialised Memory instance.
|
|
92
92
|
*/
|
|
93
|
-
|
|
93
|
+
/**
|
|
94
|
+
* Open a Memory backed by SQLite. Defaults to a tmp file when no path is given.
|
|
95
|
+
*
|
|
96
|
+
* Accepts either a path string + opts, or a `MemoryConfig` object for
|
|
97
|
+
* compatibility with the old `Memory.create(config)` shape.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```ts
|
|
101
|
+
* await Memory.createSqlite('./brain.sqlite');
|
|
102
|
+
* await Memory.createSqlite('./brain.sqlite', { graph: true });
|
|
103
|
+
* await Memory.createSqlite({ path: './brain.sqlite', graph: true });
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
static createSqlite(pathOrConfig?: string | MemoryConfig, opts?: Omit<MemoryConfig, 'store' | 'path'> & {
|
|
107
|
+
brainId?: string;
|
|
108
|
+
priority?: ('better-sqlite3' | 'sqljs' | 'indexeddb')[];
|
|
109
|
+
}): Promise<Memory>;
|
|
110
|
+
/**
|
|
111
|
+
* Open a Memory backed by PostgreSQL. Requires the `pg` npm package.
|
|
112
|
+
*
|
|
113
|
+
* @param connectionString - Standard Postgres connection URL.
|
|
114
|
+
* @param opts.brainId - REQUIRED. Multi-tenant scope per query.
|
|
115
|
+
* @param opts.poolSize - pg pool max size. Defaults to 10.
|
|
116
|
+
* @param opts - Plus standard Memory options (graph, selfImprove, decay,
|
|
117
|
+
* embeddings).
|
|
118
|
+
*/
|
|
119
|
+
static createPostgres(connectionString: string, opts: Omit<MemoryConfig, 'store' | 'path'> & {
|
|
120
|
+
brainId: string;
|
|
121
|
+
poolSize?: number;
|
|
122
|
+
}): Promise<Memory>;
|
|
123
|
+
/**
|
|
124
|
+
* Open a Memory with a pre-resolved StorageAdapter. Use when sharing an
|
|
125
|
+
* adapter across subsystems or when you need full control over adapter
|
|
126
|
+
* resolution.
|
|
127
|
+
*/
|
|
128
|
+
static createWithAdapter(adapter: import('@framers/sql-storage-adapter').StorageAdapter, opts?: Omit<MemoryConfig, 'store' | 'path'> & {
|
|
129
|
+
brainId?: string;
|
|
130
|
+
}): Promise<Memory>;
|
|
131
|
+
/**
|
|
132
|
+
* Internal common initialization path for all three factories.
|
|
133
|
+
* Wires the Memory facade around an already-opened Brain.
|
|
134
|
+
*/
|
|
135
|
+
private static _initialize;
|
|
136
|
+
/**
|
|
137
|
+
* Generate a default temp SQLite path for `createSqlite()` when no
|
|
138
|
+
* explicit path is supplied. Node-only; browsers must pass a path
|
|
139
|
+
* (typically `:memory:` or an indexeddb-backed adapter).
|
|
140
|
+
*/
|
|
141
|
+
private static _defaultSqlitePath;
|
|
94
142
|
/**
|
|
95
143
|
* Store a new memory trace.
|
|
96
144
|
*
|
|
@@ -143,7 +191,7 @@ export declare class Memory {
|
|
|
143
191
|
/**
|
|
144
192
|
* Add or update an entity in the knowledge graph.
|
|
145
193
|
*
|
|
146
|
-
* Delegates to `
|
|
194
|
+
* Delegates to `SqlKnowledgeGraph.upsertEntity()`. Accepts a partial
|
|
147
195
|
* entity; `id`, `createdAt`, and `updatedAt` are auto-generated when omitted.
|
|
148
196
|
*
|
|
149
197
|
* @param entity - Partial entity descriptor.
|
|
@@ -153,7 +201,7 @@ export declare class Memory {
|
|
|
153
201
|
/**
|
|
154
202
|
* Add or update a relation (edge) in the knowledge graph.
|
|
155
203
|
*
|
|
156
|
-
* Delegates to `
|
|
204
|
+
* Delegates to `SqlKnowledgeGraph.upsertRelation()`. Accepts a partial
|
|
157
205
|
* relation; `id` and `createdAt` are auto-generated when omitted.
|
|
158
206
|
*
|
|
159
207
|
* @param relation - Partial relation descriptor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Memory.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/facade/Memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAqBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EAEb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,oDAAoD,CAAC;AAiB5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAqB7F;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AA2ED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,MAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Memory.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/facade/Memory.ts"],"names":[],"mappings":"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"}
|