# 运行时数据

# 运行时请求的数据

工作流节点的运行输入继承自开始节点所定义的数据结构。

interface WorkflowInputs {
  [key: string]: any;    // 输入数据,key 为输入名称,value 为输入值
}

# 运行时返回的数据

# 运行时节点状态数据

interface NodeStatusData {
  id: string;                   // 节点 ID
  status: WorkflowStatus;       // 运行状态
  terminated: boolean;          // 是否终止
  startTime: number;            // 开始时间
  endTime?: number;             // 结束时间
  timeCost: number;             // 耗时
  snapshots: SnapshotData[];    // 快照数据
}

# 运行时状态枚举

declare enum WorkflowStatus {
  Pending = "pending",          // 等待中
  Processing = "processing",    // 处理中
  Succeeded = "succeeded",      // 成功
  Failed = "failed",            // 失败
  Canceled = "canceled"         // 已取消
}

# 运行时快照数据

export type Record<K extends keyof any, T> = {
  [P in K]: T;
};

export type WorkflowInputs = Record<string, any>;
export type WorkflowOutputs = Record<string, any>;

interface SnapshotData {
  id: string;                  // 快照 ID
  nodeID: string;              // 节点 ID
  inputs: WorkflowInputs;      // 输入数据
  outputs: WorkflowOutputs;    // 输出数据
  data: any;                   // 其他数据(例如上下文信息)
  branch?: string;             // 分支信息(条件分支节点使用)
  error?: string;              // 错误信息(失败时使用)
}

# 范例

# 工作流

# 运行时数据

{
  "100001": {
    "id": "100001",
    "status": "succeeded",
    "terminated": true,
    "startTime": 1753697752875,
    "endTime": 1753697752877,
    "timeCost": 2,
    "snapshots": [
      {
        "id": "1b9c76eb-c07f-49a2-96da-1b54a4fe5651",
        "nodeID": "100001",
        
        "data": {

        },
        "inputs": {

        },
        "outputs": {
          "query": "111",
          "enable": true,
          "array_obj": [
              "111"
          ]
        }
      }
    ]
  },
  "112898": {
    "id": "112898",
    "status": "failed",
    "terminated": true,
    "startTime": 1753697752878,
    "endTime": 1753697753290,
    "timeCost": 412,
    "snapshots": [
      {
        "id": "934c7b0e-53f4-4243-bed3-cbb4288290b8",
        "nodeID": "112898",
        "data": {

        },
        "inputs": {
          "modelName": "default-llama3-r1",
          "apiKey": "OTAwMDpleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKaGNIQkpaQ0k2T1RBd01Dd2laWGh3YVhKbFgzUnBiV1VpT2pFM016YzBNemc1TXpVM01UZDkuazVJV0JNcV9oRjJOSk9ObmN3djZpdFZsUGQzRm93REszRi11V0pYNWhnMA==",
          "apiHost": "https://aigc-api.col.com/foreign/text",
          "temperature": 0.8,
          "systemPrompt": "You are an AI assistant.",
          "prompt": "请问如何在java里代码实现一个递归逻辑"
        }
      },
      {
        "id": "a1384186-ab15-4d68-a0b1-7f9c283e187e",
        "nodeID": "112898",
        "data": {

        },
        "inputs": {
          "modelName": "default-llama3-r1",
          "apiKey": "OTAwMDpleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKaGNIQkpaQ0k2T1RBd01Dd2laWGh3YVhKbFgzUnBiV1VpT2pFM016YzBNemc1TXpVM01UZDkuazVJV0JNcV9oRjJOSk9ObmN3djZpdFZsUGQzRm93REszRi11V0pYNWhnMA==",
          "apiHost": "https://aigc-api.col.com/foreign/text",
          "temperature": 0.8,
          "systemPrompt": "You are an AI assistant.",
          "prompt": "请问如何在java里代码实现一个递归逻辑"
        }
      }
    ]
  },
  "175029": {
    "id": "175029",
    "status": "succeeded",
    "terminated": true,
    "startTime": 1753697752877,
    "endTime": 1753697752877,
    "timeCost": 0,
    "snapshots": [
      {
        "id": "4fd9299c-9371-4897-808a-074224a67d53",
        "nodeID": "175029",
        "data": {
          "conditions": [
            {
              "key": "169321",
              "value": {
                "left": {
                  "type": "ref",
                  "content": [
                    "100001",
                    "query"
                  ]
                },
                "operator": "contains",
                "right": {
                  "type": "constant",
                  "content": "111"
                }
              }
            },
            {
              "key": "189449",
              "value": {
                "left": {
                  "type": "ref",
                  "content": [
                    "100001",
                    "enable"
                  ]
                },
                "operator": "is_true"
              }
            }
          ]
        },
        "inputs": {

        },
        "outputs": {

        },
        "branch": "169321"
      }
    ]
  }
}