mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 17:53:39 +00:00
* fix(ci): check publication registries before FRV fanout * test(ci): align FRV registry admission workflow fixtures
82 lines
2.6 KiB
TypeScript
82 lines
2.6 KiB
TypeScript
import type { PublicationObservation } from "./frv-publication-status.mts";
|
|
|
|
export type FrvPublicationStatus = Partial<FrvContinuationStatus> & {
|
|
publication: PublicationObservation;
|
|
};
|
|
|
|
export interface FrvChildStatus extends Record<string, unknown> {
|
|
effectiveRunAttempt: number | null;
|
|
key: string;
|
|
plannedRunAttempt: number | null;
|
|
runId: string;
|
|
status: "active" | "failed" | "missing" | "passed";
|
|
}
|
|
|
|
export interface FrvContinuationStatus {
|
|
active: FrvChildStatus[];
|
|
children: FrvChildStatus[];
|
|
failed: FrvChildStatus[];
|
|
missing: FrvChildStatus[];
|
|
passed: FrvChildStatus[];
|
|
}
|
|
|
|
export interface FrvClient {
|
|
repository?: string;
|
|
getReleaseEvidenceClient: () => ReturnType<
|
|
typeof import("./release-ci-summary.mjs").createReleaseEvidenceClient
|
|
>;
|
|
getAttemptJobs: (runId: string, runAttempt: number) => Promise<Record<string, unknown>[]>;
|
|
getJobLog: (jobId: number) => Promise<string>;
|
|
getParentJobs: (runId: string) => Promise<Record<string, unknown>[]>;
|
|
getRun: (runId: string) => Promise<Record<string, unknown>>;
|
|
getRunAttempt: (runId: string, runAttempt: number) => Promise<Record<string, unknown>>;
|
|
rerunFailed?: (runId: string) => Promise<unknown>;
|
|
rerunParent?: (runId: string) => Promise<unknown>;
|
|
verify?: (
|
|
runId: string,
|
|
plan: Record<string, unknown>,
|
|
operationDeadline?: number,
|
|
expectedRunAttempts?: Record<string, number>,
|
|
) => Promise<unknown>;
|
|
verifySeal?: (
|
|
runId: string,
|
|
plan: Record<string, unknown>,
|
|
operationDeadline: number,
|
|
expectedRunAttempts: Record<string, number>,
|
|
) => Promise<boolean>;
|
|
}
|
|
|
|
export type FrvConcreteClient = FrvClient &
|
|
Required<Pick<FrvClient, "rerunFailed" | "rerunParent" | "verify" | "verifySeal">>;
|
|
|
|
export function inspectContinuation(
|
|
plan: Record<string, unknown>,
|
|
client: Pick<FrvClient, "getAttemptJobs" | "getRun" | "repository">,
|
|
): Promise<FrvContinuationStatus>;
|
|
export function createClient(
|
|
repository: string,
|
|
dependencies?: Record<string, unknown>,
|
|
): FrvConcreteClient;
|
|
export function preflightContinuation(
|
|
plan: Record<string, unknown>,
|
|
rootRunId: string,
|
|
client: Pick<
|
|
FrvClient,
|
|
"getJobLog" | "getParentJobs" | "getRunAttempt" | "getReleaseEvidenceClient"
|
|
>,
|
|
repository?: string,
|
|
): Promise<Record<string, unknown>>;
|
|
export function loadPlan(
|
|
options: Record<string, unknown>,
|
|
loadExecutionPlan?: (...args: unknown[]) => Promise<unknown>,
|
|
): Promise<Record<string, unknown>>;
|
|
export function continueFailed(
|
|
plan: Record<string, unknown>,
|
|
rootRunId: string,
|
|
client: FrvClient,
|
|
options?: Record<string, unknown>,
|
|
): Promise<{
|
|
action: string;
|
|
finalRunId?: string;
|
|
status: FrvContinuationStatus;
|
|
}>;
|