ai
Version:
AI SDK by Vercel - The AI Toolkit for TypeScript and JavaScript
49 lines (41 loc) • 1.28 kB
text/typescript
import { AISDKError } from '@ai-sdk/provider';
const name = 'AI_UIMessageStreamError';
const marker = `vercel.ai.error.${name}`;
const symbol = Symbol.for(marker);
/**
* Error thrown when a UI message stream contains invalid or out-of-sequence chunks.
*
* This typically occurs when:
* - A delta chunk is received without a corresponding start chunk
* - An end chunk is received without a corresponding start chunk
* - A tool invocation is not found for the given toolCallId
*
* @see https://ai-sdk.dev/docs/reference/ai-sdk-errors/ai-ui-message-stream-error
*/
export class UIMessageStreamError extends AISDKError {
private readonly [symbol] = true; // used in isInstance
/**
* The type of chunk that caused the error (e.g., 'text-delta', 'reasoning-end').
*/
readonly chunkType: string;
/**
* The ID associated with the failing chunk (part ID or toolCallId).
*/
readonly chunkId: string;
constructor({
chunkType,
chunkId,
message,
}: {
chunkType: string;
chunkId: string;
message: string;
}) {
super({ name, message });
this.chunkType = chunkType;
this.chunkId = chunkId;
}
static isInstance(error: unknown): error is UIMessageStreamError {
return AISDKError.hasMarker(error, marker);
}
}