Namespace Kuestenlogik.Bowire.Models

Classes

BowireDiscoveryAttempt

One protocol plugin's turn at a discovery probe (#534). The old attempts extension on the /api/services ProblemDetails body was a flat string[] that only listed the plugins which threw — a plugin that ran cleanly and returned nothing was invisible, which is the single most common "why is my sidebar empty?" case. Every probed plugin now contributes exactly one of these, whatever the result, so the UI, the CLI and an MCP agent can all answer "who tried what, and what came back?" from the same record.

BowireDiscoveryDiagnostic

What a protocol plugin has to say about a probe besides the services it returned (#544).

DiscoverAsync(string, bool, CancellationToken) is all-or-nothing: a plugin either returns a list or throws. A plugin whose probe half-worked — an MCP server with one malformed tool but perfectly good resources and prompts — therefore had to choose between hiding the fault (return the partial list) and hiding the results (throw). This record is the third option, handed back alongside the services through IBowireDiscoveryDiagnostics.

BowireEnumValue

Describes a single value within a protobuf enum type.

BowireFieldInfo

Describes a single field within a message. Originally modeled after protobuf, extended with an optional Source annotation so REST parameters from different locations (path, query, header, body) can share the same shape as protobuf fields.

BowireMessageInfo

Describes a protobuf message type with its fields.

BowireMethodInfo

Describes a single method within a service. Originally modeled after gRPC, extended with optional REST/HTTP annotations so the same shape can describe REST endpoints discovered from OpenAPI documents.

BowireServiceInfo

Describes a gRPC service discovered via reflection or proto file import.

Enums

BowireDiscoverySeverity

How a BowireDiscoveryDiagnostic is meant to be read. It is a C#-only axis: BowireDiscoveryProbe combines it with the service count to pick the Outcome string that actually reaches the wire.