il2cpp-dump-analyzer-mcp
Version:
Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games
113 lines • 3.74 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseServerArgs = parseServerArgs;
exports.parseStdioArgs = parseStdioArgs;
const yargs_1 = __importDefault(require("yargs"));
const helpers_1 = require("yargs/helpers");
const path_1 = __importDefault(require("path"));
function parseServerArgs() {
const args = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
.option('port', {
alias: 'p',
type: 'number',
default: process.env.PORT ? parseInt(process.env.PORT) : 3000,
description: 'Server port'
})
.option('host', {
alias: 'h',
type: 'string',
default: process.env.HOST || 'localhost',
description: 'Server host'
})
.option('dump-file', {
alias: 'd',
type: 'string',
default: path_1.default.resolve(process.cwd(), 'dump.cs'),
description: 'Path to IL2CPP dump.cs file'
})
.option('model', {
alias: 'm',
type: 'string',
default: process.env.EMBEDDING_MODEL || 'Xenova/all-MiniLM-L6-v2',
description: 'Embedding model to use'
})
.option('log-level', {
alias: 'l',
type: 'string',
default: process.env.LOG_LEVEL || 'info',
choices: ['debug', 'info', 'warn', 'error'],
description: 'Logging level'
})
.option('hash-file', {
type: 'string',
description: 'Path to file for storing processed dump hashes (default: .processed_dumps)'
})
.option('force-reprocess', {
alias: 'f',
type: 'boolean',
default: false,
description: 'Force reprocessing even if file was already processed'
})
.help()
.alias('help', 'help')
.parseSync();
return {
port: args.port,
host: args.host,
dumpFile: args['dump-file'],
model: args.model,
logLevel: args['log-level'],
hashFile: args['hash-file'],
forceReprocess: args['force-reprocess']
};
}
function parseStdioArgs() {
const args = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
.option('dump-file', {
alias: 'd',
type: 'string',
default: (() => {
const currentDir = __dirname;
const projectRoot = path_1.default.resolve(currentDir, '..', '..');
return path_1.default.join(projectRoot, 'dump.cs');
})(),
description: 'Path to IL2CPP dump.cs file'
})
.option('model', {
alias: 'm',
type: 'string',
default: process.env.EMBEDDING_MODEL || 'Xenova/all-MiniLM-L6-v2',
description: 'Embedding model to use'
})
.option('log-level', {
alias: 'l',
type: 'string',
default: process.env.LOG_LEVEL || 'info',
choices: ['debug', 'info', 'warn', 'error'],
description: 'Logging level'
})
.option('hash-file', {
type: 'string',
description: 'Path to file for storing processed dump hashes (default: .processed_dumps)'
})
.option('force-reprocess', {
alias: 'f',
type: 'boolean',
default: false,
description: 'Force reprocessing even if file was already processed'
})
.help()
.alias('help', 'help')
.parseSync();
return {
dumpFile: args['dump-file'],
model: args.model,
logLevel: args['log-level'],
hashFile: args['hash-file'],
forceReprocess: args['force-reprocess']
};
}
//# sourceMappingURL=cli-config.js.map