lexica-dialog-core
Version:
Core server for Lexica dialog agent.
24 lines • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const lodash_1 = require("lodash");
const immutable_1 = require("immutable");
const messengerMiddleware = async (context, next) => {
const { messenger, uniConfigs, serverContext, rawRequest } = context;
const request = messenger.request(rawRequest);
context.request = request;
if (!lodash_1.isNil(request.commands) && !request.commands.isEmpty()) {
context.commands = immutable_1.List(request.commands.toArray().map(command => ({
attributes: immutable_1.Map(),
botResponses: immutable_1.List(),
features: command.features,
name: command.name,
processedFeatures: immutable_1.Map(),
})));
}
await next();
const { responses } = context;
context.rawResponses = messenger.response(responses, request.senderId, rawRequest);
await messenger.send(context.rawResponses, uniConfigs);
};
exports.default = messengerMiddleware;
//# sourceMappingURL=MessengerMiddleware.js.map