@agenticc/core 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 +370 -0
- package/README.zh-CN.md +372 -0
- package/dist/audit/index.d.ts +9 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +9 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/logger.d.ts +211 -0
- package/dist/audit/logger.d.ts.map +1 -0
- package/dist/audit/logger.js +268 -0
- package/dist/audit/logger.js.map +1 -0
- package/dist/audit/query.d.ts +164 -0
- package/dist/audit/query.d.ts.map +1 -0
- package/dist/audit/query.js +250 -0
- package/dist/audit/query.js.map +1 -0
- package/dist/conversation/context-builder.d.ts +119 -0
- package/dist/conversation/context-builder.d.ts.map +1 -0
- package/dist/conversation/context-builder.js +252 -0
- package/dist/conversation/context-builder.js.map +1 -0
- package/dist/conversation/index.d.ts +10 -0
- package/dist/conversation/index.d.ts.map +1 -0
- package/dist/conversation/index.js +10 -0
- package/dist/conversation/index.js.map +1 -0
- package/dist/conversation/message-store.d.ts +231 -0
- package/dist/conversation/message-store.d.ts.map +1 -0
- package/dist/conversation/message-store.js +404 -0
- package/dist/conversation/message-store.js.map +1 -0
- package/dist/conversation/session.d.ts +201 -0
- package/dist/conversation/session.d.ts.map +1 -0
- package/dist/conversation/session.js +285 -0
- package/dist/conversation/session.js.map +1 -0
- package/dist/core/agent.d.ts +277 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +674 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/agentic-loop.d.ts +98 -0
- package/dist/core/agentic-loop.d.ts.map +1 -0
- package/dist/core/agentic-loop.js +496 -0
- package/dist/core/agentic-loop.js.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +14 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/intent-parser.d.ts +101 -0
- package/dist/core/intent-parser.d.ts.map +1 -0
- package/dist/core/intent-parser.js +221 -0
- package/dist/core/intent-parser.js.map +1 -0
- package/dist/core/plan-generator.d.ts +133 -0
- package/dist/core/plan-generator.d.ts.map +1 -0
- package/dist/core/plan-generator.js +294 -0
- package/dist/core/plan-generator.js.map +1 -0
- package/dist/core/plugin-manager.d.ts +120 -0
- package/dist/core/plugin-manager.d.ts.map +1 -0
- package/dist/core/plugin-manager.js +369 -0
- package/dist/core/plugin-manager.js.map +1 -0
- package/dist/core/response-handler.d.ts +141 -0
- package/dist/core/response-handler.d.ts.map +1 -0
- package/dist/core/response-handler.js +384 -0
- package/dist/core/response-handler.js.map +1 -0
- package/dist/core/tool-executor.d.ts +143 -0
- package/dist/core/tool-executor.d.ts.map +1 -0
- package/dist/core/tool-executor.js +354 -0
- package/dist/core/tool-executor.js.map +1 -0
- package/dist/core/tool-registry.d.ts +133 -0
- package/dist/core/tool-registry.d.ts.map +1 -0
- package/dist/core/tool-registry.js +252 -0
- package/dist/core/tool-registry.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge/chunker.d.ts +78 -0
- package/dist/knowledge/chunker.d.ts.map +1 -0
- package/dist/knowledge/chunker.js +233 -0
- package/dist/knowledge/chunker.js.map +1 -0
- package/dist/knowledge/embedder.d.ts +93 -0
- package/dist/knowledge/embedder.d.ts.map +1 -0
- package/dist/knowledge/embedder.js +205 -0
- package/dist/knowledge/embedder.js.map +1 -0
- package/dist/knowledge/index.d.ts +10 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +11 -0
- package/dist/knowledge/index.js.map +1 -0
- package/dist/knowledge/loaders/index.d.ts +10 -0
- package/dist/knowledge/loaders/index.d.ts.map +1 -0
- package/dist/knowledge/loaders/index.js +10 -0
- package/dist/knowledge/loaders/index.js.map +1 -0
- package/dist/knowledge/loaders/markdown.d.ts +88 -0
- package/dist/knowledge/loaders/markdown.d.ts.map +1 -0
- package/dist/knowledge/loaders/markdown.js +205 -0
- package/dist/knowledge/loaders/markdown.js.map +1 -0
- package/dist/knowledge/loaders/yaml.d.ts +112 -0
- package/dist/knowledge/loaders/yaml.d.ts.map +1 -0
- package/dist/knowledge/loaders/yaml.js +368 -0
- package/dist/knowledge/loaders/yaml.js.map +1 -0
- package/dist/knowledge/retriever.d.ts +144 -0
- package/dist/knowledge/retriever.d.ts.map +1 -0
- package/dist/knowledge/retriever.js +399 -0
- package/dist/knowledge/retriever.js.map +1 -0
- package/dist/knowledge/store.d.ts +146 -0
- package/dist/knowledge/store.d.ts.map +1 -0
- package/dist/knowledge/store.js +420 -0
- package/dist/knowledge/store.js.map +1 -0
- package/dist/llm/adapter.d.ts +194 -0
- package/dist/llm/adapter.d.ts.map +1 -0
- package/dist/llm/adapter.js +42 -0
- package/dist/llm/adapter.js.map +1 -0
- package/dist/llm/adapters/anyrouter.d.ts +84 -0
- package/dist/llm/adapters/anyrouter.d.ts.map +1 -0
- package/dist/llm/adapters/anyrouter.js +372 -0
- package/dist/llm/adapters/anyrouter.js.map +1 -0
- package/dist/llm/adapters/claude.d.ts +66 -0
- package/dist/llm/adapters/claude.d.ts.map +1 -0
- package/dist/llm/adapters/claude.js +323 -0
- package/dist/llm/adapters/claude.js.map +1 -0
- package/dist/llm/adapters/index.d.ts +12 -0
- package/dist/llm/adapters/index.d.ts.map +1 -0
- package/dist/llm/adapters/index.js +12 -0
- package/dist/llm/adapters/index.js.map +1 -0
- package/dist/llm/adapters/mimo.d.ts +85 -0
- package/dist/llm/adapters/mimo.d.ts.map +1 -0
- package/dist/llm/adapters/mimo.js +316 -0
- package/dist/llm/adapters/mimo.js.map +1 -0
- package/dist/llm/adapters/openai.d.ts +53 -0
- package/dist/llm/adapters/openai.d.ts.map +1 -0
- package/dist/llm/adapters/openai.js +293 -0
- package/dist/llm/adapters/openai.js.map +1 -0
- package/dist/llm/adapters/qwen.d.ts +53 -0
- package/dist/llm/adapters/qwen.d.ts.map +1 -0
- package/dist/llm/adapters/qwen.js +299 -0
- package/dist/llm/adapters/qwen.js.map +1 -0
- package/dist/llm/adapters/siliconflow.d.ts +69 -0
- package/dist/llm/adapters/siliconflow.d.ts.map +1 -0
- package/dist/llm/adapters/siliconflow.js +331 -0
- package/dist/llm/adapters/siliconflow.js.map +1 -0
- package/dist/llm/index.d.ts +9 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +12 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/manager.d.ts +97 -0
- package/dist/llm/manager.d.ts.map +1 -0
- package/dist/llm/manager.js +337 -0
- package/dist/llm/manager.js.map +1 -0
- package/dist/test-utils/arbitraries.d.ts +230 -0
- package/dist/test-utils/arbitraries.d.ts.map +1 -0
- package/dist/test-utils/arbitraries.js +280 -0
- package/dist/test-utils/arbitraries.js.map +1 -0
- package/dist/test-utils/cleanup.d.ts +184 -0
- package/dist/test-utils/cleanup.d.ts.map +1 -0
- package/dist/test-utils/cleanup.js +282 -0
- package/dist/test-utils/cleanup.js.map +1 -0
- package/dist/test-utils/config.d.ts +80 -0
- package/dist/test-utils/config.d.ts.map +1 -0
- package/dist/test-utils/config.js +94 -0
- package/dist/test-utils/config.js.map +1 -0
- package/dist/test-utils/index.d.ts +10 -0
- package/dist/test-utils/index.d.ts.map +1 -0
- package/dist/test-utils/index.js +36 -0
- package/dist/test-utils/index.js.map +1 -0
- package/dist/test-utils/mocks.d.ts +170 -0
- package/dist/test-utils/mocks.d.ts.map +1 -0
- package/dist/test-utils/mocks.js +281 -0
- package/dist/test-utils/mocks.js.map +1 -0
- package/dist/types/config.d.ts +170 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +120 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/knowledge.d.ts +95 -0
- package/dist/types/knowledge.d.ts.map +1 -0
- package/dist/types/knowledge.js +7 -0
- package/dist/types/knowledge.js.map +1 -0
- package/dist/types/loop.d.ts +148 -0
- package/dist/types/loop.d.ts.map +1 -0
- package/dist/types/loop.js +16 -0
- package/dist/types/loop.js.map +1 -0
- package/dist/types/plugin.d.ts +137 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +15 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types/response.d.ts +186 -0
- package/dist/types/response.d.ts.map +1 -0
- package/dist/types/response.js +99 -0
- package/dist/types/response.js.map +1 -0
- package/dist/types/streaming.d.ts +478 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/streaming.js +483 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/types/tool.d.ts +118 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +42 -0
- package/dist/types/tool.js.map +1 -0
- package/dist/utils/error.d.ts +22 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +36 -0
- package/dist/utils/error.js.map +1 -0
- package/package.json +102 -0
|
@@ -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/conversation/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Core
|
|
3
|
+
*
|
|
4
|
+
* Main Agent class that orchestrates the agentic loop, plugin management,
|
|
5
|
+
* knowledge retrieval, and response handling.
|
|
6
|
+
*
|
|
7
|
+
* Refactored to use:
|
|
8
|
+
* - PluginManager for tool management (replacing ToolRegistry)
|
|
9
|
+
* - AgenticLoop for autonomous LLM decision-making
|
|
10
|
+
* - Confirmation mechanism for high-risk operations
|
|
11
|
+
*
|
|
12
|
+
* _Requirements: 1.1-1.7, 4.1, 4.5, 4.7_
|
|
13
|
+
*/
|
|
14
|
+
import type { AgentConfig } from '../types/config.js';
|
|
15
|
+
import type { AgentResponse, ToolCallRecord } from '../types/response.js';
|
|
16
|
+
import type { Tool } from '../types/tool.js';
|
|
17
|
+
import type { AgentPlugin, PluginInfo } from '../types/plugin.js';
|
|
18
|
+
import type { StreamEvent } from '../types/streaming.js';
|
|
19
|
+
import { LLMManager } from '../llm/manager.js';
|
|
20
|
+
import { KnowledgeStore } from '../knowledge/store.js';
|
|
21
|
+
import { Retriever } from '../knowledge/retriever.js';
|
|
22
|
+
import { PluginManager } from './plugin-manager.js';
|
|
23
|
+
import { AgenticLoop } from './agentic-loop.js';
|
|
24
|
+
/**
|
|
25
|
+
* Message in conversation history
|
|
26
|
+
*/
|
|
27
|
+
export interface Message {
|
|
28
|
+
id: string;
|
|
29
|
+
role: 'user' | 'assistant' | 'system';
|
|
30
|
+
content: string;
|
|
31
|
+
timestamp: Date;
|
|
32
|
+
toolCalls?: ToolCallRecord[];
|
|
33
|
+
responseType?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Conversation session
|
|
37
|
+
*/
|
|
38
|
+
export interface Session {
|
|
39
|
+
id: string;
|
|
40
|
+
messages: Message[];
|
|
41
|
+
createdAt: Date;
|
|
42
|
+
updatedAt: Date;
|
|
43
|
+
metadata?: Record<string, unknown>;
|
|
44
|
+
/** Pending confirmation state */
|
|
45
|
+
pendingConfirmation?: PendingConfirmation;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Pending confirmation state
|
|
49
|
+
*/
|
|
50
|
+
export interface PendingConfirmation {
|
|
51
|
+
/** The tool that requires confirmation */
|
|
52
|
+
toolName: string;
|
|
53
|
+
/** Arguments for the tool */
|
|
54
|
+
arguments: Record<string, unknown>;
|
|
55
|
+
/** Original user message */
|
|
56
|
+
userMessage: string;
|
|
57
|
+
/** Timestamp when confirmation was requested */
|
|
58
|
+
timestamp: Date;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Agent options for chat
|
|
62
|
+
*/
|
|
63
|
+
export interface ChatOptions {
|
|
64
|
+
/** Session ID (creates new session if not provided) */
|
|
65
|
+
sessionId?: string;
|
|
66
|
+
/** Skip knowledge retrieval */
|
|
67
|
+
skipKnowledge?: boolean;
|
|
68
|
+
/** Skip confirmation for this request */
|
|
69
|
+
skipConfirmation?: boolean;
|
|
70
|
+
/** Additional context */
|
|
71
|
+
context?: Record<string, unknown>;
|
|
72
|
+
/** System prompt override */
|
|
73
|
+
systemPrompt?: string;
|
|
74
|
+
/** Abort signal for cancellation */
|
|
75
|
+
abortSignal?: AbortSignal;
|
|
76
|
+
/** Callback for streaming events */
|
|
77
|
+
onEvent?: (event: StreamEvent) => void;
|
|
78
|
+
/** Message ID for streaming events */
|
|
79
|
+
messageId?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Historical messages loaded from database.
|
|
82
|
+
* Used for stateless operation - Agent does not maintain session state in memory.
|
|
83
|
+
*/
|
|
84
|
+
history?: Message[];
|
|
85
|
+
/**
|
|
86
|
+
* Pending confirmation state loaded from database.
|
|
87
|
+
* Used for stateless operation when user needs to confirm a high-risk operation.
|
|
88
|
+
*/
|
|
89
|
+
pendingConfirmation?: PendingConfirmation;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Agent
|
|
93
|
+
*
|
|
94
|
+
* Main AI Agent class that coordinates all components to process
|
|
95
|
+
* user messages and generate appropriate responses using the agentic loop.
|
|
96
|
+
*/
|
|
97
|
+
export declare class Agent {
|
|
98
|
+
private config;
|
|
99
|
+
private behavior;
|
|
100
|
+
private llmManager;
|
|
101
|
+
private knowledgeStore;
|
|
102
|
+
private embedder?;
|
|
103
|
+
private retriever;
|
|
104
|
+
private pluginManager;
|
|
105
|
+
private agenticLoop;
|
|
106
|
+
private responseHandler;
|
|
107
|
+
private logger;
|
|
108
|
+
private logLevel;
|
|
109
|
+
private metricsEnabled;
|
|
110
|
+
private pluginContext;
|
|
111
|
+
constructor(config: AgentConfig);
|
|
112
|
+
/**
|
|
113
|
+
* Process a user message and generate a response
|
|
114
|
+
*
|
|
115
|
+
* Pure Stateless Implementation:
|
|
116
|
+
* - Does not maintain session state in memory
|
|
117
|
+
* - History is passed in via options.history (loaded from database)
|
|
118
|
+
* - PendingConfirmation is passed in via options.pendingConfirmation
|
|
119
|
+
* - Returns pendingConfirmation in response for external persistence
|
|
120
|
+
*
|
|
121
|
+
* _Requirements: 1.1, 1.2, 1.3, 2.3, 2.4_
|
|
122
|
+
*/
|
|
123
|
+
chat(message: string, options?: ChatOptions): Promise<AgentResponse>;
|
|
124
|
+
/**
|
|
125
|
+
* Convert external Message history to LoopMessage format
|
|
126
|
+
*/
|
|
127
|
+
private convertHistoryToLoopMessages;
|
|
128
|
+
/**
|
|
129
|
+
* Map an error to a streaming error code
|
|
130
|
+
*/
|
|
131
|
+
private mapErrorToCode;
|
|
132
|
+
/**
|
|
133
|
+
* Retrieve knowledge context with streaming events
|
|
134
|
+
* Requirement: 3.1
|
|
135
|
+
*/
|
|
136
|
+
private retrieveKnowledgeContextWithEvents;
|
|
137
|
+
/**
|
|
138
|
+
* Handle user's response to a confirmation request
|
|
139
|
+
*
|
|
140
|
+
* Stateless version: receives pendingConfirmation from database via options
|
|
141
|
+
*/
|
|
142
|
+
private handleConfirmationResponse;
|
|
143
|
+
/**
|
|
144
|
+
* Check if any tool in the potential execution requires confirmation
|
|
145
|
+
*
|
|
146
|
+
* _Requirements: 4.7_
|
|
147
|
+
*/
|
|
148
|
+
private checkConfirmationNeeded;
|
|
149
|
+
/**
|
|
150
|
+
* Create a confirmation response
|
|
151
|
+
*/
|
|
152
|
+
private createConfirmResponse;
|
|
153
|
+
/**
|
|
154
|
+
* Convert agentic loop result to agent response
|
|
155
|
+
*/
|
|
156
|
+
private loopResultToResponse;
|
|
157
|
+
/**
|
|
158
|
+
* Retrieve knowledge context for the message
|
|
159
|
+
* @deprecated Use retrieveKnowledgeContextWithEvents instead
|
|
160
|
+
*/
|
|
161
|
+
private retrieveKnowledgeContext;
|
|
162
|
+
/**
|
|
163
|
+
* Continue processing after user confirmation
|
|
164
|
+
*
|
|
165
|
+
* @deprecated In stateless mode, confirmations should be handled by passing
|
|
166
|
+
* pendingConfirmation via options.pendingConfirmation in chat()
|
|
167
|
+
*/
|
|
168
|
+
confirm(confirmed: boolean, sessionId?: string, options?: ChatOptions): Promise<AgentResponse>;
|
|
169
|
+
/**
|
|
170
|
+
* Add knowledge to the knowledge base
|
|
171
|
+
*/
|
|
172
|
+
addKnowledge(content: string, category: string, title?: string): Promise<string>;
|
|
173
|
+
/**
|
|
174
|
+
* Load a plugin
|
|
175
|
+
*/
|
|
176
|
+
loadPlugin(plugin: AgentPlugin): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* Unload a plugin
|
|
179
|
+
*/
|
|
180
|
+
unloadPlugin(pluginName: string): Promise<boolean>;
|
|
181
|
+
/**
|
|
182
|
+
* List all loaded plugins
|
|
183
|
+
*/
|
|
184
|
+
listPlugins(): PluginInfo[];
|
|
185
|
+
/**
|
|
186
|
+
* Get a specific plugin
|
|
187
|
+
*/
|
|
188
|
+
getPlugin(name: string): AgentPlugin | undefined;
|
|
189
|
+
/**
|
|
190
|
+
* Check if a plugin is loaded
|
|
191
|
+
*/
|
|
192
|
+
hasPlugin(name: string): boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Register a tool with the agent (legacy method)
|
|
195
|
+
* @deprecated Use loadPlugin instead
|
|
196
|
+
*/
|
|
197
|
+
registerTool(tool: Tool): void;
|
|
198
|
+
/**
|
|
199
|
+
* Register multiple tools (legacy method)
|
|
200
|
+
* @deprecated Use loadPlugin instead
|
|
201
|
+
*/
|
|
202
|
+
registerTools(tools: Tool[]): void;
|
|
203
|
+
/**
|
|
204
|
+
* @deprecated In stateless mode, history should be passed via options.history in chat()
|
|
205
|
+
* This method is kept for backward compatibility but does nothing.
|
|
206
|
+
*/
|
|
207
|
+
importSessionHistory(_sessionId: string, _messages: Array<{
|
|
208
|
+
id: string;
|
|
209
|
+
role: string;
|
|
210
|
+
content: string;
|
|
211
|
+
createdAt: Date | string;
|
|
212
|
+
toolCalls?: string | null;
|
|
213
|
+
responseType?: string | null;
|
|
214
|
+
}>): void;
|
|
215
|
+
/**
|
|
216
|
+
* @deprecated In stateless mode, Agent does not maintain session state.
|
|
217
|
+
* Always returns false.
|
|
218
|
+
*/
|
|
219
|
+
hasSessionHistory(_sessionId: string): boolean;
|
|
220
|
+
/**
|
|
221
|
+
* @deprecated In stateless mode, history is not stored in Agent.
|
|
222
|
+
* Always returns empty array.
|
|
223
|
+
*/
|
|
224
|
+
getHistory(_sessionId?: string): Message[];
|
|
225
|
+
/**
|
|
226
|
+
* @deprecated In stateless mode, sessions are managed externally (database).
|
|
227
|
+
* Returns a generated UUID for compatibility.
|
|
228
|
+
*/
|
|
229
|
+
createSession(_metadata?: Record<string, unknown>): string;
|
|
230
|
+
/**
|
|
231
|
+
* Create tool context for execution
|
|
232
|
+
*/
|
|
233
|
+
private createToolContext;
|
|
234
|
+
/**
|
|
235
|
+
* Create plugin context for dependency injection
|
|
236
|
+
*/
|
|
237
|
+
private createPluginContext;
|
|
238
|
+
/**
|
|
239
|
+
* Create a logger instance with log level filtering
|
|
240
|
+
*/
|
|
241
|
+
private createLogger;
|
|
242
|
+
/**
|
|
243
|
+
* Create a logger wrapper for custom logger
|
|
244
|
+
*/
|
|
245
|
+
private createCustomLogger;
|
|
246
|
+
/**
|
|
247
|
+
* Get the LLM Manager
|
|
248
|
+
*/
|
|
249
|
+
getLLMManager(): LLMManager;
|
|
250
|
+
/**
|
|
251
|
+
* Get the Plugin Manager
|
|
252
|
+
*/
|
|
253
|
+
getPluginManager(): PluginManager;
|
|
254
|
+
/**
|
|
255
|
+
* Get the Knowledge Store
|
|
256
|
+
*/
|
|
257
|
+
getKnowledgeStore(): KnowledgeStore;
|
|
258
|
+
/**
|
|
259
|
+
* Get the Retriever
|
|
260
|
+
*/
|
|
261
|
+
getRetriever(): Retriever;
|
|
262
|
+
/**
|
|
263
|
+
* Get the Agentic Loop
|
|
264
|
+
*/
|
|
265
|
+
getAgenticLoop(): AgenticLoop;
|
|
266
|
+
/**
|
|
267
|
+
* Get the current session ID
|
|
268
|
+
* @deprecated In stateless mode, session ID should be managed externally.
|
|
269
|
+
* Returns a placeholder value for compatibility.
|
|
270
|
+
*/
|
|
271
|
+
getCurrentSessionId(): string;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Create an Agent with simplified configuration
|
|
275
|
+
*/
|
|
276
|
+
export declare function createAgent(llmProvider: 'openai' | 'claude' | 'qwen' | 'siliconflow', apiKey: string, model: string, options?: Partial<AgentConfig>): Agent;
|
|
277
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
|