Kitto.Chat.DocSearch
Deterministic help-chat provider (docsearch) that answers by searching the bundled KittoX documentation index and pointing to the matching published page. No API key, no network: it loads Resources/help/kittox-help.json (generated from the VitePress corpus by Tools/build_help_index.py) once, scores the user's terms against each page (title weighted higher than body) and returns the best page's summary plus a "read more" link to HelpChat/DocBaseUrl (default https://ethea.it/docs/kittox/). It is the base example engine for the help chat; a Claude/RAG provider can later reuse the same index.
TKXDocSearchProvider class
Answers from the local KittoX documentation index (name docsearch).
TKXHelpPage record
A documentation page returned by the shared search: title, absolute URL (base URL already joined) and one-line summary. Used both by the docsearch provider and by the Claude provider for RAG grounding.
Routines
function KXSearchHelpPages(const AQuery, AControllerType: string;Searches the bundled documentation index for the pages best matching AQuery (optionally biased by AControllerType, so a chat opened from a List/Form view surfaces the matching framework page), most relevant first, up to AMaxPages (<= 0 defaults to 3). Returns [] when the index is unavailable or nothing scores. Shared entry point for RAG grounding: the Claude provider injects these pages into the system prompt.
