@cognigy/rest-api-client
Version:
Cognigy REST-Client
105 lines • 4.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CLEAN_TEXT = void 0;
const createNodeDescriptor_1 = require("../../createNodeDescriptor");
const textCleaner_1 = require("../../../helper/nlu/textCleaner");
const cleanTextUtils_1 = require("../message/question/utils/cleanTextUtils");
exports.CLEAN_TEXT = (0, createNodeDescriptor_1.createNodeDescriptor)({
type: "cleanText",
defaultLabel: "Clean Text",
summary: "UI__NODE_EDITOR__NLU__CLEAN_TEXT__DEFAULT_SUMMARY",
tags: ["ai", "nlu", "clean", "cleaning", "parser", "parsing"],
preview: {
key: "textToClean",
type: "text"
},
fields: [].concat((0, cleanTextUtils_1.getCleanTextFields)()),
sections: [
{
key: "storageOption",
label: "UI__NODE_EDITOR__NLU__CLEAN_TEXT__STORAGE_OPTION__LABEL",
defaultCollapsed: true,
fields: [
"storeLocation",
"inputKey",
"contextKeyToStoreResult"
]
},
{
key: "advanced",
label: "UI__NODE_EDITOR__NLU__CLEAN_TEXT__ADVANCED__LABEL",
defaultCollapsed: true,
fields: [
"cleanTextLocale"
]
}
],
form: [
{ type: "field", key: "textToClean" },
{ type: "field", key: "cleanDisallowedSymbols" },
{ type: "field", key: "additionalAllowedCharacters" },
{ type: "field", key: "additionalMappedSymbols" },
{ type: "field", key: "resolveSpelledOutNumbers" },
{ type: "field", key: "resolvePhoneticAlphabet" },
{ type: "field", key: "additionalPhoneticAlphabet" },
{ type: "field", key: "replaceSpecialWords" },
{ type: "field", key: "additionalSpecialPhrases" },
{ type: "field", key: "resolveSpelledOutAlphabet" },
{ type: "field", key: "resolvePhoneticCounters" },
{ type: "field", key: "contractSingleCharacters" },
{ type: "field", key: "contractNumberGroups" },
{ type: "field", key: "trimResult" },
{ type: "section", key: "storageOption" },
{ type: "section", key: "advanced" }
],
function: async ({ cognigy, config }) => {
var _a, _b;
const { api, input } = cognigy;
const { textToClean, cleanTextLocale, cleanDisallowedSymbols, contractSingleCharacters, contractNumberGroups, replaceSpecialWords, resolveSpelledOutNumbers, resolvePhoneticAlphabet, resolvePhoneticCounters, resolveSpelledOutAlphabet, trimResult, additionalAllowedCharacters, additionalSpecialPhrases, additionalMappedSymbols, additionalPhoneticAlphabet, storeLocation, inputKey, contextKeyToStoreResult } = config;
if (!textToClean)
throw new Error("No text provided.");
try {
const options = {
cleanDisallowedSymbols,
contractSingleCharacters,
replaceSpecialWords,
replaceSpecialPhrases: replaceSpecialWords,
resolveSpelledOutNumbers,
resolvePhoneticAlphabet,
resolvePhoneticCounters,
resolveSpelledOutAlphabet,
contractNumberGroups,
trimResult
};
// set locale for CleanText class
// Fallback is always "en"
let localeToUse = "en";
if (!cleanTextLocale || cleanTextLocale === "infer") {
const flowLocale = ((_a = input === null || input === void 0 ? void 0 : input.language) === null || _a === void 0 ? void 0 : _a.substring(0, 2)) || "en";
if (flowLocale === "en" || flowLocale === "de") {
localeToUse = flowLocale;
}
}
else {
localeToUse = cleanTextLocale;
}
const result = new textCleaner_1.TextCleaner(localeToUse, additionalAllowedCharacters, additionalMappedSymbols, additionalSpecialPhrases, additionalPhoneticAlphabet).cleanAll(textToClean, options, (_b = input === null || input === void 0 ? void 0 : input.nlu) === null || _b === void 0 ? void 0 : _b.detailedSlots);
result !== textToClean && api.logDebugMessage(`UI__DEBUG_MODE__CLEAN_TEXT__MESSAGE ${textToClean}<br>UI__DEBUG_MODE__CLEAN_TEXT__MESSAGE_2 ${result}`);
if (storeLocation === "context") {
api.addToContext(contextKeyToStoreResult, result, "simple");
}
else {
api.addToInput(inputKey, result);
}
}
catch (error) {
if (storeLocation === "context") {
api.addToContext(contextKeyToStoreResult, error, "simple");
}
else {
api.addToInput(inputKey, error);
}
}
}
});
//# sourceMappingURL=cleanText.js.map