Files
wehub-resource-sync 555e282cc4
pi-agent-plugin checks / lint (push) Has been cancelled
pi-agent-plugin checks / test (20) (push) Has been cancelled
pi-agent-plugin checks / test (22) (push) Has been cancelled
pi-agent-plugin checks / build (push) Has been cancelled
TypeScript SDK CI / check_changes (push) Has been cancelled
TypeScript SDK CI / changelog_check (push) Has been cancelled
ci / changelog_check (push) Has been cancelled
ci / check_changes (push) Has been cancelled
ci / build_mem0 (3.10) (push) Has been cancelled
ci / build_mem0 (3.11) (push) Has been cancelled
ci / build_mem0 (3.12) (push) Has been cancelled
CLI Node CI / lint (push) Has been cancelled
CLI Node CI / test (20) (push) Has been cancelled
CLI Node CI / test (22) (push) Has been cancelled
CLI Node CI / build (push) Has been cancelled
CLI Python CI / lint (push) Has been cancelled
CLI Python CI / test (3.10) (push) Has been cancelled
CLI Python CI / test (3.11) (push) Has been cancelled
CLI Python CI / test (3.12) (push) Has been cancelled
CLI Python CI / build (push) Has been cancelled
openclaw checks / lint (push) Has been cancelled
openclaw checks / test (20) (push) Has been cancelled
openclaw checks / test (22) (push) Has been cancelled
openclaw checks / build (push) Has been cancelled
opencode-plugin checks / build (push) Has been cancelled
TypeScript SDK CI / build_ts_sdk (20) (push) Has been cancelled
TypeScript SDK CI / build_ts_sdk (22) (push) Has been cancelled
TypeScript SDK CI / integration_ts_sdk (20) (push) Has been cancelled
TypeScript SDK CI / integration_ts_sdk (22) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:03:45 +08:00

41 lines
922 B
TypeScript

/**
* JSON output helpers for agent-friendly CLI commands.
*/
function writeStdout(data: Record<string, unknown>): void {
process.stdout.write(JSON.stringify(data, null, 2) + "\n");
}
export function jsonOut(
opts: { json?: boolean },
data: Record<string, unknown>,
): boolean {
if (!opts.json) return false;
writeStdout(data);
return true;
}
export function jsonErr(
opts: { json?: boolean },
error: string,
): boolean {
if (!opts.json) return false;
writeStdout({ ok: false, error });
return true;
}
export function redactSecrets(
obj: Record<string, unknown>,
secretKeys: Set<string>,
): Record<string, unknown> {
const result = { ...obj };
for (const key of secretKeys) {
const val = result[key];
if (typeof val !== "string") continue;
result[key] = val.length <= 8
? val.slice(0, 2) + "***"
: val.slice(0, 4) + "..." + val.slice(-4);
}
return result;
}