import { IsString, IsOptional, MaxLength, IsInt, Min, Max, IsDateString } from "class-validator";
import { Type } from "class-transformer";

/**
 * DTO for listing/filtering conversation archives
 */
export class ListConversationsDto {
  @IsOptional()
  @IsString()
  @MaxLength(500)
  agentId?: string;

  @IsOptional()
  @IsDateString()
  startedAfter?: string;

  @IsOptional()
  @IsDateString()
  startedBefore?: string;

  @IsOptional()
  @Type(() => Number)
  @IsInt()
  @Min(1)
  page?: number;

  @IsOptional()
  @Type(() => Number)
  @IsInt()
  @Min(1)
  @Max(100)
  limit?: number;
}
