UNPKG

@copilotkit/runtime

Version:

<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />

35 lines (33 loc) 1.7 kB
import "reflect-metadata"; import { CopilotKitErrorCode, CopilotKitLowLevelError } from "@copilotkit/shared"; //#region src/service-adapters/shared/error-utils.ts /** * Converts service adapter errors to structured CopilotKitError format using HTTP status codes. * This provides consistent error classification across all service adapters. */ function convertServiceAdapterError(error, adapterName) { const errorName = error?.constructor?.name || error.name; const errorMessage = error?.message || String(error); const statusCode = error.status || error.statusCode || error.response?.status; const responseData = error.error || error.response?.data || error.data; const structuredError = new CopilotKitLowLevelError({ error: error instanceof Error ? error : new Error(errorMessage), url: `${adapterName} service adapter`, message: `${adapterName} API error: ${errorMessage}` }); if (statusCode) structuredError.statusCode = statusCode; if (responseData) structuredError.responseData = responseData; if (errorName) structuredError.originalErrorType = errorName; let newCode; if (statusCode === 401) newCode = CopilotKitErrorCode.AUTHENTICATION_ERROR; else if (statusCode >= 400 && statusCode < 500) newCode = CopilotKitErrorCode.CONFIGURATION_ERROR; else if (statusCode >= 500) newCode = CopilotKitErrorCode.NETWORK_ERROR; else if (statusCode) newCode = CopilotKitErrorCode.CONFIGURATION_ERROR; else newCode = CopilotKitErrorCode.NETWORK_ERROR; structuredError.code = newCode; if (structuredError.extensions) structuredError.extensions.code = newCode; return structuredError; } //#endregion export { convertServiceAdapterError }; //# sourceMappingURL=error-utils.mjs.map