feat(plugins): sync plugin commands to Telegram menu and export gateway types

- Add plugin command specs to Telegram setMyCommands for autocomplete
- Export GatewayRequestHandler types in plugin-sdk for plugin authors
- Enables plugins to register gateway methods and appear in command menus
This commit is contained in:
Joshua Mitchell
2026-01-25 15:09:01 -06:00
committed by Ayaan Zaidi
parent ce60c6db1b
commit 0e3340d1fc
2 changed files with 11 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ import { resolveMarkdownTableMode } from "../config/markdown-tables.js";
import { resolveAgentRoute } from "../routing/resolve-route.js";
import { resolveThreadSessionKeys } from "../routing/session-key.js";
import { resolveCommandAuthorizedFromAuthorizers } from "../channels/command-gating.js";
import { getPluginCommandSpecs } from "../plugins/commands.js";
import type { ChannelGroupPolicy } from "../config/group-policy.js";
import type {
ReplyToMode,
@@ -103,11 +104,16 @@ export const registerTelegramNativeCommands = ({
runtime.error?.(danger(issue.message));
}
const customCommands = customResolution.commands;
const pluginCommandSpecs = getPluginCommandSpecs();
const allCommands: Array<{ command: string; description: string }> = [
...nativeCommands.map((command) => ({
command: command.name,
description: command.description,
})),
...pluginCommandSpecs.map((spec) => ({
command: spec.name,
description: spec.description,
})),
...customCommands,
];