import { createZodDto } from 'nestjs-zod';
import {
  AssignPlanRequestSchema,
  ListExecutionsResponseSchema,
  ListPlansQuerySchema,
  ListPlansResponseSchema,
  PlanCountsResponseSchema,
  PlanActionAckSchema,
  PlanDetailResponseSchema,
  RecomputeAckSchema,
  RecyclePlanRequestSchema,
  SubmitExecutionRequestSchema,
  SubmitExecutionResponseSchema,
} from '@pac/types';

export class ListPlansQueryDto extends createZodDto(ListPlansQuerySchema) {}
export class ListPlansResponseDto extends createZodDto(ListPlansResponseSchema) {}
export class PlanCountsResponseDto extends createZodDto(PlanCountsResponseSchema) {}
export class PlanDetailResponseDto extends createZodDto(PlanDetailResponseSchema) {}
export class AssignPlanRequestDto extends createZodDto(AssignPlanRequestSchema) {}
export class RecyclePlanRequestDto extends createZodDto(RecyclePlanRequestSchema) {}
export class SubmitExecutionRequestDto extends createZodDto(SubmitExecutionRequestSchema) {}
export class SubmitExecutionResponseDto extends createZodDto(SubmitExecutionResponseSchema) {}
export class ListExecutionsResponseDto extends createZodDto(ListExecutionsResponseSchema) {}
export class PlanActionAckDto extends createZodDto(PlanActionAckSchema) {}
export class RecomputeAckDto extends createZodDto(RecomputeAckSchema) {}
