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;
}
}
}