Add core MCP server implementation and Ross Talk protocol handler: types.ts

This commit is contained in:
Zac Gaetano 2026-05-03 23:49:02 -04:00
parent 0bb71d63bb
commit f269e7a638

69
src/types.ts Normal file
View file

@ -0,0 +1,69 @@
export interface RossUltrixState {
connected: boolean;
panels: Record<string, PanelStatus>;
inputs: Record<string, InputStatus>;
lastUpdate: Date;
}
export interface PanelStatus {
id: string;
active: boolean;
mixEffect?: string;
lastUpdate: Date;
}
export interface InputStatus {
id: string;
name: string;
live: boolean;
preview: boolean;
lastUpdate: Date;
}
export interface RossTalkConfig {
host: string;
port: number;
onStateChange?: (state: Partial<RossUltrixState>) => void;
}
export interface RossCommand {
type: 'take' | 'auto' | 'preview' | 'program' | 'panel' | 'macro' | 'status';
target?: string;
parameters?: Record<string, any>;
}
export interface RossSource {
id: string;
name: string;
type: 'camera' | 'media' | 'cg' | 'aux' | 'color' | 'test';
available: boolean;
}
export interface RossPanel {
id: string;
name: string;
active: boolean;
mixEffect?: string;
type: 'me' | 'aux' | 'dsk';
}
export interface RossMacro {
id: string;
name: string;
description?: string;
parameters?: Record<string, any>;
}
export interface RossTransition {
type: 'cut' | 'mix' | 'dip' | 'wipe';
duration?: number;
parameters?: Record<string, any>;
}
export interface RossMixEffect {
id: string;
program: string | null;
preview: string | null;
transition: RossTransition;
inTransition: boolean;
}