File size: 1,027 Bytes
fc9bd9f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | import { Fetcher, apiRequest } from "./apiClient";
export interface JobCheckpoint {
step: number;
source: "local" | "hub";
ref: string;
}
export interface PolicyConfigSummary {
policy_type: string | null;
image_features: Record<string, { height: number; width: number }>;
requires_task: boolean;
}
export async function listJobCheckpoints(
baseUrl: string,
fetcher: Fetcher,
jobId: string,
signal?: AbortSignal,
): Promise<JobCheckpoint[]> {
const body = await apiRequest<{ checkpoints: JobCheckpoint[] }>(
baseUrl,
fetcher,
`/jobs/${jobId}/checkpoints`,
{ signal, action: "List checkpoints" },
);
return body.checkpoints;
}
export async function getCheckpointPolicyConfig(
baseUrl: string,
fetcher: Fetcher,
jobId: string,
step: number,
signal?: AbortSignal,
): Promise<PolicyConfigSummary> {
return apiRequest<PolicyConfigSummary>(
baseUrl,
fetcher,
`/jobs/${jobId}/checkpoints/${step}/policy-config`,
{ signal, action: "Load policy config" },
);
}
|