Files
ERitors-Scribe-Desktop/lib/models/BookTables.ts
natreex 306262caba Add QuillSense support with settings and integration
- Introduced new "QuillSense" feature for AI-assisted book creation.
- Added QuillSense settings panel with advanced options and disable/enable functionality.
- Updated GhostWriter and TextEditor components to respect QuillSense settings.
- Extended models and repositories to track and manage QuillSense state per book.
- Localized new strings for English and French.
2026-01-13 19:52:31 -05:00

204 lines
4.6 KiB
TypeScript

export interface EritBooksTable {
book_id:string;
type:string;
author_id:string;
title:string;
hashed_title:string;
sub_title:string|null;
hashed_sub_title:string|null;
summary:string|null;
serie_id:number|null;
desired_release_date:string|null;
desired_word_count:number|null;
words_count:number|null;
cover_image:string|null;
last_update:number;
}
export interface BookActSummariesTable {
act_sum_id: string;
book_id: string;
user_id: string;
act_index: number;
summary: string | null;
last_update: number;
}
export interface BookAIGuideLineTable {
user_id: string;
book_id: string;
global_resume: string | null;
themes: string | null;
verbe_tense: number | null;
narrative_type: number | null;
langue: number | null;
dialogue_type: number | null;
tone: string | null;
atmosphere: string | null;
current_resume: string | null;
}
export interface BookChaptersTable {
chapter_id: string;
book_id: string;
author_id: string;
title: string;
hashed_title: string;
words_count: number | null;
chapter_order: number;
last_update: number;
}
export interface BookChapterContentTable {
content_id: string;
chapter_id: string;
author_id: string;
version: number;
content: string | null;
words_count: number;
time_on_it: number;
last_update: number;
}
export interface BookChapterInfosTable {
chapter_info_id: string;
chapter_id: string;
act_id: number;
incident_id: string | null;
plot_point_id: string | null;
book_id: string;
author_id: string;
summary: string | null;
goal: string | null;
last_update: number;
}
export interface BookCharactersTable {
character_id: string;
book_id: string;
user_id: string;
first_name: string;
last_name: string | null;
category: string;
title: string | null;
image: string | null;
role: string | null;
biography: string | null;
history: string | null;
last_update: number;
}
export interface BookCharactersAttributesTable {
attr_id: string;
character_id: string;
user_id: string;
attribute_name: string;
attribute_value: string;
last_update: number;
}
export interface BookGuideLineTable {
user_id: string;
book_id: string;
tone: string | null;
atmosphere: string | null;
writing_style: string | null;
themes: string | null;
symbolism: string | null;
motifs: string | null;
narrative_voice: string | null;
pacing: string | null;
intended_audience: string | null;
key_messages: string | null;
}
export interface BookIncidentsTable {
incident_id: string;
author_id: string;
book_id: string;
title: string;
hashed_title: string;
summary: string | null;
last_update: number;
}
export interface BookIssuesTable {
issue_id: string;
author_id: string;
book_id: string;
name: string;
hashed_issue_name: string;
last_update: number;
}
export interface BookLocationTable {
loc_id: string;
book_id: string;
user_id: string;
loc_name: string;
loc_original_name: string;
last_update: number;
}
export interface BookPlotPointsTable {
plot_point_id: string;
title: string;
hashed_title: string;
summary: string | null;
linked_incident_id: string | null;
author_id: string;
book_id: string;
last_update: number;
}
export interface BookWorldTable {
world_id: string;
name: string;
hashed_name: string;
author_id: string;
book_id: string;
history: string | null;
politics: string | null;
economy: string | null;
religion: string | null;
languages: string | null;
last_update: number;
}
export interface BookWorldElementsTable {
element_id: string;
world_id: string;
user_id: string;
element_type: number;
name: string;
original_name: string;
description: string | null;
last_update: number;
}
export interface LocationElementTable {
element_id: string;
location: string;
user_id: string;
element_name: string;
original_name: string;
element_description: string | null;
last_update: number;
}
export interface LocationSubElementTable {
sub_element_id: string;
element_id: string;
user_id: string;
sub_elem_name: string;
original_name: string;
sub_elem_description: string | null;
last_update: number;
}
export interface GhostWriterSettingsTable {
book_id: string;
user_id: string;
advanced_prompt: string | null;
quillsense_enabled: number;
}