LWT JavaScript API
    Preparing search index...

    Envelope returned by GET /books/{id}.

    The payload nests the book alongside its chapters, so the detail page needs only this one request — /books/{id}/chapters exists for callers that want the chapters alone.

    interface BookResponse {
        data?: { book: Book; chapters: BookChapter[] };
        error?: string;
        success: boolean;
    }
    Index
    data?: { book: Book; chapters: BookChapter[] }
    error?: string
    success: boolean