/** `err` 的 fatal 日志文本:`String(err)` 过形状律一次。纯函数,零副作用。 */ export declare function buildFatalErrorText(err: unknown): string; /** * 进程级 fatal 出口的**唯一一只腿**:同一只 {@link buildFatalErrorText} 产物写两个面,然后按崩溃码退。 * * ── 病(S-555,test [ref] P2)──────────────────────────────────────────────────────────────────── * 出口过去只有那条 JSON 行。而拒启文案是**多行**的 —— S-547 的列集对账会生成 * `ALTER TABLE <表> ADD COLUMN <列定义>;`,它存在的全部理由就是「运维直接粘进 psql」;塞进 JSON 字符串后 * 整段变成一串 `\n` 转义,**粘不走**。dist 里也没有 pretty / `isTTY` 分支去把它摊开(有也不该有:出口的 * 可读性不该取决于终端是谁)。 * * ── 修 ───────────────────────────────────────────────────────────────────────────────────────── * **同一只产物**再原样多行写一份到 stderr。刻意不做的三件:不铸第二份文案(两份措辞必然分叉)、不加 * pretty 旋钮(一个只有出错时才走的出口不该有配置面)、JSON 行**照旧**(机读面零回退,scraper 不动)。 * 两个面都在 stderr,次序=先机器行后人读段。**这个次序还承重**:`createLogger()` 的构造会装上 stdio 的 * EPIPE 无害化监听(见 `observability/logger.ts` 那段注 —— 宿主把 stderr 接管道又先退时,下一次写会发一个 * 异步 `'error'`,无监听即致命),所以那条裸 `process.stderr.write` **必须**排在它之后;同步抛由下面的 * `try/finally` 兜住。 * * 全仓两个 fatal 出口(`main.ts` 的 `main().catch` 与 `run-local.ts` 的同名尾巴)都经这里 —— 后者此前 * 连形状律都没过(裸 `String(err)`),两处各写一遍正是「同类不同命」的土壤。 */ export declare function fatalExit(err: unknown): never; //# sourceMappingURL=fatal-exit.d.ts.map