import type { OpenClawPluginConfigSchema } from "./types.js"; type Issue = { path: Array; message: string }; type SafeParseResult = | { success: true; data?: unknown } | { success: false; error: { issues: Issue[] } }; function error(message: string): SafeParseResult { return { success: false, error: { issues: [{ path: [], message }] } }; } export function emptyPluginConfigSchema(): OpenClawPluginConfigSchema { return { safeParse(value: unknown): SafeParseResult { if (value === undefined) { return { success: true, data: undefined }; } if (!value || typeof value !== "object" || Array.isArray(value)) { return error("expected config object"); } if (Object.keys(value as Record).length > 0) { return error("config must be empty"); } return { success: true, data: value }; }, jsonSchema: { type: "object", additionalProperties: false, properties: {}, }, }; }