lexica-dialog-core
Version:
Core server for Lexica dialog agent.
29 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const lodash_1 = require("lodash");
const memoriesFeaturesMiddleware = async (context, next) => {
const { sessionService, commands } = context;
if (!lodash_1.isNil(sessionService)) {
const memoriesFeatures = sessionService.getMemoriesFeatures();
commands.toArray().forEach(command => {
const { features } = command;
if (!lodash_1.isNil(features)) {
command.features = memoriesFeatures.merge(features);
}
else {
command.features = memoriesFeatures;
}
});
}
await next();
if (!lodash_1.isNil(sessionService)) {
commands.toArray().forEach(command => {
const { intent, features } = command;
if (!lodash_1.isNil(intent) && !lodash_1.isNil(features)) {
sessionService.addMemory(intent, features);
}
});
}
};
exports.default = memoriesFeaturesMiddleware;
//# sourceMappingURL=MemoriesFeatureMiddleware.js.map