UNPKG

il2cpp-dump-analyzer-mcp

Version:

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

128 lines (127 loc) 3.52 kB
/** * Template engine integration for IL2CPP code generation * Supports multiple template engines with a unified interface */ import { TemplateConfig, TemplateEngine, GenerationError } from './types'; /** * Template processing result */ export interface TemplateResult { /** Success status */ success: boolean; /** Rendered content */ content?: string; /** Any errors that occurred */ errors: GenerationError[]; /** Processing time in milliseconds */ processingTime: number; } /** * Template context for rendering */ export interface TemplateContext { /** Variables available to the template */ variables: Record<string, any>; /** Helper functions */ helpers: Record<string, Function>; /** Partial templates */ partials: Record<string, string>; } /** * Unified template engine interface */ export interface ITemplateEngine { /** Engine type identifier */ readonly type: TemplateEngine; /** Render template with context */ render(template: string, context: TemplateContext): Promise<TemplateResult>; /** Validate template syntax */ validate(template: string): Promise<boolean>; /** Compile template for reuse */ compile(template: string): Promise<CompiledTemplate>; } /** * Compiled template interface */ export interface CompiledTemplate { /** Render with context */ render(context: TemplateContext): Promise<TemplateResult>; /** Get required variables */ getRequiredVariables(): string[]; } /** * Simple string replacement template engine */ export declare class SimpleReplaceEngine implements ITemplateEngine { readonly type = TemplateEngine.SIMPLE_REPLACE; /** * Render template using simple string replacement * Variables are replaced using {{variableName}} syntax */ render(template: string, context: TemplateContext): Promise<TemplateResult>; /** * Validate template syntax */ validate(template: string): Promise<boolean>; /** * Compile template for reuse */ compile(template: string): Promise<CompiledTemplate>; /** * Extract variable names from template */ private extractVariables; /** * Convert value to string representation */ private convertToString; } /** * Template engine factory */ export declare class TemplateEngineFactory { private static engines; /** * Get template engine instance */ static getEngine(type: TemplateEngine): ITemplateEngine; /** * Create template engine instance */ private static createEngine; } /** * Template manager for handling template configurations */ export declare class TemplateManager { private templates; private compiledTemplates; /** * Register a template configuration */ registerTemplate(config: TemplateConfig): void; /** * Get template configuration */ getTemplate(name: string): TemplateConfig | undefined; /** * Render template with context */ renderTemplate(templateName: string, context: TemplateContext): Promise<TemplateResult>; /** * Compile and cache template */ compileTemplate(templateName: string): Promise<CompiledTemplate | null>; /** * Validate template context against configuration */ private validateContext; /** * Get all registered template names */ getTemplateNames(): string[]; /** * Clear all templates and compiled cache */ clear(): void; }