@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.
- package/CHANGELOG.md +107 -0
- package/LICENSE +21 -0
- package/README.md +335 -0
- package/dist/agent/Agent.d.ts +110 -0
- package/dist/agent/Agent.d.ts.map +1 -0
- package/dist/agent/Agent.js +291 -0
- package/dist/agent/Agent.js.map +1 -0
- package/dist/agent/index.d.ts +5 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +11 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/cli/CLI.d.ts +74 -0
- package/dist/cli/CLI.d.ts.map +1 -0
- package/dist/cli/CLI.js +255 -0
- package/dist/cli/CLI.js.map +1 -0
- package/dist/cli/InteractiveSetup.d.ts +104 -0
- package/dist/cli/InteractiveSetup.d.ts.map +1 -0
- package/dist/cli/InteractiveSetup.js +2225 -0
- package/dist/cli/InteractiveSetup.js.map +1 -0
- package/dist/cli/bin.d.ts +7 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +35 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/ProjectCommands.d.ts +23 -0
- package/dist/cli/commands/ProjectCommands.d.ts.map +1 -0
- package/dist/cli/commands/ProjectCommands.js +504 -0
- package/dist/cli/commands/ProjectCommands.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +21 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/credential/CredentialManager.d.ts +112 -0
- package/dist/credential/CredentialManager.d.ts.map +1 -0
- package/dist/credential/CredentialManager.js +343 -0
- package/dist/credential/CredentialManager.js.map +1 -0
- package/dist/credential/OAuth2Manager.d.ts +206 -0
- package/dist/credential/OAuth2Manager.d.ts.map +1 -0
- package/dist/credential/OAuth2Manager.js +463 -0
- package/dist/credential/OAuth2Manager.js.map +1 -0
- package/dist/credential/index.d.ts +6 -0
- package/dist/credential/index.d.ts.map +1 -0
- package/dist/credential/index.js +16 -0
- package/dist/credential/index.js.map +1 -0
- package/dist/error/ErrorHandler.d.ts +74 -0
- package/dist/error/ErrorHandler.d.ts.map +1 -0
- package/dist/error/ErrorHandler.js +279 -0
- package/dist/error/ErrorHandler.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/DatabaseTool.d.ts +149 -0
- package/dist/integrations/DatabaseTool.d.ts.map +1 -0
- package/dist/integrations/DatabaseTool.js +900 -0
- package/dist/integrations/DatabaseTool.js.map +1 -0
- package/dist/integrations/EmailTool.d.ts +142 -0
- package/dist/integrations/EmailTool.d.ts.map +1 -0
- package/dist/integrations/EmailTool.js +259 -0
- package/dist/integrations/EmailTool.js.map +1 -0
- package/dist/integrations/FileSystemTool.d.ts +153 -0
- package/dist/integrations/FileSystemTool.d.ts.map +1 -0
- package/dist/integrations/FileSystemTool.js +835 -0
- package/dist/integrations/FileSystemTool.js.map +1 -0
- package/dist/integrations/GoogleWorkspaceTool.d.ts +125 -0
- package/dist/integrations/GoogleWorkspaceTool.d.ts.map +1 -0
- package/dist/integrations/GoogleWorkspaceTool.js +765 -0
- package/dist/integrations/GoogleWorkspaceTool.js.map +1 -0
- package/dist/integrations/HttpTool.d.ts +55 -0
- package/dist/integrations/HttpTool.d.ts.map +1 -0
- package/dist/integrations/HttpTool.js +209 -0
- package/dist/integrations/HttpTool.js.map +1 -0
- package/dist/integrations/MessagingTool.d.ts +136 -0
- package/dist/integrations/MessagingTool.d.ts.map +1 -0
- package/dist/integrations/MessagingTool.js +503 -0
- package/dist/integrations/MessagingTool.js.map +1 -0
- package/dist/integrations/SchedulerTool.d.ts +147 -0
- package/dist/integrations/SchedulerTool.d.ts.map +1 -0
- package/dist/integrations/SchedulerTool.js +471 -0
- package/dist/integrations/SchedulerTool.js.map +1 -0
- package/dist/integrations/WebhookTool.d.ts +97 -0
- package/dist/integrations/WebhookTool.d.ts.map +1 -0
- package/dist/integrations/WebhookTool.js +351 -0
- package/dist/integrations/WebhookTool.js.map +1 -0
- package/dist/integrations/index.d.ts +13 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +60 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/llm/LLMProvider.d.ts +83 -0
- package/dist/llm/LLMProvider.d.ts.map +1 -0
- package/dist/llm/LLMProvider.js +370 -0
- package/dist/llm/LLMProvider.js.map +1 -0
- package/dist/llm/index.d.ts +5 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +14 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/payment/PaymentProvider.d.ts +157 -0
- package/dist/payment/PaymentProvider.d.ts.map +1 -0
- package/dist/payment/PaymentProvider.js +525 -0
- package/dist/payment/PaymentProvider.js.map +1 -0
- package/dist/payment/index.d.ts +5 -0
- package/dist/payment/index.d.ts.map +1 -0
- package/dist/payment/index.js +16 -0
- package/dist/payment/index.js.map +1 -0
- package/dist/plugin/PluginManager.d.ts +156 -0
- package/dist/plugin/PluginManager.d.ts.map +1 -0
- package/dist/plugin/PluginManager.js +288 -0
- package/dist/plugin/PluginManager.js.map +1 -0
- package/dist/plugin/index.d.ts +5 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +10 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/runtime/AgentXRuntime.d.ts +90 -0
- package/dist/runtime/AgentXRuntime.d.ts.map +1 -0
- package/dist/runtime/AgentXRuntime.js +469 -0
- package/dist/runtime/AgentXRuntime.js.map +1 -0
- package/dist/security/SecurityManager.d.ts +245 -0
- package/dist/security/SecurityManager.d.ts.map +1 -0
- package/dist/security/SecurityManager.js +512 -0
- package/dist/security/SecurityManager.js.map +1 -0
- package/dist/security/index.d.ts +5 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +14 -0
- package/dist/security/index.js.map +1 -0
- package/dist/tool/ToolRegistry.d.ts +58 -0
- package/dist/tool/ToolRegistry.d.ts.map +1 -0
- package/dist/tool/ToolRegistry.js +173 -0
- package/dist/tool/ToolRegistry.js.map +1 -0
- package/dist/tool/ToolValidator.d.ts +41 -0
- package/dist/tool/ToolValidator.d.ts.map +1 -0
- package/dist/tool/ToolValidator.js +158 -0
- package/dist/tool/ToolValidator.js.map +1 -0
- package/dist/tool/index.d.ts +6 -0
- package/dist/tool/index.d.ts.map +1 -0
- package/dist/tool/index.js +11 -0
- package/dist/tool/index.js.map +1 -0
- package/dist/transport/BaseTransport.d.ts +66 -0
- package/dist/transport/BaseTransport.d.ts.map +1 -0
- package/dist/transport/BaseTransport.js +103 -0
- package/dist/transport/BaseTransport.js.map +1 -0
- package/dist/transport/HttpTransport.d.ts +41 -0
- package/dist/transport/HttpTransport.d.ts.map +1 -0
- package/dist/transport/HttpTransport.js +160 -0
- package/dist/transport/HttpTransport.js.map +1 -0
- package/dist/transport/LocalTransport.d.ts +40 -0
- package/dist/transport/LocalTransport.d.ts.map +1 -0
- package/dist/transport/LocalTransport.js +157 -0
- package/dist/transport/LocalTransport.js.map +1 -0
- package/dist/transport/QueueTransport.d.ts +63 -0
- package/dist/transport/QueueTransport.d.ts.map +1 -0
- package/dist/transport/QueueTransport.js +194 -0
- package/dist/transport/QueueTransport.js.map +1 -0
- package/dist/transport/StdioTransport.d.ts +51 -0
- package/dist/transport/StdioTransport.d.ts.map +1 -0
- package/dist/transport/StdioTransport.js +216 -0
- package/dist/transport/StdioTransport.js.map +1 -0
- package/dist/transport/TransportFactory.d.ts +35 -0
- package/dist/transport/TransportFactory.d.ts.map +1 -0
- package/dist/transport/TransportFactory.js +100 -0
- package/dist/transport/TransportFactory.js.map +1 -0
- package/dist/transport/index.d.ts +10 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +19 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/types/agent.d.ts +66 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +3 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/config.d.ts +60 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +6 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/credential.d.ts +38 -0
- package/dist/types/credential.d.ts.map +1 -0
- package/dist/types/credential.js +3 -0
- package/dist/types/credential.js.map +1 -0
- package/dist/types/error.d.ts +136 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +223 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +27 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/llm.d.ts +43 -0
- package/dist/types/llm.d.ts.map +1 -0
- package/dist/types/llm.js +3 -0
- package/dist/types/llm.js.map +1 -0
- package/dist/types/payment.d.ts +129 -0
- package/dist/types/payment.d.ts.map +1 -0
- package/dist/types/payment.js +6 -0
- package/dist/types/payment.js.map +1 -0
- package/dist/types/runtime.d.ts +31 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/runtime.js +3 -0
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/tool.d.ts +72 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +3 -0
- package/dist/types/tool.js.map +1 -0
- package/dist/types/transport.d.ts +53 -0
- package/dist/types/transport.d.ts.map +1 -0
- package/dist/types/transport.js +3 -0
- package/dist/types/transport.js.map +1 -0
- package/dist/types/workflow.d.ts +72 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +6 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/utils/factory.d.ts +14 -0
- package/dist/utils/factory.d.ts.map +1 -0
- package/dist/utils/factory.js +146 -0
- package/dist/utils/factory.js.map +1 -0
- package/dist/workflow/StateManager.d.ts +93 -0
- package/dist/workflow/StateManager.d.ts.map +1 -0
- package/dist/workflow/StateManager.js +223 -0
- package/dist/workflow/StateManager.js.map +1 -0
- package/dist/workflow/WorkflowDefinition.d.ts +49 -0
- package/dist/workflow/WorkflowDefinition.d.ts.map +1 -0
- package/dist/workflow/WorkflowDefinition.js +264 -0
- package/dist/workflow/WorkflowDefinition.js.map +1 -0
- package/dist/workflow/WorkflowExecutor.d.ts +42 -0
- package/dist/workflow/WorkflowExecutor.d.ts.map +1 -0
- package/dist/workflow/WorkflowExecutor.js +372 -0
- package/dist/workflow/WorkflowExecutor.js.map +1 -0
- package/dist/workflow/index.d.ts +7 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +17 -0
- package/dist/workflow/index.js.map +1 -0
- 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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"}
|