Namespace Kuestenlogik.Bowire.Sources

Classes

BowireAgentCatalogueOverrideOptions

Core-side mirror of BowireAgentCatalogueOptions.

BowireCatalogueDocument

Top-level shape of a catalogue document. Matches the spec in #136 — providers that fetch JSON over the wire (local file, http, agent) deserialise into this record. Version defaults to 1 so payloads that omit the field stay parsable.

BowireCatalogueEntry

One row in a Bowire URL/service catalogue — a discoverable target surfaced by an IBowireCatalogueProvider (#136).

BowireCatalogueOptions

Configuration root for the catalogue-provider seam (#136). Bound from Bowire:Discovery:Catalogue by AddBowireCatalogue().

BowireCatalogueOverride

Wire shape for a UI-driven catalogue-provider override (#309). Sent by the Settings → Catalogue providers UI to POST /api/catalogue/config. Persists to ~/.bowire/catalogue-config.json so the override survives a process restart; absent file ⇒ appsettings.json fallback.

BowireCatalogueOverrideStore

File-backed override store. Reads / writes ~/.bowire/catalogue-config.json and hydrates the BowireCatalogueProviderAccessor on first construction.

BowireCatalogueProviderAccessor

Singleton wrapper around the resolved IBowireCatalogueProvider (or null when the host hasn't selected one). Lets DI hold a non-null reference even when no provider is configured — the endpoint reads Provider and treats null as "empty catalogue".

BowireCatalogueProviderRegistry

Assembly-scan registry for IBowireCatalogueProvider implementations — mirrors BowireProtocolRegistry and BowireAuthProviderRegistry. At most one provider is active per process; selection happens via Provider.

BowireCatalogueServiceCollectionExtensions

DI helpers for wiring an IBowireCatalogueProvider into the host (#136). Pair with AddBowire():

BowireConsulCatalogueOptions

Options for the built-in ConsulCatalogueProvider — a Consul agent URL the provider queries via the v1 catalogue API.

BowireHttpCatalogueOptions

Options for the built-in HttpCatalogueProvider — a remote URL that returns a BowireCatalogueDocument as JSON.

BowireKubernetesCatalogueOverrideOptions

Core-side mirror of BowireKubernetesCatalogueOptions — the Settings UI sends this shape; the override store forwards values to the actual provider via reflection.

BowireLocalCatalogueOptions

Options for the built-in LocalCatalogueProvider — the path to a JSON file on disk holding a BowireCatalogueDocument.

ConsulCatalogueProvider

Queries a HashiCorp Consul agent's v1 catalogue API (#136 Phase C) and materialises each registered service into a BowireCatalogueEntry. Bound to Bowire:Discovery:Catalogue:Consul via BowireConsulCatalogueOptions.

HttpCatalogueProvider

Fetches a BowireCatalogueDocument from a configured URL (#136 Phase B). Bound to Bowire:Discovery:Catalogue:Http via BowireHttpCatalogueOptions.

LocalCatalogueProvider

Reads catalogue entries from a JSON file on disk — the simplest of the built-in providers (#136 Phase A). The path comes from Path; when null the provider falls back to ~/.bowire/catalogue.json.

Interfaces

IBowireCatalogueProvider

Extension point for "where does Bowire's URL/service list come from" (#136) — sibling to IBowireProtocol (wire plugins) and IBowireAuthProvider (sign-in plugins). Today the workbench reads URLs from local config + the user-editable sidebar; a catalogue provider augments (or replaces) that source by reading from a service registry, a remote JSON document, or a Bowire-agent hub.

Enums

BowireCatalogueVisibility

Composition mode for catalogue entries vs. locally-entered URLs. Mirrors the Bowire:Discovery:UrlManagement tri-state from #92.