diff --git a/extensions/discord/src/monitor.tool-result.accepts-guild-messages-mentionpatterns-match.e2e.test.ts b/extensions/discord/src/monitor.tool-result.accepts-guild-messages-mentionpatterns-match.e2e.test.ts index bc1bcb81b6e..73c411e5407 100644 --- a/extensions/discord/src/monitor.tool-result.accepts-guild-messages-mentionpatterns-match.e2e.test.ts +++ b/extensions/discord/src/monitor.tool-result.accepts-guild-messages-mentionpatterns-match.e2e.test.ts @@ -26,7 +26,7 @@ function createOpenGuildConfig( channels: Record, extra: Partial = {}, ): Config { - return { + const cfg: Config = { ...createMentionRequiredGuildConfig(), ...extra, channels: { @@ -41,7 +41,8 @@ function createOpenGuildConfig( }, }, }, - } as Config; + }; + return cfg; } describe("discord tool result dispatch", () => { diff --git a/extensions/discord/src/monitor.tool-result.sends-status-replies-responseprefix.test.ts b/extensions/discord/src/monitor.tool-result.sends-status-replies-responseprefix.test.ts index 79cf61da3ab..354ba2a72de 100644 --- a/extensions/discord/src/monitor.tool-result.sends-status-replies-responseprefix.test.ts +++ b/extensions/discord/src/monitor.tool-result.sends-status-replies-responseprefix.test.ts @@ -70,12 +70,12 @@ describe("discord tool result dispatch", () => { }); it("replies with pairing code and sender id when dmPolicy is pairing", async () => { - const cfg = { + const cfg: Config = { ...BASE_CFG, channels: { discord: { dm: { enabled: true, policy: "pairing", allowFrom: [] } }, }, - } as Config; + }; const handler = await createDmHandler({ cfg }); const client = createDmClient(); diff --git a/extensions/discord/src/monitor.tool-result.test-helpers.ts b/extensions/discord/src/monitor.tool-result.test-helpers.ts index 930182f0340..67b5637a7b6 100644 --- a/extensions/discord/src/monitor.tool-result.test-helpers.ts +++ b/extensions/discord/src/monitor.tool-result.test-helpers.ts @@ -307,7 +307,7 @@ export function createMentionRequiredGuildConfig(overrides?: Partial): C }, }, ...overrides, - } as Config; + }; } export function captureNextDispatchCtx< diff --git a/extensions/discord/src/monitor/native-command.commands-allowfrom.test.ts b/extensions/discord/src/monitor/native-command.commands-allowfrom.test.ts index bd7e9c9305d..ffb0178b131 100644 --- a/extensions/discord/src/monitor/native-command.commands-allowfrom.test.ts +++ b/extensions/discord/src/monitor/native-command.commands-allowfrom.test.ts @@ -274,10 +274,9 @@ describe("Discord native slash commands with commands.allowFrom", () => { }, }); - const dispatchCall = vi.mocked(dispatcherModule.dispatchReplyWithDispatcher).mock - .calls[0]?.[0] as + const dispatchCall: | Parameters[0] - | undefined; + | undefined = vi.mocked(dispatcherModule.dispatchReplyWithDispatcher).mock.calls[0]?.[0]; await dispatchCall?.dispatcherOptions.deliver({ text: longReply }, { kind: "final" }); expect(interaction.followUp).toHaveBeenCalledWith( diff --git a/extensions/discord/src/monitor/native-command.options.test.ts b/extensions/discord/src/monitor/native-command.options.test.ts index 0dc994263f7..19bf449d8bd 100644 --- a/extensions/discord/src/monitor/native-command.options.test.ts +++ b/extensions/discord/src/monitor/native-command.options.test.ts @@ -48,19 +48,18 @@ function createNativeCommand( throw new Error(`missing native command: ${name}`); } const baseCfg: ReturnType = opts?.cfg ?? {}; - const discordConfig = (opts?.discordConfig ?? baseCfg.channels?.discord ?? {}) as NonNullable< - OpenClawConfig["channels"] - >["discord"]; + const discordConfig: NonNullable["discord"] = + opts?.discordConfig ?? baseCfg.channels?.discord ?? {}; const cfg = opts?.discordConfig === undefined ? baseCfg - : ({ + : { ...baseCfg, channels: { ...baseCfg.channels, discord: discordConfig, }, - } as ReturnType); + }; return createDiscordNativeCommand({ command, cfg, diff --git a/extensions/memory-core/src/tools.recall-tracking.test.ts b/extensions/memory-core/src/tools.recall-tracking.test.ts index f69b8aede6e..6c25c1e36c8 100644 --- a/extensions/memory-core/src/tools.recall-tracking.test.ts +++ b/extensions/memory-core/src/tools.recall-tracking.test.ts @@ -25,7 +25,7 @@ vi.mock("./short-term-promotion.js", () => ({ })); function asOpenClawConfig(config: Partial): OpenClawConfig { - return config as OpenClawConfig; + return config; } function createSearchTool(config: OpenClawConfig) { diff --git a/extensions/memory-core/src/tools.test-helpers.ts b/extensions/memory-core/src/tools.test-helpers.ts index cede4ed0cf5..71c72d1a687 100644 --- a/extensions/memory-core/src/tools.test-helpers.ts +++ b/extensions/memory-core/src/tools.test-helpers.ts @@ -3,7 +3,7 @@ import type { OpenClawConfig } from "../api.js"; import { createMemoryGetTool, createMemorySearchTool } from "./tools.js"; export function asOpenClawConfig(config: Partial): OpenClawConfig { - return config as OpenClawConfig; + return config; } export function createDefaultMemoryToolConfig(): OpenClawConfig { diff --git a/extensions/voice-call/index.test.ts b/extensions/voice-call/index.test.ts index 54a25759b3e..3fc37167dbb 100644 --- a/extensions/voice-call/index.test.ts +++ b/extensions/voice-call/index.test.ts @@ -3,6 +3,8 @@ import os from "node:os"; import path from "node:path"; import { Command } from "commander"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { createTestPluginApi } from "../../test/helpers/plugins/plugin-api.ts"; +import type { OpenClawPluginApi } from "./api.js"; let runtimeStub: { config: { toNumber?: string }; @@ -57,7 +59,7 @@ function captureStdout() { function setup(config: Record): Registered { const methods = new Map(); const tools: unknown[] = []; - void plugin.register({ + const api = createTestPluginApi({ id: "voice-call", name: "Voice Call", description: "test", @@ -65,16 +67,15 @@ function setup(config: Record): Registered { source: "test", config: {}, pluginConfig: config, - runtime: { tts: { textToSpeechTelephony: vi.fn() } } as unknown as Parameters< - typeof plugin.register - >[0]["runtime"], + runtime: { tts: { textToSpeechTelephony: vi.fn() } } as unknown as OpenClawPluginApi["runtime"], logger: noopLogger, registerGatewayMethod: (method: string, handler: unknown) => methods.set(method, handler), registerTool: (tool: unknown) => tools.push(tool), registerCli: () => {}, registerService: () => {}, resolvePath: (p: string) => p, - } as unknown as Parameters[0]); + }); + void plugin.register(api); return { methods, tools }; }