Chat persistant pour la partie lore et la partie campagne pour chaque page / scène.....
Correction du carroussel Passage en v0.4.0 Correction du docker compose pour tout le temps utiliser le bon port que ce soit prod ou dev
This commit is contained in:
35
web/src/app/services/conversation.model.ts
Normal file
35
web/src/app/services/conversation.model.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
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' | null;
|
||||
entityId?: string | null;
|
||||
}
|
||||
|
||||
export interface CreateConversationPayload extends ConversationContext {
|
||||
title?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user