@marktoflow/integrations 2.0.0-alpha.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1341 -0
- package/dist/adapters/claude-agent-hooks.d.ts.map +1 -0
- package/dist/adapters/claude-agent-hooks.js +339 -0
- package/dist/adapters/claude-agent-hooks.js.map +1 -0
- package/dist/adapters/claude-agent-types.d.ts +426 -0
- package/dist/adapters/claude-agent-types.d.ts.map +1 -0
- package/dist/adapters/claude-agent-types.js +62 -0
- package/dist/adapters/claude-agent-types.js.map +1 -0
- package/dist/adapters/claude-agent-workflow.d.ts +393 -0
- package/dist/adapters/claude-agent-workflow.d.ts.map +1 -0
- package/dist/adapters/claude-agent-workflow.js +445 -0
- package/dist/adapters/claude-agent-workflow.js.map +1 -0
- package/dist/adapters/claude-agent.d.ts +189 -0
- package/dist/adapters/claude-agent.d.ts.map +1 -0
- package/dist/adapters/claude-agent.js +504 -0
- package/dist/adapters/claude-agent.js.map +1 -0
- package/dist/adapters/claude-code.d.ts +34 -0
- package/dist/adapters/claude-code.d.ts.map +1 -0
- package/dist/adapters/claude-code.js +89 -0
- package/dist/adapters/claude-code.js.map +1 -0
- package/dist/adapters/codex-types.d.ts +463 -0
- package/dist/adapters/codex-types.d.ts.map +1 -0
- package/dist/adapters/codex-types.js +53 -0
- package/dist/adapters/codex-types.js.map +1 -0
- package/dist/adapters/codex-workflow.d.ts +414 -0
- package/dist/adapters/codex-workflow.d.ts.map +1 -0
- package/dist/adapters/codex-workflow.js +470 -0
- package/dist/adapters/codex-workflow.js.map +1 -0
- package/dist/adapters/codex.d.ts +154 -0
- package/dist/adapters/codex.d.ts.map +1 -0
- package/dist/adapters/codex.js +416 -0
- package/dist/adapters/codex.js.map +1 -0
- package/dist/adapters/github-copilot-types.d.ts +1012 -0
- package/dist/adapters/github-copilot-types.d.ts.map +1 -0
- package/dist/adapters/github-copilot-types.js +80 -0
- package/dist/adapters/github-copilot-types.js.map +1 -0
- package/dist/adapters/github-copilot-workflow.d.ts +462 -0
- package/dist/adapters/github-copilot-workflow.d.ts.map +1 -0
- package/dist/adapters/github-copilot-workflow.js +473 -0
- package/dist/adapters/github-copilot-workflow.js.map +1 -0
- package/dist/adapters/github-copilot.d.ts +280 -0
- package/dist/adapters/github-copilot.d.ts.map +1 -0
- package/dist/adapters/github-copilot.js +468 -0
- package/dist/adapters/github-copilot.js.map +1 -0
- package/dist/adapters/ollama.d.ts.map +1 -0
- package/dist/adapters/ollama.js +9 -0
- package/dist/adapters/ollama.js.map +1 -0
- package/dist/adapters/opencode.d.ts +41 -0
- package/dist/adapters/opencode.d.ts.map +1 -0
- package/dist/adapters/opencode.js +148 -0
- package/dist/adapters/opencode.js.map +1 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +161 -0
- package/dist/index.js.map +1 -0
- package/dist/services/ai-browser.d.ts +112 -0
- package/dist/services/ai-browser.d.ts.map +1 -0
- package/dist/services/ai-browser.js +363 -0
- package/dist/services/ai-browser.js.map +1 -0
- package/dist/services/airtable.d.ts.map +1 -0
- package/dist/services/airtable.js +295 -0
- package/dist/services/airtable.js.map +1 -0
- package/dist/services/asana.d.ts +159 -0
- package/dist/services/asana.d.ts.map +1 -0
- package/dist/services/asana.js +196 -0
- package/dist/services/asana.js.map +1 -0
- package/dist/services/aws-s3.d.ts +89 -0
- package/dist/services/aws-s3.d.ts.map +1 -0
- package/dist/services/aws-s3.js +154 -0
- package/dist/services/aws-s3.js.map +1 -0
- package/dist/services/confluence.d.ts.map +1 -0
- package/dist/services/confluence.js +356 -0
- package/dist/services/confluence.js.map +1 -0
- package/dist/services/discord.d.ts.map +1 -0
- package/dist/services/discord.js +279 -0
- package/dist/services/discord.js.map +1 -0
- package/dist/services/dropbox.d.ts +134 -0
- package/dist/services/dropbox.d.ts.map +1 -0
- package/dist/services/dropbox.js +190 -0
- package/dist/services/dropbox.js.map +1 -0
- package/dist/services/github.d.ts.map +1 -0
- package/dist/services/github.js +13 -0
- package/dist/services/github.js.map +1 -0
- package/dist/services/gmail-trigger.d.ts.map +1 -0
- package/dist/services/gmail-trigger.js +172 -0
- package/dist/services/gmail-trigger.js.map +1 -0
- package/dist/services/gmail.d.ts.map +1 -0
- package/dist/services/gmail.js +372 -0
- package/dist/services/gmail.js.map +1 -0
- package/dist/services/google-calendar.d.ts.map +1 -0
- package/dist/services/google-calendar.js +357 -0
- package/dist/services/google-calendar.js.map +1 -0
- package/dist/services/google-docs.d.ts.map +1 -0
- package/dist/services/google-docs.js +332 -0
- package/dist/services/google-docs.js.map +1 -0
- package/dist/services/google-drive.d.ts.map +1 -0
- package/dist/services/google-drive.js +327 -0
- package/dist/services/google-drive.js.map +1 -0
- package/dist/services/google-sheets.d.ts.map +1 -0
- package/dist/services/google-sheets.js +391 -0
- package/dist/services/google-sheets.js.map +1 -0
- package/dist/services/http.d.ts.map +1 -0
- package/dist/services/http.js +284 -0
- package/dist/services/http.js.map +1 -0
- package/dist/services/jira.d.ts.map +1 -0
- package/dist/services/jira.js +35 -0
- package/dist/services/jira.js.map +1 -0
- package/dist/services/linear.d.ts.map +1 -0
- package/dist/services/linear.js +326 -0
- package/dist/services/linear.js.map +1 -0
- package/dist/services/mailchimp.d.ts +169 -0
- package/dist/services/mailchimp.d.ts.map +1 -0
- package/dist/services/mailchimp.js +180 -0
- package/dist/services/mailchimp.js.map +1 -0
- package/dist/services/mysql.d.ts.map +1 -0
- package/dist/services/mysql.js +250 -0
- package/dist/services/mysql.js.map +1 -0
- package/dist/services/notion.d.ts.map +1 -0
- package/dist/services/notion.js +358 -0
- package/dist/services/notion.js.map +1 -0
- package/dist/services/outlook-trigger.d.ts.map +1 -0
- package/dist/services/outlook-trigger.js +204 -0
- package/dist/services/outlook-trigger.js.map +1 -0
- package/dist/services/outlook.d.ts.map +1 -0
- package/dist/services/outlook.js +486 -0
- package/dist/services/outlook.js.map +1 -0
- package/dist/services/playwright.d.ts +678 -0
- package/dist/services/playwright.d.ts.map +1 -0
- package/dist/services/playwright.js +1141 -0
- package/dist/services/playwright.js.map +1 -0
- package/dist/services/postgres.d.ts.map +1 -0
- package/dist/services/postgres.js +230 -0
- package/dist/services/postgres.js.map +1 -0
- package/dist/services/sendgrid.d.ts +43 -0
- package/dist/services/sendgrid.d.ts.map +1 -0
- package/dist/services/sendgrid.js +87 -0
- package/dist/services/sendgrid.js.map +1 -0
- package/dist/services/shopify.d.ts +160 -0
- package/dist/services/shopify.d.ts.map +1 -0
- package/dist/services/shopify.js +166 -0
- package/dist/services/shopify.js.map +1 -0
- package/dist/services/slack-socket.d.ts.map +1 -0
- package/dist/services/slack-socket.js +48 -0
- package/dist/services/slack-socket.js.map +1 -0
- package/dist/services/slack.d.ts.map +1 -0
- package/dist/services/slack.js +11 -0
- package/dist/services/slack.js.map +1 -0
- package/dist/services/stripe.d.ts +275 -0
- package/dist/services/stripe.d.ts.map +1 -0
- package/dist/services/stripe.js +229 -0
- package/dist/services/stripe.js.map +1 -0
- package/dist/services/supabase.d.ts.map +1 -0
- package/dist/services/supabase.js +328 -0
- package/dist/services/supabase.js.map +1 -0
- package/dist/services/teams.d.ts +224 -0
- package/dist/services/teams.d.ts.map +1 -0
- package/dist/services/teams.js +229 -0
- package/dist/services/teams.js.map +1 -0
- package/dist/services/telegram.d.ts.map +1 -0
- package/dist/services/telegram.js +247 -0
- package/dist/services/telegram.js.map +1 -0
- package/dist/services/trello.d.ts +160 -0
- package/dist/services/trello.d.ts.map +1 -0
- package/dist/services/trello.js +194 -0
- package/dist/services/trello.js.map +1 -0
- package/dist/services/twilio.d.ts +126 -0
- package/dist/services/twilio.d.ts.map +1 -0
- package/dist/services/twilio.js +153 -0
- package/dist/services/twilio.js.map +1 -0
- package/dist/services/whatsapp.d.ts.map +1 -0
- package/dist/services/whatsapp.js +253 -0
- package/dist/services/whatsapp.js.map +1 -0
- package/dist/services/zendesk.d.ts +134 -0
- package/dist/services/zendesk.d.ts.map +1 -0
- package/dist/services/zendesk.js +148 -0
- package/dist/services/zendesk.js.map +1 -0
- package/dist/tools/script.d.ts +21 -0
- package/dist/tools/script.d.ts.map +1 -0
- package/dist/tools/script.js +136 -0
- package/dist/tools/script.js.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Telegram Integration
|
|
3
|
+
*
|
|
4
|
+
* Messaging platform with bot API.
|
|
5
|
+
* API Docs: https://core.telegram.org/bots/api
|
|
6
|
+
*/
|
|
7
|
+
const TELEGRAM_API_URL = 'https://api.telegram.org';
|
|
8
|
+
/**
|
|
9
|
+
* Telegram Bot API client for workflow integration
|
|
10
|
+
*/
|
|
11
|
+
export class TelegramClient {
|
|
12
|
+
apiUrl;
|
|
13
|
+
constructor(token) {
|
|
14
|
+
this.apiUrl = `${TELEGRAM_API_URL}/bot${token}`;
|
|
15
|
+
}
|
|
16
|
+
async request(method, params) {
|
|
17
|
+
const response = await fetch(`${this.apiUrl}/${method}`, {
|
|
18
|
+
method: 'POST',
|
|
19
|
+
headers: {
|
|
20
|
+
'Content-Type': 'application/json',
|
|
21
|
+
},
|
|
22
|
+
body: params ? JSON.stringify(params) : undefined,
|
|
23
|
+
});
|
|
24
|
+
const data = (await response.json());
|
|
25
|
+
if (!data.ok) {
|
|
26
|
+
throw new Error(`Telegram API error: ${data.description ?? 'Unknown error'}`);
|
|
27
|
+
}
|
|
28
|
+
return data.result;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get bot information
|
|
32
|
+
*/
|
|
33
|
+
async getMe() {
|
|
34
|
+
return this.request('getMe');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Send a text message
|
|
38
|
+
*/
|
|
39
|
+
async sendMessage(options) {
|
|
40
|
+
return this.request('sendMessage', {
|
|
41
|
+
chat_id: options.chatId,
|
|
42
|
+
text: options.text,
|
|
43
|
+
parse_mode: options.parseMode,
|
|
44
|
+
disable_web_page_preview: options.disableWebPagePreview,
|
|
45
|
+
disable_notification: options.disableNotification,
|
|
46
|
+
reply_to_message_id: options.replyToMessageId,
|
|
47
|
+
reply_markup: options.replyMarkup
|
|
48
|
+
? {
|
|
49
|
+
inline_keyboard: options.replyMarkup.inlineKeyboard?.map((row) => row.map((btn) => ({
|
|
50
|
+
text: btn.text,
|
|
51
|
+
url: btn.url,
|
|
52
|
+
callback_data: btn.callbackData,
|
|
53
|
+
}))),
|
|
54
|
+
keyboard: options.replyMarkup.keyboard,
|
|
55
|
+
resize_keyboard: options.replyMarkup.resizeKeyboard,
|
|
56
|
+
one_time_keyboard: options.replyMarkup.oneTimeKeyboard,
|
|
57
|
+
remove_keyboard: options.replyMarkup.removeKeyboard,
|
|
58
|
+
}
|
|
59
|
+
: undefined,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Send a photo
|
|
64
|
+
*/
|
|
65
|
+
async sendPhoto(options) {
|
|
66
|
+
return this.request('sendPhoto', {
|
|
67
|
+
chat_id: options.chatId,
|
|
68
|
+
photo: options.photo,
|
|
69
|
+
caption: options.caption,
|
|
70
|
+
parse_mode: options.parseMode,
|
|
71
|
+
disable_notification: options.disableNotification,
|
|
72
|
+
reply_to_message_id: options.replyToMessageId,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Send a document
|
|
77
|
+
*/
|
|
78
|
+
async sendDocument(options) {
|
|
79
|
+
return this.request('sendDocument', {
|
|
80
|
+
chat_id: options.chatId,
|
|
81
|
+
document: options.document,
|
|
82
|
+
caption: options.caption,
|
|
83
|
+
parse_mode: options.parseMode,
|
|
84
|
+
disable_notification: options.disableNotification,
|
|
85
|
+
reply_to_message_id: options.replyToMessageId,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Edit a message text
|
|
90
|
+
*/
|
|
91
|
+
async editMessageText(chatId, messageId, text, options) {
|
|
92
|
+
return this.request('editMessageText', {
|
|
93
|
+
chat_id: chatId,
|
|
94
|
+
message_id: messageId,
|
|
95
|
+
text,
|
|
96
|
+
parse_mode: options?.parseMode,
|
|
97
|
+
reply_markup: options?.replyMarkup,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Delete a message
|
|
102
|
+
*/
|
|
103
|
+
async deleteMessage(chatId, messageId) {
|
|
104
|
+
return this.request('deleteMessage', {
|
|
105
|
+
chat_id: chatId,
|
|
106
|
+
message_id: messageId,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Forward a message
|
|
111
|
+
*/
|
|
112
|
+
async forwardMessage(chatId, fromChatId, messageId, disableNotification) {
|
|
113
|
+
return this.request('forwardMessage', {
|
|
114
|
+
chat_id: chatId,
|
|
115
|
+
from_chat_id: fromChatId,
|
|
116
|
+
message_id: messageId,
|
|
117
|
+
disable_notification: disableNotification,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get updates (for polling)
|
|
122
|
+
*/
|
|
123
|
+
async getUpdates(options = {}) {
|
|
124
|
+
return this.request('getUpdates', {
|
|
125
|
+
offset: options.offset,
|
|
126
|
+
limit: options.limit ?? 100,
|
|
127
|
+
timeout: options.timeout ?? 0,
|
|
128
|
+
allowed_updates: options.allowedUpdates,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Set webhook for receiving updates
|
|
133
|
+
*/
|
|
134
|
+
async setWebhook(url, options) {
|
|
135
|
+
return this.request('setWebhook', {
|
|
136
|
+
url,
|
|
137
|
+
max_connections: options?.maxConnections,
|
|
138
|
+
allowed_updates: options?.allowedUpdates,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Delete webhook
|
|
143
|
+
*/
|
|
144
|
+
async deleteWebhook() {
|
|
145
|
+
return this.request('deleteWebhook');
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Get webhook info
|
|
149
|
+
*/
|
|
150
|
+
async getWebhookInfo() {
|
|
151
|
+
return this.request('getWebhookInfo');
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Send chat action (typing, upload_photo, etc.)
|
|
155
|
+
*/
|
|
156
|
+
async sendChatAction(chatId, action) {
|
|
157
|
+
return this.request('sendChatAction', {
|
|
158
|
+
chat_id: chatId,
|
|
159
|
+
action,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get chat information
|
|
164
|
+
*/
|
|
165
|
+
async getChat(chatId) {
|
|
166
|
+
return this.request('getChat', {
|
|
167
|
+
chat_id: chatId,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get chat member
|
|
172
|
+
*/
|
|
173
|
+
async getChatMember(chatId, userId) {
|
|
174
|
+
return this.request('getChatMember', {
|
|
175
|
+
chat_id: chatId,
|
|
176
|
+
user_id: userId,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Get chat administrators
|
|
181
|
+
*/
|
|
182
|
+
async getChatAdministrators(chatId) {
|
|
183
|
+
return this.request('getChatAdministrators', {
|
|
184
|
+
chat_id: chatId,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Get chat members count
|
|
189
|
+
*/
|
|
190
|
+
async getChatMembersCount(chatId) {
|
|
191
|
+
return this.request('getChatMembersCount', {
|
|
192
|
+
chat_id: chatId,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Answer callback query
|
|
197
|
+
*/
|
|
198
|
+
async answerCallbackQuery(callbackQueryId, options) {
|
|
199
|
+
return this.request('answerCallbackQuery', {
|
|
200
|
+
callback_query_id: callbackQueryId,
|
|
201
|
+
text: options?.text,
|
|
202
|
+
show_alert: options?.showAlert,
|
|
203
|
+
url: options?.url,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Pin a message
|
|
208
|
+
*/
|
|
209
|
+
async pinChatMessage(chatId, messageId, disableNotification) {
|
|
210
|
+
return this.request('pinChatMessage', {
|
|
211
|
+
chat_id: chatId,
|
|
212
|
+
message_id: messageId,
|
|
213
|
+
disable_notification: disableNotification,
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Unpin a message
|
|
218
|
+
*/
|
|
219
|
+
async unpinChatMessage(chatId, messageId) {
|
|
220
|
+
return this.request('unpinChatMessage', {
|
|
221
|
+
chat_id: chatId,
|
|
222
|
+
message_id: messageId,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Leave a chat
|
|
227
|
+
*/
|
|
228
|
+
async leaveChat(chatId) {
|
|
229
|
+
return this.request('leaveChat', {
|
|
230
|
+
chat_id: chatId,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
export const TelegramInitializer = {
|
|
235
|
+
async initialize(_module, config) {
|
|
236
|
+
const token = config.auth?.['token'];
|
|
237
|
+
if (!token) {
|
|
238
|
+
throw new Error('Telegram SDK requires auth.token (bot token)');
|
|
239
|
+
}
|
|
240
|
+
const client = new TelegramClient(token);
|
|
241
|
+
return {
|
|
242
|
+
client,
|
|
243
|
+
actions: client,
|
|
244
|
+
};
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
//# sourceMappingURL=telegram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/services/telegram.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trello Integration
|
|
3
|
+
*
|
|
4
|
+
* Visual project management with boards, lists, and cards.
|
|
5
|
+
* API Docs: https://developer.atlassian.com/cloud/trello/rest/
|
|
6
|
+
* SDK: https://github.com/norberteder/trello
|
|
7
|
+
*/
|
|
8
|
+
import Trello from 'trello';
|
|
9
|
+
import { SDKInitializer } from '@marktoflow/core';
|
|
10
|
+
export interface TrelloCard {
|
|
11
|
+
id?: string;
|
|
12
|
+
name: string;
|
|
13
|
+
desc?: string;
|
|
14
|
+
idList: string;
|
|
15
|
+
pos?: number | 'top' | 'bottom';
|
|
16
|
+
due?: string;
|
|
17
|
+
idMembers?: string[];
|
|
18
|
+
idLabels?: string[];
|
|
19
|
+
urlSource?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface TrelloList {
|
|
22
|
+
id?: string;
|
|
23
|
+
name: string;
|
|
24
|
+
idBoard: string;
|
|
25
|
+
pos?: number | 'top' | 'bottom';
|
|
26
|
+
closed?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface TrelloBoard {
|
|
29
|
+
id?: string;
|
|
30
|
+
name: string;
|
|
31
|
+
desc?: string;
|
|
32
|
+
closed?: boolean;
|
|
33
|
+
prefs?: {
|
|
34
|
+
permissionLevel?: 'private' | 'org' | 'public';
|
|
35
|
+
voting?: 'disabled' | 'members' | 'observers' | 'org' | 'public';
|
|
36
|
+
comments?: 'disabled' | 'members' | 'observers' | 'org' | 'public';
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface TrelloLabel {
|
|
40
|
+
id?: string;
|
|
41
|
+
name: string;
|
|
42
|
+
color: 'yellow' | 'purple' | 'blue' | 'red' | 'green' | 'orange' | 'black' | 'sky' | 'pink' | 'lime';
|
|
43
|
+
idBoard: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Trello client wrapper for workflow integration
|
|
47
|
+
*/
|
|
48
|
+
export declare class TrelloClient {
|
|
49
|
+
private client;
|
|
50
|
+
constructor(client: Trello);
|
|
51
|
+
/**
|
|
52
|
+
* Get board by ID
|
|
53
|
+
*/
|
|
54
|
+
getBoard(boardId: string): Promise<any>;
|
|
55
|
+
/**
|
|
56
|
+
* Create board
|
|
57
|
+
*/
|
|
58
|
+
createBoard(board: TrelloBoard): Promise<any>;
|
|
59
|
+
/**
|
|
60
|
+
* Update board
|
|
61
|
+
*/
|
|
62
|
+
updateBoard(boardId: string, updates: Partial<TrelloBoard>): Promise<any>;
|
|
63
|
+
/**
|
|
64
|
+
* Get lists on board
|
|
65
|
+
*/
|
|
66
|
+
getListsOnBoard(boardId: string): Promise<any>;
|
|
67
|
+
/**
|
|
68
|
+
* Get cards on board
|
|
69
|
+
*/
|
|
70
|
+
getCardsOnBoard(boardId: string): Promise<any>;
|
|
71
|
+
/**
|
|
72
|
+
* Get members of board
|
|
73
|
+
*/
|
|
74
|
+
getBoardMembers(boardId: string): Promise<any>;
|
|
75
|
+
/**
|
|
76
|
+
* Get list by ID
|
|
77
|
+
*/
|
|
78
|
+
getList(listId: string): Promise<any>;
|
|
79
|
+
/**
|
|
80
|
+
* Create list
|
|
81
|
+
*/
|
|
82
|
+
createList(list: TrelloList): Promise<any>;
|
|
83
|
+
/**
|
|
84
|
+
* Update list
|
|
85
|
+
*/
|
|
86
|
+
updateList(listId: string, updates: {
|
|
87
|
+
name?: string;
|
|
88
|
+
closed?: boolean;
|
|
89
|
+
pos?: number | string;
|
|
90
|
+
}): Promise<any>;
|
|
91
|
+
/**
|
|
92
|
+
* Get cards in list
|
|
93
|
+
*/
|
|
94
|
+
getCardsOnList(listId: string): Promise<any>;
|
|
95
|
+
/**
|
|
96
|
+
* Get card by ID
|
|
97
|
+
*/
|
|
98
|
+
getCard(cardId: string): Promise<any>;
|
|
99
|
+
/**
|
|
100
|
+
* Create card
|
|
101
|
+
*/
|
|
102
|
+
createCard(card: TrelloCard): Promise<any>;
|
|
103
|
+
/**
|
|
104
|
+
* Update card
|
|
105
|
+
*/
|
|
106
|
+
updateCard(cardId: string, updates: Partial<TrelloCard>): Promise<any>;
|
|
107
|
+
/**
|
|
108
|
+
* Delete card
|
|
109
|
+
*/
|
|
110
|
+
deleteCard(cardId: string): Promise<any>;
|
|
111
|
+
/**
|
|
112
|
+
* Add comment to card
|
|
113
|
+
*/
|
|
114
|
+
addCommentToCard(cardId: string, comment: string): Promise<any>;
|
|
115
|
+
/**
|
|
116
|
+
* Add member to card
|
|
117
|
+
*/
|
|
118
|
+
addMemberToCard(cardId: string, memberId: string): Promise<any>;
|
|
119
|
+
/**
|
|
120
|
+
* Add attachment to card
|
|
121
|
+
*/
|
|
122
|
+
addAttachmentToCard(cardId: string, url: string): Promise<any>;
|
|
123
|
+
/**
|
|
124
|
+
* Add checklist to card
|
|
125
|
+
*/
|
|
126
|
+
addChecklistToCard(cardId: string, name: string): Promise<any>;
|
|
127
|
+
/**
|
|
128
|
+
* Get labels on board
|
|
129
|
+
*/
|
|
130
|
+
getLabelsForBoard(boardId: string): Promise<any>;
|
|
131
|
+
/**
|
|
132
|
+
* Create label
|
|
133
|
+
*/
|
|
134
|
+
createLabel(label: TrelloLabel): Promise<any>;
|
|
135
|
+
/**
|
|
136
|
+
* Add label to card
|
|
137
|
+
*/
|
|
138
|
+
addLabelToCard(cardId: string, labelId: string): Promise<any>;
|
|
139
|
+
/**
|
|
140
|
+
* Remove label from card
|
|
141
|
+
*/
|
|
142
|
+
removeLabelFromCard(cardId: string, labelId: string): Promise<any>;
|
|
143
|
+
/**
|
|
144
|
+
* Get checklist
|
|
145
|
+
*/
|
|
146
|
+
getChecklist(checklistId: string): Promise<any>;
|
|
147
|
+
/**
|
|
148
|
+
* Add item to checklist
|
|
149
|
+
*/
|
|
150
|
+
addItemToChecklist(checklistId: string, name: string): Promise<any>;
|
|
151
|
+
/**
|
|
152
|
+
* Update checklist item
|
|
153
|
+
*/
|
|
154
|
+
updateChecklistItem(checklistId: string, itemId: string, updates: {
|
|
155
|
+
name?: string;
|
|
156
|
+
state?: 'complete' | 'incomplete';
|
|
157
|
+
}): Promise<any>;
|
|
158
|
+
}
|
|
159
|
+
export declare const TrelloInitializer: SDKInitializer;
|
|
160
|
+
//# sourceMappingURL=trello.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trello.d.ts","sourceRoot":"","sources":["../../src/services/trello.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trello Integration
|
|
3
|
+
*
|
|
4
|
+
* Visual project management with boards, lists, and cards.
|
|
5
|
+
* API Docs: https://developer.atlassian.com/cloud/trello/rest/
|
|
6
|
+
* SDK: https://github.com/norberteder/trello
|
|
7
|
+
*/
|
|
8
|
+
// @ts-expect-error - trello doesn't have types
|
|
9
|
+
import Trello from 'trello';
|
|
10
|
+
/**
|
|
11
|
+
* Trello client wrapper for workflow integration
|
|
12
|
+
*/
|
|
13
|
+
export class TrelloClient {
|
|
14
|
+
client;
|
|
15
|
+
constructor(client) {
|
|
16
|
+
this.client = client;
|
|
17
|
+
}
|
|
18
|
+
// ==================== Boards ====================
|
|
19
|
+
/**
|
|
20
|
+
* Get board by ID
|
|
21
|
+
*/
|
|
22
|
+
async getBoard(boardId) {
|
|
23
|
+
return await this.client.getBoard(boardId);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create board
|
|
27
|
+
*/
|
|
28
|
+
async createBoard(board) {
|
|
29
|
+
return await this.client.addBoard(board.name, board.desc, undefined, board.prefs);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Update board
|
|
33
|
+
*/
|
|
34
|
+
async updateBoard(boardId, updates) {
|
|
35
|
+
return await this.client.updateBoard(boardId, updates);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get lists on board
|
|
39
|
+
*/
|
|
40
|
+
async getListsOnBoard(boardId) {
|
|
41
|
+
return await this.client.getListsOnBoard(boardId);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get cards on board
|
|
45
|
+
*/
|
|
46
|
+
async getCardsOnBoard(boardId) {
|
|
47
|
+
return await this.client.getCardsOnBoard(boardId);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get members of board
|
|
51
|
+
*/
|
|
52
|
+
async getBoardMembers(boardId) {
|
|
53
|
+
return await this.client.getBoardMembers(boardId);
|
|
54
|
+
}
|
|
55
|
+
// ==================== Lists ====================
|
|
56
|
+
/**
|
|
57
|
+
* Get list by ID
|
|
58
|
+
*/
|
|
59
|
+
async getList(listId) {
|
|
60
|
+
return await this.client.getListsOnBoard(listId);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create list
|
|
64
|
+
*/
|
|
65
|
+
async createList(list) {
|
|
66
|
+
return await this.client.addListToBoard(list.idBoard, list.name, list.pos);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Update list
|
|
70
|
+
*/
|
|
71
|
+
async updateList(listId, updates) {
|
|
72
|
+
return await this.client.updateList(listId, updates.name, updates.closed, updates.pos);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get cards in list
|
|
76
|
+
*/
|
|
77
|
+
async getCardsOnList(listId) {
|
|
78
|
+
return await this.client.getCardsOnList(listId);
|
|
79
|
+
}
|
|
80
|
+
// ==================== Cards ====================
|
|
81
|
+
/**
|
|
82
|
+
* Get card by ID
|
|
83
|
+
*/
|
|
84
|
+
async getCard(cardId) {
|
|
85
|
+
return await this.client.getCard(cardId);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Create card
|
|
89
|
+
*/
|
|
90
|
+
async createCard(card) {
|
|
91
|
+
return await this.client.addCard(card.name, card.desc || '', card.idList, card.pos, card.due, card.idMembers, card.idLabels, card.urlSource);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Update card
|
|
95
|
+
*/
|
|
96
|
+
async updateCard(cardId, updates) {
|
|
97
|
+
return await this.client.updateCard(cardId, updates.name, updates.desc, updates.due, updates.idList);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Delete card
|
|
101
|
+
*/
|
|
102
|
+
async deleteCard(cardId) {
|
|
103
|
+
return await this.client.deleteCard(cardId);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Add comment to card
|
|
107
|
+
*/
|
|
108
|
+
async addCommentToCard(cardId, comment) {
|
|
109
|
+
return await this.client.addCommentToCard(cardId, comment);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Add member to card
|
|
113
|
+
*/
|
|
114
|
+
async addMemberToCard(cardId, memberId) {
|
|
115
|
+
return await this.client.addMemberToCard(cardId, memberId);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Add attachment to card
|
|
119
|
+
*/
|
|
120
|
+
async addAttachmentToCard(cardId, url) {
|
|
121
|
+
return await this.client.addAttachmentToCard(cardId, url);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Add checklist to card
|
|
125
|
+
*/
|
|
126
|
+
async addChecklistToCard(cardId, name) {
|
|
127
|
+
return await this.client.addChecklistToCard(cardId, name);
|
|
128
|
+
}
|
|
129
|
+
// ==================== Labels ====================
|
|
130
|
+
/**
|
|
131
|
+
* Get labels on board
|
|
132
|
+
*/
|
|
133
|
+
async getLabelsForBoard(boardId) {
|
|
134
|
+
return await this.client.getLabelsForBoard(boardId);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Create label
|
|
138
|
+
*/
|
|
139
|
+
async createLabel(label) {
|
|
140
|
+
return await this.client.addLabelToBoard(label.idBoard, label.name, label.color);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Add label to card
|
|
144
|
+
*/
|
|
145
|
+
async addLabelToCard(cardId, labelId) {
|
|
146
|
+
return await this.client.addLabelToCard(cardId, labelId);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Remove label from card
|
|
150
|
+
*/
|
|
151
|
+
async removeLabelFromCard(cardId, labelId) {
|
|
152
|
+
return await this.client.deleteLabelFromCard(cardId, labelId);
|
|
153
|
+
}
|
|
154
|
+
// ==================== Checklists ====================
|
|
155
|
+
/**
|
|
156
|
+
* Get checklist
|
|
157
|
+
*/
|
|
158
|
+
async getChecklist(checklistId) {
|
|
159
|
+
return await this.client.getChecklist(checklistId);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Add item to checklist
|
|
163
|
+
*/
|
|
164
|
+
async addItemToChecklist(checklistId, name) {
|
|
165
|
+
return await this.client.addItemToChecklist(checklistId, name);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Update checklist item
|
|
169
|
+
*/
|
|
170
|
+
async updateChecklistItem(checklistId, itemId, updates) {
|
|
171
|
+
if (updates.state) {
|
|
172
|
+
return await this.client.updateCheckItemOnCard(checklistId, itemId, updates.state);
|
|
173
|
+
}
|
|
174
|
+
// SDK doesn't support name updates directly, would need raw API call
|
|
175
|
+
throw new Error('Updating checklist item name not supported by SDK');
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
export const TrelloInitializer = {
|
|
179
|
+
async initialize(_module, config) {
|
|
180
|
+
const apiKey = config.auth?.['api_key'];
|
|
181
|
+
const token = config.auth?.['token'];
|
|
182
|
+
if (!apiKey || !token) {
|
|
183
|
+
throw new Error('Trello SDK requires auth.api_key and auth.token');
|
|
184
|
+
}
|
|
185
|
+
const client = new Trello(apiKey, token);
|
|
186
|
+
const wrapper = new TrelloClient(client);
|
|
187
|
+
return {
|
|
188
|
+
client: wrapper,
|
|
189
|
+
actions: wrapper,
|
|
190
|
+
rawClient: client,
|
|
191
|
+
};
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=trello.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trello.js","sourceRoot":"","sources":["../../src/services/trello.ts"],"names":[],"mappings":"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"}
|