854
855
async readSinglePluginManifest(repoDir: URI, reference: IMarketplaceReference): Promise<IMarketplacePlugin | undefined> {
857
>
// there's no synthetic relative-path source to fall back on.
858
>
if (reference.kind !== MarketplaceReferenceKind.GitHubShorthand && reference.kind !== MarketplaceReferenceKind.GitUri) {
859
return undefined;
860
}
862
>
const sourceDescriptor: IPluginSourceDescriptor = reference.kind === MarketplaceReferenceKind.GitHubShorthand
863
>
? { kind: PluginSourceKind.GitHub, repo: reference.githubRepo! }
864
: { kind: PluginSourceKind.GitUrl, url: reference.cloneUrl };
866
>
if (agentManifest) {
867
>
return {
868
>
name: agentManifest.name ?? reference.displayLabel,
869
>
description: agentManifest.description ?? '',
870
>
version: agentManifest.version ?? '',
871
>
source: '',
872
>
sourceDescriptor,
873
>
marketplace: reference.displayLabel,
874
>
marketplaceReference: reference,
875
>
marketplaceType: MarketplaceType.OpenPlugin,
876
>
};
877
>
}
878
879
for (const def of SINGLE_PLUGIN_MANIFEST_DEFINITIONS) {