UNPKG

@tanstack/ai

Version:

Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.

30 lines (28 loc) 1.01 kB
/** * Best-effort extraction of a human-readable message from an unknown thrown * value, returning `undefined` when none can be found. * * Used by `otelMiddleware` so error reporting stays identical across chat and * media spans. */ export function errorMessage(err: unknown): string | undefined { if (err instanceof Error) return err.message if (typeof err === 'string') return err if (err && typeof err === 'object' && 'message' in err) { const m = (err as { message?: unknown }).message if (typeof m === 'string') return m } return undefined } /** * Best-effort extraction of an error's type name (used for the `error.type` * metric attribute), falling back to `'Error'` when no name is available. */ export function errorTypeName(err: unknown): string { if (err instanceof Error) return err.name || 'Error' if (err && typeof err === 'object' && 'name' in err) { const n = (err as { name?: unknown }).name if (typeof n === 'string') return n } return 'Error' }