136 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			136 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								exports.InvalidWebhookSignatureError = exports.ContentFilterFinishReasonError = exports.LengthFinishReasonError = exports.InternalServerError = exports.RateLimitError = exports.UnprocessableEntityError = exports.ConflictError = exports.NotFoundError = exports.PermissionDeniedError = exports.AuthenticationError = exports.BadRequestError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIUserAbortError = exports.APIError = exports.OpenAIError = void 0;
							 | 
						||
| 
								 | 
							
								const errors_1 = require("../internal/errors.js");
							 | 
						||
| 
								 | 
							
								class OpenAIError extends Error {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.OpenAIError = OpenAIError;
							 | 
						||
| 
								 | 
							
								class APIError extends OpenAIError {
							 | 
						||
| 
								 | 
							
								    constructor(status, error, message, headers) {
							 | 
						||
| 
								 | 
							
								        super(`${APIError.makeMessage(status, error, message)}`);
							 | 
						||
| 
								 | 
							
								        this.status = status;
							 | 
						||
| 
								 | 
							
								        this.headers = headers;
							 | 
						||
| 
								 | 
							
								        this.requestID = headers?.get('x-request-id');
							 | 
						||
| 
								 | 
							
								        this.error = error;
							 | 
						||
| 
								 | 
							
								        const data = error;
							 | 
						||
| 
								 | 
							
								        this.code = data?.['code'];
							 | 
						||
| 
								 | 
							
								        this.param = data?.['param'];
							 | 
						||
| 
								 | 
							
								        this.type = data?.['type'];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    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 || !headers) {
							 | 
						||
| 
								 | 
							
								            return new APIConnectionError({ message, cause: (0, errors_1.castToError)(errorResponse) });
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        const error = errorResponse?.['error'];
							 | 
						||
| 
								 | 
							
								        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);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.APIError = APIError;
							 | 
						||
| 
								 | 
							
								class APIUserAbortError extends APIError {
							 | 
						||
| 
								 | 
							
								    constructor({ message } = {}) {
							 | 
						||
| 
								 | 
							
								        super(undefined, undefined, message || 'Request was aborted.', undefined);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.APIUserAbortError = APIUserAbortError;
							 | 
						||
| 
								 | 
							
								class APIConnectionError extends APIError {
							 | 
						||
| 
								 | 
							
								    constructor({ message, cause }) {
							 | 
						||
| 
								 | 
							
								        super(undefined, undefined, message || 'Connection error.', undefined);
							 | 
						||
| 
								 | 
							
								        // in some environments the 'cause' property is already declared
							 | 
						||
| 
								 | 
							
								        // @ts-ignore
							 | 
						||
| 
								 | 
							
								        if (cause)
							 | 
						||
| 
								 | 
							
								            this.cause = cause;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.APIConnectionError = APIConnectionError;
							 | 
						||
| 
								 | 
							
								class APIConnectionTimeoutError extends APIConnectionError {
							 | 
						||
| 
								 | 
							
								    constructor({ message } = {}) {
							 | 
						||
| 
								 | 
							
								        super({ message: message ?? 'Request timed out.' });
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.APIConnectionTimeoutError = APIConnectionTimeoutError;
							 | 
						||
| 
								 | 
							
								class BadRequestError extends APIError {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.BadRequestError = BadRequestError;
							 | 
						||
| 
								 | 
							
								class AuthenticationError extends APIError {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.AuthenticationError = AuthenticationError;
							 | 
						||
| 
								 | 
							
								class PermissionDeniedError extends APIError {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.PermissionDeniedError = PermissionDeniedError;
							 | 
						||
| 
								 | 
							
								class NotFoundError extends APIError {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.NotFoundError = NotFoundError;
							 | 
						||
| 
								 | 
							
								class ConflictError extends APIError {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.ConflictError = ConflictError;
							 | 
						||
| 
								 | 
							
								class UnprocessableEntityError extends APIError {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.UnprocessableEntityError = UnprocessableEntityError;
							 | 
						||
| 
								 | 
							
								class RateLimitError extends APIError {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.RateLimitError = RateLimitError;
							 | 
						||
| 
								 | 
							
								class InternalServerError extends APIError {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.InternalServerError = InternalServerError;
							 | 
						||
| 
								 | 
							
								class LengthFinishReasonError extends OpenAIError {
							 | 
						||
| 
								 | 
							
								    constructor() {
							 | 
						||
| 
								 | 
							
								        super(`Could not parse response content as the length limit was reached`);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.LengthFinishReasonError = LengthFinishReasonError;
							 | 
						||
| 
								 | 
							
								class ContentFilterFinishReasonError extends OpenAIError {
							 | 
						||
| 
								 | 
							
								    constructor() {
							 | 
						||
| 
								 | 
							
								        super(`Could not parse response content as the request was rejected by the content filter`);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.ContentFilterFinishReasonError = ContentFilterFinishReasonError;
							 | 
						||
| 
								 | 
							
								class InvalidWebhookSignatureError extends Error {
							 | 
						||
| 
								 | 
							
								    constructor(message) {
							 | 
						||
| 
								 | 
							
								        super(message);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.InvalidWebhookSignatureError = InvalidWebhookSignatureError;
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=error.js.map
							 |