Adds a provider whose plugins join the catalog, and reloads it.
The entry for id from the first provider that has it.
Optionalversion: stringLists every provider's plugins, merged as the catalog is.
Versions of id from the first provider that has it.
Reloads the catalog from every provider, in the background. A provider that fails contributes nothing and its error is surfaced on the atom, so one unreachable backend does not hide the others.
Removes a provider added with addProvider, dropping its plugins from the catalog.
Owns the cached registry catalog state and forwards
listVersions/getPlugincalls to its PluginProviders. Lives on thePluginManager(asmanager.pluginRegistry) so consumers can reach it through the manager without a separate capability lookup.The catalog is the union of every provider's plugins: the one given at construction (the public registry) and any added later with addProvider, such as the signed-in user's private plugins, which cannot be listed until an identity exists. A key listed by more than one provider resolves to the earliest.
On construction, and again on addProvider or refresh, the manager lists every provider and writes the merged result into the plugins atom. Subscribers see
loading: trueduring the fetch andloading: falseonce it settles.