public async Task <IReasoningTask> ProcessReasoningTask(string reasoningTaskId) { var reasoningTask = await _reasoningTaskRepository.GetAsync(reasoningTaskId); reasoningTask = await ContinueReasoningStepByStep(reasoningTask); SetTaskState(ref reasoningTask); _reasoningTaskRepository.Update(reasoningTaskId, reasoningTask); if (reasoningTask.ReasoningProcess.State == ReasoningState.FINISHED && reasoningTask.ReasoningProcess.EvaluationMessage == EvaluationMessage.PASSED && reasoningTask.ReasoningProcess.ReasonedItems.Count > 0) { ExecuteReasoningTasks(reasoningTask); } return(reasoningTask); }
public async Task <ReasoningTaskResource> CancelTaskAsync(string id) { var result = await _reasoningTaskRepository.GetAsync(id); if (result == null) { return(null); } result.Status = ReasoningTaskStatus.CANCELLED; _reasoningTaskRepository.Update(id, result); _logger.LogInformation($"Reasoning task {id} has been cancelled"); return(GetReasoningTaskResource(result)); }