Nyk
feat: initial open-source release
bbbc03f
Raw
History Blame Contribute Delete
1.8 kB
export interface WebSocketMessage {
type: string
data: any
timestamp?: number
}
export interface Session {
id: string
key: string
kind: string
age: string
model: string
tokens: string
flags: string[]
active: boolean
label?: string
currentTask?: string
lastActivity?: number
startTime?: number
messageCount?: number
cost?: number
}
export interface AgentStatus {
id: string
name: string
status: 'active' | 'idle' | 'error' | 'offline'
model: string
uptime: number
messageCount: number
lastActivity: Date
}
export interface ConnectionState {
isConnected: boolean
url: string
lastConnected?: Date
reconnectAttempts: number
}
export interface DashboardStats {
totalSessions: number
activeSessions: number
totalMessages: number
uptime: number
errors: number
}
export interface Agent {
id: string
name: string
type: 'main' | 'subagent' | 'cron' | 'group'
status: AgentStatus['status']
model: string
session?: Session
position?: { x: number; y: number }
}
export interface FlowNode {
id: string
type: string
data: {
label: string
agent: Agent
status: string
}
position: { x: number; y: number }
style?: React.CSSProperties
}
export interface FlowEdge {
id: string
source: string
target: string
type?: string
animated?: boolean
style?: React.CSSProperties
}
export interface ChatMessage {
id: number
conversation_id: string
from_agent: string
to_agent: string | null
content: string
message_type: 'text' | 'system' | 'handoff' | 'status' | 'command'
metadata?: any
read_at?: number
created_at: number
}
export interface Conversation {
id: string
name?: string
participants: string[]
lastMessage?: ChatMessage
unreadCount: number
updatedAt: number
}