File size: 740 Bytes
68d7816 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import { createDecorator, type ServiceIdentifier } from '#/_base/di/instantiation';
import type { Event } from '#/_base/event';
import type { CapabilityDescriptor, CapabilityInstallChange, CapabilityStatus } from './types';
export interface ICapabilityService {
readonly _serviceBrand: undefined;
readonly onDidChangeInstall: Event<CapabilityInstallChange>;
describeCapabilities(): readonly CapabilityDescriptor[];
listCapabilities(): Promise<readonly CapabilityStatus[]>;
getCapability(id: string): Promise<CapabilityStatus>;
installCapability(id: string): Promise<CapabilityStatus>;
}
export const ICapabilityService: ServiceIdentifier<ICapabilityService> =
createDecorator<ICapabilityService>('capabilityService');
|