Files
ft/Client/Packages/io.github.hatayama.uloopmcp/Editor/Interfaces/IDynamicCodeExecutor.cs

49 lines
1.5 KiB
C#

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