/** * Stdout/stderr helpers for CLI commands. * * `process.stdout` is ASYNCHRONOUS when it points at a pipe (the normal case when an * agent or shell captures `openlore … --json`): a `process.stdout.write(big)` followed * by `process.exit()` truncates the output at the ~64KB pipe buffer because the write * has not drained when the process dies. (To a TTY/file the write is synchronous, so * the bug only shows up under a pipe — exactly how tools consume CLI output.) * * `writeStdout` resolves only once the write has been flushed to the OS (the write * callback fires on drain), so a caller can `await writeStdout(x)` before exiting and * the full payload is guaranteed delivered. */ export declare function writeStdout(text: string): Promise; /** * The stderr twin of `writeStdout`, sanitized identically. * * Several commands render the SAME human report to either stream depending on mode: * `--hook` and TTY branches send it to stderr so it never pollutes scripted stdout * (blast-radius, impact-certificate, review). Writing to `process.stderr` directly * bypassed the strip that `writeStdout` applies, so the exact string that is sanitized * on one branch went out raw on the other — and for `review` the raw branch is the one * that fires when a human terminal is attached, which is precisely where a forged * verdict lands. Making stderr a sanitized sink removes the choice from the call site. * * Drain semantics match `writeStdout`: stderr is also a pipe under capture, so a * caller that exits right after must await this. */ export declare function writeStderr(text: string): Promise; //# sourceMappingURL=output.d.ts.map