first commit

This commit is contained in:
Alexej Wolff
2026-02-11 00:15:59 +01:00
commit cc003ffbd5
39 changed files with 12170 additions and 0 deletions
+76
View File
@@ -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;
}