import type { ChannelCapabilities, ChannelId, ChannelOutboundAdapter, ChannelPlugin, } from "../channels/plugins/types.js"; import type { PluginRegistry } from "../plugins/registry.js"; export const createTestRegistry = (channels: PluginRegistry["channels"] = []): PluginRegistry => ({ plugins: [], tools: [], hooks: [], typedHooks: [], channels, providers: [], gatewayHandlers: {}, httpHandlers: [], httpRoutes: [], cliRegistrars: [], services: [], commands: [], diagnostics: [], }); export const createOutboundTestPlugin = (params: { id: ChannelId; outbound: ChannelOutboundAdapter; label?: string; docsPath?: string; capabilities?: ChannelCapabilities; }): ChannelPlugin => ({ id: params.id, meta: { id: params.id, label: params.label ?? String(params.id), selectionLabel: params.label ?? String(params.id), docsPath: params.docsPath ?? `/channels/${params.id}`, blurb: "test stub.", }, capabilities: params.capabilities ?? { chatTypes: ["direct"] }, config: { listAccountIds: () => [], resolveAccount: () => ({}), }, outbound: params.outbound, });