n8n/packages/@n8n/expression-runtime/src/evaluator/error-classification.ts
Iván Ovejero f3efcf8a54
feat(core): Add observability for the VM expression engine (#28715)
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 14:11:07 +00:00

12 lines
530 B
TypeScript

import { MemoryLimitError, SecurityViolationError, SyntaxError, TimeoutError } from '../types';
export type ExpressionErrorType = 'timeout' | 'memory_limit' | 'security' | 'syntax' | 'unknown';
export function classifyExpressionError(error: unknown): ExpressionErrorType {
if (error instanceof TimeoutError) return 'timeout';
if (error instanceof MemoryLimitError) return 'memory_limit';
if (error instanceof SecurityViolationError) return 'security';
if (error instanceof SyntaxError) return 'syntax';
return 'unknown';
}