@framers/agentos-ext-telegram 1.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 (36) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +317 -0
  3. package/dist/index.d.ts +80 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +227 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/services/telegramBot.d.ts +167 -0
  8. package/dist/services/telegramBot.d.ts.map +1 -0
  9. package/dist/services/telegramBot.js +302 -0
  10. package/dist/services/telegramBot.js.map +1 -0
  11. package/dist/tools/getChatInfo.d.ts +77 -0
  12. package/dist/tools/getChatInfo.d.ts.map +1 -0
  13. package/dist/tools/getChatInfo.js +119 -0
  14. package/dist/tools/getChatInfo.js.map +1 -0
  15. package/dist/tools/handleCallback.d.ts +55 -0
  16. package/dist/tools/handleCallback.d.ts.map +1 -0
  17. package/dist/tools/handleCallback.js +78 -0
  18. package/dist/tools/handleCallback.js.map +1 -0
  19. package/dist/tools/manageGroup.d.ts +54 -0
  20. package/dist/tools/manageGroup.d.ts.map +1 -0
  21. package/dist/tools/manageGroup.js +105 -0
  22. package/dist/tools/manageGroup.js.map +1 -0
  23. package/dist/tools/sendDocument.d.ts +59 -0
  24. package/dist/tools/sendDocument.d.ts.map +1 -0
  25. package/dist/tools/sendDocument.js +86 -0
  26. package/dist/tools/sendDocument.js.map +1 -0
  27. package/dist/tools/sendMessage.d.ts +94 -0
  28. package/dist/tools/sendMessage.d.ts.map +1 -0
  29. package/dist/tools/sendMessage.js +142 -0
  30. package/dist/tools/sendMessage.js.map +1 -0
  31. package/dist/tools/sendPhoto.d.ts +54 -0
  32. package/dist/tools/sendPhoto.d.ts.map +1 -0
  33. package/dist/tools/sendPhoto.js +80 -0
  34. package/dist/tools/sendPhoto.js.map +1 -0
  35. package/manifest.json +176 -0
  36. package/package.json +77 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getChatInfo.js","sourceRoot":"","sources":["../../src/tools/getChatInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { ITool, ToolExecutionContext, ToolExecutionResult } from '@framers/agentos';
2
+ import { TelegramBotService } from '../services/telegramBot';
3
+ /**
4
+ * Tool for handling Telegram callback queries
5
+ *
6
+ * @class HandleCallbackTool
7
+ * @implements {ITool}
8
+ */
9
+ export declare class HandleCallbackTool implements ITool {
10
+ private telegramService;
11
+ readonly id = "telegramHandleCallback";
12
+ readonly name = "telegramHandleCallback";
13
+ readonly displayName = "Handle Telegram Callback";
14
+ readonly description = "Handle callback queries from inline keyboard buttons in Telegram messages.";
15
+ readonly category = "communication";
16
+ readonly version = "1.0.0";
17
+ readonly hasSideEffects = true;
18
+ readonly inputSchema: {
19
+ type: string;
20
+ required: string[];
21
+ properties: {
22
+ callbackQueryId: {
23
+ type: string;
24
+ description: string;
25
+ };
26
+ text: {
27
+ type: string;
28
+ description: string;
29
+ };
30
+ showAlert: {
31
+ type: string;
32
+ description: string;
33
+ default: boolean;
34
+ };
35
+ url: {
36
+ type: string;
37
+ description: string;
38
+ };
39
+ cacheTime: {
40
+ type: string;
41
+ description: string;
42
+ default: number;
43
+ };
44
+ };
45
+ };
46
+ constructor(telegramService: TelegramBotService);
47
+ execute(args: {
48
+ callbackQueryId: string;
49
+ text?: string;
50
+ showAlert?: boolean;
51
+ url?: string;
52
+ cacheTime?: number;
53
+ }, context: ToolExecutionContext): Promise<ToolExecutionResult>;
54
+ }
55
+ //# sourceMappingURL=handleCallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCallback.d.ts","sourceRoot":"","sources":["../../src/tools/handleCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,KAAK;IAsClC,OAAO,CAAC,eAAe;IArCnC,SAAgB,EAAE,4BAA4B;IAC9C,SAAgB,IAAI,4BAA4B;IAChD,SAAgB,WAAW,8BAA8B;IACzD,SAAgB,WAAW,gFAAgF;IAC3G,SAAgB,QAAQ,mBAAmB;IAC3C,SAAgB,OAAO,WAAW;IAClC,SAAgB,cAAc,QAAQ;IAEtC,SAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BzB;gBAEkB,eAAe,EAAE,kBAAkB;IAEjD,OAAO,CACX,IAAI,EAAE;QACJ,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EACD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CA8BhC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HandleCallbackTool = void 0;
4
+ /**
5
+ * Tool for handling Telegram callback queries
6
+ *
7
+ * @class HandleCallbackTool
8
+ * @implements {ITool}
9
+ */
10
+ class HandleCallbackTool {
11
+ constructor(telegramService) {
12
+ this.telegramService = telegramService;
13
+ this.id = 'telegramHandleCallback';
14
+ this.name = 'telegramHandleCallback';
15
+ this.displayName = 'Handle Telegram Callback';
16
+ this.description = 'Handle callback queries from inline keyboard buttons in Telegram messages.';
17
+ this.category = 'communication';
18
+ this.version = '1.0.0';
19
+ this.hasSideEffects = true;
20
+ this.inputSchema = {
21
+ type: 'object',
22
+ required: ['callbackQueryId'],
23
+ properties: {
24
+ callbackQueryId: {
25
+ type: 'string',
26
+ description: 'Unique identifier for the callback query'
27
+ },
28
+ text: {
29
+ type: 'string',
30
+ description: 'Text of the notification to show to the user'
31
+ },
32
+ showAlert: {
33
+ type: 'boolean',
34
+ description: 'If true, shows an alert instead of a notification',
35
+ default: false
36
+ },
37
+ url: {
38
+ type: 'string',
39
+ description: 'URL that will be opened by the user client'
40
+ },
41
+ cacheTime: {
42
+ type: 'number',
43
+ description: 'Maximum time in seconds the result can be cached',
44
+ default: 0
45
+ }
46
+ }
47
+ };
48
+ }
49
+ async execute(args, context) {
50
+ try {
51
+ const result = await this.telegramService.answerCallbackQuery(args.callbackQueryId, {
52
+ text: args.text,
53
+ showAlert: args.showAlert,
54
+ url: args.url,
55
+ cacheTime: args.cacheTime
56
+ });
57
+ return {
58
+ success: true,
59
+ output: {
60
+ answered: result,
61
+ callbackQueryId: args.callbackQueryId
62
+ }
63
+ };
64
+ }
65
+ catch (error) {
66
+ return {
67
+ success: false,
68
+ error: error.message,
69
+ details: {
70
+ code: error.code,
71
+ description: error.description
72
+ }
73
+ };
74
+ }
75
+ }
76
+ }
77
+ exports.HandleCallbackTool = HandleCallbackTool;
78
+ //# sourceMappingURL=handleCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCallback.js","sourceRoot":"","sources":["../../src/tools/handleCallback.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACH,MAAa,kBAAkB;IAsC7B,YAAoB,eAAmC;QAAnC,oBAAe,GAAf,eAAe,CAAoB;QArCvC,OAAE,GAAG,wBAAwB,CAAC;QAC9B,SAAI,GAAG,wBAAwB,CAAC;QAChC,gBAAW,GAAG,0BAA0B,CAAC;QACzC,gBAAW,GAAG,4EAA4E,CAAC;QAC3F,aAAQ,GAAG,eAAe,CAAC;QAC3B,YAAO,GAAG,OAAO,CAAC;QAClB,mBAAc,GAAG,IAAI,CAAC;QAEtB,gBAAW,GAAG;YAC5B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,iBAAiB,CAAC;YAC7B,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,mDAAmD;oBAChE,OAAO,EAAE,KAAK;iBACf;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;oBAC/D,OAAO,EAAE,CAAC;iBACX;aACF;SACF,CAAC;IAEwD,CAAC;IAE3D,KAAK,CAAC,OAAO,CACX,IAMC,EACD,OAA6B;QAE7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAC3D,IAAI,CAAC,eAAe,EACpB;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CACF,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE;oBACN,QAAQ,EAAE,MAAM;oBAChB,eAAe,EAAE,IAAI,CAAC,eAAe;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,OAAO,EAAE;oBACP,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA/ED,gDA+EC"}
@@ -0,0 +1,54 @@
1
+ import { ITool, ToolExecutionContext, ToolExecutionResult } from '@framers/agentos';
2
+ import { TelegramBotService } from '../services/telegramBot';
3
+ /**
4
+ * Tool for managing Telegram groups
5
+ *
6
+ * @class ManageGroupTool
7
+ * @implements {ITool}
8
+ */
9
+ export declare class ManageGroupTool implements ITool {
10
+ private telegramService;
11
+ readonly id = "telegramManageGroup";
12
+ readonly name = "telegramManageGroup";
13
+ readonly displayName = "Manage Telegram Group";
14
+ readonly description = "Manage Telegram group settings including pinning messages, setting descriptions, and managing members (requires admin rights).";
15
+ readonly category = "communication";
16
+ readonly version = "1.0.0";
17
+ readonly hasSideEffects = true;
18
+ readonly inputSchema: {
19
+ type: string;
20
+ required: string[];
21
+ properties: {
22
+ chatId: {
23
+ type: string[];
24
+ description: string;
25
+ };
26
+ action: {
27
+ type: string;
28
+ enum: string[];
29
+ description: string;
30
+ };
31
+ messageId: {
32
+ type: string;
33
+ description: string;
34
+ };
35
+ text: {
36
+ type: string;
37
+ description: string;
38
+ };
39
+ disableNotification: {
40
+ type: string;
41
+ description: string;
42
+ };
43
+ };
44
+ };
45
+ constructor(telegramService: TelegramBotService);
46
+ execute(args: {
47
+ chatId: string | number;
48
+ action: 'pinMessage' | 'unpinMessage' | 'setDescription' | 'setTitle';
49
+ messageId?: number;
50
+ text?: string;
51
+ disableNotification?: boolean;
52
+ }, context: ToolExecutionContext): Promise<ToolExecutionResult>;
53
+ }
54
+ //# sourceMappingURL=manageGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manageGroup.d.ts","sourceRoot":"","sources":["../../src/tools/manageGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,KAAK;IAqC/B,OAAO,CAAC,eAAe;IApCnC,SAAgB,EAAE,yBAAyB;IAC3C,SAAgB,IAAI,yBAAyB;IAC7C,SAAgB,WAAW,2BAA2B;IACtD,SAAgB,WAAW,oIAAoI;IAC/J,SAAgB,QAAQ,mBAAmB;IAC3C,SAAgB,OAAO,WAAW;IAClC,SAAgB,cAAc,QAAQ;IAEtC,SAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;MA0BzB;gBAEkB,eAAe,EAAE,kBAAkB;IAEjD,OAAO,CACX,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,gBAAgB,GAAG,UAAU,CAAC;QACtE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,EACD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CAiEhC"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ManageGroupTool = void 0;
4
+ /**
5
+ * Tool for managing Telegram groups
6
+ *
7
+ * @class ManageGroupTool
8
+ * @implements {ITool}
9
+ */
10
+ class ManageGroupTool {
11
+ constructor(telegramService) {
12
+ this.telegramService = telegramService;
13
+ this.id = 'telegramManageGroup';
14
+ this.name = 'telegramManageGroup';
15
+ this.displayName = 'Manage Telegram Group';
16
+ this.description = 'Manage Telegram group settings including pinning messages, setting descriptions, and managing members (requires admin rights).';
17
+ this.category = 'communication';
18
+ this.version = '1.0.0';
19
+ this.hasSideEffects = true;
20
+ this.inputSchema = {
21
+ type: 'object',
22
+ required: ['chatId', 'action'],
23
+ properties: {
24
+ chatId: {
25
+ type: ['string', 'number'],
26
+ description: 'Unique identifier for the target group'
27
+ },
28
+ action: {
29
+ type: 'string',
30
+ enum: ['pinMessage', 'unpinMessage', 'setDescription', 'setTitle'],
31
+ description: 'Management action to perform'
32
+ },
33
+ messageId: {
34
+ type: 'number',
35
+ description: 'Message ID (for pin/unpin actions)'
36
+ },
37
+ text: {
38
+ type: 'string',
39
+ description: 'Text content (for setDescription, setTitle)'
40
+ },
41
+ disableNotification: {
42
+ type: 'boolean',
43
+ description: 'Disable notification for pin action'
44
+ }
45
+ }
46
+ };
47
+ }
48
+ async execute(args, context) {
49
+ try {
50
+ const bot = this.telegramService.getBotInstance();
51
+ if (!bot) {
52
+ throw new Error('Bot not initialized');
53
+ }
54
+ let result;
55
+ switch (args.action) {
56
+ case 'pinMessage':
57
+ if (!args.messageId) {
58
+ throw new Error('messageId required for pinMessage');
59
+ }
60
+ result = await this.telegramService.pinMessage(args.chatId, args.messageId, args.disableNotification);
61
+ break;
62
+ case 'unpinMessage':
63
+ if (!args.messageId) {
64
+ throw new Error('messageId required for unpinMessage');
65
+ }
66
+ result = await bot.unpinChatMessage(args.chatId, { message_id: args.messageId });
67
+ break;
68
+ case 'setDescription':
69
+ if (!args.text) {
70
+ throw new Error('text required for setDescription');
71
+ }
72
+ result = await bot.setChatDescription(args.chatId, args.text);
73
+ break;
74
+ case 'setTitle':
75
+ if (!args.text) {
76
+ throw new Error('text required for setTitle');
77
+ }
78
+ result = await bot.setChatTitle(args.chatId, args.text);
79
+ break;
80
+ default:
81
+ throw new Error(`Unknown action: ${args.action}`);
82
+ }
83
+ return {
84
+ success: true,
85
+ output: {
86
+ action: args.action,
87
+ chatId: args.chatId,
88
+ success: result === true
89
+ }
90
+ };
91
+ }
92
+ catch (error) {
93
+ return {
94
+ success: false,
95
+ error: error.message,
96
+ details: {
97
+ code: error.code,
98
+ description: error.description || 'Bot may not have required admin rights'
99
+ }
100
+ };
101
+ }
102
+ }
103
+ }
104
+ exports.ManageGroupTool = ManageGroupTool;
105
+ //# sourceMappingURL=manageGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manageGroup.js","sourceRoot":"","sources":["../../src/tools/manageGroup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { ITool, ToolExecutionContext, ToolExecutionResult } from '@framers/agentos';
2
+ import { TelegramBotService } from '../services/telegramBot';
3
+ /**
4
+ * Tool for sending documents via Telegram
5
+ *
6
+ * @class SendDocumentTool
7
+ * @implements {ITool}
8
+ */
9
+ export declare class SendDocumentTool implements ITool {
10
+ private telegramService;
11
+ readonly id = "telegramSendDocument";
12
+ readonly name = "telegramSendDocument";
13
+ readonly displayName = "Send Telegram Document";
14
+ readonly description = "Send a document file to a Telegram chat. Supports various file types including PDFs, archives, and office documents.";
15
+ readonly category = "communication";
16
+ readonly version = "1.0.0";
17
+ readonly hasSideEffects = true;
18
+ readonly inputSchema: {
19
+ type: string;
20
+ required: string[];
21
+ properties: {
22
+ chatId: {
23
+ type: string[];
24
+ description: string;
25
+ };
26
+ document: {
27
+ type: string;
28
+ description: string;
29
+ };
30
+ caption: {
31
+ type: string;
32
+ description: string;
33
+ };
34
+ filename: {
35
+ type: string;
36
+ description: string;
37
+ };
38
+ parseMode: {
39
+ type: string;
40
+ enum: string[];
41
+ description: string;
42
+ };
43
+ replyToMessageId: {
44
+ type: string;
45
+ description: string;
46
+ };
47
+ };
48
+ };
49
+ constructor(telegramService: TelegramBotService);
50
+ execute(args: {
51
+ chatId: string | number;
52
+ document: string;
53
+ caption?: string;
54
+ filename?: string;
55
+ parseMode?: 'Markdown' | 'HTML';
56
+ replyToMessageId?: number;
57
+ }, context: ToolExecutionContext): Promise<ToolExecutionResult>;
58
+ }
59
+ //# sourceMappingURL=sendDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendDocument.d.ts","sourceRoot":"","sources":["../../src/tools/sendDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,KAAK;IAyChC,OAAO,CAAC,eAAe;IAxCnC,SAAgB,EAAE,0BAA0B;IAC5C,SAAgB,IAAI,0BAA0B;IAC9C,SAAgB,WAAW,4BAA4B;IACvD,SAAgB,WAAW,0HAA0H;IACrJ,SAAgB,QAAQ,mBAAmB;IAC3C,SAAgB,OAAO,WAAW;IAClC,SAAgB,cAAc,QAAQ;IAEtC,SAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8BzB;gBAEkB,eAAe,EAAE,kBAAkB;IAEjD,OAAO,CACX,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,EACD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CAqChC"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SendDocumentTool = void 0;
4
+ /**
5
+ * Tool for sending documents via Telegram
6
+ *
7
+ * @class SendDocumentTool
8
+ * @implements {ITool}
9
+ */
10
+ class SendDocumentTool {
11
+ constructor(telegramService) {
12
+ this.telegramService = telegramService;
13
+ this.id = 'telegramSendDocument';
14
+ this.name = 'telegramSendDocument';
15
+ this.displayName = 'Send Telegram Document';
16
+ this.description = 'Send a document file to a Telegram chat. Supports various file types including PDFs, archives, and office documents.';
17
+ this.category = 'communication';
18
+ this.version = '1.0.0';
19
+ this.hasSideEffects = true;
20
+ this.inputSchema = {
21
+ type: 'object',
22
+ required: ['chatId', 'document'],
23
+ properties: {
24
+ chatId: {
25
+ type: ['string', 'number'],
26
+ description: 'Unique identifier for the target chat'
27
+ },
28
+ document: {
29
+ type: 'string',
30
+ description: 'Document URL, file path, or base64 encoded file'
31
+ },
32
+ caption: {
33
+ type: 'string',
34
+ description: 'Document caption, 0-1024 characters'
35
+ },
36
+ filename: {
37
+ type: 'string',
38
+ description: 'Original filename to display'
39
+ },
40
+ parseMode: {
41
+ type: 'string',
42
+ enum: ['Markdown', 'HTML'],
43
+ description: 'Mode for parsing entities in the caption'
44
+ },
45
+ replyToMessageId: {
46
+ type: 'number',
47
+ description: 'If the message is a reply, ID of the original message'
48
+ }
49
+ }
50
+ };
51
+ }
52
+ async execute(args, context) {
53
+ try {
54
+ // Convert base64 to buffer if needed
55
+ let documentData = args.document;
56
+ if (args.document.startsWith('data:')) {
57
+ const base64Data = args.document.split(',')[1];
58
+ documentData = Buffer.from(base64Data, 'base64');
59
+ }
60
+ const message = await this.telegramService.sendDocument(args.chatId, documentData, {
61
+ caption: args.caption,
62
+ filename: args.filename,
63
+ parseMode: args.parseMode,
64
+ replyToMessageId: args.replyToMessageId
65
+ });
66
+ return {
67
+ success: true,
68
+ output: {
69
+ messageId: message.message_id,
70
+ chatId: message.chat.id,
71
+ date: message.date,
72
+ documentId: message.document?.file_id
73
+ }
74
+ };
75
+ }
76
+ catch (error) {
77
+ return {
78
+ success: false,
79
+ error: error.message,
80
+ details: { code: error.code }
81
+ };
82
+ }
83
+ }
84
+ }
85
+ exports.SendDocumentTool = SendDocumentTool;
86
+ //# sourceMappingURL=sendDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendDocument.js","sourceRoot":"","sources":["../../src/tools/sendDocument.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACH,MAAa,gBAAgB;IAyC3B,YAAoB,eAAmC;QAAnC,oBAAe,GAAf,eAAe,CAAoB;QAxCvC,OAAE,GAAG,sBAAsB,CAAC;QAC5B,SAAI,GAAG,sBAAsB,CAAC;QAC9B,gBAAW,GAAG,wBAAwB,CAAC;QACvC,gBAAW,GAAG,sHAAsH,CAAC;QACrI,aAAQ,GAAG,eAAe,CAAC;QAC3B,YAAO,GAAG,OAAO,CAAC;QAClB,mBAAc,GAAG,IAAI,CAAC;QAEtB,gBAAW,GAAG;YAC5B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;YAChC,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAC1B,WAAW,EAAE,uCAAuC;iBACrD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iDAAiD;iBAC/D;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qCAAqC;iBACnD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;oBAC1B,WAAW,EAAE,0CAA0C;iBACxD;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;aACF;SACF,CAAC;IAEwD,CAAC;IAE3D,KAAK,CAAC,OAAO,CACX,IAOC,EACD,OAA6B;QAE7B,IAAI,CAAC;YACH,qCAAqC;YACrC,IAAI,YAAY,GAAoB,IAAI,CAAC,QAAQ,CAAC;YAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrD,IAAI,CAAC,MAAM,EACX,YAAY,EACZ;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CACF,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE;oBACN,SAAS,EAAE,OAAO,CAAC,UAAU;oBAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;oBACvB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;aAC9B,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA1FD,4CA0FC"}
@@ -0,0 +1,94 @@
1
+ import { ITool, ToolExecutionContext, ToolExecutionResult } from '@framers/agentos';
2
+ import { TelegramBotService } from '../services/telegramBot';
3
+ /**
4
+ * Tool for sending text messages via Telegram
5
+ *
6
+ * @class SendMessageTool
7
+ * @implements {ITool}
8
+ */
9
+ export declare class SendMessageTool implements ITool {
10
+ private telegramService;
11
+ readonly id = "telegramSendMessage";
12
+ readonly name = "telegramSendMessage";
13
+ readonly displayName = "Send Telegram Message";
14
+ readonly description = "Send a text message to a Telegram chat or user. Supports Markdown and HTML formatting, reply to messages, and custom keyboards.";
15
+ readonly category = "communication";
16
+ readonly version = "1.0.0";
17
+ readonly hasSideEffects = true;
18
+ readonly inputSchema: {
19
+ type: string;
20
+ required: string[];
21
+ properties: {
22
+ chatId: {
23
+ type: string[];
24
+ description: string;
25
+ };
26
+ text: {
27
+ type: string;
28
+ description: string;
29
+ };
30
+ parseMode: {
31
+ type: string;
32
+ enum: string[];
33
+ description: string;
34
+ };
35
+ replyToMessageId: {
36
+ type: string;
37
+ description: string;
38
+ };
39
+ disableNotification: {
40
+ type: string;
41
+ description: string;
42
+ };
43
+ replyMarkup: {
44
+ type: string;
45
+ description: string;
46
+ };
47
+ };
48
+ };
49
+ readonly outputSchema: {
50
+ type: string;
51
+ properties: {
52
+ messageId: {
53
+ type: string;
54
+ description: string;
55
+ };
56
+ chatId: {
57
+ type: string[];
58
+ description: string;
59
+ };
60
+ date: {
61
+ type: string;
62
+ description: string;
63
+ };
64
+ text: {
65
+ type: string;
66
+ description: string;
67
+ };
68
+ };
69
+ };
70
+ /**
71
+ * Creates an instance of SendMessageTool
72
+ * @param {TelegramBotService} telegramService - The Telegram service
73
+ */
74
+ constructor(telegramService: TelegramBotService);
75
+ /**
76
+ * Executes the message sending
77
+ */
78
+ execute(args: {
79
+ chatId: string | number;
80
+ text: string;
81
+ parseMode?: 'Markdown' | 'HTML';
82
+ replyToMessageId?: number;
83
+ disableNotification?: boolean;
84
+ replyMarkup?: any;
85
+ }, context: ToolExecutionContext): Promise<ToolExecutionResult>;
86
+ /**
87
+ * Validates input arguments
88
+ */
89
+ validateArgs(args: Record<string, any>): {
90
+ isValid: boolean;
91
+ errors?: string[];
92
+ };
93
+ }
94
+ //# sourceMappingURL=sendMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendMessage.d.ts","sourceRoot":"","sources":["../../src/tools/sendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,KAAK;IAmE/B,OAAO,CAAC,eAAe;IAlEnC,SAAgB,EAAE,yBAAyB;IAC3C,SAAgB,IAAI,yBAAyB;IAC7C,SAAgB,WAAW,2BAA2B;IACtD,SAAgB,WAAW,qIAAqI;IAChK,SAAgB,QAAQ,mBAAmB;IAC3C,SAAgB,OAAO,WAAW;IAClC,SAAgB,cAAc,QAAQ;IAEtC,SAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8BzB;IAEF,SAAgB,YAAY;;;;;;;;;;;;;;;;;;;;MAoB1B;IAEF;;;OAGG;gBACiB,eAAe,EAAE,kBAAkB;IAEvD;;OAEG;IACG,OAAO,CACX,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,WAAW,CAAC,EAAE,GAAG,CAAC;KACnB,EACD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAqC/B;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;CAwBjF"}