Files
copilotkit__copilotkit/packages/bot-telegram/src/index.ts
Alem Tuzlak f04ab10910 feat(bot-telegram): Telegram platform adapter for @copilotkit/bot
grammY-based adapter implementing the PlatformAdapter interface. Long-polling by default with webhook/auto ingress opt-in. Topic-aware hybrid threading. HTML rendering with a plain-text format fallback, chunked-edit streaming, callback_query HITL, and inbound file ingestion. Ships a built-in Telegram user-lookup tool and platform context, plus a full unit test suite.
2026-06-17 19:19:59 +02:00

62 lines
1.5 KiB
TypeScript

export { telegram, TelegramAdapter } from "./adapter.js";
export { createRunRenderer } from "./event-renderer.js";
export type { CreateRunRendererArgs } from "./event-renderer.js";
export {
decodeInteraction,
conversationKeyOf,
deriveConversationKey,
toPlatformUser,
} from "./interaction.js";
export { renderTelegram } from "./render/telegram.js";
export {
TELEGRAM_LIMITS,
truncateText,
clampArray,
byteLen,
} from "./render/budget.js";
export {
defaultTelegramTools,
lookupTelegramUserTool,
} from "./built-in-tools.js";
export {
defaultTelegramContext,
telegramTaggingContext,
telegramFormattingContext,
telegramConversationModelContext,
} from "./built-in-context.js";
export { telegramHtml, escapeHtml } from "./telegram-html.js";
export { withTelegramFormatFallback, stripHtml } from "./format-fallback.js";
export { TelegramConversationStore } from "./conversation-store.js";
export { ChunkedEditStream } from "./chunked-edit-stream.js";
export type { ChunkedEditStreamConfig } from "./chunked-edit-stream.js";
export { attachTelegramListener } from "./listener.js";
export type { ListenerConfig } from "./listener.js";
export { buildFileContentParts } from "./download-files.js";
export type {
TelegramFileRef,
AgentContentPart,
FileDeliveryConfig,
} from "./download-files.js";
export type {
ConversationKey,
ReplyTarget,
TelegramMessageRef,
TelegramInlineButton,
TelegramPayload,
TelegramAdapterOptions,
} from "./types.js";
export { DM_SCOPE } from "./types.js";