Namespace Kuestenlogik.Bowire.Plugins

Classes

BowireDisabledPluginsStore

Process-wide, disk-persisted store of plugin ids that have been "unloaded" via the Settings → Plugins UI. Acts as the in-process extension of DisabledPlugins: the latter carries the host-startup baseline (appsettings.json / --disable-plugin CLI flag) which Bowire never rewrites because it has no general-purpose appsettings.json writer; this store carries the runtime layer that operators flip from the workbench UI.

BowireHiddenProtocolsStore

What each identity has chosen not to look at (#638).

BowireLintRailContribution

Rail contribution for the design-time Lint surface (#189). Adds a "Lint" icon to the rail strip in the quality group; the main pane (registered JS-side as lintMain) runs the discovered services through the shared BowireSchemaLinter via POST /api/lint and lists the findings — the browser twin of bowire lint. No sidebar (the findings live in the main pane), and it works without an active workspace, so it stays reachable at all times.

BowireModuleRegistry

Registry of discovered IBowireModuleContribution descriptors. Same discovery / override semantics as BowireRailRegistry, but scoped to cross-cutting modules (AI, Assistant, var-resolver, …).

BowirePluginRoot

The one answer to "which directories hold the installed plugins" (#549, then #28 Phase D).

BowirePluginSettingsScope

Which workspace the current call is being served for (#640).

BowirePluginSettingsStore

Reads and writes the values behind Settings (#640).

BowirePluginUpdateCheckOptions

Configuration for the periodic plugin update check. Off by default — outbound network calls are opt-in.

BowireRailRegistry

Registry of discovered IBowireRailContribution descriptors. Mirrors BowireProtocolRegistry's shape — scans loaded assemblies whose name starts with Kuestenlogik.Bowire for rail contributions, instantiates each (default ctor required), and exposes the sorted catalogue to BowireHtmlGenerator for transport to the JS bundle's BOWIRE_CONFIG.rails seed.

BowireReportRailContribution

#587 — the Rollup rail: one row per service across whatever Bowire reports the operator points it at. Sits in the quality group beside Lint and Contracts, because it is the same question asked one level up: those two answer "is this service healthy?", this one answers it for a portfolio.

PluginUpdateCheckHostedService

Periodically runs CheckAsync(bool, CancellationToken) when the operator has opted in via the Bowire:PluginUpdateCheck configuration section (bound to BowirePluginUpdateCheckOptions).

PluginUpdateCheckResult

One row in the update-check snapshot.

PluginUpdateCheckService

Reusable "check installed plugin versions against nuget.org" pipeline shared between the daily background check (PluginUpdateCheckHostedService) and the manual GET /api/plugins/check-updates endpoint.

PluginUpdateCheckSnapshot

Persisted shape of an update-check run.

Interfaces

IBowireEndpointContribution

Contract a Bowire-sibling package implements to splice extra ASP.NET endpoints into the workbench's auth-gated route group at MapBowire() time (#325, v2.1).

IBowireModuleContribution

Descriptor contributed by a package that wants to add a cross-cutting module (AI assistant, MCP bridge, variable resolver, guided tour, …) to the Bowire workbench.

IBowirePluginSettings

What a plugin's declared settings are actually set to (#640).

IBowireRailContribution

Descriptor contributed by a package that wants to add a rail (a left-strip activity-bar icon + its associated sidebar / main-pane view) to the Bowire workbench.

IBowireServiceContribution

Contract a Bowire-sibling package implements to register its services into the host's IServiceCollection at AddBowire() time (#325, v2.1).

Enums

BowirePluginTier

Which tier a plugin directory belongs to (#28 Phase D).