refactor(plugins): reuse createEmptyPluginRegistry

This commit is contained in:
Peter Steinberger
2026-02-15 19:05:00 +00:00
parent 99fda7b920
commit c7b6d6a14e
2 changed files with 5 additions and 35 deletions

View File

@@ -1,6 +1,5 @@
import path from "node:path";
import type { CanvasHostServer } from "../canvas-host/server.js";
import type { PluginRegistry } from "../plugins/registry.js";
import type { PluginServicesHandle } from "../plugins/services.js";
import type { RuntimeEnv } from "../runtime.js";
import type { ControlUiRootState } from "./control-ui.js";
@@ -45,6 +44,7 @@ import { scheduleGatewayUpdateCheck } from "../infra/update-startup.js";
import { startDiagnosticHeartbeat, stopDiagnosticHeartbeat } from "../logging/diagnostic.js";
import { createSubsystemLogger, runtimeForLogger } from "../logging/subsystem.js";
import { getGlobalHookRunner, runGlobalGatewayStopSafely } from "../plugins/hook-runner-global.js";
import { createEmptyPluginRegistry } from "../plugins/registry.js";
import { getTotalQueueSize } from "../process/command-queue.js";
import { runOnboardingWizard } from "../wizard/onboarding.js";
import { createAuthRateLimiter, type AuthRateLimiter } from "./auth-rate-limit.js";
@@ -239,21 +239,7 @@ export async function startGatewayServer(
const defaultAgentId = resolveDefaultAgentId(cfgAtStart);
const defaultWorkspaceDir = resolveAgentWorkspaceDir(cfgAtStart, defaultAgentId);
const baseMethods = listGatewayMethods();
const emptyPluginRegistry: PluginRegistry = {
plugins: [],
tools: [],
hooks: [],
typedHooks: [],
channels: [],
providers: [],
gatewayHandlers: {},
httpHandlers: [],
httpRoutes: [],
cliRegistrars: [],
services: [],
commands: [],
diagnostics: [],
};
const emptyPluginRegistry = createEmptyPluginRegistry();
const { pluginRegistry, gatewayMethods: baseGatewayMethods } = minimalTestGateway
? { pluginRegistry: emptyPluginRegistry, gatewayMethods: baseMethods }
: loadGatewayPlugins({

View File

@@ -1,20 +1,4 @@
import type { PluginRegistry } from "./registry.js";
const createEmptyRegistry = (): PluginRegistry => ({
plugins: [],
tools: [],
hooks: [],
typedHooks: [],
channels: [],
providers: [],
gatewayHandlers: {},
httpHandlers: [],
httpRoutes: [],
cliRegistrars: [],
services: [],
commands: [],
diagnostics: [],
});
import { createEmptyPluginRegistry, type PluginRegistry } from "./registry.js";
const REGISTRY_STATE = Symbol.for("openclaw.pluginRegistryState");
@@ -29,7 +13,7 @@ const state: RegistryState = (() => {
};
if (!globalState[REGISTRY_STATE]) {
globalState[REGISTRY_STATE] = {
registry: createEmptyRegistry(),
registry: createEmptyPluginRegistry(),
key: null,
};
}
@@ -47,7 +31,7 @@ export function getActivePluginRegistry(): PluginRegistry | null {
export function requireActivePluginRegistry(): PluginRegistry {
if (!state.registry) {
state.registry = createEmptyRegistry();
state.registry = createEmptyPluginRegistry();
}
return state.registry;
}