Files
Control-Center/frontend-legacy/src/app/models/agent.model.ts

54 lines
1.3 KiB
TypeScript
Raw Normal View History

2026-04-25 19:02:57 +00:00
// ============================================================================
// Agent Status Types
// Per spec Section 7.3: Agent Card Component Interface
// ============================================================================
export type AgentStatus = 'active' | 'idle' | 'thinking' | 'error' | 'offline';
export interface AgentCardData {
/** Short agent ID, e.g., "otto" */
id: string;
/** Display name, e.g., "Otto" */
displayName: string;
/** Role description, e.g., "Orchestrator Agent" */
role: string;
/** Current agent status */
status: AgentStatus;
/** Current task description, e.g., "Reviewing PR #42" */
currentTask?: string;
/** Task progress percentage 0100 */
taskProgress?: number;
/** Elapsed time string, e.g., "04m 12s" */
taskElapsed?: string;
/** Full session key, e.g., "agent:otto:telegram:direct:8787..." */
sessionKey: string;
/** Communication channel, e.g., "telegram" */
channel: string;
/** Timestamp of last activity */
lastActivity: Date;
/** Error message (populated only on error status) */
errorMessage?: string;
}
export interface AgentStatusUpdate {
agentId: string;
status: AgentStatus;
timestamp: Date;
}
export interface TaskProgressUpdate {
agentId: string;
taskName?: string;
progress: number;
elapsed?: string;
}