@hazeljs/agent 0.2.0-beta.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/IMPLEMENTATION_SUMMARY.md +400 -0
- package/PERSISTENCE.md +201 -0
- package/PRISMA_INTEGRATION.md +499 -0
- package/PRODUCTION_READINESS.md +264 -0
- package/QUICKSTART.md +135 -0
- package/README.md +427 -0
- package/STATE_VS_MEMORY.md +243 -0
- package/dist/agent.module.d.ts +42 -0
- package/dist/agent.module.d.ts.map +1 -0
- package/dist/agent.module.js +90 -0
- package/dist/agent.module.js.map +1 -0
- package/dist/context/agent.context.d.ts +27 -0
- package/dist/context/agent.context.d.ts.map +1 -0
- package/dist/context/agent.context.js +98 -0
- package/dist/context/agent.context.js.map +1 -0
- package/dist/decorators/agent.decorator.d.ts +21 -0
- package/dist/decorators/agent.decorator.d.ts.map +1 -0
- package/dist/decorators/agent.decorator.js +38 -0
- package/dist/decorators/agent.decorator.js.map +1 -0
- package/dist/decorators/tool.decorator.d.ts +23 -0
- package/dist/decorators/tool.decorator.d.ts.map +1 -0
- package/dist/decorators/tool.decorator.js +61 -0
- package/dist/decorators/tool.decorator.js.map +1 -0
- package/dist/events/event.emitter.d.ts +45 -0
- package/dist/events/event.emitter.d.ts.map +1 -0
- package/dist/events/event.emitter.js +96 -0
- package/dist/events/event.emitter.js.map +1 -0
- package/dist/executor/agent.executor.d.ts +57 -0
- package/dist/executor/agent.executor.d.ts.map +1 -0
- package/dist/executor/agent.executor.js +303 -0
- package/dist/executor/agent.executor.js.map +1 -0
- package/dist/executor/tool.executor.d.ts +53 -0
- package/dist/executor/tool.executor.d.ts.map +1 -0
- package/dist/executor/tool.executor.js +234 -0
- package/dist/executor/tool.executor.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/registry/agent.registry.d.ts +49 -0
- package/dist/registry/agent.registry.d.ts.map +1 -0
- package/dist/registry/agent.registry.js +90 -0
- package/dist/registry/agent.registry.js.map +1 -0
- package/dist/registry/tool.registry.d.ts +54 -0
- package/dist/registry/tool.registry.d.ts.map +1 -0
- package/dist/registry/tool.registry.js +153 -0
- package/dist/registry/tool.registry.js.map +1 -0
- package/dist/runtime/agent.runtime.d.ts +155 -0
- package/dist/runtime/agent.runtime.d.ts.map +1 -0
- package/dist/runtime/agent.runtime.extensions.d.ts +49 -0
- package/dist/runtime/agent.runtime.extensions.d.ts.map +1 -0
- package/dist/runtime/agent.runtime.extensions.js +93 -0
- package/dist/runtime/agent.runtime.extensions.js.map +1 -0
- package/dist/runtime/agent.runtime.js +347 -0
- package/dist/runtime/agent.runtime.js.map +1 -0
- package/dist/state/agent-state.interface.d.ts +63 -0
- package/dist/state/agent-state.interface.d.ts.map +1 -0
- package/dist/state/agent-state.interface.js +7 -0
- package/dist/state/agent-state.interface.js.map +1 -0
- package/dist/state/agent.state.d.ts +67 -0
- package/dist/state/agent.state.d.ts.map +1 -0
- package/dist/state/agent.state.js +172 -0
- package/dist/state/agent.state.js.map +1 -0
- package/dist/state/database-state.manager.d.ts +63 -0
- package/dist/state/database-state.manager.d.ts.map +1 -0
- package/dist/state/database-state.manager.js +282 -0
- package/dist/state/database-state.manager.js.map +1 -0
- package/dist/state/redis-state.manager.d.ts +81 -0
- package/dist/state/redis-state.manager.d.ts.map +1 -0
- package/dist/state/redis-state.manager.js +253 -0
- package/dist/state/redis-state.manager.js.map +1 -0
- package/dist/types/agent.types.d.ts +151 -0
- package/dist/types/agent.types.d.ts.map +1 -0
- package/dist/types/agent.types.js +32 -0
- package/dist/types/agent.types.js.map +1 -0
- package/dist/types/event.types.d.ts +123 -0
- package/dist/types/event.types.d.ts.map +1 -0
- package/dist/types/event.types.js +30 -0
- package/dist/types/event.types.js.map +1 -0
- package/dist/types/llm.types.d.ts +66 -0
- package/dist/types/llm.types.d.ts.map +1 -0
- package/dist/types/llm.types.js +7 -0
- package/dist/types/llm.types.js.map +1 -0
- package/dist/types/rag.types.d.ts +40 -0
- package/dist/types/rag.types.d.ts.map +1 -0
- package/dist/types/rag.types.js +7 -0
- package/dist/types/rag.types.js.map +1 -0
- package/dist/types/tool.types.d.ts +118 -0
- package/dist/types/tool.types.d.ts.map +1 -0
- package/dist/types/tool.types.js +19 -0
- package/dist/types/tool.types.js.map +1 -0
- package/dist/utils/circuit-breaker.d.ts +69 -0
- package/dist/utils/circuit-breaker.d.ts.map +1 -0
- package/dist/utils/circuit-breaker.js +156 -0
- package/dist/utils/circuit-breaker.js.map +1 -0
- package/dist/utils/health-check.d.ts +71 -0
- package/dist/utils/health-check.d.ts.map +1 -0
- package/dist/utils/health-check.js +156 -0
- package/dist/utils/health-check.js.map +1 -0
- package/dist/utils/logger.d.ts +53 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +133 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/metrics.d.ts +90 -0
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/utils/metrics.js +186 -0
- package/dist/utils/metrics.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +44 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +82 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/retry.d.ts +42 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +103 -0
- package/dist/utils/retry.js.map +1 -0
- package/package.json +58 -0
- package/prisma-schema.example.prisma +76 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Redis State Manager
|
|
4
|
+
* Redis-backed persistence for agent execution state
|
|
5
|
+
* Provides fast, distributed state management with TTL support
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.RedisStateManager = void 0;
|
|
9
|
+
const agent_types_1 = require("../types/agent.types");
|
|
10
|
+
const crypto_1 = require("crypto");
|
|
11
|
+
/**
|
|
12
|
+
* Redis-backed state manager for agent execution state
|
|
13
|
+
* Provides fast, distributed state management with automatic expiration
|
|
14
|
+
*/
|
|
15
|
+
class RedisStateManager {
|
|
16
|
+
constructor(config) {
|
|
17
|
+
if (!config.client) {
|
|
18
|
+
throw new Error('Redis client is required');
|
|
19
|
+
}
|
|
20
|
+
this.client = config.client;
|
|
21
|
+
this.keyPrefix = config.keyPrefix || 'agent:state:';
|
|
22
|
+
this.defaultTTL = config.defaultTTL || 3600; // 1 hour
|
|
23
|
+
this.completedTTL = config.completedTTL || 86400; // 24 hours
|
|
24
|
+
this.failedTTL = config.failedTTL || 604800; // 7 days
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get the Redis key for an execution context
|
|
28
|
+
*/
|
|
29
|
+
getKey(executionId) {
|
|
30
|
+
return `${this.keyPrefix}${executionId}`;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the Redis key for session contexts
|
|
34
|
+
*/
|
|
35
|
+
getSessionKey(sessionId) {
|
|
36
|
+
return `${this.keyPrefix}session:${sessionId}`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Serialize context to JSON
|
|
40
|
+
*/
|
|
41
|
+
serialize(context) {
|
|
42
|
+
return JSON.stringify(context, (key, value) => {
|
|
43
|
+
if (value instanceof Date) {
|
|
44
|
+
return value.toISOString();
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Deserialize context from JSON
|
|
51
|
+
*/
|
|
52
|
+
deserialize(data) {
|
|
53
|
+
const parsed = JSON.parse(data);
|
|
54
|
+
return {
|
|
55
|
+
...parsed,
|
|
56
|
+
createdAt: new Date(parsed.createdAt),
|
|
57
|
+
updatedAt: new Date(parsed.updatedAt),
|
|
58
|
+
steps: parsed.steps.map((step) => ({
|
|
59
|
+
...step,
|
|
60
|
+
timestamp: new Date(step.timestamp),
|
|
61
|
+
})),
|
|
62
|
+
memory: {
|
|
63
|
+
...parsed.memory,
|
|
64
|
+
conversationHistory: parsed.memory.conversationHistory.map((msg) => ({
|
|
65
|
+
...msg,
|
|
66
|
+
timestamp: new Date(msg.timestamp),
|
|
67
|
+
})),
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get TTL based on state
|
|
73
|
+
*/
|
|
74
|
+
getTTL(state) {
|
|
75
|
+
if (state === agent_types_1.AgentState.COMPLETED) {
|
|
76
|
+
return this.completedTTL;
|
|
77
|
+
}
|
|
78
|
+
if (state === agent_types_1.AgentState.FAILED) {
|
|
79
|
+
return this.failedTTL;
|
|
80
|
+
}
|
|
81
|
+
return this.defaultTTL;
|
|
82
|
+
}
|
|
83
|
+
async createContext(agentId, sessionId, input, userId, metadata) {
|
|
84
|
+
const executionId = (0, crypto_1.randomUUID)();
|
|
85
|
+
const now = new Date();
|
|
86
|
+
const context = {
|
|
87
|
+
executionId,
|
|
88
|
+
agentId,
|
|
89
|
+
sessionId,
|
|
90
|
+
userId,
|
|
91
|
+
input,
|
|
92
|
+
state: agent_types_1.AgentState.IDLE,
|
|
93
|
+
steps: [],
|
|
94
|
+
memory: {
|
|
95
|
+
conversationHistory: [],
|
|
96
|
+
workingMemory: {},
|
|
97
|
+
facts: [],
|
|
98
|
+
entities: [],
|
|
99
|
+
},
|
|
100
|
+
metadata: metadata || {},
|
|
101
|
+
createdAt: now,
|
|
102
|
+
updatedAt: now,
|
|
103
|
+
};
|
|
104
|
+
const key = this.getKey(executionId);
|
|
105
|
+
const serialized = this.serialize(context);
|
|
106
|
+
const ttl = this.getTTL(context.state);
|
|
107
|
+
// Store context
|
|
108
|
+
await this.client.setEx(key, ttl, serialized);
|
|
109
|
+
// Add to session index
|
|
110
|
+
await this.client.sAdd(this.getSessionKey(sessionId), executionId);
|
|
111
|
+
await this.client.expire(this.getSessionKey(sessionId), ttl);
|
|
112
|
+
return context;
|
|
113
|
+
}
|
|
114
|
+
async getContext(executionId) {
|
|
115
|
+
const key = this.getKey(executionId);
|
|
116
|
+
const data = await this.client.get(key);
|
|
117
|
+
if (!data) {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
return this.deserialize(data);
|
|
121
|
+
}
|
|
122
|
+
async updateState(executionId, newState) {
|
|
123
|
+
const context = await this.getContext(executionId);
|
|
124
|
+
if (!context) {
|
|
125
|
+
throw new Error(`Execution context ${executionId} not found`);
|
|
126
|
+
}
|
|
127
|
+
context.state = newState;
|
|
128
|
+
context.updatedAt = new Date();
|
|
129
|
+
const key = this.getKey(executionId);
|
|
130
|
+
const serialized = this.serialize(context);
|
|
131
|
+
const ttl = this.getTTL(newState);
|
|
132
|
+
await this.client.setEx(key, ttl, serialized);
|
|
133
|
+
}
|
|
134
|
+
async addStep(executionId, step) {
|
|
135
|
+
const context = await this.getContext(executionId);
|
|
136
|
+
if (!context) {
|
|
137
|
+
throw new Error(`Execution context ${executionId} not found`);
|
|
138
|
+
}
|
|
139
|
+
context.steps.push(step);
|
|
140
|
+
context.updatedAt = new Date();
|
|
141
|
+
const key = this.getKey(executionId);
|
|
142
|
+
const serialized = this.serialize(context);
|
|
143
|
+
const ttl = this.getTTL(context.state);
|
|
144
|
+
await this.client.setEx(key, ttl, serialized);
|
|
145
|
+
}
|
|
146
|
+
async updateLastStep(executionId, updates) {
|
|
147
|
+
const context = await this.getContext(executionId);
|
|
148
|
+
if (!context) {
|
|
149
|
+
throw new Error(`Execution context ${executionId} not found`);
|
|
150
|
+
}
|
|
151
|
+
if (context.steps.length === 0) {
|
|
152
|
+
throw new Error('No steps to update');
|
|
153
|
+
}
|
|
154
|
+
const lastStep = context.steps[context.steps.length - 1];
|
|
155
|
+
Object.assign(lastStep, updates);
|
|
156
|
+
context.updatedAt = new Date();
|
|
157
|
+
const key = this.getKey(executionId);
|
|
158
|
+
const serialized = this.serialize(context);
|
|
159
|
+
const ttl = this.getTTL(context.state);
|
|
160
|
+
await this.client.setEx(key, ttl, serialized);
|
|
161
|
+
}
|
|
162
|
+
async addMessage(executionId, role, content) {
|
|
163
|
+
const context = await this.getContext(executionId);
|
|
164
|
+
if (!context) {
|
|
165
|
+
throw new Error(`Execution context ${executionId} not found`);
|
|
166
|
+
}
|
|
167
|
+
context.memory.conversationHistory.push({
|
|
168
|
+
role,
|
|
169
|
+
content,
|
|
170
|
+
timestamp: new Date(),
|
|
171
|
+
});
|
|
172
|
+
context.updatedAt = new Date();
|
|
173
|
+
const key = this.getKey(executionId);
|
|
174
|
+
const serialized = this.serialize(context);
|
|
175
|
+
const ttl = this.getTTL(context.state);
|
|
176
|
+
await this.client.setEx(key, ttl, serialized);
|
|
177
|
+
}
|
|
178
|
+
async setWorkingMemory(executionId, key, value) {
|
|
179
|
+
const context = await this.getContext(executionId);
|
|
180
|
+
if (!context) {
|
|
181
|
+
throw new Error(`Execution context ${executionId} not found`);
|
|
182
|
+
}
|
|
183
|
+
context.memory.workingMemory[key] = value;
|
|
184
|
+
context.updatedAt = new Date();
|
|
185
|
+
const redisKey = this.getKey(executionId);
|
|
186
|
+
const serialized = this.serialize(context);
|
|
187
|
+
const ttl = this.getTTL(context.state);
|
|
188
|
+
await this.client.setEx(redisKey, ttl, serialized);
|
|
189
|
+
}
|
|
190
|
+
async getWorkingMemory(executionId, key) {
|
|
191
|
+
const context = await this.getContext(executionId);
|
|
192
|
+
if (!context) {
|
|
193
|
+
throw new Error(`Execution context ${executionId} not found`);
|
|
194
|
+
}
|
|
195
|
+
return context.memory.workingMemory[key];
|
|
196
|
+
}
|
|
197
|
+
async addRAGContext(executionId, contexts) {
|
|
198
|
+
const context = await this.getContext(executionId);
|
|
199
|
+
if (!context) {
|
|
200
|
+
throw new Error(`Execution context ${executionId} not found`);
|
|
201
|
+
}
|
|
202
|
+
context.ragContext = contexts;
|
|
203
|
+
context.updatedAt = new Date();
|
|
204
|
+
const redisKey = this.getKey(executionId);
|
|
205
|
+
const serialized = this.serialize(context);
|
|
206
|
+
const ttl = this.getTTL(context.state);
|
|
207
|
+
await this.client.setEx(redisKey, ttl, serialized);
|
|
208
|
+
}
|
|
209
|
+
async canContinue(executionId, maxSteps) {
|
|
210
|
+
const context = await this.getContext(executionId);
|
|
211
|
+
if (!context) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
if (context.state === agent_types_1.AgentState.COMPLETED || context.state === agent_types_1.AgentState.FAILED) {
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
if (context.steps.length >= maxSteps) {
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
return true;
|
|
221
|
+
}
|
|
222
|
+
async deleteContext(executionId) {
|
|
223
|
+
const context = await this.getContext(executionId);
|
|
224
|
+
if (context) {
|
|
225
|
+
// Remove from session index
|
|
226
|
+
await this.client.sRem(this.getSessionKey(context.sessionId), executionId);
|
|
227
|
+
}
|
|
228
|
+
const key = this.getKey(executionId);
|
|
229
|
+
await this.client.del(key);
|
|
230
|
+
}
|
|
231
|
+
async clear() {
|
|
232
|
+
// Get all keys with prefix
|
|
233
|
+
const pattern = `${this.keyPrefix}*`;
|
|
234
|
+
const keys = await this.client.keys(pattern);
|
|
235
|
+
if (keys.length > 0) {
|
|
236
|
+
await this.client.del(...keys);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
async getSessionContexts(sessionId) {
|
|
240
|
+
const sessionKey = this.getSessionKey(sessionId);
|
|
241
|
+
const executionIds = await this.client.sMembers(sessionKey);
|
|
242
|
+
const contexts = [];
|
|
243
|
+
for (const executionId of executionIds) {
|
|
244
|
+
const context = await this.getContext(executionId);
|
|
245
|
+
if (context) {
|
|
246
|
+
contexts.push(context);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return contexts;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
exports.RedisStateManager = RedisStateManager;
|
|
253
|
+
//# sourceMappingURL=redis-state.manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-state.manager.js","sourceRoot":"","sources":["../../src/state/redis-state.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Agent Runtime Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Agent execution state
|
|
6
|
+
*/
|
|
7
|
+
export declare enum AgentState {
|
|
8
|
+
IDLE = "idle",
|
|
9
|
+
THINKING = "thinking",
|
|
10
|
+
USING_TOOL = "using_tool",
|
|
11
|
+
WAITING_FOR_INPUT = "waiting_for_input",
|
|
12
|
+
WAITING_FOR_APPROVAL = "waiting_for_approval",
|
|
13
|
+
COMPLETED = "completed",
|
|
14
|
+
FAILED = "failed"
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Agent execution step
|
|
18
|
+
*/
|
|
19
|
+
export interface AgentStep {
|
|
20
|
+
id: string;
|
|
21
|
+
agentId: string;
|
|
22
|
+
executionId: string;
|
|
23
|
+
stepNumber: number;
|
|
24
|
+
state: AgentState;
|
|
25
|
+
action?: AgentAction;
|
|
26
|
+
result?: AgentStepResult;
|
|
27
|
+
error?: Error;
|
|
28
|
+
timestamp: Date;
|
|
29
|
+
duration?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Agent action types
|
|
33
|
+
*/
|
|
34
|
+
export declare enum AgentActionType {
|
|
35
|
+
THINK = "think",
|
|
36
|
+
USE_TOOL = "use_tool",
|
|
37
|
+
ASK_USER = "ask_user",
|
|
38
|
+
RESPOND = "respond",
|
|
39
|
+
WAIT = "wait",
|
|
40
|
+
COMPLETE = "complete"
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Agent action
|
|
44
|
+
*/
|
|
45
|
+
export interface AgentAction {
|
|
46
|
+
type: AgentActionType;
|
|
47
|
+
toolName?: string;
|
|
48
|
+
toolInput?: Record<string, unknown>;
|
|
49
|
+
thought?: string;
|
|
50
|
+
question?: string;
|
|
51
|
+
response?: string;
|
|
52
|
+
waitReason?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Agent step result
|
|
56
|
+
*/
|
|
57
|
+
export interface AgentStepResult {
|
|
58
|
+
success: boolean;
|
|
59
|
+
output?: unknown;
|
|
60
|
+
error?: string;
|
|
61
|
+
metadata?: Record<string, unknown>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Agent execution context
|
|
65
|
+
*/
|
|
66
|
+
export interface AgentContext {
|
|
67
|
+
executionId: string;
|
|
68
|
+
agentId: string;
|
|
69
|
+
sessionId: string;
|
|
70
|
+
userId?: string;
|
|
71
|
+
input: string;
|
|
72
|
+
state: AgentState;
|
|
73
|
+
steps: AgentStep[];
|
|
74
|
+
memory: AgentMemoryContext;
|
|
75
|
+
ragContext?: string[];
|
|
76
|
+
metadata: Record<string, unknown>;
|
|
77
|
+
createdAt: Date;
|
|
78
|
+
updatedAt: Date;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Agent memory context
|
|
82
|
+
*/
|
|
83
|
+
export interface AgentMemoryContext {
|
|
84
|
+
conversationHistory: Array<{
|
|
85
|
+
role: 'user' | 'assistant' | 'system' | 'tool';
|
|
86
|
+
content: string;
|
|
87
|
+
timestamp: Date;
|
|
88
|
+
}>;
|
|
89
|
+
workingMemory: Record<string, unknown>;
|
|
90
|
+
facts: string[];
|
|
91
|
+
entities: Array<{
|
|
92
|
+
name: string;
|
|
93
|
+
type: string;
|
|
94
|
+
attributes: Record<string, unknown>;
|
|
95
|
+
}>;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Agent configuration
|
|
99
|
+
*/
|
|
100
|
+
export interface AgentConfig {
|
|
101
|
+
name: string;
|
|
102
|
+
description?: string;
|
|
103
|
+
systemPrompt?: string;
|
|
104
|
+
model?: string;
|
|
105
|
+
maxSteps?: number;
|
|
106
|
+
maxThinkingTime?: number;
|
|
107
|
+
temperature?: number;
|
|
108
|
+
enableMemory?: boolean;
|
|
109
|
+
enableRAG?: boolean;
|
|
110
|
+
ragTopK?: number;
|
|
111
|
+
tools?: string[];
|
|
112
|
+
policies?: string[];
|
|
113
|
+
metadata?: Record<string, unknown>;
|
|
114
|
+
}
|
|
115
|
+
type NewableFunction = new (...args: unknown[]) => unknown;
|
|
116
|
+
/**
|
|
117
|
+
* Agent metadata stored via decorator
|
|
118
|
+
*/
|
|
119
|
+
export interface AgentMetadata extends AgentConfig {
|
|
120
|
+
target: NewableFunction;
|
|
121
|
+
instance?: unknown;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Agent execution options
|
|
125
|
+
*/
|
|
126
|
+
export interface AgentExecutionOptions {
|
|
127
|
+
sessionId?: string;
|
|
128
|
+
userId?: string;
|
|
129
|
+
maxSteps?: number;
|
|
130
|
+
timeout?: number;
|
|
131
|
+
enableMemory?: boolean;
|
|
132
|
+
enableRAG?: boolean;
|
|
133
|
+
initialContext?: Record<string, unknown>;
|
|
134
|
+
metadata?: Record<string, unknown>;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Agent execution result
|
|
138
|
+
*/
|
|
139
|
+
export interface AgentExecutionResult {
|
|
140
|
+
executionId: string;
|
|
141
|
+
agentId: string;
|
|
142
|
+
state: AgentState;
|
|
143
|
+
response?: string;
|
|
144
|
+
steps: AgentStep[];
|
|
145
|
+
error?: Error;
|
|
146
|
+
metadata: Record<string, unknown>;
|
|
147
|
+
duration: number;
|
|
148
|
+
completedAt: Date;
|
|
149
|
+
}
|
|
150
|
+
export {};
|
|
151
|
+
//# sourceMappingURL=agent.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.types.d.ts","sourceRoot":"","sources":["../../src/types/agent.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core Agent Runtime Types
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AgentActionType = exports.AgentState = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Agent execution state
|
|
9
|
+
*/
|
|
10
|
+
var AgentState;
|
|
11
|
+
(function (AgentState) {
|
|
12
|
+
AgentState["IDLE"] = "idle";
|
|
13
|
+
AgentState["THINKING"] = "thinking";
|
|
14
|
+
AgentState["USING_TOOL"] = "using_tool";
|
|
15
|
+
AgentState["WAITING_FOR_INPUT"] = "waiting_for_input";
|
|
16
|
+
AgentState["WAITING_FOR_APPROVAL"] = "waiting_for_approval";
|
|
17
|
+
AgentState["COMPLETED"] = "completed";
|
|
18
|
+
AgentState["FAILED"] = "failed";
|
|
19
|
+
})(AgentState || (exports.AgentState = AgentState = {}));
|
|
20
|
+
/**
|
|
21
|
+
* Agent action types
|
|
22
|
+
*/
|
|
23
|
+
var AgentActionType;
|
|
24
|
+
(function (AgentActionType) {
|
|
25
|
+
AgentActionType["THINK"] = "think";
|
|
26
|
+
AgentActionType["USE_TOOL"] = "use_tool";
|
|
27
|
+
AgentActionType["ASK_USER"] = "ask_user";
|
|
28
|
+
AgentActionType["RESPOND"] = "respond";
|
|
29
|
+
AgentActionType["WAIT"] = "wait";
|
|
30
|
+
AgentActionType["COMPLETE"] = "complete";
|
|
31
|
+
})(AgentActionType || (exports.AgentActionType = AgentActionType = {}));
|
|
32
|
+
//# sourceMappingURL=agent.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.types.js","sourceRoot":"","sources":["../../src/types/agent.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;IACzB,qDAAuC,CAAA;IACvC,2DAA6C,CAAA;IAC7C,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;AACnB,CAAC,EARW,UAAU,0BAAV,UAAU,QAQrB;AAkBD;;GAEG;AACH,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,wCAAqB,CAAA;AACvB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Runtime Event Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Event types emitted by the agent runtime
|
|
6
|
+
*/
|
|
7
|
+
export declare enum AgentEventType {
|
|
8
|
+
EXECUTION_STARTED = "agent.execution.started",
|
|
9
|
+
EXECUTION_COMPLETED = "agent.execution.completed",
|
|
10
|
+
EXECUTION_FAILED = "agent.execution.failed",
|
|
11
|
+
STEP_STARTED = "agent.step.started",
|
|
12
|
+
STEP_COMPLETED = "agent.step.completed",
|
|
13
|
+
STEP_FAILED = "agent.step.failed",
|
|
14
|
+
STATE_CHANGED = "agent.state.changed",
|
|
15
|
+
TOOL_EXECUTION_STARTED = "tool.execution.started",
|
|
16
|
+
TOOL_EXECUTION_COMPLETED = "tool.execution.completed",
|
|
17
|
+
TOOL_EXECUTION_FAILED = "tool.execution.failed",
|
|
18
|
+
TOOL_APPROVAL_REQUESTED = "tool.approval.requested",
|
|
19
|
+
TOOL_APPROVAL_GRANTED = "tool.approval.granted",
|
|
20
|
+
TOOL_APPROVAL_DENIED = "tool.approval.denied",
|
|
21
|
+
USER_INPUT_REQUESTED = "agent.input.requested",
|
|
22
|
+
USER_INPUT_RECEIVED = "agent.input.received",
|
|
23
|
+
MEMORY_UPDATED = "agent.memory.updated",
|
|
24
|
+
RAG_QUERY_EXECUTED = "agent.rag.executed"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Base event interface
|
|
28
|
+
*/
|
|
29
|
+
export interface AgentEvent<T = unknown> {
|
|
30
|
+
type: AgentEventType;
|
|
31
|
+
agentId: string;
|
|
32
|
+
executionId: string;
|
|
33
|
+
timestamp: Date;
|
|
34
|
+
data: T;
|
|
35
|
+
metadata?: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Execution started event
|
|
39
|
+
*/
|
|
40
|
+
export interface ExecutionStartedEvent {
|
|
41
|
+
input: string;
|
|
42
|
+
sessionId: string;
|
|
43
|
+
userId?: string;
|
|
44
|
+
options: Record<string, unknown>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Execution completed event
|
|
48
|
+
*/
|
|
49
|
+
export interface ExecutionCompletedEvent {
|
|
50
|
+
response: string;
|
|
51
|
+
steps: number;
|
|
52
|
+
duration: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Execution failed event
|
|
56
|
+
*/
|
|
57
|
+
export interface ExecutionFailedEvent {
|
|
58
|
+
error: Error;
|
|
59
|
+
step?: number;
|
|
60
|
+
duration: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Step event data
|
|
64
|
+
*/
|
|
65
|
+
export interface StepEventData {
|
|
66
|
+
stepNumber: number;
|
|
67
|
+
state: string;
|
|
68
|
+
action?: Record<string, unknown>;
|
|
69
|
+
result?: Record<string, unknown>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* State changed event
|
|
73
|
+
*/
|
|
74
|
+
export interface StateChangedEvent {
|
|
75
|
+
previousState: string;
|
|
76
|
+
newState: string;
|
|
77
|
+
reason?: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Tool execution event
|
|
81
|
+
*/
|
|
82
|
+
export interface ToolExecutionEventData {
|
|
83
|
+
toolName: string;
|
|
84
|
+
input: Record<string, unknown>;
|
|
85
|
+
output?: unknown;
|
|
86
|
+
error?: string;
|
|
87
|
+
duration?: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Tool approval event
|
|
91
|
+
*/
|
|
92
|
+
export interface ToolApprovalEventData {
|
|
93
|
+
requestId: string;
|
|
94
|
+
toolName: string;
|
|
95
|
+
input: Record<string, unknown>;
|
|
96
|
+
approvedBy?: string;
|
|
97
|
+
reason?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* User input event
|
|
101
|
+
*/
|
|
102
|
+
export interface UserInputEventData {
|
|
103
|
+
question: string;
|
|
104
|
+
response?: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Memory update event
|
|
108
|
+
*/
|
|
109
|
+
export interface MemoryUpdateEventData {
|
|
110
|
+
type: 'conversation' | 'fact' | 'entity' | 'working';
|
|
111
|
+
content: string;
|
|
112
|
+
sessionId: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* RAG query event
|
|
116
|
+
*/
|
|
117
|
+
export interface RAGQueryEventData {
|
|
118
|
+
query: string;
|
|
119
|
+
results: string[];
|
|
120
|
+
topK: number;
|
|
121
|
+
duration: number;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=event.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.types.d.ts","sourceRoot":"","sources":["../../src/types/event.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent Runtime Event Types
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AgentEventType = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Event types emitted by the agent runtime
|
|
9
|
+
*/
|
|
10
|
+
var AgentEventType;
|
|
11
|
+
(function (AgentEventType) {
|
|
12
|
+
AgentEventType["EXECUTION_STARTED"] = "agent.execution.started";
|
|
13
|
+
AgentEventType["EXECUTION_COMPLETED"] = "agent.execution.completed";
|
|
14
|
+
AgentEventType["EXECUTION_FAILED"] = "agent.execution.failed";
|
|
15
|
+
AgentEventType["STEP_STARTED"] = "agent.step.started";
|
|
16
|
+
AgentEventType["STEP_COMPLETED"] = "agent.step.completed";
|
|
17
|
+
AgentEventType["STEP_FAILED"] = "agent.step.failed";
|
|
18
|
+
AgentEventType["STATE_CHANGED"] = "agent.state.changed";
|
|
19
|
+
AgentEventType["TOOL_EXECUTION_STARTED"] = "tool.execution.started";
|
|
20
|
+
AgentEventType["TOOL_EXECUTION_COMPLETED"] = "tool.execution.completed";
|
|
21
|
+
AgentEventType["TOOL_EXECUTION_FAILED"] = "tool.execution.failed";
|
|
22
|
+
AgentEventType["TOOL_APPROVAL_REQUESTED"] = "tool.approval.requested";
|
|
23
|
+
AgentEventType["TOOL_APPROVAL_GRANTED"] = "tool.approval.granted";
|
|
24
|
+
AgentEventType["TOOL_APPROVAL_DENIED"] = "tool.approval.denied";
|
|
25
|
+
AgentEventType["USER_INPUT_REQUESTED"] = "agent.input.requested";
|
|
26
|
+
AgentEventType["USER_INPUT_RECEIVED"] = "agent.input.received";
|
|
27
|
+
AgentEventType["MEMORY_UPDATED"] = "agent.memory.updated";
|
|
28
|
+
AgentEventType["RAG_QUERY_EXECUTED"] = "agent.rag.executed";
|
|
29
|
+
})(AgentEventType || (exports.AgentEventType = AgentEventType = {}));
|
|
30
|
+
//# sourceMappingURL=event.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.types.js","sourceRoot":"","sources":["../../src/types/event.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,IAAY,cAkBX;AAlBD,WAAY,cAAc;IACxB,+DAA6C,CAAA;IAC7C,mEAAiD,CAAA;IACjD,6DAA2C,CAAA;IAC3C,qDAAmC,CAAA;IACnC,yDAAuC,CAAA;IACvC,mDAAiC,CAAA;IACjC,uDAAqC,CAAA;IACrC,mEAAiD,CAAA;IACjD,uEAAqD,CAAA;IACrD,iEAA+C,CAAA;IAC/C,qEAAmD,CAAA;IACnD,iEAA+C,CAAA;IAC/C,+DAA6C,CAAA;IAC7C,gEAA8C,CAAA;IAC9C,8DAA4C,CAAA;IAC5C,yDAAuC,CAAA;IACvC,2DAAyC,CAAA;AAC3C,CAAC,EAlBW,cAAc,8BAAd,cAAc,QAkBzB"}
|