@krischoichoi/channel-telegram 0.6.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 +129 -0
- package/lib/adapter.d.ts +94 -0
- package/lib/adapter.d.ts.map +1 -0
- package/lib/adapter.js +417 -0
- package/lib/adapter.js.map +1 -0
- package/lib/api-error.d.ts +74 -0
- package/lib/api-error.d.ts.map +1 -0
- package/lib/api-error.js +103 -0
- package/lib/api-error.js.map +1 -0
- package/lib/config.d.ts +115 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +67 -0
- package/lib/config.js.map +1 -0
- package/lib/definition.d.ts +59 -0
- package/lib/definition.d.ts.map +1 -0
- package/lib/definition.js +158 -0
- package/lib/definition.js.map +1 -0
- package/lib/inbound.d.ts +61 -0
- package/lib/inbound.d.ts.map +1 -0
- package/lib/inbound.js +125 -0
- package/lib/inbound.js.map +1 -0
- package/lib/index.d.ts +52 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +114 -0
- package/lib/index.js.map +1 -0
- package/lib/manifest.d.ts +16 -0
- package/lib/manifest.d.ts.map +1 -0
- package/lib/manifest.js +26 -0
- package/lib/manifest.js.map +1 -0
- package/lib/mapper.d.ts +51 -0
- package/lib/mapper.d.ts.map +1 -0
- package/lib/mapper.js +314 -0
- package/lib/mapper.js.map +1 -0
- package/lib/media-hydrator.d.ts +46 -0
- package/lib/media-hydrator.d.ts.map +1 -0
- package/lib/media-hydrator.js +85 -0
- package/lib/media-hydrator.js.map +1 -0
- package/lib/outbound.d.ts +42 -0
- package/lib/outbound.d.ts.map +1 -0
- package/lib/outbound.js +215 -0
- package/lib/outbound.js.map +1 -0
- package/lib/render/html.d.ts +13 -0
- package/lib/render/html.d.ts.map +1 -0
- package/lib/render/html.js +110 -0
- package/lib/render/html.js.map +1 -0
- package/lib/render/index.d.ts +64 -0
- package/lib/render/index.d.ts.map +1 -0
- package/lib/render/index.js +76 -0
- package/lib/render/index.js.map +1 -0
- package/lib/render/markdown.d.ts +38 -0
- package/lib/render/markdown.d.ts.map +1 -0
- package/lib/render/markdown.js +187 -0
- package/lib/render/markdown.js.map +1 -0
- package/lib/render/plain.d.ts +43 -0
- package/lib/render/plain.d.ts.map +1 -0
- package/lib/render/plain.js +97 -0
- package/lib/render/plain.js.map +1 -0
- package/lib/render/segment.d.ts +39 -0
- package/lib/render/segment.d.ts.map +1 -0
- package/lib/render/segment.js +117 -0
- package/lib/render/segment.js.map +1 -0
- package/lib/rich-message.d.ts +75 -0
- package/lib/rich-message.d.ts.map +1 -0
- package/lib/rich-message.js +11 -0
- package/lib/rich-message.js.map +1 -0
- package/lib/rich-streaming-reply.d.ts +69 -0
- package/lib/rich-streaming-reply.d.ts.map +1 -0
- package/lib/rich-streaming-reply.js +207 -0
- package/lib/rich-streaming-reply.js.map +1 -0
- package/lib/streaming-reply.d.ts +98 -0
- package/lib/streaming-reply.d.ts.map +1 -0
- package/lib/streaming-reply.js +274 -0
- package/lib/streaming-reply.js.map +1 -0
- package/lib/transport.d.ts +38 -0
- package/lib/transport.d.ts.map +1 -0
- package/lib/transport.js +91 -0
- package/lib/transport.js.map +1 -0
- package/lib/upstream.d.ts +174 -0
- package/lib/upstream.d.ts.map +1 -0
- package/lib/upstream.js +452 -0
- package/lib/upstream.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-reply.js","sourceRoot":"","sources":["../src/streaming-reply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface HttpRequestInit {
|
|
2
|
+
method?: string;
|
|
3
|
+
body?: unknown;
|
|
4
|
+
headers?: Record<string, string>;
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
}
|
|
7
|
+
/** Binary body plus safe response metadata needed by the media pipeline. */
|
|
8
|
+
export interface HttpBinaryResponse {
|
|
9
|
+
data: Uint8Array;
|
|
10
|
+
contentType?: string;
|
|
11
|
+
contentDisposition?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface HttpTransport {
|
|
14
|
+
request(path: string, init?: HttpRequestInit, signal?: AbortSignal): Promise<unknown>;
|
|
15
|
+
/**
|
|
16
|
+
* Binary request used for Telegram file downloads (`/file/bot<token>/...`).
|
|
17
|
+
* Optional so test fakes only implement it when they exercise file ingress.
|
|
18
|
+
*/
|
|
19
|
+
requestBinary?(path: string, init?: HttpRequestInit, signal?: AbortSignal): Promise<HttpBinaryResponse>;
|
|
20
|
+
}
|
|
21
|
+
export interface FetchTransportOptions {
|
|
22
|
+
/** Request timeout; overridden per-request by `init.timeoutMs`. */
|
|
23
|
+
timeoutMs: number;
|
|
24
|
+
/** Injectable fetch (tests). */
|
|
25
|
+
fetchImpl?: typeof fetch;
|
|
26
|
+
}
|
|
27
|
+
/** Default transport backed by the standard `fetch`. */
|
|
28
|
+
export declare class FetchTransport implements HttpTransport {
|
|
29
|
+
private readonly timeoutMs;
|
|
30
|
+
private readonly fetchImpl;
|
|
31
|
+
constructor(baseUrl: string, options: FetchTransportOptions);
|
|
32
|
+
private readonly baseUrl;
|
|
33
|
+
request(path: string, init?: HttpRequestInit, signal?: AbortSignal): Promise<unknown>;
|
|
34
|
+
requestBinary(path: string, init?: HttpRequestInit, signal?: AbortSignal): Promise<HttpBinaryResponse>;
|
|
35
|
+
/** Fetch one response under the request timeout + outer signal. */
|
|
36
|
+
private requestResponse;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtF;;;OAGG;IACH,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAOD,wDAAwD;AACxD,qBAAa,cAAe,YAAW,aAAa;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAE7B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAM3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAE3B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBzF,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAahH,mEAAmE;YACrD,eAAe;CAsC9B"}
|
package/lib/transport.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP transport boundary.
|
|
3
|
+
*
|
|
4
|
+
* The transport is the single injection point for tests: the adapter is built
|
|
5
|
+
* against `HttpTransport`, and a fake transport replaces the network without
|
|
6
|
+
* touching driver logic. Timeouts abort the underlying fetch; an external
|
|
7
|
+
* `signal` is combined with the request timeout.
|
|
8
|
+
*
|
|
9
|
+
* Credential hygiene (§23): bearer-style path segments — the Telegram Bot API
|
|
10
|
+
* embeds the token in the request path (`/bot<token>/...`) — are redacted
|
|
11
|
+
* from error messages so a token can never reach logs.
|
|
12
|
+
*/
|
|
13
|
+
import { ChannelError } from '@krischoichoi/channel-core';
|
|
14
|
+
/** Redact bearer-style path segments (e.g. `/bot<token>` / `/file/bot<token>`) from messages. */
|
|
15
|
+
function redactPath(path) {
|
|
16
|
+
return path.replace(/\/bot[^/?#]+/g, '/bot<redacted>');
|
|
17
|
+
}
|
|
18
|
+
/** Default transport backed by the standard `fetch`. */
|
|
19
|
+
export class FetchTransport {
|
|
20
|
+
timeoutMs;
|
|
21
|
+
fetchImpl;
|
|
22
|
+
constructor(baseUrl, options) {
|
|
23
|
+
this.baseUrl = baseUrl.replace(/\/+$/, '');
|
|
24
|
+
this.timeoutMs = options.timeoutMs;
|
|
25
|
+
this.fetchImpl = options.fetchImpl ?? globalThis.fetch;
|
|
26
|
+
}
|
|
27
|
+
baseUrl;
|
|
28
|
+
async request(path, init = {}, signal) {
|
|
29
|
+
const response = await this.requestResponse(path, init, signal);
|
|
30
|
+
const text = await response.text();
|
|
31
|
+
if (!text) {
|
|
32
|
+
if (!response.ok) {
|
|
33
|
+
throw new ChannelError('CHANNEL_ERROR', `telegram http ${response.status} on ${redactPath(path)}`);
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
return JSON.parse(text);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
throw new ChannelError('CHANNEL_ERROR', `telegram http returned invalid JSON on ${redactPath(path)}`, { cause: error });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async requestBinary(path, init = {}, signal) {
|
|
45
|
+
const response = await this.requestResponse(path, init, signal);
|
|
46
|
+
if (!response.ok) {
|
|
47
|
+
throw new ChannelError('CHANNEL_ERROR', `telegram http ${response.status} on ${redactPath(path)}`);
|
|
48
|
+
}
|
|
49
|
+
const buffer = await response.arrayBuffer();
|
|
50
|
+
return {
|
|
51
|
+
data: new Uint8Array(buffer),
|
|
52
|
+
contentType: response.headers.get('content-type') ?? undefined,
|
|
53
|
+
contentDisposition: response.headers.get('content-disposition') ?? undefined,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** Fetch one response under the request timeout + outer signal. */
|
|
57
|
+
async requestResponse(path, init = {}, signal) {
|
|
58
|
+
const controller = new AbortController();
|
|
59
|
+
const timeoutMs = init.timeoutMs ?? this.timeoutMs;
|
|
60
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
61
|
+
const onOuterAbort = () => controller.abort();
|
|
62
|
+
signal?.addEventListener('abort', onOuterAbort, { once: true });
|
|
63
|
+
try {
|
|
64
|
+
const response = await this.fetchImpl(`${this.baseUrl}${path}`, {
|
|
65
|
+
method: init.method ?? 'GET',
|
|
66
|
+
headers: {
|
|
67
|
+
...(init.body instanceof FormData ? {} : { 'content-type': 'application/json' }),
|
|
68
|
+
...init.headers,
|
|
69
|
+
},
|
|
70
|
+
body: init.body instanceof FormData
|
|
71
|
+
? init.body
|
|
72
|
+
: init.body !== undefined
|
|
73
|
+
? JSON.stringify(init.body)
|
|
74
|
+
: undefined,
|
|
75
|
+
signal: controller.signal,
|
|
76
|
+
});
|
|
77
|
+
return response;
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (error instanceof ChannelError)
|
|
81
|
+
throw error;
|
|
82
|
+
const aborted = error?.name === 'AbortError' || controller.signal.aborted;
|
|
83
|
+
throw new ChannelError('CHANNEL_ERROR', aborted ? `telegram http aborted on ${redactPath(path)}` : `telegram http failed on ${redactPath(path)}`, { cause: error });
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
clearTimeout(timer);
|
|
87
|
+
signal?.removeEventListener('abort', onOuterAbort);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { HttpTransport } from './transport.js';
|
|
2
|
+
import type { TelegramInputRichMessage, TelegramReplyMarkup } from './rich-message.js';
|
|
3
|
+
/** Bot user returned by getMe. */
|
|
4
|
+
export interface TelegramBotUser {
|
|
5
|
+
id: number;
|
|
6
|
+
is_bot: boolean;
|
|
7
|
+
first_name?: string;
|
|
8
|
+
username?: string;
|
|
9
|
+
}
|
|
10
|
+
/** A media reference for outbound sends. */
|
|
11
|
+
export interface TelegramMedia {
|
|
12
|
+
type: 'image' | 'file' | 'audio' | 'video';
|
|
13
|
+
/** Public URL or a Telegram file_id. */
|
|
14
|
+
url?: string;
|
|
15
|
+
/** Trusted bytes uploaded as multipart/form-data. */
|
|
16
|
+
localData?: Uint8Array;
|
|
17
|
+
mimeType?: string;
|
|
18
|
+
name?: string;
|
|
19
|
+
/** Caption rendered on the media; honors caption formatting options. */
|
|
20
|
+
caption?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Formatting options shared by text messages and media captions.
|
|
24
|
+
*
|
|
25
|
+
* `parseMode` and `entities` are mutually exclusive in the Bot API; callers
|
|
26
|
+
* should provide one. `replyMarkup` is the interactive keyboard / ForceReply.
|
|
27
|
+
*/
|
|
28
|
+
export interface TelegramFormatOptions {
|
|
29
|
+
/** Telegram parse mode for a formatted body (HTML / MarkdownV2). */
|
|
30
|
+
parseMode?: 'HTML' | 'MarkdownV2';
|
|
31
|
+
/** Pre-calculated entities list (alternative to parse_mode). */
|
|
32
|
+
entities?: unknown[];
|
|
33
|
+
/** Entities for a media caption (alternative to caption_parse_mode). */
|
|
34
|
+
captionEntities?: unknown[];
|
|
35
|
+
/** Interactive keyboard markup (inline buttons / ForceReply). */
|
|
36
|
+
replyMarkup?: TelegramReplyMarkup;
|
|
37
|
+
}
|
|
38
|
+
export interface TelegramSendOptions {
|
|
39
|
+
replyToMessageId?: string;
|
|
40
|
+
messageThreadId?: string;
|
|
41
|
+
}
|
|
42
|
+
/** The subset of message options supported by `sendChatAction`. */
|
|
43
|
+
export interface TelegramChatActionOptions {
|
|
44
|
+
messageThreadId?: string;
|
|
45
|
+
}
|
|
46
|
+
/** Parsed sendMessage result (only the fields the reply engine needs). */
|
|
47
|
+
export interface TelegramSentMessage {
|
|
48
|
+
messageId: string;
|
|
49
|
+
/** Full Bot API envelope, kept for diagnostics. */
|
|
50
|
+
raw: unknown;
|
|
51
|
+
}
|
|
52
|
+
/** Parsed getFile result. */
|
|
53
|
+
export interface TelegramFileInfo {
|
|
54
|
+
fileId: string;
|
|
55
|
+
fileUniqueId: string;
|
|
56
|
+
fileSize?: number;
|
|
57
|
+
filePath?: string;
|
|
58
|
+
mimeType?: string;
|
|
59
|
+
fileName?: string;
|
|
60
|
+
}
|
|
61
|
+
/** Result of a binary file download through the Bot API file endpoint. */
|
|
62
|
+
export interface TelegramDownloadedFile {
|
|
63
|
+
data: Uint8Array;
|
|
64
|
+
mimeType?: string;
|
|
65
|
+
name?: string;
|
|
66
|
+
}
|
|
67
|
+
/** Mutable acknowledgement cursor shared with the adapter across reconnects. */
|
|
68
|
+
export interface TelegramUpdateCursor {
|
|
69
|
+
offset: number;
|
|
70
|
+
}
|
|
71
|
+
export interface TelegramUpstream {
|
|
72
|
+
/** Auth check; resolves with the bot user or throws on 401/invalid token. */
|
|
73
|
+
getMe(): Promise<TelegramBotUser>;
|
|
74
|
+
/** Disable a previously configured webhook before switching to polling. */
|
|
75
|
+
deleteWebhook(): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Long-poll getUpdates until `signal` aborts. The shared cursor advances only
|
|
78
|
+
* after `onUpdate` resolves, so failed dispatches remain unacknowledged and
|
|
79
|
+
* reconnects resume from the last successfully handled update. Subscribes to
|
|
80
|
+
* `message` and `callback_query` updates.
|
|
81
|
+
*/
|
|
82
|
+
getUpdates(cursor: TelegramUpdateCursor, signal: AbortSignal, onUpdate: (update: unknown) => Promise<void>, onPoll?: () => void): Promise<void>;
|
|
83
|
+
/** Send a text message; resolves with the parsed message id. */
|
|
84
|
+
sendText(chatId: string, text: string, options?: TelegramSendOptions): Promise<TelegramSentMessage>;
|
|
85
|
+
/** Send a formatted text message; resolves with the parsed message id. */
|
|
86
|
+
sendMessage(chatId: string, text: string, options?: TelegramSendOptions, format?: TelegramFormatOptions): Promise<TelegramSentMessage>;
|
|
87
|
+
/** Edit an existing message by id, optionally with formatting options. */
|
|
88
|
+
editMessageText(chatId: string, messageId: string, text: string, format?: TelegramFormatOptions): Promise<unknown>;
|
|
89
|
+
/** Edit only the reply markup of an existing message (interactive updates). */
|
|
90
|
+
editMessageReplyMarkup(chatId: string, messageId: string, replyMarkup?: TelegramReplyMarkup): Promise<unknown>;
|
|
91
|
+
/**
|
|
92
|
+
* Send a Bot API 10.1 Rich Message. `message` is the `InputRichMessage`
|
|
93
|
+
* (Markdown source rendered by the server). Only used when rich output is
|
|
94
|
+
* active and supported; falls back to plain text via the renderer otherwise.
|
|
95
|
+
*/
|
|
96
|
+
sendRichMessage(chatId: string, message: TelegramInputRichMessage, options?: TelegramSendOptions, format?: TelegramFormatOptions): Promise<TelegramSentMessage>;
|
|
97
|
+
/**
|
|
98
|
+
* Stream a partial Rich Message over a 30s temporary draft (`draftId`).
|
|
99
|
+
* Same draft id updates the preview in place; a final `sendRichMessage`
|
|
100
|
+
* persists the result.
|
|
101
|
+
*/
|
|
102
|
+
sendRichMessageDraft(chatId: string, draftId: number, message: TelegramInputRichMessage, options?: TelegramSendOptions): Promise<unknown>;
|
|
103
|
+
/** Edit an existing message in place, replacing it with a Rich Message. */
|
|
104
|
+
editMessageRich(chatId: string, messageId: string, message: TelegramInputRichMessage, replyMarkup?: TelegramReplyMarkup): Promise<unknown>;
|
|
105
|
+
/** Best-effort `answerCallbackQuery` acknowledgement (never blocks on agent). */
|
|
106
|
+
answerCallbackQuery(params: {
|
|
107
|
+
callback_query_id: string;
|
|
108
|
+
}): Promise<void>;
|
|
109
|
+
/** Display a transient typing indicator in a chat or Forum topic. */
|
|
110
|
+
sendChatAction(chatId: string, action: 'typing', options?: TelegramChatActionOptions): Promise<void>;
|
|
111
|
+
/** Resolve a Telegram file_id into its file metadata. */
|
|
112
|
+
getFile(fileId: string): Promise<TelegramFileInfo>;
|
|
113
|
+
/** Resolve a file_id and download its bytes from the Bot API file endpoint. */
|
|
114
|
+
downloadFile(fileId: string, signal?: AbortSignal): Promise<TelegramDownloadedFile>;
|
|
115
|
+
/** Send a media reference (image/file/audio/video) with formatting options. */
|
|
116
|
+
sendMedia(chatId: string, media: TelegramMedia, options?: TelegramSendOptions, format?: TelegramFormatOptions): Promise<TelegramSentMessage>;
|
|
117
|
+
}
|
|
118
|
+
export interface HttpTelegramUpstreamOptions {
|
|
119
|
+
transport: HttpTransport;
|
|
120
|
+
/** Bot API token; only ever placed in request paths. */
|
|
121
|
+
token?: string;
|
|
122
|
+
longPollTimeoutMs: number;
|
|
123
|
+
}
|
|
124
|
+
/** HTTP implementation over the Telegram Bot API. */
|
|
125
|
+
export declare class HttpTelegramUpstream implements TelegramUpstream {
|
|
126
|
+
private readonly options;
|
|
127
|
+
constructor(options: HttpTelegramUpstreamOptions);
|
|
128
|
+
private path;
|
|
129
|
+
private filePath;
|
|
130
|
+
getMe(): Promise<TelegramBotUser>;
|
|
131
|
+
deleteWebhook(): Promise<void>;
|
|
132
|
+
getUpdates(cursor: TelegramUpdateCursor, signal: AbortSignal, onUpdate: (update: unknown) => Promise<void>, onPoll?: () => void): Promise<void>;
|
|
133
|
+
sendText(chatId: string, text: string, options?: TelegramSendOptions): Promise<TelegramSentMessage>;
|
|
134
|
+
sendMessage(chatId: string, text: string, options?: TelegramSendOptions, format?: TelegramFormatOptions): Promise<TelegramSentMessage>;
|
|
135
|
+
/** Send a formatted text message; returns the parsed, ok-checked envelope. */
|
|
136
|
+
private sendMessageRaw;
|
|
137
|
+
editMessageText(chatId: string, messageId: string, text: string, format?: TelegramFormatOptions): Promise<unknown>;
|
|
138
|
+
editMessageReplyMarkup(chatId: string, messageId: string, replyMarkup?: TelegramReplyMarkup): Promise<unknown>;
|
|
139
|
+
sendRichMessage(chatId: string, message: TelegramInputRichMessage, options?: TelegramSendOptions, format?: TelegramFormatOptions): Promise<TelegramSentMessage>;
|
|
140
|
+
sendRichMessageDraft(chatId: string, draftId: number, message: TelegramInputRichMessage, options?: TelegramSendOptions): Promise<unknown>;
|
|
141
|
+
editMessageRich(chatId: string, messageId: string, message: TelegramInputRichMessage, replyMarkup?: TelegramReplyMarkup): Promise<unknown>;
|
|
142
|
+
answerCallbackQuery(params: {
|
|
143
|
+
callback_query_id: string;
|
|
144
|
+
}): Promise<void>;
|
|
145
|
+
getFile(fileId: string): Promise<TelegramFileInfo>;
|
|
146
|
+
downloadFile(fileId: string, signal?: AbortSignal): Promise<TelegramDownloadedFile>;
|
|
147
|
+
sendMedia(chatId: string, media: TelegramMedia, options?: TelegramSendOptions, format?: TelegramFormatOptions): Promise<TelegramSentMessage>;
|
|
148
|
+
private mediaBody;
|
|
149
|
+
sendChatAction(chatId: string, action: 'typing', options?: TelegramChatActionOptions): Promise<void>;
|
|
150
|
+
private sendMediaRequest;
|
|
151
|
+
/** Apply formatting fields to a JSON body (caption vs text variants). */
|
|
152
|
+
private applyFormatToBody;
|
|
153
|
+
private messageBody;
|
|
154
|
+
private appendSendOptions;
|
|
155
|
+
private post;
|
|
156
|
+
/**
|
|
157
|
+
* Issue a request and return a parsed, ok-checked envelope — or throw a
|
|
158
|
+
* structured `TelegramApiError`. This is the single envelope boundary: the
|
|
159
|
+
* sendMessage "invalid response" catch-all is replaced here.
|
|
160
|
+
*/
|
|
161
|
+
private requestOk;
|
|
162
|
+
/**
|
|
163
|
+
* Parse a raw response into the envelope shape; a body that is not a valid
|
|
164
|
+
* Bot API envelope is a network/protocol-level failure, not a format issue.
|
|
165
|
+
*/
|
|
166
|
+
private parseEnvelope;
|
|
167
|
+
/** Validate every Bot API method that returns a Message through one boundary. */
|
|
168
|
+
private sentMessage;
|
|
169
|
+
/** Build a structured `TelegramApiError` from an ok=false envelope. */
|
|
170
|
+
private apiError;
|
|
171
|
+
/** Wrap a transport/network failure into a structured network-kind error. */
|
|
172
|
+
private networkError;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=upstream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upstream.d.ts","sourceRoot":"","sources":["../src/upstream.ts"],"names":[],"mappings":"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"}
|