2026-10-06 04:27:34 -07:00
|
|
|
import { z } from "zod";
|
|
|
|
|
|
|
|
|
|
import { isCliOperationFailure } from "../cliLogging.js";
|
|
|
|
|
|
|
|
|
|
const referenceSourceImportFailureSchema = z.strictObject({
|
|
|
|
|
error: z.literal("Import failed"),
|
2026-10-07 04:02:10 +08:00
|
|
|
category: z.enum([
|
|
|
|
|
"cancelled",
|
|
|
|
|
"invalid_input",
|
|
|
|
|
"unsupported_host",
|
|
|
|
|
"execution_failure",
|
|
|
|
|
]),
|
2026-10-06 04:27:34 -07:00
|
|
|
message: z.string().min(1),
|
2026-10-11 06:06:28 +08:00
|
|
|
cleanup: z
|
|
|
|
|
.strictObject({
|
|
|
|
|
reason: z.string().min(1),
|
|
|
|
|
resources: z.array(z.string().min(1)),
|
|
|
|
|
})
|
|
|
|
|
.optional(),
|
|
|
|
|
partial: z.unknown().optional(),
|
2026-10-06 04:27:34 -07:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/** Identify the historical-source import command's failed operation outputs. */
|
|
|
|
|
export const isReferenceSourceImportCliFailure = (value: unknown): boolean =>
|
|
|
|
|
referenceSourceImportFailureSchema.safeParse(value).success ||
|
|
|
|
|
isCliOperationFailure(value);
|