@codervisor/devlog-ai
Version:
AI Chat History Extractor & Docker-based Automation - TypeScript implementation for GitHub Copilot and other AI coding assistants with automated testing capabilities
90 lines • 2.29 kB
TypeScript
/**
* Type definitions for automation layer
*/
export interface AutomationConfig {
/** GitHub token for Copilot authentication */
githubToken: string;
/** VS Code Insiders version to use */
vscodeVersion?: string;
/** Container port mapping */
ports?: {
codeServer: number;
vscode: number;
};
/** Timeout for operations in milliseconds */
timeout?: number;
/** Enable debug logging */
debug?: boolean;
}
export interface ContainerStatus {
id: string;
status: 'starting' | 'running' | 'stopping' | 'stopped' | 'error';
ports?: {
codeServer?: number;
vscode?: number;
};
startTime?: Date;
error?: string;
}
export interface TestScenario {
id: string;
name: string;
description: string;
language: string;
initialCode: string;
expectedPrompts: string[];
timeout?: number;
metadata?: Record<string, unknown>;
}
export interface CopilotInteraction {
timestamp: Date;
trigger: 'keystroke' | 'tab' | 'manual';
context: {
fileName: string;
fileContent: string;
cursorPosition: {
line: number;
character: number;
};
precedingText: string;
followingText: string;
};
suggestion?: {
text: string;
confidence?: number;
accepted: boolean;
alternativeCount?: number;
};
metadata?: Record<string, unknown>;
}
export interface TestScenarioResult {
scenarioId: string;
startTime: Date;
endTime: Date;
success: boolean;
interactions: CopilotInteraction[];
generatedCode: string;
metrics: {
totalSuggestions: number;
acceptedSuggestions: number;
rejectedSuggestions: number;
averageResponseTime: number;
};
error?: string;
metadata?: Record<string, unknown>;
}
export interface AutomationSessionResult {
sessionId: string;
startTime: Date;
endTime: Date;
scenarios: TestScenarioResult[];
containerInfo: ContainerStatus;
summary: {
totalScenarios: number;
successfulScenarios: number;
failedScenarios: number;
totalInteractions: number;
overallSuccessRate: number;
};
}
//# sourceMappingURL=index.d.ts.map