/* tslint:disable */
/* eslint-disable */
/**
 * Fabro Run API
 * HTTP API for managing Fabro workflow run executions.
 *
 * The version of the OpenAPI document: 0.2.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { AskFabro } from './ask-fabro';
// May contain unused imports in some cases
// @ts-ignore
import type { AutomationRef } from './automation-ref';
// May contain unused imports in some cases
// @ts-ignore
import type { DiffSummary } from './diff-summary';
// May contain unused imports in some cases
// @ts-ignore
import type { Principal } from './principal';
// May contain unused imports in some cases
// @ts-ignore
import type { PullRequestLink } from './pull-request-link';
// May contain unused imports in some cases
// @ts-ignore
import type { RepositoryRef } from './repository-ref';
// May contain unused imports in some cases
// @ts-ignore
import type { RunBillingSummary } from './run-billing-summary';
// May contain unused imports in some cases
// @ts-ignore
import type { RunLifecycle } from './run-lifecycle';
// May contain unused imports in some cases
// @ts-ignore
import type { RunLinks } from './run-links';
// May contain unused imports in some cases
// @ts-ignore
import type { RunModel } from './run-model';
// May contain unused imports in some cases
// @ts-ignore
import type { RunOrigin } from './run-origin';
// May contain unused imports in some cases
// @ts-ignore
import type { RunQuestion } from './run-question';
// May contain unused imports in some cases
// @ts-ignore
import type { RunSandbox } from './run-sandbox';
// May contain unused imports in some cases
// @ts-ignore
import type { RunSize } from './run-size';
// May contain unused imports in some cases
// @ts-ignore
import type { RunTimestamps } from './run-timestamps';
// May contain unused imports in some cases
// @ts-ignore
import type { RunTiming } from './run-timing';
// May contain unused imports in some cases
// @ts-ignore
import type { WorkflowRef } from './workflow-ref';

/**
 * Canonical public run shape.
 */
export interface Run {
    'id': string;
    /**
     * Current orchestration parent run ID, if linked.
     */
    'parent_id'?: string | null;
    /**
     * Number of runs currently linked to this run as their orchestration parent.
     */
    'children_count': number;
    'title': string;
    'goal': string;
    'workflow': WorkflowRef;
    'automation': AutomationRef | null;
    'repository': RepositoryRef | null;
    'created_by': Principal;
    'origin': RunOrigin;
    'labels': { [key: string]: string; };
    'lifecycle': RunLifecycle;
    'sandbox': RunSandbox | null;
    'models': Array<RunModel>;
    'source_directory': string | null;
    'timestamps': RunTimestamps;
    'timing': RunTiming | null;
    'billing': RunBillingSummary | null;
    'size': RunSize;
    'ask_fabro': AskFabro;
    'diff': DiffSummary | null;
    'pull_request': PullRequestLink | null;
    'current_question': RunQuestion | null;
    /**
     * Run ID that superseded this run via rewind, if any.
     */
    'superseded_by': string | null;
    /**
     * Source run ID when this run was created by manual retry.
     */
    'retried_from': string | null;
    'links': RunLinks;
}
