Files
plan2code/plan2code-loop/src/state/config.ts
T
jparkerweb 161e424632 Add Devin CLI as a selectable agent backend in plan2code-loop
Upstream replaced GitHub Copilot CLI with Devin; Plan2Code keeps both, so
Claude Code, Copilot CLI and Devin are all selectable and existing Copilot
selections keep working.

AI Assisted
2026-08-08 12:39:28 -07:00

36 lines
1.2 KiB
TypeScript

export type LoopMode = 'task' | 'phase';
export interface SessionConfig {
agent: string; // "claude-code" | "copilot-cli" | "devin-cli"
model: string; // Selected model
maxIterations: number; // 5-50
timeout: number; // Base timeout in minutes per iteration attempt
maxRetries: number; // Max retry attempts per iteration (timeout increments by 30s each retry)
verbose: boolean;
specPath: string; // Path to the spec directory
startedAt: string; // ISO timestamp
currentIteration: number;
jiraTicketId?: string; // JIRA ticket ID for commit messages
loopMode: LoopMode; // "task" = one task per loop, "phase" = one phase per loop
}
export interface IterationLogEntry {
iteration: number;
timestamp: string; // ISO timestamp
duration: number; // milliseconds
exitCode: number;
status: 'running' | 'completed' | 'error' | 'timeout' | 'interrupted' | 'blocked';
completionMarker?: string;
}
export type SessionState = 'new' | 'continue' | 'changed';
export const DEFAULT_CONFIG: Partial<SessionConfig> = {
maxIterations: 100,
timeout: 3,
maxRetries: 5,
verbose: false,
currentIteration: 0,
loopMode: 'task',
};