@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,279 @@
1
+ "use strict";
2
+ /**
3
+ * Error Handling and Recovery System
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CircuitBreaker = exports.ErrorHandler = void 0;
7
+ const error_1 = require("../types/error");
8
+ /**
9
+ * Central error handler for the AgentX framework
10
+ */
11
+ class ErrorHandler {
12
+ logger;
13
+ metrics;
14
+ retryPolicy;
15
+ constructor(logger, metrics, retryPolicy) {
16
+ this.logger = logger;
17
+ this.metrics = metrics;
18
+ this.retryPolicy = retryPolicy;
19
+ }
20
+ /**
21
+ * Handle an error with appropriate recovery strategy
22
+ */
23
+ async handleError(error, context, operation) {
24
+ const agentXError = this.normalizeError(error, context);
25
+ // Log the error with context
26
+ this.logError(agentXError, context);
27
+ // Update metrics
28
+ this.updateErrorMetrics(agentXError);
29
+ // Determine recovery strategy
30
+ const strategy = this.getRecoveryStrategy(agentXError);
31
+ switch (strategy) {
32
+ case 'retry':
33
+ if (operation) {
34
+ return await this.retryOperation(operation, agentXError, context);
35
+ }
36
+ return { success: false, error: agentXError };
37
+ case 'fail_fast':
38
+ return { success: false, error: agentXError };
39
+ case 'graceful_degradation':
40
+ return await this.handleGracefulDegradation(agentXError, context);
41
+ default:
42
+ return { success: false, error: agentXError };
43
+ }
44
+ }
45
+ /**
46
+ * Normalize any error to AgentXError
47
+ */
48
+ normalizeError(error, context) {
49
+ if (error instanceof error_1.AgentXError) {
50
+ return error;
51
+ }
52
+ // Convert standard errors to appropriate AgentX errors
53
+ if (error.name === 'ValidationError' || error.message.includes('validation')) {
54
+ return new error_1.ValidationError(error.message, context.executionId);
55
+ }
56
+ if (error.name === 'TypeError' || error.name === 'ReferenceError') {
57
+ return new error_1.ExecutionError(error.message, context.executionId);
58
+ }
59
+ if (error.message.includes('timeout') || error.message.includes('connection')) {
60
+ return new error_1.TransportError(error.message, context.executionId);
61
+ }
62
+ if (error.message.includes('unauthorized') || error.message.includes('forbidden')) {
63
+ return new error_1.SecurityError(error.message, context.executionId);
64
+ }
65
+ // Default to execution error
66
+ return new error_1.ExecutionError(error.message, context.executionId);
67
+ }
68
+ /**
69
+ * Determine the appropriate recovery strategy for an error
70
+ */
71
+ getRecoveryStrategy(error) {
72
+ switch (error.category) {
73
+ case 'validation':
74
+ case 'configuration':
75
+ return 'fail_fast'; // These errors won't be fixed by retrying
76
+ case 'transport':
77
+ return 'retry'; // Network issues might be transient
78
+ case 'execution':
79
+ // Depends on the specific error
80
+ if (error.message.includes('timeout')) {
81
+ return 'retry';
82
+ }
83
+ return 'graceful_degradation';
84
+ case 'security':
85
+ return 'fail_fast'; // Security errors should not be retried
86
+ default:
87
+ return 'graceful_degradation';
88
+ }
89
+ }
90
+ /**
91
+ * Retry an operation with exponential backoff
92
+ */
93
+ async retryOperation(operation, error, context) {
94
+ let lastError = error;
95
+ for (let attempt = 1; attempt <= this.retryPolicy.maxAttempts; attempt++) {
96
+ if (attempt > 1) {
97
+ const delay = this.calculateDelay(attempt - 1);
98
+ this.logger.info(`Retrying operation (attempt ${attempt}/${this.retryPolicy.maxAttempts}) after ${delay}ms`, {
99
+ executionId: context.executionId,
100
+ workflowId: context.workflowId,
101
+ stepId: context.stepId,
102
+ });
103
+ await this.sleep(delay);
104
+ }
105
+ try {
106
+ const result = await operation();
107
+ if (attempt > 1) {
108
+ this.logger.info(`Operation succeeded on retry attempt ${attempt}`, {
109
+ executionId: context.executionId,
110
+ });
111
+ this.metrics.increment('errors.retry_success', {
112
+ category: error.category,
113
+ attempt: attempt.toString(),
114
+ });
115
+ }
116
+ return { success: true, result };
117
+ }
118
+ catch (retryError) {
119
+ lastError = this.normalizeError(retryError, context);
120
+ this.metrics.increment('errors.retry_attempt', {
121
+ category: error.category,
122
+ attempt: attempt.toString(),
123
+ });
124
+ // If this is a different type of error, don't continue retrying
125
+ if (lastError.category !== error.category) {
126
+ break;
127
+ }
128
+ }
129
+ }
130
+ this.logger.error(`Operation failed after ${this.retryPolicy.maxAttempts} attempts`, lastError, {
131
+ executionId: context.executionId,
132
+ });
133
+ this.metrics.increment('errors.retry_exhausted', {
134
+ category: error.category,
135
+ });
136
+ return { success: false, error: lastError };
137
+ }
138
+ /**
139
+ * Handle graceful degradation
140
+ */
141
+ async handleGracefulDegradation(error, context) {
142
+ this.logger.warn('Attempting graceful degradation', {
143
+ error: error.message,
144
+ executionId: context.executionId,
145
+ });
146
+ // For now, just return a degraded result
147
+ // In a real implementation, this would provide fallback functionality
148
+ return {
149
+ success: true,
150
+ result: {
151
+ degraded: true,
152
+ message: 'Operation completed with degraded functionality',
153
+ originalError: error.message,
154
+ },
155
+ };
156
+ }
157
+ /**
158
+ * Calculate retry delay with exponential backoff
159
+ */
160
+ calculateDelay(attempt) {
161
+ let delay;
162
+ switch (this.retryPolicy.backoffStrategy) {
163
+ case 'linear':
164
+ delay = this.retryPolicy.baseDelay * attempt;
165
+ break;
166
+ case 'exponential':
167
+ delay = this.retryPolicy.baseDelay * Math.pow(2, attempt);
168
+ break;
169
+ case 'fixed':
170
+ default:
171
+ delay = this.retryPolicy.baseDelay;
172
+ break;
173
+ }
174
+ return Math.min(delay, this.retryPolicy.maxDelay);
175
+ }
176
+ /**
177
+ * Log error with appropriate level and context
178
+ */
179
+ logError(error, context) {
180
+ const logContext = {
181
+ errorCode: error.code,
182
+ errorCategory: error.category,
183
+ traceId: error.traceId,
184
+ ...context,
185
+ };
186
+ switch (error.category) {
187
+ case 'security':
188
+ this.logger.error(`Security error: ${error.message}`, error, logContext);
189
+ break;
190
+ case 'validation':
191
+ case 'configuration':
192
+ this.logger.warn(`Configuration error: ${error.message}`, logContext);
193
+ break;
194
+ case 'transport':
195
+ this.logger.warn(`Transport error: ${error.message}`, logContext);
196
+ break;
197
+ case 'execution':
198
+ default:
199
+ this.logger.error(`Execution error: ${error.message}`, error, logContext);
200
+ break;
201
+ }
202
+ }
203
+ /**
204
+ * Update error metrics
205
+ */
206
+ updateErrorMetrics(error) {
207
+ this.metrics.increment('errors.total');
208
+ this.metrics.increment('errors.by_category', { category: error.category });
209
+ this.metrics.increment('errors.by_code', { code: error.code });
210
+ }
211
+ /**
212
+ * Sleep for specified milliseconds
213
+ */
214
+ sleep(ms) {
215
+ return new Promise(resolve => setTimeout(resolve, ms));
216
+ }
217
+ }
218
+ exports.ErrorHandler = ErrorHandler;
219
+ /**
220
+ * Circuit breaker for preventing cascading failures
221
+ */
222
+ class CircuitBreaker {
223
+ threshold;
224
+ timeout;
225
+ logger;
226
+ metrics;
227
+ failures = 0;
228
+ lastFailureTime = 0;
229
+ state = 'closed';
230
+ constructor(threshold = 5, timeout = 60000, // 1 minute
231
+ logger, metrics) {
232
+ this.threshold = threshold;
233
+ this.timeout = timeout;
234
+ this.logger = logger;
235
+ this.metrics = metrics;
236
+ }
237
+ async execute(operation, operationName) {
238
+ if (this.state === 'open') {
239
+ if (Date.now() - this.lastFailureTime > this.timeout) {
240
+ this.state = 'half-open';
241
+ this.logger.info(`Circuit breaker half-open for ${operationName}`);
242
+ }
243
+ else {
244
+ this.metrics.increment('circuit_breaker.rejected', { operation: operationName });
245
+ throw new error_1.ExecutionError(`Circuit breaker is open for ${operationName}`);
246
+ }
247
+ }
248
+ try {
249
+ const result = await operation();
250
+ if (this.state === 'half-open') {
251
+ this.reset();
252
+ this.logger.info(`Circuit breaker closed for ${operationName}`);
253
+ }
254
+ return result;
255
+ }
256
+ catch (error) {
257
+ this.recordFailure(operationName);
258
+ throw error;
259
+ }
260
+ }
261
+ recordFailure(operationName) {
262
+ this.failures++;
263
+ this.lastFailureTime = Date.now();
264
+ if (this.failures >= this.threshold) {
265
+ this.state = 'open';
266
+ this.logger.warn(`Circuit breaker opened for ${operationName} after ${this.failures} failures`);
267
+ this.metrics.increment('circuit_breaker.opened', { operation: operationName });
268
+ }
269
+ }
270
+ reset() {
271
+ this.failures = 0;
272
+ this.state = 'closed';
273
+ }
274
+ getState() {
275
+ return this.state;
276
+ }
277
+ }
278
+ exports.CircuitBreaker = CircuitBreaker;
279
+ //# sourceMappingURL=ErrorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../../src/error/ErrorHandler.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,0CASwB;AAIxB;;GAEG;AACH,MAAa,YAAY;IACN,MAAM,CAAS;IACf,OAAO,CAAmB;IAC1B,WAAW,CAAc;IAE1C,YAAY,MAAc,EAAE,OAAyB,EAAE,WAAwB;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,KAA0B,EAC1B,OAAqB,EACrB,SAA8B;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAExD,6BAA6B;QAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEpC,iBAAiB;QACjB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAErC,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEvD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAEhD,KAAK,WAAW;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAEhD,KAAK,sBAAsB;gBACzB,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAEpE;gBACE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAA0B,EAAE,OAAqB;QACtE,IAAI,KAAK,YAAY,mBAAW,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uDAAuD;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7E,OAAO,IAAI,uBAAe,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAClE,OAAO,IAAI,sBAAc,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9E,OAAO,IAAI,sBAAc,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAClF,OAAO,IAAI,qBAAa,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/D,CAAC;QAED,6BAA6B;QAC7B,OAAO,IAAI,sBAAc,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAkB;QAC5C,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,KAAK,YAAY,CAAC;YAClB,KAAK,eAAe;gBAClB,OAAO,WAAW,CAAC,CAAC,0CAA0C;YAEhE,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,CAAC,oCAAoC;YAEtD,KAAK,WAAW;gBACd,gCAAgC;gBAChC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtC,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,sBAAsB,CAAC;YAEhC,KAAK,UAAU;gBACb,OAAO,WAAW,CAAC,CAAC,wCAAwC;YAE9D;gBACE,OAAO,sBAAsB,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,SAA6B,EAC7B,KAAkB,EAClB,OAAqB;QAErB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACzE,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,WAAW,KAAK,IAAI,EAAE;oBAC3G,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;gBAEjC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,OAAO,EAAE,EAAE;wBAClE,WAAW,EAAE,OAAO,CAAC,WAAW;qBACjC,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB,EAAE;wBAC7C,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAEnC,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,UAAmB,EAAE,OAAO,CAAC,CAAC;gBAC9D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB,EAAE;oBAC7C,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;iBAC5B,CAAC,CAAC;gBAEH,gEAAgE;gBAChE,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC1C,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,WAAW,CAAC,WAAW,WAAW,EAAE,SAAS,EAAE;YAC9F,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE;YAC/C,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CACrC,KAAkB,EAClB,OAAqB;QAErB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;YAClD,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QAEH,yCAAyC;QACzC,sEAAsE;QACtE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,iDAAiD;gBAC1D,aAAa,EAAE,KAAK,CAAC,OAAO;aAC7B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QACpC,IAAI,KAAa,CAAC;QAElB,QAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACzC,KAAK,QAAQ;gBACX,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC;gBAC7C,MAAM;YAER,KAAK,aAAa;gBAChB,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM;YAER,KAAK,OAAO,CAAC;YACb;gBACE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;gBACnC,MAAM;QACV,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,KAAkB,EAAE,OAAqB;QACxD,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,aAAa,EAAE,KAAK,CAAC,QAAQ;YAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,OAAO;SACX,CAAC;QAEF,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;gBACzE,MAAM;YAER,KAAK,YAAY,CAAC;YAClB,KAAK,eAAe;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;gBACtE,MAAM;YAER,KAAK,WAAW;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;gBAClE,MAAM;YAER,KAAK,WAAW,CAAC;YACjB;gBACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;gBAC1E,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAAkB;QAC3C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AArQD,oCAqQC;AAED;;GAEG;AACH,MAAa,cAAc;IAMN;IACA;IACA;IACA;IARX,QAAQ,GAAG,CAAC,CAAC;IACb,eAAe,GAAG,CAAC,CAAC;IACpB,KAAK,GAAoC,QAAQ,CAAC;IAE1D,YACmB,YAAoB,CAAC,EACrB,UAAkB,KAAK,EAAE,WAAW;IACpC,MAAc,EACd,OAAyB;QAHzB,cAAS,GAAT,SAAS,CAAY;QACrB,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAkB;IACzC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAI,SAA2B,EAAE,aAAqB;QACjE,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;gBACjF,MAAM,IAAI,sBAAc,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YAEjC,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,MAAM,CAAC;QAEhB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,aAAqB;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,aAAa,UAAU,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAC;YAChG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AA1DD,wCA0DC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * AgentX Framework - Main Entry Point
3
+ *
4
+ * A production-grade, TypeScript-based AI agent framework that provides
5
+ * a code-first alternative to n8n with native AI agent capabilities.
6
+ */
7
+ export type { ToolSpec, ToolResult, Logger, AgentConfig, WorkflowStep, PaymentProvider, PaymentRequest, PaymentResult, Transport, TransportConfig, } from './types';
8
+ export { AgentXRuntime } from './runtime/AgentXRuntime';
9
+ export { ToolRegistry } from './tool/ToolRegistry';
10
+ export { ToolValidator } from './tool/ToolValidator';
11
+ export * from './transport';
12
+ export { WorkflowValidator } from './workflow/WorkflowDefinition';
13
+ export { WorkflowExecutor } from './workflow/WorkflowExecutor';
14
+ export { StateManager } from './workflow/StateManager';
15
+ export { CredentialManager, InMemoryCredentialStore, CredentialScopeResolver } from './credential/CredentialManager';
16
+ export { OAuth2Manager, OAuth2Providers, OAuth2AutoRefresher, DefaultOAuth2HttpClient, } from './credential/OAuth2Manager';
17
+ export type { OAuth2ProviderConfig, OAuth2TokenResponse, OAuth2State, OAuth2HttpClient, OAuth2ManagerConfig, } from './credential/OAuth2Manager';
18
+ export { BaseLLMProvider, OpenAIProvider, AnthropicProvider, LocalModelProvider, LLMProviderRegistry } from './llm';
19
+ export { AIAgent, AgentManager, InMemoryStore, MemoryStore } from './agent/Agent';
20
+ export { CLI, Command, CommandContext, CommandResult } from './cli/CLI';
21
+ export { ProjectCommands } from './cli/commands/ProjectCommands';
22
+ export { InteractivePrompt, SetupWizard, ProjectGenerator, LLM_PROVIDERS, INTEGRATIONS, FEATURES, AGENT_PERSONALITIES, DEPLOYMENT_OPTIONS, SECURITY_OPTIONS, } from './cli/InteractiveSetup';
23
+ export type { SetupOptions, PromptChoice } from './cli/InteractiveSetup';
24
+ export * from './integrations';
25
+ export { BasePaymentProvider, StripeProvider, PayPalProvider, MPesaProvider, PaymentProviderRegistry, createPaymentProvider, } from './payment';
26
+ export { RateLimiter, CircuitBreaker, HealthCheck, AuditLogger, } from './security';
27
+ export * from './plugin';
28
+ export { createRuntime } from './utils/factory';
29
+ export declare const VERSION = "0.1.0";
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAEV,QAAQ,EACR,UAAU,EACV,MAAM,EAGN,WAAW,EAGX,YAAY,EAGZ,eAAe,EACf,cAAc,EACd,aAAa,EAGb,SAAS,EACT,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGlF,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGzE,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,eAAO,MAAM,OAAO,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /**
3
+ * AgentX Framework - Main Entry Point
4
+ *
5
+ * A production-grade, TypeScript-based AI agent framework that provides
6
+ * a code-first alternative to n8n with native AI agent capabilities.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.VERSION = exports.createRuntime = exports.AuditLogger = exports.CircuitBreaker = exports.RateLimiter = exports.createPaymentProvider = exports.PaymentProviderRegistry = exports.MPesaProvider = exports.PayPalProvider = exports.StripeProvider = exports.BasePaymentProvider = exports.SECURITY_OPTIONS = exports.DEPLOYMENT_OPTIONS = exports.AGENT_PERSONALITIES = exports.FEATURES = exports.INTEGRATIONS = exports.LLM_PROVIDERS = exports.ProjectGenerator = exports.SetupWizard = exports.InteractivePrompt = exports.ProjectCommands = exports.CLI = exports.InMemoryStore = exports.AgentManager = exports.AIAgent = exports.LLMProviderRegistry = exports.LocalModelProvider = exports.AnthropicProvider = exports.OpenAIProvider = exports.BaseLLMProvider = exports.DefaultOAuth2HttpClient = exports.OAuth2AutoRefresher = exports.OAuth2Providers = exports.OAuth2Manager = exports.CredentialScopeResolver = exports.InMemoryCredentialStore = exports.CredentialManager = exports.StateManager = exports.WorkflowExecutor = exports.WorkflowValidator = exports.ToolValidator = exports.ToolRegistry = exports.AgentXRuntime = void 0;
24
+ // Export core runtime
25
+ var AgentXRuntime_1 = require("./runtime/AgentXRuntime");
26
+ Object.defineProperty(exports, "AgentXRuntime", { enumerable: true, get: function () { return AgentXRuntime_1.AgentXRuntime; } });
27
+ // Export tool system
28
+ var ToolRegistry_1 = require("./tool/ToolRegistry");
29
+ Object.defineProperty(exports, "ToolRegistry", { enumerable: true, get: function () { return ToolRegistry_1.ToolRegistry; } });
30
+ var ToolValidator_1 = require("./tool/ToolValidator");
31
+ Object.defineProperty(exports, "ToolValidator", { enumerable: true, get: function () { return ToolValidator_1.ToolValidator; } });
32
+ // Export transport system
33
+ __exportStar(require("./transport"), exports);
34
+ // Export workflow system
35
+ var WorkflowDefinition_1 = require("./workflow/WorkflowDefinition");
36
+ Object.defineProperty(exports, "WorkflowValidator", { enumerable: true, get: function () { return WorkflowDefinition_1.WorkflowValidator; } });
37
+ var WorkflowExecutor_1 = require("./workflow/WorkflowExecutor");
38
+ Object.defineProperty(exports, "WorkflowExecutor", { enumerable: true, get: function () { return WorkflowExecutor_1.WorkflowExecutor; } });
39
+ var StateManager_1 = require("./workflow/StateManager");
40
+ Object.defineProperty(exports, "StateManager", { enumerable: true, get: function () { return StateManager_1.StateManager; } });
41
+ // Export credential system
42
+ var CredentialManager_1 = require("./credential/CredentialManager");
43
+ Object.defineProperty(exports, "CredentialManager", { enumerable: true, get: function () { return CredentialManager_1.CredentialManager; } });
44
+ Object.defineProperty(exports, "InMemoryCredentialStore", { enumerable: true, get: function () { return CredentialManager_1.InMemoryCredentialStore; } });
45
+ Object.defineProperty(exports, "CredentialScopeResolver", { enumerable: true, get: function () { return CredentialManager_1.CredentialScopeResolver; } });
46
+ var OAuth2Manager_1 = require("./credential/OAuth2Manager");
47
+ Object.defineProperty(exports, "OAuth2Manager", { enumerable: true, get: function () { return OAuth2Manager_1.OAuth2Manager; } });
48
+ Object.defineProperty(exports, "OAuth2Providers", { enumerable: true, get: function () { return OAuth2Manager_1.OAuth2Providers; } });
49
+ Object.defineProperty(exports, "OAuth2AutoRefresher", { enumerable: true, get: function () { return OAuth2Manager_1.OAuth2AutoRefresher; } });
50
+ Object.defineProperty(exports, "DefaultOAuth2HttpClient", { enumerable: true, get: function () { return OAuth2Manager_1.DefaultOAuth2HttpClient; } });
51
+ // Export LLM system
52
+ var llm_1 = require("./llm");
53
+ Object.defineProperty(exports, "BaseLLMProvider", { enumerable: true, get: function () { return llm_1.BaseLLMProvider; } });
54
+ Object.defineProperty(exports, "OpenAIProvider", { enumerable: true, get: function () { return llm_1.OpenAIProvider; } });
55
+ Object.defineProperty(exports, "AnthropicProvider", { enumerable: true, get: function () { return llm_1.AnthropicProvider; } });
56
+ Object.defineProperty(exports, "LocalModelProvider", { enumerable: true, get: function () { return llm_1.LocalModelProvider; } });
57
+ Object.defineProperty(exports, "LLMProviderRegistry", { enumerable: true, get: function () { return llm_1.LLMProviderRegistry; } });
58
+ // Export agent system
59
+ var Agent_1 = require("./agent/Agent");
60
+ Object.defineProperty(exports, "AIAgent", { enumerable: true, get: function () { return Agent_1.AIAgent; } });
61
+ Object.defineProperty(exports, "AgentManager", { enumerable: true, get: function () { return Agent_1.AgentManager; } });
62
+ Object.defineProperty(exports, "InMemoryStore", { enumerable: true, get: function () { return Agent_1.InMemoryStore; } });
63
+ // Export CLI
64
+ var CLI_1 = require("./cli/CLI");
65
+ Object.defineProperty(exports, "CLI", { enumerable: true, get: function () { return CLI_1.CLI; } });
66
+ var ProjectCommands_1 = require("./cli/commands/ProjectCommands");
67
+ Object.defineProperty(exports, "ProjectCommands", { enumerable: true, get: function () { return ProjectCommands_1.ProjectCommands; } });
68
+ var InteractiveSetup_1 = require("./cli/InteractiveSetup");
69
+ Object.defineProperty(exports, "InteractivePrompt", { enumerable: true, get: function () { return InteractiveSetup_1.InteractivePrompt; } });
70
+ Object.defineProperty(exports, "SetupWizard", { enumerable: true, get: function () { return InteractiveSetup_1.SetupWizard; } });
71
+ Object.defineProperty(exports, "ProjectGenerator", { enumerable: true, get: function () { return InteractiveSetup_1.ProjectGenerator; } });
72
+ Object.defineProperty(exports, "LLM_PROVIDERS", { enumerable: true, get: function () { return InteractiveSetup_1.LLM_PROVIDERS; } });
73
+ Object.defineProperty(exports, "INTEGRATIONS", { enumerable: true, get: function () { return InteractiveSetup_1.INTEGRATIONS; } });
74
+ Object.defineProperty(exports, "FEATURES", { enumerable: true, get: function () { return InteractiveSetup_1.FEATURES; } });
75
+ Object.defineProperty(exports, "AGENT_PERSONALITIES", { enumerable: true, get: function () { return InteractiveSetup_1.AGENT_PERSONALITIES; } });
76
+ Object.defineProperty(exports, "DEPLOYMENT_OPTIONS", { enumerable: true, get: function () { return InteractiveSetup_1.DEPLOYMENT_OPTIONS; } });
77
+ Object.defineProperty(exports, "SECURITY_OPTIONS", { enumerable: true, get: function () { return InteractiveSetup_1.SECURITY_OPTIONS; } });
78
+ // Export integrations
79
+ __exportStar(require("./integrations"), exports);
80
+ // Export payment system
81
+ var payment_1 = require("./payment");
82
+ Object.defineProperty(exports, "BasePaymentProvider", { enumerable: true, get: function () { return payment_1.BasePaymentProvider; } });
83
+ Object.defineProperty(exports, "StripeProvider", { enumerable: true, get: function () { return payment_1.StripeProvider; } });
84
+ Object.defineProperty(exports, "PayPalProvider", { enumerable: true, get: function () { return payment_1.PayPalProvider; } });
85
+ Object.defineProperty(exports, "MPesaProvider", { enumerable: true, get: function () { return payment_1.MPesaProvider; } });
86
+ Object.defineProperty(exports, "PaymentProviderRegistry", { enumerable: true, get: function () { return payment_1.PaymentProviderRegistry; } });
87
+ Object.defineProperty(exports, "createPaymentProvider", { enumerable: true, get: function () { return payment_1.createPaymentProvider; } });
88
+ // Export security system
89
+ var security_1 = require("./security");
90
+ Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return security_1.RateLimiter; } });
91
+ Object.defineProperty(exports, "CircuitBreaker", { enumerable: true, get: function () { return security_1.CircuitBreaker; } });
92
+ Object.defineProperty(exports, "AuditLogger", { enumerable: true, get: function () { return security_1.AuditLogger; } });
93
+ // Export plugin system
94
+ __exportStar(require("./plugin"), exports);
95
+ // Export utilities
96
+ var factory_1 = require("./utils/factory");
97
+ Object.defineProperty(exports, "createRuntime", { enumerable: true, get: function () { return factory_1.createRuntime; } });
98
+ // Version information
99
+ exports.VERSION = '0.1.0';
100
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAyBH,sBAAsB;AACtB,yDAAwD;AAA/C,8GAAA,aAAa,OAAA;AAEtB,qBAAqB;AACrB,oDAAmD;AAA1C,4GAAA,YAAY,OAAA;AACrB,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAEtB,0BAA0B;AAC1B,8CAA4B;AAE5B,yBAAyB;AACzB,oEAAkE;AAAzD,uHAAA,iBAAiB,OAAA;AAC1B,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AACzB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAErB,2BAA2B;AAC3B,oEAIwC;AAHtC,sHAAA,iBAAiB,OAAA;AACjB,4HAAA,uBAAuB,OAAA;AACvB,4HAAA,uBAAuB,OAAA;AAEzB,4DAKoC;AAJlC,8GAAA,aAAa,OAAA;AACb,gHAAA,eAAe,OAAA;AACf,oHAAA,mBAAmB,OAAA;AACnB,wHAAA,uBAAuB,OAAA;AAUzB,oBAAoB;AACpB,6BAMe;AALb,sGAAA,eAAe,OAAA;AACf,qGAAA,cAAc,OAAA;AACd,wGAAA,iBAAiB,OAAA;AACjB,yGAAA,kBAAkB,OAAA;AAClB,0GAAA,mBAAmB,OAAA;AAGrB,sBAAsB;AACtB,uCAAkF;AAAzE,gGAAA,OAAO,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,sGAAA,aAAa,OAAA;AAE7C,aAAa;AACb,iCAAwE;AAA/D,0FAAA,GAAG,OAAA;AACZ,kEAAiE;AAAxD,kHAAA,eAAe,OAAA;AACxB,2DAUgC;AAT9B,qHAAA,iBAAiB,OAAA;AACjB,+GAAA,WAAW,OAAA;AACX,oHAAA,gBAAgB,OAAA;AAChB,iHAAA,aAAa,OAAA;AACb,gHAAA,YAAY,OAAA;AACZ,4GAAA,QAAQ,OAAA;AACR,uHAAA,mBAAmB,OAAA;AACnB,sHAAA,kBAAkB,OAAA;AAClB,oHAAA,gBAAgB,OAAA;AAIlB,sBAAsB;AACtB,iDAA+B;AAE/B,wBAAwB;AACxB,qCAOmB;AANjB,8GAAA,mBAAmB,OAAA;AACnB,yGAAA,cAAc,OAAA;AACd,yGAAA,cAAc,OAAA;AACd,wGAAA,aAAa,OAAA;AACb,kHAAA,uBAAuB,OAAA;AACvB,gHAAA,qBAAqB,OAAA;AAGvB,yBAAyB;AACzB,uCAKoB;AAJlB,uGAAA,WAAW,OAAA;AACX,0GAAA,cAAc,OAAA;AAEd,uGAAA,WAAW,OAAA;AAGb,uBAAuB;AACvB,2CAAyB;AAEzB,mBAAmB;AACnB,2CAAgD;AAAvC,wGAAA,aAAa,OAAA;AAEtB,sBAAsB;AACT,QAAA,OAAO,GAAG,OAAO,CAAC"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Database Integration Tools
3
+ * Provides integrations for SQL and NoSQL databases
4
+ */
5
+ import { ToolSpec, ToolResult, Logger } from '../types/tool';
6
+ export interface DatabaseConfig {
7
+ type: 'postgres' | 'mysql' | 'sqlite' | 'mongodb' | 'redis';
8
+ host?: string;
9
+ port?: number;
10
+ database?: string;
11
+ username?: string;
12
+ password?: string;
13
+ connectionString?: string;
14
+ }
15
+ export interface QueryResult {
16
+ rows: Record<string, unknown>[];
17
+ rowCount: number;
18
+ fields?: string[];
19
+ }
20
+ /**
21
+ * SQL Database Tool Specification
22
+ */
23
+ export declare const sqlDatabaseToolSpec: ToolSpec;
24
+ /**
25
+ * SQL Database Integration (In-memory implementation for testing)
26
+ */
27
+ export declare class SQLDatabaseTool {
28
+ private config;
29
+ private logger;
30
+ private tables;
31
+ private autoIncrementCounters;
32
+ constructor(config: DatabaseConfig, logger: Logger);
33
+ execute(input: {
34
+ action: 'query' | 'execute' | 'insert' | 'update' | 'delete' | 'transaction';
35
+ sql?: string;
36
+ params?: unknown[];
37
+ table?: string;
38
+ data?: Record<string, unknown>;
39
+ where?: Record<string, unknown>;
40
+ statements?: Array<{
41
+ sql: string;
42
+ params?: unknown[];
43
+ }>;
44
+ }): Promise<ToolResult>;
45
+ private executeQuery;
46
+ private executeStatement;
47
+ private insertRecord;
48
+ private updateRecords;
49
+ private deleteRecords;
50
+ private executeTransaction;
51
+ private matchesWhere;
52
+ private applyWhereClause;
53
+ private parseValues;
54
+ getTables(): Map<string, Record<string, unknown>[]>;
55
+ clearTables(): void;
56
+ }
57
+ /**
58
+ * MongoDB Tool Specification
59
+ */
60
+ export declare const mongoDBToolSpec: ToolSpec;
61
+ /**
62
+ * MongoDB Integration (In-memory implementation for testing)
63
+ */
64
+ export declare class MongoDBTool {
65
+ private config;
66
+ private logger;
67
+ private collections;
68
+ private idCounter;
69
+ constructor(config: DatabaseConfig, logger: Logger);
70
+ execute(input: {
71
+ action: 'find' | 'findOne' | 'insertOne' | 'insertMany' | 'updateOne' | 'updateMany' | 'deleteOne' | 'deleteMany' | 'aggregate';
72
+ collection: string;
73
+ filter?: Record<string, unknown>;
74
+ document?: Record<string, unknown>;
75
+ documents?: Record<string, unknown>[];
76
+ update?: Record<string, unknown>;
77
+ pipeline?: Record<string, unknown>[];
78
+ options?: {
79
+ sort?: Record<string, number>;
80
+ limit?: number;
81
+ skip?: number;
82
+ };
83
+ }): Promise<ToolResult>;
84
+ private find;
85
+ private findOne;
86
+ private insertOne;
87
+ private insertMany;
88
+ private updateOne;
89
+ private updateMany;
90
+ private deleteOne;
91
+ private deleteMany;
92
+ private aggregate;
93
+ private getCollection;
94
+ private applyFilter;
95
+ private matchesFilter;
96
+ private applySort;
97
+ private applyUpdate;
98
+ getCollections(): Map<string, Record<string, unknown>[]>;
99
+ clearCollections(): void;
100
+ }
101
+ /**
102
+ * Redis Tool Specification
103
+ */
104
+ export declare const redisToolSpec: ToolSpec;
105
+ /**
106
+ * Redis Integration (In-memory implementation for testing)
107
+ */
108
+ export declare class RedisTool {
109
+ private config;
110
+ private logger;
111
+ private store;
112
+ constructor(config: DatabaseConfig, logger: Logger);
113
+ execute(input: {
114
+ action: string;
115
+ key?: string;
116
+ value?: unknown;
117
+ field?: string;
118
+ fields?: Record<string, unknown>;
119
+ seconds?: number;
120
+ pattern?: string;
121
+ start?: number;
122
+ stop?: number;
123
+ }): Promise<ToolResult>;
124
+ private get;
125
+ private set;
126
+ private del;
127
+ private exists;
128
+ private keys;
129
+ private expire;
130
+ private ttl;
131
+ private incr;
132
+ private decr;
133
+ private hget;
134
+ private hset;
135
+ private hgetall;
136
+ private lpush;
137
+ private rpush;
138
+ private lpop;
139
+ private rpop;
140
+ private lrange;
141
+ private cleanupExpired;
142
+ getStore(): Map<string, {
143
+ value: unknown;
144
+ type: string;
145
+ expireAt?: number;
146
+ }>;
147
+ clearStore(): void;
148
+ }
149
+ //# sourceMappingURL=DatabaseTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseTool.d.ts","sourceRoot":"","sources":["../../src/integrations/DatabaseTool.ts"],"names":[],"mappings":"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"}