← back to Dw War Room

src/types.ts

85 lines

// ═══════════════════════════════════════════════
// DW War Room 3D — Types
// ═══════════════════════════════════════════════

export interface AgentNode {
  id: string;
  name: string;
  role: string;
  dept: string;
  color: string;
  exec: string;
  port?: number;
  speaking: boolean;
  position: { x: number; y: number; z: number };
}

export interface Executive {
  id: string;
  name: string;
  role: string;
  color: string;
  port: number;
}

export interface MeetingState {
  active: boolean;
  id?: string;
  type?: string;
  phase?: string;
  status?: string;
  messages: MeetingMessage[];
}

export interface MeetingMessage {
  id: number;
  agent_id: string;
  agent_name: string;
  message: string;
  message_type: string;
  phase?: string;
}

export interface DecisionStats {
  total: number;
  pending: number;
  approved: number;
  rejected: number;
  deferred: number;
}

export interface EscalationAlert {
  id: number;
  decision_id: string | null;
  escalation_type: string;
  hours_elapsed: number;
  action_taken: string | null;
}

export interface GovernanceStatus {
  governance_mode: string;
  pending_decisions: number;
  active_delegations: number;
  active_escalations: number;
}

export interface WSEvent {
  type: string;
  payload: any;
  timestamp: string;
}

export interface SystemHealth {
  cpu: string;
  memory: string;
  services: number;
  uptime: string;
}

export interface FeedItem {
  agent_name: string;
  action: string;
  timestamp: string;
  type?: string;
}