@ggakila/agentx-framework 0.1.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.
Files changed (228) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/LICENSE +21 -0
  3. package/README.md +335 -0
  4. package/dist/agent/Agent.d.ts +110 -0
  5. package/dist/agent/Agent.d.ts.map +1 -0
  6. package/dist/agent/Agent.js +291 -0
  7. package/dist/agent/Agent.js.map +1 -0
  8. package/dist/agent/index.d.ts +5 -0
  9. package/dist/agent/index.d.ts.map +1 -0
  10. package/dist/agent/index.js +11 -0
  11. package/dist/agent/index.js.map +1 -0
  12. package/dist/cli/CLI.d.ts +74 -0
  13. package/dist/cli/CLI.d.ts.map +1 -0
  14. package/dist/cli/CLI.js +255 -0
  15. package/dist/cli/CLI.js.map +1 -0
  16. package/dist/cli/InteractiveSetup.d.ts +104 -0
  17. package/dist/cli/InteractiveSetup.d.ts.map +1 -0
  18. package/dist/cli/InteractiveSetup.js +2225 -0
  19. package/dist/cli/InteractiveSetup.js.map +1 -0
  20. package/dist/cli/bin.d.ts +7 -0
  21. package/dist/cli/bin.d.ts.map +1 -0
  22. package/dist/cli/bin.js +35 -0
  23. package/dist/cli/bin.js.map +1 -0
  24. package/dist/cli/commands/ProjectCommands.d.ts +23 -0
  25. package/dist/cli/commands/ProjectCommands.d.ts.map +1 -0
  26. package/dist/cli/commands/ProjectCommands.js +504 -0
  27. package/dist/cli/commands/ProjectCommands.js.map +1 -0
  28. package/dist/cli/index.d.ts +7 -0
  29. package/dist/cli/index.d.ts.map +1 -0
  30. package/dist/cli/index.js +21 -0
  31. package/dist/cli/index.js.map +1 -0
  32. package/dist/credential/CredentialManager.d.ts +112 -0
  33. package/dist/credential/CredentialManager.d.ts.map +1 -0
  34. package/dist/credential/CredentialManager.js +343 -0
  35. package/dist/credential/CredentialManager.js.map +1 -0
  36. package/dist/credential/OAuth2Manager.d.ts +206 -0
  37. package/dist/credential/OAuth2Manager.d.ts.map +1 -0
  38. package/dist/credential/OAuth2Manager.js +463 -0
  39. package/dist/credential/OAuth2Manager.js.map +1 -0
  40. package/dist/credential/index.d.ts +6 -0
  41. package/dist/credential/index.d.ts.map +1 -0
  42. package/dist/credential/index.js +16 -0
  43. package/dist/credential/index.js.map +1 -0
  44. package/dist/error/ErrorHandler.d.ts +74 -0
  45. package/dist/error/ErrorHandler.d.ts.map +1 -0
  46. package/dist/error/ErrorHandler.js +279 -0
  47. package/dist/error/ErrorHandler.js.map +1 -0
  48. package/dist/index.d.ts +30 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +100 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/integrations/DatabaseTool.d.ts +149 -0
  53. package/dist/integrations/DatabaseTool.d.ts.map +1 -0
  54. package/dist/integrations/DatabaseTool.js +900 -0
  55. package/dist/integrations/DatabaseTool.js.map +1 -0
  56. package/dist/integrations/EmailTool.d.ts +142 -0
  57. package/dist/integrations/EmailTool.d.ts.map +1 -0
  58. package/dist/integrations/EmailTool.js +259 -0
  59. package/dist/integrations/EmailTool.js.map +1 -0
  60. package/dist/integrations/FileSystemTool.d.ts +153 -0
  61. package/dist/integrations/FileSystemTool.d.ts.map +1 -0
  62. package/dist/integrations/FileSystemTool.js +835 -0
  63. package/dist/integrations/FileSystemTool.js.map +1 -0
  64. package/dist/integrations/GoogleWorkspaceTool.d.ts +125 -0
  65. package/dist/integrations/GoogleWorkspaceTool.d.ts.map +1 -0
  66. package/dist/integrations/GoogleWorkspaceTool.js +765 -0
  67. package/dist/integrations/GoogleWorkspaceTool.js.map +1 -0
  68. package/dist/integrations/HttpTool.d.ts +55 -0
  69. package/dist/integrations/HttpTool.d.ts.map +1 -0
  70. package/dist/integrations/HttpTool.js +209 -0
  71. package/dist/integrations/HttpTool.js.map +1 -0
  72. package/dist/integrations/MessagingTool.d.ts +136 -0
  73. package/dist/integrations/MessagingTool.d.ts.map +1 -0
  74. package/dist/integrations/MessagingTool.js +503 -0
  75. package/dist/integrations/MessagingTool.js.map +1 -0
  76. package/dist/integrations/SchedulerTool.d.ts +147 -0
  77. package/dist/integrations/SchedulerTool.d.ts.map +1 -0
  78. package/dist/integrations/SchedulerTool.js +471 -0
  79. package/dist/integrations/SchedulerTool.js.map +1 -0
  80. package/dist/integrations/WebhookTool.d.ts +97 -0
  81. package/dist/integrations/WebhookTool.d.ts.map +1 -0
  82. package/dist/integrations/WebhookTool.js +351 -0
  83. package/dist/integrations/WebhookTool.js.map +1 -0
  84. package/dist/integrations/index.d.ts +13 -0
  85. package/dist/integrations/index.d.ts.map +1 -0
  86. package/dist/integrations/index.js +60 -0
  87. package/dist/integrations/index.js.map +1 -0
  88. package/dist/llm/LLMProvider.d.ts +83 -0
  89. package/dist/llm/LLMProvider.d.ts.map +1 -0
  90. package/dist/llm/LLMProvider.js +370 -0
  91. package/dist/llm/LLMProvider.js.map +1 -0
  92. package/dist/llm/index.d.ts +5 -0
  93. package/dist/llm/index.d.ts.map +1 -0
  94. package/dist/llm/index.js +14 -0
  95. package/dist/llm/index.js.map +1 -0
  96. package/dist/payment/PaymentProvider.d.ts +157 -0
  97. package/dist/payment/PaymentProvider.d.ts.map +1 -0
  98. package/dist/payment/PaymentProvider.js +525 -0
  99. package/dist/payment/PaymentProvider.js.map +1 -0
  100. package/dist/payment/index.d.ts +5 -0
  101. package/dist/payment/index.d.ts.map +1 -0
  102. package/dist/payment/index.js +16 -0
  103. package/dist/payment/index.js.map +1 -0
  104. package/dist/plugin/PluginManager.d.ts +156 -0
  105. package/dist/plugin/PluginManager.d.ts.map +1 -0
  106. package/dist/plugin/PluginManager.js +288 -0
  107. package/dist/plugin/PluginManager.js.map +1 -0
  108. package/dist/plugin/index.d.ts +5 -0
  109. package/dist/plugin/index.d.ts.map +1 -0
  110. package/dist/plugin/index.js +10 -0
  111. package/dist/plugin/index.js.map +1 -0
  112. package/dist/runtime/AgentXRuntime.d.ts +90 -0
  113. package/dist/runtime/AgentXRuntime.d.ts.map +1 -0
  114. package/dist/runtime/AgentXRuntime.js +469 -0
  115. package/dist/runtime/AgentXRuntime.js.map +1 -0
  116. package/dist/security/SecurityManager.d.ts +245 -0
  117. package/dist/security/SecurityManager.d.ts.map +1 -0
  118. package/dist/security/SecurityManager.js +512 -0
  119. package/dist/security/SecurityManager.js.map +1 -0
  120. package/dist/security/index.d.ts +5 -0
  121. package/dist/security/index.d.ts.map +1 -0
  122. package/dist/security/index.js +14 -0
  123. package/dist/security/index.js.map +1 -0
  124. package/dist/tool/ToolRegistry.d.ts +58 -0
  125. package/dist/tool/ToolRegistry.d.ts.map +1 -0
  126. package/dist/tool/ToolRegistry.js +173 -0
  127. package/dist/tool/ToolRegistry.js.map +1 -0
  128. package/dist/tool/ToolValidator.d.ts +41 -0
  129. package/dist/tool/ToolValidator.d.ts.map +1 -0
  130. package/dist/tool/ToolValidator.js +158 -0
  131. package/dist/tool/ToolValidator.js.map +1 -0
  132. package/dist/tool/index.d.ts +6 -0
  133. package/dist/tool/index.d.ts.map +1 -0
  134. package/dist/tool/index.js +11 -0
  135. package/dist/tool/index.js.map +1 -0
  136. package/dist/transport/BaseTransport.d.ts +66 -0
  137. package/dist/transport/BaseTransport.d.ts.map +1 -0
  138. package/dist/transport/BaseTransport.js +103 -0
  139. package/dist/transport/BaseTransport.js.map +1 -0
  140. package/dist/transport/HttpTransport.d.ts +41 -0
  141. package/dist/transport/HttpTransport.d.ts.map +1 -0
  142. package/dist/transport/HttpTransport.js +160 -0
  143. package/dist/transport/HttpTransport.js.map +1 -0
  144. package/dist/transport/LocalTransport.d.ts +40 -0
  145. package/dist/transport/LocalTransport.d.ts.map +1 -0
  146. package/dist/transport/LocalTransport.js +157 -0
  147. package/dist/transport/LocalTransport.js.map +1 -0
  148. package/dist/transport/QueueTransport.d.ts +63 -0
  149. package/dist/transport/QueueTransport.d.ts.map +1 -0
  150. package/dist/transport/QueueTransport.js +194 -0
  151. package/dist/transport/QueueTransport.js.map +1 -0
  152. package/dist/transport/StdioTransport.d.ts +51 -0
  153. package/dist/transport/StdioTransport.d.ts.map +1 -0
  154. package/dist/transport/StdioTransport.js +216 -0
  155. package/dist/transport/StdioTransport.js.map +1 -0
  156. package/dist/transport/TransportFactory.d.ts +35 -0
  157. package/dist/transport/TransportFactory.d.ts.map +1 -0
  158. package/dist/transport/TransportFactory.js +100 -0
  159. package/dist/transport/TransportFactory.js.map +1 -0
  160. package/dist/transport/index.d.ts +10 -0
  161. package/dist/transport/index.d.ts.map +1 -0
  162. package/dist/transport/index.js +19 -0
  163. package/dist/transport/index.js.map +1 -0
  164. package/dist/types/agent.d.ts +66 -0
  165. package/dist/types/agent.d.ts.map +1 -0
  166. package/dist/types/agent.js +3 -0
  167. package/dist/types/agent.js.map +1 -0
  168. package/dist/types/config.d.ts +60 -0
  169. package/dist/types/config.d.ts.map +1 -0
  170. package/dist/types/config.js +6 -0
  171. package/dist/types/config.js.map +1 -0
  172. package/dist/types/credential.d.ts +38 -0
  173. package/dist/types/credential.d.ts.map +1 -0
  174. package/dist/types/credential.js +3 -0
  175. package/dist/types/credential.js.map +1 -0
  176. package/dist/types/error.d.ts +136 -0
  177. package/dist/types/error.d.ts.map +1 -0
  178. package/dist/types/error.js +223 -0
  179. package/dist/types/error.js.map +1 -0
  180. package/dist/types/index.d.ts +10 -0
  181. package/dist/types/index.d.ts.map +1 -0
  182. package/dist/types/index.js +27 -0
  183. package/dist/types/index.js.map +1 -0
  184. package/dist/types/llm.d.ts +43 -0
  185. package/dist/types/llm.d.ts.map +1 -0
  186. package/dist/types/llm.js +3 -0
  187. package/dist/types/llm.js.map +1 -0
  188. package/dist/types/payment.d.ts +129 -0
  189. package/dist/types/payment.d.ts.map +1 -0
  190. package/dist/types/payment.js +6 -0
  191. package/dist/types/payment.js.map +1 -0
  192. package/dist/types/runtime.d.ts +31 -0
  193. package/dist/types/runtime.d.ts.map +1 -0
  194. package/dist/types/runtime.js +3 -0
  195. package/dist/types/runtime.js.map +1 -0
  196. package/dist/types/tool.d.ts +72 -0
  197. package/dist/types/tool.d.ts.map +1 -0
  198. package/dist/types/tool.js +3 -0
  199. package/dist/types/tool.js.map +1 -0
  200. package/dist/types/transport.d.ts +53 -0
  201. package/dist/types/transport.d.ts.map +1 -0
  202. package/dist/types/transport.js +3 -0
  203. package/dist/types/transport.js.map +1 -0
  204. package/dist/types/workflow.d.ts +72 -0
  205. package/dist/types/workflow.d.ts.map +1 -0
  206. package/dist/types/workflow.js +6 -0
  207. package/dist/types/workflow.js.map +1 -0
  208. package/dist/utils/factory.d.ts +14 -0
  209. package/dist/utils/factory.d.ts.map +1 -0
  210. package/dist/utils/factory.js +146 -0
  211. package/dist/utils/factory.js.map +1 -0
  212. package/dist/workflow/StateManager.d.ts +93 -0
  213. package/dist/workflow/StateManager.d.ts.map +1 -0
  214. package/dist/workflow/StateManager.js +223 -0
  215. package/dist/workflow/StateManager.js.map +1 -0
  216. package/dist/workflow/WorkflowDefinition.d.ts +49 -0
  217. package/dist/workflow/WorkflowDefinition.d.ts.map +1 -0
  218. package/dist/workflow/WorkflowDefinition.js +264 -0
  219. package/dist/workflow/WorkflowDefinition.js.map +1 -0
  220. package/dist/workflow/WorkflowExecutor.d.ts +42 -0
  221. package/dist/workflow/WorkflowExecutor.d.ts.map +1 -0
  222. package/dist/workflow/WorkflowExecutor.js +372 -0
  223. package/dist/workflow/WorkflowExecutor.js.map +1 -0
  224. package/dist/workflow/index.d.ts +7 -0
  225. package/dist/workflow/index.d.ts.map +1 -0
  226. package/dist/workflow/index.js +17 -0
  227. package/dist/workflow/index.js.map +1 -0
  228. package/package.json +122 -0
@@ -0,0 +1,469 @@
1
+ "use strict";
2
+ /**
3
+ * AgentX Core Runtime Implementation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AgentXRuntime = void 0;
7
+ const events_1 = require("events");
8
+ const uuid_1 = require("uuid");
9
+ const error_1 = require("../types/error");
10
+ class AgentXRuntime extends events_1.EventEmitter {
11
+ _config;
12
+ logger;
13
+ metrics;
14
+ isStarted = false;
15
+ startedAt = undefined;
16
+ // Component managers (will be injected)
17
+ _workflowManager; // WorkflowManager
18
+ _toolManager; // ToolManager
19
+ _agentManager; // AgentManager
20
+ _credentialManager; // CredentialManager
21
+ // Runtime state
22
+ workflows = new Map();
23
+ executions = new Map();
24
+ tools = new Map();
25
+ agents = new Map();
26
+ constructor(config, logger, metrics) {
27
+ super();
28
+ this._config = config;
29
+ this.logger = logger;
30
+ this.metrics = metrics;
31
+ // Set up error handling
32
+ this.on('error', (error) => {
33
+ this.logger.error('Runtime error occurred', error);
34
+ this.metrics.increment('runtime.errors');
35
+ });
36
+ }
37
+ /** Get runtime configuration */
38
+ get config() {
39
+ return this._config;
40
+ }
41
+ /** Get workflow manager (for future use) */
42
+ get workflowManager() {
43
+ return this._workflowManager;
44
+ }
45
+ /** Get tool manager (for future use) */
46
+ get toolManager() {
47
+ return this._toolManager;
48
+ }
49
+ /** Get agent manager (for future use) */
50
+ get agentManager() {
51
+ return this._agentManager;
52
+ }
53
+ /** Get credential manager (for future use) */
54
+ get credentialManager() {
55
+ return this._credentialManager;
56
+ }
57
+ /**
58
+ * Start the AgentX runtime
59
+ */
60
+ async start() {
61
+ if (this.isStarted) {
62
+ throw new error_1.ValidationError('Runtime is already started');
63
+ }
64
+ try {
65
+ this.logger.info('Starting AgentX Runtime');
66
+ this.metrics.increment('runtime.start_attempts');
67
+ // Initialize component managers
68
+ await this.initializeManagers();
69
+ // Set up signal handlers for graceful shutdown
70
+ this.setupSignalHandlers();
71
+ this.isStarted = true;
72
+ this.startedAt = new Date();
73
+ this.logger.info('AgentX Runtime started successfully');
74
+ this.metrics.increment('runtime.starts');
75
+ this.emit('started');
76
+ }
77
+ catch (error) {
78
+ this.logger.error('Failed to start AgentX Runtime', error);
79
+ this.metrics.increment('runtime.start_failures');
80
+ throw new error_1.ExecutionError(`Failed to start runtime: ${error.message}`);
81
+ }
82
+ }
83
+ /**
84
+ * Stop the AgentX runtime
85
+ */
86
+ async stop() {
87
+ if (!this.isStarted) {
88
+ this.logger.warn('Runtime is not started');
89
+ return;
90
+ }
91
+ try {
92
+ this.logger.info('Stopping AgentX Runtime');
93
+ this.metrics.increment('runtime.stop_attempts');
94
+ // Stop all active executions
95
+ await this.stopActiveExecutions();
96
+ // Remove signal handlers
97
+ this.removeSignalHandlers();
98
+ // Shutdown component managers
99
+ await this.shutdownManagers();
100
+ this.isStarted = false;
101
+ this.startedAt = undefined;
102
+ this.logger.info('AgentX Runtime stopped successfully');
103
+ this.metrics.increment('runtime.stops');
104
+ this.emit('stopped');
105
+ }
106
+ catch (error) {
107
+ this.logger.error('Error during runtime shutdown', error);
108
+ this.metrics.increment('runtime.stop_failures');
109
+ throw new error_1.ExecutionError(`Failed to stop runtime: ${error.message}`);
110
+ }
111
+ }
112
+ /**
113
+ * Register a workflow definition
114
+ */
115
+ async registerWorkflow(definition) {
116
+ this.ensureStarted();
117
+ try {
118
+ // Validate workflow definition
119
+ this.validateWorkflowDefinition(definition);
120
+ // Store workflow
121
+ this.workflows.set(definition.id, definition);
122
+ this.logger.info(`Workflow registered: ${definition.id}`, {
123
+ workflowId: definition.id,
124
+ name: definition.name,
125
+ version: definition.version
126
+ });
127
+ this.metrics.increment('workflows.registered');
128
+ this.emit('workflow:registered', definition);
129
+ }
130
+ catch (error) {
131
+ this.logger.error(`Failed to register workflow: ${definition.id}`, error);
132
+ this.metrics.increment('workflows.registration_failures');
133
+ throw error;
134
+ }
135
+ }
136
+ /**
137
+ * Execute a workflow
138
+ */
139
+ async executeWorkflow(id, input) {
140
+ this.ensureStarted();
141
+ const workflow = this.workflows.get(id);
142
+ if (!workflow) {
143
+ throw new error_1.ValidationError(`Workflow not found: ${id}`);
144
+ }
145
+ const executionId = (0, uuid_1.v4)();
146
+ const execution = {
147
+ id: executionId,
148
+ workflowId: id,
149
+ status: 'pending',
150
+ input,
151
+ startedAt: new Date(),
152
+ steps: [],
153
+ context: {
154
+ variables: {},
155
+ metadata: {},
156
+ traceId: (0, uuid_1.v4)(),
157
+ },
158
+ };
159
+ try {
160
+ // Store execution
161
+ this.executions.set(executionId, execution);
162
+ this.logger.info(`Starting workflow execution: ${executionId}`, {
163
+ workflowId: id,
164
+ executionId,
165
+ traceId: execution.context.traceId,
166
+ });
167
+ this.metrics.increment('workflows.executions_started');
168
+ this.emit('execution:started', execution);
169
+ // Update status to running
170
+ execution.status = 'running';
171
+ this.executions.set(executionId, execution);
172
+ // Execute workflow (placeholder - will be implemented by WorkflowEngine)
173
+ await this.executeWorkflowSteps(workflow, execution);
174
+ // Mark as completed
175
+ execution.status = 'completed';
176
+ execution.completedAt = new Date();
177
+ this.executions.set(executionId, execution);
178
+ this.logger.info(`Workflow execution completed: ${executionId}`);
179
+ this.metrics.increment('workflows.executions_completed');
180
+ this.emit('execution:completed', execution);
181
+ return execution;
182
+ }
183
+ catch (error) {
184
+ // Mark as failed
185
+ execution.status = 'failed';
186
+ execution.error = error.message;
187
+ execution.completedAt = new Date();
188
+ this.executions.set(executionId, execution);
189
+ this.logger.error(`Workflow execution failed: ${executionId}`, error);
190
+ this.metrics.increment('workflows.executions_failed');
191
+ this.emit('execution:failed', execution);
192
+ throw error;
193
+ }
194
+ }
195
+ /**
196
+ * Register a tool
197
+ */
198
+ async registerTool(spec, transport) {
199
+ this.ensureStarted();
200
+ try {
201
+ // Validate tool spec
202
+ this.validateToolSpec(spec);
203
+ // Store tool
204
+ this.tools.set(spec.name, spec);
205
+ this.logger.info(`Tool registered: ${spec.name}`, {
206
+ toolName: spec.name,
207
+ version: spec.version,
208
+ transport: transport.type,
209
+ });
210
+ this.metrics.increment('tools.registered');
211
+ this.emit('tool:registered', spec);
212
+ }
213
+ catch (error) {
214
+ this.logger.error(`Failed to register tool: ${spec.name}`, error);
215
+ this.metrics.increment('tools.registration_failures');
216
+ throw error;
217
+ }
218
+ }
219
+ /**
220
+ * List all registered tools
221
+ */
222
+ async listTools() {
223
+ this.ensureStarted();
224
+ return Array.from(this.tools.values());
225
+ }
226
+ /**
227
+ * Create an AI agent
228
+ */
229
+ async createAgent(config) {
230
+ this.ensureStarted();
231
+ try {
232
+ // Validate agent config
233
+ this.validateAgentConfig(config);
234
+ // Create agent (placeholder - will be implemented by AgentManager)
235
+ const agent = await this.createAgentInstance(config);
236
+ // Store agent
237
+ this.agents.set(agent.id, agent);
238
+ this.logger.info(`Agent created: ${agent.id}`, {
239
+ agentId: agent.id,
240
+ name: config.name,
241
+ llmProvider: config.llmProvider,
242
+ });
243
+ this.metrics.increment('agents.created');
244
+ this.emit('agent:created', agent);
245
+ return agent;
246
+ }
247
+ catch (error) {
248
+ this.logger.error(`Failed to create agent: ${config.name}`, error);
249
+ this.metrics.increment('agents.creation_failures');
250
+ throw error;
251
+ }
252
+ }
253
+ /**
254
+ * Set a credential
255
+ */
256
+ async setCredential(scope, credential) {
257
+ this.ensureStarted();
258
+ try {
259
+ // Validate credential
260
+ this.validateCredential(credential);
261
+ // Store credential (placeholder - will be implemented by CredentialManager)
262
+ await this.storeCredential(scope, credential);
263
+ this.logger.info(`Credential set for scope: ${scope}`, {
264
+ scope,
265
+ type: credential.type,
266
+ });
267
+ this.metrics.increment('credentials.set');
268
+ this.emit('credential:set', { scope, type: credential.type });
269
+ }
270
+ catch (error) {
271
+ this.logger.error(`Failed to set credential for scope: ${scope}`, error);
272
+ this.metrics.increment('credentials.set_failures');
273
+ throw error;
274
+ }
275
+ }
276
+ /**
277
+ * Get runtime metadata
278
+ */
279
+ getMetadata() {
280
+ return {
281
+ version: '0.1.0',
282
+ startedAt: this.startedAt || new Date(),
283
+ uptime: this.startedAt ? Date.now() - this.startedAt.getTime() : 0,
284
+ activeWorkflows: this.executions.size,
285
+ registeredTools: this.tools.size,
286
+ activeAgents: this.agents.size,
287
+ };
288
+ }
289
+ // Private methods
290
+ ensureStarted() {
291
+ if (!this.isStarted) {
292
+ throw new error_1.ValidationError('Runtime is not started');
293
+ }
294
+ }
295
+ async initializeManagers() {
296
+ // Initialize component managers
297
+ // This will be implemented when we create the actual managers
298
+ this.logger.debug('Initializing component managers');
299
+ }
300
+ async shutdownManagers() {
301
+ // Shutdown component managers
302
+ this.logger.debug('Shutting down component managers');
303
+ }
304
+ async stopActiveExecutions() {
305
+ const activeExecutions = Array.from(this.executions.values())
306
+ .filter(exec => exec.status === 'running' || exec.status === 'pending');
307
+ for (const execution of activeExecutions) {
308
+ try {
309
+ execution.status = 'cancelled';
310
+ execution.completedAt = new Date();
311
+ this.executions.set(execution.id, execution);
312
+ this.emit('execution:cancelled', execution);
313
+ }
314
+ catch (error) {
315
+ this.logger.error(`Failed to cancel execution: ${execution.id}`, error);
316
+ }
317
+ }
318
+ }
319
+ // Signal handler references for cleanup
320
+ signalHandlers = new Map();
321
+ setupSignalHandlers() {
322
+ const gracefulShutdown = async (signal) => {
323
+ this.logger.info(`Received ${signal}, shutting down gracefully`);
324
+ try {
325
+ await this.stop();
326
+ process.exit(0);
327
+ }
328
+ catch (error) {
329
+ this.logger.error('Error during graceful shutdown', error);
330
+ process.exit(1);
331
+ }
332
+ };
333
+ const sigtermHandler = () => gracefulShutdown('SIGTERM');
334
+ const sigintHandler = () => gracefulShutdown('SIGINT');
335
+ this.signalHandlers.set('SIGTERM', sigtermHandler);
336
+ this.signalHandlers.set('SIGINT', sigintHandler);
337
+ process.on('SIGTERM', sigtermHandler);
338
+ process.on('SIGINT', sigintHandler);
339
+ }
340
+ removeSignalHandlers() {
341
+ for (const [signal, handler] of this.signalHandlers) {
342
+ process.removeListener(signal, handler);
343
+ }
344
+ this.signalHandlers.clear();
345
+ }
346
+ validateWorkflowDefinition(definition) {
347
+ if (!definition.id || !definition.name || !definition.version) {
348
+ throw new error_1.ValidationError('Workflow must have id, name, and version');
349
+ }
350
+ if (!definition.steps || definition.steps.length === 0) {
351
+ throw new error_1.ValidationError('Workflow must have at least one step');
352
+ }
353
+ // Validate step dependencies form a valid DAG
354
+ this.validateWorkflowDAG(definition.steps);
355
+ }
356
+ validateWorkflowDAG(steps) {
357
+ // Simple cycle detection - will be enhanced in WorkflowEngine
358
+ const visited = new Set();
359
+ const recursionStack = new Set();
360
+ const hasCycle = (stepId) => {
361
+ if (recursionStack.has(stepId))
362
+ return true;
363
+ if (visited.has(stepId))
364
+ return false;
365
+ visited.add(stepId);
366
+ recursionStack.add(stepId);
367
+ const step = steps.find(s => s.id === stepId);
368
+ if (step?.dependencies) {
369
+ for (const dep of step.dependencies) {
370
+ if (hasCycle(dep))
371
+ return true;
372
+ }
373
+ }
374
+ recursionStack.delete(stepId);
375
+ return false;
376
+ };
377
+ for (const step of steps) {
378
+ if (hasCycle(step.id)) {
379
+ throw new error_1.ValidationError('Workflow contains circular dependencies');
380
+ }
381
+ }
382
+ }
383
+ validateToolSpec(spec) {
384
+ if (!spec.name || !spec.version) {
385
+ throw new error_1.ValidationError('Tool must have name and version');
386
+ }
387
+ // Basic name validation
388
+ if (!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(spec.name)) {
389
+ throw new error_1.ValidationError('Tool name must start with a letter and contain only letters, numbers, underscores, and hyphens');
390
+ }
391
+ // Basic version validation (semantic versioning)
392
+ if (!/^\d+\.\d+\.\d+(-[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*)?(\+[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*)?$/.test(spec.version)) {
393
+ throw new error_1.ValidationError('Tool version must follow semantic versioning (e.g., 1.0.0)');
394
+ }
395
+ }
396
+ validateAgentConfig(config) {
397
+ if (!config.name || !config.llmProvider || !config.model) {
398
+ throw new error_1.ValidationError('Agent must have name, llmProvider, and model');
399
+ }
400
+ if (!Array.isArray(config.allowedTools)) {
401
+ throw new error_1.ValidationError('Agent allowedTools must be an array');
402
+ }
403
+ }
404
+ validateCredential(credential) {
405
+ if (!credential.type || !credential.data) {
406
+ throw new error_1.ValidationError('Credential must have type and data');
407
+ }
408
+ const validTypes = ['api_key', 'oauth2', 'basic_auth', 'custom'];
409
+ if (!validTypes.includes(credential.type)) {
410
+ throw new error_1.ValidationError(`Invalid credential type: ${credential.type}`);
411
+ }
412
+ }
413
+ async executeWorkflowSteps(workflow, execution) {
414
+ // Placeholder implementation - will be replaced by WorkflowEngine
415
+ this.logger.debug(`Executing workflow steps for: ${workflow.id}`);
416
+ // Simulate step execution
417
+ for (const step of workflow.steps) {
418
+ const stepExecution = {
419
+ id: (0, uuid_1.v4)(),
420
+ stepId: step.id,
421
+ status: 'completed',
422
+ startedAt: new Date(),
423
+ completedAt: new Date(),
424
+ retryCount: 0,
425
+ duration: 100,
426
+ };
427
+ execution.steps.push(stepExecution);
428
+ }
429
+ }
430
+ async createAgentInstance(config) {
431
+ // Placeholder implementation - will be replaced by AgentManager
432
+ const agent = {
433
+ id: (0, uuid_1.v4)(),
434
+ name: config.name,
435
+ config,
436
+ async execute(goal, _context) {
437
+ return {
438
+ success: true,
439
+ result: `Executed goal: ${goal}`,
440
+ };
441
+ },
442
+ async chat(_messages, _context) {
443
+ return {
444
+ message: {
445
+ role: 'assistant',
446
+ content: 'Hello from agent',
447
+ },
448
+ finishReason: 'stop',
449
+ };
450
+ },
451
+ async saveMemory(_key, _value) {
452
+ // Placeholder
453
+ },
454
+ async getMemory(_key) {
455
+ return null;
456
+ },
457
+ async clearMemory() {
458
+ // Placeholder
459
+ },
460
+ };
461
+ return agent;
462
+ }
463
+ async storeCredential(scope, _credential) {
464
+ // Placeholder implementation - will be replaced by CredentialManager
465
+ this.logger.debug(`Storing credential for scope: ${scope}`);
466
+ }
467
+ }
468
+ exports.AgentXRuntime = AgentXRuntime;
469
+ //# sourceMappingURL=AgentXRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentXRuntime.js","sourceRoot":"","sources":["../../src/runtime/AgentXRuntime.ts"],"names":[],"mappings":"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"}