@spinabot/brigade 1.3.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -11
- package/convex/config.d.ts +2 -2
- package/convex/extensions.d.ts +2 -2
- package/convex/logs.d.ts +2 -2
- package/convex/memory.d.ts +7 -7
- package/convex/messages.d.ts +4 -4
- package/convex/schema.d.ts +17 -17
- package/convex/subagents.d.ts +12 -12
- package/dist/agents/agent-loop.d.ts +1 -0
- package/dist/agents/agent-loop.d.ts.map +1 -1
- package/dist/agents/agent-loop.js +1 -1
- package/dist/agents/agent-loop.js.map +1 -1
- package/dist/agents/channels/access-control/format-allow-from.d.ts +50 -0
- package/dist/agents/channels/access-control/format-allow-from.d.ts.map +1 -0
- package/dist/agents/channels/access-control/format-allow-from.js +64 -0
- package/dist/agents/channels/access-control/format-allow-from.js.map +1 -0
- package/dist/agents/channels/access-control/index.d.ts +2 -1
- package/dist/agents/channels/access-control/index.d.ts.map +1 -1
- package/dist/agents/channels/access-control/index.js +2 -1
- package/dist/agents/channels/access-control/index.js.map +1 -1
- package/dist/agents/channels/access-control/store.d.ts +15 -0
- package/dist/agents/channels/access-control/store.d.ts.map +1 -1
- package/dist/agents/channels/access-control/store.js +44 -1
- package/dist/agents/channels/access-control/store.js.map +1 -1
- package/dist/agents/channels/bundled-channel-metas.d.ts +26 -0
- package/dist/agents/channels/bundled-channel-metas.d.ts.map +1 -0
- package/dist/agents/channels/bundled-channel-metas.js +44 -0
- package/dist/agents/channels/bundled-channel-metas.js.map +1 -0
- package/dist/agents/channels/channel-messaging-registry.d.ts +130 -0
- package/dist/agents/channels/channel-messaging-registry.d.ts.map +1 -0
- package/dist/agents/channels/channel-messaging-registry.js +211 -0
- package/dist/agents/channels/channel-messaging-registry.js.map +1 -0
- package/dist/agents/channels/channel-meta-registry.d.ts +60 -0
- package/dist/agents/channels/channel-meta-registry.d.ts.map +1 -0
- package/dist/agents/channels/channel-meta-registry.js +128 -0
- package/dist/agents/channels/channel-meta-registry.js.map +1 -0
- package/dist/agents/channels/channel-security-registry.d.ts +138 -0
- package/dist/agents/channels/channel-security-registry.d.ts.map +1 -0
- package/dist/agents/channels/channel-security-registry.js +265 -0
- package/dist/agents/channels/channel-security-registry.js.map +1 -0
- package/dist/agents/channels/exposure.d.ts +44 -0
- package/dist/agents/channels/exposure.d.ts.map +1 -0
- package/dist/agents/channels/exposure.js +48 -0
- package/dist/agents/channels/exposure.js.map +1 -0
- package/dist/agents/channels/general-callback.d.ts +25 -0
- package/dist/agents/channels/general-callback.d.ts.map +1 -0
- package/dist/agents/channels/general-callback.js +31 -0
- package/dist/agents/channels/general-callback.js.map +1 -0
- package/dist/agents/channels/inbound-pipeline.d.ts +9 -0
- package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -1
- package/dist/agents/channels/inbound-pipeline.js +429 -39
- package/dist/agents/channels/inbound-pipeline.js.map +1 -1
- package/dist/agents/channels/markdown-capability.d.ts +44 -0
- package/dist/agents/channels/markdown-capability.d.ts.map +1 -0
- package/dist/agents/channels/markdown-capability.js +66 -0
- package/dist/agents/channels/markdown-capability.js.map +1 -0
- package/dist/agents/channels/sdk.d.ts +170 -10
- package/dist/agents/channels/sdk.d.ts.map +1 -1
- package/dist/agents/channels/sdk.js +138 -6
- package/dist/agents/channels/sdk.js.map +1 -1
- package/dist/agents/channels/telegram/account-config.d.ts +41 -0
- package/dist/agents/channels/telegram/account-config.d.ts.map +1 -1
- package/dist/agents/channels/telegram/account-config.js +79 -0
- package/dist/agents/channels/telegram/account-config.js.map +1 -1
- package/dist/agents/channels/telegram/adapter.d.ts +6 -0
- package/dist/agents/channels/telegram/adapter.d.ts.map +1 -1
- package/dist/agents/channels/telegram/adapter.js +185 -6
- package/dist/agents/channels/telegram/adapter.js.map +1 -1
- package/dist/agents/channels/telegram/allowed-updates.d.ts +14 -5
- package/dist/agents/channels/telegram/allowed-updates.d.ts.map +1 -1
- package/dist/agents/channels/telegram/allowed-updates.js +8 -4
- package/dist/agents/channels/telegram/allowed-updates.js.map +1 -1
- package/dist/agents/channels/telegram/connection.d.ts +118 -1
- package/dist/agents/channels/telegram/connection.d.ts.map +1 -1
- package/dist/agents/channels/telegram/connection.js +380 -8
- package/dist/agents/channels/telegram/connection.js.map +1 -1
- package/dist/agents/channels/telegram/draft-stream.d.ts +98 -0
- package/dist/agents/channels/telegram/draft-stream.d.ts.map +1 -0
- package/dist/agents/channels/telegram/draft-stream.js +222 -0
- package/dist/agents/channels/telegram/draft-stream.js.map +1 -0
- package/dist/agents/channels/telegram/format.d.ts +17 -0
- package/dist/agents/channels/telegram/format.d.ts.map +1 -1
- package/dist/agents/channels/telegram/format.js +36 -0
- package/dist/agents/channels/telegram/format.js.map +1 -1
- package/dist/agents/channels/telegram/inbound-extras.d.ts +27 -2
- package/dist/agents/channels/telegram/inbound-extras.d.ts.map +1 -1
- package/dist/agents/channels/telegram/inbound-extras.js +134 -7
- package/dist/agents/channels/telegram/inbound-extras.js.map +1 -1
- package/dist/agents/channels/telegram/inline-keyboard.d.ts +36 -0
- package/dist/agents/channels/telegram/inline-keyboard.d.ts.map +1 -0
- package/dist/agents/channels/telegram/inline-keyboard.js +62 -0
- package/dist/agents/channels/telegram/inline-keyboard.js.map +1 -0
- package/dist/agents/channels/telegram/media.d.ts +8 -0
- package/dist/agents/channels/telegram/media.d.ts.map +1 -1
- package/dist/agents/channels/telegram/media.js +30 -2
- package/dist/agents/channels/telegram/media.js.map +1 -1
- package/dist/agents/channels/telegram/plugin.d.ts.map +1 -1
- package/dist/agents/channels/telegram/plugin.js +7 -11
- package/dist/agents/channels/telegram/plugin.js.map +1 -1
- package/dist/agents/channels/telegram/reasoning-lane.d.ts +41 -0
- package/dist/agents/channels/telegram/reasoning-lane.d.ts.map +1 -0
- package/dist/agents/channels/telegram/reasoning-lane.js +67 -0
- package/dist/agents/channels/telegram/reasoning-lane.js.map +1 -0
- package/dist/agents/channels/telegram/socks-dispatcher.d.ts +32 -0
- package/dist/agents/channels/telegram/socks-dispatcher.d.ts.map +1 -0
- package/dist/agents/channels/telegram/socks-dispatcher.js +97 -0
- package/dist/agents/channels/telegram/socks-dispatcher.js.map +1 -0
- package/dist/agents/channels/types.adapters.d.ts +137 -4
- package/dist/agents/channels/types.adapters.d.ts.map +1 -1
- package/dist/agents/channels/types.adapters.js +2 -2
- package/dist/agents/channels/types.core.d.ts +26 -2
- package/dist/agents/channels/types.core.d.ts.map +1 -1
- package/dist/agents/channels/types.plugin.d.ts +25 -7
- package/dist/agents/channels/types.plugin.d.ts.map +1 -1
- package/dist/agents/channels/types.plugin.js +6 -5
- package/dist/agents/channels/types.plugin.js.map +1 -1
- package/dist/agents/channels/whatsapp/adapter.d.ts +8 -0
- package/dist/agents/channels/whatsapp/adapter.d.ts.map +1 -1
- package/dist/agents/channels/whatsapp/adapter.js +7 -4
- package/dist/agents/channels/whatsapp/adapter.js.map +1 -1
- package/dist/agents/channels/whatsapp/connection.d.ts +24 -2
- package/dist/agents/channels/whatsapp/connection.d.ts.map +1 -1
- package/dist/agents/channels/whatsapp/connection.js +26 -5
- package/dist/agents/channels/whatsapp/connection.js.map +1 -1
- package/dist/agents/channels/whatsapp/plugin.d.ts.map +1 -1
- package/dist/agents/channels/whatsapp/plugin.js +6 -10
- package/dist/agents/channels/whatsapp/plugin.js.map +1 -1
- package/dist/agents/extensions/activation-planner.d.ts +125 -0
- package/dist/agents/extensions/activation-planner.d.ts.map +1 -0
- package/dist/agents/extensions/activation-planner.js +221 -0
- package/dist/agents/extensions/activation-planner.js.map +1 -0
- package/dist/agents/extensions/diagnose.d.ts +84 -0
- package/dist/agents/extensions/diagnose.d.ts.map +1 -0
- package/dist/agents/extensions/diagnose.js +123 -0
- package/dist/agents/extensions/diagnose.js.map +1 -0
- package/dist/agents/extensions/discovery.d.ts +85 -7
- package/dist/agents/extensions/discovery.d.ts.map +1 -1
- package/dist/agents/extensions/discovery.js +200 -15
- package/dist/agents/extensions/discovery.js.map +1 -1
- package/dist/agents/extensions/index.d.ts +3 -2
- package/dist/agents/extensions/index.d.ts.map +1 -1
- package/dist/agents/extensions/index.js +3 -2
- package/dist/agents/extensions/index.js.map +1 -1
- package/dist/agents/extensions/install-scan.d.ts +63 -0
- package/dist/agents/extensions/install-scan.d.ts.map +1 -0
- package/dist/agents/extensions/install-scan.js +201 -0
- package/dist/agents/extensions/install-scan.js.map +1 -0
- package/dist/agents/extensions/install.d.ts +135 -0
- package/dist/agents/extensions/install.d.ts.map +1 -0
- package/dist/agents/extensions/install.js +414 -0
- package/dist/agents/extensions/install.js.map +1 -0
- package/dist/agents/extensions/loader.d.ts +13 -2
- package/dist/agents/extensions/loader.d.ts.map +1 -1
- package/dist/agents/extensions/loader.js +126 -13
- package/dist/agents/extensions/loader.js.map +1 -1
- package/dist/agents/extensions/registry.d.ts +109 -0
- package/dist/agents/extensions/registry.d.ts.map +1 -1
- package/dist/agents/extensions/registry.js +172 -0
- package/dist/agents/extensions/registry.js.map +1 -1
- package/dist/agents/extensions/sdk-alias.d.ts +45 -0
- package/dist/agents/extensions/sdk-alias.d.ts.map +1 -0
- package/dist/agents/extensions/sdk-alias.js +94 -0
- package/dist/agents/extensions/sdk-alias.js.map +1 -0
- package/dist/agents/extensions/types.d.ts +166 -1
- package/dist/agents/extensions/types.d.ts.map +1 -1
- package/dist/agents/extensions/types.js.map +1 -1
- package/dist/agents/tools/composio-tool.d.ts +9 -1
- package/dist/agents/tools/composio-tool.d.ts.map +1 -1
- package/dist/agents/tools/composio-tool.js +68 -4
- package/dist/agents/tools/composio-tool.js.map +1 -1
- package/dist/agents/tools/message-action-tool.d.ts +6 -1
- package/dist/agents/tools/message-action-tool.d.ts.map +1 -1
- package/dist/agents/tools/message-action-tool.js +52 -2
- package/dist/agents/tools/message-action-tool.js.map +1 -1
- package/dist/agents/tools/send-message-tool.d.ts +1 -0
- package/dist/agents/tools/send-message-tool.d.ts.map +1 -1
- package/dist/agents/tools/send-message-tool.js +56 -1
- package/dist/agents/tools/send-message-tool.js.map +1 -1
- package/dist/buildstamp.json +1 -1
- package/dist/channel-sdk.d.ts +28 -0
- package/dist/channel-sdk.d.ts.map +1 -0
- package/dist/channel-sdk.js +28 -0
- package/dist/channel-sdk.js.map +1 -0
- package/dist/cli/commands/channels.d.ts.map +1 -1
- package/dist/cli/commands/channels.js +8 -8
- package/dist/cli/commands/channels.js.map +1 -1
- package/dist/cli/commands/connect.d.ts +8 -11
- package/dist/cli/commands/connect.d.ts.map +1 -1
- package/dist/cli/commands/connect.js +157 -17
- package/dist/cli/commands/connect.js.map +1 -1
- package/dist/cli/commands/convex-cmd.d.ts +2 -1
- package/dist/cli/commands/convex-cmd.d.ts.map +1 -1
- package/dist/cli/commands/convex-cmd.js +79 -6
- package/dist/cli/commands/convex-cmd.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +64 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/extensions.d.ts +46 -0
- package/dist/cli/commands/extensions.d.ts.map +1 -0
- package/dist/cli/commands/extensions.js +578 -0
- package/dist/cli/commands/extensions.js.map +1 -0
- package/dist/cli/commands/pairing.d.ts.map +1 -1
- package/dist/cli/commands/pairing.js +16 -2
- package/dist/cli/commands/pairing.js.map +1 -1
- package/dist/cli/commands/update.d.ts +17 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +104 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/program/build-program.d.ts.map +1 -1
- package/dist/cli/program/build-program.js +114 -1
- package/dist/cli/program/build-program.js.map +1 -1
- package/dist/config/paths.d.ts +1 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +9 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +134 -2
- package/dist/core/server.js.map +1 -1
- package/dist/protocol.d.ts +25 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/system-prompt/assembler.d.ts.map +1 -1
- package/dist/system-prompt/assembler.js +17 -0
- package/dist/system-prompt/assembler.js.map +1 -1
- package/dist/system-prompt/identity-defaults.d.ts +28 -0
- package/dist/system-prompt/identity-defaults.d.ts.map +1 -1
- package/dist/system-prompt/identity-defaults.js +47 -0
- package/dist/system-prompt/identity-defaults.js.map +1 -1
- package/dist/ui/editor.d.ts.map +1 -1
- package/dist/ui/editor.js +1 -0
- package/dist/ui/editor.js.map +1 -1
- package/dist/version.d.ts +4 -3
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +27 -5
- package/dist/version.js.map +1 -1
- package/package.json +21 -4
- package/scripts/build-done.mjs +11 -2
- package/scripts/convex-dev.mjs +28 -2
|
@@ -23,7 +23,10 @@ import { loadConfig } from "../../../core/config.js";
|
|
|
23
23
|
// OutboundSendOptions) and `chunkText` now come from one place instead of
|
|
24
24
|
// scattered `../../extensions/types.js` + `../whatsapp/chunk.js` paths.
|
|
25
25
|
import { chunkText, } from "../sdk.js";
|
|
26
|
-
import { listTelegramAccountIds, resolveTelegramBotToken, telegramChannelEnabled, telegramWebhookConfig, TELEGRAM_CHANNEL_ID, TELEGRAM_DEFAULT_ACCOUNT_ID, } from "./account-config.js";
|
|
26
|
+
import { listTelegramAccountIds, resolveTelegramBotToken, resolveTelegramProxyUrl, telegramChannelEnabled, telegramLiveStreamEnabled, telegramStreamThrottleMs, telegramSurfaceReasoning, telegramWebhookConfig, TELEGRAM_CHANNEL_ID, TELEGRAM_DEFAULT_ACCOUNT_ID, } from "./account-config.js";
|
|
27
|
+
import { createDraftStream } from "./draft-stream.js";
|
|
28
|
+
import { buildTelegramInlineKeyboard } from "./inline-keyboard.js";
|
|
29
|
+
import { splitTelegramReasoning } from "./reasoning-lane.js";
|
|
27
30
|
import { buildTelegramApprovalKeyboard, buildTelegramApprovalText } from "./approval-native.js";
|
|
28
31
|
import { connectTelegram } from "./connection.js";
|
|
29
32
|
import { markdownToTelegramHtml, telegramHtmlIsEmpty } from "./format.js";
|
|
@@ -88,9 +91,15 @@ export function createTelegramAdapter(opts = {}) {
|
|
|
88
91
|
// registers the webhook on connect; the gateway HTTP route feeds updates
|
|
89
92
|
// via `feedWebhookUpdate` (wired by the module when webhook is active).
|
|
90
93
|
const transport = telegramWebhookConfig(cfg, lastEnv);
|
|
94
|
+
// Optional proxy: per-account → top-level `channels.telegram.proxy` →
|
|
95
|
+
// `HTTPS_PROXY`/`ALL_PROXY` env. Empty → direct connection (the default).
|
|
96
|
+
// On a network where `api.telegram.org` is blocked, this routes every
|
|
97
|
+
// Telegram API call through a reachable http(s) proxy.
|
|
98
|
+
const proxyUrl = resolveTelegramProxyUrl(cfg, accountId, lastEnv);
|
|
91
99
|
connection = await connectImpl({
|
|
92
100
|
token,
|
|
93
101
|
accountId,
|
|
102
|
+
...(proxyUrl ? { proxyUrl } : {}),
|
|
94
103
|
...(opts.commandMenu && opts.commandMenu.length > 0 ? { commandMenu: opts.commandMenu } : {}),
|
|
95
104
|
...(opts.allowedUpdates && opts.allowedUpdates.length > 0 ? { allowedUpdates: opts.allowedUpdates } : {}),
|
|
96
105
|
...(transport.mode === "webhook"
|
|
@@ -135,12 +144,38 @@ export function createTelegramAdapter(opts = {}) {
|
|
|
135
144
|
threadId: msg.threadId,
|
|
136
145
|
mentions: msg.mentions,
|
|
137
146
|
replyTo: msg.replyTo,
|
|
147
|
+
// Edit + forward provenance ride through so the central pipeline /
|
|
148
|
+
// agent see "this was an edit" / "this was forwarded from X".
|
|
149
|
+
...(msg.edited ? { edited: true } : {}),
|
|
150
|
+
...(msg.forwarded ? { forwarded: msg.forwarded } : {}),
|
|
138
151
|
// Deferred media thunk rides through untouched — the pipeline
|
|
139
152
|
// resolves it only after the access gate admits the sender.
|
|
140
153
|
resolveMedia: msg.resolveMedia,
|
|
141
154
|
raw: msg.raw,
|
|
142
155
|
});
|
|
143
156
|
},
|
|
157
|
+
// Inbound reaction (`message_reaction`) → synthesise a short note and
|
|
158
|
+
// route it through the SAME inbound pipeline as a normal message so
|
|
159
|
+
// the access gate + routing apply uniformly. The note carries the
|
|
160
|
+
// added emoji(s) + the target message id so the agent has context.
|
|
161
|
+
onReaction: (msg) => {
|
|
162
|
+
if (!msg.reaction)
|
|
163
|
+
return;
|
|
164
|
+
const note = buildReactionNote(msg.reaction.emojis, msg.reaction.targetMessageId, msg.fromName);
|
|
165
|
+
void ctx.onInbound({
|
|
166
|
+
channel: TELEGRAM_CHANNEL_ID,
|
|
167
|
+
accountId,
|
|
168
|
+
conversationId: msg.conversationId,
|
|
169
|
+
from: msg.from,
|
|
170
|
+
...(msg.fromName !== undefined ? { fromName: msg.fromName } : {}),
|
|
171
|
+
text: note,
|
|
172
|
+
chatType: msg.chatType,
|
|
173
|
+
isGroup: msg.chatType === "group",
|
|
174
|
+
...(msg.threadId !== undefined ? { threadId: msg.threadId } : {}),
|
|
175
|
+
reaction: msg.reaction,
|
|
176
|
+
raw: msg.raw,
|
|
177
|
+
});
|
|
178
|
+
},
|
|
144
179
|
// Inline-button press → emit an InboundMessage carrying `callbackQuery`
|
|
145
180
|
// so the central pipeline's approval-callback path resolves it. The
|
|
146
181
|
// connection has already acked the press via `answerCallbackQuery`.
|
|
@@ -203,40 +238,146 @@ export function createTelegramAdapter(opts = {}) {
|
|
|
203
238
|
throw new Error("Telegram token is invalid — run `brigade channels add --channel telegram` with a new token, then retry.");
|
|
204
239
|
}
|
|
205
240
|
const threadId = opts?.threadId;
|
|
241
|
+
// Native reply target (Telegram `reply_parameters.message_id`). Applied
|
|
242
|
+
// to the FIRST chunk only — quoting every chunk of a long reply would
|
|
243
|
+
// render a chain of quoted messages. Omitted → unquoted send (unchanged).
|
|
244
|
+
const replyToMessageId = opts?.replyToId;
|
|
245
|
+
// Send options honored on every chunk: silent notification + link-preview
|
|
246
|
+
// toggle. Purely additive — undefined keeps the prior behavior byte-for-byte.
|
|
247
|
+
const sendExtras = { threadId };
|
|
248
|
+
if (opts?.silent)
|
|
249
|
+
sendExtras.silent = true;
|
|
250
|
+
if (opts?.linkPreview !== undefined)
|
|
251
|
+
sendExtras.linkPreview = opts.linkPreview;
|
|
206
252
|
// Chunk on the RAW markdown so fences/paragraphs aren't shredded, then
|
|
207
253
|
// convert each chunk to Telegram HTML and send. A chunk whose HTML is
|
|
208
254
|
// empty (syntax-only) or that Telegram rejects with a parse error is
|
|
209
255
|
// re-sent as plain text.
|
|
210
256
|
const chunks = chunkText(text, { limit: TELEGRAM_TEXT_LIMIT });
|
|
257
|
+
let first = true;
|
|
211
258
|
for (const chunk of chunks) {
|
|
259
|
+
// Only the first chunk carries the reply quote.
|
|
260
|
+
const replyOpt = first && replyToMessageId ? { replyToMessageId } : {};
|
|
212
261
|
const html = markdownToTelegramHtml(chunk);
|
|
213
262
|
if (telegramHtmlIsEmpty(html)) {
|
|
214
263
|
// Nothing renderable — send the raw chunk as plain text (if it has any).
|
|
215
264
|
if (chunk.trim().length > 0) {
|
|
216
|
-
await connection.sendText(conversationId, chunk, {
|
|
265
|
+
await connection.sendText(conversationId, chunk, { ...sendExtras, ...replyOpt });
|
|
266
|
+
first = false;
|
|
217
267
|
}
|
|
218
268
|
continue;
|
|
219
269
|
}
|
|
220
270
|
try {
|
|
221
|
-
await connection.sendText(conversationId, html, { html: true,
|
|
271
|
+
await connection.sendText(conversationId, html, { ...sendExtras, html: true, ...replyOpt });
|
|
222
272
|
}
|
|
223
273
|
catch (err) {
|
|
224
274
|
const msg = err instanceof Error ? err.message : String(err);
|
|
225
275
|
if (PARSE_ERROR_RE.test(msg) && chunk.trim().length > 0) {
|
|
226
276
|
// HTML failed to parse — fall back to the plain chunk.
|
|
227
|
-
await connection.sendText(conversationId, chunk, {
|
|
277
|
+
await connection.sendText(conversationId, chunk, { ...sendExtras, ...replyOpt });
|
|
228
278
|
}
|
|
229
279
|
else {
|
|
230
280
|
throw err;
|
|
231
281
|
}
|
|
232
282
|
}
|
|
283
|
+
first = false;
|
|
233
284
|
}
|
|
234
285
|
},
|
|
286
|
+
/**
|
|
287
|
+
* Open a LIVE reply stream — the gateway feeds the accumulating answer text
|
|
288
|
+
* via `update()`, this edits one Telegram message in place (throttled
|
|
289
|
+
* ~1×/sec), and `finalize()` settles it on turn end. Returns `null` when
|
|
290
|
+
* streaming is disabled in config (`channels.telegram.liveStream` is not
|
|
291
|
+
* true) OR the connection isn't live, so the pipeline falls back to the
|
|
292
|
+
* single final `sendText` — byte-unchanged from before streaming existed.
|
|
293
|
+
*
|
|
294
|
+
* Each draft chunk is rendered through the SAME markdown→HTML converter the
|
|
295
|
+
* final path uses; a chunk whose HTML is empty/unparseable streams as plain
|
|
296
|
+
* text. When the running answer exceeds 4096 chars the stream finalizes the
|
|
297
|
+
* current message at a boundary and rolls overflow into a new message.
|
|
298
|
+
*/
|
|
299
|
+
beginReplyStream(conversationId, sendOpts) {
|
|
300
|
+
if (!connection)
|
|
301
|
+
return null;
|
|
302
|
+
if (tokenInvalid || connection.isTokenInvalid())
|
|
303
|
+
return null;
|
|
304
|
+
const cfg = lastConfig;
|
|
305
|
+
if (!cfg || !telegramLiveStreamEnabled(cfg))
|
|
306
|
+
return null;
|
|
307
|
+
const conn = connection;
|
|
308
|
+
const threadId = sendOpts?.threadId;
|
|
309
|
+
const stream = createDraftStream({
|
|
310
|
+
transport: {
|
|
311
|
+
async sendMessage(text, o) {
|
|
312
|
+
const sent = await conn.sendText(conversationId, text, {
|
|
313
|
+
...(o.parseMode === "HTML" ? { html: true } : {}),
|
|
314
|
+
...(o.threadId !== undefined ? { threadId: o.threadId } : {}),
|
|
315
|
+
});
|
|
316
|
+
return { messageId: sent.messageId };
|
|
317
|
+
},
|
|
318
|
+
async editMessageText(messageId, text, o) {
|
|
319
|
+
await conn.editMessageText(conversationId, String(messageId), text, {
|
|
320
|
+
...(o.parseMode === "HTML" ? { html: true } : {}),
|
|
321
|
+
});
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
throttleMs: telegramStreamThrottleMs(cfg),
|
|
325
|
+
maxChars: TELEGRAM_TEXT_LIMIT,
|
|
326
|
+
// Render each draft chunk to Telegram HTML; fall back to plain text
|
|
327
|
+
// when the HTML is empty (syntax-only) so a half-streamed fence
|
|
328
|
+
// never wedges the edit.
|
|
329
|
+
renderText: (chunk) => {
|
|
330
|
+
const html = markdownToTelegramHtml(chunk);
|
|
331
|
+
if (telegramHtmlIsEmpty(html))
|
|
332
|
+
return { text: chunk };
|
|
333
|
+
return { text: html, parseMode: "HTML" };
|
|
334
|
+
},
|
|
335
|
+
});
|
|
336
|
+
return {
|
|
337
|
+
update: (text) => stream.update(text),
|
|
338
|
+
async finalize(finalText) {
|
|
339
|
+
await stream.finalize(finalText);
|
|
340
|
+
const ids = stream.messageIds();
|
|
341
|
+
const last = ids[ids.length - 1];
|
|
342
|
+
return last !== undefined ? { messageId: String(last) } : undefined;
|
|
343
|
+
},
|
|
344
|
+
stop: () => stream.stop(),
|
|
345
|
+
};
|
|
346
|
+
},
|
|
347
|
+
/**
|
|
348
|
+
* OPTIONAL reasoning lane (default OFF). When `channels.telegram.
|
|
349
|
+
* surfaceReasoning` is true, split the raw reply's `<think>` trace out and
|
|
350
|
+
* send it as a separate `🧠 Reasoning:` message BEFORE the answer. When the
|
|
351
|
+
* config gate is off (the default) OR the reply carried no reasoning, this
|
|
352
|
+
* sends NOTHING — the answer message the pipeline sends afterward is
|
|
353
|
+
* byte-identical either way.
|
|
354
|
+
*/
|
|
355
|
+
async deliverReasoning(conversationId, rawReply, sendOpts) {
|
|
356
|
+
if (!connection)
|
|
357
|
+
return;
|
|
358
|
+
if (tokenInvalid || connection.isTokenInvalid())
|
|
359
|
+
return;
|
|
360
|
+
const cfg = lastConfig;
|
|
361
|
+
if (!cfg || !telegramSurfaceReasoning(cfg))
|
|
362
|
+
return;
|
|
363
|
+
const { reasoningText } = splitTelegramReasoning(rawReply ?? "");
|
|
364
|
+
if (!reasoningText)
|
|
365
|
+
return;
|
|
366
|
+
// Reuse the adapter's own chunk+HTML send path so a long reasoning trace
|
|
367
|
+
// is chunked at 4096 and formatted consistently with replies.
|
|
368
|
+
await adapter.sendText(conversationId, reasoningText, sendOpts);
|
|
369
|
+
},
|
|
235
370
|
// Telegram ids are numeric user/chat ids and @usernames, so the pairing
|
|
236
|
-
// challenge card uses the "Your username" line.
|
|
237
|
-
|
|
371
|
+
// challenge card uses the "Your username" line. The bot is a SEPARATE
|
|
372
|
+
// account from the operator (unlike WhatsApp), so ownership is bootstrapped
|
|
373
|
+
// from the first CLI `pairing approve` — see `botIsSeparateFromOperator`.
|
|
374
|
+
pairing: { idLabel: "username", botIsSeparateFromOperator: true },
|
|
238
375
|
// Token-based setup wizard — `brigade channels add --channel telegram`
|
|
239
376
|
// prompts for the bot token and writes `channels.telegram.botToken`.
|
|
377
|
+
// Proxy is intentionally NOT a wizard prompt (it's a rare, optional knob,
|
|
378
|
+
// and the wizard treats every credential as required): set it directly as
|
|
379
|
+
// `channels.telegram.proxy: "http://host:port"` (or `"${TG_PROXY}"`) or via
|
|
380
|
+
// the `HTTPS_PROXY` / `ALL_PROXY` env var when api.telegram.org is blocked.
|
|
240
381
|
setup: {
|
|
241
382
|
credentialKeys: [
|
|
242
383
|
{
|
|
@@ -385,6 +526,34 @@ export function createTelegramAdapter(opts = {}) {
|
|
|
385
526
|
});
|
|
386
527
|
return { ok: true, messageId: String(sent.messageId) };
|
|
387
528
|
}
|
|
529
|
+
case "topic-create": {
|
|
530
|
+
// Create a forum topic in this supergroup; return the new thread
|
|
531
|
+
// id as messageId so the agent can immediately send into it.
|
|
532
|
+
const created = await connection.createForumTopic(p.conversationId, a.name, {
|
|
533
|
+
...(a.iconColor !== undefined ? { iconColor: a.iconColor } : {}),
|
|
534
|
+
...(a.iconCustomEmojiId !== undefined ? { iconCustomEmojiId: a.iconCustomEmojiId } : {}),
|
|
535
|
+
});
|
|
536
|
+
return { ok: true, messageId: created.threadId };
|
|
537
|
+
}
|
|
538
|
+
case "buttons": {
|
|
539
|
+
// Send a NEW message with a general inline keyboard. The button
|
|
540
|
+
// data is prefixed/sanitized by the keyboard builder; a press
|
|
541
|
+
// arrives as `callbackQuery` and routes through the pipeline as a
|
|
542
|
+
// turn (the central approval path declines a general payload).
|
|
543
|
+
const keyboard = buildTelegramInlineKeyboard(a.buttons.map((row) => row.map((b) => ({ text: b.text, data: b.data }))));
|
|
544
|
+
if (!keyboard) {
|
|
545
|
+
return { ok: false, error: "no usable buttons (each needs a label + a data token ≤ ~60 bytes)" };
|
|
546
|
+
}
|
|
547
|
+
// Render the body to Telegram HTML like the reply path; the
|
|
548
|
+
// interactive send is verbatim, so format here then mark html.
|
|
549
|
+
const html = markdownToTelegramHtml(a.text);
|
|
550
|
+
const useHtml = !telegramHtmlIsEmpty(html);
|
|
551
|
+
const sent = await connection.sendInteractive(p.conversationId, useHtml ? html : a.text, keyboard, {
|
|
552
|
+
...(useHtml ? { html: true } : {}),
|
|
553
|
+
...(a.threadId !== undefined ? { threadId: a.threadId } : {}),
|
|
554
|
+
});
|
|
555
|
+
return { ok: true, messageId: String(sent.messageId) };
|
|
556
|
+
}
|
|
388
557
|
default:
|
|
389
558
|
return { ok: false, error: `unsupported action kind` };
|
|
390
559
|
}
|
|
@@ -426,6 +595,16 @@ export function createTelegramAdapter(opts = {}) {
|
|
|
426
595
|
}
|
|
427
596
|
return adapter;
|
|
428
597
|
}
|
|
598
|
+
/**
|
|
599
|
+
* Synthesise the agent-facing note for an inbound reaction. The reaction itself
|
|
600
|
+
* carries no text, so the note ("<who> reacted <emoji> to message <id>") is what
|
|
601
|
+
* the central pipeline routes through dispatchTurn so the agent has context.
|
|
602
|
+
*/
|
|
603
|
+
export function buildReactionNote(emojis, targetMessageId, fromName) {
|
|
604
|
+
const who = fromName?.trim() || "Someone";
|
|
605
|
+
const emoji = emojis.join(" ");
|
|
606
|
+
return `${who} reacted ${emoji} to message ${targetMessageId}.`;
|
|
607
|
+
}
|
|
429
608
|
/** Static Telegram capability flags (shared by the legacy adapter + plugin meta). */
|
|
430
609
|
export const TELEGRAM_CAPABILITIES = {
|
|
431
610
|
chatTypes: ["direct", "group", "thread"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,18 +27,27 @@
|
|
|
27
27
|
* names (no NUL / control bytes — these are fixed string literals).
|
|
28
28
|
*/
|
|
29
29
|
/** One Telegram update kind Brigade may subscribe. */
|
|
30
|
-
export type TelegramAllowedUpdate = "message" | "callback_query" | "message_reaction" | "edited_message";
|
|
30
|
+
export type TelegramAllowedUpdate = "message" | "callback_query" | "message_reaction" | "edited_message" | "channel_post";
|
|
31
31
|
/** Options gating the conditional update kinds. */
|
|
32
32
|
export interface ResolveTelegramAllowedUpdatesOptions {
|
|
33
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Subscribe `message_reaction` (inbound reaction events). Default TRUE — the
|
|
35
|
+
* connection now routes reactions through the pipeline. Pass `false` to opt
|
|
36
|
+
* out (`message_reaction` is the one kind Telegram does NOT deliver under a
|
|
37
|
+
* default/empty `allowed_updates`, so it must be requested explicitly).
|
|
38
|
+
*/
|
|
34
39
|
reactions?: boolean;
|
|
35
|
-
/** Subscribe `edited_message` (inbound message edits). Default
|
|
40
|
+
/** Subscribe `edited_message` (inbound message edits). Default TRUE. */
|
|
36
41
|
editedMessages?: boolean;
|
|
42
|
+
/** Subscribe `channel_post` (posts in channels the bot administers). Default TRUE. */
|
|
43
|
+
channelPosts?: boolean;
|
|
37
44
|
}
|
|
38
45
|
/**
|
|
39
46
|
* Resolve the `allowed_updates` list Brigade's Telegram poller/webhook should
|
|
40
|
-
* request. `message` + `callback_query` are always present;
|
|
41
|
-
*
|
|
47
|
+
* request. `message` + `callback_query` are always present; `message_reaction`,
|
|
48
|
+
* `edited_message`, and `channel_post` are now requested by DEFAULT (the
|
|
49
|
+
* connection routes all three) and can be opted out individually. Deduped +
|
|
50
|
+
* stable order.
|
|
42
51
|
*/
|
|
43
52
|
export declare function resolveTelegramAllowedUpdates(opts?: ResolveTelegramAllowedUpdatesOptions): TelegramAllowedUpdate[];
|
|
44
53
|
//# sourceMappingURL=allowed-updates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowed-updates.d.ts","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/allowed-updates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,sDAAsD;AACtD,MAAM,MAAM,qBAAqB,GAC9B,SAAS,GACT,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"allowed-updates.d.ts","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/allowed-updates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,sDAAsD;AACtD,MAAM,MAAM,qBAAqB,GAC9B,SAAS,GACT,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,CAAC;AAElB,mDAAmD;AACnD,MAAM,WAAW,oCAAoC;IACpD;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sFAAsF;IACtF,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC5C,IAAI,GAAE,oCAAyC,GAC7C,qBAAqB,EAAE,CAezB"}
|
|
@@ -28,15 +28,19 @@
|
|
|
28
28
|
*/
|
|
29
29
|
/**
|
|
30
30
|
* Resolve the `allowed_updates` list Brigade's Telegram poller/webhook should
|
|
31
|
-
* request. `message` + `callback_query` are always present;
|
|
32
|
-
*
|
|
31
|
+
* request. `message` + `callback_query` are always present; `message_reaction`,
|
|
32
|
+
* `edited_message`, and `channel_post` are now requested by DEFAULT (the
|
|
33
|
+
* connection routes all three) and can be opted out individually. Deduped +
|
|
34
|
+
* stable order.
|
|
33
35
|
*/
|
|
34
36
|
export function resolveTelegramAllowedUpdates(opts = {}) {
|
|
35
37
|
const out = ["message", "callback_query"];
|
|
36
|
-
if (opts.reactions)
|
|
38
|
+
if (opts.reactions !== false)
|
|
37
39
|
out.push("message_reaction");
|
|
38
|
-
if (opts.editedMessages)
|
|
40
|
+
if (opts.editedMessages !== false)
|
|
39
41
|
out.push("edited_message");
|
|
42
|
+
if (opts.channelPosts !== false)
|
|
43
|
+
out.push("channel_post");
|
|
40
44
|
// De-dupe defensively (the base list is already unique, but a future caller
|
|
41
45
|
// could pass overlapping flags) while preserving first-seen order.
|
|
42
46
|
const seen = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowed-updates.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/allowed-updates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"allowed-updates.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/allowed-updates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAyBH;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC5C,OAA6C,EAAE;IAE/C,MAAM,GAAG,GAA4B,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACnE,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1D,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* subscribed — Brigade's approvals are central TEXT replies handled in
|
|
34
34
|
* `inbound-pipeline.ts`, so `allowed_updates` only needs message updates.
|
|
35
35
|
*/
|
|
36
|
-
import { type InboundMediaAttachment, type InboundReplyContext, type OutboundMedia } from "../sdk.js";
|
|
36
|
+
import { type InboundForwardContext, type InboundMediaAttachment, type InboundReplyContext, type OutboundMedia } from "../sdk.js";
|
|
37
37
|
import type { Message, Update } from "@grammyjs/types";
|
|
38
38
|
/**
|
|
39
39
|
* Jittered exponential backoff for reconnect attempt `attempt` (0-based).
|
|
@@ -83,6 +83,19 @@ export interface TgInboundMessage {
|
|
|
83
83
|
data: string;
|
|
84
84
|
callbackId: string;
|
|
85
85
|
};
|
|
86
|
+
/** True when this inbound is an `edited_message` (text carries the NEW text). */
|
|
87
|
+
edited?: boolean;
|
|
88
|
+
/** Forwarded-message provenance, when this message was forwarded from elsewhere. */
|
|
89
|
+
forwarded?: InboundForwardContext;
|
|
90
|
+
/**
|
|
91
|
+
* Inbound reaction context — present ONLY when this inbound is a
|
|
92
|
+
* `message_reaction` update (not a typed message). `emojis` are the newly-
|
|
93
|
+
* ADDED reaction emoji(s); `targetMessageId` is the message they landed on.
|
|
94
|
+
*/
|
|
95
|
+
reaction?: {
|
|
96
|
+
emojis: string[];
|
|
97
|
+
targetMessageId: string;
|
|
98
|
+
};
|
|
86
99
|
/** Raw grammY message (for adapters that need more). */
|
|
87
100
|
raw: Message;
|
|
88
101
|
}
|
|
@@ -128,6 +141,10 @@ export interface TelegramBotLike {
|
|
|
128
141
|
sendSticker?(chatId: string | number, sticker: unknown, opts?: Record<string, unknown>): Promise<{
|
|
129
142
|
message_id: number;
|
|
130
143
|
}>;
|
|
144
|
+
/** Send a GIF / short looping animation inline (vs a static photo). */
|
|
145
|
+
sendAnimation?(chatId: string | number, animation: unknown, opts?: Record<string, unknown>): Promise<{
|
|
146
|
+
message_id: number;
|
|
147
|
+
}>;
|
|
131
148
|
/** Send a native poll (outbound poll support). */
|
|
132
149
|
sendPoll?(chatId: string | number, question: string, options: string[], opts?: Record<string, unknown>): Promise<{
|
|
133
150
|
message_id: number;
|
|
@@ -144,6 +161,11 @@ export interface TelegramBotLike {
|
|
|
144
161
|
unpinChatMessage?(chatId: string | number, opts?: Record<string, unknown>): Promise<boolean>;
|
|
145
162
|
/** Rename a forum topic (thread auto-labeling). */
|
|
146
163
|
editForumTopic?(chatId: string | number, messageThreadId: number, opts?: Record<string, unknown>): Promise<boolean>;
|
|
164
|
+
/** Create a forum topic; returns the new topic's `message_thread_id`. */
|
|
165
|
+
createForumTopic?(chatId: string | number, name: string, opts?: Record<string, unknown>): Promise<{
|
|
166
|
+
message_thread_id: number;
|
|
167
|
+
name?: string;
|
|
168
|
+
}>;
|
|
147
169
|
/** Register the bot's `/` command menu (native command surface). */
|
|
148
170
|
setMyCommands?(commands: Array<{
|
|
149
171
|
command: string;
|
|
@@ -168,6 +190,21 @@ export interface TelegramBotLike {
|
|
|
168
190
|
callbackQuery?: TelegramCallbackQuery;
|
|
169
191
|
answerCallbackQuery: (opts?: Record<string, unknown>) => Promise<unknown>;
|
|
170
192
|
}) => unknown): void;
|
|
193
|
+
/** An `edited_message` update (the edit carries the new text). */
|
|
194
|
+
on(filter: "edited_message", handler: (ctx: {
|
|
195
|
+
update: Update;
|
|
196
|
+
editedMessage?: Message;
|
|
197
|
+
}) => unknown): void;
|
|
198
|
+
/** A `channel_post` update (a post in a channel the bot is admin of). */
|
|
199
|
+
on(filter: "channel_post", handler: (ctx: {
|
|
200
|
+
update: Update;
|
|
201
|
+
channelPost?: Message;
|
|
202
|
+
}) => unknown): void;
|
|
203
|
+
/** A `message_reaction` update (someone added/removed an emoji reaction). */
|
|
204
|
+
on(filter: "message_reaction", handler: (ctx: {
|
|
205
|
+
update: Update;
|
|
206
|
+
messageReaction?: TelegramMessageReaction;
|
|
207
|
+
}) => unknown): void;
|
|
171
208
|
/** Stop the bot (grammY). */
|
|
172
209
|
stop(): Promise<void> | void;
|
|
173
210
|
}
|
|
@@ -192,6 +229,39 @@ export interface TelegramCallbackQuery {
|
|
|
192
229
|
};
|
|
193
230
|
message?: Message;
|
|
194
231
|
}
|
|
232
|
+
/** A Telegram `message_reaction` update payload (the subset Brigade reads). */
|
|
233
|
+
export interface TelegramMessageReaction {
|
|
234
|
+
chat: {
|
|
235
|
+
id: number | string;
|
|
236
|
+
type?: string;
|
|
237
|
+
title?: string;
|
|
238
|
+
is_forum?: boolean;
|
|
239
|
+
};
|
|
240
|
+
message_id: number;
|
|
241
|
+
user?: {
|
|
242
|
+
id?: number;
|
|
243
|
+
is_bot?: boolean;
|
|
244
|
+
username?: string;
|
|
245
|
+
first_name?: string;
|
|
246
|
+
last_name?: string;
|
|
247
|
+
};
|
|
248
|
+
actor_chat?: {
|
|
249
|
+
id?: number;
|
|
250
|
+
title?: string;
|
|
251
|
+
username?: string;
|
|
252
|
+
};
|
|
253
|
+
date?: number;
|
|
254
|
+
/** Reactions present BEFORE this update — used to diff the newly-added ones. */
|
|
255
|
+
old_reaction: Array<{
|
|
256
|
+
type: string;
|
|
257
|
+
emoji?: string;
|
|
258
|
+
}>;
|
|
259
|
+
/** Reactions present AFTER this update. */
|
|
260
|
+
new_reaction: Array<{
|
|
261
|
+
type: string;
|
|
262
|
+
emoji?: string;
|
|
263
|
+
}>;
|
|
264
|
+
}
|
|
195
265
|
/** A grammY-runner-like handle (what `run(bot)` returns). */
|
|
196
266
|
interface RunnerLike {
|
|
197
267
|
isRunning(): boolean;
|
|
@@ -203,6 +273,16 @@ export interface ConnectTelegramArgs {
|
|
|
203
273
|
token: string;
|
|
204
274
|
/** Account namespace stamped on inbounds (single-account v1 → "default"). */
|
|
205
275
|
accountId?: string;
|
|
276
|
+
/**
|
|
277
|
+
* Optional proxy URL all Telegram API calls (incl. `getMe` + `getUpdates`)
|
|
278
|
+
* route through. Use it on networks where `api.telegram.org` is blocked.
|
|
279
|
+
* Form: `http(s)://[user:pass@]host:port` for an HTTP CONNECT proxy, or
|
|
280
|
+
* `socks5://[user:pass@]host:port` (also `socks://` / `socks4://` /
|
|
281
|
+
* `socks5h://`) for a SOCKS proxy. When omitted/empty the connection is DIRECT
|
|
282
|
+
* (unchanged default). HTTP(S) proxies use an `undici` ProxyAgent; SOCKS
|
|
283
|
+
* proxies use a SOCKS-aware `undici` Agent (see `socks-dispatcher.ts`).
|
|
284
|
+
*/
|
|
285
|
+
proxyUrl?: string;
|
|
206
286
|
/** Called once `getMe` succeeds and polling starts. */
|
|
207
287
|
onConnected?: () => void;
|
|
208
288
|
/** Called when the token is rejected (401) — terminal, re-token required. */
|
|
@@ -217,6 +297,13 @@ export interface ConnectTelegramArgs {
|
|
|
217
297
|
* omitted, callback updates are still acked + de-duplicated but not routed.
|
|
218
298
|
*/
|
|
219
299
|
onCallbackQuery?: (msg: TgInboundMessage) => void;
|
|
300
|
+
/**
|
|
301
|
+
* Called for every inbound `message_reaction` (someone added an emoji
|
|
302
|
+
* reaction). The normalized inbound carries `reaction: { emojis,
|
|
303
|
+
* targetMessageId }` and no text. Optional — when omitted, reaction updates
|
|
304
|
+
* are de-duplicated but not routed.
|
|
305
|
+
*/
|
|
306
|
+
onReaction?: (msg: TgInboundMessage) => void;
|
|
220
307
|
/**
|
|
221
308
|
* The `allowed_updates` list to request from `getUpdates`. Defaults to the
|
|
222
309
|
* minimal `["message", "callback_query"]` set (see `allowed-updates.ts`).
|
|
@@ -302,6 +389,15 @@ export interface TelegramConnection {
|
|
|
302
389
|
unpinMessage(chatId: string, messageId?: string): Promise<void>;
|
|
303
390
|
/** Rename a forum topic (thread auto-labeling). Best-effort. */
|
|
304
391
|
editForumTopic(chatId: string, threadId: string, name: string): Promise<void>;
|
|
392
|
+
/**
|
|
393
|
+
* Create a forum topic in a supergroup. Returns the new topic's thread id (as
|
|
394
|
+
* a string) so the caller can immediately send into it. Throws when the bot
|
|
395
|
+
* build / chat doesn't support forum topics or the name is invalid.
|
|
396
|
+
*/
|
|
397
|
+
createForumTopic(chatId: string, name: string, opts?: TelegramCreateForumTopicOpts): Promise<{
|
|
398
|
+
threadId: string;
|
|
399
|
+
name: string;
|
|
400
|
+
}>;
|
|
305
401
|
/** Ack an inline-button press (`answerCallbackQuery`). Best-effort. */
|
|
306
402
|
answerCallback(callbackId: string, text?: string): Promise<void>;
|
|
307
403
|
/**
|
|
@@ -341,12 +437,33 @@ export interface TelegramPollSpec {
|
|
|
341
437
|
export interface TelegramSendTextOpts {
|
|
342
438
|
/** When true the text is already Telegram HTML and sent with `parse_mode: HTML`. */
|
|
343
439
|
html?: boolean;
|
|
440
|
+
/** Suppress the recipient notification for this send (`disable_notification`). */
|
|
441
|
+
silent?: boolean;
|
|
442
|
+
/** Set false to disable link preview/unfurling (`link_preview_options.is_disabled`). */
|
|
443
|
+
linkPreview?: boolean;
|
|
344
444
|
/** Forum-topic thread id. */
|
|
345
445
|
threadId?: string;
|
|
446
|
+
/**
|
|
447
|
+
* Native reply target — the Telegram `message_id` this send should quote.
|
|
448
|
+
* Mapped to `reply_parameters: { message_id, allow_sending_without_reply }`
|
|
449
|
+
* so the message renders as a native reply. Best-effort: a vanished target
|
|
450
|
+
* still delivers (Telegram drops the quote rather than erroring) because
|
|
451
|
+
* `allow_sending_without_reply` is set. Omitted → an ordinary, unquoted send.
|
|
452
|
+
*/
|
|
453
|
+
replyToMessageId?: string;
|
|
346
454
|
}
|
|
347
455
|
export interface TelegramSendMediaOpts {
|
|
348
456
|
/** Forum-topic thread id. */
|
|
349
457
|
threadId?: string;
|
|
458
|
+
/** Suppress the recipient notification for this send (`disable_notification`). */
|
|
459
|
+
silent?: boolean;
|
|
460
|
+
}
|
|
461
|
+
/** Optional `createForumTopic` knobs (icon color / custom emoji). */
|
|
462
|
+
export interface TelegramCreateForumTopicOpts {
|
|
463
|
+
/** RGB color of the topic icon (one of Telegram's allowed palette ints). */
|
|
464
|
+
iconColor?: number;
|
|
465
|
+
/** Custom-emoji id for the topic icon. */
|
|
466
|
+
iconCustomEmojiId?: string;
|
|
350
467
|
}
|
|
351
468
|
/** 401 Unauthorized → the bot token is wrong / revoked (terminal). */
|
|
352
469
|
export declare function isTelegramUnauthorized(err: unknown): boolean;
|