@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.
Files changed (117) hide show
  1. package/IMPLEMENTATION_SUMMARY.md +400 -0
  2. package/PERSISTENCE.md +201 -0
  3. package/PRISMA_INTEGRATION.md +499 -0
  4. package/PRODUCTION_READINESS.md +264 -0
  5. package/QUICKSTART.md +135 -0
  6. package/README.md +427 -0
  7. package/STATE_VS_MEMORY.md +243 -0
  8. package/dist/agent.module.d.ts +42 -0
  9. package/dist/agent.module.d.ts.map +1 -0
  10. package/dist/agent.module.js +90 -0
  11. package/dist/agent.module.js.map +1 -0
  12. package/dist/context/agent.context.d.ts +27 -0
  13. package/dist/context/agent.context.d.ts.map +1 -0
  14. package/dist/context/agent.context.js +98 -0
  15. package/dist/context/agent.context.js.map +1 -0
  16. package/dist/decorators/agent.decorator.d.ts +21 -0
  17. package/dist/decorators/agent.decorator.d.ts.map +1 -0
  18. package/dist/decorators/agent.decorator.js +38 -0
  19. package/dist/decorators/agent.decorator.js.map +1 -0
  20. package/dist/decorators/tool.decorator.d.ts +23 -0
  21. package/dist/decorators/tool.decorator.d.ts.map +1 -0
  22. package/dist/decorators/tool.decorator.js +61 -0
  23. package/dist/decorators/tool.decorator.js.map +1 -0
  24. package/dist/events/event.emitter.d.ts +45 -0
  25. package/dist/events/event.emitter.d.ts.map +1 -0
  26. package/dist/events/event.emitter.js +96 -0
  27. package/dist/events/event.emitter.js.map +1 -0
  28. package/dist/executor/agent.executor.d.ts +57 -0
  29. package/dist/executor/agent.executor.d.ts.map +1 -0
  30. package/dist/executor/agent.executor.js +303 -0
  31. package/dist/executor/agent.executor.js.map +1 -0
  32. package/dist/executor/tool.executor.d.ts +53 -0
  33. package/dist/executor/tool.executor.d.ts.map +1 -0
  34. package/dist/executor/tool.executor.js +234 -0
  35. package/dist/executor/tool.executor.js.map +1 -0
  36. package/dist/index.d.ts +30 -0
  37. package/dist/index.d.ts.map +1 -0
  38. package/dist/index.js +46 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/registry/agent.registry.d.ts +49 -0
  41. package/dist/registry/agent.registry.d.ts.map +1 -0
  42. package/dist/registry/agent.registry.js +90 -0
  43. package/dist/registry/agent.registry.js.map +1 -0
  44. package/dist/registry/tool.registry.d.ts +54 -0
  45. package/dist/registry/tool.registry.d.ts.map +1 -0
  46. package/dist/registry/tool.registry.js +153 -0
  47. package/dist/registry/tool.registry.js.map +1 -0
  48. package/dist/runtime/agent.runtime.d.ts +155 -0
  49. package/dist/runtime/agent.runtime.d.ts.map +1 -0
  50. package/dist/runtime/agent.runtime.extensions.d.ts +49 -0
  51. package/dist/runtime/agent.runtime.extensions.d.ts.map +1 -0
  52. package/dist/runtime/agent.runtime.extensions.js +93 -0
  53. package/dist/runtime/agent.runtime.extensions.js.map +1 -0
  54. package/dist/runtime/agent.runtime.js +347 -0
  55. package/dist/runtime/agent.runtime.js.map +1 -0
  56. package/dist/state/agent-state.interface.d.ts +63 -0
  57. package/dist/state/agent-state.interface.d.ts.map +1 -0
  58. package/dist/state/agent-state.interface.js +7 -0
  59. package/dist/state/agent-state.interface.js.map +1 -0
  60. package/dist/state/agent.state.d.ts +67 -0
  61. package/dist/state/agent.state.d.ts.map +1 -0
  62. package/dist/state/agent.state.js +172 -0
  63. package/dist/state/agent.state.js.map +1 -0
  64. package/dist/state/database-state.manager.d.ts +63 -0
  65. package/dist/state/database-state.manager.d.ts.map +1 -0
  66. package/dist/state/database-state.manager.js +282 -0
  67. package/dist/state/database-state.manager.js.map +1 -0
  68. package/dist/state/redis-state.manager.d.ts +81 -0
  69. package/dist/state/redis-state.manager.d.ts.map +1 -0
  70. package/dist/state/redis-state.manager.js +253 -0
  71. package/dist/state/redis-state.manager.js.map +1 -0
  72. package/dist/types/agent.types.d.ts +151 -0
  73. package/dist/types/agent.types.d.ts.map +1 -0
  74. package/dist/types/agent.types.js +32 -0
  75. package/dist/types/agent.types.js.map +1 -0
  76. package/dist/types/event.types.d.ts +123 -0
  77. package/dist/types/event.types.d.ts.map +1 -0
  78. package/dist/types/event.types.js +30 -0
  79. package/dist/types/event.types.js.map +1 -0
  80. package/dist/types/llm.types.d.ts +66 -0
  81. package/dist/types/llm.types.d.ts.map +1 -0
  82. package/dist/types/llm.types.js +7 -0
  83. package/dist/types/llm.types.js.map +1 -0
  84. package/dist/types/rag.types.d.ts +40 -0
  85. package/dist/types/rag.types.d.ts.map +1 -0
  86. package/dist/types/rag.types.js +7 -0
  87. package/dist/types/rag.types.js.map +1 -0
  88. package/dist/types/tool.types.d.ts +118 -0
  89. package/dist/types/tool.types.d.ts.map +1 -0
  90. package/dist/types/tool.types.js +19 -0
  91. package/dist/types/tool.types.js.map +1 -0
  92. package/dist/utils/circuit-breaker.d.ts +69 -0
  93. package/dist/utils/circuit-breaker.d.ts.map +1 -0
  94. package/dist/utils/circuit-breaker.js +156 -0
  95. package/dist/utils/circuit-breaker.js.map +1 -0
  96. package/dist/utils/health-check.d.ts +71 -0
  97. package/dist/utils/health-check.d.ts.map +1 -0
  98. package/dist/utils/health-check.js +156 -0
  99. package/dist/utils/health-check.js.map +1 -0
  100. package/dist/utils/logger.d.ts +53 -0
  101. package/dist/utils/logger.d.ts.map +1 -0
  102. package/dist/utils/logger.js +133 -0
  103. package/dist/utils/logger.js.map +1 -0
  104. package/dist/utils/metrics.d.ts +90 -0
  105. package/dist/utils/metrics.d.ts.map +1 -0
  106. package/dist/utils/metrics.js +186 -0
  107. package/dist/utils/metrics.js.map +1 -0
  108. package/dist/utils/rate-limiter.d.ts +44 -0
  109. package/dist/utils/rate-limiter.d.ts.map +1 -0
  110. package/dist/utils/rate-limiter.js +82 -0
  111. package/dist/utils/rate-limiter.js.map +1 -0
  112. package/dist/utils/retry.d.ts +42 -0
  113. package/dist/utils/retry.d.ts.map +1 -0
  114. package/dist/utils/retry.js +103 -0
  115. package/dist/utils/retry.js.map +1 -0
  116. package/package.json +58 -0
  117. 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"}