/**
 * Capabilities DTO
 *
 * Data Transfer Object for federation capabilities validation.
 */

import { IsBoolean, IsOptional, IsString } from "class-validator";

/**
 * DTO for validating FederationCapabilities structure
 */
export class FederationCapabilitiesDto {
  @IsOptional()
  @IsBoolean()
  supportsQuery?: boolean;

  @IsOptional()
  @IsBoolean()
  supportsCommand?: boolean;

  @IsOptional()
  @IsBoolean()
  supportsEvent?: boolean;

  @IsOptional()
  @IsBoolean()
  supportsAgentSpawn?: boolean;

  @IsOptional()
  @IsString()
  protocolVersion?: string;
}
