@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
JavaScript
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
});