first commit
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
// Типы для историй и чата
|
||||
|
||||
export interface Character {
|
||||
name: string;
|
||||
description: string;
|
||||
role: string; // например: "союзник", "злодей", "нейтральный NPC"
|
||||
}
|
||||
|
||||
// Персонаж пользователя (для игры)
|
||||
export interface PlayerCharacter {
|
||||
id: string;
|
||||
userId: string;
|
||||
name: string;
|
||||
description: string;
|
||||
avatarUrl?: string;
|
||||
isFavorite?: boolean;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
||||
|
||||
export interface Story {
|
||||
id: string;
|
||||
title: string;
|
||||
description: string;
|
||||
coverImage: string;
|
||||
language: string;
|
||||
genre: string[];
|
||||
setting: string[];
|
||||
summary: string; // краткое содержание (до 20 слов, не для ИИ)
|
||||
plot: string; // сюжет (для ИИ, поддерживает Markdown)
|
||||
firstMessage: string; // первое сообщение ИИ
|
||||
characters: Character[]; // NPC персонажи мира
|
||||
isNsfw: boolean; // NSFW контент
|
||||
narrativeRules?: string; // правила повествования для ИИ (стиль, запреты, формат)
|
||||
temperature?: number; // креативность ИИ (1.0, 1.3, 1.5)
|
||||
world: {
|
||||
name: string;
|
||||
description: string;
|
||||
rules: string[];
|
||||
};
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
||||
|
||||
export interface ChatMessage {
|
||||
id: string;
|
||||
role: "user" | "assistant" | "system";
|
||||
content: string;
|
||||
timestamp: Date;
|
||||
}
|
||||
|
||||
export interface GameSession {
|
||||
id?: string;
|
||||
storyId: string;
|
||||
playerId?: string; // ID выбранного персонажа игрока
|
||||
messages: ChatMessage[];
|
||||
currentState: {
|
||||
location: string;
|
||||
health: number;
|
||||
inventory: string[];
|
||||
questProgress: Record<string, boolean>;
|
||||
};
|
||||
// Сводка важных событий для контекста AI
|
||||
storySummary?: string;
|
||||
// Ключевые события (для краткой памяти)
|
||||
keyEvents?: string[];
|
||||
createdAt?: Date;
|
||||
updatedAt?: Date;
|
||||
}
|
||||
|
||||
export interface CreateStoryForm {
|
||||
title: string;
|
||||
genre: string[];
|
||||
setting: string[];
|
||||
worldDescription: string;
|
||||
}
|
||||
Reference in New Issue
Block a user