using System;
using System.Threading;
namespace io.github.hatayama.uLoopMCP
{
///
/// Interface for dynamic code execution integration functionality
/// Related classes: DynamicCodeExecutor, RoslynCompiler, SecurityValidator, CommandRunner
///
public interface IDynamicCodeExecutor : IDisposable
{
/// Asynchronous code execution
System.Threading.Tasks.Task ExecuteCodeAsync(
string code,
string className = DynamicCodeConstants.DEFAULT_CLASS_NAME,
object[] parameters = null,
CancellationToken cancellationToken = default,
bool compileOnly = false
);
ExecutionStatistics GetStatistics();
}
/// Execution statistics
public class ExecutionStatistics
{
/// Total execution count
public int TotalExecutions { get; set; }
/// Successful execution count
public int SuccessfulExecutions { get; set; }
/// Failed execution count
public int FailedExecutions { get; set; }
/// Average execution time
public TimeSpan AverageExecutionTime { get; set; }
/// Security violation count
public int SecurityViolations { get; set; }
/// Compilation error count
public int CompilationErrors { get; set; }
}
}