dsh-novel-write-engine 0.2.7 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.md +27 -23
- package/briefs/P3.md +1 -0
- package/briefs/P4.md +1 -1
- package/briefs/P8.md +1 -1
- package/lib/client.js +928 -125
- package/lib/index.d.ts +151 -10
- package/lib/index.js +1498 -262
- package/lib/types/client/dto.d.ts +32 -9
- package/lib/types/client/panel.d.ts +19 -1
- package/lib/types/client/viewmodel.d.ts +13 -4
- package/lib/types/constants.d.ts +2 -0
- package/lib/types/panel-contract.d.ts +2 -2
- package/lib/types/types.d.ts +55 -2
- package/package.json +8 -3
- package/presets/novel-write-engine.patch.yml +4 -0
- package/rulepacks/default.yaml +13 -5
- package/skills/entry.md +2 -1
package/lib/index.d.ts
CHANGED
|
@@ -217,6 +217,18 @@ interface WordMetrics {
|
|
|
217
217
|
paragraph_count: number;
|
|
218
218
|
paragraph_max_words: number;
|
|
219
219
|
}
|
|
220
|
+
/** Protected evidence copied from the archived outline card at archive time. */
|
|
221
|
+
interface ArchivedCardSnapshot {
|
|
222
|
+
title: string;
|
|
223
|
+
scene_type: SceneType;
|
|
224
|
+
target_words: [number, number];
|
|
225
|
+
cast: string[];
|
|
226
|
+
goal: string;
|
|
227
|
+
conflict: string;
|
|
228
|
+
hook: string;
|
|
229
|
+
notes: string;
|
|
230
|
+
archived_at: string | null;
|
|
231
|
+
}
|
|
220
232
|
/** Derived chapter row kept in `state/chapters.yaml`. */
|
|
221
233
|
interface ChapterRecord {
|
|
222
234
|
num: number;
|
|
@@ -239,6 +251,10 @@ interface ChapterRecord {
|
|
|
239
251
|
assigned_ids?: Record<string, string>;
|
|
240
252
|
/** Digest of the archive request that produced this row. */
|
|
241
253
|
archive_digest?: string;
|
|
254
|
+
/** Immutable card fields written by the archive transaction, not by amend. */
|
|
255
|
+
archive_card?: ArchivedCardSnapshot;
|
|
256
|
+
/** Canonical digest of archive_card; v1-prefixed like archive_digest. */
|
|
257
|
+
archive_card_digest?: string;
|
|
242
258
|
}
|
|
243
259
|
/** Summary block the model supplies with a draft and the engine persists. */
|
|
244
260
|
interface ChapterSummary {
|
|
@@ -301,8 +317,8 @@ interface CharacterDelta {
|
|
|
301
317
|
role?: string;
|
|
302
318
|
profile?: Record<string, unknown>;
|
|
303
319
|
current_state?: Record<string, unknown>;
|
|
320
|
+
/** Chapter is engine-assigned from the archive transaction, not caller-supplied. */
|
|
304
321
|
growth?: {
|
|
305
|
-
chapter: number;
|
|
306
322
|
change: string;
|
|
307
323
|
status_change: string;
|
|
308
324
|
};
|
|
@@ -760,7 +776,7 @@ interface BookReport {
|
|
|
760
776
|
target: number | null;
|
|
761
777
|
words: number;
|
|
762
778
|
average_words: number;
|
|
763
|
-
percent: number;
|
|
779
|
+
percent: number | null;
|
|
764
780
|
remaining_words: number | null;
|
|
765
781
|
remaining_words_min: number | null;
|
|
766
782
|
remaining_words_average: number | null;
|
|
@@ -825,6 +841,7 @@ interface BookReport {
|
|
|
825
841
|
id: string;
|
|
826
842
|
average: number;
|
|
827
843
|
samples: number;
|
|
844
|
+
max: number;
|
|
828
845
|
}>;
|
|
829
846
|
};
|
|
830
847
|
/** Per-chapter effort survives archive (pipeline rounds are reset). */
|
|
@@ -972,6 +989,8 @@ interface GateInput {
|
|
|
972
989
|
briefStage: BriefStage | null;
|
|
973
990
|
draftTitle: string | null;
|
|
974
991
|
sceneType: SceneType | null;
|
|
992
|
+
/** The submitted/active plan narrator; PG-05 uses it before a draft exists. */
|
|
993
|
+
narrator?: string | null;
|
|
975
994
|
summary: ChapterSummary | null;
|
|
976
995
|
/** P5 may omit `summary`; when omitted, the previous plan summary is reused. */
|
|
977
996
|
summaryProvided?: boolean;
|
|
@@ -1034,6 +1053,36 @@ interface Selection {
|
|
|
1034
1053
|
title?: string;
|
|
1035
1054
|
created_at?: string;
|
|
1036
1055
|
}
|
|
1056
|
+
/**
|
|
1057
|
+
* One human-readable projection of the pipeline's chapter boundary.
|
|
1058
|
+
*
|
|
1059
|
+
* `pipeline.chapter`/`stage` are protocol values: after archiving chapter N the
|
|
1060
|
+
* pipeline points at N+1 and still says `done` because `done` describes the
|
|
1061
|
+
* chapter that was just archived. This projection is the only place that turns
|
|
1062
|
+
* those values into "chapter N archived; chapter N+1 starts at P1".
|
|
1063
|
+
*/
|
|
1064
|
+
interface ChapterProgress {
|
|
1065
|
+
active_chapter: number;
|
|
1066
|
+
stage: Stage;
|
|
1067
|
+
/** The chapter currently being written; null while `stage === 'done'`. */
|
|
1068
|
+
current: {
|
|
1069
|
+
chapter: number;
|
|
1070
|
+
stage: Stage;
|
|
1071
|
+
} | null;
|
|
1072
|
+
/** Highest archived chapter, or null before the first archive. */
|
|
1073
|
+
last_archived: number | null;
|
|
1074
|
+
/** Next chapter to start at P1; null while writing or after the book is finished. */
|
|
1075
|
+
next: {
|
|
1076
|
+
chapter: number;
|
|
1077
|
+
stage: 'P1';
|
|
1078
|
+
} | null;
|
|
1079
|
+
/** True only when the configured target has been reached at `stage === 'done'`. */
|
|
1080
|
+
finished: boolean;
|
|
1081
|
+
/** One line for status cards, commands and the panel. */
|
|
1082
|
+
label: string;
|
|
1083
|
+
/** Sentence used by the resume prompt instead of "当前第 N 章,阶段 done". */
|
|
1084
|
+
resume: string;
|
|
1085
|
+
}
|
|
1037
1086
|
/** The `getStatus` payload. */
|
|
1038
1087
|
interface StatusReport {
|
|
1039
1088
|
project: {
|
|
@@ -1054,6 +1103,8 @@ interface StatusReport {
|
|
|
1054
1103
|
/** SHA-256 of the active manuscript, or null when the stage has no draft. */
|
|
1055
1104
|
manuscript_hash: string | null;
|
|
1056
1105
|
stage: Stage;
|
|
1106
|
+
/** Chapter-boundary projection shared by every human-readable surface. */
|
|
1107
|
+
progress?: ChapterProgress;
|
|
1057
1108
|
rounds: RoundCounters;
|
|
1058
1109
|
blocking: BlockingItem[];
|
|
1059
1110
|
/** Non-blocking recovery notes, e.g. a recoverable pending transaction. */
|
|
@@ -1106,6 +1157,8 @@ interface StatusReport {
|
|
|
1106
1157
|
interface AdviceReport {
|
|
1107
1158
|
stage: Stage;
|
|
1108
1159
|
chapter: number;
|
|
1160
|
+
/** Same chapter-boundary projection as getStatus. */
|
|
1161
|
+
progress?: ChapterProgress;
|
|
1109
1162
|
tool: string;
|
|
1110
1163
|
args: Record<string, unknown>;
|
|
1111
1164
|
reason: string;
|
|
@@ -1283,9 +1336,17 @@ interface Rulepack {
|
|
|
1283
1336
|
words_per_chapter: [number, number];
|
|
1284
1337
|
dialogue_ratio: [number, number];
|
|
1285
1338
|
}>;
|
|
1286
|
-
/** Genre guides
|
|
1339
|
+
/** Genre guides plus optional advisory-only threshold profiles. */
|
|
1287
1340
|
genres: Record<Genre, {
|
|
1288
1341
|
note: string;
|
|
1342
|
+
profile?: {
|
|
1343
|
+
period_density?: {
|
|
1344
|
+
min: number;
|
|
1345
|
+
max: number;
|
|
1346
|
+
};
|
|
1347
|
+
water_words?: number;
|
|
1348
|
+
pleasure_density?: number;
|
|
1349
|
+
};
|
|
1289
1350
|
}>;
|
|
1290
1351
|
crosschapter: {
|
|
1291
1352
|
duplicate_similarity: number;
|
|
@@ -1483,7 +1544,7 @@ interface PanelBookData {
|
|
|
1483
1544
|
average_words: number;
|
|
1484
1545
|
remaining_words: number | null;
|
|
1485
1546
|
remaining_words_basis: 'actual_average' | 'minimum_target' | 'none';
|
|
1486
|
-
percent: number;
|
|
1547
|
+
percent: number | null;
|
|
1487
1548
|
};
|
|
1488
1549
|
current: {
|
|
1489
1550
|
card: PanelCardData | null;
|
|
@@ -1531,7 +1592,7 @@ interface PanelBookData {
|
|
|
1531
1592
|
median: number;
|
|
1532
1593
|
min: number;
|
|
1533
1594
|
max: number;
|
|
1534
|
-
last_ten_average: number;
|
|
1595
|
+
last_ten_average: number | null;
|
|
1535
1596
|
trend: number | null;
|
|
1536
1597
|
trend_basis: BookReport['quality']['trend_basis'];
|
|
1537
1598
|
samples: number;
|
|
@@ -1566,7 +1627,7 @@ interface PanelDraft {
|
|
|
1566
1627
|
num: number;
|
|
1567
1628
|
title: string;
|
|
1568
1629
|
wordCount: number;
|
|
1569
|
-
score: number;
|
|
1630
|
+
score: number | null;
|
|
1570
1631
|
status: 'draft' | 'blocked';
|
|
1571
1632
|
details: string;
|
|
1572
1633
|
}
|
|
@@ -1577,6 +1638,8 @@ interface PanelSnapshot {
|
|
|
1577
1638
|
platform: string;
|
|
1578
1639
|
chapter: number;
|
|
1579
1640
|
stage: Stage;
|
|
1641
|
+
/** Chapter-boundary projection; `chapter`/`stage` stay as the protocol pair. */
|
|
1642
|
+
progress?: ChapterProgress;
|
|
1580
1643
|
revision: number;
|
|
1581
1644
|
rounds: {
|
|
1582
1645
|
review: number;
|
|
@@ -1595,8 +1658,12 @@ interface PanelSnapshot {
|
|
|
1595
1658
|
chapters: ChapterRecord[];
|
|
1596
1659
|
/** The active, not-yet-archived chapter; archived rows come from `chapters`. */
|
|
1597
1660
|
draft?: PanelDraft | null;
|
|
1598
|
-
/**
|
|
1661
|
+
/** Archived words plus the active draft; the header shows this total. */
|
|
1599
1662
|
totalWords: number;
|
|
1663
|
+
/** Words in archived chapters only. */
|
|
1664
|
+
archivedWords?: number;
|
|
1665
|
+
/** Active draft words, zero when no draft exists. */
|
|
1666
|
+
draftWords?: number;
|
|
1600
1667
|
/** Book-wide archived average, not just the panel's capped rows. */
|
|
1601
1668
|
averageScore?: number;
|
|
1602
1669
|
/** The nine-phase strip state, derived from the pipeline stage. */
|
|
@@ -1609,6 +1676,7 @@ interface PanelSnapshot {
|
|
|
1609
1676
|
book?: PanelBook;
|
|
1610
1677
|
quality?: {
|
|
1611
1678
|
averageScore: number;
|
|
1679
|
+
last_ten_average?: number | null;
|
|
1612
1680
|
scores: number[];
|
|
1613
1681
|
trend: number | null;
|
|
1614
1682
|
trend_basis?: 'last_five_vs_previous_five' | 'insufficient_samples' | 'insufficient_history';
|
|
@@ -1694,8 +1762,14 @@ interface PanelSummaryDto {
|
|
|
1694
1762
|
platform: string;
|
|
1695
1763
|
chapter: number;
|
|
1696
1764
|
stage: Stage;
|
|
1765
|
+
/** Chapter-boundary projection; absent on older payloads. */
|
|
1766
|
+
progress?: ChapterProgress;
|
|
1697
1767
|
revision: number;
|
|
1698
1768
|
totalWords: number;
|
|
1769
|
+
/** Words in archived chapters only; `totalWords` also counts the active draft. */
|
|
1770
|
+
archivedWords?: number;
|
|
1771
|
+
/** Active draft words, zero when no draft exists. */
|
|
1772
|
+
draftWords?: number;
|
|
1699
1773
|
totalChapters: number;
|
|
1700
1774
|
/** Book-wide archived average; absent on older payloads. */
|
|
1701
1775
|
averageScore?: number;
|
|
@@ -1719,6 +1793,7 @@ interface PanelSummaryDto {
|
|
|
1719
1793
|
book?: PanelBook;
|
|
1720
1794
|
quality?: {
|
|
1721
1795
|
averageScore: number;
|
|
1796
|
+
last_ten_average?: number | null;
|
|
1722
1797
|
scores: number[];
|
|
1723
1798
|
trend: number | null;
|
|
1724
1799
|
trend_basis?: 'last_five_vs_previous_five' | 'insufficient_samples' | 'insufficient_history';
|
|
@@ -1763,7 +1838,7 @@ interface PanelChapterRow {
|
|
|
1763
1838
|
num: number;
|
|
1764
1839
|
title: string;
|
|
1765
1840
|
wordCount: number;
|
|
1766
|
-
score: number;
|
|
1841
|
+
score: number | null;
|
|
1767
1842
|
stage: Stage;
|
|
1768
1843
|
status: 'passed' | 'blocked' | 'draft';
|
|
1769
1844
|
/** One-line summary shown when the row is expanded. */
|
|
@@ -1812,12 +1887,25 @@ interface PanelMissing {
|
|
|
1812
1887
|
reason: 'missing' | 'not-project' | 'damaged' | 'not_registered' | 'unreadable' | 'busy';
|
|
1813
1888
|
hint: string;
|
|
1814
1889
|
}
|
|
1890
|
+
/** Additive v7 sections; the v6 bundle stays unchanged for old tabs. */
|
|
1891
|
+
type PanelSectionName = 'overview' | 'chapters' | 'characters' | 'foreshadows' | 'timeline' | 'relationships' | 'worldbook' | 'quality' | 'quality_detail' | 'health' | 'chapter_detail';
|
|
1892
|
+
interface PanelSectionMeta {
|
|
1893
|
+
payload_version: 7;
|
|
1894
|
+
section: PanelSectionName;
|
|
1895
|
+
items: unknown;
|
|
1896
|
+
total: number;
|
|
1897
|
+
returned: number;
|
|
1898
|
+
truncated: boolean;
|
|
1899
|
+
next_cursor: string | null;
|
|
1900
|
+
updated_at: string;
|
|
1901
|
+
etag: string;
|
|
1902
|
+
}
|
|
1815
1903
|
interface PanelBundle {
|
|
1816
1904
|
projects: PanelProjectOption[];
|
|
1817
1905
|
selection: PanelSelection;
|
|
1818
1906
|
summary?: PanelSummaryDto;
|
|
1819
1907
|
chapters?: PanelChaptersDto;
|
|
1820
|
-
|
|
1908
|
+
etag?: string;
|
|
1821
1909
|
resume?: {
|
|
1822
1910
|
text: string;
|
|
1823
1911
|
};
|
|
@@ -1825,12 +1913,27 @@ interface PanelBundle {
|
|
|
1825
1913
|
empty?: true;
|
|
1826
1914
|
error?: string;
|
|
1827
1915
|
}
|
|
1916
|
+
interface ChapterProgressInput {
|
|
1917
|
+
activeChapter: number;
|
|
1918
|
+
stage: Stage;
|
|
1919
|
+
archived: readonly number[];
|
|
1920
|
+
target: number | null;
|
|
1921
|
+
}
|
|
1922
|
+
/**
|
|
1923
|
+
* Turn the protocol pair (`chapter` + `stage`) into the only human-readable
|
|
1924
|
+
* chapter boundary. After archiving chapter N the protocol intentionally keeps
|
|
1925
|
+
* `stage: 'done'` and advances `chapter` to N+1; `done` describes chapter N,
|
|
1926
|
+
* not the chapter the pipeline now points at.
|
|
1927
|
+
*/
|
|
1928
|
+
declare function projectChapterProgress(input: ChapterProgressInput): ChapterProgress;
|
|
1828
1929
|
interface ResumePromptInput {
|
|
1829
1930
|
title: string;
|
|
1830
1931
|
root: string;
|
|
1831
1932
|
chapter: number | string;
|
|
1832
1933
|
stage: string;
|
|
1833
1934
|
nextTool: string;
|
|
1935
|
+
/** When supplied, replaces the protocol pair with the chapter boundary text. */
|
|
1936
|
+
progress?: ChapterProgress;
|
|
1834
1937
|
}
|
|
1835
1938
|
/** One shared prompt template for `/novel resume` and the panel copy button. */
|
|
1836
1939
|
declare function formatResumePrompt(input: ResumePromptInput): string;
|
|
@@ -1933,6 +2036,15 @@ type EngineEvent = {
|
|
|
1933
2036
|
files: number;
|
|
1934
2037
|
};
|
|
1935
2038
|
};
|
|
2039
|
+
interface PanelSectionQuery {
|
|
2040
|
+
search?: string;
|
|
2041
|
+
status?: string;
|
|
2042
|
+
scene?: string;
|
|
2043
|
+
sort?: string;
|
|
2044
|
+
cursor?: string;
|
|
2045
|
+
limit?: number;
|
|
2046
|
+
chapter?: number;
|
|
2047
|
+
}
|
|
1936
2048
|
interface InitProjectInput {
|
|
1937
2049
|
title: string;
|
|
1938
2050
|
genre: NovelProject['genre'];
|
|
@@ -2151,6 +2263,10 @@ declare class EngineService {
|
|
|
2151
2263
|
private readonly briefContextCache;
|
|
2152
2264
|
/** The 15s panel poll reuses the heavy book projection until revision/damage changes. */
|
|
2153
2265
|
private readonly panelCache;
|
|
2266
|
+
/** Section-level cache; writes bump revision, so a stale entry cannot survive a commit. */
|
|
2267
|
+
private readonly sectionCache;
|
|
2268
|
+
private readonly journalCache;
|
|
2269
|
+
private readonly reviewKeyCache;
|
|
2154
2270
|
private readonly briefs;
|
|
2155
2271
|
private readonly now;
|
|
2156
2272
|
private readonly metadataMutex;
|
|
@@ -2298,6 +2414,7 @@ declare class EngineService {
|
|
|
2298
2414
|
}): Promise<OpResult<{
|
|
2299
2415
|
stage: Stage;
|
|
2300
2416
|
chapter: number;
|
|
2417
|
+
progress: ChapterProgress;
|
|
2301
2418
|
tool: string;
|
|
2302
2419
|
args: Record<string, unknown>;
|
|
2303
2420
|
reason: string;
|
|
@@ -2400,6 +2517,21 @@ declare class EngineService {
|
|
|
2400
2517
|
panelGates(input?: {
|
|
2401
2518
|
root?: string;
|
|
2402
2519
|
}): Promise<PanelGatesDto>;
|
|
2520
|
+
/**
|
|
2521
|
+
* Additive v7 section read model. Catalog sections reuse the Snapshot; only
|
|
2522
|
+
* the quality section reads archived reviews, and only chapter/quality
|
|
2523
|
+
* detail reads manuscripts or check files. Every section is byte-capped.
|
|
2524
|
+
*/
|
|
2525
|
+
panelSection(input?: {
|
|
2526
|
+
root?: string;
|
|
2527
|
+
section: PanelSectionName;
|
|
2528
|
+
query?: PanelSectionQuery;
|
|
2529
|
+
}): Promise<PanelSectionMeta>;
|
|
2530
|
+
private panelSectionPage;
|
|
2531
|
+
private panelSectionReturned;
|
|
2532
|
+
/** WP3.7 free-text caps before the byte budget; both report truncation. */
|
|
2533
|
+
private panelSectionClip;
|
|
2534
|
+
private panelSectionBudget;
|
|
2403
2535
|
/**
|
|
2404
2536
|
* Build the read-only panel payload. The query root is accepted only when it
|
|
2405
2537
|
* is registered, active or the configured root; arbitrary paths never reach
|
|
@@ -2407,6 +2539,7 @@ declare class EngineService {
|
|
|
2407
2539
|
*/
|
|
2408
2540
|
panelBundle(input?: {
|
|
2409
2541
|
root?: string;
|
|
2542
|
+
lean?: boolean;
|
|
2410
2543
|
}): Promise<PanelBundle>;
|
|
2411
2544
|
/** Read-only resume text shared with the panel copy button. */
|
|
2412
2545
|
resumePrompt(input?: {
|
|
@@ -2419,6 +2552,8 @@ declare class EngineService {
|
|
|
2419
2552
|
root?: string;
|
|
2420
2553
|
}): Promise<{
|
|
2421
2554
|
totalWords: number;
|
|
2555
|
+
archivedWords: number;
|
|
2556
|
+
draftWords: number;
|
|
2422
2557
|
chapters: number;
|
|
2423
2558
|
revision: number;
|
|
2424
2559
|
rulepack: string;
|
|
@@ -2434,6 +2569,8 @@ declare class EngineService {
|
|
|
2434
2569
|
worldbookEntries: number;
|
|
2435
2570
|
strictOutline: boolean;
|
|
2436
2571
|
targetChapters: number | null;
|
|
2572
|
+
state_errors: StateError[];
|
|
2573
|
+
partial: boolean;
|
|
2437
2574
|
}>;
|
|
2438
2575
|
private registry;
|
|
2439
2576
|
/** List known projects with a cheap directory state for the panel/command. */
|
|
@@ -2586,6 +2723,8 @@ declare class EngineService {
|
|
|
2586
2723
|
*/
|
|
2587
2724
|
private assertArchiveIndexReadable;
|
|
2588
2725
|
private bookStatus;
|
|
2726
|
+
private panelReviewKey;
|
|
2727
|
+
private panelJournalIdentity;
|
|
2589
2728
|
private panelSnapshot;
|
|
2590
2729
|
/**
|
|
2591
2730
|
* The archive stage can be left by a direct revision (the 0.2.3 workflow) or
|
|
@@ -2673,6 +2812,8 @@ declare const PANEL_ID = "novel-workshop";
|
|
|
2673
2812
|
declare const PANEL_ROUTE = "/api/novel-write-engine/panel";
|
|
2674
2813
|
declare const SKILL_NAME = "novel-write-engine";
|
|
2675
2814
|
declare const REMOTE_VERSION = 6;
|
|
2815
|
+
/** User-visible panel/tutorial version; keep in sync with package.json. */
|
|
2816
|
+
declare const PANEL_VERSION = "0.2.9";
|
|
2676
2817
|
/** The panel is a recent-history view; the wire payload and UI use one cap. */
|
|
2677
2818
|
declare const PANEL_CHAPTER_LIMIT = 30;
|
|
2678
2819
|
/** Project-relative locations. Every write goes through these constants. */
|
|
@@ -2805,4 +2946,4 @@ declare const Config: Schema<Config>;
|
|
|
2805
2946
|
* created lazily per project root.
|
|
2806
2947
|
*/
|
|
2807
2948
|
declare function apply(ctx: Context, config: Config): void;
|
|
2808
|
-
export { ARCHIVE_DIGESTS_FILE, AdviceReport, ArchiveHandoff, AuditRow, BACKUP_DIR, BRIEF_RECEIPTS_FILE, BlockingItem, BookPlan, BookReport, BriefDocument, BriefLibrary, BriefReceipt, BriefReceiptsDocument, BriefStage, CHAPTERS_DIR, CHECK_DIR, CORE_TOOLS, ChapterCastMember, ChapterPlanInput, ChapterRecord, ChapterStatusRow, ChapterSummary, ChaptersDocument, CharacterDelta, CharactersDocument, CheckDocument, Config, DEFAULT_GENRE, DEFAULT_PLATFORM, Deduction, DeltaAction, DiffReport, DoctorCheck, DoctorReport, DraftInput, DraftState, ERROR_CODES, EXPORT_DIR, EngineBlockedError, EngineError, EngineFaultError, EngineInputError, EngineService, ErrorCode, ExportChapter, ExportKind, ForeshadowDelta, ForeshadowsDocument, GENRES, GateInput, GateOptions, GateResult, Genre, GuideReport, GuideStep, HISTORY_DIR, HISTORY_KINDS, HandoffDocument, HistoryKind, INITIAL_STAGE, LIMITS, LOCK_FILE, LocksDocument, METADATA_LOCK_FILE, MachineMetrics, NovelProject, OPERATIONS, OUTLINE_DEPRECATED_FILE, OUTLINE_DIR, OUTLINE_FILE, OpResult, Operation, OutlineChapter, OutlineDocument, OutlineProgress, OutlineVolume, PANEL_CHAPTER_LIMIT, PANEL_ID, PANEL_ROUTE, PHASE_STRIP, PLAN_DIR, PLATFORMS, PLUGIN_NAME, PROJECT_FILE, PanelBook, PanelBundle, PanelChapterRow, PanelChaptersDto, PanelDraft, PanelGatesDto, PanelMissing, PanelProjectOption, PanelSelection, PanelSnapshot, PanelSummaryDto, PipelineState, Platform, REGISTRY_FILE, REMOTE_VERSION, REVIEW_DIR, ReadingProof, ReadingProofReference, RelationshipDelta, RelationshipsDocument, ResumePromptInput, ReviewDocument, ReviewInput, ReviewIssue, RevisionEdit, RevisionInput, RevisionPatch, RoundCounters, SCENE_TYPES, SCENE_TYPE_DEFAULT, SCHEMA_VERSION, SESSION_BINDINGS_FILE, SKILL_NAME, STAGING_DIR, STATE_DIR, STATE_FILES, SceneType, ScoreDimension, SearchReport, SearchResultItem, Selection, SelectionSource, SemanticItem, Severity, Stage, StateDelta, StateError, StateErrorCode, StatusReport, TOOL_NAMES, TimelineDelta, TimelineDocument, ToolName, Violation, WORLDBOOK_FILE, Warning, WordMetrics, WorldDelta, WorldDocument, WorldPlanInput, WorldbookBackstory, WorldbookCharacter, WorldbookDocument, WorldbookFact, WorldbookFaction, WorldbookGlossary, WorldbookLocation, WorldbookRule, applicableGates, apply, blockedError, briefStageFor, chapterFile, chapterHeading, chapterHistoryFile, checkFile, checkHistoryFile, deprecatedChapterFile, deprecatedHistoryFile, evaluateGates, faultError, formatResumePrompt, gateName, inject, inputError, loadRulepack, name, parseParagraphLocation, phaseStrip, planChapterFile, planHistoryFile, planWorldFile, projectChapter, projectChapters, projectGates, projectSummary, renderBlurb, renderCover, renderEpubChapter, renderMarkdown, renderPlainText, renderProposal, reviewFile, reviewHistoryFile, verifyReference };
|
|
2949
|
+
export { ARCHIVE_DIGESTS_FILE, AdviceReport, ArchiveHandoff, ArchivedCardSnapshot, AuditRow, BACKUP_DIR, BRIEF_RECEIPTS_FILE, BlockingItem, BookPlan, BookReport, BriefDocument, BriefLibrary, BriefReceipt, BriefReceiptsDocument, BriefStage, CHAPTERS_DIR, CHECK_DIR, CORE_TOOLS, ChapterCastMember, ChapterPlanInput, ChapterProgress, ChapterProgressInput, ChapterRecord, ChapterStatusRow, ChapterSummary, ChaptersDocument, CharacterDelta, CharactersDocument, CheckDocument, Config, DEFAULT_GENRE, DEFAULT_PLATFORM, Deduction, DeltaAction, DiffReport, DoctorCheck, DoctorReport, DraftInput, DraftState, ERROR_CODES, EXPORT_DIR, EngineBlockedError, EngineError, EngineFaultError, EngineInputError, EngineService, ErrorCode, ExportChapter, ExportKind, ForeshadowDelta, ForeshadowsDocument, GENRES, GateInput, GateOptions, GateResult, Genre, GuideReport, GuideStep, HISTORY_DIR, HISTORY_KINDS, HandoffDocument, HistoryKind, INITIAL_STAGE, LIMITS, LOCK_FILE, LocksDocument, METADATA_LOCK_FILE, MachineMetrics, NovelProject, OPERATIONS, OUTLINE_DEPRECATED_FILE, OUTLINE_DIR, OUTLINE_FILE, OpResult, Operation, OutlineChapter, OutlineDocument, OutlineProgress, OutlineVolume, PANEL_CHAPTER_LIMIT, PANEL_ID, PANEL_ROUTE, PANEL_VERSION, PHASE_STRIP, PLAN_DIR, PLATFORMS, PLUGIN_NAME, PROJECT_FILE, PanelBook, PanelBundle, PanelChapterRow, PanelChaptersDto, PanelDraft, PanelGatesDto, PanelMissing, PanelProjectOption, PanelSectionMeta, PanelSectionName, PanelSelection, PanelSnapshot, PanelSummaryDto, PipelineState, Platform, REGISTRY_FILE, REMOTE_VERSION, REVIEW_DIR, ReadingProof, ReadingProofReference, RelationshipDelta, RelationshipsDocument, ResumePromptInput, ReviewDocument, ReviewInput, ReviewIssue, RevisionEdit, RevisionInput, RevisionPatch, RoundCounters, SCENE_TYPES, SCENE_TYPE_DEFAULT, SCHEMA_VERSION, SESSION_BINDINGS_FILE, SKILL_NAME, STAGING_DIR, STATE_DIR, STATE_FILES, SceneType, ScoreDimension, SearchReport, SearchResultItem, Selection, SelectionSource, SemanticItem, Severity, Stage, StateDelta, StateError, StateErrorCode, StatusReport, TOOL_NAMES, TimelineDelta, TimelineDocument, ToolName, Violation, WORLDBOOK_FILE, Warning, WordMetrics, WorldDelta, WorldDocument, WorldPlanInput, WorldbookBackstory, WorldbookCharacter, WorldbookDocument, WorldbookFact, WorldbookFaction, WorldbookGlossary, WorldbookLocation, WorldbookRule, applicableGates, apply, blockedError, briefStageFor, chapterFile, chapterHeading, chapterHistoryFile, checkFile, checkHistoryFile, deprecatedChapterFile, deprecatedHistoryFile, evaluateGates, faultError, formatResumePrompt, gateName, inject, inputError, loadRulepack, name, parseParagraphLocation, phaseStrip, planChapterFile, planHistoryFile, planWorldFile, projectChapter, projectChapterProgress, projectChapters, projectGates, projectSummary, renderBlurb, renderCover, renderEpubChapter, renderMarkdown, renderPlainText, renderProposal, reviewFile, reviewHistoryFile, verifyReference };
|