@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,503 @@
1
+ "use strict";
2
+ /**
3
+ * Messaging Platform Integration Tools
4
+ * Provides integrations for WhatsApp, Slack, and Telegram
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TelegramTool = exports.telegramToolSpec = exports.SlackTool = exports.slackToolSpec = exports.WhatsAppTool = exports.whatsappToolSpec = void 0;
8
+ /**
9
+ * WhatsApp Business API Tool Specification
10
+ */
11
+ exports.whatsappToolSpec = {
12
+ name: 'whatsapp',
13
+ version: '1.0.0',
14
+ description: 'Send and receive WhatsApp messages via Business API',
15
+ inputSchema: {
16
+ type: 'object',
17
+ properties: {
18
+ action: {
19
+ type: 'string',
20
+ enum: ['send', 'sendTemplate', 'getStatus'],
21
+ description: 'WhatsApp action',
22
+ },
23
+ to: { type: 'string', description: 'Recipient phone number' },
24
+ text: { type: 'string', description: 'Message text' },
25
+ template: { type: 'string', description: 'Template name' },
26
+ templateParams: { type: 'object', description: 'Template parameters' },
27
+ messageId: { type: 'string', description: 'Message ID for status check' },
28
+ },
29
+ required: ['action'],
30
+ },
31
+ outputSchema: {
32
+ type: 'object',
33
+ properties: {
34
+ success: { type: 'boolean' },
35
+ messageId: { type: 'string' },
36
+ status: { type: 'string' },
37
+ },
38
+ },
39
+ };
40
+ /**
41
+ * WhatsApp Business API Integration
42
+ */
43
+ class WhatsAppTool {
44
+ config;
45
+ logger;
46
+ sentMessages = new Map();
47
+ constructor(config, logger) {
48
+ this.config = { ...config, provider: 'whatsapp' };
49
+ this.logger = logger;
50
+ }
51
+ async execute(input) {
52
+ try {
53
+ switch (input.action) {
54
+ case 'send':
55
+ return this.sendMessage(input.to, input.text);
56
+ case 'sendTemplate':
57
+ return this.sendTemplate(input.to, input.template, input.templateParams);
58
+ case 'getStatus':
59
+ return this.getMessageStatus(input.messageId);
60
+ default:
61
+ return { success: false, error: `Unknown action: ${input.action}` };
62
+ }
63
+ }
64
+ catch (error) {
65
+ this.logger.error('WhatsApp error', error);
66
+ return { success: false, error: error.message };
67
+ }
68
+ }
69
+ async sendMessage(to, text) {
70
+ if (!to || !text) {
71
+ return { success: false, error: 'Recipient and text are required' };
72
+ }
73
+ // Validate phone number format
74
+ if (!this.isValidPhoneNumber(to)) {
75
+ return { success: false, error: 'Invalid phone number format' };
76
+ }
77
+ const messageId = `wa_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
78
+ // In production, this would call the WhatsApp Business API
79
+ this.sentMessages.set(messageId, { to, text });
80
+ this.logger.info('WhatsApp message sent', { messageId, to });
81
+ return {
82
+ success: true,
83
+ data: {
84
+ messageId,
85
+ status: 'sent',
86
+ timestamp: new Date().toISOString(),
87
+ },
88
+ };
89
+ }
90
+ async sendTemplate(to, template, params) {
91
+ if (!to || !template) {
92
+ return { success: false, error: 'Recipient and template are required' };
93
+ }
94
+ if (!this.isValidPhoneNumber(to)) {
95
+ return { success: false, error: 'Invalid phone number format' };
96
+ }
97
+ const messageId = `wa_tpl_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
98
+ this.sentMessages.set(messageId, { to, template, templateParams: params });
99
+ this.logger.info('WhatsApp template sent', { messageId, to, template });
100
+ return {
101
+ success: true,
102
+ data: {
103
+ messageId,
104
+ status: 'sent',
105
+ template,
106
+ timestamp: new Date().toISOString(),
107
+ },
108
+ };
109
+ }
110
+ async getMessageStatus(messageId) {
111
+ if (!messageId) {
112
+ return { success: false, error: 'Message ID is required' };
113
+ }
114
+ const message = this.sentMessages.get(messageId);
115
+ if (!message) {
116
+ return { success: false, error: 'Message not found' };
117
+ }
118
+ return {
119
+ success: true,
120
+ data: {
121
+ messageId,
122
+ status: 'delivered',
123
+ to: message.to,
124
+ },
125
+ };
126
+ }
127
+ isValidPhoneNumber(phone) {
128
+ // Basic validation: starts with + and contains only digits
129
+ return /^\+?[1-9]\d{6,14}$/.test(phone.replace(/[\s-]/g, ''));
130
+ }
131
+ getSentMessages() {
132
+ return new Map(this.sentMessages);
133
+ }
134
+ clearSentMessages() {
135
+ this.sentMessages.clear();
136
+ }
137
+ }
138
+ exports.WhatsAppTool = WhatsAppTool;
139
+ /**
140
+ * Slack API Tool Specification
141
+ */
142
+ exports.slackToolSpec = {
143
+ name: 'slack',
144
+ version: '1.0.0',
145
+ description: 'Send messages and interact with Slack workspaces',
146
+ inputSchema: {
147
+ type: 'object',
148
+ properties: {
149
+ action: {
150
+ type: 'string',
151
+ enum: ['sendMessage', 'sendBlock', 'updateMessage', 'deleteMessage', 'listChannels'],
152
+ description: 'Slack action',
153
+ },
154
+ channel: { type: 'string', description: 'Channel ID or name' },
155
+ text: { type: 'string', description: 'Message text' },
156
+ blocks: { type: 'array', description: 'Block Kit blocks' },
157
+ messageTs: { type: 'string', description: 'Message timestamp for updates' },
158
+ threadTs: { type: 'string', description: 'Thread timestamp for replies' },
159
+ },
160
+ required: ['action'],
161
+ },
162
+ outputSchema: {
163
+ type: 'object',
164
+ properties: {
165
+ success: { type: 'boolean' },
166
+ messageTs: { type: 'string' },
167
+ channel: { type: 'string' },
168
+ },
169
+ },
170
+ };
171
+ /**
172
+ * Slack API Integration
173
+ */
174
+ class SlackTool {
175
+ config;
176
+ logger;
177
+ messages = new Map();
178
+ channels = new Map();
179
+ constructor(config, logger) {
180
+ this.config = { ...config, provider: 'slack' };
181
+ this.logger = logger;
182
+ // Initialize with some default channels for testing
183
+ this.channels.set('general', { id: 'C001', name: 'general' });
184
+ this.channels.set('random', { id: 'C002', name: 'random' });
185
+ }
186
+ async execute(input) {
187
+ try {
188
+ switch (input.action) {
189
+ case 'sendMessage':
190
+ return this.sendMessage(input.channel, input.text, input.threadTs);
191
+ case 'sendBlock':
192
+ return this.sendBlockMessage(input.channel, input.blocks, input.text);
193
+ case 'updateMessage':
194
+ return this.updateMessage(input.channel, input.messageTs, input.text, input.blocks);
195
+ case 'deleteMessage':
196
+ return this.deleteMessage(input.channel, input.messageTs);
197
+ case 'listChannels':
198
+ return this.listChannels();
199
+ default:
200
+ return { success: false, error: `Unknown action: ${input.action}` };
201
+ }
202
+ }
203
+ catch (error) {
204
+ this.logger.error('Slack error', error);
205
+ return { success: false, error: error.message };
206
+ }
207
+ }
208
+ async sendMessage(channel, text, threadTs) {
209
+ if (!channel || !text) {
210
+ return { success: false, error: 'Channel and text are required' };
211
+ }
212
+ const messageTs = `${Date.now()}.${Math.random().toString(36).substr(2, 6)}`;
213
+ this.messages.set(messageTs, { channel, text });
214
+ this.logger.info('Slack message sent', { channel, messageTs });
215
+ return {
216
+ success: true,
217
+ data: {
218
+ ok: true,
219
+ channel,
220
+ ts: messageTs,
221
+ message: { text },
222
+ threadTs,
223
+ },
224
+ };
225
+ }
226
+ async sendBlockMessage(channel, blocks, text) {
227
+ if (!channel || !blocks || blocks.length === 0) {
228
+ return { success: false, error: 'Channel and blocks are required' };
229
+ }
230
+ const messageTs = `${Date.now()}.${Math.random().toString(36).substr(2, 6)}`;
231
+ this.messages.set(messageTs, { channel, text: text || '', blocks });
232
+ this.logger.info('Slack block message sent', { channel, messageTs });
233
+ return {
234
+ success: true,
235
+ data: {
236
+ ok: true,
237
+ channel,
238
+ ts: messageTs,
239
+ message: { blocks, text },
240
+ },
241
+ };
242
+ }
243
+ async updateMessage(channel, messageTs, text, blocks) {
244
+ if (!channel || !messageTs || !text) {
245
+ return { success: false, error: 'Channel, messageTs, and text are required' };
246
+ }
247
+ const existing = this.messages.get(messageTs);
248
+ if (!existing) {
249
+ return { success: false, error: 'Message not found' };
250
+ }
251
+ this.messages.set(messageTs, { channel, text, blocks });
252
+ this.logger.info('Slack message updated', { channel, messageTs });
253
+ return {
254
+ success: true,
255
+ data: {
256
+ ok: true,
257
+ channel,
258
+ ts: messageTs,
259
+ text,
260
+ },
261
+ };
262
+ }
263
+ async deleteMessage(channel, messageTs) {
264
+ if (!channel || !messageTs) {
265
+ return { success: false, error: 'Channel and messageTs are required' };
266
+ }
267
+ const deleted = this.messages.delete(messageTs);
268
+ if (!deleted) {
269
+ return { success: false, error: 'Message not found' };
270
+ }
271
+ this.logger.info('Slack message deleted', { channel, messageTs });
272
+ return {
273
+ success: true,
274
+ data: {
275
+ ok: true,
276
+ channel,
277
+ ts: messageTs,
278
+ },
279
+ };
280
+ }
281
+ async listChannels() {
282
+ const channels = Array.from(this.channels.values());
283
+ return {
284
+ success: true,
285
+ data: {
286
+ ok: true,
287
+ channels,
288
+ },
289
+ };
290
+ }
291
+ getMessages() {
292
+ return new Map(this.messages);
293
+ }
294
+ addChannel(id, name) {
295
+ this.channels.set(name, { id, name });
296
+ }
297
+ clearMessages() {
298
+ this.messages.clear();
299
+ }
300
+ }
301
+ exports.SlackTool = SlackTool;
302
+ /**
303
+ * Telegram Bot API Tool Specification
304
+ */
305
+ exports.telegramToolSpec = {
306
+ name: 'telegram',
307
+ version: '1.0.0',
308
+ description: 'Send messages and interact with Telegram via Bot API',
309
+ inputSchema: {
310
+ type: 'object',
311
+ properties: {
312
+ action: {
313
+ type: 'string',
314
+ enum: ['sendMessage', 'sendPhoto', 'sendDocument', 'editMessage', 'deleteMessage', 'getUpdates'],
315
+ description: 'Telegram action',
316
+ },
317
+ chatId: { type: 'string', description: 'Chat ID' },
318
+ text: { type: 'string', description: 'Message text' },
319
+ parseMode: { type: 'string', enum: ['HTML', 'Markdown', 'MarkdownV2'], description: 'Parse mode' },
320
+ messageId: { type: 'number', description: 'Message ID for edits/deletes' },
321
+ photo: { type: 'string', description: 'Photo URL or file_id' },
322
+ document: { type: 'string', description: 'Document URL or file_id' },
323
+ caption: { type: 'string', description: 'Media caption' },
324
+ replyMarkup: { type: 'object', description: 'Inline keyboard or reply keyboard' },
325
+ },
326
+ required: ['action'],
327
+ },
328
+ outputSchema: {
329
+ type: 'object',
330
+ properties: {
331
+ success: { type: 'boolean' },
332
+ messageId: { type: 'number' },
333
+ chatId: { type: 'string' },
334
+ },
335
+ },
336
+ };
337
+ /**
338
+ * Telegram Bot API Integration
339
+ */
340
+ class TelegramTool {
341
+ config;
342
+ logger;
343
+ messages = new Map();
344
+ messageIdCounter = 1;
345
+ updates = [];
346
+ constructor(config, logger) {
347
+ this.config = { ...config, provider: 'telegram' };
348
+ this.logger = logger;
349
+ }
350
+ async execute(input) {
351
+ try {
352
+ switch (input.action) {
353
+ case 'sendMessage':
354
+ return this.sendMessage(input.chatId, input.text, input.parseMode, input.replyMarkup);
355
+ case 'sendPhoto':
356
+ return this.sendPhoto(input.chatId, input.photo, input.caption);
357
+ case 'sendDocument':
358
+ return this.sendDocument(input.chatId, input.document, input.caption);
359
+ case 'editMessage':
360
+ return this.editMessage(input.chatId, input.messageId, input.text);
361
+ case 'deleteMessage':
362
+ return this.deleteMessage(input.chatId, input.messageId);
363
+ case 'getUpdates':
364
+ return this.getUpdates();
365
+ default:
366
+ return { success: false, error: `Unknown action: ${input.action}` };
367
+ }
368
+ }
369
+ catch (error) {
370
+ this.logger.error('Telegram error', error);
371
+ return { success: false, error: error.message };
372
+ }
373
+ }
374
+ async sendMessage(chatId, text, parseMode, replyMarkup) {
375
+ if (!chatId || !text) {
376
+ return { success: false, error: 'Chat ID and text are required' };
377
+ }
378
+ const messageId = this.messageIdCounter++;
379
+ this.messages.set(messageId, { chatId, text, type: 'text' });
380
+ this.logger.info('Telegram message sent', { chatId, messageId });
381
+ return {
382
+ success: true,
383
+ data: {
384
+ ok: true,
385
+ result: {
386
+ message_id: messageId,
387
+ chat: { id: chatId },
388
+ text,
389
+ date: Math.floor(Date.now() / 1000),
390
+ },
391
+ },
392
+ };
393
+ }
394
+ async sendPhoto(chatId, photo, caption) {
395
+ if (!chatId || !photo) {
396
+ return { success: false, error: 'Chat ID and photo are required' };
397
+ }
398
+ const messageId = this.messageIdCounter++;
399
+ this.messages.set(messageId, { chatId, text: caption || '', type: 'photo' });
400
+ this.logger.info('Telegram photo sent', { chatId, messageId });
401
+ return {
402
+ success: true,
403
+ data: {
404
+ ok: true,
405
+ result: {
406
+ message_id: messageId,
407
+ chat: { id: chatId },
408
+ photo: [{ file_id: photo }],
409
+ caption,
410
+ date: Math.floor(Date.now() / 1000),
411
+ },
412
+ },
413
+ };
414
+ }
415
+ async sendDocument(chatId, document, caption) {
416
+ if (!chatId || !document) {
417
+ return { success: false, error: 'Chat ID and document are required' };
418
+ }
419
+ const messageId = this.messageIdCounter++;
420
+ this.messages.set(messageId, { chatId, text: caption || '', type: 'document' });
421
+ this.logger.info('Telegram document sent', { chatId, messageId });
422
+ return {
423
+ success: true,
424
+ data: {
425
+ ok: true,
426
+ result: {
427
+ message_id: messageId,
428
+ chat: { id: chatId },
429
+ document: { file_id: document },
430
+ caption,
431
+ date: Math.floor(Date.now() / 1000),
432
+ },
433
+ },
434
+ };
435
+ }
436
+ async editMessage(chatId, messageId, text) {
437
+ if (!chatId || !messageId || !text) {
438
+ return { success: false, error: 'Chat ID, message ID, and text are required' };
439
+ }
440
+ const existing = this.messages.get(messageId);
441
+ if (!existing || existing.chatId !== chatId) {
442
+ return { success: false, error: 'Message not found' };
443
+ }
444
+ this.messages.set(messageId, { ...existing, text });
445
+ this.logger.info('Telegram message edited', { chatId, messageId });
446
+ return {
447
+ success: true,
448
+ data: {
449
+ ok: true,
450
+ result: {
451
+ message_id: messageId,
452
+ chat: { id: chatId },
453
+ text,
454
+ edit_date: Math.floor(Date.now() / 1000),
455
+ },
456
+ },
457
+ };
458
+ }
459
+ async deleteMessage(chatId, messageId) {
460
+ if (!chatId || !messageId) {
461
+ return { success: false, error: 'Chat ID and message ID are required' };
462
+ }
463
+ const existing = this.messages.get(messageId);
464
+ if (!existing || existing.chatId !== chatId) {
465
+ return { success: false, error: 'Message not found' };
466
+ }
467
+ this.messages.delete(messageId);
468
+ this.logger.info('Telegram message deleted', { chatId, messageId });
469
+ return {
470
+ success: true,
471
+ data: {
472
+ ok: true,
473
+ result: true,
474
+ },
475
+ };
476
+ }
477
+ async getUpdates() {
478
+ return {
479
+ success: true,
480
+ data: {
481
+ ok: true,
482
+ result: this.updates,
483
+ },
484
+ };
485
+ }
486
+ // Test helpers
487
+ addUpdate(message) {
488
+ this.updates.push({
489
+ updateId: this.updates.length + 1,
490
+ message,
491
+ });
492
+ }
493
+ getMessages() {
494
+ return new Map(this.messages);
495
+ }
496
+ clearMessages() {
497
+ this.messages.clear();
498
+ this.updates = [];
499
+ this.messageIdCounter = 1;
500
+ }
501
+ }
502
+ exports.TelegramTool = TelegramTool;
503
+ //# sourceMappingURL=MessagingTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessagingTool.js","sourceRoot":"","sources":["../../src/integrations/MessagingTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Scheduler Integration Tool
3
+ * Provides cron-based scheduling and polling capabilities
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ import { ToolSpec, ToolResult, Logger } from '../types/tool';
7
+ export interface ScheduleConfig {
8
+ id: string;
9
+ name: string;
10
+ cron: string;
11
+ timezone?: string;
12
+ enabled: boolean;
13
+ data?: Record<string, unknown>;
14
+ lastRun?: Date;
15
+ nextRun?: Date;
16
+ }
17
+ export interface PollingConfig {
18
+ id: string;
19
+ name: string;
20
+ interval: number;
21
+ enabled: boolean;
22
+ data?: Record<string, unknown>;
23
+ lastPoll?: Date;
24
+ }
25
+ export interface ScheduleEvent {
26
+ scheduleId: string;
27
+ name: string;
28
+ timestamp: Date;
29
+ data?: Record<string, unknown>;
30
+ }
31
+ /**
32
+ * Scheduler Tool Specification
33
+ */
34
+ export declare const schedulerToolSpec: ToolSpec;
35
+ /**
36
+ * Cron Parser - Simple implementation
37
+ */
38
+ export declare class CronParser {
39
+ /**
40
+ * Parse cron expression and get next run time
41
+ * Supports: minute hour day month weekday
42
+ */
43
+ static getNextRun(cron: string, from?: Date): Date;
44
+ /**
45
+ * Check if value matches cron field
46
+ */
47
+ private static matches;
48
+ /**
49
+ * Validate cron expression
50
+ */
51
+ static validate(cron: string): {
52
+ valid: boolean;
53
+ error?: string;
54
+ };
55
+ }
56
+ /**
57
+ * Scheduler Manager
58
+ */
59
+ export declare class SchedulerManager extends EventEmitter {
60
+ private schedules;
61
+ private pollers;
62
+ private timers;
63
+ private logger;
64
+ private running;
65
+ constructor(logger: Logger);
66
+ /**
67
+ * Start the scheduler
68
+ */
69
+ start(): void;
70
+ /**
71
+ * Stop the scheduler
72
+ */
73
+ stop(): void;
74
+ /**
75
+ * Create a cron schedule
76
+ */
77
+ createSchedule(config: Omit<ScheduleConfig, 'id' | 'nextRun'>): string;
78
+ /**
79
+ * Create a polling schedule
80
+ */
81
+ createPoller(config: Omit<PollingConfig, 'id'>): string;
82
+ /**
83
+ * Delete a schedule or poller
84
+ */
85
+ delete(id: string): boolean;
86
+ /**
87
+ * Enable a schedule or poller
88
+ */
89
+ enable(id: string): boolean;
90
+ /**
91
+ * Disable a schedule or poller
92
+ */
93
+ disable(id: string): boolean;
94
+ /**
95
+ * List all schedules and pollers
96
+ */
97
+ list(): {
98
+ schedules: ScheduleConfig[];
99
+ pollers: PollingConfig[];
100
+ };
101
+ /**
102
+ * Get next run time for a schedule
103
+ */
104
+ getNextRun(id: string): Date | null;
105
+ /**
106
+ * Start a cron schedule
107
+ */
108
+ private startSchedule;
109
+ /**
110
+ * Execute a schedule
111
+ */
112
+ private executeSchedule;
113
+ /**
114
+ * Start a poller
115
+ */
116
+ private startPoller;
117
+ /**
118
+ * Execute a poller
119
+ */
120
+ private executePoller;
121
+ }
122
+ /**
123
+ * Scheduler Tool Implementation
124
+ */
125
+ export declare class SchedulerTool {
126
+ private manager;
127
+ private logger;
128
+ constructor(logger: Logger);
129
+ /**
130
+ * Get the scheduler manager
131
+ */
132
+ getManager(): SchedulerManager;
133
+ /**
134
+ * Execute scheduler action
135
+ */
136
+ execute(input: {
137
+ action: 'create' | 'delete' | 'enable' | 'disable' | 'list' | 'next';
138
+ type?: 'cron' | 'interval';
139
+ name?: string;
140
+ cron?: string;
141
+ interval?: number;
142
+ timezone?: string;
143
+ data?: Record<string, unknown>;
144
+ scheduleId?: string;
145
+ }): Promise<ToolResult>;
146
+ }
147
+ //# sourceMappingURL=SchedulerTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchedulerTool.d.ts","sourceRoot":"","sources":["../../src/integrations/SchedulerTool.ts"],"names":[],"mappings":"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"}