ai-utils.js
Version:
Build AI applications, chatbots, and agents with JavaScript and TypeScript.
40 lines (39 loc) • 1.67 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.failedAutomatic1111CallResponseHandler = exports.Automatic1111Error = exports.automatic1111ErrorDataSchema = void 0;
const zod_1 = require("zod");
const secure_json_parse_1 = __importDefault(require("secure-json-parse"));
const ApiCallError_js_1 = require("../../util/api/ApiCallError.cjs");
exports.automatic1111ErrorDataSchema = zod_1.z.object({
error: zod_1.z.string(),
detail: zod_1.z.string(),
body: zod_1.z.string(),
errors: zod_1.z.string(),
});
class Automatic1111Error extends ApiCallError_js_1.ApiCallError {
constructor({ data, statusCode, url, requestBodyValues, message = data.detail, }) {
super({ message, statusCode, requestBodyValues, url });
Object.defineProperty(this, "data", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.data = data;
}
}
exports.Automatic1111Error = Automatic1111Error;
const failedAutomatic1111CallResponseHandler = async ({ response, url, requestBodyValues }) => {
const responseBody = await response.text();
const parsedError = exports.automatic1111ErrorDataSchema.parse(secure_json_parse_1.default.parse(responseBody));
return new Automatic1111Error({
url,
requestBodyValues,
statusCode: response.status,
data: parsedError,
});
};
exports.failedAutomatic1111CallResponseHandler = failedAutomatic1111CallResponseHandler;