public static void ExecuteTool(ToolParameters tp, string[] parameters)
        {
            var toolEx = new ToolExecution();

            _executionTools.Add(toolEx);
            toolEx.ExecuteTool(tp, parameters, (result) =>
            {
                lock (_tasksResultsQueue)
                {
                    _tasksResultsQueue.Enqueue(result);
                }
            });
        }
 public ToolExecutionResult(ToolExecution te, ToolParameters tp, ToolExecutionStatus status)
 {
     ToolExecution = te;
     ToolParameters = tp;
     Status = status;
 }
 public static void ExecuteTool(ToolParameters tp, string[] parameters)
 {
     var toolEx = new ToolExecution();
     _executionTools.Add(toolEx);
     toolEx.ExecuteTool(tp, parameters, (result) =>
     {
         lock (_tasksResultsQueue)
         {
             _tasksResultsQueue.Enqueue(result);
         }
     });
 }
 public ToolExecutionResult(ToolExecution te, ToolParameters tp, ToolExecutionStatus status)
 {
     ToolExecution  = te;
     ToolParameters = tp;
     Status         = status;
 }