UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

81 lines (80 loc) • 3.46 kB
import { t as createSubsystemLogger } from "./subsystem-4NzR43uz.mjs"; import { d as resolveAgentWorkspaceDir, g as resolveDefaultAgentId } from "./agent-scope-config-BEk6-ThS.mjs"; import "./agent-scope-bJOokm5r.mjs"; import { d as resolveDiscoverableScopedChannelPluginIds, l as resolveConfiguredChannelPluginIds } from "./channel-presence-policy-CZfPoPKL.mjs"; import "./channel-plugin-ids-Dy16pCvQ.mjs"; import { t as applyPluginAutoEnable } from "./plugin-auto-enable-CSumsOf3.mjs"; import { n as loadPluginRegistryHandle } from "./loader-DD9YGElz.mjs"; import { t as ensureOnboardingPluginInstalled } from "./onboarding-plugin-install-BVOBlaa_.mjs"; import { t as getTrustedChannelPluginCatalogEntry } from "./trusted-catalog-DY-SJJII.mjs"; //#region src/commands/channel-setup/plugin-install.ts /** Install or reuse the plugin package required by a trusted channel catalog entry. */ async function ensureChannelSetupPluginInstalled(params) { const result = await ensureOnboardingPluginInstalled({ cfg: params.cfg, entry: { pluginId: params.entry.pluginId ?? params.entry.id, label: params.entry.meta.label, install: params.entry.install, ...params.entry.trustedSourceLinkedOfficialInstall ? { trustedSourceLinkedOfficialInstall: true } : {} }, prompter: params.prompter, runtime: params.runtime, workspaceDir: params.workspaceDir, ...params.promptInstall !== void 0 ? { promptInstall: params.promptInstall } : {}, ...params.autoConfirmSingleSource !== void 0 ? { autoConfirmSingleSource: params.autoConfirmSingleSource } : {}, ...params.beforePersistentEffect ? { beforePersistentEffect: params.beforePersistentEffect } : {} }); return { cfg: result.cfg, installed: result.installed, pluginId: result.pluginId, status: result.status }; } /** Load an inactive setup-plugin registry snapshot for resolving a channel without side effects. */ function loadChannelSetupPluginRegistrySnapshotForChannel(params) { let scopedPluginId = params.pluginId?.trim(); if (!scopedPluginId) { scopedPluginId = getTrustedChannelPluginCatalogEntry(params.channel, { cfg: params.cfg, workspaceDir: params.workspaceDir })?.pluginId; if (scopedPluginId == null) { const matches = resolveDiscoverableScopedChannelPluginIds({ config: params.cfg, channelIds: [params.channel], workspaceDir: params.workspaceDir, env: process.env }); scopedPluginId = matches.length === 1 ? matches[0] : void 0; } } const autoEnabled = applyPluginAutoEnable({ config: params.cfg, env: process.env }); const resolvedConfig = autoEnabled.config; const workspaceDir = params.workspaceDir ?? resolveAgentWorkspaceDir(resolvedConfig, resolveDefaultAgentId(resolvedConfig)); const onlyPluginIds = scopedPluginId ? [scopedPluginId] : resolveConfiguredChannelPluginIds({ config: resolvedConfig, activationSourceConfig: params.cfg, workspaceDir, env: process.env }); const log = createSubsystemLogger("plugins"); return loadPluginRegistryHandle({ config: resolvedConfig, activationSourceConfig: params.cfg, autoEnabledReasons: autoEnabled.autoEnabledReasons, workspaceDir, cache: false, logger: log, onlyPluginIds, includeSetupOnlyChannelPlugins: true, forceSetupOnlyChannelPlugins: params.forceSetupOnlyChannelPlugins, channelPluginLoadIntent: "setup" }); } //#endregion export { loadChannelSetupPluginRegistrySnapshotForChannel as n, ensureChannelSetupPluginInstalled as t };