compendium-page-search
Full-text search inside JournalEntry compendium packs — matches page NAMES and page CONTENT. This is the tool for rules/lore text questions: compendium-search only sees document names in pack indexes, so rule pages, spell lists, and class write-ups are invisible to it. Requires bridge module 8.11.0+.
WHEN TO USE
"What does the grappled condition say?" → query: "grappled", pageTypes: ["rule"]
Find a class/subclass rules page, a spell list page, or any lore text
Locate which journal a phrase appears in
WORKFLOW
Each match carries the PAGE uuid — pass it to uuid-resolve for the full page text.
matchedIn tells what matched; name matches win (content is not scanned then) and their snippet is always null.
Content matches include a ~200-char plain-text snippet around the first hit.
SEMANTICS
Query is a case-insensitive substring.
Packs are scanned lazily in order until limit is reached; results are in scan order, unsorted.
Explicit unknown packIds error with "Pack not found: "; non-journal packs with "Compendium pack is not an JournalEntry pack: ".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max matches, default 25. Scanning stops once reached. | |
| query | Yes | Substring to find, case-insensitive. Matched against page names and (by default) page text content. | |
| packIds | No | Restrict to specific JournalEntry packs. Omit to search ALL journal packs in the world. | |
| pageTypes | No | Page subtypes to include, e.g. ["rule"], ["spells"], ["class","subclass"], ["text"]. Omit for all types. | |
| searchContent | No | Default true. Set false to match page NAMES only — much cheaper; use it when the page title is known. |