- load-plugins: bundle once per source revision with an id index; loadPlugin(id)
loads one plugin (144 ms / 87 MB instead of ~15 s / 1.2 GB).
- fetch-novel: keep only the contiguous run of free chapters (no locked teasers).
- update-novels: append newly free chapters to our EPUBs without moving positions.
- find-novel --json for programs; shared EPUB pieces in epub.js.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- scripts/load-plugins.js: shared plugin loader for the novel CLI scripts
- scripts/fetch-novel.js: download a novel via its plugin into a clean EPUB 3
- find-novel prints the plugin id/path for each match
- kavita 1.0.1: innermost TOC entry names the chapter
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>