UNPKG

@cognigy/rest-api-client

Version:

Cognigy REST-Client

1,143 lines 127 kB
/** * This Question Node asks the user a question and expects a certain type of answer back. * The answer is evaluated by the Node and if it's invalid, the user is guided towards * giving a correct answer. * * The Node executes the following steps, all of which have been marked as #regions in the code below * * 0. Check if we're currently in a reconfirmation of a valid answer and if yes, handle it * * 1. Check if answer exists in context and stop if it does * * 2. Check if this is the first time the node is hit and if yes, ask the question and stop (return); if not * * 3. - doesnt exist anymore - * * 4. Run actual evaluation of the answer using evaluateQuestionAnswer * 4.1 If result location was specified, try to get the result from there * * 5. If answer is: * 5.1 VALID * 5.1.1 If reconfirmation is needed, start reconfirmation process and stop * 5.1.2 Store the answer either in Context or Input * 5.1.3 Store the answer also in the profile * 5.1.4 Reset markers and activeQuestion in system Context and return * * 5.2 INVALID * 5.2.1 Check if we should escalate on intent and if yes, do so * 5.2.2 Otherwise (!) check if we should escalate on multiple wrong answers and if yes, do so * 5.2.3 Check if we should say the reprompt an if yes, say it, plus the question again * 5.2.4 Sets itself as the next Node and stops execution */ import { __awaiter } from "tslib"; //#region Imports /* Custom modules */ import { createNodeDescriptor } from "../../../createNodeDescriptor"; import { evaluateQuestionAnswer } from "./utils/evaluateQuestionAnswer"; import { SAY } from "../say"; import { GO_TO } from "../../logic/goTo"; import { EXECUTE_FLOW } from "../../logic/executeFlow"; import { BaseContext } from "../../../../helper/BaseContext"; import { getQuestionText } from "./utils/getQuestionText"; import { storeQuestionAnswer } from "./utils/storeQuestionAnswer"; import { generateAnswerShortForm } from "./utils/generateAnswerShortForm"; import { validateQuestionAnswer } from "./utils/validateQuestionAnswer"; import { HANDOVER_V2 } from "../../service"; import { showDatePicker, getDatePickerFields, getDatePickerSections } from './utils/datepickerUtils'; import { resetNodeState } from "./utils/resetNodeState"; import { questionHandover } from "./utils/questionHandover"; import { getRephraseWithAIFields, getRephraseWithAISection } from "../../../helpers/generativeAI/getRephraseWithAIFields"; import { getCleanTextFields } from './utils/cleanTextUtils'; import { TextCleaner } from '../../../../helper/nlu/textCleaner'; import { COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS } from "../../../../constants"; import { createLastConversationChatObject } from "../../nlu/generativeSlotFiller/prompt"; export var QuestionTypes; (function (QuestionTypes) { QuestionTypes[QuestionTypes["date"] = 0] = "date"; QuestionTypes[QuestionTypes["keyphrase"] = 1] = "keyphrase"; QuestionTypes[QuestionTypes["regex"] = 2] = "regex"; QuestionTypes[QuestionTypes["email"] = 3] = "email"; QuestionTypes[QuestionTypes["number"] = 4] = "number"; QuestionTypes[QuestionTypes["temperature"] = 5] = "temperature"; QuestionTypes[QuestionTypes["age"] = 6] = "age"; QuestionTypes[QuestionTypes["duration"] = 7] = "duration"; QuestionTypes[QuestionTypes["yesNo"] = 8] = "yesNo"; QuestionTypes[QuestionTypes["text"] = 9] = "text"; QuestionTypes[QuestionTypes["money"] = 10] = "money"; QuestionTypes[QuestionTypes["percentage"] = 11] = "percentage"; QuestionTypes[QuestionTypes["intent"] = 12] = "intent"; QuestionTypes[QuestionTypes["data"] = 13] = "data"; QuestionTypes[QuestionTypes["url"] = 14] = "url"; QuestionTypes[QuestionTypes["custom"] = 15] = "custom"; QuestionTypes[QuestionTypes["de_lp"] = 16] = "de_lp"; QuestionTypes[QuestionTypes["iban"] = 17] = "iban"; QuestionTypes[QuestionTypes["us_ssn"] = 18] = "us_ssn"; QuestionTypes[QuestionTypes["bic"] = 19] = "bic"; QuestionTypes[QuestionTypes["ipv4"] = 20] = "ipv4"; QuestionTypes[QuestionTypes["creditcard"] = 21] = "creditcard"; QuestionTypes[QuestionTypes["phonenumber"] = 22] = "phonenumber"; QuestionTypes[QuestionTypes["llm_entity"] = 23] = "llm_entity"; })(QuestionTypes || (QuestionTypes = {})); //#endregion Interfaces export const QUESTION = createNodeDescriptor({ //#region DescriptorFields type: "question", defaultLabel: "Question", summary: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__DEFAULT__SUMMARY", behavior: { stopping: false, entrypoint: true }, appearance: { showIcon: false }, fields: [ { key: "type", type: "select", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE__LABEL", params: { required: true, options: [ { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__TEXT__LABEL", value: "text" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__YES_NO__LABEL", value: "yesNo" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__INTENT__LABEL", value: "intent", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__SLOT__LABEL", value: "keyphrase", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__DATE__LABEL", value: "date", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__NUMBER__LABEL", value: "number", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__TEMPERATURE__LABEL", value: "temperature", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__AGE__LABEL", value: "age", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__DURATION__LABEL", value: "duration", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__EMAIL__LABEL", value: "email", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__MONEY__LABEL", value: "money" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__URL__LABEL", value: "url" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__PERCENTAGE__LABEL", value: "percentage" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__REGEX__LABEL", value: "regex", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__LLM_ENTITY__LABEL", value: "llm_entity" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__DATA__LABEL", value: "data", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__XAPP__LABEL", value: "app", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__CUSTOM__LABEL", value: "custom", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__DE_LP__LABEL", value: "de_lp" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__IBAN__LABEL", value: "iban", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__BIC__LABEL", value: "bic" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__US_SSN__LABEL", value: "us_ssn", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__IPV4__LABEL", value: "ipv4" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__PHONENUMBER__LABEL", value: "phonenumber" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS_TYPE_OPTIONS__CREDITCARD__LABEL", value: "creditcard" } ].filter(option => !!option), }, defaultValue: 'yesNo' }, { key: "say", type: "say", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__SAY__LABEL", defaultValue: { data: "{}", type: "text", linear: false, loop: false, text: ["Yes or No?"], _cognigy: {}, } }, { key: "validationMessage", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__VALIDATION_MESSAGE__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__VALIDATION_MESSAGE__DESCRIPTION", defaultValue: "Not sure I understood this correctly.", params: { multiline: true }, condition: { and: [ { key: "repromptType", value: "say", negate: true }, { key: "repromptType", value: "llm", negate: true }, { key: "repromptType", value: "execute", negate: true } ] } }, { key: "repromptCondition", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_CONDITION__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_CONDITION__DESCRIPTION", defaultValue: "" }, { key: "repromptType", type: "select", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_REPROMPT_TYPE__LABEL", defaultValue: "text", params: { options: [ { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_REPROMPT_TYPE__OPTION_TEXT", value: "text" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_REPROMPT_TYPE__OPTION_SAY", value: "say" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_REPROMPT_TYPE__OPTION_LLM", value: "llm" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_REPROMPT_TYPE__OPTION_EXECUTE", value: "execute" }, ] } }, { key: "repromptSay", type: "say", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_SAY__LABEL", defaultValue: { data: "{}", type: "text", linear: false, loop: false, text: ["Sorry, I didn't understand that correctly."], _cognigy: {}, }, condition: { key: "repromptType", value: "say", } }, { key: "repromptLLMProvider", type: "llmSelect", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_LLM_SELECT__LABEL", defaultValue: "default", condition: { key: "repromptType", value: "llm", } }, { key: "repromptLLMPrompt", type: "cognigyLLMText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_LLM_PROMPT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REPROMPT_LLM_PROMPT__DESCRIPTION", defaultValue: `You are a chatbot that helps a user. You asked the user for INSERT_ASK (e.g. "their customer number") and an incorrect answer was given. You now need to guide the user back in a polite way and ask for INSERT_ASK (e.g. "their customer number") again. DO NOT talk about other topics. Do not offer general assistance.`, params: { multiline: true }, condition: { key: "repromptType", value: "llm", } }, { key: "repromptLLMStream", label: "UI__NODE_EDITOR__SERVICE__QUESTION__QUESTION__FIELDS__STREAM_REPROMPT__LABEL", type: "toggle", defaultValue: false, condition: { key: "repromptType", value: "llm", } }, { key: "repromptLLMTurns", label: "UI__NODE_EDITOR__SERVICE__QUESTION__QUESTION__FIELDS__TRANSCRIPT_STEPS__LABEL", type: "slider", description: "UI__NODE_EDITOR__SERVICE__QUESTION__QUESTION__FIELDS__TRANSCRIPT_STEPS__DESCRIPTION", defaultValue: 3, params: { min: 1, max: 10, step: 1 }, condition: { key: "repromptType", value: "llm", } }, { key: "repromptLLMStreamStopTokens", type: "textArray", label: "UI__NODE_EDITOR__SERVICE__GPT_PROMPT__FIELDS__STREAM_STOP_TOKENS__LABEL", description: "UI__NODE_EDITOR__SERVICE__GPT_PROMPT__FIELDS__STREAM_STOP_TOKENS__DESCRIPTION", defaultValue: [".", "!", "?", "\\n"], condition: { key: "repromptLLMStream", value: true, } }, { key: "repromptFlowNode", type: "flowNode", label: "UI__NODE_EDITOR__EXECUTE_FLOW__FLOW_NODE__LABEL", condition: { key: "repromptType", value: "execute", } }, { key: "repromptParseIntents", type: "toggle", label: "UI__NODE_EDITOR__EXECUTE_FLOW__PARSE_INTENTS__LABEL", description: "UI__NODE_EDITOR__EXECUTE_FLOW__PARSE_INTENTS__DESCRIPTION", defaultValue: true, condition: { key: "repromptType", value: "execute", } }, { key: "repromptParseKeyphrases", type: "toggle", label: "UI__NODE_EDITOR__EXECUTE_FLOW__PARSE_KEYPHRASES__LABEL", description: "UI__NODE_EDITOR__EXECUTE_FLOW__PARSE_KEYPHRASES__DESCRIPTION", defaultValue: true, condition: { key: "repromptType", value: "execute", } }, { key: "repromptAbsorbContext", type: "toggle", label: "UI__NODE_EDITOR__EXECUTE_FLOW__ABSORB_CONTEXT__LABEL", description: "UI__NODE_EDITOR__EXECUTE_FLOW__ABSORB_CONTEXT__DESCRIPTION", condition: { key: "repromptType", value: "execute", } }, { key: "validationRepeat", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__VALIDATION_REPEAT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__VALIDATION_REPEAT__DESCRIPTION", defaultValue: true }, { key: "skipRepromptOnIntent", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__SKIP_REPROMPT_ON_INTENT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__SKIP_REPROMPT_ON_INTENT__DESCRIPTION", defaultValue: false }, { key: "keyphraseTag", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__KEYPHRASE_TAG__LABEL", condition: { key: "type", value: "keyphrase" } }, { key: "usePositiveOnly", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__USE_POSITIVE_ONLY__LABEL", condition: { key: "type", value: "keyphrase" } }, { key: "regex", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REGEX__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__REGEX__DESCRIPTION", condition: { key: "type", value: "regex" } }, { key: "storeInContactProfile", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__STORE_CONTACT_PROFILE__LABEL" }, { key: "profileKey", type: "profileSchemaField", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__PROFILE_KEY_PROFILE__LABEL", condition: { key: "storeInContactProfile", value: true } }, { key: "storeDetailedResults", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__STORE_DETAILED_RESULT__LABEL" }, { key: "storeResultInContext", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__STORE_RESULT_IN_CONTEXT__LABEL" }, { key: "contextKey", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__CONTEXT_KEY__LABEL", defaultValue: "result", params: { noTranslate: true }, condition: { key: "storeResultInContext", value: true } }, { key: "skipIfResultInContext", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__SKIP_IF_RESULT_IN_CONTEXT__LABEL", condition: { key: "storeResultInContext", value: true } }, { key: "onlyAcceptEscalationIntents", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ONLY_ACCEPT_ESCALATION_INTENTS__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ONLY_ACCEPT_ESCALATION_INTENTS__DESCRIPTION", condition: { key: "type", value: "intent", negate: true } }, { key: "parseResultOnEntry", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__PARSE_RESULT_ON_ENTRY__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__PARSE_RESULT_ON_ENTRY__DESCRIPTION" }, { key: "datepickerExplanation", type: "description", label: " ", params: { text: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__DATE_PICKER_EXPLANATION__PARAMS__TEXT" }, condition: { key: "type", value: "date" } }, { key: "additionalValidation", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ADDITIONAL_VALIDATION__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ADDITIONAL_VALIDATION__DESCRIPTION", defaultValue: "" }, { key: "resultLocation", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__RESULT_LOCATION__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__RESULT_LOCATION__DESCRIPTION", defaultValue: "" }, { key: "maxExecutionDiff", type: "number", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__MAX_EXECUTION_DIFF__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__MAX_EXECUTION_DIFF__DESCRIPTION", defaultValue: 1 }, { key: "preventTranscript", type: "toggle", defaultValue: false, label: "UI__NODE_EDITOR__MESSAGE__SAY__FIELDS__PREVENT_TRANSCRIPT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__SAY__FIELDS__PREVENT_TRANSCRIPT__DESCRIPTION", }, { key: "escalateAnswersAction", type: "select", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWER_ACTION__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWER_ACTION__DESCRIPTION", params: { options: [ { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWER_ACTION__OPTIONS__NONE__LABEL", value: "none" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWER_ACTION__OPTIONS__TEXT__LABEL", value: "text", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWER_ACTION__OPTIONS__SKIP__LABEL", value: "skip", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWER_ACTION__OPTIONS__GOTO__LABEL", value: "goto" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWER_ACTION__OPTIONS__EXECUTE__LABEL", value: "execute" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWER_ACTION__OPTIONS__HANDOVER__LABEL", value: "handover" } ], }, defaultValue: 'none' }, { key: "escalateAnswersThreshold", type: "slider", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATION_ANSWER_THRESHOLD__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATION_ANSWER_THRESHOLD__DESCRIPTION", params: { min: 1, max: 10, step: 1, }, defaultValue: 3, condition: { key: "escalateAnswersAction", value: "none", negate: true } }, { key: "escalateAnswersGotoTarget", type: "flowNode", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATION_ANSWERS_GOTO_TARGET__LABEL", condition: { key: "escalateAnswersAction", value: "goto" } }, { key: "escalateAnswersExecuteTarget", type: "flowNode", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_EXECUTE_TARGET__LABEL", condition: { key: "escalateAnswersAction", value: "execute" } }, { key: "escalateAnswersGotoExecutionMode", type: "select", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_GOTO_EXECUTION_MODE__DESCRIPTION", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_GOTO_EXECUTION_MODE__LABEL", defaultValue: "continue", params: { options: [ { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_GOTO_EXECUTION_MODE__OPTIONS__CONTINUE__LABEL", value: "continue" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_GOTO_EXECUTION_MODE__OPTIONS__WAIT__LABEL", value: "wait" }, ] }, condition: { key: "escalateAnswersAction", value: "goto" } }, { key: "escalateAnswersInjectedText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_INJECTED_TEXT__LABEL", type: "cognigyText", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_INJECTED_TEXT__DESCRIPTION", defaultValue: "", condition: { key: "escalateAnswersAction", value: "goto" } }, { key: "escalateAnswersInjectedData", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_INJECTED_DATA__LABEL", type: "json", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_INJECTED_DATA__DESCRIPTION", defaultValue: "{}", condition: { key: "escalateAnswersAction", value: "goto" } }, { key: "escalateAnswersMessage", type: "say", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_MESSAGE__LABEL", defaultValue: { data: "{}", type: "text", linear: false, loop: false, text: [""], _cognigy: {}, }, condition: { key: "escalateAnswersAction", value: "text" } }, { key: "escalateAnswersRepromptPrevention", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_PROMPT_PREVENTION__LABEL", defaultValue: true, condition: { key: "escalateAnswersAction", value: "text" } }, { key: "escalateAnswersHandoverText", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVERTEXT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVERTEXT__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverResolveBehavior", type: "select", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_RESOLVE_BEHAVIOR__LABEL", condition: { key: "escalateAnswersAction", value: "handover" }, defaultValue: "continueEntrypoint", params: { options: [ { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_RESOLVE_BEHAVIOR__OPTIONS__RESET_ENTRYPOINT__LABEL", value: "resetEntrypoint" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_RESOLVE_BEHAVIOR__OPTIONS__CONTINUE_ENTRYPOINT__LABEL", value: "continueEntrypoint", }, ], }, }, { key: "escalateAnswersHandoverSendResolveEvent", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_SEND_RESOLVE_EVENT__LABEL", condition: { key: "escalateAnswersAction", value: "handover" }, defaultValue: false, }, process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && { key: COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.ESCALATE_ANSWERS_ALLOW_AGENT_INJECT, type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_ALLOW_AGENT_INJECT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_ALLOW_AGENT_INJECT__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" }, defaultValue: true, }, { key: "escalateAnswersRepeatHandoverMessage", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_REPEAT_HANDOVER_MESSAGE__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_REPEAT_HANDOVER_MESSAGE__DESCRIPTION", defaultValue: false, condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverCancelIntent", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_CANCEL_INTENT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_CANCEL_INTENT__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverQuickReply", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_QUICK_REPLY__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_QUICK_REPLY__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && { key: COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.ESCALATE_ANSWERS_HANDOVER_LIVE_AGENT_INBOX_ID, type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_LIVE_AGENT_INBOX_ID__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_LIVE_AGENT_INBOX_ID__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverChatwootInboxId", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_CHATWOOT_INBOX_ID__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_CHATWOOT_INBOX_ID__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverSendTranscriptAsFirstMessage", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_SEND_TRANSCRIPT_AS_FIRST_MESSAGE__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_SEND_TRANSCRIPT_AS_FIRST_MESSAGE__DESCRIPTION", defaultValue: false, condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverSalesforcePrechatEntities", type: "json", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_SALES_FORCE_PERCHAT_ENTITIES__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_SALES_FORCE_PERCHAT_ENTITIES__DESCRIPTION", defaultValue: "[]", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverSalesforcePrechatDetails", type: "json", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_SALES_FORCE_PERCHAT_DETAILS__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_SALES_FORCE_PERCHAT_DETAILS__DESCRIPTION", defaultValue: "[]", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverGenesysLanguage", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER__GENESYS_LANGUAGE__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER__GENESYS_LANGUAGE__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverGenesysSkills", type: "cognigyTextArray", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER__GENESYS_SKILLS__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER__GENESYS_SKILLS__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverGenesysPriority", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER__GENESYS_PRIORITY__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER__GENESYS_PRIORITY__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverGenesysCustomAttributes", type: "json", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_GENESYS_CUSTOM_ATTRIBUTES__LABEL", defaultValue: {}, description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_GENESYS_CUSTOM_ATTRIBUTES__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverEightByEightChannelId", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_EIGHT_BY_EIGHT_CHANNELID__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_EIGHT_BY_EIGHT_CHANNELID__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverEightByEightQueueId", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_EIGHT_BY_EIGHT_QUEUEID__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_EIGHT_BY_EIGHT_QUEUEID__DESCRIPTION", condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverEightByEightJSONProps", type: "json", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_EIGHT_BY_EIGHT_JSONPROPS__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_EIGHT_BY_EIGHT_JSONPROPS__DESCRIPTION", defaultValue: { "name": null, "userId": null, "email": null, "phone": null, "company": null, "caseId": null, "language": null, "additionalProperties": [ { "key": "Key name", "value": "Value from Cognigy" } ] }, condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersHandoverAdditionalCategoryIds", type: "cognigyTextArray", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_ADDITIONAL_CATEGORRY_IDS__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_HANDOVER_ADDITIONAL_CATEGORRY_IDS__DESCRIPTION", defaultValue: [], condition: { key: "escalateAnswersAction", value: "handover" } }, { key: "escalateAnswersOnce", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_ONCE__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_ONCE__DESCRIPTION", defaultValue: true, condition: { key: "escalateAnswersAction", value: "none", negate: true } }, { key: "escalateAnswersSendOnQueueEvent", type: "toggle", defaultValue: false, label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_SEND_ON_QUEUE_EVENT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_SEND_ON_QUEUE_EVENT__DESCRIPTION", }, { key: "escalateAnswersSendOnActiveEvent", type: "toggle", defaultValue: false, label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_SEND_ON_ACTIVE_EVENT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_ANSWERS_SEND_ON_ACTIVE_EVENT__DESCRIPTION", }, { key: "escalateIntentsAction", type: "select", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_ACTION__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_ACTION__DESCRIPTION", params: { options: [ { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_ACTION__OPTIONS__NONE__LABEL", value: "none" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_ACTION__OPTIONS__TEXT__LABEL", value: "text", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_ACTION__OPTIONS__SKIP__LABEL", value: "skip", }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_ACTION__OPTIONS__GOTO__LABEL", value: "goto" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_ACTION__OPTIONS__EXECUTE__LABEL", value: "execute" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_ACTION__OPTIONS__HANDOVER__LABEL", value: "handover" } ], }, defaultValue: 'none' }, { key: "escalateIntentsValidIntents", type: "chipInput", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_VALID_INTENTS__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_VALID_INTENTS__DESCRIPTION", condition: { key: "escalateIntentsAction", value: "none", negate: true } }, { key: "escalateIntentsThreshold", type: "slider", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_THRESHOLD__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_THRESHOLD__DESCRIPTION", params: { min: 0, max: 1, step: .1, }, defaultValue: .8, condition: { key: "escalateIntentsAction", value: "none", negate: true } }, { key: "escalateIntentsGotoTarget", type: "flowNode", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_GOTO_TARGET__LABEL", condition: { key: "escalateIntentsAction", value: "goto" } }, { key: "escalateIntentsExecuteTarget", type: "flowNode", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_EXECUTE_TARGET__LABEL", condition: { key: "escalateIntentsAction", value: "execute" } }, { key: "escalateIntentsGotoExecutionMode", type: "select", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_GOTO_EXECUTION_MODE__DESCRIPTION", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_GOTO_EXECUTION_MODE__LABEL", defaultValue: "continue", params: { options: [ { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_GOTO_EXECUTION_MODE__OPTIONS__CONTINUE__LABEL", value: "continue" }, { label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_GOTO_EXECUTION_MODE__OPTIONS__WAIT__LABEL", value: "wait" }, ] }, condition: { key: "escalateIntentsAction", value: "goto" } }, { key: "escalateIntentsInjectedText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_INJECT_TEXT__LABEL", type: "cognigyText", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_INJECT_TEXT__DESCRIPTION", defaultValue: "", condition: { key: "escalateIntentsAction", value: "goto" } }, { key: "escalateIntentsInjectedData", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_INJECT_DATA__LABEL", type: "json", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_INJECT_DATA__DESCRIPTION", defaultValue: "{}", condition: { key: "escalateIntentsAction", value: "goto" } }, { key: "escalateIntentsMessage", type: "say", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_MESSAGE__LABEL", defaultValue: { data: "{}", type: "text", linear: false, loop: false, text: [""], _cognigy: {}, }, condition: { key: "escalateIntentsAction", value: "text" } }, { key: "escalateIntentsHandoverText", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_HANDOVER_TEXT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_HANDOVER_TEXT__DESCRIPTION", condition: { key: "escalateIntentsAction", value: "handover" } }, { key: "escalateIntentsRepeatHandoverMessage", type: "toggle", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_REPEAT_HANDOVER_MESSAGE__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_REPEAT_HANDOVER_MESSAGE__DESCRIPTION", defaultValue: false, condition: { key: "escalateIntentsAction", value: "handover" } }, { key: "escalateIntentsHandoverCancelIntent", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_HANDOVER_CANCEL_INTENT__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_HANDOVER_CANCEL_INTENT__DESCRIPTION", condition: { key: "escalateIntentsAction", value: "handover" } }, { key: "escalateIntentsHandoverQuickReply", type: "cognigyText", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_HANDOVER_QUICK_REPLY__LABEL", description: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_HANDOVER_QUICK_REPLY__DESCRIPTION", condition: { key: "escalateIntentsAction", value: "handover" } }, { key: "escalateIntentsHandoverResolveBehavior", type: "select", label: "UI__NODE_EDITOR__MESSAGE__QUESTION__QUESTION__FIELDS__ESCALATE_INTENTS_HANDOVER_RESOLVE_BEHAVIOR__LABEL", condition: { key: "escalateIntentsAction", value: "handover" }, defaultValue: "continueEntrypoint", params: { options: [ { label: "UI__NODE_EDITOR__MESSAGE_