import { z } from 'zod'

// ─── Input Options ───────────────────────────────────────────────────────

export const CleanupOptionsSchema = z.object({
  force: z.boolean().optional().default(false),
  dryRun: z.boolean().optional().default(false),
  staleDays: z.number().int().positive().optional(),
})

// ─── Result ───────────────────────────────────────────────────────────

export const CleanupResultSchema = z.object({
  success: z.boolean(),
  analyzed: z.number(),
  permanent: z.number(),
  active: z.number(),
  deleted: z.array(z.string()),
  skipped: z.array(z.string()),
  error: z.string().optional(),
})

// ─── Inferred Types ───────────────────────────────────────────────────────

export type CleanupOptions = z.infer<typeof CleanupOptionsSchema>
export type CleanupResult = z.infer<typeof CleanupResultSchema>
