import { CommandHandlerDescriptor, IRegisterCommandItem, IRegisterTreeDataProviderItem, TreeDataProviderConstructor } from "./index.dto"; export const registerCommands = new Array<[string, IRegisterCommandItem]>(); export const registerTreeDataProviders = new Map>(); export function RegisterCommand(command: string, options?: any) { return function (target: any, propertyKey: string, descriptor: CommandHandlerDescriptor) { const handler = descriptor.value; if (handler) { registerCommands.push([command, { handler, target, propertyKey, options }]); } return descriptor; } } export function RegisterTreeDataProvider(providerId: string, options?: any) { return function (target: TreeDataProviderConstructor) { target.prototype.__openmcp_namespace = providerId; registerTreeDataProviders.set(providerId, { providerConstructor: target, options }); } }