python-archieve-projects/WechatBot/chatflow/src/sdk/openai/lib/util.js

130 lines
6.3 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.transferAIBOT = exports.transferNLP = exports.genToken = exports.checkInit = void 0;
var auth_1 = require("./auth");
var API_1 = require("./API");
var nJwt = require('njwt');
var request = require('request');
function checkInit() {
var error = '';
if (!auth_1.TOKEN) {
error = 'TOKEN不能为空请先调用init方法初始化';
}
if (!auth_1.EncodingAESKey) {
error = 'EncodingAESKey不能为空请先调用init方法初始化';
}
return error;
}
exports.checkInit = checkInit;
function genToken(query) {
var jwt = nJwt.create(query, auth_1.EncodingAESKey, 'HS256');
var token = jwt.compact();
return token;
}
exports.genToken = genToken;
function transferAIBOT(nlpType, query) {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
var error;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
error = checkInit();
if (error) {
reject(error);
return [2 /*return*/];
}
return [4 /*yield*/, request.post("".concat(API_1.api[nlpType], "/").concat(auth_1.TOKEN), {
json: query,
}, function (error, stderr, stdout) {
if (error) {
reject(error);
return;
}
resolve(stdout);
})];
case 1:
_a.sent();
return [2 /*return*/];
}
});
}); })];
});
});
}
exports.transferAIBOT = transferAIBOT;
function transferNLP(nlpType, query) {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
var error, token;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
error = checkInit();
if (error) {
reject(error);
return [2 /*return*/];
}
token = genToken(query);
return [4 /*yield*/, request.post("".concat(API_1.api[nlpType], "/").concat(auth_1.TOKEN), {
json: {
query: token,
},
}, function (error, stderr, stdout) {
if (error) {
reject(error);
return;
}
resolve(stdout);
})];
case 1:
_a.sent();
return [2 /*return*/];
}
});
}); })];
});
});
}
exports.transferNLP = transferNLP;