@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
51 lines • 1.89 kB
TypeScript
/**
* Abstract base class for AI assistant chat history parsers
*
* Provides a common interface for parsing chat history from various AI coding assistants
* like GitHub Copilot, Cursor, Claude Code, etc.
*/
import type { ChatSession, ChatStatistics, SearchResult, WorkspaceData } from '../../models/index.js';
export interface Logger {
error?(message: string, ...args: unknown[]): void;
warn?(message: string, ...args: unknown[]): void;
info?(message: string, ...args: unknown[]): void;
debug?(message: string, ...args: unknown[]): void;
}
export declare class SimpleConsoleLogger implements Logger {
error(message: string, ...args: unknown[]): void;
warn(message: string, ...args: unknown[]): void;
info(message: string, ...args: unknown[]): void;
debug(message: string, ...args: unknown[]): void;
}
/**
* Abstract base class for AI assistant parsers
*/
export declare abstract class AIAssistantParser {
protected logger: Logger;
constructor(logger?: Logger);
/**
* Get the name of the AI assistant this parser handles
*/
abstract getAssistantName(): string;
/**
* Get platform-specific data storage paths for this AI assistant
*/
protected abstract getDataPaths(): string[];
/**
* Parse a single chat session file
*/
protected abstract parseChatSession(filePath: string): Promise<ChatSession | null>;
/**
* Discover and parse all chat data from the assistant's storage
*/
abstract discoverChatData(): Promise<WorkspaceData>;
/**
* Search for content in chat sessions
*/
searchChatContent(workspaceData: WorkspaceData, query: string, caseSensitive?: boolean): SearchResult[];
/**
* Get statistics about chat sessions
*/
getChatStatistics(workspaceData: WorkspaceData): ChatStatistics;
}
//# sourceMappingURL=ai-assistant-parser.d.ts.map