// CRITICAL export const CONTROLLER_EVENTS = { STATUS: "status", GPU: "gpu", METRICS: "metrics", RUNTIME_SUMMARY: "runtime_summary", LAUNCH_PROGRESS: "launch_progress", MODEL_SWITCH: "model_switch", DOWNLOAD_PROGRESS: "download_progress", DOWNLOAD_STATE: "download_state", RECIPE_CREATED: "recipe_created", RECIPE_UPDATED: "recipe_updated", RECIPE_DELETED: "recipe_deleted", MCP_SERVER_CREATED: "mcp_server_created", MCP_SERVER_UPDATED: "mcp_server_updated", MCP_SERVER_DELETED: "mcp_server_deleted", MCP_SERVER_ENABLED: "mcp_server_enabled", MCP_SERVER_DISABLED: "mcp_server_disabled", MCP_TOOL_CALLED: "mcp_tool_called", RUNTIME_VLLM_UPGRADED: "runtime_vllm_upgraded", RUNTIME_SGLANG_UPGRADED: "runtime_sglang_upgraded", RUNTIME_LLAMACPP_UPGRADED: "runtime_llamacpp_upgraded", RUNTIME_CUDA_UPGRADED: "runtime_cuda_upgraded", RUNTIME_ROCM_UPGRADED: "runtime_rocm_upgraded", LOG: "log", } as const; export type ControllerEventType = (typeof CONTROLLER_EVENTS)[keyof typeof CONTROLLER_EVENTS]; export const CONTROLLER_STREAM_EVENT_TYPES = [ CONTROLLER_EVENTS.STATUS, CONTROLLER_EVENTS.GPU, CONTROLLER_EVENTS.METRICS, CONTROLLER_EVENTS.RUNTIME_SUMMARY, CONTROLLER_EVENTS.LAUNCH_PROGRESS, CONTROLLER_EVENTS.MODEL_SWITCH, CONTROLLER_EVENTS.DOWNLOAD_PROGRESS, CONTROLLER_EVENTS.DOWNLOAD_STATE, CONTROLLER_EVENTS.RECIPE_CREATED, CONTROLLER_EVENTS.RECIPE_UPDATED, CONTROLLER_EVENTS.RECIPE_DELETED, CONTROLLER_EVENTS.MCP_SERVER_CREATED, CONTROLLER_EVENTS.MCP_SERVER_UPDATED, CONTROLLER_EVENTS.MCP_SERVER_DELETED, CONTROLLER_EVENTS.MCP_SERVER_ENABLED, CONTROLLER_EVENTS.MCP_SERVER_DISABLED, CONTROLLER_EVENTS.MCP_TOOL_CALLED, CONTROLLER_EVENTS.RUNTIME_VLLM_UPGRADED, CONTROLLER_EVENTS.RUNTIME_SGLANG_UPGRADED, CONTROLLER_EVENTS.RUNTIME_LLAMACPP_UPGRADED, CONTROLLER_EVENTS.RUNTIME_CUDA_UPGRADED, CONTROLLER_EVENTS.RUNTIME_ROCM_UPGRADED, ] as const; export type ControllerStreamEventType = (typeof CONTROLLER_STREAM_EVENT_TYPES)[number]; export type ControllerEventDomain = | "recipe" | "runtime" | "controller" | "mcp"; const CONTROLLER_EVENT_DOMAIN_MAP: Record< ControllerStreamEventType, ControllerEventDomain > = { [CONTROLLER_EVENTS.STATUS]: "controller", [CONTROLLER_EVENTS.GPU]: "controller", [CONTROLLER_EVENTS.METRICS]: "controller", [CONTROLLER_EVENTS.RUNTIME_SUMMARY]: "controller", [CONTROLLER_EVENTS.LAUNCH_PROGRESS]: "controller", [CONTROLLER_EVENTS.MODEL_SWITCH]: "controller", [CONTROLLER_EVENTS.DOWNLOAD_PROGRESS]: "controller", [CONTROLLER_EVENTS.DOWNLOAD_STATE]: "controller", [CONTROLLER_EVENTS.RECIPE_CREATED]: "recipe", [CONTROLLER_EVENTS.RECIPE_UPDATED]: "recipe", [CONTROLLER_EVENTS.RECIPE_DELETED]: "recipe", [CONTROLLER_EVENTS.MCP_SERVER_CREATED]: "mcp", [CONTROLLER_EVENTS.MCP_SERVER_UPDATED]: "mcp", [CONTROLLER_EVENTS.MCP_SERVER_DELETED]: "mcp", [CONTROLLER_EVENTS.MCP_SERVER_ENABLED]: "mcp", [CONTROLLER_EVENTS.MCP_SERVER_DISABLED]: "mcp", [CONTROLLER_EVENTS.MCP_TOOL_CALLED]: "mcp", [CONTROLLER_EVENTS.RUNTIME_VLLM_UPGRADED]: "runtime", [CONTROLLER_EVENTS.RUNTIME_SGLANG_UPGRADED]: "runtime", [CONTROLLER_EVENTS.RUNTIME_LLAMACPP_UPGRADED]: "runtime", [CONTROLLER_EVENTS.RUNTIME_CUDA_UPGRADED]: "runtime", [CONTROLLER_EVENTS.RUNTIME_ROCM_UPGRADED]: "runtime", }; export const CONTROLLER_BROWSER_EVENT_CHANNEL = { recipe: "vllm:recipe-event", runtime: "vllm:runtime-event", controller: "vllm:controller-event", mcp: "vllm:controller-event", } as const; export type ControllerBrowserEventChannel = (typeof CONTROLLER_BROWSER_EVENT_CHANNEL)[ControllerEventDomain]; const CONTROLLER_STREAM_EVENT_SET = new Set( CONTROLLER_STREAM_EVENT_TYPES, ); export const isControllerStreamEventType = ( eventType: string, ): eventType is ControllerStreamEventType => { return CONTROLLER_STREAM_EVENT_SET.has(eventType); }; export const getControllerEventDomain = ( eventType: string, ): ControllerEventDomain | null => { if (!isControllerStreamEventType(eventType)) { return null; } return CONTROLLER_EVENT_DOMAIN_MAP[eventType]; }; export const getBrowserEventChannelForControllerEvent = ( eventType: string, ): ControllerBrowserEventChannel | null => { const domain = getControllerEventDomain(eventType); if (!domain) { return null; } return CONTROLLER_BROWSER_EVENT_CHANNEL[domain]; };