Class BowireHelpEndpoints

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

HTTP surface for the in-app help system (#154). Four endpoints:

  • GET /api/help/available — capability probe: did the host register an IBowireHelpProvider?
  • GET /api/help/topics — flat list of topic summaries for the drawer's topic tree.
  • GET /api/help/topic/{id} — full markdown body of one topic.
  • GET /api/help/search?q=... — ranked hits across all topics.

When no IBowireHelpProvider is in DI, the three content endpoints return 501 Not Implemented (distinct from 404 — "no provider installed" vs "topic missing"). The capability probe always answers 200 with { available: bool } so the workbench can gate UI affordances at boot in one round-trip.

public sealed class BowireHelpEndpoints : IBowireEndpointContribution
Inheritance
BowireHelpEndpoints
Implements
Inherited Members

Remarks

#311 — moved out of core beside the rail's JS. The 501 branch below is still reachable and still worth having: a host can reference this package without calling AddBowireHelp(), and then the routes exist but the provider does not. A host that never references the package gets 404 instead, which the boot probe in init.js already reads as "not available".

Constructors

BowireHelpEndpoints()

public BowireHelpEndpoints()

Methods

MapEndpoints(IEndpointRouteBuilder, string)

Map this contribution's endpoints. Called once per host startup from BowireApiEndpoints.MapBowire.

public void MapEndpoints(IEndpointRouteBuilder endpoints, string basePath)

Parameters

endpoints IEndpointRouteBuilder

The auth-gated IEndpointRouteBuilder group every workbench feature endpoint lives under.

basePath string

The URL fragment every route is anchored under (e.g. /bowire for embedded hosts, empty for the standalone CLI).