claude-novel-writer 0.1.1 → 0.2.0
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/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +103 -1
- package/README.md +30 -19
- package/commands/novel.md +14 -1
- package/dist/ai/generation-manager.d.ts +33 -1
- package/dist/ai/generation-manager.d.ts.map +1 -1
- package/dist/ai/generation-manager.js +163 -12
- package/dist/ai/generation-manager.js.map +1 -1
- package/dist/analysis/entity-extractor.d.ts +113 -0
- package/dist/analysis/entity-extractor.d.ts.map +1 -0
- package/dist/analysis/entity-extractor.js +347 -0
- package/dist/analysis/entity-extractor.js.map +1 -0
- package/dist/analysis/hook-analyzer.d.ts +63 -0
- package/dist/analysis/hook-analyzer.d.ts.map +1 -0
- package/dist/analysis/hook-analyzer.js +232 -0
- package/dist/analysis/hook-analyzer.js.map +1 -0
- package/dist/analysis/prose-fixer.d.ts +84 -0
- package/dist/analysis/prose-fixer.d.ts.map +1 -0
- package/dist/analysis/prose-fixer.js +296 -0
- package/dist/analysis/prose-fixer.js.map +1 -0
- package/dist/analysis/severity.d.ts +62 -0
- package/dist/analysis/severity.d.ts.map +1 -0
- package/dist/analysis/severity.js +157 -0
- package/dist/analysis/severity.js.map +1 -0
- package/dist/analysis/theme-analyzer.d.ts +102 -0
- package/dist/analysis/theme-analyzer.d.ts.map +1 -0
- package/dist/analysis/theme-analyzer.js +215 -0
- package/dist/analysis/theme-analyzer.js.map +1 -0
- package/dist/analysis/tts.d.ts +50 -0
- package/dist/analysis/tts.d.ts.map +1 -0
- package/dist/analysis/tts.js +245 -0
- package/dist/analysis/tts.js.map +1 -0
- package/dist/analysis/voice-analyzer.d.ts +100 -0
- package/dist/analysis/voice-analyzer.d.ts.map +1 -0
- package/dist/analysis/voice-analyzer.js +234 -0
- package/dist/analysis/voice-analyzer.js.map +1 -0
- package/dist/builders/character-builder.d.ts.map +1 -1
- package/dist/builders/character-builder.js +15 -6
- package/dist/builders/character-builder.js.map +1 -1
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +27 -0
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/extract.d.ts +10 -0
- package/dist/cli/commands/extract.d.ts.map +1 -0
- package/dist/cli/commands/extract.js +28 -0
- package/dist/cli/commands/extract.js.map +1 -0
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +32 -0
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/help.d.ts.map +1 -1
- package/dist/cli/commands/help.js +15 -1
- package/dist/cli/commands/help.js.map +1 -1
- package/dist/cli/commands/readaloud.d.ts +9 -0
- package/dist/cli/commands/readaloud.d.ts.map +1 -0
- package/dist/cli/commands/readaloud.js +31 -0
- package/dist/cli/commands/readaloud.js.map +1 -0
- package/dist/cli/commands/report.d.ts +10 -0
- package/dist/cli/commands/report.d.ts.map +1 -0
- package/dist/cli/commands/report.js +17 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/revise.d.ts +11 -0
- package/dist/cli/commands/revise.d.ts.map +1 -0
- package/dist/cli/commands/revise.js +52 -0
- package/dist/cli/commands/revise.js.map +1 -0
- package/dist/cli/commands/structure.d.ts +10 -0
- package/dist/cli/commands/structure.d.ts.map +1 -0
- package/dist/cli/commands/structure.js +60 -0
- package/dist/cli/commands/structure.js.map +1 -0
- package/dist/cli/commands/theme.d.ts +10 -0
- package/dist/cli/commands/theme.d.ts.map +1 -0
- package/dist/cli/commands/theme.js +71 -0
- package/dist/cli/commands/theme.js.map +1 -0
- package/dist/cli/handlers/analyze-handler.d.ts.map +1 -1
- package/dist/cli/handlers/analyze-handler.js +182 -5
- package/dist/cli/handlers/analyze-handler.js.map +1 -1
- package/dist/cli/handlers/context-handler.js +41 -15
- package/dist/cli/handlers/context-handler.js.map +1 -1
- package/dist/cli/handlers/create-handler.js +6 -7
- package/dist/cli/handlers/create-handler.js.map +1 -1
- package/dist/cli/handlers/extract-handler.d.ts +11 -0
- package/dist/cli/handlers/extract-handler.d.ts.map +1 -0
- package/dist/cli/handlers/extract-handler.js +129 -0
- package/dist/cli/handlers/extract-handler.js.map +1 -0
- package/dist/cli/handlers/generate-handler.d.ts.map +1 -1
- package/dist/cli/handlers/generate-handler.js +135 -1
- package/dist/cli/handlers/generate-handler.js.map +1 -1
- package/dist/cli/handlers/help-handler.d.ts +3 -2
- package/dist/cli/handlers/help-handler.d.ts.map +1 -1
- package/dist/cli/handlers/help-handler.js +54 -4
- package/dist/cli/handlers/help-handler.js.map +1 -1
- package/dist/cli/handlers/location-handler.js +7 -0
- package/dist/cli/handlers/location-handler.js.map +1 -1
- package/dist/cli/handlers/readaloud-handler.d.ts +13 -0
- package/dist/cli/handlers/readaloud-handler.d.ts.map +1 -0
- package/dist/cli/handlers/readaloud-handler.js +133 -0
- package/dist/cli/handlers/readaloud-handler.js.map +1 -0
- package/dist/cli/handlers/report-handler.d.ts +19 -0
- package/dist/cli/handlers/report-handler.d.ts.map +1 -0
- package/dist/cli/handlers/report-handler.js +236 -0
- package/dist/cli/handlers/report-handler.js.map +1 -0
- package/dist/cli/handlers/revise-handler.d.ts +21 -0
- package/dist/cli/handlers/revise-handler.d.ts.map +1 -0
- package/dist/cli/handlers/revise-handler.js +153 -0
- package/dist/cli/handlers/revise-handler.js.map +1 -0
- package/dist/cli/handlers/scene-handler.js +6 -6
- package/dist/cli/handlers/scene-handler.js.map +1 -1
- package/dist/cli/handlers/session-handler.js +6 -2
- package/dist/cli/handlers/session-handler.js.map +1 -1
- package/dist/cli/handlers/structure-handler.d.ts +12 -0
- package/dist/cli/handlers/structure-handler.d.ts.map +1 -0
- package/dist/cli/handlers/structure-handler.js +217 -0
- package/dist/cli/handlers/structure-handler.js.map +1 -0
- package/dist/cli/handlers/theme-handler.d.ts +11 -0
- package/dist/cli/handlers/theme-handler.d.ts.map +1 -0
- package/dist/cli/handlers/theme-handler.js +172 -0
- package/dist/cli/handlers/theme-handler.js.map +1 -0
- package/dist/cli/handlers/timeline-handler.js +9 -0
- package/dist/cli/handlers/timeline-handler.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +14 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +17 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/consistency/checker.d.ts.map +1 -1
- package/dist/consistency/checker.js +17 -1
- package/dist/consistency/checker.js.map +1 -1
- package/dist/core/database.d.ts +6 -0
- package/dist/core/database.d.ts.map +1 -1
- package/dist/core/database.js +9 -0
- package/dist/core/database.js.map +1 -1
- package/dist/data/features.d.ts +7 -1
- package/dist/data/features.d.ts.map +1 -1
- package/dist/data/features.js +47 -1
- package/dist/data/features.js.map +1 -1
- package/dist/data/structure-templates.d.ts +115 -0
- package/dist/data/structure-templates.d.ts.map +1 -0
- package/dist/data/structure-templates.js +175 -0
- package/dist/data/structure-templates.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -1
- package/dist/sync/chapter-sync.d.ts +3 -3
- package/dist/sync/chapter-sync.d.ts.map +1 -1
- package/dist/sync/chapter-sync.js +6 -27
- package/dist/sync/chapter-sync.js.map +1 -1
- package/dist/sync/world-rules-sync.d.ts.map +1 -1
- package/dist/sync/world-rules-sync.js +14 -2
- package/dist/sync/world-rules-sync.js.map +1 -1
- package/dist/types/novel.d.ts +9 -0
- package/dist/types/novel.d.ts.map +1 -1
- package/dist/types/novel.js.map +1 -1
- package/mcp-server/launch.js +68 -45
- package/mcp-server/novel-tools/dist/index.d.ts +71 -3
- package/mcp-server/novel-tools/dist/index.js +150 -104
- package/package.json +2 -2
- package/skills/novel-analyze.md +36 -2
- package/skills/novel-generate.md +19 -3
- package/mcp-server/novel-tools/dist/handlers.d.ts +0 -42
- package/mcp-server/novel-tools/dist/handlers.js +0 -820
- package/mcp-server/novel-tools/dist/tools.d.ts +0 -852
- package/mcp-server/novel-tools/dist/tools.js +0 -898
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,107 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.2.0] - 2026-06-28
|
|
11
|
+
|
|
12
|
+
### Changed (MCP server — passthrough rewrite)
|
|
13
|
+
- The `novel-tools` MCP server was a parallel, hand-written set of ~40 tools
|
|
14
|
+
that had drifted badly behind the CLI and was broken against the current
|
|
15
|
+
schema (it queried a non-existent `projects.project_path` column and a
|
|
16
|
+
`novel.db` file the app never creates). It is replaced by a **single `novel`
|
|
17
|
+
passthrough tool** that runs any CLI command in a project and returns its
|
|
18
|
+
output. The CLI's `CommandRegistry` is now the single source of truth, so the
|
|
19
|
+
MCP surface can never drift again — the tool's description points callers at
|
|
20
|
+
`help` / `help <command>` to discover the live command + argument list.
|
|
21
|
+
(`mcp-server/novel-tools/`: `handlers.ts` + `tools.ts` removed; `index.ts`
|
|
22
|
+
rewritten; `launch.js` refactored for testability.)
|
|
23
|
+
|
|
24
|
+
### Fixed (correctness bugs surfaced by coverage work)
|
|
25
|
+
- **`session`, `location`, and `timeline` commands were non-functional** on a
|
|
26
|
+
real project: each handler built a `NovelWriterExtension` but never resolved
|
|
27
|
+
the project id, so every DB operation threw "Project ID not set" (timeline was
|
|
28
|
+
entirely broken; session start/end/stats and progress always failed). All
|
|
29
|
+
three now call `loadProjectId()`. (BUGS.md CLI-02)
|
|
30
|
+
- **`/novel foreshadow` was unreachable** — the command and its handler existed
|
|
31
|
+
and were tested, but the command was never registered in the CLI registry.
|
|
32
|
+
Now registered. (BUGS.md CLI-03)
|
|
33
|
+
- **`check characters` / `check timeline` / `check plot-threads` silently
|
|
34
|
+
reported no issues** (and `check list` showed `[undefined]` badges) — the
|
|
35
|
+
handlers read camelCase fields off raw snake_case rows; `getOpenIssues()` now
|
|
36
|
+
maps to the typed `ConsistencyIssue` shape. (BUGS.md CHECK-01/02)
|
|
37
|
+
- **`generate next-sentence` always failed** — it queried `scenes.content` /
|
|
38
|
+
`scenes.project_id`, which don't exist; now reads the scene's chapter summary
|
|
39
|
+
via a valid join. (BUGS.md SQL-04)
|
|
40
|
+
- **`world-rule established` could throw an FK violation** — a chapter *number*
|
|
41
|
+
was written into the `established_chapter_id` (FK → `chapters.id`); both sync
|
|
42
|
+
directions now resolve number↔id. (BUGS.md SQL-05)
|
|
43
|
+
- **Character files with a quote in an attribute** (e.g. `height: 5'9"`) produced
|
|
44
|
+
invalid YAML that broke sync — values are now escaped. (BUGS.md DATA-01)
|
|
45
|
+
- `--tension 0` / `--mood 0` no longer bypass range validation. (BUGS.md VAL-01)
|
|
46
|
+
- `scene-handler` resolves the real project id instead of hardcoding 1. (BUGS.md ROBUST-01)
|
|
47
|
+
|
|
48
|
+
### Added (v0.2.0 craft features — round 2)
|
|
49
|
+
- **`novel revise <chapter> [--apply <categories>|--all]`** — diff-gated
|
|
50
|
+
mechanical prose fixes (doubled words, redundant intensifiers, adverb dialogue
|
|
51
|
+
tags, straight→curly quotes, multiple/trailing whitespace). Dry-run preview by
|
|
52
|
+
default; applies only the categories you opt into. Distinct from `revision`
|
|
53
|
+
(snapshots).
|
|
54
|
+
- **`novel structure list|apply <template>|status`** — story-structure beat
|
|
55
|
+
templates (three-act, Save the Cat, Hero's Journey) mapped to word-count
|
|
56
|
+
positions; `status` compares the applied plan against drafted word count.
|
|
57
|
+
- **`novel theme add|list|trace`** — register themes + motif words and trace
|
|
58
|
+
motif density across chapters (sparkline, gaps, spikes). Deterministic.
|
|
59
|
+
- **`novel analyze hook [--chapter N]`** — deterministic opening-line
|
|
60
|
+
hook-strength scorer (0–100) across six signals with advisory suggestions.
|
|
61
|
+
- **Advisory severity grading** — `analyze prose|sentences|dialogue` now grade
|
|
62
|
+
flags as info/suggestion/warning relative to `style-targets.yml` (with an
|
|
63
|
+
optional `allow:` list and softened wording); `--strict` restores hard flagging.
|
|
64
|
+
- **`novel help --json`** — machine-readable JSON schema of the whole CLI (or a
|
|
65
|
+
single command), so tooling/agents can introspect commands + flags without
|
|
66
|
+
parsing prose.
|
|
67
|
+
|
|
68
|
+
### Tests & coverage
|
|
69
|
+
- Removed `tests/e2e/gothic-horror-live.test.ts` (hardcoded to a personal
|
|
70
|
+
absolute path; unrunnable elsewhere).
|
|
71
|
+
- Coverage scope corrected (excludes built `dist/`, `examples/`, config files).
|
|
72
|
+
- Comprehensive in-process handler tests added: **CLI at 96.6% statements**
|
|
73
|
+
(every handler ≥90% except session-handler at 88%), **mcp-server at 93.9%**,
|
|
74
|
+
project total 91.7% — up from a 55.5% project baseline. Suite: 2,445 tests.
|
|
75
|
+
- Six additional latent bugs documented in `BUGS.md` (CHECK-01/02, SQL-04/05,
|
|
76
|
+
DATA-01, VAL-01, ROBUST-01) for follow-up.
|
|
77
|
+
|
|
78
|
+
### Fixed (Tier-0 correctness)
|
|
79
|
+
- `create chapter` now syncs the new chapter to the database and auto-numbers it
|
|
80
|
+
(was: never synced, hardcoded chapter 1) — chapters are immediately visible to
|
|
81
|
+
analysis/context/consistency.
|
|
82
|
+
- The CLI resolves the real project id from the database instead of hardcoding 1.
|
|
83
|
+
- `context build` is wired to the ContextPolicyEngine (was a stub) — assembles
|
|
84
|
+
and renders real context blocks.
|
|
85
|
+
- Chapter summaries moved out of the deterministic sync layer (which wrote a
|
|
86
|
+
placeholder) into the generation layer: `generate summary --chapter N`
|
|
87
|
+
produces a ≤5-sentence summary via Claude, using the API when
|
|
88
|
+
`ANTHROPIC_API_KEY` is set and otherwise the Claude Code session (passthrough).
|
|
89
|
+
|
|
90
|
+
### Added (v0.2.0 craft features)
|
|
91
|
+
- **`novel report`** — one-screen manuscript-health dashboard: tension sparkline,
|
|
92
|
+
open plot threads, unresolved/overdue promises, scenes missing a purpose,
|
|
93
|
+
chapters off their style targets, and total `[TK]` markers. Read-only.
|
|
94
|
+
- **`novel readaloud`** — actually speaks a chapter/scene/text via the OS TTS
|
|
95
|
+
engine (Windows SAPI, macOS `say`, Linux espeak/spd-say); `--out` writes audio.
|
|
96
|
+
- **`novel analyze voice`** — manuscript-wide character-voice analysis: flags
|
|
97
|
+
voices that sound too alike and voices that drift across chapters.
|
|
98
|
+
- **`novel extract --chapter N`** — discovery-writer path: scans drafted prose
|
|
99
|
+
for new character/location candidates and proposes ready-to-run create commands.
|
|
100
|
+
- **`novel extract --file <path>`** — runs the same discovery scan over any
|
|
101
|
+
prose file (e.g. a freeform outline), so a planner can bootstrap structured
|
|
102
|
+
`characters/` / `plots/` entities before drafting begins.
|
|
103
|
+
- **`novel generate overview`** — summary of the **intended** book, assembled
|
|
104
|
+
from the planned outline (plot threads + their beats) and the character
|
|
105
|
+
roster (unlike `synopsis`, which summarizes drafted chapters). Works
|
|
106
|
+
pre-draft; `--length brief|standard|full`, `--save` writes
|
|
107
|
+
`export/overview.md`. Uses the API when `ANTHROPIC_API_KEY` is set, otherwise
|
|
108
|
+
the Claude Code session (passthrough). Emits a guidance warning — pointing at
|
|
109
|
+
`extract --file` — when no cast or outline exists yet.
|
|
110
|
+
|
|
10
111
|
## [0.1.1] - 2026-06-26
|
|
11
112
|
|
|
12
113
|
### Changed
|
|
@@ -142,6 +243,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
142
243
|
- `generate`, `idea`, `knowledge`, `canon`, `promise`, `context`, `graph`
|
|
143
244
|
- `revision`, `draft`, `analyze`, `research`, `beta`, `query`, `series`, `help`
|
|
144
245
|
|
|
145
|
-
[Unreleased]: https://github.com/mrskwiw/claude-novel-writer/compare/v0.
|
|
246
|
+
[Unreleased]: https://github.com/mrskwiw/claude-novel-writer/compare/v0.2.0...HEAD
|
|
247
|
+
[0.2.0]: https://github.com/mrskwiw/claude-novel-writer/compare/v0.1.1...v0.2.0
|
|
146
248
|
[0.1.1]: https://github.com/mrskwiw/claude-novel-writer/compare/v0.1.0...v0.1.1
|
|
147
249
|
[0.1.0]: https://github.com/mrskwiw/claude-novel-writer/releases/tag/v0.1.0
|
package/README.md
CHANGED
|
@@ -8,19 +8,36 @@ A [Claude Code](https://claude.ai/code) plugin for AI-assisted novel writing. Ma
|
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
|
+
Two alternate methods — both install the same plugin globally, so use whichever you prefer:
|
|
12
|
+
|
|
11
13
|
```bash
|
|
14
|
+
# via npm
|
|
12
15
|
npm install -g claude-novel-writer
|
|
13
16
|
```
|
|
14
17
|
|
|
18
|
+
```bash
|
|
19
|
+
# via Claude Code's plugin manager
|
|
20
|
+
claude plugin install claude-novel-writer
|
|
21
|
+
```
|
|
22
|
+
|
|
15
23
|
Claude Code detects the extension automatically after installation. Restart Claude Code, then:
|
|
16
24
|
|
|
17
25
|
```
|
|
18
26
|
/novel help
|
|
19
27
|
```
|
|
20
28
|
|
|
29
|
+
### Local install (development / testing)
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
git clone https://github.com/mrskwiw/claude-novel-writer.git
|
|
33
|
+
cd claude-novel-writer/project
|
|
34
|
+
npm install && npm run build
|
|
35
|
+
claude --plugin-dir .
|
|
36
|
+
```
|
|
37
|
+
|
|
21
38
|
## How it works
|
|
22
39
|
|
|
23
|
-
Once installed, the plugin loads
|
|
40
|
+
Once installed, the plugin loads five skills into Claude's context. Claude reads the skill descriptions and **invokes them automatically** based on what you say — you don't need to remember command names.
|
|
24
41
|
|
|
25
42
|
- Say *"I want to write a novel"* in a blank folder → Claude initializes the project
|
|
26
43
|
- Say *"check my manuscript for inconsistencies"* → Claude runs consistency checks
|
|
@@ -36,23 +53,6 @@ When you want direct control, use the `/novel` slash command or the `novel-write
|
|
|
36
53
|
- pandoc (optional — for DOCX/EPUB/PDF export)
|
|
37
54
|
- `ANTHROPIC_API_KEY` (required for AI generation commands only)
|
|
38
55
|
|
|
39
|
-
## Installation
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
claude plugin install claude-novel-writer
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Restart Claude Code after installing.
|
|
46
|
-
|
|
47
|
-
### Local install (development / testing)
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
git clone https://github.com/mrskwiw/claude-novel-writer.git
|
|
51
|
-
cd claude-novel-writer/project
|
|
52
|
-
npm install && npm run build
|
|
53
|
-
claude --plugin-dir .
|
|
54
|
-
```
|
|
55
|
-
|
|
56
56
|
## Starting a new novel
|
|
57
57
|
|
|
58
58
|
Open an empty folder in Claude Code and just say what you want:
|
|
@@ -148,8 +148,17 @@ All commands are available as `/novel <command>` (slash command) or `novel-write
|
|
|
148
148
|
| `analyze pacing` | Tension arc, POV balance, chapter length distribution |
|
|
149
149
|
| `analyze copy` | POV slips, tense shifts, name variant detection |
|
|
150
150
|
| `analyze developmental` | Scene purpose audit, subplot balance, plot holes |
|
|
151
|
+
| `analyze style` | Grade prose against this project's `style-targets.yml` (`--chapter N` / `--all`) |
|
|
152
|
+
| `analyze voice` | Manuscript-wide voice analysis: flag too-similar voices and voices that drift |
|
|
153
|
+
| `analyze hook` | Score a chapter's opening-line hook strength (0–100) across six signals (`--chapter N`) |
|
|
154
|
+
| `revise <chapter>` | Diff-gated mechanical prose fixes — dry-run by default; `--apply <categories>` / `--all` |
|
|
155
|
+
| `structure apply\|status` | Beat templates (three-act / Save the Cat / Hero's Journey) vs word-count positions |
|
|
156
|
+
| `theme add\|list\|trace` | Register themes + motifs and trace motif density across chapters |
|
|
157
|
+
| `report` | One-screen manuscript-health dashboard (tension, threads, promises, `[TK]`s) |
|
|
158
|
+
| `readaloud` | Speak a chapter/scene/text aloud via the OS TTS engine (`--out` writes audio) |
|
|
159
|
+
| `extract --chapter N` | Scan drafted prose for new character/location candidates (or `--file outline.md` to bootstrap from a freeform outline) |
|
|
151
160
|
| `draft scan` | Find `[TK]`, `[TODO]`, `[CHECK]`, `[FIXME]` markers |
|
|
152
|
-
| `draft readaloud` | Rhythm analysis, accidental rhyme detection |
|
|
161
|
+
| `draft readaloud` | Rhythm analysis, accidental rhyme detection (text prep, not audio) |
|
|
153
162
|
|
|
154
163
|
### AI generation
|
|
155
164
|
|
|
@@ -165,6 +174,8 @@ Requires `ANTHROPIC_API_KEY`.
|
|
|
165
174
|
| `generate comps` | Comparable titles |
|
|
166
175
|
| `generate character --id N` | Full character profile |
|
|
167
176
|
| `generate name` | Character or place name suggestions |
|
|
177
|
+
| `generate summary --chapter N` | ≤5-sentence chapter summary (API, or via the Claude Code session) |
|
|
178
|
+
| `generate overview` | Summary of the **intended** book from the planned outline + cast (pre-draft; `--length brief\|standard\|full`) |
|
|
168
179
|
|
|
169
180
|
### Research
|
|
170
181
|
|
package/commands/novel.md
CHANGED
|
@@ -44,9 +44,22 @@ Pass any arguments directly to the CLI. Common examples:
|
|
|
44
44
|
- `novel-writer list characters` — list all characters
|
|
45
45
|
- `novel-writer list chapters` — list chapters with word counts
|
|
46
46
|
- `novel-writer check` — run all consistency checks
|
|
47
|
-
- `novel-writer
|
|
47
|
+
- `novel-writer report` — one-screen manuscript-health dashboard
|
|
48
|
+
- `novel-writer analyze prose` — prose economy and style analysis (advisory; add `--strict` for hard flags)
|
|
48
49
|
- `novel-writer analyze pacing` — tension arc and POV balance
|
|
50
|
+
- `novel-writer analyze hook --chapter 1` — score a chapter's opening-line hook strength
|
|
51
|
+
- `novel-writer revise 1 --apply doubled-words,trailing-whitespace` — diff-gated mechanical fixes (dry-run by default)
|
|
52
|
+
- `novel-writer structure apply three-act` / `structure status` — beat templates vs word-count positions
|
|
53
|
+
- `novel-writer theme add --name "isolation" --motifs "cold,mirror,silence"` / `theme trace` — motif density
|
|
54
|
+
- `novel-writer help --json` — machine-readable schema of every command + flag
|
|
55
|
+
- `novel-writer analyze style --all` — grade prose against the project's style-targets.yml
|
|
56
|
+
- `novel-writer analyze voice` — flag too-similar / drifting character voices
|
|
57
|
+
- `novel-writer extract --chapter 1` — propose new characters/locations from drafted prose
|
|
58
|
+
- `novel-writer extract --file outline.md` — bootstrap characters/locations from a freeform outline
|
|
59
|
+
- `novel-writer readaloud --chapter 1` — speak a chapter aloud via the OS TTS engine
|
|
49
60
|
- `novel-writer generate scene --scene-id 1` — AI scene continuation
|
|
61
|
+
- `novel-writer generate overview` — summarize the intended book from the planned outline + cast
|
|
62
|
+
- `novel-writer generate summary --chapter 1` — ≤5-sentence chapter summary
|
|
50
63
|
- `novel-writer research verify` — scan for [VERIFY:] markers
|
|
51
64
|
- `novel-writer export markdown` — export assembled manuscript
|
|
52
65
|
- `novel-writer help` — full command list
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Philosophy: Suggest, don't dictate. Support the author's voice.
|
|
6
6
|
*/
|
|
7
7
|
import type { MCPClient } from '../core/database.js';
|
|
8
|
-
import type { SynopsisContext, SynopsisLength } from '../types/novel.js';
|
|
8
|
+
import type { SynopsisContext, SynopsisLength, OverviewLength } from '../types/novel.js';
|
|
9
9
|
export interface CharacterProfileRow {
|
|
10
10
|
name: string;
|
|
11
11
|
role?: string;
|
|
@@ -52,6 +52,38 @@ export declare class GenerationManager {
|
|
|
52
52
|
private claude;
|
|
53
53
|
private contextAssembler;
|
|
54
54
|
constructor(mcpClient: MCPClient, projectId: number);
|
|
55
|
+
/**
|
|
56
|
+
* Summarize a chapter in up to 5 sentences for story-context memory.
|
|
57
|
+
*
|
|
58
|
+
* Routes through `IClaudeClient`, so it works two ways automatically:
|
|
59
|
+
* - With ANTHROPIC_API_KEY → the API returns the summary text.
|
|
60
|
+
* - Without a key → PassthroughClaudeClient returns the assembled PROMPT and
|
|
61
|
+
* `passthrough: true`; the Claude Code session that ran the command does the
|
|
62
|
+
* summarizing. Either way the caller persists the result to the chapter's
|
|
63
|
+
* `summary:` frontmatter.
|
|
64
|
+
*
|
|
65
|
+
* @param chapterText - chapter prose (frontmatter/markup already stripped)
|
|
66
|
+
* @param title - optional chapter title, for prompt context
|
|
67
|
+
*/
|
|
68
|
+
generateChapterSummary(chapterText: string, title?: string): Promise<{
|
|
69
|
+
content: string;
|
|
70
|
+
passthrough: boolean;
|
|
71
|
+
}>;
|
|
72
|
+
/**
|
|
73
|
+
* Summarize the book the author INTENDS to write, from their planning data:
|
|
74
|
+
* the outline (plot threads + their beats), the character roster, and any hard
|
|
75
|
+
* world rules. Unlike `generateSynopsis` — which reads drafted chapter
|
|
76
|
+
* summaries — this works pre-draft and describes the *planned* book.
|
|
77
|
+
*
|
|
78
|
+
* Routes through `IClaudeClient`: with ANTHROPIC_API_KEY the API returns the
|
|
79
|
+
* prose; without a key the PassthroughClaudeClient returns the assembled
|
|
80
|
+
* PROMPT and the Claude Code session writes the summary. Returns a `warnings`
|
|
81
|
+
* entry (and empty content) when there is no outline or cast to summarize.
|
|
82
|
+
*
|
|
83
|
+
* @param projectId - Project identifier (string form accepted by callers)
|
|
84
|
+
* @param length - 'brief' (~150w), 'standard' (~350w), or 'full' (~700w)
|
|
85
|
+
*/
|
|
86
|
+
generateOverview(projectId: string, length?: OverviewLength): Promise<GenerationResult>;
|
|
55
87
|
/**
|
|
56
88
|
* Generate character profile from description.
|
|
57
89
|
* When options.count > 1, instructs Claude to return that many distinct profile options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-manager.d.ts","sourceRoot":"","sources":["../../src/ai/generation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAgB,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"generation-manager.d.ts","sourceRoot":"","sources":["../../src/ai/generation-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,162 @@ export class GenerationManager {
|
|
|
22
22
|
: new PassthroughClaudeClient();
|
|
23
23
|
this.contextAssembler = new SceneContextAssembler(mcpClient, projectId);
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Summarize a chapter in up to 5 sentences for story-context memory.
|
|
27
|
+
*
|
|
28
|
+
* Routes through `IClaudeClient`, so it works two ways automatically:
|
|
29
|
+
* - With ANTHROPIC_API_KEY → the API returns the summary text.
|
|
30
|
+
* - Without a key → PassthroughClaudeClient returns the assembled PROMPT and
|
|
31
|
+
* `passthrough: true`; the Claude Code session that ran the command does the
|
|
32
|
+
* summarizing. Either way the caller persists the result to the chapter's
|
|
33
|
+
* `summary:` frontmatter.
|
|
34
|
+
*
|
|
35
|
+
* @param chapterText - chapter prose (frontmatter/markup already stripped)
|
|
36
|
+
* @param title - optional chapter title, for prompt context
|
|
37
|
+
*/
|
|
38
|
+
async generateChapterSummary(chapterText, title) {
|
|
39
|
+
const heading = title ? `Chapter: "${title}"` : 'Chapter';
|
|
40
|
+
const prompt = [
|
|
41
|
+
'Summarize the following chapter in NO MORE THAN 5 sentences, for use as',
|
|
42
|
+
'story-context memory. Capture the key events and what changes by the',
|
|
43
|
+
"chapter's end — not just the opening atmosphere. Write plain prose.",
|
|
44
|
+
'Output ONLY the summary: no preamble, labels, headings, or quotation marks.',
|
|
45
|
+
'',
|
|
46
|
+
heading,
|
|
47
|
+
'---',
|
|
48
|
+
chapterText.trim(),
|
|
49
|
+
].join('\n');
|
|
50
|
+
const response = await this.claude.generateStructured(prompt, {
|
|
51
|
+
temperature: 0.3,
|
|
52
|
+
maxTokens: 400,
|
|
53
|
+
});
|
|
54
|
+
return { content: response.content, passthrough: Boolean(response.passthrough) };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Summarize the book the author INTENDS to write, from their planning data:
|
|
58
|
+
* the outline (plot threads + their beats), the character roster, and any hard
|
|
59
|
+
* world rules. Unlike `generateSynopsis` — which reads drafted chapter
|
|
60
|
+
* summaries — this works pre-draft and describes the *planned* book.
|
|
61
|
+
*
|
|
62
|
+
* Routes through `IClaudeClient`: with ANTHROPIC_API_KEY the API returns the
|
|
63
|
+
* prose; without a key the PassthroughClaudeClient returns the assembled
|
|
64
|
+
* PROMPT and the Claude Code session writes the summary. Returns a `warnings`
|
|
65
|
+
* entry (and empty content) when there is no outline or cast to summarize.
|
|
66
|
+
*
|
|
67
|
+
* @param projectId - Project identifier (string form accepted by callers)
|
|
68
|
+
* @param length - 'brief' (~150w), 'standard' (~350w), or 'full' (~700w)
|
|
69
|
+
*/
|
|
70
|
+
async generateOverview(projectId, length = 'standard') {
|
|
71
|
+
const id = Number(projectId) || this.projectId;
|
|
72
|
+
// Project header.
|
|
73
|
+
const projectRows = await this.mcpClient.readQuery('SELECT title, genre, target_word_count, current_phase FROM projects WHERE id = ?', [id]);
|
|
74
|
+
const project = projectRows[0] ?? {};
|
|
75
|
+
// Full cast, ordered by narrative importance then name.
|
|
76
|
+
const characters = await this.mcpClient.readQuery(`SELECT name, role, summary, voice_notes FROM characters WHERE project_id = ?
|
|
77
|
+
ORDER BY CASE role
|
|
78
|
+
WHEN 'protagonist' THEN 0 WHEN 'antagonist' THEN 1
|
|
79
|
+
WHEN 'major' THEN 2 WHEN 'minor' THEN 3 ELSE 4 END, name`, [id]);
|
|
80
|
+
// The outline: plot threads (highest priority first) with their beats.
|
|
81
|
+
const threadRows = await this.mcpClient.readQuery(`SELECT id, thread_name, thread_type, description, status, priority
|
|
82
|
+
FROM plot_threads WHERE project_id = ?
|
|
83
|
+
ORDER BY COALESCE(priority, 0) DESC, id`, [id]);
|
|
84
|
+
const threads = [];
|
|
85
|
+
for (const t of threadRows) {
|
|
86
|
+
const beats = await this.mcpClient.readQuery(`SELECT beat_type, description FROM plot_beats
|
|
87
|
+
WHERE plot_thread_id = ? ORDER BY beat_order`, [t.id]);
|
|
88
|
+
threads.push({
|
|
89
|
+
thread_name: t.thread_name,
|
|
90
|
+
thread_type: t.thread_type,
|
|
91
|
+
description: t.description,
|
|
92
|
+
status: t.status,
|
|
93
|
+
beats,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
// Hard world rules (up to 8).
|
|
97
|
+
const worldRules = await this.mcpClient.readQuery('SELECT rule_name, description FROM world_rules WHERE project_id = ? AND is_hard_rule = 1 LIMIT 8', [id]);
|
|
98
|
+
// Nothing planned yet → tell the caller how to bootstrap.
|
|
99
|
+
if (characters.length === 0 && threads.length === 0) {
|
|
100
|
+
return {
|
|
101
|
+
content: '',
|
|
102
|
+
alternatives: [],
|
|
103
|
+
warnings: [
|
|
104
|
+
'No characters or plot threads found. Populate characters/ and plots/ ' +
|
|
105
|
+
'(then run `novel sync`) before generating an overview. To bootstrap ' +
|
|
106
|
+
'from a prose outline, try `novel extract --file outline.md`.',
|
|
107
|
+
],
|
|
108
|
+
reasoning: 'Overview needs at least one character or plot thread.',
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
// ── Assemble readable planning blocks for the prompt. ──
|
|
112
|
+
const castBlock = characters.length
|
|
113
|
+
? characters
|
|
114
|
+
.map((c) => {
|
|
115
|
+
const role = c.role ? ` [${c.role}]` : '';
|
|
116
|
+
const essence = c.summary ? ` — ${c.summary}` : '';
|
|
117
|
+
const voice = c.voice_notes ? ` (voice: ${c.voice_notes})` : '';
|
|
118
|
+
return ` • ${c.name}${role}${essence}${voice}`;
|
|
119
|
+
})
|
|
120
|
+
.join('\n')
|
|
121
|
+
: ' (No characters defined yet)';
|
|
122
|
+
const outlineBlock = threads.length
|
|
123
|
+
? threads
|
|
124
|
+
.map((t) => {
|
|
125
|
+
const meta = [t.thread_type, t.status].filter(Boolean).join(', ');
|
|
126
|
+
const head = ` ▸ ${t.thread_name}${meta ? ` (${meta})` : ''}`;
|
|
127
|
+
const desc = t.description ? `\n ${t.description}` : '';
|
|
128
|
+
const beats = t.beats.length
|
|
129
|
+
? '\n' +
|
|
130
|
+
t.beats
|
|
131
|
+
.map((b) => ` - ${b.beat_type ? `[${b.beat_type}] ` : ''}${b.description ?? ''}`.trimEnd())
|
|
132
|
+
.join('\n')
|
|
133
|
+
: '';
|
|
134
|
+
return `${head}${desc}${beats}`;
|
|
135
|
+
})
|
|
136
|
+
.join('\n')
|
|
137
|
+
: ' (No plot threads defined yet)';
|
|
138
|
+
const rulesBlock = worldRules.length
|
|
139
|
+
? worldRules
|
|
140
|
+
.map((r) => ` • ${r.rule_name}${r.description ? `: ${r.description}` : ''}`)
|
|
141
|
+
.join('\n')
|
|
142
|
+
: '';
|
|
143
|
+
const lengthGuide = {
|
|
144
|
+
brief: '~150 words — a single tight paragraph: premise, protagonist, central conflict, and stakes.',
|
|
145
|
+
standard: '~350 words — premise, the main characters and what drives them, the through-line of the plot, and where it is heading.',
|
|
146
|
+
full: "~700 words — a planning treatment: premise, the full cast and their roles, each major thread and how they interweave, the world's hard rules, and the intended arc.",
|
|
147
|
+
};
|
|
148
|
+
const target = project.target_word_count
|
|
149
|
+
? `${project.target_word_count.toLocaleString()} words`
|
|
150
|
+
: 'length TBD';
|
|
151
|
+
const prompt = [
|
|
152
|
+
'You are helping a novelist articulate the book they INTEND to write, from their planning notes.',
|
|
153
|
+
"This is a planning summary for the author's own use — NOT a marketing blurb or submission synopsis.",
|
|
154
|
+
'Describe the intended book in clear prose. Where the notes are sparse, summarize only what is given;',
|
|
155
|
+
'do NOT invent plot the author has not planned. Output ONLY the summary prose: no headings or preamble.',
|
|
156
|
+
'',
|
|
157
|
+
`TITLE: ${project.title ?? 'Untitled'}`,
|
|
158
|
+
`GENRE: ${project.genre ?? 'Fiction'}`,
|
|
159
|
+
`TARGET: ${target}${project.current_phase ? ` · phase: ${project.current_phase}` : ''}`,
|
|
160
|
+
'',
|
|
161
|
+
'CAST:',
|
|
162
|
+
castBlock,
|
|
163
|
+
'',
|
|
164
|
+
'OUTLINE (plot threads and beats):',
|
|
165
|
+
outlineBlock,
|
|
166
|
+
...(rulesBlock ? ['', 'HARD WORLD RULES:', rulesBlock] : []),
|
|
167
|
+
'',
|
|
168
|
+
`TASK: Write a summary of the intended book — ${lengthGuide[length]}`,
|
|
169
|
+
].join('\n');
|
|
170
|
+
const response = await this.claude.generateStructured(prompt, {
|
|
171
|
+
temperature: 0.5,
|
|
172
|
+
maxTokens: length === 'full' ? 1300 : length === 'standard' ? 700 : 350,
|
|
173
|
+
});
|
|
174
|
+
return {
|
|
175
|
+
content: response.content,
|
|
176
|
+
alternatives: [],
|
|
177
|
+
reasoning: `Overview assembled from ${characters.length} character(s) and ${threads.length} plot thread(s)` +
|
|
178
|
+
(response.passthrough ? ' — written below by this session (no API key set).' : '.'),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
25
181
|
/**
|
|
26
182
|
* Generate character profile from description.
|
|
27
183
|
* When options.count > 1, instructs Claude to return that many distinct profile options,
|
|
@@ -474,18 +630,13 @@ Remember: The author knows where their story wants to go.
|
|
|
474
630
|
* @param options - Optional generation configuration
|
|
475
631
|
*/
|
|
476
632
|
async generateNextSentence(projectId, sceneId, options = {}) {
|
|
477
|
-
//
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
WHERE s.id = ? AND ch.project_id = ?`, [sceneId, this.projectId]);
|
|
485
|
-
sceneContent = chapterRows.length > 0 && chapterRows[0].summary
|
|
486
|
-
? chapterRows[0].summary
|
|
487
|
-
: '';
|
|
488
|
-
}
|
|
633
|
+
// Scene prose lives in the chapter Markdown files, not the database (the
|
|
634
|
+
// `scenes` table has no `content` column), so use the scene's chapter
|
|
635
|
+
// summary as the available context for continuation.
|
|
636
|
+
const chapterRows = await this.mcpClient.readQuery(`SELECT ch.summary FROM scenes s
|
|
637
|
+
JOIN chapters ch ON ch.id = s.chapter_id
|
|
638
|
+
WHERE s.id = ? AND ch.project_id = ?`, [sceneId, this.projectId]);
|
|
639
|
+
const sceneContent = chapterRows.length > 0 && chapterRows[0].summary ? chapterRows[0].summary : '';
|
|
489
640
|
// Take last 500 words
|
|
490
641
|
const words = sceneContent.trim().split(/\s+/).filter(w => w.length > 0);
|
|
491
642
|
const last500 = words.slice(-500).join(' ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-manager.js","sourceRoot":"","sources":["../../src/ai/generation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAuB,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAsB,MAAM,oBAAoB,CAAC;AA4C/F;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAKlB;IACA;IALF,MAAM,CAAgB;IACtB,gBAAgB,CAAwB;IAEhD,YACU,SAAoB,EACpB,SAAiB;QADjB,cAAS,GAAT,SAAS,CAAW;QACpB,cAAS,GAAT,SAAS,CAAQ;QAEzB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,EAAE;YACvC,CAAC,CAAC,IAAI,YAAY,EAAE;YACpB,CAAC,CAAC,IAAI,uBAAuB,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,WAAmB,EACnB,UAA6B,EAAE;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpD,IAAI,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,eAAe,KAAK,oEAAoE,CAAC;QACrG,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,kDAAkD;YAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxF,gDAAgD;YAChD,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY;YACZ,SAAS,EAAE,2EAA2E;SACvF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,UAA6B,EAAE;QAE/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,8CAA8C;SAC1D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB,CAC5B,WAAmB,EACnB,OAAe,EACf,UAA6B,EAAE;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEjF,MAAM,WAAW,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAChF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CACvF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;YAC7B,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACpD,SAAS,EAAE,qDAAqD;YAChE,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,aAAqB,EACrB,UAA6B,EAAE;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,4CAA4C;QAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1F,MAAM,WAAW,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAChF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CACvF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;YAC7B,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACpD,SAAS,EAAE,qBAAqB,aAAa,+BAA+B;SAC7E,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CACrB,IAAY,EACZ,GAAY,EACZ,UAA6B,EAAE;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5F,MAAM,WAAW,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAChF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CACvF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;YAC7B,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACpD,SAAS,EAAE,kEAAkE;SAC9E,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAC1B,UAAkB,EAClB,aAAqB,EACrB,UAA6B,EAAE;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QACjF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CACvF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;YAC7B,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACpD,SAAS,EAAE,iDAAiD;SAC7D,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,kBAAkB;IAClB,qDAAqD;IACrD,+DAA+D;IAEvD,oBAAoB,CAC1B,WAAmB,EACnB,OAA0B,EAC1B,OAA0B;QAE1B,OAAO;;;SAGF,OAAO,CAAC,KAAK,IAAI,iBAAiB;uBACpB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU;;;GAGxF,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCb,CAAC,IAAI,EAAE,CAAC;IACP,CAAC;IAEO,mBAAmB,CACzB,WAAmB,EACnB,OAA0B,EAC1B,OAA0B;QAE1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAE3G,OAAO;;;SAGF,OAAO,CAAC,KAAK,IAAI,iBAAiB;;EAEzC,UAAU;;;GAGT,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Bb,CAAC,IAAI,EAAE,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,WAAmB,EACnB,OAAqB,EACrB,OAA0B;QAE1B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,cAAc;YAChD,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACrE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,YAAY,EAAE,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC;QAE9F,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;aACvD,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAExB,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;aACrD,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAExB,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;aAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAExB,MAAM,aAAa,GAAG,OAAO,CAAC,sBAAsB;aACjD,KAAK,CAAC,CAAC,CAAC,CAAC;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEnD,OAAO;EACT,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;;;GAGhC,WAAW;;iBAEG,OAAO;WACb,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,IAAI,SAAS;YACpE,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS;;;EAG7C,kBAAkB;;;EAGlB,aAAa;;;EAGb,iBAAiB;;;EAGjB,aAAa;;;;;;;;;;;;;;;;;;CAkBd,CAAC,IAAI,EAAE,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,QAAgB,EAChB,SAAyC,EACzC,OAA0B;QAE1B,MAAM,QAAQ,GAAG,SAAS,EAAE,KAA4C,CAAC;QACzE,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAQ,CAAC,QAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACzH,MAAM,cAAc,GAAG,SAAS,EAAE,WAAkD,CAAC;QACrF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAE,cAAc,CAAC,MAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC/H,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,KAAK,GAAG,CAAC;YAChC,CAAC,CAAC,WAAW,KAAK,uEAAuE;YACzF,CAAC,CAAC,gFAAgF,CAAC;QAErF,OAAO;EACT,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;;aAEtB,SAAS,EAAE,IAAI,IAAI,SAAS;eAC1B,WAAW;kBACR,aAAa;;;GAG5B,QAAQ;;;;;;;;;;;EAWT,gBAAgB;CACjB,CAAC,IAAI,EAAE,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,IAAY,EACZ,GAAuB,EACvB,OAA0B;QAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEnD,MAAM,iBAAiB,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,KAAK,GAAG,CAAC;YAChC,CAAC,CAAC,WAAW,KAAK,sCAAsC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC;YAC5I,CAAC,CAAC,mDAAmD,CAAC;QAExD,OAAO;EACT,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;;iBAElB,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS;;GAE7C,IAAI;;;;;;;;;;;EAWL,gBAAgB;;;;;;;;CAQjB,CAAC,IAAI,EAAE,CAAC;IACP,CAAC;IAEO,eAAe,CACrB,UAA0C,EAC1C,OAA0B,EAC1B,OAA0B;QAE1B,OAAO;;;eAGI,UAAU,EAAE,IAAI,IAAI,SAAS;QACpC,UAAU,EAAE,IAAI,IAAI,SAAS;kBACnB,UAAU,EAAE,MAAM,IAAI,SAAS;;;;;;;;;;;;;;;;;;CAkBhD,CAAC,IAAI,EAAE,CAAC;IACP,CAAC;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAEvD,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC5C,6CAA6C,EAC7C,CAAC,IAAI,CAAC,SAAS,CAAC,CACjB,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC/C,+CAA+C,EAC/C,CAAC,IAAI,CAAC,SAAS,CAAC,CACjB,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC/C,gDAAgD,EAChD,CAAC,IAAI,CAAC,SAAS,CAAC,CACjB,CAAC;YAEF,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAA2B;gBAC9C,iBAAiB,EAAE,UAAmC;gBACtD,UAAU,EAAE,UAA4B;aACzC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,OAAwB;QAC1E,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC3C,oEAAoE,EACpE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CACvB,CAAC;YACF,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAY;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC3C,6EAA6E,EAC7E,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CACvB,CAAC;YACF,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,kBAAkB,CAC9B,SAAiB,EACjB,IAAY;QAEZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC3C,6FAA6F,EAC7F,CAAC,SAAS,EAAE,IAAI,CAAC,CAClB,CAAC;YACF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;gBAC1C,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;aACrC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,aAAa,CAAC,OAA0B;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,CACL,uBAAuB,OAAO,CAAC,GAAG,UAAU;YAC5C,gBAAgB,KAAK,CAAC,KAAK,IAAI;YAC/B,sBAAsB,KAAK,CAAC,WAAW,IAAI;YAC3C,qBAAqB,KAAK,CAAC,UAAU,IAAI;YACzC,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,OAAe,EACf,UAA6B,EAAE;QAE/B,iDAAiD;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CACzC,4DAA4D,EAC5D,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC;QAEF,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzF,6EAA6E;QAC7E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAChD;;8CAEsC,EACtC,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC;YACF,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO;gBAC7D,CAAC,CAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAkB;gBACpC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAED,sBAAsB;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG;;;EAGjB,OAAO,IAAI,sDAAsD;;yBAE1C,CAAC;QAEtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC1D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,oDAAoD;SAChE,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,uCAAuC;IACvC,+DAA+D;IAE/D;;;;;;;;OAQG;IACH,KAAK,CAAC,uBAAuB,CAAC,SAAiB;QAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;QAE/C,eAAe;QACf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAChD,mEAAmE,EACnE,CAAC,EAAE,CAAC,CACL,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC;QAElE,sFAAsF;QACtF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CACpD,+FAA+F,EAC/F,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,WAAW,GAAW,MAAM,CAAE,eAAe,CAAC,CAAC,CAA6B,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAClD,sEAAsE,EACtE,CAAC,EAAE,CAAC,CACL,CAAC;YACF,WAAW,GAAG,MAAM,CAAE,aAAa,CAAC,CAAC,CAA6B,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;QACzF,CAAC;QAED,aAAa;QACb,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CACnD,8FAA8F,EAC9F,CAAC,EAAE,CAAC,CACL,CAAC;QACF,MAAM,UAAU,GAAI,cAAc,CAAC,CAAC,CAA6B,EAAE,IAA0B,CAAC;QAE9F,oBAAoB;QACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAChD,kGAAkG,EAClG,CAAC,EAAE,CAAC,CACL,CAAC;QACF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,CAAC,cAAwB;YAClC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;SACjC,CAAC,CAAC,CAAC;QAEJ,yCAAyC;QACzC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAClD,kGAAkG,EAClG,CAAC,EAAE,CAAC,CACL,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjH,oCAAoC;QACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAChD,uGAAuG,EACvG,CAAC,EAAE,CAAC,CACL,CAAC;QACF,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAEjE,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QAElD,OAAO;YACL,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,UAAU,CAAW;YAC9C,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAW;YAC7C,SAAS,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAW;YACrD,WAAW;YACX,UAAU;YACV,YAAY;YACZ,gBAAgB;YAChB,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,MAAsB;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAE1D,MAAM,WAAW,GAAmC;YAClD,KAAK,EAAE,gEAAgE;YACvE,MAAM,EAAE,kGAAkG;YAC1G,IAAI,EAAE,oEAAoE;SAC3E,CAAC;QAEF,6DAA6D;QAC7D,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB;aACtC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;aAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,8BAA8B,CAAC;QAEhD,MAAM,MAAM,GAAG,sCAAsC,MAAM;;SAEtD,GAAG,CAAC,KAAK;SACT,GAAG,CAAC,KAAK;qBACG,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE;eACpC,GAAG,CAAC,WAAW;EAC5B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;iBACtC,GAAG,CAAC,YAAY;2BACN,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;eACjD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;;EAGhD,YAAY;;gBAEE,WAAW,CAAC,MAAM,CAAC;;+MAE4K,CAAC;QAE5M,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;SACtE,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,GAAG,MAAM,4BAA4B,GAAG,CAAC,gBAAgB,CAAC,MAAM,oBAAoB;SAChG,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,wCAAwC,GAAG,CAAC,KAAK;;;;WAIzD,GAAG,CAAC,KAAK;iBACH,GAAG,CAAC,WAAW;mBACb,GAAG,CAAC,YAAY;WACxB,GAAG,CAAC,KAAK;;8DAE0C,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,wDAAwD;SACpE,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,UAAqB;QAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAE1D,MAAM,SAAS,GAAG,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,wEAAwE,CAAC;QAE7E,MAAM,MAAM,GAAG;;;WAGR,GAAG,CAAC,KAAK;WACT,GAAG,CAAC,KAAK;gBACJ,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE;iBAC7B,GAAG,CAAC,WAAW;EAC9B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;mBACtC,GAAG,CAAC,YAAY;6BACN,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;0BACxC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;;EAG3D,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc;;;;;;kBAMxF,SAAS;;;;6EAIkD,CAAC;QAE1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,mEAAmE;SAC/E,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;QAEhG,MAAM,MAAM,GAAG,qEAAqE,GAAG,CAAC,KAAK,6BAA6B,MAAM;;;;;;;;4EAQxD,CAAC;QAEzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,6BAA6B,GAAG,CAAC,KAAK,iBAAiB,MAAM,EAAE;SAC3E,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,KAAc;QAEd,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhD,qEAAqE;QACrE,IAAI,KAAK,GAAG,UAAU,CAAC;QACvB,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,QAAQ,GAAG,SAAS,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAC1D,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAClB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAClB,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,SAAS,CAAC;YAC3C,QAAQ,GAAG,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;YAC9C,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;gBAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CACzC,gDAAgD,EAChD,CAAC,EAAE,CAAC,CACL,CAAC;gBACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;oBACxC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAC7C,+FAA+F,EAC/F,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CACtC,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,4DAA4D,CAAC;;SAEvE,KAAK;SACL,KAAK;eACC,WAAW;iBACT,QAAQ;;;;;;;;iKAQwI,CAAC;QAE9J,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC1D,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,GAAG,CAAC,0CAA0C,KAAK,MAAM,KAAK,GAAG;SAC7E,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,UAA6B,EAAE;QAE/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG;;;SAGd,OAAO,CAAC,KAAK,IAAI,iBAAiB;;sBAErB,MAAM;;;;;;;CAO3B,CAAC,IAAI,EAAE,CAAC;QAEL,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE;YAC9D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,mDAAmD;SAC/D,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,4BAA4B;IAC5B,+DAA+D;IAE/D;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,IAKlB;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QAEjC,MAAM,MAAM,GAAG,YAAY,KAAK,4CAA4C,OAAO,aAAa,MAAM,WAAW,IAAI,6HAA6H,CAAC;QAEnP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,aAAa,KAAK,IAAI,IAAI,2BAA2B,OAAO,aAAa,MAAM,GAAG;SAC9F,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,cAAsB;QAC7D,MAAM,MAAM,GAAG,uFAAuF,cAAc,gXAAgX,CAAC;QAEre,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,qDAAqD;SACjE,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAAC,OAI1B,EAAE;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;QAEnC,MAAM,MAAM,GAAG,2CAA2C,IAAI,SAAS,KAAK,kBAAkB,KAAK,mSAAmS,CAAC;QAEvY,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC5D,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,gCAAgC,IAAI,SAAS,KAAK,QAAQ;SACtE,CAAC;IACJ,CAAC;CAEF"}
|
|
1
|
+
{"version":3,"file":"generation-manager.js","sourceRoot":"","sources":["../../src/ai/generation-manager.ts"],"names":[],"mappings":"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"}
|