You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
2.2 KiB
C#
104 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace AI.Workflow
|
|
{
|
|
/// <summary>
|
|
/// 规划结果
|
|
/// </summary>
|
|
public class Plan
|
|
{
|
|
/// <summary>
|
|
/// 规划唯一标识符
|
|
/// </summary>
|
|
public string Id { get; set; } = Guid.NewGuid().ToString();
|
|
|
|
/// <summary>
|
|
/// 规划目标
|
|
/// </summary>
|
|
public string Goal { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 规划步骤列表
|
|
/// </summary>
|
|
public List<PlanStep> Steps { get; } = new List<PlanStep>();
|
|
|
|
/// <summary>
|
|
/// 创建时间
|
|
/// </summary>
|
|
public DateTime CreatedAt { get; set; } = DateTime.Now;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 规划步骤
|
|
/// </summary>
|
|
public class PlanStep
|
|
{
|
|
/// <summary>
|
|
/// 步骤唯一标识符
|
|
/// </summary>
|
|
public string Id { get; set; } = Guid.NewGuid().ToString();
|
|
|
|
/// <summary>
|
|
/// 步骤序号
|
|
/// </summary>
|
|
public int Order { get; set; }
|
|
|
|
/// <summary>
|
|
/// 步骤描述
|
|
/// </summary>
|
|
public string Description { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 步骤状态
|
|
/// </summary>
|
|
public PlanStepStatus Status { get; set; } = PlanStepStatus.Pending;
|
|
|
|
/// <summary>
|
|
/// 执行结果
|
|
/// </summary>
|
|
public string? Result { get; set; }
|
|
|
|
/// <summary>
|
|
/// 错误信息
|
|
/// </summary>
|
|
public string? ErrorMessage { get; set; }
|
|
|
|
/// <summary>
|
|
/// 开始执行时间
|
|
/// </summary>
|
|
public DateTime? StartedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 完成时间
|
|
/// </summary>
|
|
public DateTime? CompletedAt { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 规划步骤状态
|
|
/// </summary>
|
|
public enum PlanStepStatus
|
|
{
|
|
/// <summary>
|
|
/// 待执行
|
|
/// </summary>
|
|
Pending,
|
|
|
|
/// <summary>
|
|
/// 执行中
|
|
/// </summary>
|
|
Running,
|
|
|
|
/// <summary>
|
|
/// 已完成
|
|
/// </summary>
|
|
Completed,
|
|
|
|
/// <summary>
|
|
/// 执行失败
|
|
/// </summary>
|
|
Failed
|
|
}
|
|
}
|