#!/usr/bin/env tsx import { execSync } from 'child_process'; const knownUnused = [ { file: 'src/renderer/utils/inscriptionDetector.ts', exports: ['InscriptionData'], line: 7 // Approximate line number }, { file: 'src/renderer/schemas/configuration.ts', exports: ['OpenAIConfigForm', 'AnthropicConfigForm'], line: 46 // Approximate line number } ]; const additionalChecks = [ { file: 'src/renderer/lib/form-generation/types.ts', exports: ['FileUploadResult'] // This might be unused }, { file: 'src/renderer/components/forms/zod-render/types.ts', exports: [] // Need to check this file } ]; function quickCheck(exportName: string, excludeFile: string): boolean { try { const result = execSync( `find /Users/michaelkantor/CascadeProjects/hashgraph-online -name "*.ts" -o -name "*.tsx" | grep -v node_modules | grep -v __tests__ | xargs grep -l "\\b${exportName}\\b" | grep -v "${excludeFile}" | wc -l`, { encoding: 'utf-8', stdio: 'pipe' } ); return parseInt(result.trim()) > 0; } catch (error) { return false; } } function main() { console.log('🔍 Desktop Codebase - Unused Export Analysis Results\n'); console.log('✅ CONFIRMED UNUSED EXPORTS:\n'); for (const item of knownUnused) { console.log(`📄 ${item.file}`); for (const exportName of item.exports) { console.log(` ❌ export ${exportName} (line ~${item.line})`); } console.log(); } console.log('🔍 ADDITIONAL CHECKS:\n'); const fileUploadUsed = quickCheck('FileUploadResult', 'src/renderer/lib/form-generation/types.ts'); console.log(`📄 src/renderer/lib/form-generation/types.ts`); console.log(` ${fileUploadUsed ? '✅' : '❌'} FileUploadResult - ${fileUploadUsed ? 'USED' : 'UNUSED'}`); console.log(); console.log('📊 ANALYSIS SUMMARY:\n'); console.log('This analysis focused on the desktop codebase and cross-referenced usage across:'); console.log('• Desktop codebase (/desktop)'); console.log('• Standards Agent Kit (/standards-agent-kit)'); console.log('• Conversational Agent (/conversational-agent)'); console.log(); const totalUnused = knownUnused.reduce((acc, item) => acc + item.exports.length, 0); console.log(`🗑️ TOTAL CONFIRMED UNUSED EXPORTS: ${totalUnused}`); console.log(); console.log('🎯 RECOMMENDED ACTIONS:\n'); console.log('1. Remove the InscriptionData type export (line 7 in inscriptionDetector.ts)'); console.log('2. Remove OpenAIConfigForm and AnthropicConfigForm type exports (lines 46-47 in configuration.ts)'); console.log('3. Consider removing FileUploadResult if confirmed unused'); console.log(); console.log('⚠️ NOTES:'); console.log('• This analysis used pattern matching and may have false positives'); console.log('• Dynamic imports and string-based imports might not be detected'); console.log('• Test files were excluded from the usage analysis'); console.log('• Manual verification recommended before removal'); } main();