@cognigy/rest-api-client
Version:
Cognigy REST-Client
281 lines • 14.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sendMessageNode = void 0;
/** Custom Modules */
const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
/** Helper Modules */
const design_1 = require("../utils/design");
const paramUtils_1 = require("../utils/paramUtils");
const utils_1 = require("./helper/utils");
exports.sendMessageNode = (0, createNodeDescriptor_1.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((0, paramUtils_1.getParameterFields)()),
sections: [
{
key: "advanced",
label: "UI__NODE_EDITOR__VG__SEND_MESSAGE__SECTIONS__ADVANCED__LABEL",
defaultCollapsed: true,
fields: [
"activityParams",
],
condition: {
key: "setActivityParams",
value: true
}
}
].concat((0, paramUtils_1.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: design_1.nodeColor
},
function: async ({ cognigy, config, nodeId }) => {
const { api } = cognigy;
const { text, activityParams, setActivityParams } = config;
const { isFeatureAccmEnabled } = api.getEndpointSettings();
if (isFeatureAccmEnabled && text) {
await api.say(null, {
_cognigy: (0, utils_1.buildPayloadAccm)("sendMessage", config, nodeId)
});
return;
}
let compiledParams = activityParams || {};
if (setActivityParams) {
(0, paramUtils_1.compileParams)(config, compiledParams);
}
if (text) {
await api.output(null, {
"_cognigy": {
"_voiceGateway": {
"json": {
"activities": [
{
"type": "message",
"text": text,
"activityParams": compiledParams
}
]
}
}
}
});
}
}
});
//# sourceMappingURL=sendMessage.js.map