@llblab/pi-telegram 0.16.6 → 0.17.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/AGENTS.md +14 -8
- package/BACKLOG.md +8 -5
- package/CHANGELOG.md +8 -0
- package/README.md +7 -5
- package/docs/README.md +2 -1
- package/docs/architecture.md +13 -11
- package/docs/outbound.md +2 -2
- package/docs/public-api.md +3 -0
- package/docs/sections.md +4 -2
- package/docs/telegram-bot-api-rich-messages.md +890 -0
- package/docs/ui-style.md +1 -1
- package/index.ts +11 -2
- package/lib/commands.ts +2 -2
- package/lib/menu-model.ts +3 -3
- package/lib/menu-settings.ts +2 -2
- package/lib/menu.ts +4 -4
- package/lib/preview.ts +150 -195
- package/lib/prompts.ts +3 -3
- package/lib/rendering.ts +3 -349
- package/lib/replies.ts +186 -31
- package/lib/routing.ts +2 -2
- package/lib/sections.ts +10 -5
- package/lib/telegram-api.ts +72 -9
- package/package.json +1 -1
package/docs/ui-style.md
CHANGED
package/index.ts
CHANGED
|
@@ -147,6 +147,8 @@ export default function (pi: Pi.ExtensionAPI) {
|
|
|
147
147
|
sendRecordVoiceAction,
|
|
148
148
|
sendMessageDraft,
|
|
149
149
|
sendMessage,
|
|
150
|
+
sendRichMessage,
|
|
151
|
+
sendRichMessageDraft,
|
|
150
152
|
downloadFile: downloadTelegramBridgeFile,
|
|
151
153
|
editMessageText: editTelegramMessageText,
|
|
152
154
|
answerCallbackQuery,
|
|
@@ -161,7 +163,6 @@ export default function (pi: Pi.ExtensionAPI) {
|
|
|
161
163
|
// --- Message Delivery ---
|
|
162
164
|
|
|
163
165
|
const sendGuestReply = Replies.createGuestMarkdownReplySender({
|
|
164
|
-
renderTelegramMessage: Replies.renderTelegramMessage,
|
|
165
166
|
answerGuestQuery,
|
|
166
167
|
});
|
|
167
168
|
|
|
@@ -189,6 +190,7 @@ export default function (pi: Pi.ExtensionAPI) {
|
|
|
189
190
|
|
|
190
191
|
const replyRuntime = Replies.createTelegramRenderedMessageDeliveryRuntime({
|
|
191
192
|
sendMessage,
|
|
193
|
+
sendRichMessage,
|
|
192
194
|
editMessage: editTelegramMessageText,
|
|
193
195
|
});
|
|
194
196
|
const { replyTransport, editInteractiveMessage, sendInteractiveMessage } =
|
|
@@ -221,9 +223,16 @@ export default function (pi: Pi.ExtensionAPI) {
|
|
|
221
223
|
isAssistantMessage: Replies.isAssistantAgentMessage,
|
|
222
224
|
getMessageText: Replies.getAgentMessageText,
|
|
223
225
|
getDefaultReplyToMessageId: activeTurnRuntime.getReplyToMessageId,
|
|
224
|
-
sendDraft:
|
|
226
|
+
sendDraft: TelegramApi.createTelegramNativeMarkdownDraftSender({
|
|
227
|
+
sendMessageDraft,
|
|
228
|
+
sendRichMessageDraft,
|
|
229
|
+
}),
|
|
225
230
|
sendMessage,
|
|
226
231
|
editMessageText: editTelegramMessageText,
|
|
232
|
+
sendMarkdownReply,
|
|
233
|
+
editMarkdownMessage: Preview.createTelegramNativeMarkdownMessageEditor({
|
|
234
|
+
editMessageText: editTelegramMessageText,
|
|
235
|
+
}),
|
|
227
236
|
recordRuntimeEvent,
|
|
228
237
|
...replyTransport,
|
|
229
238
|
});
|
package/lib/commands.ts
CHANGED
|
@@ -494,7 +494,7 @@ export interface TelegramCompactConfirmationDeps {
|
|
|
494
494
|
sendInteractiveMessage: (
|
|
495
495
|
chatId: number,
|
|
496
496
|
text: string,
|
|
497
|
-
mode: "html" | "plain",
|
|
497
|
+
mode: "markdown" | "html" | "plain",
|
|
498
498
|
replyMarkup: TelegramCompactConfirmationReplyMarkup,
|
|
499
499
|
) => Promise<number | undefined>;
|
|
500
500
|
}
|
|
@@ -515,7 +515,7 @@ export interface TelegramCompactConfirmationCallbackDeps<TContext> {
|
|
|
515
515
|
chatId: number,
|
|
516
516
|
messageId: number,
|
|
517
517
|
text: string,
|
|
518
|
-
mode: "html" | "plain",
|
|
518
|
+
mode: "markdown" | "html" | "plain",
|
|
519
519
|
replyMarkup: TelegramCompactConfirmationReplyMarkup,
|
|
520
520
|
) => Promise<void>;
|
|
521
521
|
runCompact: (
|
package/lib/menu-model.ts
CHANGED
|
@@ -128,13 +128,13 @@ export interface TelegramMenuMessageRuntimeDeps {
|
|
|
128
128
|
chatId: number,
|
|
129
129
|
messageId: number,
|
|
130
130
|
text: string,
|
|
131
|
-
mode: "html" | "plain",
|
|
131
|
+
mode: "markdown" | "html" | "plain",
|
|
132
132
|
replyMarkup: TelegramReplyMarkup,
|
|
133
133
|
) => Promise<void>;
|
|
134
134
|
sendInteractiveMessage: (
|
|
135
135
|
chatId: number,
|
|
136
136
|
text: string,
|
|
137
|
-
mode: "html" | "plain",
|
|
137
|
+
mode: "markdown" | "html" | "plain",
|
|
138
138
|
replyMarkup: TelegramReplyMarkup,
|
|
139
139
|
) => Promise<number | undefined>;
|
|
140
140
|
}
|
|
@@ -200,7 +200,7 @@ export interface TelegramModelMenuPage<TModel extends MenuModel = MenuModel> {
|
|
|
200
200
|
export interface TelegramMenuRenderPayload {
|
|
201
201
|
nextMode: TelegramModelMenuState["mode"];
|
|
202
202
|
text: string;
|
|
203
|
-
mode: "html" | "plain";
|
|
203
|
+
mode: "markdown" | "html" | "plain";
|
|
204
204
|
replyMarkup: TelegramReplyMarkup;
|
|
205
205
|
}
|
|
206
206
|
|
package/lib/menu-settings.ts
CHANGED
|
@@ -98,13 +98,13 @@ export interface TelegramSettingsMenuRuntimeDeps<
|
|
|
98
98
|
chatId: number,
|
|
99
99
|
messageId: number,
|
|
100
100
|
text: string,
|
|
101
|
-
mode: "html" | "plain",
|
|
101
|
+
mode: "markdown" | "html" | "plain",
|
|
102
102
|
replyMarkup: TelegramSettingsMenuReplyMarkup,
|
|
103
103
|
) => Promise<void>;
|
|
104
104
|
sendInteractiveMessage: (
|
|
105
105
|
chatId: number,
|
|
106
106
|
text: string,
|
|
107
|
-
mode: "html" | "plain",
|
|
107
|
+
mode: "markdown" | "html" | "plain",
|
|
108
108
|
replyMarkup: TelegramSettingsMenuReplyMarkup,
|
|
109
109
|
) => Promise<number | undefined>;
|
|
110
110
|
answerCallbackQuery: (
|
package/lib/menu.ts
CHANGED
|
@@ -228,13 +228,13 @@ export interface TelegramMenuCallbackRuntimeDeps<
|
|
|
228
228
|
chatId: number,
|
|
229
229
|
messageId: number,
|
|
230
230
|
text: string,
|
|
231
|
-
mode: "html" | "plain",
|
|
231
|
+
mode: "markdown" | "html" | "plain",
|
|
232
232
|
replyMarkup: TelegramReplyMarkup,
|
|
233
233
|
) => Promise<void>;
|
|
234
234
|
sendInteractiveMessage?: (
|
|
235
235
|
chatId: number,
|
|
236
236
|
text: string,
|
|
237
|
-
mode: "html" | "plain",
|
|
237
|
+
mode: "markdown" | "html" | "plain",
|
|
238
238
|
replyMarkup: TelegramReplyMarkup,
|
|
239
239
|
) => Promise<number | undefined>;
|
|
240
240
|
enqueueSectionPrompt?: (prompt: string, ctx: TContext) => Promise<void>;
|
|
@@ -464,13 +464,13 @@ export interface TelegramMenuCallbackRuntimeAdapterDeps<
|
|
|
464
464
|
chatId: number,
|
|
465
465
|
messageId: number,
|
|
466
466
|
text: string,
|
|
467
|
-
mode: "html" | "plain",
|
|
467
|
+
mode: "markdown" | "html" | "plain",
|
|
468
468
|
replyMarkup: TelegramReplyMarkup,
|
|
469
469
|
) => Promise<void>;
|
|
470
470
|
sendInteractiveMessage?: (
|
|
471
471
|
chatId: number,
|
|
472
472
|
text: string,
|
|
473
|
-
mode: "html" | "plain",
|
|
473
|
+
mode: "markdown" | "html" | "plain",
|
|
474
474
|
replyMarkup: TelegramReplyMarkup,
|
|
475
475
|
) => Promise<number | undefined>;
|
|
476
476
|
enqueueSectionPrompt?: (prompt: string, ctx: TContext) => Promise<void>;
|