Owns the cached registry catalog state and forwards listVersions / getPlugin
calls to the underlying PluginProvider. Lives on the PluginManager
(as manager.pluginRegistry) so consumers can reach it through the manager
without a separate capability lookup.
On construction the manager kicks off a background fetch via provider.listPlugins()
and writes the result into the plugins atom. Subscribers see loading: true
during the fetch and loading: false once it settles.
Owns the cached registry catalog state and forwards
listVersions/getPlugincalls to the underlying PluginProvider. Lives on thePluginManager(asmanager.pluginRegistry) so consumers can reach it through the manager without a separate capability lookup.On construction the manager kicks off a background fetch via
provider.listPlugins()and writes the result into the plugins atom. Subscribers seeloading: trueduring the fetch andloading: falseonce it settles.