UNPKG

@comake/skl-js-engine

Version:

Standard Knowledge Language Javascript Engine

45 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.globalCustomCapabilities = exports.customCapabilities = void 0; // Global custom capabilities registry class GlobalCustomCapabilitiesRegistry { constructor() { this.customCapabilities = new Map(); } register(capabilityId, handler) { this.customCapabilities.set(capabilityId, handler); } unregister(capabilityId) { return this.customCapabilities.delete(capabilityId); } has(capabilityId) { return this.customCapabilities.has(capabilityId); } async execute(capabilityId, args, sklEngine, capabilityConfig) { const handler = this.customCapabilities.get(capabilityId); if (!handler) { throw new Error(`Custom capability '${capabilityId}' not found`); } return await handler(args, sklEngine, capabilityConfig); } getAll() { return [...this.customCapabilities.keys()]; } clear() { this.customCapabilities.clear(); } } // Global instance const globalCustomCapabilities = new GlobalCustomCapabilitiesRegistry(); exports.globalCustomCapabilities = globalCustomCapabilities; // Export functions for external use exports.customCapabilities = { register(capabilityId, handler) { globalCustomCapabilities.register(capabilityId, handler); }, unregister: (capabilityId) => globalCustomCapabilities.unregister(capabilityId), has: (capabilityId) => globalCustomCapabilities.has(capabilityId), getAll: () => globalCustomCapabilities.getAll(), clear: () => globalCustomCapabilities.clear() }; //# sourceMappingURL=customCapabilities.js.map