Fix MCP error wrapping for DRC payloads

This commit is contained in:
jbjardine
2026-05-23 22:32:15 +02:00
parent ece116d563
commit aac80b57b8
3 changed files with 90 additions and 64 deletions

View File

@@ -0,0 +1,30 @@
export type McpTextResult = {
content: Array<{
type: "text";
text: string;
}>;
isError?: true;
};
function isKicadFailure(result: unknown): boolean {
return (
typeof result === "object" &&
result !== null &&
"success" in result &&
(result as { success?: unknown }).success === false
);
}
export function formatKicadResult(result: unknown): McpTextResult {
const text = JSON.stringify(result) ?? String(result);
return {
content: [
{
type: "text",
text,
},
],
...(isKicadFailure(result) ? { isError: true as const } : {}),
};
}