il2cpp-dump-analyzer-mcp
Version:
Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games
128 lines (127 loc) • 3.52 kB
TypeScript
/**
* 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;
}