il2cpp-dump-analyzer-mcp
Version:
Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games
40 lines • 1.68 kB
JavaScript
;
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