@easbot/memory 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +79 -0
- package/README.md +20 -104
- package/dist/chunks/chunk-5SBYP5H4.cjs +4 -0
- package/dist/chunks/chunk-MS352GPQ.mjs +4 -0
- package/dist/chunks/log-FDVK2LXU.cjs +1 -0
- package/dist/chunks/log-WWZ27AYI.mjs +1 -0
- package/dist/index.cjs +42 -74
- package/dist/index.d.cts +90 -50
- package/dist/index.d.ts +90 -50
- package/dist/index.mjs +42 -74
- package/package.json +26 -21
package/dist/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { MemoryKnowledgeConfigWithModels } from '@easbot/types';
|
|
1
|
+
import { KnowledgeSearchOptions, MemoryKnowledgeConfigWithModels } from '@easbot/types';
|
|
2
2
|
export { GRAPH_ENTITY_TYPE_DEFINITIONS, GRAPH_RELATION_TYPE_DEFINITIONS } from '@easbot/types';
|
|
3
3
|
import Database, { Database as Database$1 } from 'better-sqlite3';
|
|
4
4
|
export { EmbeddingModel, LanguageModel } from 'ai';
|
|
5
5
|
|
|
6
|
-
type MemoryCategory = 'user_preference' | 'task_context' | 'technical_fact' | 'decision' | 'relationship' | 'reminder' | 'error_pattern' | 'workflow' | 'exploration_finding' | 'experience_summary' | 'tool_usage' | 'skill_creation' | 'other';
|
|
6
|
+
type MemoryCategory = 'user_preference' | 'task_context' | 'technical_fact' | 'decision' | 'relationship' | 'reminder' | 'error_pattern' | 'workflow' | 'exploration_finding' | 'experience_summary' | 'tool_usage' | 'skill_creation' | 'test' | 'other';
|
|
7
7
|
declare const MEMORY_CATEGORIES: MemoryCategory[];
|
|
8
8
|
type MemorySource = 'session_self_write' | 'historical';
|
|
9
9
|
interface MemoryFact {
|
|
@@ -19,47 +19,21 @@ interface MemoryFact {
|
|
|
19
19
|
tags?: string[];
|
|
20
20
|
nodeIds?: number[];
|
|
21
21
|
filePath?: string;
|
|
22
|
-
createdAt:
|
|
23
|
-
updatedAt:
|
|
22
|
+
createdAt: string;
|
|
23
|
+
updatedAt: string;
|
|
24
24
|
}
|
|
25
25
|
interface MemoryVector {
|
|
26
26
|
factId: string;
|
|
27
27
|
embedding: Float32Array;
|
|
28
28
|
}
|
|
29
|
-
interface
|
|
30
|
-
id: string;
|
|
31
|
-
agentId: string;
|
|
32
|
-
sessionId: string;
|
|
33
|
-
messageId: string;
|
|
34
|
-
parentId?: string;
|
|
35
|
-
role: 'user' | 'assistant';
|
|
36
|
-
content: string;
|
|
37
|
-
modelId?: string;
|
|
38
|
-
providerId?: string;
|
|
39
|
-
createdAt: number;
|
|
40
|
-
}
|
|
41
|
-
interface SessionMessage {
|
|
42
|
-
id: string;
|
|
43
|
-
parentId?: string;
|
|
44
|
-
role: 'user' | 'assistant';
|
|
45
|
-
content: string;
|
|
46
|
-
modelId?: string;
|
|
47
|
-
providerId?: string;
|
|
48
|
-
createdAt: number;
|
|
49
|
-
}
|
|
50
|
-
interface MemoryQuery {
|
|
29
|
+
interface MemoryQuery extends KnowledgeSearchOptions {
|
|
51
30
|
agentId: string;
|
|
52
31
|
sessionId?: string;
|
|
53
|
-
query?: string;
|
|
54
32
|
category?: MemoryCategory;
|
|
55
33
|
minImportance?: number;
|
|
56
34
|
source?: MemorySource;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
toTime?: number;
|
|
60
|
-
minScore?: number;
|
|
61
|
-
vectorWeight?: number;
|
|
62
|
-
textWeight?: number;
|
|
35
|
+
fromTime?: string;
|
|
36
|
+
toTime?: string;
|
|
63
37
|
candidateFactIds?: string[];
|
|
64
38
|
}
|
|
65
39
|
interface MemoryRecallResult {
|
|
@@ -69,18 +43,15 @@ interface MemoryRecallResult {
|
|
|
69
43
|
agentId: string;
|
|
70
44
|
snippet: string;
|
|
71
45
|
score: number;
|
|
72
|
-
createdAt:
|
|
46
|
+
createdAt: string;
|
|
73
47
|
source: MemorySource;
|
|
74
48
|
filePath?: string;
|
|
75
49
|
nodes?: Array<{
|
|
76
50
|
id: number;
|
|
77
51
|
name: string;
|
|
78
52
|
type: string;
|
|
79
|
-
edges?: Array<{
|
|
80
|
-
|
|
81
|
-
targetId: number;
|
|
82
|
-
targetName: string;
|
|
83
|
-
targetType: string;
|
|
53
|
+
edges?: Array<MemoryEdge & {
|
|
54
|
+
direction?: 'in' | 'out';
|
|
84
55
|
}>;
|
|
85
56
|
}>;
|
|
86
57
|
}
|
|
@@ -88,20 +59,45 @@ type MemorySystemConfig = MemoryKnowledgeConfigWithModels;
|
|
|
88
59
|
interface IMemorySystem {
|
|
89
60
|
remember(fact: Omit<MemoryFact, 'id' | 'createdAt' | 'updatedAt'>): Promise<MemoryFact>;
|
|
90
61
|
query(query: string, options?: MemoryQuery): Promise<MemoryRecallResult[]>;
|
|
62
|
+
queryEdgesByNodeId(nodeId: number, options?: {
|
|
63
|
+
maxDepth?: number;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
node?: {
|
|
66
|
+
id: number;
|
|
67
|
+
name: string;
|
|
68
|
+
type: string;
|
|
69
|
+
};
|
|
70
|
+
nodes: MemoryNode[];
|
|
71
|
+
edges: MemoryEdge[];
|
|
72
|
+
}>;
|
|
91
73
|
forget(agentId: string, memoryId: string): Promise<void>;
|
|
92
74
|
update(agentId: string, memoryId: string, patch: {
|
|
93
75
|
content?: string;
|
|
94
76
|
importance?: number;
|
|
95
77
|
tags?: string[];
|
|
96
78
|
}): Promise<MemoryFact>;
|
|
97
|
-
extractFromSession(agentId: string, sessionId: string, messages: SessionMessage[]): Promise<void>;
|
|
98
|
-
appendShortTerm(entry: Omit<ShortTermEntry, 'id' | 'createdAt'>): Promise<void>;
|
|
99
|
-
getShortTerm(agentId: string, sessionId: string, limit?: number): Promise<ShortTermEntry[]>;
|
|
100
79
|
listAgentIds(): Promise<string[]>;
|
|
101
80
|
queryForSummary(agentId: string, limit?: number): Promise<MemoryFact[]>;
|
|
102
81
|
archive(): Promise<void>;
|
|
103
82
|
clear(): Promise<void>;
|
|
104
83
|
close(): Promise<void>;
|
|
84
|
+
sync(): Promise<{
|
|
85
|
+
synced: number;
|
|
86
|
+
created: number;
|
|
87
|
+
updated: number;
|
|
88
|
+
errors: string[];
|
|
89
|
+
}>;
|
|
90
|
+
getStatus(): Promise<{
|
|
91
|
+
dbPath: string;
|
|
92
|
+
workspaceDir: string;
|
|
93
|
+
factsCount: number;
|
|
94
|
+
nodesCount: number;
|
|
95
|
+
edgesCount: number;
|
|
96
|
+
embeddingLlmAvailable: boolean;
|
|
97
|
+
graphLlmAvailable: boolean;
|
|
98
|
+
healthy: boolean;
|
|
99
|
+
meta: Record<string, string>;
|
|
100
|
+
}>;
|
|
105
101
|
}
|
|
106
102
|
declare class MemoryError extends Error {
|
|
107
103
|
readonly code: string;
|
|
@@ -143,8 +139,8 @@ interface MemoryNode {
|
|
|
143
139
|
name: string;
|
|
144
140
|
type: string;
|
|
145
141
|
properties?: Record<string, unknown>;
|
|
146
|
-
createdAt:
|
|
147
|
-
updatedAt:
|
|
142
|
+
createdAt: string;
|
|
143
|
+
updatedAt: string;
|
|
148
144
|
}
|
|
149
145
|
interface MemoryEdge {
|
|
150
146
|
id: number;
|
|
@@ -152,7 +148,8 @@ interface MemoryEdge {
|
|
|
152
148
|
target: number;
|
|
153
149
|
relation: string;
|
|
154
150
|
properties?: Record<string, unknown>;
|
|
155
|
-
createdAt:
|
|
151
|
+
createdAt: string;
|
|
152
|
+
targetNode?: MemoryNode;
|
|
156
153
|
}
|
|
157
154
|
interface MemoryNodeWithEdges extends MemoryNode {
|
|
158
155
|
edges?: MemoryEdge[];
|
|
@@ -215,6 +212,8 @@ declare class MemoryDatabaseManager {
|
|
|
215
212
|
getPath(): string;
|
|
216
213
|
close(): void;
|
|
217
214
|
healthCheck(): boolean;
|
|
215
|
+
getMeta(key: string): string | null;
|
|
216
|
+
setMeta(key: string, value: string): void;
|
|
218
217
|
}
|
|
219
218
|
|
|
220
219
|
declare class MemoryFormatter {
|
|
@@ -259,7 +258,9 @@ declare class GraphStore {
|
|
|
259
258
|
upsertEdge(source: number, target: number, relation: string, properties?: Record<string, unknown>): Promise<number>;
|
|
260
259
|
queryNodes(filter?: NodeQueryFilter): Promise<MemoryNode[]>;
|
|
261
260
|
queryEdges(filter?: EdgeQueryFilter): Promise<MemoryEdge[]>;
|
|
262
|
-
queryNeighbors(nodeId: number, depth?: number
|
|
261
|
+
queryNeighbors(nodeId: number, depth?: number, options?: {
|
|
262
|
+
maxEdgesPerNode?: number;
|
|
263
|
+
}): Promise<MemoryNodeWithEdges[]>;
|
|
263
264
|
}
|
|
264
265
|
|
|
265
266
|
declare class MemorySystem implements IMemorySystem {
|
|
@@ -274,27 +275,58 @@ declare class MemorySystem implements IMemorySystem {
|
|
|
274
275
|
initialize(): Promise<void>;
|
|
275
276
|
remember(fact: Omit<MemoryFact, 'id' | 'createdAt' | 'updatedAt'>): Promise<MemoryFact>;
|
|
276
277
|
query(query: string, options?: MemoryQuery): Promise<MemoryRecallResult[]>;
|
|
278
|
+
queryEdgesByNodeId(nodeId: number, options?: {
|
|
279
|
+
maxDepth?: number;
|
|
280
|
+
maxEdgesPerNode?: number;
|
|
281
|
+
}): Promise<{
|
|
282
|
+
node?: {
|
|
283
|
+
id: number;
|
|
284
|
+
name: string;
|
|
285
|
+
type: string;
|
|
286
|
+
};
|
|
287
|
+
nodes: MemoryNode[];
|
|
288
|
+
edges: MemoryEdge[];
|
|
289
|
+
}>;
|
|
277
290
|
forget(agentId: string, memoryId: string): Promise<void>;
|
|
278
291
|
update(agentId: string, memoryId: string, patch: {
|
|
279
292
|
content?: string;
|
|
280
293
|
importance?: number;
|
|
281
294
|
tags?: string[];
|
|
282
295
|
}): Promise<MemoryFact>;
|
|
283
|
-
extractFromSession(agentId: string, sessionId: string, messages: SessionMessage[]): Promise<void>;
|
|
284
|
-
appendShortTerm(entry: Omit<ShortTermEntry, 'id' | 'createdAt'>): Promise<void>;
|
|
285
|
-
getShortTerm(agentId: string, sessionId: string, limit?: number): Promise<ShortTermEntry[]>;
|
|
286
296
|
listAgentIds(): Promise<string[]>;
|
|
287
297
|
queryForSummary(agentId: string, limit?: number): Promise<MemoryFact[]>;
|
|
288
298
|
archive(): Promise<void>;
|
|
289
299
|
cleanupOrphanRecords(): Promise<void>;
|
|
290
300
|
clear(): Promise<void>;
|
|
291
301
|
close(): Promise<void>;
|
|
302
|
+
getStatus(): Promise<{
|
|
303
|
+
dbPath: string;
|
|
304
|
+
workspaceDir: string;
|
|
305
|
+
factsCount: number;
|
|
306
|
+
nodesCount: number;
|
|
307
|
+
edgesCount: number;
|
|
308
|
+
embeddingLlmAvailable: boolean;
|
|
309
|
+
graphLlmAvailable: boolean;
|
|
310
|
+
healthy: boolean;
|
|
311
|
+
meta: Record<string, string>;
|
|
312
|
+
}>;
|
|
313
|
+
sync(): Promise<{
|
|
314
|
+
synced: number;
|
|
315
|
+
created: number;
|
|
316
|
+
updated: number;
|
|
317
|
+
errors: string[];
|
|
318
|
+
}>;
|
|
319
|
+
private hasMemoryFiles;
|
|
320
|
+
private clearFiles;
|
|
321
|
+
private rowToFact;
|
|
292
322
|
private extractEntities;
|
|
293
323
|
private extractEntitiesWithLlm;
|
|
294
324
|
private buildEntityExtractionPrompt;
|
|
295
325
|
private storeEntitiesAndRelations;
|
|
326
|
+
private mergeEntitiesAndRelations;
|
|
296
327
|
private embed;
|
|
297
328
|
private embedAndStore;
|
|
329
|
+
private writeVector;
|
|
298
330
|
private writeFts;
|
|
299
331
|
private parseEntityExtractionResult;
|
|
300
332
|
private normalizeExtractionResult;
|
|
@@ -306,4 +338,12 @@ declare class MemorySystem implements IMemorySystem {
|
|
|
306
338
|
}
|
|
307
339
|
declare function createMemorySystem(config: MemorySystemConfig): Promise<IMemorySystem>;
|
|
308
340
|
|
|
309
|
-
|
|
341
|
+
declare function initLog(options: {
|
|
342
|
+
print: boolean;
|
|
343
|
+
logDir: string;
|
|
344
|
+
logFile?: string;
|
|
345
|
+
dev?: boolean;
|
|
346
|
+
level?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
|
|
347
|
+
}): Promise<void>;
|
|
348
|
+
|
|
349
|
+
export { type ArchiveRecord, type ArchiveResult, type EdgeQueryFilter, GraphStore, type IMemorySystem, MEMORY_CATEGORIES, MemoryArchiver, type MemoryCategory, MemoryDatabaseError, MemoryDatabaseManager, type MemoryEdge, MemoryEmbeddingError, MemoryError, MemoryErrorCode, type MemoryFact, MemoryFileError, MemoryFileManager, MemoryFormatter, type MemoryNode, type MemoryNodeWithEdges, MemoryNotFoundError, MemoryPermissionError, type MemoryQuery, type MemoryRecallResult, MemorySearchError, type MemorySource, MemorySystem, type MemorySystemConfig, MemoryValidationError, type MemoryVector, type NodeQueryFilter, addWord, closeTokenizer, createMemorySystem, initLog, initTokenizer, isInitialized, loadCustomDict, toFtsTokens, toFtsTokensForSearch, tokenize, tokenizeForSearch };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { MemoryKnowledgeConfigWithModels } from '@easbot/types';
|
|
1
|
+
import { KnowledgeSearchOptions, MemoryKnowledgeConfigWithModels } from '@easbot/types';
|
|
2
2
|
export { GRAPH_ENTITY_TYPE_DEFINITIONS, GRAPH_RELATION_TYPE_DEFINITIONS } from '@easbot/types';
|
|
3
3
|
import Database, { Database as Database$1 } from 'better-sqlite3';
|
|
4
4
|
export { EmbeddingModel, LanguageModel } from 'ai';
|
|
5
5
|
|
|
6
|
-
type MemoryCategory = 'user_preference' | 'task_context' | 'technical_fact' | 'decision' | 'relationship' | 'reminder' | 'error_pattern' | 'workflow' | 'exploration_finding' | 'experience_summary' | 'tool_usage' | 'skill_creation' | 'other';
|
|
6
|
+
type MemoryCategory = 'user_preference' | 'task_context' | 'technical_fact' | 'decision' | 'relationship' | 'reminder' | 'error_pattern' | 'workflow' | 'exploration_finding' | 'experience_summary' | 'tool_usage' | 'skill_creation' | 'test' | 'other';
|
|
7
7
|
declare const MEMORY_CATEGORIES: MemoryCategory[];
|
|
8
8
|
type MemorySource = 'session_self_write' | 'historical';
|
|
9
9
|
interface MemoryFact {
|
|
@@ -19,47 +19,21 @@ interface MemoryFact {
|
|
|
19
19
|
tags?: string[];
|
|
20
20
|
nodeIds?: number[];
|
|
21
21
|
filePath?: string;
|
|
22
|
-
createdAt:
|
|
23
|
-
updatedAt:
|
|
22
|
+
createdAt: string;
|
|
23
|
+
updatedAt: string;
|
|
24
24
|
}
|
|
25
25
|
interface MemoryVector {
|
|
26
26
|
factId: string;
|
|
27
27
|
embedding: Float32Array;
|
|
28
28
|
}
|
|
29
|
-
interface
|
|
30
|
-
id: string;
|
|
31
|
-
agentId: string;
|
|
32
|
-
sessionId: string;
|
|
33
|
-
messageId: string;
|
|
34
|
-
parentId?: string;
|
|
35
|
-
role: 'user' | 'assistant';
|
|
36
|
-
content: string;
|
|
37
|
-
modelId?: string;
|
|
38
|
-
providerId?: string;
|
|
39
|
-
createdAt: number;
|
|
40
|
-
}
|
|
41
|
-
interface SessionMessage {
|
|
42
|
-
id: string;
|
|
43
|
-
parentId?: string;
|
|
44
|
-
role: 'user' | 'assistant';
|
|
45
|
-
content: string;
|
|
46
|
-
modelId?: string;
|
|
47
|
-
providerId?: string;
|
|
48
|
-
createdAt: number;
|
|
49
|
-
}
|
|
50
|
-
interface MemoryQuery {
|
|
29
|
+
interface MemoryQuery extends KnowledgeSearchOptions {
|
|
51
30
|
agentId: string;
|
|
52
31
|
sessionId?: string;
|
|
53
|
-
query?: string;
|
|
54
32
|
category?: MemoryCategory;
|
|
55
33
|
minImportance?: number;
|
|
56
34
|
source?: MemorySource;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
toTime?: number;
|
|
60
|
-
minScore?: number;
|
|
61
|
-
vectorWeight?: number;
|
|
62
|
-
textWeight?: number;
|
|
35
|
+
fromTime?: string;
|
|
36
|
+
toTime?: string;
|
|
63
37
|
candidateFactIds?: string[];
|
|
64
38
|
}
|
|
65
39
|
interface MemoryRecallResult {
|
|
@@ -69,18 +43,15 @@ interface MemoryRecallResult {
|
|
|
69
43
|
agentId: string;
|
|
70
44
|
snippet: string;
|
|
71
45
|
score: number;
|
|
72
|
-
createdAt:
|
|
46
|
+
createdAt: string;
|
|
73
47
|
source: MemorySource;
|
|
74
48
|
filePath?: string;
|
|
75
49
|
nodes?: Array<{
|
|
76
50
|
id: number;
|
|
77
51
|
name: string;
|
|
78
52
|
type: string;
|
|
79
|
-
edges?: Array<{
|
|
80
|
-
|
|
81
|
-
targetId: number;
|
|
82
|
-
targetName: string;
|
|
83
|
-
targetType: string;
|
|
53
|
+
edges?: Array<MemoryEdge & {
|
|
54
|
+
direction?: 'in' | 'out';
|
|
84
55
|
}>;
|
|
85
56
|
}>;
|
|
86
57
|
}
|
|
@@ -88,20 +59,45 @@ type MemorySystemConfig = MemoryKnowledgeConfigWithModels;
|
|
|
88
59
|
interface IMemorySystem {
|
|
89
60
|
remember(fact: Omit<MemoryFact, 'id' | 'createdAt' | 'updatedAt'>): Promise<MemoryFact>;
|
|
90
61
|
query(query: string, options?: MemoryQuery): Promise<MemoryRecallResult[]>;
|
|
62
|
+
queryEdgesByNodeId(nodeId: number, options?: {
|
|
63
|
+
maxDepth?: number;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
node?: {
|
|
66
|
+
id: number;
|
|
67
|
+
name: string;
|
|
68
|
+
type: string;
|
|
69
|
+
};
|
|
70
|
+
nodes: MemoryNode[];
|
|
71
|
+
edges: MemoryEdge[];
|
|
72
|
+
}>;
|
|
91
73
|
forget(agentId: string, memoryId: string): Promise<void>;
|
|
92
74
|
update(agentId: string, memoryId: string, patch: {
|
|
93
75
|
content?: string;
|
|
94
76
|
importance?: number;
|
|
95
77
|
tags?: string[];
|
|
96
78
|
}): Promise<MemoryFact>;
|
|
97
|
-
extractFromSession(agentId: string, sessionId: string, messages: SessionMessage[]): Promise<void>;
|
|
98
|
-
appendShortTerm(entry: Omit<ShortTermEntry, 'id' | 'createdAt'>): Promise<void>;
|
|
99
|
-
getShortTerm(agentId: string, sessionId: string, limit?: number): Promise<ShortTermEntry[]>;
|
|
100
79
|
listAgentIds(): Promise<string[]>;
|
|
101
80
|
queryForSummary(agentId: string, limit?: number): Promise<MemoryFact[]>;
|
|
102
81
|
archive(): Promise<void>;
|
|
103
82
|
clear(): Promise<void>;
|
|
104
83
|
close(): Promise<void>;
|
|
84
|
+
sync(): Promise<{
|
|
85
|
+
synced: number;
|
|
86
|
+
created: number;
|
|
87
|
+
updated: number;
|
|
88
|
+
errors: string[];
|
|
89
|
+
}>;
|
|
90
|
+
getStatus(): Promise<{
|
|
91
|
+
dbPath: string;
|
|
92
|
+
workspaceDir: string;
|
|
93
|
+
factsCount: number;
|
|
94
|
+
nodesCount: number;
|
|
95
|
+
edgesCount: number;
|
|
96
|
+
embeddingLlmAvailable: boolean;
|
|
97
|
+
graphLlmAvailable: boolean;
|
|
98
|
+
healthy: boolean;
|
|
99
|
+
meta: Record<string, string>;
|
|
100
|
+
}>;
|
|
105
101
|
}
|
|
106
102
|
declare class MemoryError extends Error {
|
|
107
103
|
readonly code: string;
|
|
@@ -143,8 +139,8 @@ interface MemoryNode {
|
|
|
143
139
|
name: string;
|
|
144
140
|
type: string;
|
|
145
141
|
properties?: Record<string, unknown>;
|
|
146
|
-
createdAt:
|
|
147
|
-
updatedAt:
|
|
142
|
+
createdAt: string;
|
|
143
|
+
updatedAt: string;
|
|
148
144
|
}
|
|
149
145
|
interface MemoryEdge {
|
|
150
146
|
id: number;
|
|
@@ -152,7 +148,8 @@ interface MemoryEdge {
|
|
|
152
148
|
target: number;
|
|
153
149
|
relation: string;
|
|
154
150
|
properties?: Record<string, unknown>;
|
|
155
|
-
createdAt:
|
|
151
|
+
createdAt: string;
|
|
152
|
+
targetNode?: MemoryNode;
|
|
156
153
|
}
|
|
157
154
|
interface MemoryNodeWithEdges extends MemoryNode {
|
|
158
155
|
edges?: MemoryEdge[];
|
|
@@ -215,6 +212,8 @@ declare class MemoryDatabaseManager {
|
|
|
215
212
|
getPath(): string;
|
|
216
213
|
close(): void;
|
|
217
214
|
healthCheck(): boolean;
|
|
215
|
+
getMeta(key: string): string | null;
|
|
216
|
+
setMeta(key: string, value: string): void;
|
|
218
217
|
}
|
|
219
218
|
|
|
220
219
|
declare class MemoryFormatter {
|
|
@@ -259,7 +258,9 @@ declare class GraphStore {
|
|
|
259
258
|
upsertEdge(source: number, target: number, relation: string, properties?: Record<string, unknown>): Promise<number>;
|
|
260
259
|
queryNodes(filter?: NodeQueryFilter): Promise<MemoryNode[]>;
|
|
261
260
|
queryEdges(filter?: EdgeQueryFilter): Promise<MemoryEdge[]>;
|
|
262
|
-
queryNeighbors(nodeId: number, depth?: number
|
|
261
|
+
queryNeighbors(nodeId: number, depth?: number, options?: {
|
|
262
|
+
maxEdgesPerNode?: number;
|
|
263
|
+
}): Promise<MemoryNodeWithEdges[]>;
|
|
263
264
|
}
|
|
264
265
|
|
|
265
266
|
declare class MemorySystem implements IMemorySystem {
|
|
@@ -274,27 +275,58 @@ declare class MemorySystem implements IMemorySystem {
|
|
|
274
275
|
initialize(): Promise<void>;
|
|
275
276
|
remember(fact: Omit<MemoryFact, 'id' | 'createdAt' | 'updatedAt'>): Promise<MemoryFact>;
|
|
276
277
|
query(query: string, options?: MemoryQuery): Promise<MemoryRecallResult[]>;
|
|
278
|
+
queryEdgesByNodeId(nodeId: number, options?: {
|
|
279
|
+
maxDepth?: number;
|
|
280
|
+
maxEdgesPerNode?: number;
|
|
281
|
+
}): Promise<{
|
|
282
|
+
node?: {
|
|
283
|
+
id: number;
|
|
284
|
+
name: string;
|
|
285
|
+
type: string;
|
|
286
|
+
};
|
|
287
|
+
nodes: MemoryNode[];
|
|
288
|
+
edges: MemoryEdge[];
|
|
289
|
+
}>;
|
|
277
290
|
forget(agentId: string, memoryId: string): Promise<void>;
|
|
278
291
|
update(agentId: string, memoryId: string, patch: {
|
|
279
292
|
content?: string;
|
|
280
293
|
importance?: number;
|
|
281
294
|
tags?: string[];
|
|
282
295
|
}): Promise<MemoryFact>;
|
|
283
|
-
extractFromSession(agentId: string, sessionId: string, messages: SessionMessage[]): Promise<void>;
|
|
284
|
-
appendShortTerm(entry: Omit<ShortTermEntry, 'id' | 'createdAt'>): Promise<void>;
|
|
285
|
-
getShortTerm(agentId: string, sessionId: string, limit?: number): Promise<ShortTermEntry[]>;
|
|
286
296
|
listAgentIds(): Promise<string[]>;
|
|
287
297
|
queryForSummary(agentId: string, limit?: number): Promise<MemoryFact[]>;
|
|
288
298
|
archive(): Promise<void>;
|
|
289
299
|
cleanupOrphanRecords(): Promise<void>;
|
|
290
300
|
clear(): Promise<void>;
|
|
291
301
|
close(): Promise<void>;
|
|
302
|
+
getStatus(): Promise<{
|
|
303
|
+
dbPath: string;
|
|
304
|
+
workspaceDir: string;
|
|
305
|
+
factsCount: number;
|
|
306
|
+
nodesCount: number;
|
|
307
|
+
edgesCount: number;
|
|
308
|
+
embeddingLlmAvailable: boolean;
|
|
309
|
+
graphLlmAvailable: boolean;
|
|
310
|
+
healthy: boolean;
|
|
311
|
+
meta: Record<string, string>;
|
|
312
|
+
}>;
|
|
313
|
+
sync(): Promise<{
|
|
314
|
+
synced: number;
|
|
315
|
+
created: number;
|
|
316
|
+
updated: number;
|
|
317
|
+
errors: string[];
|
|
318
|
+
}>;
|
|
319
|
+
private hasMemoryFiles;
|
|
320
|
+
private clearFiles;
|
|
321
|
+
private rowToFact;
|
|
292
322
|
private extractEntities;
|
|
293
323
|
private extractEntitiesWithLlm;
|
|
294
324
|
private buildEntityExtractionPrompt;
|
|
295
325
|
private storeEntitiesAndRelations;
|
|
326
|
+
private mergeEntitiesAndRelations;
|
|
296
327
|
private embed;
|
|
297
328
|
private embedAndStore;
|
|
329
|
+
private writeVector;
|
|
298
330
|
private writeFts;
|
|
299
331
|
private parseEntityExtractionResult;
|
|
300
332
|
private normalizeExtractionResult;
|
|
@@ -306,4 +338,12 @@ declare class MemorySystem implements IMemorySystem {
|
|
|
306
338
|
}
|
|
307
339
|
declare function createMemorySystem(config: MemorySystemConfig): Promise<IMemorySystem>;
|
|
308
340
|
|
|
309
|
-
|
|
341
|
+
declare function initLog(options: {
|
|
342
|
+
print: boolean;
|
|
343
|
+
logDir: string;
|
|
344
|
+
logFile?: string;
|
|
345
|
+
dev?: boolean;
|
|
346
|
+
level?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
|
|
347
|
+
}): Promise<void>;
|
|
348
|
+
|
|
349
|
+
export { type ArchiveRecord, type ArchiveResult, type EdgeQueryFilter, GraphStore, type IMemorySystem, MEMORY_CATEGORIES, MemoryArchiver, type MemoryCategory, MemoryDatabaseError, MemoryDatabaseManager, type MemoryEdge, MemoryEmbeddingError, MemoryError, MemoryErrorCode, type MemoryFact, MemoryFileError, MemoryFileManager, MemoryFormatter, type MemoryNode, type MemoryNodeWithEdges, MemoryNotFoundError, MemoryPermissionError, type MemoryQuery, type MemoryRecallResult, MemorySearchError, type MemorySource, MemorySystem, type MemorySystemConfig, MemoryValidationError, type MemoryVector, type NodeQueryFilter, addWord, closeTokenizer, createMemorySystem, initLog, initTokenizer, isInitialized, loadCustomDict, toFtsTokens, toFtsTokensForSearch, tokenize, tokenizeForSearch };
|