fix(cli): preserve json stdout while keeping doctor migration (#24368) (thanks @altaywtf)

This commit is contained in:
Peter Steinberger
2026-03-02 03:09:23 +00:00
parent 67b98139b9
commit 342bf4838e
3 changed files with 24 additions and 2 deletions

View File

@@ -52,12 +52,19 @@ export async function ensureConfigReady(params: {
if (!params.suppressDoctorStdout) {
await runDoctorConfigFlow();
} else {
const originalStdoutWrite = process.stdout.write;
process.stdout.write = ((() => true) as unknown) as typeof process.stdout.write;
const originalStdoutWrite = process.stdout.write.bind(process.stdout);
const originalSuppressNotes = process.env.OPENCLAW_SUPPRESS_NOTES;
process.stdout.write = (() => true) as unknown as typeof process.stdout.write;
process.env.OPENCLAW_SUPPRESS_NOTES = "1";
try {
await runDoctorConfigFlow();
} finally {
process.stdout.write = originalStdoutWrite;
if (originalSuppressNotes === undefined) {
delete process.env.OPENCLAW_SUPPRESS_NOTES;
} else {
process.env.OPENCLAW_SUPPRESS_NOTES = originalSuppressNotes;
}
}
}
}