using System; namespace io.github.hatayama.uLoopMCP { /// /// Response schema for ClearConsole command /// Provides type-safe response structure for console clearing operation /// public class ClearConsoleResponse : BaseToolResponse { /// /// Whether the console clear operation was successful /// public bool Success { get; set; } /// /// Number of logs that were cleared from the console /// public int ClearedLogCount { get; set; } /// /// Breakdown of cleared logs by type /// public ClearedLogCounts ClearedCounts { get; set; } /// /// Message describing the clear operation result /// public string Message { get; set; } /// /// Error message if the operation failed /// public string ErrorMessage { get; set; } /// /// Create a new ClearConsoleResponse for successful operation /// public ClearConsoleResponse(bool success, int clearedLogCount, ClearedLogCounts clearedCounts, string message) { Success = success; ClearedLogCount = clearedLogCount; ClearedCounts = clearedCounts ?? new ClearedLogCounts(); Message = message ?? string.Empty; ErrorMessage = string.Empty; } /// /// Create a new ClearConsoleResponse for failed operation /// public ClearConsoleResponse(string errorMessage) { Success = false; ClearedLogCount = 0; ClearedCounts = new ClearedLogCounts(); Message = string.Empty; ErrorMessage = errorMessage ?? string.Empty; } /// /// Parameterless constructor for JSON deserialization /// public ClearConsoleResponse() { ClearedCounts = new ClearedLogCounts(); Message = string.Empty; ErrorMessage = string.Empty; } } /// /// Breakdown of cleared logs by type /// public class ClearedLogCounts { /// /// Number of error logs that were cleared /// public int ErrorCount { get; set; } /// /// Number of warning logs that were cleared /// public int WarningCount { get; set; } /// /// Number of info logs that were cleared /// public int LogCount { get; set; } public ClearedLogCounts() { } public ClearedLogCounts(int errorCount, int warningCount, int logCount) { ErrorCount = errorCount; WarningCount = warningCount; LogCount = logCount; } } }