@elizaos/plugin-memory 1.0.2
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.md +294 -0
- package/dist/actions/remember.d.ts +11 -0
- package/dist/browser/index.browser.js +116 -0
- package/dist/browser/index.browser.js.map +19 -0
- package/dist/browser/index.d.ts +2 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.node.cjs +1010 -0
- package/dist/cjs/index.node.js.map +19 -0
- package/dist/evaluators/long-term-extraction.d.ts +8 -0
- package/dist/evaluators/summarization.d.ts +8 -0
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.node.d.ts +2 -0
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.node.js +1024 -0
- package/dist/node/index.node.js.map +19 -0
- package/dist/providers/long-term-memory.d.ts +17 -0
- package/dist/providers/short-term-memory.d.ts +13 -0
- package/dist/schemas/index.d.ts +9 -0
- package/dist/schemas/long-term-memories.d.ts +264 -0
- package/dist/schemas/memory-access-logs.d.ts +154 -0
- package/dist/schemas/session-summaries.d.ts +283 -0
- package/dist/services/memory-service.d.ts +99 -0
- package/dist/types/index.d.ts +83 -0
- package/package.json +70 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session summaries table
|
|
3
|
+
* Stores condensed summaries of conversation sessions
|
|
4
|
+
*/
|
|
5
|
+
export declare const sessionSummaries: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
6
|
+
name: "session_summaries";
|
|
7
|
+
schema: undefined;
|
|
8
|
+
columns: {
|
|
9
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
10
|
+
name: "id";
|
|
11
|
+
tableName: "session_summaries";
|
|
12
|
+
dataType: "string";
|
|
13
|
+
columnType: "PgVarchar";
|
|
14
|
+
data: string;
|
|
15
|
+
driverParam: string;
|
|
16
|
+
notNull: true;
|
|
17
|
+
hasDefault: false;
|
|
18
|
+
isPrimaryKey: true;
|
|
19
|
+
isAutoincrement: false;
|
|
20
|
+
hasRuntimeDefault: false;
|
|
21
|
+
enumValues: [string, ...string[]];
|
|
22
|
+
baseColumn: never;
|
|
23
|
+
identity: undefined;
|
|
24
|
+
generated: undefined;
|
|
25
|
+
}, {}, {
|
|
26
|
+
length: 36;
|
|
27
|
+
}>;
|
|
28
|
+
agentId: import("drizzle-orm/pg-core").PgColumn<{
|
|
29
|
+
name: "agent_id";
|
|
30
|
+
tableName: "session_summaries";
|
|
31
|
+
dataType: "string";
|
|
32
|
+
columnType: "PgVarchar";
|
|
33
|
+
data: string;
|
|
34
|
+
driverParam: string;
|
|
35
|
+
notNull: true;
|
|
36
|
+
hasDefault: false;
|
|
37
|
+
isPrimaryKey: false;
|
|
38
|
+
isAutoincrement: false;
|
|
39
|
+
hasRuntimeDefault: false;
|
|
40
|
+
enumValues: [string, ...string[]];
|
|
41
|
+
baseColumn: never;
|
|
42
|
+
identity: undefined;
|
|
43
|
+
generated: undefined;
|
|
44
|
+
}, {}, {
|
|
45
|
+
length: 36;
|
|
46
|
+
}>;
|
|
47
|
+
roomId: import("drizzle-orm/pg-core").PgColumn<{
|
|
48
|
+
name: "room_id";
|
|
49
|
+
tableName: "session_summaries";
|
|
50
|
+
dataType: "string";
|
|
51
|
+
columnType: "PgVarchar";
|
|
52
|
+
data: string;
|
|
53
|
+
driverParam: string;
|
|
54
|
+
notNull: true;
|
|
55
|
+
hasDefault: false;
|
|
56
|
+
isPrimaryKey: false;
|
|
57
|
+
isAutoincrement: false;
|
|
58
|
+
hasRuntimeDefault: false;
|
|
59
|
+
enumValues: [string, ...string[]];
|
|
60
|
+
baseColumn: never;
|
|
61
|
+
identity: undefined;
|
|
62
|
+
generated: undefined;
|
|
63
|
+
}, {}, {
|
|
64
|
+
length: 36;
|
|
65
|
+
}>;
|
|
66
|
+
entityId: import("drizzle-orm/pg-core").PgColumn<{
|
|
67
|
+
name: "entity_id";
|
|
68
|
+
tableName: "session_summaries";
|
|
69
|
+
dataType: "string";
|
|
70
|
+
columnType: "PgVarchar";
|
|
71
|
+
data: string;
|
|
72
|
+
driverParam: string;
|
|
73
|
+
notNull: false;
|
|
74
|
+
hasDefault: false;
|
|
75
|
+
isPrimaryKey: false;
|
|
76
|
+
isAutoincrement: false;
|
|
77
|
+
hasRuntimeDefault: false;
|
|
78
|
+
enumValues: [string, ...string[]];
|
|
79
|
+
baseColumn: never;
|
|
80
|
+
identity: undefined;
|
|
81
|
+
generated: undefined;
|
|
82
|
+
}, {}, {
|
|
83
|
+
length: 36;
|
|
84
|
+
}>;
|
|
85
|
+
summary: import("drizzle-orm/pg-core").PgColumn<{
|
|
86
|
+
name: "summary";
|
|
87
|
+
tableName: "session_summaries";
|
|
88
|
+
dataType: "string";
|
|
89
|
+
columnType: "PgText";
|
|
90
|
+
data: string;
|
|
91
|
+
driverParam: string;
|
|
92
|
+
notNull: true;
|
|
93
|
+
hasDefault: false;
|
|
94
|
+
isPrimaryKey: false;
|
|
95
|
+
isAutoincrement: false;
|
|
96
|
+
hasRuntimeDefault: false;
|
|
97
|
+
enumValues: [string, ...string[]];
|
|
98
|
+
baseColumn: never;
|
|
99
|
+
identity: undefined;
|
|
100
|
+
generated: undefined;
|
|
101
|
+
}, {}, {}>;
|
|
102
|
+
messageCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
103
|
+
name: "message_count";
|
|
104
|
+
tableName: "session_summaries";
|
|
105
|
+
dataType: "number";
|
|
106
|
+
columnType: "PgInteger";
|
|
107
|
+
data: number;
|
|
108
|
+
driverParam: string | number;
|
|
109
|
+
notNull: true;
|
|
110
|
+
hasDefault: false;
|
|
111
|
+
isPrimaryKey: false;
|
|
112
|
+
isAutoincrement: false;
|
|
113
|
+
hasRuntimeDefault: false;
|
|
114
|
+
enumValues: undefined;
|
|
115
|
+
baseColumn: never;
|
|
116
|
+
identity: undefined;
|
|
117
|
+
generated: undefined;
|
|
118
|
+
}, {}, {}>;
|
|
119
|
+
lastMessageOffset: import("drizzle-orm/pg-core").PgColumn<{
|
|
120
|
+
name: "last_message_offset";
|
|
121
|
+
tableName: "session_summaries";
|
|
122
|
+
dataType: "number";
|
|
123
|
+
columnType: "PgInteger";
|
|
124
|
+
data: number;
|
|
125
|
+
driverParam: string | number;
|
|
126
|
+
notNull: true;
|
|
127
|
+
hasDefault: true;
|
|
128
|
+
isPrimaryKey: false;
|
|
129
|
+
isAutoincrement: false;
|
|
130
|
+
hasRuntimeDefault: false;
|
|
131
|
+
enumValues: undefined;
|
|
132
|
+
baseColumn: never;
|
|
133
|
+
identity: undefined;
|
|
134
|
+
generated: undefined;
|
|
135
|
+
}, {}, {}>;
|
|
136
|
+
startTime: import("drizzle-orm/pg-core").PgColumn<{
|
|
137
|
+
name: "start_time";
|
|
138
|
+
tableName: "session_summaries";
|
|
139
|
+
dataType: "date";
|
|
140
|
+
columnType: "PgTimestamp";
|
|
141
|
+
data: Date;
|
|
142
|
+
driverParam: string;
|
|
143
|
+
notNull: true;
|
|
144
|
+
hasDefault: false;
|
|
145
|
+
isPrimaryKey: false;
|
|
146
|
+
isAutoincrement: false;
|
|
147
|
+
hasRuntimeDefault: false;
|
|
148
|
+
enumValues: undefined;
|
|
149
|
+
baseColumn: never;
|
|
150
|
+
identity: undefined;
|
|
151
|
+
generated: undefined;
|
|
152
|
+
}, {}, {}>;
|
|
153
|
+
endTime: import("drizzle-orm/pg-core").PgColumn<{
|
|
154
|
+
name: "end_time";
|
|
155
|
+
tableName: "session_summaries";
|
|
156
|
+
dataType: "date";
|
|
157
|
+
columnType: "PgTimestamp";
|
|
158
|
+
data: Date;
|
|
159
|
+
driverParam: string;
|
|
160
|
+
notNull: true;
|
|
161
|
+
hasDefault: false;
|
|
162
|
+
isPrimaryKey: false;
|
|
163
|
+
isAutoincrement: false;
|
|
164
|
+
hasRuntimeDefault: false;
|
|
165
|
+
enumValues: undefined;
|
|
166
|
+
baseColumn: never;
|
|
167
|
+
identity: undefined;
|
|
168
|
+
generated: undefined;
|
|
169
|
+
}, {}, {}>;
|
|
170
|
+
topics: import("drizzle-orm/pg-core").PgColumn<{
|
|
171
|
+
name: "topics";
|
|
172
|
+
tableName: "session_summaries";
|
|
173
|
+
dataType: "json";
|
|
174
|
+
columnType: "PgJsonb";
|
|
175
|
+
data: unknown;
|
|
176
|
+
driverParam: unknown;
|
|
177
|
+
notNull: false;
|
|
178
|
+
hasDefault: false;
|
|
179
|
+
isPrimaryKey: false;
|
|
180
|
+
isAutoincrement: false;
|
|
181
|
+
hasRuntimeDefault: false;
|
|
182
|
+
enumValues: undefined;
|
|
183
|
+
baseColumn: never;
|
|
184
|
+
identity: undefined;
|
|
185
|
+
generated: undefined;
|
|
186
|
+
}, {}, {}>;
|
|
187
|
+
metadata: import("drizzle-orm/pg-core").PgColumn<{
|
|
188
|
+
name: "metadata";
|
|
189
|
+
tableName: "session_summaries";
|
|
190
|
+
dataType: "json";
|
|
191
|
+
columnType: "PgJsonb";
|
|
192
|
+
data: unknown;
|
|
193
|
+
driverParam: unknown;
|
|
194
|
+
notNull: false;
|
|
195
|
+
hasDefault: false;
|
|
196
|
+
isPrimaryKey: false;
|
|
197
|
+
isAutoincrement: false;
|
|
198
|
+
hasRuntimeDefault: false;
|
|
199
|
+
enumValues: undefined;
|
|
200
|
+
baseColumn: never;
|
|
201
|
+
identity: undefined;
|
|
202
|
+
generated: undefined;
|
|
203
|
+
}, {}, {}>;
|
|
204
|
+
embedding: import("drizzle-orm/pg-core").PgColumn<{
|
|
205
|
+
name: "embedding";
|
|
206
|
+
tableName: "session_summaries";
|
|
207
|
+
dataType: "array";
|
|
208
|
+
columnType: "PgArray";
|
|
209
|
+
data: number[];
|
|
210
|
+
driverParam: string | (string | number)[];
|
|
211
|
+
notNull: false;
|
|
212
|
+
hasDefault: false;
|
|
213
|
+
isPrimaryKey: false;
|
|
214
|
+
isAutoincrement: false;
|
|
215
|
+
hasRuntimeDefault: false;
|
|
216
|
+
enumValues: undefined;
|
|
217
|
+
baseColumn: import("drizzle-orm").Column<{
|
|
218
|
+
name: "embedding";
|
|
219
|
+
tableName: "session_summaries";
|
|
220
|
+
dataType: "number";
|
|
221
|
+
columnType: "PgReal";
|
|
222
|
+
data: number;
|
|
223
|
+
driverParam: string | number;
|
|
224
|
+
notNull: false;
|
|
225
|
+
hasDefault: false;
|
|
226
|
+
isPrimaryKey: false;
|
|
227
|
+
isAutoincrement: false;
|
|
228
|
+
hasRuntimeDefault: false;
|
|
229
|
+
enumValues: undefined;
|
|
230
|
+
baseColumn: never;
|
|
231
|
+
identity: undefined;
|
|
232
|
+
generated: undefined;
|
|
233
|
+
}, {}, {}>;
|
|
234
|
+
identity: undefined;
|
|
235
|
+
generated: undefined;
|
|
236
|
+
}, {}, {
|
|
237
|
+
baseBuilder: import("drizzle-orm/pg-core").PgColumnBuilder<{
|
|
238
|
+
name: "embedding";
|
|
239
|
+
dataType: "number";
|
|
240
|
+
columnType: "PgReal";
|
|
241
|
+
data: number;
|
|
242
|
+
driverParam: string | number;
|
|
243
|
+
enumValues: undefined;
|
|
244
|
+
}, {}, {}, import("drizzle-orm").ColumnBuilderExtraConfig>;
|
|
245
|
+
size: undefined;
|
|
246
|
+
}>;
|
|
247
|
+
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
248
|
+
name: "created_at";
|
|
249
|
+
tableName: "session_summaries";
|
|
250
|
+
dataType: "date";
|
|
251
|
+
columnType: "PgTimestamp";
|
|
252
|
+
data: Date;
|
|
253
|
+
driverParam: string;
|
|
254
|
+
notNull: true;
|
|
255
|
+
hasDefault: true;
|
|
256
|
+
isPrimaryKey: false;
|
|
257
|
+
isAutoincrement: false;
|
|
258
|
+
hasRuntimeDefault: false;
|
|
259
|
+
enumValues: undefined;
|
|
260
|
+
baseColumn: never;
|
|
261
|
+
identity: undefined;
|
|
262
|
+
generated: undefined;
|
|
263
|
+
}, {}, {}>;
|
|
264
|
+
updatedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
265
|
+
name: "updated_at";
|
|
266
|
+
tableName: "session_summaries";
|
|
267
|
+
dataType: "date";
|
|
268
|
+
columnType: "PgTimestamp";
|
|
269
|
+
data: Date;
|
|
270
|
+
driverParam: string;
|
|
271
|
+
notNull: true;
|
|
272
|
+
hasDefault: true;
|
|
273
|
+
isPrimaryKey: false;
|
|
274
|
+
isAutoincrement: false;
|
|
275
|
+
hasRuntimeDefault: false;
|
|
276
|
+
enumValues: undefined;
|
|
277
|
+
baseColumn: never;
|
|
278
|
+
identity: undefined;
|
|
279
|
+
generated: undefined;
|
|
280
|
+
}, {}, {}>;
|
|
281
|
+
};
|
|
282
|
+
dialect: "pg";
|
|
283
|
+
}>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type IAgentRuntime, Service, type UUID, type ServiceTypeName } from '@elizaos/core';
|
|
2
|
+
import { type LongTermMemory, type SessionSummary, type MemoryConfig, LongTermMemoryCategory } from '../types/index';
|
|
3
|
+
/**
|
|
4
|
+
* Memory Service
|
|
5
|
+
* Manages both short-term (session summaries) and long-term (persistent facts) memory
|
|
6
|
+
*/
|
|
7
|
+
export declare class MemoryService extends Service {
|
|
8
|
+
static serviceType: ServiceTypeName;
|
|
9
|
+
private sessionMessageCounts;
|
|
10
|
+
private memoryConfig;
|
|
11
|
+
private lastExtractionCheckpoints;
|
|
12
|
+
capabilityDescription: string;
|
|
13
|
+
constructor(runtime?: IAgentRuntime);
|
|
14
|
+
static start(runtime: IAgentRuntime): Promise<Service>;
|
|
15
|
+
stop(): Promise<void>;
|
|
16
|
+
initialize(runtime: IAgentRuntime): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Get the Drizzle database instance
|
|
19
|
+
*/
|
|
20
|
+
private getDb;
|
|
21
|
+
/**
|
|
22
|
+
* Get configuration
|
|
23
|
+
*/
|
|
24
|
+
getConfig(): MemoryConfig;
|
|
25
|
+
/**
|
|
26
|
+
* Update configuration
|
|
27
|
+
*/
|
|
28
|
+
updateConfig(updates: Partial<MemoryConfig>): void;
|
|
29
|
+
/**
|
|
30
|
+
* Track message count for a room
|
|
31
|
+
*/
|
|
32
|
+
incrementMessageCount(roomId: UUID): number;
|
|
33
|
+
/**
|
|
34
|
+
* Reset message count for a room
|
|
35
|
+
*/
|
|
36
|
+
resetMessageCount(roomId: UUID): void;
|
|
37
|
+
/**
|
|
38
|
+
* Check if summarization is needed for a room
|
|
39
|
+
*/
|
|
40
|
+
shouldSummarize(roomId: UUID): Promise<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Generate cache key for tracking extraction checkpoints per entity-room pair
|
|
43
|
+
*/
|
|
44
|
+
private getExtractionKey;
|
|
45
|
+
/**
|
|
46
|
+
* Get the last extraction checkpoint for an entity in a room
|
|
47
|
+
* Uses the cache table via adapter
|
|
48
|
+
*/
|
|
49
|
+
getLastExtractionCheckpoint(entityId: UUID, roomId: UUID): Promise<number>;
|
|
50
|
+
/**
|
|
51
|
+
* Set the last extraction checkpoint for an entity in a room
|
|
52
|
+
* Uses the cache table via adapter
|
|
53
|
+
*/
|
|
54
|
+
setLastExtractionCheckpoint(entityId: UUID, roomId: UUID, messageCount: number): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Check if long-term extraction should run based on message count and interval
|
|
57
|
+
*/
|
|
58
|
+
shouldRunExtraction(entityId: UUID, roomId: UUID, currentMessageCount: number): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* Store a long-term memory
|
|
61
|
+
*/
|
|
62
|
+
storeLongTermMemory(memory: Omit<LongTermMemory, 'id' | 'createdAt' | 'updatedAt'>): Promise<LongTermMemory>;
|
|
63
|
+
/**
|
|
64
|
+
* Retrieve long-term memories for an entity
|
|
65
|
+
*/
|
|
66
|
+
getLongTermMemories(entityId: UUID, category?: LongTermMemoryCategory, limit?: number): Promise<LongTermMemory[]>;
|
|
67
|
+
/**
|
|
68
|
+
* Update a long-term memory
|
|
69
|
+
*/
|
|
70
|
+
updateLongTermMemory(id: UUID, updates: Partial<Omit<LongTermMemory, 'id' | 'agentId' | 'createdAt'>>): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Delete a long-term memory
|
|
73
|
+
*/
|
|
74
|
+
deleteLongTermMemory(id: UUID): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Get the current session summary for a room (latest one)
|
|
77
|
+
*/
|
|
78
|
+
getCurrentSessionSummary(roomId: UUID): Promise<SessionSummary | null>;
|
|
79
|
+
/**
|
|
80
|
+
* Store a session summary (initial creation)
|
|
81
|
+
*/
|
|
82
|
+
storeSessionSummary(summary: Omit<SessionSummary, 'id' | 'createdAt' | 'updatedAt'>): Promise<SessionSummary>;
|
|
83
|
+
/**
|
|
84
|
+
* Update an existing session summary
|
|
85
|
+
*/
|
|
86
|
+
updateSessionSummary(id: UUID, updates: Partial<Omit<SessionSummary, 'id' | 'agentId' | 'roomId' | 'createdAt' | 'updatedAt'>>): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Get session summaries for a room
|
|
89
|
+
*/
|
|
90
|
+
getSessionSummaries(roomId: UUID, limit?: number): Promise<SessionSummary[]>;
|
|
91
|
+
/**
|
|
92
|
+
* Search long-term memories by semantic similarity (if embeddings are available)
|
|
93
|
+
*/
|
|
94
|
+
searchLongTermMemories(entityId: UUID, queryEmbedding: number[], limit?: number, matchThreshold?: number): Promise<LongTermMemory[]>;
|
|
95
|
+
/**
|
|
96
|
+
* Get all long-term memories formatted for context
|
|
97
|
+
*/
|
|
98
|
+
getFormattedLongTermMemories(entityId: UUID): Promise<string>;
|
|
99
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { UUID } from '@elizaos/core';
|
|
2
|
+
/**
|
|
3
|
+
* Categories of long-term memory
|
|
4
|
+
*/
|
|
5
|
+
export declare enum LongTermMemoryCategory {
|
|
6
|
+
IDENTITY = "identity",// User identity, name, roles
|
|
7
|
+
EXPERTISE = "expertise",// Domain knowledge and familiarity
|
|
8
|
+
PROJECTS = "projects",// Past interactions and recurring topics
|
|
9
|
+
PREFERENCES = "preferences",// User preferences for interaction style
|
|
10
|
+
DATA_SOURCES = "data_sources",// Frequently used files, databases, APIs
|
|
11
|
+
GOALS = "goals",// User's broader intentions and objectives
|
|
12
|
+
CONSTRAINTS = "constraints",// User-defined rules and limitations
|
|
13
|
+
DEFINITIONS = "definitions",// Custom terms, acronyms, glossaries
|
|
14
|
+
BEHAVIORAL_PATTERNS = "behavioral_patterns"
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Long-term memory entry
|
|
18
|
+
*/
|
|
19
|
+
export interface LongTermMemory {
|
|
20
|
+
id: UUID;
|
|
21
|
+
agentId: UUID;
|
|
22
|
+
entityId: UUID;
|
|
23
|
+
category: LongTermMemoryCategory;
|
|
24
|
+
content: string;
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
embedding?: number[];
|
|
27
|
+
confidence?: number;
|
|
28
|
+
source?: string;
|
|
29
|
+
createdAt: Date;
|
|
30
|
+
updatedAt: Date;
|
|
31
|
+
lastAccessedAt?: Date;
|
|
32
|
+
accessCount?: number;
|
|
33
|
+
similarity?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Short-term memory session summary
|
|
37
|
+
*/
|
|
38
|
+
export interface SessionSummary {
|
|
39
|
+
id: UUID;
|
|
40
|
+
agentId: UUID;
|
|
41
|
+
roomId: UUID;
|
|
42
|
+
entityId?: UUID;
|
|
43
|
+
summary: string;
|
|
44
|
+
messageCount: number;
|
|
45
|
+
lastMessageOffset: number;
|
|
46
|
+
startTime: Date;
|
|
47
|
+
endTime: Date;
|
|
48
|
+
topics?: string[];
|
|
49
|
+
metadata?: Record<string, unknown>;
|
|
50
|
+
embedding?: number[];
|
|
51
|
+
createdAt: Date;
|
|
52
|
+
updatedAt: Date;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Configuration for memory plugin
|
|
56
|
+
*/
|
|
57
|
+
export interface MemoryConfig {
|
|
58
|
+
shortTermSummarizationThreshold: number;
|
|
59
|
+
shortTermRetainRecent: number;
|
|
60
|
+
longTermExtractionEnabled: boolean;
|
|
61
|
+
longTermVectorSearchEnabled: boolean;
|
|
62
|
+
longTermConfidenceThreshold: number;
|
|
63
|
+
longTermExtractionInterval: number;
|
|
64
|
+
summaryModelType?: string;
|
|
65
|
+
summaryMaxTokens?: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Memory extraction result from evaluator
|
|
69
|
+
*/
|
|
70
|
+
export interface MemoryExtraction {
|
|
71
|
+
category: LongTermMemoryCategory;
|
|
72
|
+
content: string;
|
|
73
|
+
confidence: number;
|
|
74
|
+
metadata?: Record<string, unknown>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Summary generation result
|
|
78
|
+
*/
|
|
79
|
+
export interface SummaryResult {
|
|
80
|
+
summary: string;
|
|
81
|
+
topics: string[];
|
|
82
|
+
keyPoints: string[];
|
|
83
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@elizaos/plugin-memory",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Advanced memory management plugin with short-term summarization and long-term persistent memory",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/cjs/index.node.cjs",
|
|
7
|
+
"module": "dist/node/index.node.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"browser": "dist/browser/index.browser.js",
|
|
10
|
+
"sideEffects": false,
|
|
11
|
+
"exports": {
|
|
12
|
+
"./package.json": "./package.json",
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"browser": {
|
|
16
|
+
"types": "./dist/browser/index.d.ts",
|
|
17
|
+
"import": "./dist/browser/index.browser.js",
|
|
18
|
+
"default": "./dist/browser/index.browser.js"
|
|
19
|
+
},
|
|
20
|
+
"node": {
|
|
21
|
+
"types": "./dist/node/index.d.ts",
|
|
22
|
+
"import": "./dist/node/index.node.js",
|
|
23
|
+
"require": "./dist/cjs/index.node.cjs",
|
|
24
|
+
"default": "./dist/node/index.node.js"
|
|
25
|
+
},
|
|
26
|
+
"default": "./dist/node/index.node.js"
|
|
27
|
+
},
|
|
28
|
+
"./node": {
|
|
29
|
+
"types": "./dist/node/index.d.ts",
|
|
30
|
+
"import": "./dist/node/index.node.js",
|
|
31
|
+
"default": "./dist/node/index.node.js"
|
|
32
|
+
},
|
|
33
|
+
"./browser": {
|
|
34
|
+
"types": "./dist/browser/index.d.ts",
|
|
35
|
+
"import": "./dist/browser/index.browser.js",
|
|
36
|
+
"default": "./dist/browser/index.browser.js"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"dist"
|
|
41
|
+
],
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "bun run build.ts",
|
|
44
|
+
"dev": "bun run build --watch",
|
|
45
|
+
"test": "bun test",
|
|
46
|
+
"lint": "eslint . --ext .ts",
|
|
47
|
+
"format": "prettier --write \"src/**/*.ts\""
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@elizaos/core": "latest",
|
|
51
|
+
"drizzle-orm": "^0.38.3"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/bun": "latest",
|
|
55
|
+
"typescript": "^5.7.2"
|
|
56
|
+
},
|
|
57
|
+
"keywords": [
|
|
58
|
+
"eliza",
|
|
59
|
+
"plugin",
|
|
60
|
+
"memory",
|
|
61
|
+
"long-term-memory",
|
|
62
|
+
"short-term-memory",
|
|
63
|
+
"summarization"
|
|
64
|
+
],
|
|
65
|
+
"author": "ElizaOS Team",
|
|
66
|
+
"license": "MIT",
|
|
67
|
+
"publishConfig": {
|
|
68
|
+
"access": "public"
|
|
69
|
+
}
|
|
70
|
+
}
|