UNPKG

il2cpp-dump-analyzer-mcp

Version:

Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games

40 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createHashManager = createHashManager; exports.createHashManagerFromEnv = createHashManagerFromEnv; const hash_manager_1 = require("./hash-manager"); const supabase_hash_manager_1 = require("./supabase-hash-manager"); /** * Factory function to create the appropriate hash manager based on configuration * @param config Configuration object * @returns Hash manager instance (either local or Supabase-backed) */ function createHashManager(config = {}) { // Check if Supabase configuration is available and not forced to use local const useSupabase = !config.forceLocal && config.supabaseUrl && config.supabaseKey; if (useSupabase) { console.log('Using Supabase hash manager for file hash storage'); return new supabase_hash_manager_1.SupabaseHashManager(config.supabaseUrl, config.supabaseKey, config.supabaseTable || 'file_hashes'); } else { console.log('Using local file hash manager for file hash storage'); return new hash_manager_1.HashManager(config.hashFilePath); } } /** * Create hash manager from environment variables * @param hashFilePath Optional path to local hash file * @returns Hash manager instance */ function createHashManagerFromEnv(hashFilePath) { const config = { hashFilePath, supabaseUrl: process.env.SUPABASE_URL, supabaseKey: process.env.SUPABASE_KEY || process.env.SUPABASE_ANON_KEY, supabaseTable: process.env.SUPABASE_FILE_HASHES_TABLE || 'file_hashes' }; return createHashManager(config); } //# sourceMappingURL=hash-manager-factory.js.map