using System;
using System.Collections.Generic;
namespace io.github.hatayama.uLoopMCP
{
///
/// Dynamic Code Execution Result
///
/// Related Classes: DynamicCodeExecutor, CommandRunner
///
public class ExecutionResult
{
/// Execution Success
public bool Success { get; set; }
/// Execution Result
public object Result { get; set; }
/// Error Message
public string ErrorMessage { get; set; }
/// Exception
public Exception Exception { get; set; }
/// Execution Time
public TimeSpan ExecutionTime { get; set; }
/// Logs
public List Logs { get; set; } = new();
/// Execution Statistics
public ExecutionStatistics Statistics { get; set; }
///
/// Structured compilation errors when compilation failed.
/// Preserved to enable rich diagnostics formatting at the tool layer.
///
public List CompilationErrors { get; set; } = new();
///
/// Code that was actually compiled after wrapping/using hoist.
/// Useful for debugging reported line/column numbers.
///
public string UpdatedCode { get; set; }
///
/// Types that could not be auto-resolved because multiple namespace candidates were found.
/// Key: type name, Value: list of candidate namespaces.
///
public Dictionary> AmbiguousTypeCandidates { get; set; } = new();
///
/// Populated on both success and failure paths;
/// without this the tool layer cannot emit performance hints about missing usings.
///
public List AutoInjectedNamespaces { get; set; } = new();
///
/// Captures internal phase timings without forcing normal users to parse verbose logs.
///
public List Timings { get; set; } = new();
}
}