import { type Capability, WidgetDriver } from 'matrix-widget-api'; import { filterWidgetCapabilities } from './widgetUtils'; // A minimal, conservative WidgetDriver for general room widgets. It only narrows // the capabilities a widget may hold (to a benign display-only subset — see // widgetUtils). All data-access methods (sendEvent / readRoomState / sendToDevice // / uploads …) are inherited from the base WidgetDriver and are never reached, // because the capabilities that would gate them are denied here. A richer, // consent-prompt-driven driver is a follow-up. export class GeneralWidgetDriver extends WidgetDriver { // eslint-disable-next-line class-methods-use-this public async validateCapabilities(requested: Set): Promise> { return filterWidgetCapabilities(requested); } }