@agenticc/storage-memory 1.0.0
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/LICENSE +21 -0
- package/README.md +135 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/message-store.d.ts +253 -0
- package/dist/message-store.d.ts.map +1 -0
- package/dist/message-store.js +404 -0
- package/dist/message-store.js.map +1 -0
- package/dist/session.d.ts +223 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +285 -0
- package/dist/session.js.map +1 -0
- package/package.json +74 -0
package/dist/session.js
ADDED
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Management
|
|
3
|
+
*
|
|
4
|
+
* Manages conversation sessions for the Agent.
|
|
5
|
+
* Each session maintains its own conversation history and metadata.
|
|
6
|
+
*
|
|
7
|
+
* _Requirements: 9.1, 9.4_
|
|
8
|
+
*/
|
|
9
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
10
|
+
/**
|
|
11
|
+
* Session Manager
|
|
12
|
+
*
|
|
13
|
+
* Manages the lifecycle of conversation sessions.
|
|
14
|
+
* Provides methods for creating, retrieving, and managing sessions.
|
|
15
|
+
*/
|
|
16
|
+
export class SessionManager {
|
|
17
|
+
sessions = new Map();
|
|
18
|
+
defaultSessionId = 'default';
|
|
19
|
+
/**
|
|
20
|
+
* Create a new session
|
|
21
|
+
*
|
|
22
|
+
* @param options - Session creation options
|
|
23
|
+
* @returns The new session ID
|
|
24
|
+
*/
|
|
25
|
+
createSession(options) {
|
|
26
|
+
const id = options?.id ?? uuidv4();
|
|
27
|
+
// Check if session already exists
|
|
28
|
+
if (this.sessions.has(id)) {
|
|
29
|
+
throw new Error(`Session with ID "${id}" already exists`);
|
|
30
|
+
}
|
|
31
|
+
const now = new Date();
|
|
32
|
+
const session = {
|
|
33
|
+
id,
|
|
34
|
+
messages: [],
|
|
35
|
+
createdAt: now,
|
|
36
|
+
updatedAt: now,
|
|
37
|
+
metadata: options?.metadata,
|
|
38
|
+
active: true,
|
|
39
|
+
};
|
|
40
|
+
// Add system message if provided
|
|
41
|
+
if (options?.systemMessage) {
|
|
42
|
+
session.messages.push({
|
|
43
|
+
id: uuidv4(),
|
|
44
|
+
role: 'system',
|
|
45
|
+
content: options.systemMessage,
|
|
46
|
+
timestamp: now,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
this.sessions.set(id, session);
|
|
50
|
+
return id;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get a session by ID
|
|
54
|
+
*
|
|
55
|
+
* @param sessionId - Session ID
|
|
56
|
+
* @returns The session or undefined if not found
|
|
57
|
+
*/
|
|
58
|
+
getSession(sessionId) {
|
|
59
|
+
return this.sessions.get(sessionId);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get or create a session
|
|
63
|
+
*
|
|
64
|
+
* @param sessionId - Session ID
|
|
65
|
+
* @param options - Options for creating if not exists
|
|
66
|
+
* @returns The session
|
|
67
|
+
*/
|
|
68
|
+
getOrCreateSession(sessionId, options) {
|
|
69
|
+
let session = this.sessions.get(sessionId);
|
|
70
|
+
if (!session) {
|
|
71
|
+
this.createSession({ ...options, id: sessionId });
|
|
72
|
+
session = this.sessions.get(sessionId);
|
|
73
|
+
}
|
|
74
|
+
return session;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if a session exists
|
|
78
|
+
*
|
|
79
|
+
* @param sessionId - Session ID
|
|
80
|
+
* @returns True if session exists
|
|
81
|
+
*/
|
|
82
|
+
hasSession(sessionId) {
|
|
83
|
+
return this.sessions.has(sessionId);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get all sessions matching query options
|
|
87
|
+
*
|
|
88
|
+
* @param options - Query options
|
|
89
|
+
* @returns Array of matching sessions
|
|
90
|
+
*/
|
|
91
|
+
querySessions(options) {
|
|
92
|
+
let sessions = Array.from(this.sessions.values());
|
|
93
|
+
// Apply filters
|
|
94
|
+
if (options?.active !== undefined) {
|
|
95
|
+
sessions = sessions.filter((s) => s.active === options.active);
|
|
96
|
+
}
|
|
97
|
+
if (options?.createdAfter) {
|
|
98
|
+
sessions = sessions.filter((s) => s.createdAt >= options.createdAfter);
|
|
99
|
+
}
|
|
100
|
+
if (options?.createdBefore) {
|
|
101
|
+
sessions = sessions.filter((s) => s.createdAt <= options.createdBefore);
|
|
102
|
+
}
|
|
103
|
+
// Sort by creation date (newest first)
|
|
104
|
+
sessions.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
|
|
105
|
+
// Apply pagination
|
|
106
|
+
if (options?.offset) {
|
|
107
|
+
sessions = sessions.slice(options.offset);
|
|
108
|
+
}
|
|
109
|
+
if (options?.limit) {
|
|
110
|
+
sessions = sessions.slice(0, options.limit);
|
|
111
|
+
}
|
|
112
|
+
return sessions;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Get conversation history for a session
|
|
116
|
+
* Messages are returned in chronological order (oldest first)
|
|
117
|
+
*
|
|
118
|
+
* @param sessionId - Session ID
|
|
119
|
+
* @returns Array of messages ordered by timestamp
|
|
120
|
+
*/
|
|
121
|
+
getHistory(sessionId) {
|
|
122
|
+
const session = this.sessions.get(sessionId);
|
|
123
|
+
if (!session) {
|
|
124
|
+
return [];
|
|
125
|
+
}
|
|
126
|
+
// Return a copy sorted by timestamp (chronological order)
|
|
127
|
+
return [...session.messages].sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Add a user message to a session
|
|
131
|
+
*
|
|
132
|
+
* @param sessionId - Session ID
|
|
133
|
+
* @param content - Message content
|
|
134
|
+
* @param metadata - Optional metadata
|
|
135
|
+
* @returns The created message
|
|
136
|
+
*/
|
|
137
|
+
addUserMessage(sessionId, content, metadata) {
|
|
138
|
+
const session = this.getOrCreateSession(sessionId);
|
|
139
|
+
const message = {
|
|
140
|
+
id: uuidv4(),
|
|
141
|
+
role: 'user',
|
|
142
|
+
content,
|
|
143
|
+
timestamp: new Date(),
|
|
144
|
+
metadata,
|
|
145
|
+
};
|
|
146
|
+
session.messages.push(message);
|
|
147
|
+
session.updatedAt = new Date();
|
|
148
|
+
return message;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Add an assistant message to a session
|
|
152
|
+
*
|
|
153
|
+
* @param sessionId - Session ID
|
|
154
|
+
* @param response - Agent response
|
|
155
|
+
* @param metadata - Optional metadata
|
|
156
|
+
* @returns The created message
|
|
157
|
+
*/
|
|
158
|
+
addAssistantMessage(sessionId, response, metadata) {
|
|
159
|
+
const session = this.getOrCreateSession(sessionId);
|
|
160
|
+
const message = {
|
|
161
|
+
id: uuidv4(),
|
|
162
|
+
role: 'assistant',
|
|
163
|
+
content: ('message' in response ? response.message : JSON.stringify(response)),
|
|
164
|
+
timestamp: new Date(),
|
|
165
|
+
responseType: response.type,
|
|
166
|
+
metadata,
|
|
167
|
+
};
|
|
168
|
+
// Add tool calls if present
|
|
169
|
+
if (response.type === 'execute' && response.toolCalls) {
|
|
170
|
+
message.toolCalls = response.toolCalls;
|
|
171
|
+
}
|
|
172
|
+
session.messages.push(message);
|
|
173
|
+
session.updatedAt = new Date();
|
|
174
|
+
return message;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Add a system message to a session
|
|
178
|
+
*
|
|
179
|
+
* @param sessionId - Session ID
|
|
180
|
+
* @param content - Message content
|
|
181
|
+
* @returns The created message
|
|
182
|
+
*/
|
|
183
|
+
addSystemMessage(sessionId, content) {
|
|
184
|
+
const session = this.getOrCreateSession(sessionId);
|
|
185
|
+
const message = {
|
|
186
|
+
id: uuidv4(),
|
|
187
|
+
role: 'system',
|
|
188
|
+
content,
|
|
189
|
+
timestamp: new Date(),
|
|
190
|
+
};
|
|
191
|
+
session.messages.push(message);
|
|
192
|
+
session.updatedAt = new Date();
|
|
193
|
+
return message;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Close a session (mark as inactive)
|
|
197
|
+
*
|
|
198
|
+
* @param sessionId - Session ID
|
|
199
|
+
* @returns True if session was closed
|
|
200
|
+
*/
|
|
201
|
+
closeSession(sessionId) {
|
|
202
|
+
const session = this.sessions.get(sessionId);
|
|
203
|
+
if (!session) {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
session.active = false;
|
|
207
|
+
session.updatedAt = new Date();
|
|
208
|
+
return true;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Delete a session
|
|
212
|
+
*
|
|
213
|
+
* @param sessionId - Session ID
|
|
214
|
+
* @returns True if session was deleted
|
|
215
|
+
*/
|
|
216
|
+
deleteSession(sessionId) {
|
|
217
|
+
return this.sessions.delete(sessionId);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Clear all messages in a session
|
|
221
|
+
*
|
|
222
|
+
* @param sessionId - Session ID
|
|
223
|
+
* @returns True if session was cleared
|
|
224
|
+
*/
|
|
225
|
+
clearSession(sessionId) {
|
|
226
|
+
const session = this.sessions.get(sessionId);
|
|
227
|
+
if (!session) {
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
session.messages = [];
|
|
231
|
+
session.updatedAt = new Date();
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Update session metadata
|
|
236
|
+
*
|
|
237
|
+
* @param sessionId - Session ID
|
|
238
|
+
* @param metadata - New metadata (merged with existing)
|
|
239
|
+
* @returns True if session was updated
|
|
240
|
+
*/
|
|
241
|
+
updateMetadata(sessionId, metadata) {
|
|
242
|
+
const session = this.sessions.get(sessionId);
|
|
243
|
+
if (!session) {
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
session.metadata = { ...session.metadata, ...metadata };
|
|
247
|
+
session.updatedAt = new Date();
|
|
248
|
+
return true;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Get the default session ID
|
|
252
|
+
*/
|
|
253
|
+
getDefaultSessionId() {
|
|
254
|
+
return this.defaultSessionId;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Set the default session ID
|
|
258
|
+
*/
|
|
259
|
+
setDefaultSessionId(sessionId) {
|
|
260
|
+
this.defaultSessionId = sessionId;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Get total number of sessions
|
|
264
|
+
*/
|
|
265
|
+
getSessionCount() {
|
|
266
|
+
return this.sessions.size;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Get total number of messages across all sessions
|
|
270
|
+
*/
|
|
271
|
+
getTotalMessageCount() {
|
|
272
|
+
let count = 0;
|
|
273
|
+
for (const session of this.sessions.values()) {
|
|
274
|
+
count += session.messages.length;
|
|
275
|
+
}
|
|
276
|
+
return count;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Create a new SessionManager instance
|
|
281
|
+
*/
|
|
282
|
+
export function createSessionManager() {
|
|
283
|
+
return new SessionManager();
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agenticc/storage-memory",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "In-memory storage adapter for @agenticc/core - for development and testing",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public",
|
|
16
|
+
"registry": "https://registry.npmjs.org/"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"keywords": [
|
|
24
|
+
"ai",
|
|
25
|
+
"agent",
|
|
26
|
+
"storage",
|
|
27
|
+
"memory",
|
|
28
|
+
"in-memory",
|
|
29
|
+
"session",
|
|
30
|
+
"conversation"
|
|
31
|
+
],
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "https://github.com/Chajian/agentic.git"
|
|
35
|
+
},
|
|
36
|
+
"bugs": {
|
|
37
|
+
"url": "https://github.com/Chajian/agentic/issues"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://github.com/Chajian/agentic#readme",
|
|
40
|
+
"author": "Chajian <xylyjy@gmail.com>",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "tsc && tsc-alias",
|
|
44
|
+
"clean": "rimraf dist",
|
|
45
|
+
"typecheck": "tsc --noEmit",
|
|
46
|
+
"lint": "eslint .",
|
|
47
|
+
"lint:fix": "eslint . --fix",
|
|
48
|
+
"format": "prettier --write src/**/*.ts",
|
|
49
|
+
"format:check": "prettier --check src/**/*.ts",
|
|
50
|
+
"test": "vitest --run --passWithNoTests",
|
|
51
|
+
"test:coverage": "vitest --run --coverage --passWithNoTests",
|
|
52
|
+
"test:watch": "vitest",
|
|
53
|
+
"prepublishOnly": "npm run clean && npm run build && npm run typecheck"
|
|
54
|
+
},
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"uuid": "^11.0.3"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@agenticc/core": "workspace:*",
|
|
60
|
+
"@types/node": "^22.10.2",
|
|
61
|
+
"@types/uuid": "^10.0.0",
|
|
62
|
+
"@vitest/coverage-v8": "^2.1.9",
|
|
63
|
+
"rimraf": "^6.0.1",
|
|
64
|
+
"tsc-alias": "^1.8.10",
|
|
65
|
+
"typescript": "^5.7.2",
|
|
66
|
+
"vitest": "^2.1.8"
|
|
67
|
+
},
|
|
68
|
+
"peerDependencies": {
|
|
69
|
+
"@agenticc/core": "^1.0.0"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">=18.0.0"
|
|
73
|
+
}
|
|
74
|
+
}
|