namespace AIRuntime.Runtime.Tools
{
    public sealed class ToolCallResult
    {
        public bool Success { get; }

        public string Output { get; }

        public string Error { get; }


        private ToolCallResult(
            bool success,
            string output,
            string error)
        {
            Success = success;
            Output = output;
            Error = error;
        }


        public static ToolCallResult Ok(
            string output)
        {
            return new ToolCallResult(
                true,
                output,
                null);
        }


        public static ToolCallResult Fail(
            string error)
        {
            return new ToolCallResult(
                false,
                null,
                error);
        }
    }
}