@tanstack/ai
Version:
Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.
32 lines (31 loc) • 982 B
JavaScript
//#region src/utilities/errors.ts
/**
* 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.
*/
function errorMessage(err) {
if (err instanceof Error) return err.message;
if (typeof err === "string") return err;
if (err && typeof err === "object" && "message" in err) {
const m = err.message;
if (typeof m === "string") return m;
}
}
/**
* 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.
*/
function errorTypeName(err) {
if (err instanceof Error) return err.name || "Error";
if (err && typeof err === "object" && "name" in err) {
const n = err.name;
if (typeof n === "string") return n;
}
return "Error";
}
//#endregion
export { errorMessage, errorTypeName };
//# sourceMappingURL=errors.js.map