refactor: consolidate PNG encoder and safeParseJson utilities (#12457)

- Create shared PNG encoder module (src/media/png-encode.ts)

- Refactor qr-image.ts and live-image-probe.ts to use shared encoder

- Add safeParseJson to utils.ts and plugin-sdk exports

- Update msteams and pairing-store to use centralized safeParseJson
This commit is contained in:
max
2026-02-09 00:21:54 -08:00
committed by GitHub
parent 5acb1e3c52
commit f0924d3c4e
9 changed files with 107 additions and 182 deletions

View File

@@ -1,6 +1,7 @@
import crypto from "node:crypto";
import fs from "node:fs";
import path from "node:path";
import { safeParseJson } from "openclaw/plugin-sdk";
import lockfile from "proper-lockfile";
const STORE_LOCK_OPTIONS = {
@@ -14,14 +15,6 @@ const STORE_LOCK_OPTIONS = {
stale: 30_000,
} as const;
function safeParseJson<T>(raw: string): T | null {
try {
return JSON.parse(raw) as T;
} catch {
return null;
}
}
export async function readJsonFile<T>(
filePath: string,
fallback: T,