From 996e0ae2f2abd7aa1b19fc1c068b9c89f4c10984 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 1 May 2026 10:39:00 +0100 Subject: [PATCH] refactor: remove stale extension helpers --- .../src/browser/client-actions-core.ts | 67 ------------------- .../src/browser/client-actions-observe.ts | 23 +------ extensions/matrix/src/test-mocks.ts | 55 --------------- extensions/voice-call/src/config.ts | 4 -- extensions/zalouser/src/zalo-js.ts | 14 ---- 5 files changed, 1 insertion(+), 162 deletions(-) delete mode 100644 extensions/matrix/src/test-mocks.ts diff --git a/extensions/browser/src/browser/client-actions-core.ts b/extensions/browser/src/browser/client-actions-core.ts index 47d3aa97e0f..133cc656b3c 100644 --- a/extensions/browser/src/browser/client-actions-core.ts +++ b/extensions/browser/src/browser/client-actions-core.ts @@ -21,14 +21,6 @@ export type BrowserActResponse = { results?: Array<{ ok: boolean; error?: string }>; }; -export type BrowserDownloadPayload = { - url: string; - suggestedFilename: string; - path: string; -}; - -type BrowserDownloadResult = { ok: true; targetId: string; download: BrowserDownloadPayload }; - const BROWSER_ACT_REQUEST_TIMEOUT_SLACK_MS = 5_000; function normalizePositiveTimeoutMs(value: unknown): number | undefined { @@ -52,21 +44,6 @@ function resolveBrowserActRequestTimeoutMs(req: BrowserActRequest): number { return Math.max(...candidateTimeouts); } -async function postDownloadRequest( - baseUrl: string | undefined, - route: "/wait/download" | "/download", - body: Record, - profile?: string, -): Promise { - const q = buildProfileQuery(profile); - return await fetchBrowserJson(withBaseUrl(baseUrl, `${route}${q}`), { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(body), - timeoutMs: 20000, - }); -} - export async function browserNavigate( baseUrl: string | undefined, opts: { @@ -136,50 +113,6 @@ export async function browserArmFileChooser( }); } -export async function browserWaitForDownload( - baseUrl: string | undefined, - opts: { - path?: string; - targetId?: string; - timeoutMs?: number; - profile?: string; - }, -): Promise { - return await postDownloadRequest( - baseUrl, - "/wait/download", - { - targetId: opts.targetId, - path: opts.path, - timeoutMs: opts.timeoutMs, - }, - opts.profile, - ); -} - -export async function browserDownload( - baseUrl: string | undefined, - opts: { - ref: string; - path: string; - targetId?: string; - timeoutMs?: number; - profile?: string; - }, -): Promise { - return await postDownloadRequest( - baseUrl, - "/download", - { - targetId: opts.targetId, - ref: opts.ref, - path: opts.path, - timeoutMs: opts.timeoutMs, - }, - opts.profile, - ); -} - export async function browserAct( baseUrl: string | undefined, req: BrowserActRequest, diff --git a/extensions/browser/src/browser/client-actions-observe.ts b/extensions/browser/src/browser/client-actions-observe.ts index f0c78be3d51..8df652f427f 100644 --- a/extensions/browser/src/browser/client-actions-observe.ts +++ b/extensions/browser/src/browser/client-actions-observe.ts @@ -1,11 +1,7 @@ import type { BrowserActionPathResult, BrowserActionTargetOk } from "./client-actions-types.js"; import { buildProfileQuery, withBaseUrl } from "./client-actions-url.js"; import { fetchBrowserJson } from "./client-fetch.js"; -import type { - BrowserConsoleMessage, - BrowserNetworkRequest, - BrowserPageError, -} from "./pw-session.js"; +import type { BrowserConsoleMessage, BrowserNetworkRequest } from "./pw-session.js"; function buildQuerySuffix(params: Array<[string, string | boolean | undefined]>): string { const query = new URLSearchParams(); @@ -52,23 +48,6 @@ export async function browserPdfSave( }); } -export async function browserPageErrors( - baseUrl: string | undefined, - opts: { targetId?: string; clear?: boolean; profile?: string } = {}, -): Promise<{ ok: true; targetId: string; url?: string; errors: BrowserPageError[] }> { - const suffix = buildQuerySuffix([ - ["targetId", opts.targetId], - ["clear", typeof opts.clear === "boolean" ? opts.clear : undefined], - ["profile", opts.profile], - ]); - return await fetchBrowserJson<{ - ok: true; - targetId: string; - url?: string; - errors: BrowserPageError[]; - }>(withBaseUrl(baseUrl, `/errors${suffix}`), { timeoutMs: 20000 }); -} - export async function browserRequests( baseUrl: string | undefined, opts: { diff --git a/extensions/matrix/src/test-mocks.ts b/extensions/matrix/src/test-mocks.ts deleted file mode 100644 index d270d77c718..00000000000 --- a/extensions/matrix/src/test-mocks.ts +++ /dev/null @@ -1,55 +0,0 @@ -import type { Mock } from "vitest"; -import { vi } from "vitest"; - -type MatrixBotSdkMockParams = { - matrixClient?: unknown; - simpleFsStorageProvider?: unknown; - rustSdkCryptoStorageProvider?: unknown; - includeVerboseLogService?: boolean; -}; - -type MatrixBotSdkMock = { - ConsoleLogger: new () => { - trace: Mock<() => void>; - debug: Mock<() => void>; - info: Mock<() => void>; - warn: Mock<() => void>; - error: Mock<() => void>; - }; - MatrixClient: unknown; - LogService: { - setLogger: Mock<() => void>; - warn?: Mock<() => void>; - info?: Mock<() => void>; - debug?: Mock<() => void>; - }; - SimpleFsStorageProvider: unknown; - RustSdkCryptoStorageProvider: unknown; -}; - -export function createMatrixBotSdkMock(params: MatrixBotSdkMockParams = {}): MatrixBotSdkMock { - return { - ConsoleLogger: class { - trace = vi.fn(); - debug = vi.fn(); - info = vi.fn(); - warn = vi.fn(); - error = vi.fn(); - }, - MatrixClient: params.matrixClient ?? function MatrixClient() {}, - LogService: { - setLogger: vi.fn(), - ...(params.includeVerboseLogService - ? { - warn: vi.fn(), - info: vi.fn(), - debug: vi.fn(), - } - : {}), - }, - SimpleFsStorageProvider: - params.simpleFsStorageProvider ?? function SimpleFsStorageProvider() {}, - RustSdkCryptoStorageProvider: - params.rustSdkCryptoStorageProvider ?? function RustSdkCryptoStorageProvider() {}, - }; -} diff --git a/extensions/voice-call/src/config.ts b/extensions/voice-call/src/config.ts index 3385cc30a53..8691472afe0 100644 --- a/extensions/voice-call/src/config.ts +++ b/extensions/voice-call/src/config.ts @@ -66,9 +66,6 @@ export const TwilioConfigSchema = z authToken: SecretInputSchema.optional(), }) .strict(); -export type TwilioConfig = Omit, "authToken"> & { - authToken?: SecretInput; -}; export const PlivoConfigSchema = z .object({ @@ -98,7 +95,6 @@ export const VoiceCallServeConfigSchema = z }) .strict() .default({ port: 3334, bind: "127.0.0.1", path: "/voice/webhook" }); -export type VoiceCallServeConfig = z.infer; export const VoiceCallTailscaleConfigSchema = z .object({ diff --git a/extensions/zalouser/src/zalo-js.ts b/extensions/zalouser/src/zalo-js.ts index 6f2845998b7..0e01753b873 100644 --- a/extensions/zalouser/src/zalo-js.ts +++ b/extensions/zalouser/src/zalo-js.ts @@ -1,6 +1,5 @@ import { randomUUID } from "node:crypto"; import fs from "node:fs"; -import fsp from "node:fs/promises"; import os from "node:os"; import path from "node:path"; import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media"; @@ -1910,16 +1909,3 @@ export async function resolveZaloAllowFromEntries(params: { }; }); } - -export async function clearProfileRuntimeArtifacts(profileInput?: string | null): Promise { - const profile = normalizeProfile(profileInput); - resetQrLogin(profile); - clearCachedGroupContext(profile); - const listener = activeListeners.get(profile); - if (listener) { - listener.stop(); - activeListeners.delete(profile); - } - invalidateApi(profile); - await fsp.mkdir(resolveCredentialsDir(), { recursive: true }).catch(() => undefined); -}