using System.Threading; using System.Threading.Tasks; namespace io.github.hatayama.uLoopMCP { /// /// Compile tool handler - Type-safe implementation using Schema and Response /// Handles Unity project compilation with optional force recompile /// Related classes: CompileUseCase, CompilationStateValidationService, CompilationExecutionService /// [McpTool(Description = "Execute Unity project compilation")] public class CompileTool : AbstractUnityTool { public override string ToolName => "compile"; /// /// Execute compile tool - delegates to CompileUseCase /// /// Type-safe parameters /// Cancellation token for timeout control /// Compile result protected override async Task ExecuteAsync(CompileSchema parameters, CancellationToken cancellationToken) { // Create and execute CompileUseCase instance CompileUseCase useCase = new(); return await useCase.ExecuteAsync(parameters, cancellationToken); } } }