mirror of
https://github.com/jparkerweb/plan2code.git
synced 2026-09-17 16:22:23 -07:00
161e424632
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
36 lines
1.2 KiB
TypeScript
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',
|
|
};
|