From c9828635a8012b0df81806e736743ed472c1435e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 1 May 2026 09:50:38 +0100 Subject: [PATCH] refactor: trim unused extension helpers --- .../src/mattermost/monitor-helpers.ts | 49 +------------------ .../src/mattermost/monitor-websocket.ts | 11 ----- .../src/memory-tool-manager-mock.ts | 4 -- .../memory-wiki/src/source-path-shared.ts | 9 ---- extensions/qa-lab/src/scenario-flow-runner.ts | 5 -- extensions/xai/src/tool-auth-shared.ts | 10 ---- 6 files changed, 1 insertion(+), 87 deletions(-) diff --git a/extensions/mattermost/src/mattermost/monitor-helpers.ts b/extensions/mattermost/src/mattermost/monitor-helpers.ts index 54603e8e8ca..193f001f33e 100644 --- a/extensions/mattermost/src/mattermost/monitor-helpers.ts +++ b/extensions/mattermost/src/mattermost/monitor-helpers.ts @@ -1,10 +1,6 @@ import { formatInboundFromLabel as formatInboundFromLabelShared } from "openclaw/plugin-sdk/channel-inbound"; -import { createDedupeCache, type OpenClawConfig } from "openclaw/plugin-sdk/core"; +import { createDedupeCache } from "openclaw/plugin-sdk/core"; import { resolveThreadSessionKeys as resolveThreadSessionKeysShared } from "openclaw/plugin-sdk/routing"; -import { - normalizeLowercaseStringOrEmpty, - normalizeOptionalString, -} from "openclaw/plugin-sdk/text-runtime"; import { rawDataToString } from "openclaw/plugin-sdk/webhook-ingress"; export { createDedupeCache, rawDataToString }; @@ -17,51 +13,8 @@ export type ResponsePrefixContext = { identityName?: string; }; -export function extractShortModelName(fullModel: string): string { - const slash = fullModel.lastIndexOf("/"); - const modelPart = slash >= 0 ? fullModel.slice(slash + 1) : fullModel; - return modelPart.replace(/-\d{8}$/, "").replace(/-latest$/, ""); -} - export const formatInboundFromLabel = formatInboundFromLabelShared; -function normalizeAgentId(value: string | undefined | null): string { - const trimmed = (value ?? "").trim(); - if (!trimmed) { - return "main"; - } - if (/^[a-z0-9][a-z0-9_-]{0,63}$/i.test(trimmed)) { - return trimmed; - } - return ( - normalizeLowercaseStringOrEmpty(trimmed) - .replace(/[^a-z0-9_-]+/g, "-") - .replace(/^-+/, "") - .replace(/-+$/, "") - .slice(0, 64) || "main" - ); -} - -type AgentEntry = NonNullable["list"]>[number]; - -function isAgentEntry(entry: unknown): entry is AgentEntry { - return Boolean(entry && typeof entry === "object"); -} - -function listAgents(cfg: OpenClawConfig): AgentEntry[] { - return Array.isArray(cfg.agents?.list) ? cfg.agents.list.filter(isAgentEntry) : []; -} - -function resolveAgentEntry(cfg: OpenClawConfig, agentId: string): AgentEntry | undefined { - const id = normalizeAgentId(agentId); - return listAgents(cfg).find((entry) => normalizeAgentId(entry.id) === id); -} - -export function resolveIdentityName(cfg: OpenClawConfig, agentId: string): string | undefined { - const entry = resolveAgentEntry(cfg, agentId); - return normalizeOptionalString(entry?.identity?.name); -} - export function resolveThreadSessionKeys(params: { baseSessionKey: string; threadId?: string | null; diff --git a/extensions/mattermost/src/mattermost/monitor-websocket.ts b/extensions/mattermost/src/mattermost/monitor-websocket.ts index 168004f8bdc..725951b1f6d 100644 --- a/extensions/mattermost/src/mattermost/monitor-websocket.ts +++ b/extensions/mattermost/src/mattermost/monitor-websocket.ts @@ -132,17 +132,6 @@ export function parsePostedPayload( return { payload, post }; } -export function parsePostedEvent( - data: WebSocket.RawData, -): { payload: MattermostEventPayload; post: MattermostPost } | null { - const raw = rawDataToString(data); - const payload = parseMattermostEventPayload(raw); - if (!payload) { - return null; - } - return parsePostedPayload(payload); -} - export function createMattermostConnectOnce( opts: CreateMattermostConnectOnceOpts, ): () => Promise { diff --git a/extensions/memory-core/src/memory-tool-manager-mock.ts b/extensions/memory-core/src/memory-tool-manager-mock.ts index 95d56fb7d69..02b9033936b 100644 --- a/extensions/memory-core/src/memory-tool-manager-mock.ts +++ b/extensions/memory-core/src/memory-tool-manager-mock.ts @@ -80,10 +80,6 @@ export function setMemoryWorkspaceDir(next: string): void { workspaceDir = next; } -export function setMemoryStatusCustom(next: Record | undefined): void { - customStatus = next; -} - export function setMemorySearchImpl(next: SearchImpl): void { searchImpl = next; } diff --git a/extensions/memory-wiki/src/source-path-shared.ts b/extensions/memory-wiki/src/source-path-shared.ts index 2473142ce3d..61859921b8a 100644 --- a/extensions/memory-wiki/src/source-path-shared.ts +++ b/extensions/memory-wiki/src/source-path-shared.ts @@ -2,15 +2,6 @@ import fs from "node:fs/promises"; import path from "node:path"; import { lowercasePreservingWhitespace } from "openclaw/plugin-sdk/text-runtime"; -export async function pathExists(filePath: string): Promise { - try { - await fs.access(filePath); - return true; - } catch { - return false; - } -} - export async function resolveArtifactKey(absolutePath: string): Promise { const canonicalPath = await fs.realpath(absolutePath).catch(() => path.resolve(absolutePath)); return process.platform === "win32" diff --git a/extensions/qa-lab/src/scenario-flow-runner.ts b/extensions/qa-lab/src/scenario-flow-runner.ts index 448fd79fc43..64808b39d55 100644 --- a/extensions/qa-lab/src/scenario-flow-runner.ts +++ b/extensions/qa-lab/src/scenario-flow-runner.ts @@ -1,4 +1,3 @@ -import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import type { QaTransportState } from "./qa-transport.js"; import type { QaScenarioFlow, QaSeedScenarioWithSource } from "./scenario-catalog.js"; @@ -292,7 +291,3 @@ export async function runScenarioFlow(params: { })); return await params.api.runScenario(params.scenarioTitle, steps); } - -export function describeScenarioFlowError(error: unknown) { - return formatErrorMessage(error); -} diff --git a/extensions/xai/src/tool-auth-shared.ts b/extensions/xai/src/tool-auth-shared.ts index 14386fff94b..9e4ad4ad4f5 100644 --- a/extensions/xai/src/tool-auth-shared.ts +++ b/extensions/xai/src/tool-auth-shared.ts @@ -95,11 +95,6 @@ function readLegacyGrokApiKeyResult(cfg?: OpenClawConfig): ConfiguredRuntimeApiK ); } -export function readLegacyGrokApiKey(cfg?: OpenClawConfig): string | undefined { - const resolved = readLegacyGrokApiKeyResult(cfg); - return resolved.status === "available" ? resolved.value : undefined; -} - function readPluginXaiWebSearchApiKeyResult( cfg?: OpenClawConfig, ): ConfiguredRuntimeApiKeyResolution { @@ -110,11 +105,6 @@ function readPluginXaiWebSearchApiKeyResult( ); } -export function readPluginXaiWebSearchApiKey(cfg?: OpenClawConfig): string | undefined { - const resolved = readPluginXaiWebSearchApiKeyResult(cfg); - return resolved.status === "available" ? resolved.value : undefined; -} - export function resolveFallbackXaiAuth(cfg?: OpenClawConfig): XaiFallbackAuth | undefined { const pluginApiKey = readConfiguredOrManagedApiKey( resolveProviderWebSearchPluginConfig(cfg as Record | undefined, "xai")?.apiKey,