/**
 * abort CLI types — Input spec and output result
 */

import { z } from 'zod';

export const AbortSpecSchema = z.object({
  git: z.boolean().optional().default(true),
});

export type AbortSpec = z.infer<typeof AbortSpecSchema>;

export const AbortResultSchema = z.object({
  success: z.boolean(),
  operation: z.enum(['rebase', 'merge', 'cherry-pick', 'none']),
  restored: z.boolean(),
  message: z.string().optional(),
  error: z.string().optional(),
});

export type AbortResult = z.infer<typeof AbortResultSchema>;
