touchdesigner-mcp-server
Version:
MCP server for TouchDesigner
35 lines (34 loc) • 973 B
JavaScript
/**
* Handles API errors consistently across the application
*/
export function handleToolError(error, logger, toolName, referenceComment) {
const formattedError = error instanceof Error
? error
: new Error(error === null ? "Null error received" : String(error));
const logData = {
error: formattedError.message,
message: "Tool execution failed",
toolName,
};
if (referenceComment) {
logData.referenceComment = referenceComment;
}
if (formattedError.stack) {
logData.stack = formattedError.stack;
}
logger.sendLog({
data: logData,
level: "error",
logger: "ErrorHandling",
});
const errorMessage = `${toolName}: ${formattedError}${referenceComment ? `. ${referenceComment}` : ""}`;
return {
content: [
{
text: errorMessage,
type: "text",
},
],
isError: true,
};
}