hts/packages/provider/src/errors/invalid-response-data-error.ts

42 lines
874 B
TypeScript

/**
Server returned a response with invalid data content. This should be thrown by providers when they
cannot parse the response from the API.
*/
export class InvalidResponseDataError extends Error {
readonly data: unknown;
constructor({
data,
message = `Invalid response data: ${JSON.stringify(data)}.`,
}: {
data: unknown;
message?: string;
}) {
super(message);
this.name = 'AI_InvalidResponseDataError';
this.data = data;
}
static isInvalidResponseDataError(
error: unknown,
): error is InvalidResponseDataError {
return (
error instanceof Error &&
error.name === 'AI_InvalidResponseDataError' &&
(error as InvalidResponseDataError).data != null
);
}
toJSON() {
return {
name: this.name,
message: this.message,
stack: this.stack,
data: this.data,
};
}
}