Interface IBowireHelpProvider

Namespace
Kuestenlogik.Bowire.Help
Assembly
Kuestenlogik.Bowire.dll

Contract for in-app documentation. The core ships no implementation; the separate Kuestenlogik.Bowire.Help NuGet package provides one over the embedded docs/ markdown set. Embedded ASP.NET hosts that don't need workbench docs simply don't reference that package and pay zero cost — the workbench renders Help affordances as disabled (see /api/help/available).

public interface IBowireHelpProvider

Remarks

Phase 1 ships the SPI + the four endpoints that surface it (/api/help/available, /api/help/topics, /api/help/topic/{id}, /api/help/search). When no implementation is registered the endpoints return HTTP 501 (Not Implemented) so the UI can distinguish "missing package" from "topic not found" (which is 404). Phase 2 builds the Kuestenlogik.Bowire.Help package; phase 3 wires the Help drawer + F1 binding; phases 4–5 cover distribution + cross-cutting integrations (AI lane, MCP tools).

Methods

GetTopic(string)

Look up a single topic by its stable id. Returns null when no topic matches — the endpoint surfaces that as 404.

HelpTopic? GetTopic(string id)

Parameters

id string

Returns

HelpTopic

ListTopics()

Enumerate every topic the provider can serve. The workbench's Help drawer renders this as a topic tree (grouped by CategoryId).

IReadOnlyList<HelpTopicSummary> ListTopics()

Returns

IReadOnlyList<HelpTopicSummary>

Search(string, int)

Free-text search across topic titles + bodies. Implementations own the ranking; the workbench just renders the order returned.

IReadOnlyList<HelpSearchHit> Search(string query, int limit = 20)

Parameters

query string

User input. Empty / whitespace returns an empty list.

limit int

Maximum number of hits to return (default 20).

Returns

IReadOnlyList<HelpSearchHit>