UNPKG

organ-ai-zer

Version:

AI-powered file organizer CLI tool

40 lines • 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.preview = preview; const file_scanner_1 = require("../services/file-scanner"); const ai_organizer_1 = require("../services/ai-organizer"); const config_service_1 = require("../services/config-service"); async function preview(directory, options) { try { console.log(`Previewing organization for: ${directory}`); // Initialize config service const configService = config_service_1.ConfigService.getInstance(options.config); // Validate API key const hasValidKey = await configService.validateApiKey(); if (!hasValidKey) { console.log('šŸ’” Run "organ-ai-zer init" to set up your configuration'); process.exit(1); } const scanner = new file_scanner_1.FileScanner(); const files = await scanner.scanDirectory(directory, options.recursive || false); console.log(`šŸ“ Found ${files.length} files to analyze`); const aiOrganizer = new ai_organizer_1.AIOrganizer(configService); const useCache = !options.noCache; const suggestions = await aiOrganizer.generateSuggestions(files, useCache); console.log(`\nšŸ¤– Organization Preview (${suggestions.length} suggestions):`); console.log('═'.repeat(60)); suggestions.forEach((suggestion, index) => { console.log(`\n${index + 1}. ${suggestion.file.name}`); console.log(` From: ${suggestion.file.path}`); console.log(` To: ${suggestion.suggestedPath}`); console.log(` Reason: ${suggestion.reason}`); console.log(` Confidence: ${Math.round(suggestion.confidence * 100)}%`); }); console.log('\nšŸ’” Use the "organize" command to apply these changes'); } catch (error) { console.error('āŒ Error during preview:', error); process.exit(1); } } //# sourceMappingURL=preview.js.map