Class PluginPackageMap

Namespace
Kuestenlogik.Bowire.PluginLoading
Assembly
Kuestenlogik.Bowire.dll

Static lookup from a recording's lowercased protocol id ("grpc", "signalr", "socketio", …) to the canonical NuGet package id ("Kuestenlogik.Bowire.Protocol.Grpc", …).

Used by the bowire mock CLI to suggest install commands when a recording references a protocol whose plugin isn't loaded, and by the workbench's "missing plugin" modal for the same purpose.

The map is hardcoded on purpose: the whole reason we're guessing a package id is that the plugin isn't installed yet, so we can't read the manifest off disk. Adding a new first-party plugin means appending one line here.

public static class PluginPackageMap
Inheritance
PluginPackageMap
Inherited Members

Methods

Snapshot()

Snapshot of the full protocol-id → package-id catalogue. Used by the workbench's /api/plugins/protocols endpoint so the client can offer install commands for protocols Bowire knows about without duplicating the hardcoded list on the JS side.

public static IReadOnlyDictionary<string, string> Snapshot()

Returns

IReadOnlyDictionary<string, string>

TryGetPackageId(string)

Returns the NuGet package id Bowire ships under for the given protocol id, or null when the id isn't in Bowire's catalogue (a custom plugin we don't know about).

public static string? TryGetPackageId(string protocolId)

Parameters

protocolId string

Returns

string