UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

35 lines (34 loc) • 1.52 kB
import { b as normalizePluginsConfigWithResolverCore, h as resolveMemorySlotDecision, v as resolvePluginActivationStateShared, w as hasKind } from "./config-state-Ba1MVBAI.mjs"; //#region src/plugins/plugin-root-contributions.ts /** Select active root contributions while leaving path validation and publication to consumers. */ function* iteratePluginRootContributions(params) { const normalizedPlugins = normalizePluginsConfigWithResolverCore(params.config?.plugins, params.metadataSnapshot.normalizePluginId); const memorySlot = normalizedPlugins.slots.memory; let selectedMemoryPluginId = null; for (const record of params.metadataSnapshot.manifestRegistry.plugins) { const roots = record[params.contribution]; if (!roots || roots.length === 0) continue; if (!resolvePluginActivationStateShared({ id: record.id, origin: record.origin, channelIds: record.channels, config: normalizedPlugins, rootConfig: params.config, ...params.contribution === "skills" ? { enabledByDefault: record.enabledByDefault } : {} }).activated || params.isAvailable && !params.isAvailable(record)) continue; const memoryDecision = resolveMemorySlotDecision({ id: record.id, kind: record.kind, slot: memorySlot, selectedId: selectedMemoryPluginId }); if (!memoryDecision.enabled) continue; if (memoryDecision.selected && hasKind(record.kind, "memory")) selectedMemoryPluginId = record.id; yield { record, roots }; } } //#endregion export { iteratePluginRootContributions as t };