Initial commit: Nexus Mission Control Platform
- ASP.NET Core 10 Backend (JWT Auth, Agent config API) - Vue 3 Frontend (Dashboard, Team, Agents, Config Editor) - PostgreSQL Database - Docker Compose setup - Mission Control Dashboard redesign
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
export interface AgentInfo {
|
||||
id: string
|
||||
name: string
|
||||
role: string
|
||||
model: string
|
||||
status: string
|
||||
lastSeen?: string
|
||||
workspace?: string
|
||||
description?: string
|
||||
}
|
||||
|
||||
export interface AgentDetail extends AgentInfo {
|
||||
agentDir?: string
|
||||
subAgents?: string[]
|
||||
identityName?: string
|
||||
}
|
||||
|
||||
export interface TeamMember {
|
||||
id: string
|
||||
name: string
|
||||
role: string
|
||||
model: string
|
||||
status: string
|
||||
lastSeen?: string
|
||||
workspace?: string
|
||||
description?: string
|
||||
identity?: string
|
||||
subAgents?: string[]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
export interface SecurityStatus {
|
||||
authMethod: string
|
||||
tokenConfig: { issuer: string; audience: string; refreshTokenDays: number; accessTokenMinutes: number }
|
||||
rateLimit: string
|
||||
passwordPolicy: string
|
||||
cookieConfig: { httpOnly: boolean; secure: boolean; sameSite: string }
|
||||
twoFactorEnabled: boolean
|
||||
passkeyEnabled: boolean
|
||||
}
|
||||
|
||||
export interface ConfigFileInfo {
|
||||
fileName: string
|
||||
size: number
|
||||
modifiedAt: string
|
||||
}
|
||||
|
||||
export interface ConfigFileDetail extends ConfigFileInfo {
|
||||
content: string
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
import type { AgentInfo } from './agent'
|
||||
|
||||
export interface RuntimeStatus {
|
||||
runtime: string
|
||||
status: 'Online' | 'Degraded' | 'Offline' | 'Unknown'
|
||||
latency?: string
|
||||
detail?: string
|
||||
}
|
||||
|
||||
export interface ModelStatus {
|
||||
provider: string
|
||||
model: string
|
||||
status: 'Online' | 'Degraded' | 'Offline' | 'Unknown'
|
||||
isLocal: boolean
|
||||
detail?: string
|
||||
}
|
||||
|
||||
export interface ProjectHealth {
|
||||
online: number
|
||||
offline: number
|
||||
degraded: number
|
||||
unknown: number
|
||||
}
|
||||
|
||||
export interface IncidentInfo {
|
||||
taskId?: string
|
||||
title?: string
|
||||
since?: string
|
||||
}
|
||||
|
||||
export interface RoutingTarget {
|
||||
priority: number
|
||||
provider: string
|
||||
model: string
|
||||
purpose: string
|
||||
status: 'Online' | 'Degraded' | 'Offline' | 'Unknown'
|
||||
detail: string
|
||||
}
|
||||
|
||||
export type TaskState = 'Backlog' | 'In progress' | 'Blocked' | 'Done'
|
||||
export const TASK_STATES: TaskState[] = ['Backlog', 'In progress', 'Blocked', 'Done']
|
||||
|
||||
export interface OperationsSnapshot {
|
||||
generatedAt: string
|
||||
runtime: RuntimeStatus
|
||||
models: ModelStatus[]
|
||||
metrics: {
|
||||
activeAgents: number
|
||||
queuedTasks: number
|
||||
successRate: number
|
||||
incidents: number
|
||||
runtimeHealthy?: boolean
|
||||
lastIncident?: IncidentInfo
|
||||
}
|
||||
projectHealth?: ProjectHealth
|
||||
agents?: AgentInfo[]
|
||||
projects: Array<{ id: string; name: string; status: string; progress: number; updatedAt?: string }>
|
||||
tasks: Array<{
|
||||
id: string
|
||||
title: string
|
||||
state: TaskState
|
||||
priority: string
|
||||
projectId?: string | null
|
||||
updatedAt: string
|
||||
}>
|
||||
activity: Array<{ id?: number; type: string; message: string; at: string }>
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export * from './agent'
|
||||
export * from './config'
|
||||
export * from './dashboard'
|
||||
export * from './project'
|
||||
@@ -0,0 +1,30 @@
|
||||
export interface MemoryFile {
|
||||
name: string
|
||||
path: string
|
||||
size: number
|
||||
modifiedAt: string
|
||||
}
|
||||
|
||||
export interface MemoryDetail extends MemoryFile {
|
||||
content: string
|
||||
}
|
||||
|
||||
export interface MemorySearchResult {
|
||||
name: string
|
||||
path: string
|
||||
excerpt: string
|
||||
size: number
|
||||
}
|
||||
|
||||
export interface DocFile {
|
||||
name: string
|
||||
path: string
|
||||
category: string
|
||||
type: string
|
||||
size: number
|
||||
modifiedAt: string
|
||||
}
|
||||
|
||||
export interface DocDetail extends DocFile {
|
||||
content: string
|
||||
}
|
||||
Reference in New Issue
Block a user