parakon-runtime / tools /ui /src /lib /utils /parse-exec-shell-error.ts
kat0012's picture
Parakon runtime: llama.cpp fork with fused 1-bit CUDA/Metal/CPU kernels (part 8)
b7b13c6 verified
Raw History Blame Contribute Delete
744 Bytes
export function parseExecShellCommandError(
toolResultString: string | undefined
): string | undefined {
if (!toolResultString) return undefined;
// Exec results are usually large plain-text stdout; only a JSON object
// root can carry an error field, so skip the parse otherwise
const trimmed = toolResultString.trimStart();
if (trimmed[0] !== '{') return undefined;
try {
const parsed: unknown = JSON.parse(trimmed);
if (
parsed &&
typeof parsed === 'object' &&
!Array.isArray(parsed) &&
typeof (parsed as Record<string, unknown>).error === 'string'
) {
return (parsed as { error: string }).error;
}
} catch {
// Plain-text result = stdout/stderr, no structured error to surface.
}
return undefined;
}