mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
feat(api): expose aggregate +/- diff stats on run files response
Adds `meta.stats: DiffStats` (required) to `PaginatedRunFileList` so the Files Changed toolbar can render `+387 −104` next to the file count. Server: refactors `list_binary_paths` into `list_diff_numstat`, which returns the binary-path set plus aggregate `+/-` totals from a single `git diff --numstat` invocation. The degraded patch-only response populates the same field by counting `+`/`-` line prefixes in the filtered patch (excluding `+++`/`---` file headers). UI: `Toolbar` accepts `additions` / `deletions` and renders them as mono-tabular `+387 −104` to the right of the file count. The block is elided when the diff has 0 changes (e.g. binary-only or empty runs) so the empty case stays clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
664b15ae86
commit
a4e63ec897
22 changed files with 322 additions and 197 deletions
|
|
@ -32,6 +32,7 @@ function buildRunFilesPayload({
|
|||
degraded,
|
||||
patch,
|
||||
total_changed: files.length,
|
||||
stats: { additions: 0, deletions: 0 },
|
||||
truncated: false,
|
||||
},
|
||||
} as any;
|
||||
|
|
@ -165,7 +166,11 @@ describe("loader", () => {
|
|||
test("200 OK returns { data, error: null } with parsed envelope", async () => {
|
||||
const envelope = {
|
||||
data: [],
|
||||
meta: { truncated: false, total_changed: 0 },
|
||||
meta: {
|
||||
truncated: false,
|
||||
total_changed: 0,
|
||||
stats: { additions: 0, deletions: 0 },
|
||||
},
|
||||
};
|
||||
restoreFetch = stubFetchOnce({
|
||||
status: 200,
|
||||
|
|
|
|||
|
|
@ -522,6 +522,8 @@ export default function RunFiles({ loaderData }: any) {
|
|||
const toolbar = (
|
||||
<Toolbar
|
||||
totalChanged={meta.total_changed}
|
||||
additions={meta.stats.additions}
|
||||
deletions={meta.stats.deletions}
|
||||
onRefresh={() => revalidator.revalidate()}
|
||||
refreshing={isRevalidating}
|
||||
refreshDisabled={refreshDisabled}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ export type DiffStyle = "split" | "unified";
|
|||
|
||||
export function Toolbar({
|
||||
totalChanged,
|
||||
additions,
|
||||
deletions,
|
||||
onRefresh,
|
||||
refreshing,
|
||||
refreshDisabled,
|
||||
|
|
@ -21,6 +23,10 @@ export function Toolbar({
|
|||
}: {
|
||||
/** From `meta.total_changed`. May exceed the rendered file list when truncated. */
|
||||
totalChanged: number;
|
||||
/** From `meta.stats.additions`. Aggregate `+` line count across the diff. */
|
||||
additions: number;
|
||||
/** From `meta.stats.deletions`. Aggregate `-` line count across the diff. */
|
||||
deletions: number;
|
||||
onRefresh: () => void;
|
||||
refreshing: boolean;
|
||||
/** True when the server has nothing new to show (to_sha unchanged). */
|
||||
|
|
@ -44,11 +50,19 @@ export function Toolbar({
|
|||
: "Refresh";
|
||||
return (
|
||||
<div className="flex flex-wrap items-center justify-between gap-x-4 gap-y-2 border-b border-line pb-3">
|
||||
<p className="text-base font-semibold text-fg">
|
||||
<span className="tabular-nums">{totalChanged}</span>
|
||||
{" "}
|
||||
{totalChanged === 1 ? "file" : "files"} changed
|
||||
</p>
|
||||
<div className="flex min-w-0 items-baseline gap-3">
|
||||
<p className="text-base font-semibold text-fg">
|
||||
<span className="tabular-nums">{totalChanged}</span>
|
||||
{" "}
|
||||
{totalChanged === 1 ? "file" : "files"} changed
|
||||
</p>
|
||||
{totalChanged > 0 && (additions > 0 || deletions > 0) ? (
|
||||
<p className="font-mono text-sm tabular-nums">
|
||||
<span className="font-medium text-mint">+{additions}</span>
|
||||
<span className="ml-1 font-medium text-coral">−{deletions}</span>
|
||||
</p>
|
||||
) : null}
|
||||
</div>
|
||||
<div className="flex items-center gap-3 text-xs">
|
||||
{freshness ? (
|
||||
<span
|
||||
|
|
|
|||
|
|
@ -5327,7 +5327,11 @@ components:
|
|||
example: false
|
||||
|
||||
DiffStats:
|
||||
description: Aggregate line-change statistics for a diff.
|
||||
description: |
|
||||
Aggregate `+/-` line counts across all files in a diff (or the unified
|
||||
patch in degraded mode). Binary, sensitive, symlink, and submodule
|
||||
files contribute 0/0 since they have no line-level diff. Both fields
|
||||
are 0 for empty / pre-start envelopes.
|
||||
type: object
|
||||
required:
|
||||
- additions
|
||||
|
|
@ -5351,7 +5355,10 @@ components:
|
|||
required:
|
||||
- truncated
|
||||
- total_changed
|
||||
- stats
|
||||
properties:
|
||||
stats:
|
||||
$ref: "#/components/schemas/DiffStats"
|
||||
truncated:
|
||||
type: boolean
|
||||
description: True when any cap (file count, per-file size, or aggregate size) was hit for this response.
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ use axum::http::StatusCode;
|
|||
use axum::response::sse::{Event, Sse};
|
||||
use axum::response::{IntoResponse, Response};
|
||||
use fabro_api::types::{
|
||||
CreateSecretRequest, DeleteSecretRequest, DiffFile, FileDiff, FileDiffChangeKind,
|
||||
CreateSecretRequest, DeleteSecretRequest, DiffFile, DiffStats, FileDiff, FileDiffChangeKind,
|
||||
PaginatedRunFileList, RunArtifactListResponse, RunFilesMeta,
|
||||
};
|
||||
use serde_json::json;
|
||||
|
|
@ -221,6 +221,10 @@ fn demo_run_files() -> PaginatedRunFileList {
|
|||
truncated: false,
|
||||
files_omitted_by_budget: None,
|
||||
total_changed: 3,
|
||||
stats: DiffStats {
|
||||
additions: 42,
|
||||
deletions: 11,
|
||||
},
|
||||
to_sha: None,
|
||||
to_sha_committed_at: None,
|
||||
degraded: Some(false),
|
||||
|
|
|
|||
|
|
@ -27,15 +27,15 @@ use axum::http::StatusCode;
|
|||
use axum::response::{IntoResponse, Response};
|
||||
use fabro_agent::Sandbox;
|
||||
use fabro_api::types::{
|
||||
DiffFile, FileDiff, FileDiffChangeKind, FileDiffTruncationReason, PaginatedRunFileList,
|
||||
RunFilesMeta, RunFilesMetaDegradedReason, RunFilesMetaToSha,
|
||||
DiffFile, DiffStats, FileDiff, FileDiffChangeKind, FileDiffTruncationReason,
|
||||
PaginatedRunFileList, RunFilesMeta, RunFilesMetaDegradedReason, RunFilesMetaToSha,
|
||||
};
|
||||
use fabro_sandbox::reconnect::reconnect;
|
||||
use fabro_static::EnvVars;
|
||||
use fabro_types::RunId;
|
||||
use fabro_workflow::sandbox_git::{
|
||||
DiffError, RawDiffEntry, SubmoduleChange, SymlinkChange, list_binary_paths,
|
||||
list_changed_files_raw, stream_blob_metadata, stream_blobs,
|
||||
DiffError, DiffNumstat, RawDiffEntry, SubmoduleChange, SymlinkChange, list_changed_files_raw,
|
||||
list_diff_numstat, stream_blob_metadata, stream_blobs,
|
||||
};
|
||||
use futures_util::FutureExt;
|
||||
use serde::Deserialize;
|
||||
|
|
@ -270,9 +270,9 @@ async fn materialize_sandbox_path(state: &Arc<AppState>, run_id: &RunId) -> List
|
|||
// Enumerate changes and classify binary vs text in parallel — both
|
||||
// traversals are mutually independent once `to_sha` is known, and
|
||||
// running them sequentially would add ~100 ms per request on Daytona.
|
||||
let (raw_res, binary_res) = tokio::join!(
|
||||
let (raw_res, numstat_res) = tokio::join!(
|
||||
list_changed_files_raw(sandbox.as_ref(), &base_sha, &to_sha),
|
||||
list_binary_paths(sandbox.as_ref(), &base_sha, &to_sha),
|
||||
list_diff_numstat(sandbox.as_ref(), &base_sha, &to_sha),
|
||||
);
|
||||
|
||||
// Permanent errors (bad_sha, missing object) fall through to the
|
||||
|
|
@ -290,13 +290,14 @@ async fn materialize_sandbox_path(state: &Arc<AppState>, run_id: &RunId) -> List
|
|||
}
|
||||
};
|
||||
|
||||
let binary_paths = match binary_res {
|
||||
let numstat = match numstat_res {
|
||||
Ok(v) => v,
|
||||
Err(DiffError::Permanent { .. }) => HashSet::new(),
|
||||
Err(DiffError::Permanent { .. }) => DiffNumstat::default(),
|
||||
Err(DiffError::Transient { message }) => {
|
||||
return Err(transient_503("git diff --numstat", &message));
|
||||
}
|
||||
};
|
||||
let binary_paths = numstat.binary_paths.clone();
|
||||
|
||||
let total_changed_before_cap = raw_entries.len();
|
||||
|
||||
|
|
@ -363,6 +364,7 @@ async fn materialize_sandbox_path(state: &Arc<AppState>, run_id: &RunId) -> List
|
|||
files_omitted_by_budget: (files_omitted_by_budget > 0)
|
||||
.then(|| i64::try_from(files_omitted_by_budget).unwrap_or(i64::MAX)),
|
||||
total_changed: i64::try_from(total_changed_before_cap).unwrap_or(i64::MAX),
|
||||
stats: numstat_to_stats(&numstat),
|
||||
to_sha: Some(to_sha_wrapper(&to_sha)),
|
||||
to_sha_committed_at,
|
||||
degraded: Some(false),
|
||||
|
|
@ -372,6 +374,13 @@ async fn materialize_sandbox_path(state: &Arc<AppState>, run_id: &RunId) -> List
|
|||
})
|
||||
}
|
||||
|
||||
fn numstat_to_stats(n: &DiffNumstat) -> DiffStats {
|
||||
DiffStats {
|
||||
additions: i64::try_from(n.additions).unwrap_or(i64::MAX),
|
||||
deletions: i64::try_from(n.deletions).unwrap_or(i64::MAX),
|
||||
}
|
||||
}
|
||||
|
||||
/// Choose a degraded reason given the current projection. Docker-provider
|
||||
/// runs aren't supported by the deployed server; completed runs are "gone";
|
||||
/// everything else is a transient "unreachable" (sandbox may come back).
|
||||
|
|
@ -409,6 +418,7 @@ fn build_fallback_response(
|
|||
let (filtered_patch, truncated_by_cap) = apply_patch_cap(patch, AGGREGATE_BYTES_CAP);
|
||||
let filtered_patch = strip_denylisted_sections(&filtered_patch, is_sensitive);
|
||||
let total_changed = count_diff_headers(&filtered_patch);
|
||||
let stats = patch_to_stats(&filtered_patch);
|
||||
|
||||
let to_sha = projection
|
||||
.conclusion
|
||||
|
|
@ -427,6 +437,7 @@ fn build_fallback_response(
|
|||
truncated: truncated_by_cap,
|
||||
files_omitted_by_budget: None,
|
||||
total_changed: i64::try_from(total_changed).unwrap_or(i64::MAX),
|
||||
stats,
|
||||
to_sha,
|
||||
to_sha_committed_at,
|
||||
degraded: Some(true),
|
||||
|
|
@ -436,6 +447,29 @@ fn build_fallback_response(
|
|||
}
|
||||
}
|
||||
|
||||
/// Count `+` and `-` line totals in a unified patch, excluding `+++`/`---`
|
||||
/// file headers and any non-content lines. Mirrors the `git diff --numstat`
|
||||
/// summation we use on the live-sandbox path so the toolbar shows the same
|
||||
/// numbers regardless of which response branch we took.
|
||||
fn patch_to_stats(patch: &str) -> DiffStats {
|
||||
let mut additions: u64 = 0;
|
||||
let mut deletions: u64 = 0;
|
||||
for line in patch.lines() {
|
||||
if line.starts_with("+++") || line.starts_with("---") {
|
||||
continue;
|
||||
}
|
||||
match line.as_bytes().first() {
|
||||
Some(b'+') => additions = additions.saturating_add(1),
|
||||
Some(b'-') => deletions = deletions.saturating_add(1),
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
DiffStats {
|
||||
additions: i64::try_from(additions).unwrap_or(i64::MAX),
|
||||
deletions: i64::try_from(deletions).unwrap_or(i64::MAX),
|
||||
}
|
||||
}
|
||||
|
||||
/// Truncate a patch at `cap_bytes` on a UTF-8 character boundary. Returns
|
||||
/// `(truncated_patch, was_truncated)`.
|
||||
fn apply_patch_cap(patch: &str, cap_bytes: u64) -> (String, bool) {
|
||||
|
|
@ -538,6 +572,10 @@ fn empty_envelope() -> PaginatedRunFileList {
|
|||
truncated: false,
|
||||
files_omitted_by_budget: None,
|
||||
total_changed: 0,
|
||||
stats: DiffStats {
|
||||
additions: 0,
|
||||
deletions: 0,
|
||||
},
|
||||
to_sha: None,
|
||||
to_sha_committed_at: None,
|
||||
degraded: Some(false),
|
||||
|
|
@ -1079,6 +1117,10 @@ mod tests {
|
|||
truncated: false,
|
||||
files_omitted_by_budget: None,
|
||||
total_changed: 0,
|
||||
stats: DiffStats {
|
||||
additions: 0,
|
||||
deletions: 0,
|
||||
},
|
||||
to_sha: None,
|
||||
to_sha_committed_at: None,
|
||||
degraded: None,
|
||||
|
|
|
|||
2
lib/crates/fabro-spa/assets/assets/app.css
generated
2
lib/crates/fabro-spa/assets/assets/app.css
generated
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
lib/crates/fabro-spa/assets/index.html
generated
2
lib/crates/fabro-spa/assets/index.html
generated
|
|
@ -58,7 +58,7 @@
|
|||
<script type="module" src="/assets/chunk-sadshphz.js"></script>
|
||||
<script type="module" src="/assets/chunk-pmthkscp.js"></script>
|
||||
<script type="module" src="/assets/chunk-v61ks9f7.js"></script>
|
||||
<script type="module" src="/assets/entry-jtmy0vnc.js"></script>
|
||||
<script type="module" src="/assets/entry-7q292616.js"></script>
|
||||
<script type="module" src="/assets/chunk-n1k68xa8.js"></script>
|
||||
<script type="module" src="/assets/chunk-rsph5pvm.js"></script>
|
||||
<script type="module" src="/assets/chunk-9t57pdty.js"></script>
|
||||
|
|
|
|||
|
|
@ -552,16 +552,29 @@ fn classify_entry(
|
|||
})
|
||||
}
|
||||
|
||||
/// Classify which changed paths in `base_sha..to_sha` are binary, via
|
||||
/// `git diff --numstat`. Binary entries show `-\t-\t<path>` in the output.
|
||||
///
|
||||
/// Returns the set of repo-relative paths (post-rename, i.e. `<new_path>`
|
||||
/// when a rename occurred) that `git` classifies as binary.
|
||||
pub async fn list_binary_paths(
|
||||
/// Output of `git diff --numstat`: which paths are binary, plus aggregate
|
||||
/// `+/-` line totals across the text files in the range. Both pieces come
|
||||
/// from a single git invocation so callers don't need to run two diffs.
|
||||
#[derive(Debug, Default, Clone)]
|
||||
pub struct DiffNumstat {
|
||||
/// Repo-relative paths (post-rename) that git classifies as binary.
|
||||
pub binary_paths: std::collections::HashSet<String>,
|
||||
/// Sum of `+` columns across text files. Binary entries (`-\t-`) do not
|
||||
/// contribute.
|
||||
pub additions: u64,
|
||||
/// Sum of `-` columns across text files. Binary entries (`-\t-`) do not
|
||||
/// contribute.
|
||||
pub deletions: u64,
|
||||
}
|
||||
|
||||
/// Run `git diff --numstat` once and return both the set of binary paths and
|
||||
/// the aggregate text-file `+/-` totals. The single call replaces the
|
||||
/// previous binary-only helper.
|
||||
pub async fn list_diff_numstat(
|
||||
sandbox: &dyn Sandbox,
|
||||
base_sha: &str,
|
||||
to_sha: &str,
|
||||
) -> std::result::Result<std::collections::HashSet<String>, DiffError> {
|
||||
) -> std::result::Result<DiffNumstat, DiffError> {
|
||||
let base_q = shell_quote(base_sha);
|
||||
let to_q = shell_quote(to_sha);
|
||||
let env = sandbox_git_hardening_env();
|
||||
|
|
@ -584,18 +597,30 @@ pub async fn list_binary_paths(
|
|||
return Err(DiffError::Transient { message: stderr });
|
||||
}
|
||||
|
||||
let mut binary = std::collections::HashSet::new();
|
||||
let mut out = DiffNumstat::default();
|
||||
for line in res.stdout.lines() {
|
||||
// `-\t-\t<path>` marks binary. Rename lines read `<+>\t<->\t<path> =>
|
||||
// <path>` or `<+>\t<->\t{<old> => <new>}` — for the binary case we
|
||||
// just need presence of "-\t-" prefix; extract the path portion.
|
||||
// <path>` or `<+>\t<->\t{<old> => <new>}`.
|
||||
if let Some(rest) = line.strip_prefix("-\t-\t") {
|
||||
// Normalize rename display to the new path.
|
||||
let path = extract_new_path_from_numstat(rest);
|
||||
binary.insert(path);
|
||||
out.binary_paths.insert(extract_new_path_from_numstat(rest));
|
||||
continue;
|
||||
}
|
||||
// Text rows: `<adds>\t<dels>\t<path>`. Tolerate malformed lines
|
||||
// (e.g. trailing whitespace) by skipping rather than failing the
|
||||
// whole diff — the rest of the response stays usable.
|
||||
let mut parts = line.splitn(3, '\t');
|
||||
let adds_s = parts.next().unwrap_or("");
|
||||
let dels_s = parts.next().unwrap_or("");
|
||||
let Ok(adds) = adds_s.parse::<u64>() else {
|
||||
continue;
|
||||
};
|
||||
let Ok(dels) = dels_s.parse::<u64>() else {
|
||||
continue;
|
||||
};
|
||||
out.additions = out.additions.saturating_add(adds);
|
||||
out.deletions = out.deletions.saturating_add(dels);
|
||||
}
|
||||
Ok(binary)
|
||||
Ok(out)
|
||||
}
|
||||
|
||||
fn extract_new_path_from_numstat(rest: &str) -> String {
|
||||
|
|
@ -686,7 +711,7 @@ pub async fn stream_blob_metadata(
|
|||
/// Contents are size-capped per blob: any blob exceeding `size_cap_bytes`
|
||||
/// returns `None` in its slot (the caller should flag that entry as
|
||||
/// truncated). Callers are expected to have pre-filtered binary blobs via
|
||||
/// [`list_binary_paths`] — `--batch` output stream is text-oriented and
|
||||
/// [`list_diff_numstat`] — `--batch` output stream is text-oriented and
|
||||
/// non-UTF-8 bytes are lossy through the sandbox `String` channel.
|
||||
pub async fn stream_blobs(
|
||||
sandbox: &dyn Sandbox,
|
||||
|
|
@ -1207,15 +1232,16 @@ mod tests {
|
|||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn list_binary_paths_flags_png_but_not_text() {
|
||||
async fn list_diff_numstat_flags_png_and_aggregates_text_lines() {
|
||||
let repo_dir = tempfile::tempdir().unwrap();
|
||||
let repo = repo_dir.path();
|
||||
init_git_repo(repo);
|
||||
|
||||
std::fs::write(repo.join("doc.md"), "hi").unwrap();
|
||||
std::fs::write(repo.join("doc.md"), "hi\nthere\n").unwrap();
|
||||
let base = git_commit_all(repo, "initial");
|
||||
|
||||
std::fs::write(repo.join("doc.md"), "bye\n").unwrap();
|
||||
// doc.md: replace 2 lines with 3 lines → adds=3, dels=2
|
||||
std::fs::write(repo.join("doc.md"), "alpha\nbeta\ngamma\n").unwrap();
|
||||
// Minimal PNG header (8-byte signature) + a chunk — git classifies
|
||||
// this as binary via NUL-byte detection.
|
||||
let png: &[u8] = &[
|
||||
|
|
@ -1226,10 +1252,20 @@ mod tests {
|
|||
let head = git_commit_all(repo, "change");
|
||||
|
||||
let sandbox = fabro_agent::LocalSandbox::new(repo.to_path_buf());
|
||||
let binary = list_binary_paths(&sandbox, &base, &head).await.unwrap();
|
||||
let stats = list_diff_numstat(&sandbox, &base, &head).await.unwrap();
|
||||
|
||||
assert!(binary.contains("logo.png"), "binary: {binary:?}");
|
||||
assert!(!binary.contains("doc.md"), "binary: {binary:?}");
|
||||
assert!(
|
||||
stats.binary_paths.contains("logo.png"),
|
||||
"binary_paths: {:?}",
|
||||
stats.binary_paths
|
||||
);
|
||||
assert!(
|
||||
!stats.binary_paths.contains("doc.md"),
|
||||
"binary_paths: {:?}",
|
||||
stats.binary_paths
|
||||
);
|
||||
assert_eq!(stats.additions, 3, "additions: {stats:?}");
|
||||
assert_eq!(stats.deletions, 2, "deletions: {stats:?}");
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -67,7 +67,7 @@ import type { TimelineEntryResponse } from '../models';
|
|||
export const RunsApiAxiosParamCreator = function (configuration?: Configuration) {
|
||||
return {
|
||||
/**
|
||||
* Marks a terminal run (`succeeded`, `failed`, or `dead`) as `archived`. Archived runs are hidden from default listings and are read-only until unarchived. Idempotent on already-archived runs. Returns 409 if the run is not terminal.
|
||||
* Marks a terminal run (`succeeded`, `failed`, or `dead`) as `archived`. Archived runs are hidden from default listings and are read-only until unarchived. Idempotent on already-archived runs. Returns 409 if the run is not terminal.
|
||||
* @summary Archive Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -189,7 +189,7 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
/**
|
||||
* Creates a new workflow run in `submitted` status from a self-contained manifest.
|
||||
* @summary Create Run
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -231,7 +231,7 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
* Creates a pull request for a completed run on GitHub and persists the record on the server.
|
||||
* @summary Create Run Pull Request
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {CreateRunPullRequestRequest} createRunPullRequestRequest
|
||||
* @param {CreateRunPullRequestRequest} createRunPullRequestRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -318,10 +318,10 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
};
|
||||
},
|
||||
/**
|
||||
* Creates a new run from a checkpoint of the source run. The source run is left untouched.
|
||||
* Creates a new run from a checkpoint of the source run. The source run is left untouched.
|
||||
* @summary Fork Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {ForkRequest} [forkRequest]
|
||||
* @param {ForkRequest} [forkRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -401,7 +401,7 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
};
|
||||
},
|
||||
/**
|
||||
* Returns checkpoint timeline entries read from the run metadata branch. This endpoint does not rebuild missing metadata branches.
|
||||
* Returns checkpoint timeline entries read from the run metadata branch. This endpoint does not rebuild missing metadata branches.
|
||||
* @summary Get Run Timeline
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -541,7 +541,7 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
* Merges the stored pull request for a run on GitHub.
|
||||
* @summary Merge Run Pull Request
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {MergeRunPullRequestRequest} mergeRunPullRequestRequest
|
||||
* @param {MergeRunPullRequestRequest} mergeRunPullRequestRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -625,7 +625,7 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
/**
|
||||
* Validates and renders a workflow manifest as SVG without creating a run.
|
||||
* @summary Render Workflow Graph
|
||||
* @param {RenderWorkflowGraphRequest} renderWorkflowGraphRequest
|
||||
* @param {RenderWorkflowGraphRequest} renderWorkflowGraphRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -787,10 +787,10 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
};
|
||||
},
|
||||
/**
|
||||
* Creates a new run from an earlier checkpoint of a terminal source run, archives the source run, and records `run.superseded_by` on the source after archive succeeds. Returns 207 when the new run was created but the source archive step failed.
|
||||
* Creates a new run from an earlier checkpoint of a terminal source run, archives the source run, and records `run.superseded_by` on the source after archive succeeds. Returns 207 when the new run was created but the source archive step failed.
|
||||
* @summary Rewind Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {RewindRequest} [rewindRequest]
|
||||
* @param {RewindRequest} [rewindRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -832,7 +832,7 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
/**
|
||||
* Validates a workflow manifest without creating a run.
|
||||
* @summary Validate Workflow Manifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -874,7 +874,7 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
* Starts a submitted run, queuing it for execution. Provide `resume=true` to resume an interrupted run from checkpoint. Returns 409 if the run is not startable.
|
||||
* @summary Start Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {StartRunRequest} [startRunRequest]
|
||||
* @param {StartRunRequest} [startRunRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -914,7 +914,7 @@ export const RunsApiAxiosParamCreator = function (configuration?: Configuration)
|
|||
};
|
||||
},
|
||||
/**
|
||||
* Restores an archived run to its prior terminal status. Idempotent on runs that are terminal but not archived (returns the current status without emitting an event). Returns 409 if the run is active.
|
||||
* Restores an archived run to its prior terminal status. Idempotent on runs that are terminal but not archived (returns the current status without emitting an event). Returns 409 if the run is active.
|
||||
* @summary Unarchive Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1003,7 +1003,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
const localVarAxiosParamCreator = RunsApiAxiosParamCreator(configuration)
|
||||
return {
|
||||
/**
|
||||
* Marks a terminal run (`succeeded`, `failed`, or `dead`) as `archived`. Archived runs are hidden from default listings and are read-only until unarchived. Idempotent on already-archived runs. Returns 409 if the run is not terminal.
|
||||
* Marks a terminal run (`succeeded`, `failed`, or `dead`) as `archived`. Archived runs are hidden from default listings and are read-only until unarchived. Idempotent on already-archived runs. Returns 409 if the run is not terminal.
|
||||
* @summary Archive Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1044,7 +1044,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
/**
|
||||
* Creates a new workflow run in `submitted` status from a self-contained manifest.
|
||||
* @summary Create Run
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1058,7 +1058,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
* Creates a pull request for a completed run on GitHub and persists the record on the server.
|
||||
* @summary Create Run Pull Request
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {CreateRunPullRequestRequest} createRunPullRequestRequest
|
||||
* @param {CreateRunPullRequestRequest} createRunPullRequestRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1083,10 +1083,10 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
||||
},
|
||||
/**
|
||||
* Creates a new run from a checkpoint of the source run. The source run is left untouched.
|
||||
* Creates a new run from a checkpoint of the source run. The source run is left untouched.
|
||||
* @summary Fork Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {ForkRequest} [forkRequest]
|
||||
* @param {ForkRequest} [forkRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1110,7 +1110,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
||||
},
|
||||
/**
|
||||
* Returns checkpoint timeline entries read from the run metadata branch. This endpoint does not rebuild missing metadata branches.
|
||||
* Returns checkpoint timeline entries read from the run metadata branch. This endpoint does not rebuild missing metadata branches.
|
||||
* @summary Get Run Timeline
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1155,7 +1155,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
* Merges the stored pull request for a run on GitHub.
|
||||
* @summary Merge Run Pull Request
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {MergeRunPullRequestRequest} mergeRunPullRequestRequest
|
||||
* @param {MergeRunPullRequestRequest} mergeRunPullRequestRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1181,7 +1181,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
/**
|
||||
* Validates and renders a workflow manifest as SVG without creating a run.
|
||||
* @summary Render Workflow Graph
|
||||
* @param {RenderWorkflowGraphRequest} renderWorkflowGraphRequest
|
||||
* @param {RenderWorkflowGraphRequest} renderWorkflowGraphRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1231,10 +1231,10 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
||||
},
|
||||
/**
|
||||
* Creates a new run from an earlier checkpoint of a terminal source run, archives the source run, and records `run.superseded_by` on the source after archive succeeds. Returns 207 when the new run was created but the source archive step failed.
|
||||
* Creates a new run from an earlier checkpoint of a terminal source run, archives the source run, and records `run.superseded_by` on the source after archive succeeds. Returns 207 when the new run was created but the source archive step failed.
|
||||
* @summary Rewind Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {RewindRequest} [rewindRequest]
|
||||
* @param {RewindRequest} [rewindRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1247,7 +1247,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
/**
|
||||
* Validates a workflow manifest without creating a run.
|
||||
* @summary Validate Workflow Manifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1261,7 +1261,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
* Starts a submitted run, queuing it for execution. Provide `resume=true` to resume an interrupted run from checkpoint. Returns 409 if the run is not startable.
|
||||
* @summary Start Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {StartRunRequest} [startRunRequest]
|
||||
* @param {StartRunRequest} [startRunRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1272,7 +1272,7 @@ export const RunsApiFp = function(configuration?: Configuration) {
|
|||
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
||||
},
|
||||
/**
|
||||
* Restores an archived run to its prior terminal status. Idempotent on runs that are terminal but not archived (returns the current status without emitting an event). Returns 409 if the run is active.
|
||||
* Restores an archived run to its prior terminal status. Idempotent on runs that are terminal but not archived (returns the current status without emitting an event). Returns 409 if the run is active.
|
||||
* @summary Unarchive Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1307,7 +1307,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
const localVarFp = RunsApiFp(configuration)
|
||||
return {
|
||||
/**
|
||||
* Marks a terminal run (`succeeded`, `failed`, or `dead`) as `archived`. Archived runs are hidden from default listings and are read-only until unarchived. Idempotent on already-archived runs. Returns 409 if the run is not terminal.
|
||||
* Marks a terminal run (`succeeded`, `failed`, or `dead`) as `archived`. Archived runs are hidden from default listings and are read-only until unarchived. Idempotent on already-archived runs. Returns 409 if the run is not terminal.
|
||||
* @summary Archive Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1339,7 +1339,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
/**
|
||||
* Creates a new workflow run in `submitted` status from a self-contained manifest.
|
||||
* @summary Create Run
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1350,7 +1350,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
* Creates a pull request for a completed run on GitHub and persists the record on the server.
|
||||
* @summary Create Run Pull Request
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {CreateRunPullRequestRequest} createRunPullRequestRequest
|
||||
* @param {CreateRunPullRequestRequest} createRunPullRequestRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1369,10 +1369,10 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
return localVarFp.deleteRun(id, force, options).then((request) => request(axios, basePath));
|
||||
},
|
||||
/**
|
||||
* Creates a new run from a checkpoint of the source run. The source run is left untouched.
|
||||
* Creates a new run from a checkpoint of the source run. The source run is left untouched.
|
||||
* @summary Fork Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {ForkRequest} [forkRequest]
|
||||
* @param {ForkRequest} [forkRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1390,7 +1390,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
return localVarFp.getRunPullRequest(id, options).then((request) => request(axios, basePath));
|
||||
},
|
||||
/**
|
||||
* Returns checkpoint timeline entries read from the run metadata branch. This endpoint does not rebuild missing metadata branches.
|
||||
* Returns checkpoint timeline entries read from the run metadata branch. This endpoint does not rebuild missing metadata branches.
|
||||
* @summary Get Run Timeline
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1426,7 +1426,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
* Merges the stored pull request for a run on GitHub.
|
||||
* @summary Merge Run Pull Request
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {MergeRunPullRequestRequest} mergeRunPullRequestRequest
|
||||
* @param {MergeRunPullRequestRequest} mergeRunPullRequestRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1446,7 +1446,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
/**
|
||||
* Validates and renders a workflow manifest as SVG without creating a run.
|
||||
* @summary Render Workflow Graph
|
||||
* @param {RenderWorkflowGraphRequest} renderWorkflowGraphRequest
|
||||
* @param {RenderWorkflowGraphRequest} renderWorkflowGraphRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1484,10 +1484,10 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
return localVarFp.retrieveRunGraph(id, options).then((request) => request(axios, basePath));
|
||||
},
|
||||
/**
|
||||
* Creates a new run from an earlier checkpoint of a terminal source run, archives the source run, and records `run.superseded_by` on the source after archive succeeds. Returns 207 when the new run was created but the source archive step failed.
|
||||
* Creates a new run from an earlier checkpoint of a terminal source run, archives the source run, and records `run.superseded_by` on the source after archive succeeds. Returns 207 when the new run was created but the source archive step failed.
|
||||
* @summary Rewind Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {RewindRequest} [rewindRequest]
|
||||
* @param {RewindRequest} [rewindRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1497,7 +1497,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
/**
|
||||
* Validates a workflow manifest without creating a run.
|
||||
* @summary Validate Workflow Manifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1508,7 +1508,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
* Starts a submitted run, queuing it for execution. Provide `resume=true` to resume an interrupted run from checkpoint. Returns 409 if the run is not startable.
|
||||
* @summary Start Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {StartRunRequest} [startRunRequest]
|
||||
* @param {StartRunRequest} [startRunRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1516,7 +1516,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
return localVarFp.startRun(id, startRunRequest, options).then((request) => request(axios, basePath));
|
||||
},
|
||||
/**
|
||||
* Restores an archived run to its prior terminal status. Idempotent on runs that are terminal but not archived (returns the current status without emitting an event). Returns 409 if the run is active.
|
||||
* Restores an archived run to its prior terminal status. Idempotent on runs that are terminal but not archived (returns the current status without emitting an event). Returns 409 if the run is active.
|
||||
* @summary Unarchive Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1543,7 +1543,7 @@ export const RunsApiFactory = function (configuration?: Configuration, basePath?
|
|||
*/
|
||||
export class RunsApi extends BaseAPI {
|
||||
/**
|
||||
* Marks a terminal run (`succeeded`, `failed`, or `dead`) as `archived`. Archived runs are hidden from default listings and are read-only until unarchived. Idempotent on already-archived runs. Returns 409 if the run is not terminal.
|
||||
* Marks a terminal run (`succeeded`, `failed`, or `dead`) as `archived`. Archived runs are hidden from default listings and are read-only until unarchived. Idempotent on already-archived runs. Returns 409 if the run is not terminal.
|
||||
* @summary Archive Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1578,7 +1578,7 @@ export class RunsApi extends BaseAPI {
|
|||
/**
|
||||
* Creates a new workflow run in `submitted` status from a self-contained manifest.
|
||||
* @summary Create Run
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1590,7 +1590,7 @@ export class RunsApi extends BaseAPI {
|
|||
* Creates a pull request for a completed run on GitHub and persists the record on the server.
|
||||
* @summary Create Run Pull Request
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {CreateRunPullRequestRequest} createRunPullRequestRequest
|
||||
* @param {CreateRunPullRequestRequest} createRunPullRequestRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1611,10 +1611,10 @@ export class RunsApi extends BaseAPI {
|
|||
}
|
||||
|
||||
/**
|
||||
* Creates a new run from a checkpoint of the source run. The source run is left untouched.
|
||||
* Creates a new run from a checkpoint of the source run. The source run is left untouched.
|
||||
* @summary Fork Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {ForkRequest} [forkRequest]
|
||||
* @param {ForkRequest} [forkRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1634,7 +1634,7 @@ export class RunsApi extends BaseAPI {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns checkpoint timeline entries read from the run metadata branch. This endpoint does not rebuild missing metadata branches.
|
||||
* Returns checkpoint timeline entries read from the run metadata branch. This endpoint does not rebuild missing metadata branches.
|
||||
* @summary Get Run Timeline
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
@ -1673,7 +1673,7 @@ export class RunsApi extends BaseAPI {
|
|||
* Merges the stored pull request for a run on GitHub.
|
||||
* @summary Merge Run Pull Request
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {MergeRunPullRequestRequest} mergeRunPullRequestRequest
|
||||
* @param {MergeRunPullRequestRequest} mergeRunPullRequestRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1695,7 +1695,7 @@ export class RunsApi extends BaseAPI {
|
|||
/**
|
||||
* Validates and renders a workflow manifest as SVG without creating a run.
|
||||
* @summary Render Workflow Graph
|
||||
* @param {RenderWorkflowGraphRequest} renderWorkflowGraphRequest
|
||||
* @param {RenderWorkflowGraphRequest} renderWorkflowGraphRequest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1737,10 +1737,10 @@ export class RunsApi extends BaseAPI {
|
|||
}
|
||||
|
||||
/**
|
||||
* Creates a new run from an earlier checkpoint of a terminal source run, archives the source run, and records `run.superseded_by` on the source after archive succeeds. Returns 207 when the new run was created but the source archive step failed.
|
||||
* Creates a new run from an earlier checkpoint of a terminal source run, archives the source run, and records `run.superseded_by` on the source after archive succeeds. Returns 207 when the new run was created but the source archive step failed.
|
||||
* @summary Rewind Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {RewindRequest} [rewindRequest]
|
||||
* @param {RewindRequest} [rewindRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1751,7 +1751,7 @@ export class RunsApi extends BaseAPI {
|
|||
/**
|
||||
* Validates a workflow manifest without creating a run.
|
||||
* @summary Validate Workflow Manifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {RunManifest} runManifest
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1763,7 +1763,7 @@ export class RunsApi extends BaseAPI {
|
|||
* Starts a submitted run, queuing it for execution. Provide `resume=true` to resume an interrupted run from checkpoint. Returns 409 if the run is not startable.
|
||||
* @summary Start Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {StartRunRequest} [startRunRequest]
|
||||
* @param {StartRunRequest} [startRunRequest]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
|
|
@ -1772,7 +1772,7 @@ export class RunsApi extends BaseAPI {
|
|||
}
|
||||
|
||||
/**
|
||||
* Restores an archived run to its prior terminal status. Idempotent on runs that are terminal but not archived (returns the current status without emitting an event). Returns 409 if the run is active.
|
||||
* Restores an archived run to its prior terminal status. Idempotent on runs that are terminal but not archived (returns the current status without emitting an event). Returns 409 if the run is active.
|
||||
* @summary Unarchive Run
|
||||
* @param {string} id Unique run identifier (ULID).
|
||||
* @param {*} [options] Override http request option.
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
|
||||
/**
|
||||
* Aggregate line-change statistics for a diff.
|
||||
* Aggregate `+/-` line counts across all files in a diff (or the unified patch in degraded mode). Binary, sensitive, symlink, and submodule files contribute 0/0 since they have no line-level diff. Both fields are 0 for empty / pre-start envelopes.
|
||||
*/
|
||||
export interface DiffStats {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -27,3 +27,4 @@ export interface ForkRequest {
|
|||
*/
|
||||
'push'?: boolean | null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -22,3 +22,4 @@ export interface ForkResponse {
|
|||
'new_run_id': string;
|
||||
'target': string;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -39,3 +39,5 @@ export const InstallObjectStoreInputCredentialModeEnum = {
|
|||
} as const;
|
||||
|
||||
export type InstallObjectStoreInputCredentialModeEnum = typeof InstallObjectStoreInputCredentialModeEnum[keyof typeof InstallObjectStoreInputCredentialModeEnum];
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -38,3 +38,5 @@ export const InstallObjectStoreSummaryCredentialModeEnum = {
|
|||
} as const;
|
||||
|
||||
export type InstallObjectStoreSummaryCredentialModeEnum = typeof InstallObjectStoreSummaryCredentialModeEnum[keyof typeof InstallObjectStoreSummaryCredentialModeEnum];
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -21,3 +21,4 @@ export interface InstallPrefill {
|
|||
'canonical_url': string;
|
||||
'object_store_local_root': string;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -27,3 +27,4 @@ export interface RewindRequest {
|
|||
*/
|
||||
'push'?: boolean | null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -24,3 +24,4 @@ export interface RewindResponse {
|
|||
'archived': boolean;
|
||||
'archive_error'?: string | null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,15 @@
|
|||
*/
|
||||
|
||||
|
||||
// May contain unused imports in some cases
|
||||
// @ts-ignore
|
||||
import type { DiffStats } from './diff-stats';
|
||||
|
||||
/**
|
||||
* Metadata for a `PaginatedRunFileList` response. Replaces `PaginationMeta` on the files endpoint — the naturally-bounded list does not use cursor pagination but exposes caps and a degraded-response path instead.
|
||||
*/
|
||||
export interface RunFilesMeta {
|
||||
'stats': DiffStats;
|
||||
/**
|
||||
* True when any cap (file count, per-file size, or aggregate size) was hit for this response.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -23,3 +23,4 @@ export interface RunSupersededByProps {
|
|||
'target_node_id': string;
|
||||
'target_visit': number;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* HTTP API for managing Fabro workflow run executions.
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
|
|
@ -23,3 +23,4 @@ export interface TimelineEntryResponse {
|
|||
'visit': number;
|
||||
'run_commit_sha'?: string | null;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue