UNPKG

@cognigy/rest-api-client

Version:

Cognigy REST-Client

105 lines 4.88 kB
"use strict"; 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