Spaces:
Build error
Build error
| // File generated from our OpenAPI spec by Stainless. | |
| import { castToError } from "./core.mjs"; | |
| export class AnthropicError extends Error { | |
| } | |
| export class APIError extends AnthropicError { | |
| constructor(status, error, message, headers) { | |
| super(`${APIError.makeMessage(status, error, message)}`); | |
| this.status = status; | |
| this.headers = headers; | |
| this.error = error; | |
| } | |
| static makeMessage(status, error, message) { | |
| const msg = error?.message ? | |
| typeof error.message === 'string' ? error.message | |
| : JSON.stringify(error.message) | |
| : error ? JSON.stringify(error) | |
| : message; | |
| if (status && msg) { | |
| return `${status} ${msg}`; | |
| } | |
| if (status) { | |
| return `${status} status code (no body)`; | |
| } | |
| if (msg) { | |
| return msg; | |
| } | |
| return '(no status code or body)'; | |
| } | |
| static generate(status, errorResponse, message, headers) { | |
| if (!status) { | |
| return new APIConnectionError({ cause: castToError(errorResponse) }); | |
| } | |
| const error = errorResponse; | |
| if (status === 400) { | |
| return new BadRequestError(status, error, message, headers); | |
| } | |
| if (status === 401) { | |
| return new AuthenticationError(status, error, message, headers); | |
| } | |
| if (status === 403) { | |
| return new PermissionDeniedError(status, error, message, headers); | |
| } | |
| if (status === 404) { | |
| return new NotFoundError(status, error, message, headers); | |
| } | |
| if (status === 409) { | |
| return new ConflictError(status, error, message, headers); | |
| } | |
| if (status === 422) { | |
| return new UnprocessableEntityError(status, error, message, headers); | |
| } | |
| if (status === 429) { | |
| return new RateLimitError(status, error, message, headers); | |
| } | |
| if (status >= 500) { | |
| return new InternalServerError(status, error, message, headers); | |
| } | |
| return new APIError(status, error, message, headers); | |
| } | |
| } | |
| export class APIUserAbortError extends APIError { | |
| constructor({ message } = {}) { | |
| super(undefined, undefined, message || 'Request was aborted.', undefined); | |
| this.status = undefined; | |
| } | |
| } | |
| export class APIConnectionError extends APIError { | |
| constructor({ message, cause }) { | |
| super(undefined, undefined, message || 'Connection error.', undefined); | |
| this.status = undefined; | |
| // in some environments the 'cause' property is already declared | |
| // @ts-ignore | |
| if (cause) | |
| this.cause = cause; | |
| } | |
| } | |
| export class APIConnectionTimeoutError extends APIConnectionError { | |
| constructor({ message } = {}) { | |
| super({ message: message ?? 'Request timed out.' }); | |
| } | |
| } | |
| export class BadRequestError extends APIError { | |
| constructor() { | |
| super(...arguments); | |
| this.status = 400; | |
| } | |
| } | |
| export class AuthenticationError extends APIError { | |
| constructor() { | |
| super(...arguments); | |
| this.status = 401; | |
| } | |
| } | |
| export class PermissionDeniedError extends APIError { | |
| constructor() { | |
| super(...arguments); | |
| this.status = 403; | |
| } | |
| } | |
| export class NotFoundError extends APIError { | |
| constructor() { | |
| super(...arguments); | |
| this.status = 404; | |
| } | |
| } | |
| export class ConflictError extends APIError { | |
| constructor() { | |
| super(...arguments); | |
| this.status = 409; | |
| } | |
| } | |
| export class UnprocessableEntityError extends APIError { | |
| constructor() { | |
| super(...arguments); | |
| this.status = 422; | |
| } | |
| } | |
| export class RateLimitError extends APIError { | |
| constructor() { | |
| super(...arguments); | |
| this.status = 429; | |
| } | |
| } | |
| export class InternalServerError extends APIError { | |
| } | |
| //# sourceMappingURL=error.mjs.map |