import { IsString, IsOptional, IsArray, ValidateNested, IsIn } from 'class-validator'; import { Type } from 'class-transformer'; export class ChatMessageDto { @IsIn(['user', 'assistant', 'system']) role!: 'user' | 'assistant' | 'system'; @IsString() content!: string; } export class AskDto { @IsArray() @ValidateNested({ each: true }) @Type(() => ChatMessageDto) messages!: ChatMessageDto[]; @IsOptional() @IsString() context?: string; // JSON string of CEO OS context snapshot }