Plugins: add inbound claim and Telegram interaction seams

This commit is contained in:
huntharo
2026-03-12 08:08:30 -04:00
parent 644fb76960
commit f55d27f7a0
26 changed files with 1125 additions and 1 deletions

View File

@@ -14,6 +14,7 @@ import { registerPluginCommand } from "./commands.js";
import { normalizePluginHttpPath } from "./http-path.js";
import { findOverlappingPluginHttpRoute } from "./http-route-overlap.js";
import { normalizeRegisteredProvider } from "./provider-validation.js";
import { registerPluginInteractiveHandler } from "./interactive.js";
import type { PluginRuntime } from "./runtime/types.js";
import {
isPluginHookName,
@@ -600,6 +601,17 @@ export function createPluginRegistry(registryParams: PluginRegistryParams) {
registerGatewayMethod: (method, handler) => registerGatewayMethod(record, method, handler),
registerCli: (registrar, opts) => registerCli(record, registrar, opts),
registerService: (service) => registerService(record, service),
registerInteractiveHandler: (registration) => {
const result = registerPluginInteractiveHandler(record.id, registration);
if (!result.ok) {
pushDiagnostic({
level: "warn",
pluginId: record.id,
source: record.source,
message: result.error ?? "interactive handler registration failed",
});
}
},
registerCommand: (command) => registerCommand(record, command),
registerContextEngine: (id, factory) => registerContextEngine(id, factory),
resolvePath: (input: string) => resolveUserPath(input),