Namespace Kuestenlogik.Bowire.Protocol.Rest
Classes
- BowireOpenApiAdapterRegistry
Runtime lookup for the registered IBowireOpenApiAdapter.
Adapter packages (e.g.
Kuestenlogik.Bowire.Protocol.Rest.OpenApi3) register themselves at module load via Register(IBowireOpenApiAdapter); when none has done so, TryGet() walks the loaded AppDomain assemblies looking for a public, non-abstract implementation of IBowireOpenApiAdapter and caches the first one it finds. Both paths support the same standalone / embedded shape — standalone Tool transitively pullsBowire.Protocol.Rest.OpenApi3so the discovery path resolves automatically; embedded hosts can wire their own adapter explicitly via Register(IBowireOpenApiAdapter) when they need to pin a differentMicrosoft.OpenApiline.
- BowireOpenApiDiscoveryResult
Cross-version discovery result. Carries the parsed Bowire service model plus enough metadata for the REST plugin's invocation / recording / schema-cache paths to do their job without seeing the underlying OpenAPI document object.
- BowireRestProtocol
Bowire protocol plugin for REST APIs. Discovers endpoints by fetching an OpenAPI 3 / Swagger document from the configured server URL, then exercises them via Kuestenlogik.Bowire.Protocol.Rest.RestInvoker. Auto-discovered by BowireProtocolRegistry.
- OpenApiDocumentBuilder
Inverse of the IBowireOpenApiAdapter's discovery path: emit an OpenAPI 3.0 document from a Bowire discovery result. Sibling to
AsyncApiDocumentBuilder— same pure-builder shape, no IO, no wire-plugin lookup. Lets the workbench, the CLI, or a future MCP tool turn a discovered REST surface back into a portable schema artefact teams can check into their docs repo or feed back into Bowire as a discovery source.
- OpenApiExportOptions
Output knobs for Build(string, IReadOnlyList<BowireServiceInfo>, BowireRecording?, OpenApiExportOptions?).
- RestProbeLog
Process-wide ring buffer of OpenAPI auto-probe events. Surfaces "which well-known path matched at <origin>" / "no OpenAPI doc found at <origin>" so the workbench (and the integration tests) can observe what the REST discovery plumbing tried without wiring a full ILogger pipeline through every protocol plugin. Bounded so a long-running tool doesn't grow this without limit.
- RestProbeLogEntry
One entry in the REST probe ring buffer.
Interfaces
- IBowireOpenApiAdapter
Seam between the REST protocol plugin and the OpenAPI parsing library. Bowire.Protocol.Rest itself has NO compile-time reference to
Microsoft.OpenApi; the actual parsing implementation lives in one of the optional adapter packages (Kuestenlogik.Bowire.Protocol.Rest.OpenApi3, future.OpenApi2), discovered at runtime via BowireOpenApiAdapterRegistry.
Enums
- OpenApiExportFormat
Output formats OpenApiDocumentBuilder can emit.
- RestProbeLogLevel
Severity bucket for RestProbeLogEntry.