Optional ReadonlyauthorOptional author or organisation responsible for this marketplace.
Optional ReadonlydescriptionOptional description of this marketplace.
ReadonlynameHuman-readable name of this marketplace.
ReadonlyurlURL of this marketplace (e.g. the registry base URL or manifest URL).
Return the ExtensionDescriptor for the Extension identified by the specified ExtensionEntry.
an ExtensionDescriptor instance.
Return a VersionedPluginDescriptor for a single named plugin, sourcing version and dependency metadata from the backing store without loading the plugin module. Implementations should perform a targeted lookup rather than scanning the full result of getPlugins.
the plugin ID to look up (as returned by VersionedPluginDescriptor.pluginId).
Optionalversion: string
an optional specific version to look up. Implementations that don't support
targeted version lookups may ignore this and return their default (e.g. latest) version;
callers needing an exact-version match should still compare the returned descriptor's
version field.
the matching VersionedPluginDescriptor, or undefined if not found.
Return a VersionedPluginDescriptor for each Plugin hosted in this repository, sourcing version and dependency metadata from the backing store.
an async iterable of VersionedPluginDescriptor instances.
Return an ExtensionEntry for each Extension hosted in the Plugin Repository which provides an Extension for the specified Extension Point.
the Extension Point for which to return ExtensionEntry instances.
an async iterable of ExtensionEntry instances for all matching Extensions.
Search for plugins in this marketplace matching the given query.
The fields searched are provider-defined. Implementations may accept an extended SearchQuery subtype to support additional filter criteria.
the search criteria.
an async iterable of matching VersionedPluginDescriptor instances.
Supply the FetchInterface to delegate fetch calls to.
MarketplacePluginRepository backed by an npm-compatible registry (e.g. npmjs.com).
Discovers plugins via the registry's
/-/v1/searchendpoint, filtering by a keyword matchingpackageJsonNamespace. Plugin metadata (extension points, dependencies, pluginData) is read from thepackageJsonNamespacekey in each package'spackage.json. Supports keyword-based search via NpmSearchQuery.Note: extensions cannot be instantiated directly from this repository — plugins must first be installed locally via NpmPluginInstaller.