fix cursor stream-json multiplexed output handling

This commit is contained in:
Dotta
2026-03-05 08:07:20 -06:00
parent 875924a7f3
commit 426c1044b6
6 changed files with 89 additions and 7 deletions

View File

@@ -0,0 +1,16 @@
export function normalizeCursorStreamLine(rawLine: string): {
stream: "stdout" | "stderr" | null;
line: string;
} {
const trimmed = rawLine.trim();
if (!trimmed) return { stream: null, line: "" };
const prefixed = trimmed.match(/^(stdout|stderr)\s*[:=]?\s*([\[{].*)$/i);
if (!prefixed) {
return { stream: null, line: trimmed };
}
const stream = prefixed[1]?.toLowerCase() === "stderr" ? "stderr" : "stdout";
const line = (prefixed[2] ?? "").trim();
return { stream, line };
}