UNPKG

@cognigy/rest-api-client

Version:

Cognigy REST-Client

279 lines 14 kB
import { __awaiter } from "tslib"; /** Custom Modules */ import { createNodeDescriptor } from "../../../createNodeDescriptor"; /** Helper Modules */ import { nodeColor } from '../utils/design'; import { compileParams, getParameterFields, getParamSections } from "../utils/paramUtils"; import { buildPayloadAccm } from "./helper/utils"; export const sendMessageNode = createNodeDescriptor({ type: "sendMessage", defaultLabel: "Send Message", summary: "UI__NODE_EDITOR__VG__SEND_MESSAGE__SUMMARY", // @ts-ignore fields: [ { key: "text", label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__LABEL", type: "cognigyText", params: { required: true, multiline: true, ssmlOptions: [ { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__AUDIO__LABEL", prefix: '<audio src=""/>', }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__EMPHASIS__LABEL", buttons: [ { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__EMPHASIS__BUTTONS__STRONG__LABEL", prefix: '<emphasis level="strong">', suffix: "</emphasis> ", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__EMPHASIS__BUTTONS__MODERATE__LABEL", prefix: '<emphasis level="moderate">', suffix: "</emphasis> ", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__EMPHASIS__BUTTONS__REDUCED__LABEL", prefix: '<emphasis level="reduced">', suffix: "</emphasis> ", }, ], }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__LANG__LABEL", buttons: [ { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__LANG__BUTTONS__MEDIUM__LABEL", prefix: '<break strength="medium"/>', }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__LANG__BUTTONS__STRONG__LABEL", prefix: '<break strength="strong"/>', }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__LANG__BUTTONS__EXTRA_STRONG__LABEL", prefix: '<break strength="x-strong"/>', }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__LANG__BUTTONS__NONE__LABEL", prefix: '<break strength="none"/>', }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__LANG__BUTTONS__1__SECOND__LABEL", prefix: '<break time="1500ms"/>', }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__LANG__BUTTONS__3__SECONDS__LABEL", prefix: '<break time="3s"/>', }, ], }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__STRUCTURE__LABEL", buttons: [ { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__STRUCTURE__BUTTONS__PARAGRAPH__LABEL", prefix: "<p>", suffix: "</p>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__STRUCTURE__BUTTONS__SENTENCE__LABEL", prefix: "<s>", suffix: "</s>", }, ], }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__LABEL", buttons: [ { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__VERBATIM__LABEL", prefix: '<say-as interpret-as="verbatim">', suffix: "</say-as>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__CARDINAL__LABEL", prefix: '<say-as interpret-as="cardinal">', suffix: "</say-as>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__ORDINAL__LABEL", prefix: '<say-as interpret-as="ordinal">', suffix: "</say-as>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__CHARACTERS__LABEL", prefix: '<say-as interpret-as="characters">', suffix: "</say-as>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__FRACTION__LABEL", prefix: '<say-as interpret-as="fraction">', suffix: "</say-as>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__UNIT__LABEL", prefix: '<say-as interpret-as="unit">', suffix: "</say-as>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__TIME__LABEL", prefix: '<say-as interpret-as="time format="hms12">', suffix: "</say-as>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__EXPLETIVE__LABEL", prefix: '<say-as interpret-as="expletive">', suffix: "</say-as>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SAY_AS__BUTTONS__DATE__LABEL", prefix: '<say-as interpret-as="date" format="ymd">', suffix: "</say-as>", }, ], }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__SUB__LABEL", prefix: '<sub alias="aluminium">', suffix: "</sub>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__PROSODY__LABEL", buttons: [ { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__PROSODY__BUTTONS__RATE__LABEL", prefix: '<prosody rate="medium">', suffix: "</prosody>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__PROSODY__BUTTONS__PITCH__LABEL", prefix: '<prosody pitch="medium">', suffix: "</prosody>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__PROSODY__BUTTONS__VOLUME__LABEL", prefix: '<prosody volume="medium">', suffix: "</prosody>", }, ], }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__MEDIA__CONTAINER__LABEL", buttons: [ { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__MEDIA__CONTAINER__BUTTONS__PARALLEL__LABEL", prefix: "<par>", suffix: "</par>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__MEDIA__CONTAINER__BUTTONS__SEQUENCE__LABEL", prefix: "<seq>", suffix: "</seq>", }, ], }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__MEDIA_LAYER__LABEL", buttons: [ { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__MEDIA_LAYER__BUTTONS__SPEAK__LABEL", prefix: "<media><speak>", suffix: "</speak></media>", }, { label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__TEXT__SSML_OPTIONS__MEDIA_LAYER__BUTTONS__AUDIO__LABEL", prefix: "<media><audio>", suffix: "</audio></media>", }, ], }, ] } }, { key: "setActivityParams", label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__SET_ACTIVITY_PARAMS__LABEL", type: "toggle", defaultValue: false }, { key: "activityParams", label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__FIELDS__ACTIVITY_PARAMS__LABEL", type: "json", defaultValue: "{}" } ].concat(getParameterFields()), sections: [ { key: "advanced", label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__SECTIONS__ADVANCED__LABEL", defaultCollapsed: true, fields: [ "activityParams", ], condition: { key: "setActivityParams", value: true } } ].concat(getParamSections({ key: "setActivityParams", value: true })), form: [ { type: "field", key: "text" }, { type: "field", key: "setActivityParams" }, { type: "section", key: "params_stt" }, { type: "section", key: "params_tts" }, { type: "section", key: "params_dtmf" }, { type: "section", key: "params_bargein" }, { type: "section", key: "params_continuousasr" }, { type: "section", key: "params_user_timeouts" }, { type: "section", key: "params_bot_timeouts" }, { type: "section", key: "params_azure" }, { type: "section", key: "params_google" }, { type: "section", key: "advanced" }, ], preview: { type: "text", key: "text" }, appearance: { color: nodeColor }, function: ({ cognigy, config, nodeId }) => __awaiter(void 0, void 0, void 0, function* () { const { api } = cognigy; const { text, activityParams, setActivityParams } = config; const { isFeatureAccmEnabled } = api.getEndpointSettings(); if (isFeatureAccmEnabled && text) { yield api.say(null, { _cognigy: buildPayloadAccm("sendMessage", config, nodeId) }); return; } let compiledParams = activityParams || {}; if (setActivityParams) { compileParams(config, compiledParams); } if (text) { yield api.output(null, { "_cognigy": { "_voiceGateway": { "json": { "activities": [ { "type": "message", "text": text, "activityParams": compiledParams } ] } } } }); } }) }); //# sourceMappingURL=sendMessage.js.map