UNPKG

@wearesage/schema

Version:

A flexible schema definition and validation system for TypeScript with multi-database support

37 lines (28 loc) 835 B
import { Entity, Property, Id, OneToMany, Labels } from "../../core/decorators"; import { PostgresMetadata } from "../../adapters/metadata-layer"; import { RealMessage } from "./RealMessage"; @Entity() @Labels(['Space', 'Conversation']) @PostgresMetadata({ fields: ['id', 'name', 'messageCount', 'lastMessageAt', 'model', 'createdAt'] }) export class RealConversation { @Id() id!: string; @Property({ required: true }) name!: string; @Property() messageCount: number = 0; @Property() lastMessageAt?: Date; @Property() model?: string; @Property() systemPrompt?: string; // Rich field not in metadata @Property() temperature?: number; // Rich field not in metadata @Property() createdAt!: Date; @OneToMany({ target: () => RealMessage, inverse: 'conversation' }) messages?: RealMessage[]; }