openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
18 lines (17 loc) • 949 B
JavaScript
import { o as normalizeLowercaseStringOrEmpty } from "./string-coerce-CIXf7egm.js";
//#region src/infra/runtime-status.ts
/** Formats runtime health/status text with optional pid, state, and extra diagnostic details. */
function formatRuntimeStatusWithDetails({ status, pid, state, details = [] }) {
const runtimeStatus = status?.trim() || "unknown";
const fullDetails = [];
if (pid) fullDetails.push(`pid ${pid}`);
const normalizedState = state?.trim();
if (normalizedState && normalizeLowercaseStringOrEmpty(normalizedState) !== normalizeLowercaseStringOrEmpty(runtimeStatus)) fullDetails.push(`state ${normalizedState}`);
for (const detail of details) {
const normalizedDetail = detail.replace(/\s+/g, " ").trim();
if (normalizedDetail) fullDetails.push(normalizedDetail);
}
return fullDetails.length > 0 ? `${runtimeStatus} (${fullDetails.join(", ")})` : runtimeStatus;
}
//#endregion
export { formatRuntimeStatusWithDetails as t };