import type { AppRegistryMeta } from 'officerdev'; import { MessageSquare, Settings, TrendingUp } from 'lucide-react'; import { AppPanel } from './AppPanel'; import { ChatPanel, ChatPanelHeader } from './ChatPanel'; import { ConnectionPanel } from './ConnectionPanel'; /** * Three panels: the app, a chat, and the settings. * * The app is OpenSEO's own interface through the proxy — there is nothing for this plugin to curate in * front of it, and building a worse OpenSEO is the failure mode proxy-manager's router warns about. * * The chat is worth its share of the screen here because OpenSEO ships an MCP server: the agent has * real tools on the other side of it, which is the whole reason this integration is thin. * * `availableOnPanel: false` — these belong to this plugin's screen, not the generic panel picker. A * "Settings" panel offered on somebody's dashboard would be a connection form with no context. */ export const appRegistryMetas: AppRegistryMeta[] = [ { key: 'openseo-app', name: 'OpenSEO', icon: TrendingUp, component: AppPanel, availableOnPanel: false }, { key: 'openseo-chat', name: 'Chat', icon: MessageSquare, component: ChatPanel, header: ChatPanelHeader, availableOnPanel: false, }, { key: 'openseo-settings', name: 'Settings', icon: Settings, component: ConnectionPanel, availableOnPanel: false }, ];