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 pulls Bowire.Protocol.Rest.OpenApi3 so the discovery path resolves automatically; embedded hosts can wire their own adapter explicitly via Register(IBowireOpenApiAdapter) when they need to pin a different Microsoft.OpenApi line.

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.