UNPKG

@lobehub/chat-plugin-sdk

Version:

Lobe Chat Plugin SDK, help you to build an amazing chat plugin for Lobe Chat

99 lines (97 loc) 3.43 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/error.ts var error_exports = {}; __export(error_exports, { PluginErrorType: () => PluginErrorType, createErrorResponse: () => createErrorResponse, getPluginErrorStatus: () => getPluginErrorStatus }); module.exports = __toCommonJS(error_exports); var PluginErrorType = { // ******* 业务错误语义 ******* // PluginMarketIndexNotFound: "PluginMarketIndexNotFound", // 插件市场索引解析失败 PluginMarketIndexInvalid: "PluginMarketIndexInvalid", // 插件市场索引无效 PluginMetaNotFound: "PluginMetaNotFound", // 没有找到插件元数据 PluginMetaInvalid: "PluginMetaInvalid", // 插件元数据无效 PluginManifestNotFound: "PluginManifestNotFound", // 插件描述文件不存在 PluginManifestInvalid: "PluginManifestInvalid", // 插件描述文件格式不正确 PluginSettingsInvalid: "PluginSettingsInvalid", // 插件设置不正确 PluginApiNotFound: "PluginApiNotFound", // 插件 API 不存在 PluginApiParamsError: "PluginApiParamsError", // 插件 API 请求入参有问题 PluginServerError: "PluginServerError", // 插件服务端出错 PluginGatewayError: "PluginGatewayError", // 插件网关出错 PluginOpenApiInitError: "PluginOpenApiInitError", // 插件 OpenAPI 初始化失败 // ******* 客户端错误 ******* // BadRequest: 400, Unauthorized: 401, Forbidden: 403, ContentNotFound: 404, // 没找到接口 MethodNotAllowed: 405, // 不支持 TooManyRequests: 429, // ******* 服务端错误 ******* // InternalServerError: 500, BadGateway: 502, ServiceUnavailable: 503, GatewayTimeout: 504 }; var getPluginErrorStatus = (errorType) => { switch (errorType) { case PluginErrorType.PluginApiNotFound: case PluginErrorType.PluginMetaNotFound: case PluginErrorType.PluginManifestNotFound: return 404; case PluginErrorType.PluginMetaInvalid: case PluginErrorType.PluginMarketIndexInvalid: case PluginErrorType.PluginManifestInvalid: return 490; case PluginErrorType.PluginMarketIndexNotFound: return 590; case PluginErrorType.PluginApiParamsError: case PluginErrorType.PluginSettingsInvalid: return 422; } if (typeof errorType === "number") return errorType; return 500; }; var createErrorResponse = (errorType, body) => { const statusCode = getPluginErrorStatus(errorType); const data = { body, errorType }; return new Response(JSON.stringify(data), { status: statusCode }); }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { PluginErrorType, createErrorResponse, getPluginErrorStatus });