Files
clawdbot/extensions/zalouser/src/probe.ts
2026-01-20 13:32:11 +00:00

29 lines
673 B
TypeScript

import { runZca, parseJsonOutput } from "./zca.js";
import type { ZcaUserInfo } from "./types.js";
export interface ZalouserProbeResult {
ok: boolean;
user?: ZcaUserInfo;
error?: string;
}
export async function probeZalouser(
profile: string,
timeoutMs?: number,
): Promise<ZalouserProbeResult> {
const result = await runZca(["me", "info", "-j"], {
profile,
timeout: timeoutMs,
});
if (!result.ok) {
return { ok: false, error: result.stderr || "Failed to probe" };
}
const user = parseJsonOutput<ZcaUserInfo>(result.stdout);
if (!user) {
return { ok: false, error: "Failed to parse user info" };
}
return { ok: true, user };
}