UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

69 lines (68 loc) 3.77 kB
import { r as resolveDurableWorkerProviderAutoEnabledReasons } from "./worker-provider-manifest-p8jUgDjU.js"; import { t as applyPluginAutoEnable } from "./plugin-auto-enable-Tv_C18cS.js"; import { a as formatPluginVerificationDiagnostic, i as findActiveDegradedPlugin } from "./runtime-degraded-state-B_-lbcPZ.js"; import { r as loadGatewayPlugins } from "./server-plugins-BMUM-t60.js"; import { t as primeConfiguredBindingRegistry } from "./configured-binding-registry-Cuw2WGgE.js"; import { t as mergeActivationSectionsIntoRuntimeConfig } from "./plugin-activation-runtime-config-BOxF5R5M.js"; //#region src/gateway/server-plugin-bootstrap.ts function logGatewayPluginDiagnostics(params) { for (const diag of params.diagnostics) { const degradedPlugin = diag.pluginId ? findActiveDegradedPlugin(diag.pluginId) : void 0; if (diag.code === "plugin-verification" && degradedPlugin && diag.message === formatPluginVerificationDiagnostic(degradedPlugin.diagnostic)) continue; const details = [diag.pluginId ? `plugin=${diag.pluginId}` : null, diag.source ? `source=${diag.source}` : null].filter((entry) => Boolean(entry)).join(", "); const message = details ? `[plugins] ${diag.message} (${details})` : `[plugins] ${diag.message}`; if (diag.level === "error") params.log.error(message); else params.log.warn(message); } } /** Prepares gateway plugin runtime and returns the loaded plugin registry state. */ function prepareGatewayPluginLoad(params) { const activationSourceConfig = params.activationSourceConfig ?? params.cfg; const autoEnabled = applyPluginAutoEnable({ config: activationSourceConfig, env: process.env, ...params.pluginLookUpTable?.manifestRegistry ? { manifestRegistry: params.pluginLookUpTable.manifestRegistry } : {}, discovery: params.pluginLookUpTable?.discovery, ambientEnvTriggers: params.ambientEnvTriggers }); const resolvedConfig = activationSourceConfig === params.cfg ? autoEnabled.config : mergeActivationSectionsIntoRuntimeConfig({ runtimeConfig: params.cfg, activationConfig: autoEnabled.config }); const durableReasons = params.pluginLookUpTable ? resolveDurableWorkerProviderAutoEnabledReasons(params.pluginLookUpTable.manifestRegistry, params.pluginLookUpTable.workerProviderIds) : {}; const autoEnabledReasons = { ...autoEnabled.autoEnabledReasons, ...durableReasons }; const loaded = loadGatewayPlugins({ cfg: resolvedConfig, activationSourceConfig, autoEnabledReasons, workspaceDir: params.workspaceDir, log: params.log, ...params.coreGatewayHandlers !== void 0 && { coreGatewayHandlers: params.coreGatewayHandlers }, ...params.coreGatewayMethodNames !== void 0 && { coreGatewayMethodNames: params.coreGatewayMethodNames }, ...params.hostServices !== void 0 && { hostServices: params.hostServices }, baseMethods: params.baseMethods, pluginIds: params.pluginIds, pluginLookUpTable: params.pluginLookUpTable, pluginMetadataSnapshot: params.pluginMetadataSnapshot, channelPluginLoadIntent: params.channelPluginLoadIntent ?? "full", suppressPluginInfoLogs: params.suppressPluginInfoLogs, startupTrace: params.startupTrace, ambientEnvTriggers: params.ambientEnvTriggers, ...params.resolveGatewayContext ? { resolveGatewayContext: params.resolveGatewayContext } : {} }); primeConfiguredBindingRegistry({ cfg: resolvedConfig }); if ((params.logDiagnostics ?? true) && loaded.pluginRegistry.diagnostics.length > 0) logGatewayPluginDiagnostics({ diagnostics: loaded.pluginRegistry.diagnostics, log: params.log }); return loaded; } /** Loads gateway plugins during normal gateway startup. */ function loadGatewayStartupPlugins(params) { return prepareGatewayPluginLoad(params); } //#endregion export { loadGatewayStartupPlugins, prepareGatewayPluginLoad };