UNPKG

snes-disassembler

Version:

A Super Nintendo (SNES) ROM disassembler for 65816 assembly

118 lines 3.89 kB
/** * AI Configuration Management * * Centralized configuration for all GenAI features in the SNES disassembler. * All AI features are optional and can be disabled for users who prefer * traditional analysis methods. */ interface AIModelConfig { /** HuggingFace model identifier or local path */ modelPath: string; /** Enable/disable this specific model */ enabled: boolean; /** Model revision/version to use */ revision?: string; /** Custom model parameters */ parameters?: Record<string, any>; } interface AIFeatureConfig { /** Enable/disable all AI features globally */ enabled: boolean; /** Graphics classification using Vision Transformers */ graphicsClassification: AIModelConfig; /** Text/sequence classification using language models */ textClassification: AIModelConfig; /** Audio pattern recognition */ audioClassification: AIModelConfig; /** Intelligent naming suggestions */ namingSuggestions: { enabled: boolean; /** Use AI-generated context-aware names */ useContextualNames: boolean; /** Include SNES-specific naming conventions */ useSNESConventions: boolean; /** Custom naming patterns */ customPatterns?: string[]; }; /** Automated documentation generation */ documentationGeneration: { enabled: boolean; /** Generate comments for assembly code */ generateComments: boolean; /** Generate high-level documentation */ generateDocs: boolean; /** Documentation language/style */ style: 'technical' | 'beginner' | 'detailed'; /** Include AI confidence scores in docs */ includeConfidence: boolean; }; /** Performance and resource settings */ performance: { /** Maximum memory usage for AI models (MB) */ maxMemoryMB: number; /** Enable model caching */ enableCaching: boolean; /** Parallel processing limit */ maxConcurrentJobs: number; /** Timeout for AI operations (seconds) */ timeoutSeconds: number; }; /** Fallback behavior when AI is unavailable */ fallback: { /** Use heuristic analysis when AI fails */ useHeuristics: boolean; /** Show warnings when falling back */ showWarnings: boolean; /** Cache heuristic results */ cacheResults: boolean; }; } /** * Default AI configuration - all features disabled by default * Users must explicitly enable AI features they want to use */ export declare const DEFAULT_AI_CONFIG: AIFeatureConfig; /** * AI Configuration Manager * Handles loading, saving, and validating AI configuration */ export declare class AIConfigManager { private config; private configPath; constructor(configPath?: string); /** * Load configuration from file or use defaults */ loadConfig(): Promise<AIFeatureConfig>; /** * Save current configuration to file */ saveConfig(): Promise<void>; /** * Get current configuration */ getConfig(): AIFeatureConfig; /** * Update configuration */ updateConfig(updates: Partial<AIFeatureConfig>): void; /** * Check if AI features are enabled globally */ isAIEnabled(): boolean; /** * Check if a specific AI feature is enabled */ isFeatureEnabled(feature: keyof Omit<AIFeatureConfig, 'enabled' | 'performance' | 'fallback'>): boolean; /** * Get model configuration for a specific feature */ getModelConfig(feature: 'graphicsClassification' | 'textClassification' | 'audioClassification'): AIModelConfig | null; /** * Create a sample configuration file with all options documented */ createSampleConfig(): Promise<void>; private mergeWithDefaults; } export {}; //# sourceMappingURL=ai-config.d.ts.map