organ-ai-zer
Version:
AI-powered file organizer CLI tool
42 lines • 1.44 kB
TypeScript
import { ZodSchema } from 'zod';
import { ConversationContext } from '../conversation-context';
import { FileInfo } from '../../types';
export interface AIAnalysisRequest {
files: FileInfo[];
baseDirectory: string;
existingStructure?: string[];
userPreferences?: any;
}
export interface AIAnalysisResponse {
suggestions: Array<{
file: FileInfo | null;
suggestedPath: string;
reason: string;
confidence: number;
category?: string;
metadata?: any;
}>;
reasoning: string;
}
export declare abstract class BaseAIProvider {
protected apiKey: string;
protected model: string;
protected maxTokens: number;
protected temperature: number;
protected timeout: number;
constructor(config: {
apiKey: string;
model?: string;
maxTokens?: number;
temperature?: number;
timeout?: number;
});
abstract getDefaultModel(): string;
abstract generateResponse(context: ConversationContext, schema: ZodSchema): Promise<AIAnalysisResponse>;
abstract analyzeFiles(request: AIAnalysisRequest): Promise<AIAnalysisResponse>;
protected buildPrompt(request: AIAnalysisRequest): string;
protected buildConversationalPrompt(request: AIAnalysisRequest): string;
private formatFileSize;
protected parseAIResponse(response: string): AIAnalysisResponse;
}
//# sourceMappingURL=base-ai-provider.d.ts.map