import { IsString, IsOptional, IsBoolean, IsNumber, IsInt, IsUUID, MinLength, MaxLength, Min, Max, } from "class-validator"; /** * DTO for updating an existing personality/assistant configuration */ export class UpdatePersonalityDto { @IsOptional() @IsString() @MinLength(1) @MaxLength(100) name?: string; // unique identifier slug @IsOptional() @IsString() @MinLength(1) @MaxLength(200) displayName?: string; // human-readable name @IsOptional() @IsString() @MaxLength(1000) description?: string; @IsOptional() @IsString() @MinLength(10) systemPrompt?: string; @IsOptional() @IsNumber() @Min(0) @Max(2) temperature?: number; // null = use provider default @IsOptional() @IsInt() @Min(1) maxTokens?: number; // null = use provider default @IsOptional() @IsUUID("4") llmProviderInstanceId?: string; // FK to LlmProviderInstance @IsOptional() @IsBoolean() isDefault?: boolean; @IsOptional() @IsBoolean() isEnabled?: boolean; }