From 15649228d441033a4566872e036e662c40c6705e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 1 May 2026 14:38:56 +0100 Subject: [PATCH] refactor: trim extension helper shims --- extensions/discord/src/channel-api.ts | 1 - .../src/monitor/thread-bindings.types.ts | 1 - extensions/feishu/src/setup-surface.ts | 2 -- extensions/googlechat/src/setup-surface.ts | 2 -- .../imessage/src/monitor/monitor-provider.ts | 2 -- extensions/line/src/setup-surface.ts | 2 -- extensions/lobster/src/test-helpers.ts | 1 - extensions/mattermost/src/channel-api.ts | 4 --- .../src/memory/test-helpers/ssrf.ts | 35 ------------------- extensions/nextcloud-talk/src/api.ts | 1 - extensions/qa-lab/src/runtime-api.ts | 1 - extensions/qqbot/src/engine/approval/index.ts | 14 -------- .../slack/src/monitor/config.runtime.ts | 1 - extensions/tlon/src/setup-surface.ts | 2 -- extensions/tlon/src/urbit/context.ts | 5 +-- 15 files changed, 1 insertion(+), 73 deletions(-) delete mode 100644 extensions/lobster/src/test-helpers.ts delete mode 100644 extensions/memory-core/src/memory/test-helpers/ssrf.ts delete mode 100644 extensions/nextcloud-talk/src/api.ts diff --git a/extensions/discord/src/channel-api.ts b/extensions/discord/src/channel-api.ts index 5e582023598..452b8fa068d 100644 --- a/extensions/discord/src/channel-api.ts +++ b/extensions/discord/src/channel-api.ts @@ -5,7 +5,6 @@ export { projectCredentialSnapshotFields, resolveConfiguredFromCredentialStatuses, } from "openclaw/plugin-sdk/channel-status"; -export { createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers"; export type { ChannelPlugin } from "openclaw/plugin-sdk/channel-core"; export type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; diff --git a/extensions/discord/src/monitor/thread-bindings.types.ts b/extensions/discord/src/monitor/thread-bindings.types.ts index 2403958e385..dff333c5c31 100644 --- a/extensions/discord/src/monitor/thread-bindings.types.ts +++ b/extensions/discord/src/monitor/thread-bindings.types.ts @@ -79,6 +79,5 @@ export const THREAD_BINDINGS_VERSION = 1 as const; export const THREAD_BINDINGS_SWEEP_INTERVAL_MS = 120_000; export const DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS = 24 * 60 * 60 * 1000; // 24h export const DEFAULT_THREAD_BINDING_MAX_AGE_MS = 0; // disabled -export const DEFAULT_FAREWELL_TEXT = "Thread unfocused. Messages here will no longer be routed."; export const DISCORD_UNKNOWN_CHANNEL_ERROR_CODE = 10_003; export const RECENT_UNBOUND_WEBHOOK_ECHO_WINDOW_MS = 30_000; diff --git a/extensions/feishu/src/setup-surface.ts b/extensions/feishu/src/setup-surface.ts index 2516345ebc1..ec207dca658 100644 --- a/extensions/feishu/src/setup-surface.ts +++ b/extensions/feishu/src/setup-surface.ts @@ -498,8 +498,6 @@ export async function runFeishuLogin(params: { // Exported wizard // --------------------------------------------------------------------------- -export { feishuSetupAdapter } from "./setup-core.js"; - export const feishuSetupWizard: ChannelSetupWizard = { channel, resolveAccountIdForConfigure: ({ accountOverride, defaultAccountId, cfg }) => diff --git a/extensions/googlechat/src/setup-surface.ts b/extensions/googlechat/src/setup-surface.ts index 5161efda599..3ba5890be6a 100644 --- a/extensions/googlechat/src/setup-surface.ts +++ b/extensions/googlechat/src/setup-surface.ts @@ -91,8 +91,6 @@ const googlechatDmPolicy: ChannelSetupDmPolicy = { promptAllowFrom, }; -export { googlechatSetupAdapter } from "./setup-core.js"; - function createServiceAccountTextInput(params: { inputKey: GoogleChatTextInputKey; message: string; diff --git a/extensions/imessage/src/monitor/monitor-provider.ts b/extensions/imessage/src/monitor/monitor-provider.ts index 0b0353786cb..554805d5a67 100644 --- a/extensions/imessage/src/monitor/monitor-provider.ts +++ b/extensions/imessage/src/monitor/monitor-provider.ts @@ -647,5 +647,3 @@ export async function monitorIMessageProvider(opts: MonitorIMessageOpts = {}): P await activeClient.stop(); } } - -export const resolveIMessageRuntimeGroupPolicy = resolveOpenProviderRuntimeGroupPolicy; diff --git a/extensions/line/src/setup-surface.ts b/extensions/line/src/setup-surface.ts index a7bc78efc8e..f51fd9c2920 100644 --- a/extensions/line/src/setup-surface.ts +++ b/extensions/line/src/setup-surface.ts @@ -81,8 +81,6 @@ const lineDmPolicy: ChannelSetupDmPolicy = { }), }; -export { lineSetupAdapter } from "./setup-core.js"; - export const lineSetupWizard: ChannelSetupWizard = { channel, status: createStandardChannelSetupStatus({ diff --git a/extensions/lobster/src/test-helpers.ts b/extensions/lobster/src/test-helpers.ts deleted file mode 100644 index 571629c6708..00000000000 --- a/extensions/lobster/src/test-helpers.ts +++ /dev/null @@ -1 +0,0 @@ -export { createWindowsCmdShimFixture } from "openclaw/plugin-sdk/test-env"; diff --git a/extensions/mattermost/src/channel-api.ts b/extensions/mattermost/src/channel-api.ts index fc416bf0b59..1d2f99a5910 100644 --- a/extensions/mattermost/src/channel-api.ts +++ b/extensions/mattermost/src/channel-api.ts @@ -1,8 +1,4 @@ export { createAccountStatusSink } from "openclaw/plugin-sdk/channel-lifecycle"; export type { ChannelPlugin } from "openclaw/plugin-sdk/core"; export { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/core"; -export { - resolveAllowlistProviderRuntimeGroupPolicy, - resolveDefaultGroupPolicy, -} from "openclaw/plugin-sdk/runtime-group-policy"; export { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking"; diff --git a/extensions/memory-core/src/memory/test-helpers/ssrf.ts b/extensions/memory-core/src/memory/test-helpers/ssrf.ts deleted file mode 100644 index f823b25234c..00000000000 --- a/extensions/memory-core/src/memory/test-helpers/ssrf.ts +++ /dev/null @@ -1,35 +0,0 @@ -import * as ssrf from "openclaw/plugin-sdk/ssrf-runtime"; -import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/text-runtime"; -import { vi } from "vitest"; - -export function mockPublicPinnedHostname() { - return vi.spyOn(ssrf, "resolvePinnedHostnameWithPolicy").mockImplementation(async (hostname) => { - const normalized = normalizeLowercaseStringOrEmpty(hostname).replace(/\.$/, ""); - const addresses = ["93.184.216.34"]; - const lookup = ((host: string, options?: unknown, callback?: unknown) => { - const cb = - typeof options === "function" - ? (options as (err: NodeJS.ErrnoException | null, address: unknown) => void) - : (callback as (err: NodeJS.ErrnoException | null, address: unknown) => void); - if (!cb) { - return; - } - if (normalizeLowercaseStringOrEmpty(host).replace(/\.$/, "") !== normalized) { - cb(null, []); - return; - } - cb( - null, - addresses.map((address) => ({ - address, - family: address.includes(":") ? 6 : 4, - })), - ); - }) as never; - return { - hostname: normalized, - addresses, - lookup, - }; - }); -} diff --git a/extensions/nextcloud-talk/src/api.ts b/extensions/nextcloud-talk/src/api.ts deleted file mode 100644 index 6048b406c0a..00000000000 --- a/extensions/nextcloud-talk/src/api.ts +++ /dev/null @@ -1 +0,0 @@ -export { createAuthRateLimiter } from "openclaw/plugin-sdk/webhook-ingress"; diff --git a/extensions/qa-lab/src/runtime-api.ts b/extensions/qa-lab/src/runtime-api.ts index e8607e9abc7..07e7da977de 100644 --- a/extensions/qa-lab/src/runtime-api.ts +++ b/extensions/qa-lab/src/runtime-api.ts @@ -24,7 +24,6 @@ export { export type { QaBusAttachment, QaBusConversation, - QaBusConversationKind, QaBusCreateThreadInput, QaBusDeleteMessageInput, QaBusEditMessageInput, diff --git a/extensions/qqbot/src/engine/approval/index.ts b/extensions/qqbot/src/engine/approval/index.ts index de7ba594101..4dbe8ff8fff 100644 --- a/extensions/qqbot/src/engine/approval/index.ts +++ b/extensions/qqbot/src/engine/approval/index.ts @@ -42,20 +42,6 @@ export interface PluginApprovalRequest { }; } -export interface ExecApprovalResolved { - id: string; - decision: string; - resolvedBy?: string; - [key: string]: unknown; -} - -export interface PluginApprovalResolved { - id: string; - decision: string; - resolvedBy?: string; - [key: string]: unknown; -} - export type ApprovalDecision = "allow-once" | "allow-always" | "deny"; export interface ApprovalTarget { diff --git a/extensions/slack/src/monitor/config.runtime.ts b/extensions/slack/src/monitor/config.runtime.ts index c2468fafb05..ac6a07bad80 100644 --- a/extensions/slack/src/monitor/config.runtime.ts +++ b/extensions/slack/src/monitor/config.runtime.ts @@ -2,7 +2,6 @@ export { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot"; export { isDangerousNameMatchingEnabled } from "openclaw/plugin-sdk/dangerous-name-runtime"; export { readSessionUpdatedAt, - recordSessionMetaFromInbound, resolveSessionKey, resolveStorePath, updateLastRoute, diff --git a/extensions/tlon/src/setup-surface.ts b/extensions/tlon/src/setup-surface.ts index 46a48e985ec..6989250db9d 100644 --- a/extensions/tlon/src/setup-surface.ts +++ b/extensions/tlon/src/setup-surface.ts @@ -21,8 +21,6 @@ function parseList(value: string): string[] { .filter(Boolean); } -export { tlonSetupAdapter } from "./setup-core.js"; - export const tlonSetupWizard = createTlonSetupWizardBase({ resolveConfigured: async ({ cfg, accountId }) => await resolveTlonSetupConfigured(cfg, accountId), resolveStatusLines: async ({ cfg, accountId }) => diff --git a/extensions/tlon/src/urbit/context.ts b/extensions/tlon/src/urbit/context.ts index f23120e017a..6489024b075 100644 --- a/extensions/tlon/src/urbit/context.ts +++ b/extensions/tlon/src/urbit/context.ts @@ -1,7 +1,4 @@ -export { - ssrfPolicyFromDangerouslyAllowPrivateNetwork, - ssrfPolicyFromAllowPrivateNetwork, -} from "openclaw/plugin-sdk/ssrf-runtime"; +export { ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sdk/ssrf-runtime"; import { normalizeUrbitHostname, validateUrbitBaseUrl } from "./base-url.js"; import { UrbitUrlError } from "./errors.js";