/* 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 { StageContextWindowBreakdownItem } from './stage-context-window-breakdown-item';
// May contain unused imports in some cases
// @ts-ignore
import type { StageContextWindowCountMethod } from './stage-context-window-count-method';
// May contain unused imports in some cases
// @ts-ignore
import type { StageContextWindowStaleness } from './stage-context-window-staleness';
// May contain unused imports in some cases
// @ts-ignore
import type { StageContextWindowUnavailableReason } from './stage-context-window-unavailable-reason';
// May contain unused imports in some cases
// @ts-ignore
import type { StageContextWindowWarning } from './stage-context-window-warning';

/**
 * Best-effort context-window usage for one agent stage.
 */
export interface StageContextWindow {
    /**
     * Stage ID in `node@visit` form.
     */
    'stage_id': string;
    /**
     * Whether context-window data is available for this known stage.
     */
    'available': boolean;
    'unavailable_reason': StageContextWindowUnavailableReason | null;
    'provider': string | null;
    'model': string | null;
    'context_window_tokens': number | null;
    'input_tokens': number | null;
    'usage_percent': number | null;
    'count_method': StageContextWindowCountMethod | null;
    'staleness': StageContextWindowStaleness;
    'generated_at': string | null;
    'event_seq': number | null;
    'breakdown': Array<StageContextWindowBreakdownItem>;
    'warnings': Array<StageContextWindowWarning>;
}
