import { IsString, IsArray, IsDateString, IsNotEmpty, ArrayMinSize } from "class-validator";

/**
 * DTO for validating a completion claim
 */
export class ValidateCompletionDto {
  @IsString()
  @IsNotEmpty()
  taskId!: string;

  @IsString()
  @IsNotEmpty()
  agentId!: string;

  @IsString()
  @IsNotEmpty()
  workspaceId!: string;

  @IsDateString()
  claimedAt!: string;

  @IsString()
  @IsNotEmpty()
  message!: string;

  @IsArray()
  @ArrayMinSize(0)
  @IsString({ each: true })
  filesChanged!: string[];
}
