Files
LoreMind/web/src/app/services/conversation.model.ts
IETM_FIXE\ietm6 8f4dd3e9d6 Ajout de la partie "Système de jeu" avec toute la partie stockage de règles de notre jeu.
Ajout de possibilité de stocker des fiches de personnages associés à une campagne également (personnages joueurs pour le moment)
2026-04-22 11:58:50 +02:00

36 lines
902 B
TypeScript

export type ConversationRole = 'user' | 'assistant' | 'system';
export interface ConversationMessage {
id?: string;
role: ConversationRole;
content: string;
createdAt?: string;
}
export interface Conversation {
id: string;
title: string;
loreId?: string | null;
campaignId?: string | null;
entityType?: string | null;
entityId?: string | null;
createdAt: string;
updatedAt: string;
messages?: ConversationMessage[];
}
/**
* Filtre strict pour le listing sidebar. Fournir soit loreId soit campaignId.
* entityType + entityId vont ensemble — tous deux null = niveau racine.
*/
export interface ConversationContext {
loreId?: string | null;
campaignId?: string | null;
entityType?: 'page' | 'arc' | 'chapter' | 'scene' | 'character' | null;
entityId?: string | null;
}
export interface CreateConversationPayload extends ConversationContext {
title?: string;
}