diff --git a/extensions/browser/setup-api.ts b/extensions/browser/setup-api.ts index 23a9821fa8a..a2cdc1f2221 100644 --- a/extensions/browser/setup-api.ts +++ b/extensions/browser/setup-api.ts @@ -1,9 +1,6 @@ import type { OpenClawConfig } from "openclaw/plugin-sdk/plugin-entry"; import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; - -function isRecord(value: unknown): value is Record { - return Boolean(value) && typeof value === "object" && !Array.isArray(value); -} +import { isRecord } from "./src/record-shared.js"; function listContainsBrowser(value: unknown): boolean { return ( diff --git a/extensions/browser/src/record-shared.ts b/extensions/browser/src/record-shared.ts index 7b4ae081a6f..fab9276ca88 100644 --- a/extensions/browser/src/record-shared.ts +++ b/extensions/browser/src/record-shared.ts @@ -1,5 +1,7 @@ -export function asRecord(value: unknown): Record | null { - return value && typeof value === "object" && !Array.isArray(value) - ? (value as Record) - : null; +export function isRecord(value: unknown): value is Record { + return Boolean(value) && typeof value === "object" && !Array.isArray(value); +} + +export function asRecord(value: unknown): Record | null { + return isRecord(value) ? value : null; }