UNPKG

context-forge

Version:

AI orchestration platform with autonomous teams, enhancement planning, migration tools, 25+ slash commands, checkpoints & hooks. Multi-IDE: Claude, Cursor, Windsurf, Cline, Copilot

92 lines 2.66 kB
import { EventEmitter } from 'events'; import { SelfSchedulingConfig, AgentSession } from '../types/orchestration'; import { TmuxManager } from './tmuxManager'; export interface ScheduleEntry { id: string; agentId: string; sessionName: string; windowIndex: number; scheduledTime: Date; interval: number; note: string; status: 'pending' | 'executed' | 'failed' | 'cancelled'; processId?: number; } export interface SchedulerStats { totalScheduled: number; executed: number; failed: number; cancelled: number; averageInterval: number; adaptiveAdjustments: number; } export declare class SelfSchedulingService extends EventEmitter { private schedules; private tmux; private config; private stats; private workloadMetrics; constructor(config: SelfSchedulingConfig, tmux: TmuxManager); /** * Schedule next check-in for an agent */ scheduleAgentCheckIn(agentSession: AgentSession, interval?: number, note?: string): Promise<ScheduleEntry>; /** * Calculate adaptive interval based on agent workload */ private calculateAdaptiveInterval; /** * Update agent workload metrics */ updateWorkloadMetrics(agentId: string, metrics: { tasksCompleted: number; tasksPending: number; blockers: number; messagesReceived: number; }): void; /** * Execute schedule using scheduling script */ private executeSchedule; /** * Cancel a scheduled check-in */ cancelSchedule(agentId: string): Promise<boolean>; /** * Reschedule an agent with new interval */ reschedule(agentSession: AgentSession, newInterval: number, note?: string): Promise<ScheduleEntry>; /** * Handle schedule execution (called when schedule fires) */ handleScheduleExecution(agentId: string): Promise<void>; /** * Get schedule for agent */ getAgentSchedule(agentId: string): ScheduleEntry | undefined; /** * Get all active schedules */ getActiveSchedules(): ScheduleEntry[]; /** * Update average interval statistic */ private updateAverageInterval; /** * Get scheduler statistics */ getStats(): SchedulerStats; /** * Cancel all active schedules */ cancelAllSchedules(): Promise<void>; /** * Create recovery schedule for crashed agent */ createRecoverySchedule(agentSession: AgentSession, error: Error): Promise<void>; /** * Generate scheduling script content */ generateSchedulingScript(): string; } //# sourceMappingURL=selfScheduler.d.ts.map