mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 04:01:58 +00:00
6514db6118
拿到能对比的运行(已封存、属于已保存的工作流、不在运行中)就预先问一次 compare/base,按答复里的 previous 定叫法;按运行 id 加清单哈希记,失败后接着运行完重新封存了会再问。问到之前这一项只写「正在查找上一次成功的运行…」、不给点:菜单开着时不会先写一个叫法、问到了再换成另一个,也点不到说错了的入口。预先问出错、找不到默认基准都不提示,叫法退回「与上一次对比」,点了照常再问一次、照实说。点了总是再问一次、按那一次的答复跳:详情页可能开了很久,预先问到的基准不一定还是现在的。 类型 RunCompareBase 加 previous(老服务端不给,按 true 算,同 ScheduleFireCompare);两种叫法放在 RUN_COMPARE_TEXT(menu、menuLastOk),SCHEDULE_TEXT 的 compareLinkLastOk 和 compareLink 一样改成取它的 getter,过时的说明一并改掉。check-compare:夹具里本次的默认基准带 previous: false(和触发历史那一行同一个假定);上一次失败了、上一次就是成功的两种,运行详情和触发历史两个入口叫法一致、打开同一对运行;预先问的那一次压住时菜单项只写正在查找、问到后直接是最终叫法(记下菜单开着时出现过的每一种状态核对);预先问出错、找不到基准时不提示、点了照常再问;点了之后对比页不再自己找一遍
26 lines
1.4 KiB
TypeScript
26 lines
1.4 KiB
TypeScript
/**
|
|
* 运行对比的接口(/api/runs/{run_id}/compare…),挂在 api.compare 上。两个接口都只读:比较结果服务端另存工件,
|
|
* 不写运行记录。
|
|
*
|
|
* 请求函数(get / post / del……)和 ApiError 从 ./http 导入,不要从 ./client 导入:client.ts 要导入
|
|
* 这个文件把它挂到 api 上,反过来导入就成了循环(见 http.ts 开头的说明)。
|
|
*/
|
|
import type { RunCompareBase, RunComparison } from '../types'
|
|
import { get, type RequestOptions } from './http'
|
|
|
|
const run = (id: string) => `/runs/${encodeURIComponent(id)}`
|
|
|
|
export const compare = {
|
|
/**
|
|
* 默认的基准:同一定时任务上一次成功并封存的运行,没有就同一工作流、同一运行类别的上一次。previous 说它是不是紧挨着
|
|
* 的上一次(运行详情的菜单项按它定叫法)。找不到时回 404,ApiError 的 message 是给人看的原因
|
|
*/
|
|
base: (runId: string, opts?: RequestOptions) => get<RunCompareBase>(`${run(runId)}/compare/base`, opts),
|
|
/**
|
|
* 两次运行的对比(runId 是本次)。任一未封存或封存核对不一致回 409;不是同一工作流、或者是同一次运行回 422;
|
|
* 运行不存在回 404。detail 都是一句中文。signal 用来丢掉换了基准之后过时的请求
|
|
*/
|
|
get: (runId: string, base: string, opts?: RequestOptions) =>
|
|
get<RunComparison>(`${run(runId)}/compare?${new URLSearchParams({ base })}`, opts),
|
|
}
|