import { listChannelPlugins } from "../channels/plugins/index.js"; const BASE_METHODS = [ "health", "logs.tail", "channels.status", "channels.logout", "status", "usage.status", "usage.cost", "config.get", "config.set", "config.apply", "config.patch", "config.schema", "exec.approvals.get", "exec.approvals.set", "exec.approvals.node.get", "exec.approvals.node.set", "wizard.start", "wizard.next", "wizard.cancel", "wizard.status", "talk.mode", "models.list", "agents.list", "skills.status", "skills.install", "skills.update", "update.run", "voicewake.get", "voicewake.set", "sessions.list", "sessions.patch", "sessions.reset", "sessions.delete", "sessions.compact", "last-heartbeat", "set-heartbeats", "wake", "node.pair.request", "node.pair.list", "node.pair.approve", "node.pair.reject", "node.pair.verify", "node.rename", "node.list", "node.describe", "node.invoke", "cron.list", "cron.status", "cron.add", "cron.update", "cron.remove", "cron.run", "cron.runs", "system-presence", "system-event", "send", "agent", "agent.wait", // WebChat WebSocket-native chat methods "chat.history", "chat.abort", "chat.send", ]; export function listGatewayMethods(): string[] { const channelMethods = listChannelPlugins().flatMap((plugin) => plugin.gatewayMethods ?? []); return Array.from(new Set([...BASE_METHODS, ...channelMethods])); } export const GATEWAY_EVENTS = [ "agent", "chat", "presence", "tick", "talk.mode", "shutdown", "health", "heartbeat", "cron", "node.pair.requested", "node.pair.resolved", "voicewake.changed", ];