40 lines
753 B
TypeScript
40 lines
753 B
TypeScript
import type { ChannelAttachmentDto } from '@mosaicstack/types';
|
|
import { IsOptional, IsString, IsUUID, MaxLength } from 'class-validator';
|
|
|
|
export class ChatRequestDto {
|
|
@IsOptional()
|
|
@IsUUID()
|
|
conversationId?: string;
|
|
|
|
@IsString()
|
|
@MaxLength(10_000)
|
|
content!: string;
|
|
}
|
|
|
|
export class ChatSocketMessageDto {
|
|
@IsOptional()
|
|
@IsUUID()
|
|
conversationId?: string;
|
|
|
|
@IsString()
|
|
@MaxLength(10_000)
|
|
content!: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
@MaxLength(255)
|
|
provider?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
@MaxLength(255)
|
|
modelId?: string;
|
|
|
|
@IsOptional()
|
|
@IsUUID()
|
|
agentId?: string;
|
|
|
|
/** Validated channel attachment references; binary content is not embedded. */
|
|
attachments?: readonly ChannelAttachmentDto[];
|
|
}
|