cortexweaver
Version:
CortexWeaver is a command-line interface (CLI) tool that orchestrates a swarm of specialized AI agents, powered by Claude Code and Gemini CLI, to assist in software development. It transforms a high-level project plan (plan.md) into a series of coordinate
126 lines • 3.35 kB
TypeScript
import { CognitiveCanvas, TaskData } from '../cognitive-canvas';
import { ClaudeClient, TokenUsageStats } from '../claude-client';
import { SessionManager } from '../session';
import { WorkflowManager } from './workflow-manager';
export type OrchestratorStatus = 'idle' | 'initialized' | 'running' | 'error' | 'completed';
export interface ProjectProgress {
projectId: string;
totalTasks: number;
completedTasks: number;
runningTasks: number;
pendingTasks: number;
errorTasks: number;
pausedTasks: number;
progressPercentage: number;
}
export interface WorkflowProgress {
taskId: string;
currentStep: string;
completedSteps: string[];
totalSteps: number;
stepProgress: number;
}
export interface SessionStatus {
sessionId: string;
taskId: string;
agentType: string;
status: 'active' | 'idle' | 'error' | 'completed';
startTime: string;
lastActivity?: string;
}
export interface SystemHealth {
orchestratorStatus: OrchestratorStatus;
activeSessionsCount: number;
totalTasksInProgress: number;
budgetUtilization: number;
errorRate: number;
lastHealthCheck: string;
}
export declare class StatusManager {
private canvas;
private client;
private sessionManager;
private workflowManager;
private status;
private running;
private projectId;
private lastHealthCheck;
constructor(canvas: CognitiveCanvas, client: ClaudeClient, sessionManager: SessionManager, workflowManager: WorkflowManager);
/**
* Set orchestrator status
*/
setStatus(status: OrchestratorStatus): void;
/**
* Get current orchestrator status
*/
getStatus(): OrchestratorStatus;
/**
* Set running state
*/
setRunning(running: boolean): void;
/**
* Get running state
*/
isRunning(): boolean;
/**
* Set current project ID
*/
setProjectId(projectId: string): void;
/**
* Get current project ID
*/
getProjectId(): string | null;
/**
* Get token usage statistics
*/
getTokenUsage(): TokenUsageStats;
/**
* Check budget limits
*/
checkBudgetLimit(): boolean;
/**
* Get budget utilization percentage
*/
getBudgetUtilization(): number;
/**
* Get project progress
*/
getProjectProgress(): Promise<ProjectProgress | null>;
/**
* Get workflow progress for all tasks
*/
getWorkflowProgress(): Promise<WorkflowProgress[]>;
/**
* Get session status for all active sessions
*/
getSessionStatus(): SessionStatus[];
/**
* Get system health metrics
*/
getSystemHealth(): Promise<SystemHealth>;
/**
* Check if all tasks are completed
*/
areAllTasksCompleted(): Promise<boolean>;
/**
* Get tasks by status
*/
getTasksByStatus(status: string): Promise<TaskData[]>;
/**
* Get next available tasks (pending with no unmet dependencies)
*/
getNextAvailableTasks(): Promise<TaskData[]>;
/**
* Get detailed status report
*/
getDetailedStatusReport(): Promise<any>;
/**
* Log status summary
*/
logStatusSummary(): Promise<void>;
/**
* Reset status manager for new project
*/
reset(): void;
}
//# sourceMappingURL=status-manager.d.ts.map