@cognigy/rest-api-client 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/GenericTusFn.js +6 -1
  3. package/build/GenericUploadFn.js +3 -5
  4. package/build/apigroups/ResourcesAPIGroup_2_0.js +12 -1
  5. package/build/connector/AxiosAdapter.js +35 -15
  6. package/build/shared/charts/createNodeDescriptor.js +5 -5
  7. package/build/shared/charts/descriptors/agentAssist/constants/constants.js +16 -1
  8. package/build/shared/charts/descriptors/agentAssist/helpers/agentAssistTranslator.helper.js +19 -0
  9. package/build/shared/charts/descriptors/agentAssist/helpers/getFontSizeFieldOptions.js +84 -0
  10. package/build/shared/charts/descriptors/agentAssist/helpers/getLanguageName.helper.js +33 -0
  11. package/build/shared/charts/descriptors/agentAssist/helpers/knowledgeSearch/answerExtraction.helper.js +59 -0
  12. package/build/shared/charts/descriptors/agentAssist/helpers/knowledgeSearch/configValidator.helper.js +20 -0
  13. package/build/shared/charts/descriptors/agentAssist/helpers/knowledgeSearch/errorHandler.helper.js +64 -0
  14. package/build/shared/charts/descriptors/agentAssist/helpers/knowledgeSearch/followUpDetection.helper.js +72 -0
  15. package/build/shared/charts/descriptors/agentAssist/helpers/knowledgeSearch/knowledgeSearch.helper.js +58 -0
  16. package/build/shared/charts/descriptors/agentAssist/helpers/sentiment.helper.js +7 -13
  17. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/identityAssistTemplate.js +17 -18
  18. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/knowledgeAssistTemplate.js +330 -153
  19. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/nextActionWidgetTemplate.js +212 -80
  20. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/sentimentAnalysisTemplate.js +11 -6
  21. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/transcriptAssistTemplate.js +15 -13
  22. package/build/shared/charts/descriptors/agentAssist/identityAssist.js +87 -14
  23. package/build/shared/charts/descriptors/agentAssist/knowledgeAssist.js +192 -327
  24. package/build/shared/charts/descriptors/agentAssist/locales/cs.locale.js +11 -0
  25. package/build/shared/charts/descriptors/agentAssist/locales/de.locale.js +11 -0
  26. package/build/shared/charts/descriptors/agentAssist/locales/en.locale.js +11 -0
  27. package/build/shared/charts/descriptors/agentAssist/locales/es.locale.js +11 -0
  28. package/build/shared/charts/descriptors/agentAssist/locales/fr.locale.js +11 -0
  29. package/build/shared/charts/descriptors/agentAssist/locales/index.js +22 -0
  30. package/build/shared/charts/descriptors/agentAssist/locales/ja.locale.js +11 -0
  31. package/build/shared/charts/descriptors/agentAssist/locales/ko.locale.js +11 -0
  32. package/build/shared/charts/descriptors/agentAssist/locales/pt.locale.js +11 -0
  33. package/build/shared/charts/descriptors/agentAssist/nextActionAssist.js +485 -10
  34. package/build/shared/charts/descriptors/agentAssist/sentimentAssist.js +31 -8
  35. package/build/shared/charts/descriptors/agentAssist/transcriptAssist.js +40 -2
  36. package/build/shared/charts/descriptors/analytics/requestRating.js +56 -2
  37. package/build/shared/charts/descriptors/index.js +1 -3
  38. package/build/shared/charts/descriptors/knowledgeSearch/searchExtractOutput.js +1 -1
  39. package/build/shared/charts/descriptors/message/question/optionalQuestion.js +1 -1
  40. package/build/shared/charts/descriptors/message/question/question.js +123 -2
  41. package/build/shared/charts/descriptors/message/question/utils/evaluateQuestionAnswer.js +44 -3
  42. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/prompt.js +28 -12
  43. package/build/shared/charts/descriptors/nlu/index.js +1 -3
  44. package/build/shared/charts/descriptors/service/GPTPrompt.js +320 -22
  45. package/build/shared/charts/descriptors/service/LLMEntityExtract.js +274 -0
  46. package/build/shared/charts/descriptors/service/httpRequest.js +33 -1
  47. package/build/shared/charts/descriptors/service/index.js +3 -1
  48. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +17 -13
  49. package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +4 -4
  50. package/build/shared/charts/descriptors/voice/nodes/play.js +8 -1
  51. package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +44 -45
  52. package/build/shared/charts/descriptors/voicegateway2/nodes/play.js +0 -1
  53. package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +31 -39
  54. package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +17 -25
  55. package/build/shared/charts/helpers/generativeAI/generativeAIPrompts.js +55 -0
  56. package/build/shared/interfaces/appsession/IAppSession.js +3 -0
  57. package/build/shared/interfaces/appsession/ISetAppState.js +3 -0
  58. package/build/shared/interfaces/appsession/index.js +3 -0
  59. package/build/shared/interfaces/fileStorage.js +6 -0
  60. package/build/shared/interfaces/generativeAI/IGenerativeAIModels.js +32 -3
  61. package/build/shared/interfaces/handover.js +2 -1
  62. package/build/shared/interfaces/messageAPI/endpoints.js +15 -2
  63. package/build/shared/interfaces/messageAPI/handover.js +5 -1
  64. package/build/shared/interfaces/nlu/nlu.js +3 -0
  65. package/build/shared/interfaces/resources/IAuditEvent.js +10 -9
  66. package/build/shared/interfaces/resources/ILargeLanguageModel.js +34 -20
  67. package/build/shared/interfaces/resources/IMilestone.js +50 -0
  68. package/build/shared/interfaces/resources/INodeDescriptorSet.js +84 -75
  69. package/build/shared/interfaces/resources/TResourceType.js +12 -5
  70. package/build/shared/interfaces/resources/settings/IGenerativeAISettings.js +4 -0
  71. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/ICloneMilestoneRest_2_0.js +3 -0
  72. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/ICreateMilestoneRest_2_0.js +3 -0
  73. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IDeleteMilestoneRest_2_0.js +3 -0
  74. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IIndexMilestonesRest_2_0.js +3 -0
  75. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IMilestoneIndexItem_2_0.js +3 -0
  76. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IMilestoneStepMetric_2_0.js +3 -0
  77. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IMilestoneStep_2_0.js +3 -0
  78. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IMilestone_2_0.js +3 -0
  79. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IReadMilestoneRest_2_0.js +3 -0
  80. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IUpdateMilestoneRest_2_0.js +3 -0
  81. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/index.js +3 -0
  82. package/build/shared/interfaces/restAPI/resources/uploadResumable/v2.0/IUploadResumableRest_2_0.js +3 -1
  83. package/build/shared/interfaces/security/IPermission.js +4 -2
  84. package/build/shared/interfaces/security/index.js +1 -1
  85. package/package.json +2 -2
  86. package/types/index.d.ts +938 -285
  87. package/build/shared/charts/descriptors/nlu/extractAnswer.js +0 -115
@@ -1,91 +1,223 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const nextActionWidgetTemplate = (text) => {
3
+ const nextActionWidgetTemplate = ({ text, postMessageUrl, enableCopyToClipboard, fontSize, actionFontSize, }) => {
4
4
  return `<!DOCTYPE html>
5
- <html lang="en">
6
- <head>
7
- <meta charset="UTF-8" />
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
- <title>Next Best Action</title>
10
- <link
11
- rel="stylesheet"
12
- href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css"
13
- />
14
- <script>
15
- let showButton = false;
5
+ <html lang="en" class="h-full">
6
+ <head>
7
+ <meta charset="UTF-8" />
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
+ <title>Next Best Action</title>
10
+ <link
11
+ rel="stylesheet"
12
+ href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css"
13
+ />
14
+ <style>
15
+ .min-w-20 {
16
+ min-width: 5rem;
17
+ }
18
+ @keyframes blinkGreen {
19
+ 50% {
20
+ background-color: #10b981;
21
+ }
22
+ }
16
23
 
17
- function updateButtonVisibility() {
18
- const button = document.getElementById("liveAgentForwardButton");
19
- if (button) {
20
- button.className = showButton
21
- ? "absolute bottom-0 right-0 flex items-center justify-center"
22
- : "hidden";
23
- }
24
- }
24
+ .blink-green {
25
+ animation: blinkGreen 0.5s ease-in-out;
26
+ }
27
+ </style>
28
+ <script>
29
+ (function () {
30
+ let showButton = false;
31
+ let showCopyButton = true;
25
32
 
26
- window.addEventListener("message", (event) => {
27
- const message = event.data;
33
+ function updateCopyButtonVisibility() {
34
+ const elements = document.querySelectorAll(
35
+ "[data-cognigy-copilot-tile-nba]",
36
+ );
28
37
 
29
- if (message.type === "toggleButton") {
30
- showButton = message.show;
31
- updateButtonVisibility();
32
- }
33
- });
38
+ elements.forEach((element) => {
39
+ const button = element.querySelector("[data-cognigy-clipboard-button]");
40
+ if(!button) return;
41
+
42
+ if (showCopyButton) {
43
+ button.classList.remove("hidden");
44
+ } else {
45
+ button.classList.add("hidden");
46
+ }
47
+ });
48
+ }
34
49
 
35
- function sendPostMessage() {
36
- const content = document.querySelector("p").innerHTML;
37
- window.parent.postMessage(
38
- { type: "replyBoxContent", content },
39
- "${process.env.AGENT_ASSIST_WORKSPACE_FRONTEND_URL_WITH_PROTOCOL}"
40
- );
41
- }
50
+ function updateButtonVisibility() {
51
+ const elements = document.querySelectorAll(
52
+ "[data-cognigy-copilot-tile-nba]",
53
+ );
42
54
 
43
- document.addEventListener("DOMContentLoaded", updateButtonVisibility);
44
- </script>
45
- </head>
46
- <body>
47
- <div class="flex h-screen flex-col justify-center bg-gray-100 pb-1">
48
- <div
49
- class="relative flex flex-1 overflow-hidden rounded-xl bg-white shadow-md"
50
- >
51
- <div class="absolute right-2 top-2">
52
- <img
53
- class="h-6 w-6"
54
- src="https://www.cognigy.com/hubfs/AI%20badge.png"
55
- alt="AI Logo"
56
- />
57
- </div>
58
- <div>
59
- <div
60
- class="text-sm font-semibold uppercase tracking-wide ml-6 mt-6 text-indigo-500"
61
- >
62
- Next Best Action
63
- </div>
64
- <div class="p-6 overflow-auto h-5/6">
65
- <p class="mt-2 text-gray-800">${text}</p>
66
- </div>
67
- <button
68
- id="liveAgentForwardButton"
69
- onclick="sendPostMessage()"
70
- class="hidden"
71
- >
72
- <svg
73
- width="45px"
74
- height="auto"
75
- viewBox="0 0 45 35"
76
- xmlns="http://www.w3.org/2000/svg"
77
- >
78
- <path
79
- d="M 18.17 19.653 C 18.538 19.338 16.6 12.9 30.995 15.028 L 30.968 18.05 L 39.7 12.4 L 31.021 6.619 L 31.021 9.326 C 30.1 10.2 16.042 8.143 18.118 19.627"
80
- fill="#0b3694"
81
- transform="scale(-1, 1) translate(-50, 0)"
82
- />
83
- </svg>
84
- </button>
85
- </div>
86
- </div>
87
- </div>
88
- </body>
55
+ elements.forEach((element) => {
56
+ const button = element.querySelector("#liveAgentForwardButton");
57
+ if (button) {
58
+ button.className = showButton
59
+ ? "justify-self-end col-start-8"
60
+ : "hidden";
61
+ }
62
+ });
63
+ }
64
+
65
+ function sendPostMessage(event) {
66
+ const wrapper = event.target.closest("[data-cognigy-copilot-tile]");
67
+ const contentElement = wrapper.querySelector(
68
+ "[data-cognigy-content]",
69
+ );
70
+ window.parent.postMessage(
71
+ { type: "replyBoxContent", content: contentElement.innerHTML.trim() },
72
+ "${postMessageUrl}",
73
+ );
74
+ }
75
+
76
+ ${enableCopyToClipboard
77
+ ? `
78
+ async function copyToClipboard(event) {
79
+ const wrapper = event.target.closest("[data-cognigy-copilot-tile]");
80
+ const contentElement = wrapper.querySelector(
81
+ "[data-cognigy-content]",
82
+ );
83
+ const button = wrapper.querySelector(
84
+ "[data-cognigy-clipboard-button]",
85
+ );
86
+ button.classList.add("blink-green");
87
+ button.addEventListener(
88
+ "animationend",
89
+ function () {
90
+ button.classList.remove("blink-green");
91
+ },
92
+ { once: true },
93
+ );
94
+
95
+ const defaultMessage = button.querySelector(".default-message");
96
+ const successMessage = button.querySelector(".success-message");
97
+
98
+ try {
99
+ await navigator.clipboard.writeText(contentElement.textContent.trim());
100
+ defaultMessage.classList.add("hidden");
101
+ successMessage.classList.remove("hidden");
102
+
103
+ // reset to default state
104
+ setTimeout(() => {
105
+ defaultMessage.classList.remove("hidden");
106
+ successMessage.classList.add("hidden");
107
+ }, 2000);
108
+ } catch (err) {
109
+ console.error("Failed to copy: ", err);
110
+ }
111
+ }
112
+ `
113
+ : ""}
114
+
115
+ window.addEventListener("message", (event) => {
116
+ const message = event.data;
117
+
118
+ if (message.type === "toggleButton") {
119
+ showButton = message.show;
120
+ updateButtonVisibility();
121
+ }
122
+ if (message.type === "toggleCopyButton") {
123
+ showCopyButton = message.show;
124
+ updateCopyButtonVisibility();
125
+ }
126
+ });
127
+ document.addEventListener("DOMContentLoaded", updateButtonVisibility);
128
+ document.addEventListener("DOMContentLoaded", updateCopyButtonVisibility);
129
+
130
+ document.addEventListener("DOMContentLoaded", () => {
131
+ document
132
+ .querySelector("[data-cognigy-copilot-tile-nba] #liveAgentForwardButton")
133
+ .addEventListener("click", sendPostMessage);
134
+ document
135
+ .querySelector("[data-cognigy-copilot-tile-nba] #liveAgentForwardButton")
136
+ .removeAttribute("disabled");
137
+ ${enableCopyToClipboard
138
+ ? `
139
+ document
140
+ .querySelector("[data-cognigy-copilot-tile-nba] [data-cognigy-clipboard-button]")
141
+ .addEventListener("click", copyToClipboard);
142
+
143
+ document
144
+ .querySelector("[data-cognigy-copilot-tile-nba] [data-cognigy-clipboard-button]")
145
+ .removeAttribute("disabled");
146
+ `
147
+ : ""}
148
+ });
149
+ })();
150
+ </script>
151
+ </head>
152
+ <body class="h-full">
153
+ <div
154
+ class="flex flex-col h-full overflow-auto p-4 justify-center pb-1 bg-white rounded-xl shadow-md"
155
+ data-cognigy-copilot-tile
156
+ data-cognigy-copilot-tile-nba
157
+ >
158
+ <div class="flex justify-between">
159
+ <span
160
+ class="${fontSize} font-semibold uppercase tracking-wide text-indigo-500 flex-grow"
161
+ >
162
+ Next Best Action
163
+ </span>
164
+ <img
165
+ class="h-6 w-6"
166
+ src="https://www.cognigy.com/hubfs/AI%20badge.png"
167
+ alt="AI Logo"
168
+ />
169
+ </div>
170
+
171
+ <p class="flex-grow overflow-auto text-gray-800 ${actionFontSize}" data-cognigy-content>
172
+ ${text}
173
+ </p>
174
+ <div class="flex mt-auto w-full justify-between py-2">
175
+ ${enableCopyToClipboard
176
+ ? `
177
+ <button
178
+ class="min-w-20 bg-blue-500 hover:bg-blue-700 text-white font-bold rounded focus:ring-4 focus:outline-none focus:ring-blue-300 ${fontSize} py-2 items-center inline-flex justify-center hidden"
179
+ data-cognigy-clipboard-button
180
+ disabled
181
+ >
182
+ <span class="default-message">Copy</span>
183
+ <span class="success-message hidden inline-flex items-center gap-1">
184
+ <svg
185
+ class="w-3 h-3 text-white me-1.5"
186
+ aria-hidden="true"
187
+ xmlns="http://www.w3.org/2000/svg"
188
+ fill="none"
189
+ viewBox="0 0 16 12"
190
+ >
191
+ <path
192
+ stroke="currentColor"
193
+ stroke-linecap="round"
194
+ stroke-linejoin="round"
195
+ stroke-width="2"
196
+ d="M1 5.917 5.724 10.5 15 1.5"
197
+ />
198
+ </svg>
199
+ Copied!
200
+ </span>
201
+ </button>
202
+ `
203
+ : "<div></div>"}
204
+ <button id="liveAgentForwardButton" class="hidden" disabled>
205
+ <svg
206
+ width="45px"
207
+ height="auto"
208
+ viewBox="0 0 45 35"
209
+ xmlns="http://www.w3.org/2000/svg"
210
+ >
211
+ <path
212
+ d="M 18.17 19.653 C 18.538 19.338 16.6 12.9 30.995 15.028 L 30.968 18.05 L 39.7 12.4 L 31.021 6.619 L 31.021 9.326 C 30.1 10.2 16.042 8.143 18.118 19.627"
213
+ fill="#0b3694"
214
+ transform="scale(-1, 1) translate(-50, 0)"
215
+ />
216
+ </svg>
217
+ </button>
218
+ </div>
219
+ </div>
220
+ </body>
89
221
  </html>
90
222
  `;
91
223
  };
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const agentAssistTranslator_helper_1 = require("../helpers/agentAssistTranslator.helper");
3
4
  const stylesPartial_1 = require("./stylesPartial");
4
- const sentimentAnalysisTemplate = (sentiment) => {
5
+ const sentimentAnalysisTemplate = ({ sentiment, fontSize, input, }) => {
5
6
  const mapSentimentToColor = {
6
- positive: 'bg-positive',
7
- negative: 'bg-negative',
8
- neutral: 'bg-neutral'
7
+ positive: "bg-positive",
8
+ negative: "bg-negative",
9
+ neutral: "bg-neutral",
9
10
  };
10
11
  let currentSentiment = sentiment === null || sentiment === void 0 ? void 0 : sentiment.toLowerCase();
11
12
  if (currentSentiment) {
@@ -15,6 +16,10 @@ const sentimentAnalysisTemplate = (sentiment) => {
15
16
  }
16
17
  });
17
18
  }
19
+ const translatedSentiment = (0, agentAssistTranslator_helper_1.agentAssistTranslator)({
20
+ key: currentSentiment,
21
+ input,
22
+ });
18
23
  return `
19
24
  <!DOCTYPE html>
20
25
  <html lang="en">
@@ -28,9 +33,9 @@ const sentimentAnalysisTemplate = (sentiment) => {
28
33
  </style>
29
34
  </head>
30
35
  <body>
31
- <div class="flex h-screen justify-center bg-gray-100">
36
+ <div class="flex h-screen justify-center bg-gray-100 rounded-lg">
32
37
  <div class="flex flex-1 items-center justify-center overflow-hidden rounded-lg ${mapSentimentToColor[currentSentiment]} shadow-md">
33
- <span class="text-4xl font-semibold text-white">${sentiment}</span>
38
+ <span class="${fontSize} font-semibold text-white">${translatedSentiment}</span>
34
39
  </div>
35
40
  </div>
36
41
  </body>
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const stylesPartial_1 = require("./stylesPartial");
4
- const transcriptAssistTemplate = (message, sentiment) => {
4
+ const transcriptAssistTemplate = ({ message, assetsBaseURL, sentiment, fontSize, messageFontSize, }) => {
5
5
  const mapSentimentToColor = {
6
- positive: 'bg-positive',
7
- negative: 'bg-negative',
8
- neutral: 'bg-neutral'
6
+ positive: "bg-positive",
7
+ negative: "bg-negative",
8
+ neutral: "bg-neutral",
9
9
  };
10
10
  let currentSentiment = sentiment === null || sentiment === void 0 ? void 0 : sentiment.toLowerCase();
11
11
  if (currentSentiment) {
@@ -28,21 +28,23 @@ const transcriptAssistTemplate = (message, sentiment) => {
28
28
  </style>
29
29
  </head>
30
30
  <body>
31
- <div class="flex h-screen flex-col justify-center bg-gray-100 pb-1">
32
- <div class="relative flex flex-1 overflow-hidden rounded-xl bg-white justify-between shadow-md">
33
- <div class="p-4 w-11/12">
34
- <div class="text-sm font-semibold uppercase tracking-wide text-indigo-500">Transcription</div>
31
+ <div class="flex h-screen flex-col justify-center bg-gray-100 rounded-lg">
32
+ <div class="relative flex flex-1 overflow-hidden rounded-lg bg-white justify-between shadow-md">
33
+ <div class="p-4 w-11/12 overflow-auto">
34
+ <div class="${fontSize} font-semibold uppercase tracking-wide text-indigo-500">Transcription</div>
35
35
  <div class="overflow-auto h-5/6">
36
- <p class="mt-2 text-gray-800">${message}</p>
36
+ <p class="mt-2 text-gray-800 ${messageFontSize}">${message}</p>
37
37
  </div>
38
38
  </div>
39
- ${currentSentiment ? `
40
- <div class="flex w-1/12 flex-col items-center justify-center ${mapSentimentToColor[currentSentiment]}">
39
+ ${currentSentiment
40
+ ? `
41
+ <div id="sentiment" class="flex w-1/12 flex-col items-center justify-center ${mapSentimentToColor[currentSentiment]}">
41
42
  <div class="mb-2 h-4 w-4">
42
- <img class="max-h-full max-w-full" src="${process.env.AGENT_ASSIST_WORKSPACE_FRONTEND_URL_WITH_PROTOCOL}/assets/${currentSentiment}.svg" alt="Smiley Icon" />
43
+ <img class="max-h-full max-w-full" src="${assetsBaseURL}/assets/${currentSentiment}.svg" alt="Smiley Icon" />
43
44
  </div>
44
45
  </div>
45
- ` : ''}
46
+ `
47
+ : ""}
46
48
  </div>
47
49
  </div>
48
50
  </body>
@@ -5,6 +5,7 @@ exports.IDENTITY_ASSIST = void 0;
5
5
  const createNodeDescriptor_1 = require("../../createNodeDescriptor");
6
6
  /* Templates */
7
7
  const identityAssistTemplate_1 = require("./htmlTemplates/identityAssistTemplate");
8
+ const getFontSizeFieldOptions_1 = require("./helpers/getFontSizeFieldOptions");
8
9
  /**
9
10
  * Node name: "identityAssist"
10
11
  *
@@ -39,14 +40,20 @@ exports.IDENTITY_ASSIST = (0, createNodeDescriptor_1.createNodeDescriptor)({
39
40
  options: [
40
41
  {
41
42
  label: "UI__NODE_EDITOR__IDENTITY_ASSIST__FIELDS__WIDGET_LAYOUT__OPTIONS__HORIZONTAL__LABEL",
42
- value: "horizontal"
43
+ value: "horizontal",
43
44
  },
44
45
  {
45
46
  label: "UI__NODE_EDITOR__IDENTITY_ASSIST__FIELDS__WIDGET_LAYOUT__OPTIONS__VERTICAL__LABEL",
46
- value: "vertical"
47
+ value: "vertical",
47
48
  },
48
- ]
49
- }
49
+ ],
50
+ },
51
+ },
52
+ {
53
+ key: "showProfileImage",
54
+ label: "UI__NODE_EDITOR__IDENTITY_ASSIST__ENABLE_PROFILE_IMAGE__LABEL",
55
+ type: "toggle",
56
+ defaultValue: true,
50
57
  },
51
58
  {
52
59
  key: "imageShape",
@@ -57,14 +64,18 @@ exports.IDENTITY_ASSIST = (0, createNodeDescriptor_1.createNodeDescriptor)({
57
64
  options: [
58
65
  {
59
66
  label: "UI__NODE_EDITOR__IDENTITY_ASSIST__FIELDS__IMAGE_SHAPE__OPTIONS__ROUND__LABEL",
60
- value: "round"
67
+ value: "round",
61
68
  },
62
69
  {
63
70
  label: "UI__NODE_EDITOR__IDENTITY_ASSIST__FIELDS__IMAGE_SHAPE__OPTIONS__SQUARE__LABEL",
64
- value: "square"
71
+ value: "square",
65
72
  },
66
- ]
67
- }
73
+ ],
74
+ },
75
+ condition: {
76
+ key: "showProfileImage",
77
+ value: true,
78
+ },
68
79
  },
69
80
  {
70
81
  key: "imageUrl",
@@ -75,6 +86,10 @@ exports.IDENTITY_ASSIST = (0, createNodeDescriptor_1.createNodeDescriptor)({
75
86
  params: {
76
87
  required: true,
77
88
  },
89
+ condition: {
90
+ key: "showProfileImage",
91
+ value: true,
92
+ },
78
93
  },
79
94
  {
80
95
  key: "customer",
@@ -90,19 +105,72 @@ exports.IDENTITY_ASSIST = (0, createNodeDescriptor_1.createNodeDescriptor)({
90
105
  description: "UI__NODE_EDITOR__IDENTITY_ASSIST__FIELDS__CUSTOMER_DATA__DESCRIPTION",
91
106
  defaultValue: `{"Email": "{{profile.email}}","Phone": "{{profile.phone}}"}`,
92
107
  params: {
93
- required: true
108
+ required: true,
109
+ },
110
+ },
111
+ {
112
+ key: "fontSize",
113
+ type: "select",
114
+ label: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__FONT_SIZE",
115
+ description: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__FONT_SIZE__INFO",
116
+ defaultValue: "text-sm",
117
+ params: {
118
+ options: getFontSizeFieldOptions_1.getFontSizeFieldOptions,
119
+ },
120
+ },
121
+ {
122
+ key: "profileFontSize",
123
+ type: "select",
124
+ label: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__IDENTITY_ASSIST__PROFILE__FONT_SIZE",
125
+ description: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__IDENTITY_ASSIST__PROFILE__FONT_SIZE__DESCRIPTION",
126
+ defaultValue: "text-xl",
127
+ params: {
128
+ options: getFontSizeFieldOptions_1.getFontSizeFieldOptions,
129
+ },
130
+ },
131
+ {
132
+ key: "keyValueFontSize",
133
+ type: "select",
134
+ label: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__IDENTITY_ASSIST__KEY_VALUE__FONT_SIZE",
135
+ description: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__IDENTITY_ASSIST__KEY_VALUE__FONT_SIZE__DESCRIPTION",
136
+ defaultValue: "text-sm",
137
+ params: {
138
+ options: getFontSizeFieldOptions_1.getFontSizeFieldOptions,
139
+ },
140
+ },
141
+ {
142
+ key: "profileImageSize",
143
+ type: "select",
144
+ label: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__IDENTITY_ASSIST__IMAGE__SIZE",
145
+ description: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__IDENTITY_ASSIST__IMAGE__SIZE__DESCRIPTION",
146
+ defaultValue: "h-32 w-32",
147
+ params: {
148
+ options: getFontSizeFieldOptions_1.getImageSizeFieldOptions,
149
+ },
150
+ condition: {
151
+ key: "showProfileImage",
152
+ value: true,
94
153
  },
95
154
  },
96
155
  ],
97
- sections: [],
156
+ sections: [
157
+ {
158
+ key: "uiPreferences",
159
+ label: "UI__NODE_EDITOR__COPILOT__TILE_UI_PREFERENCES__TITLE",
160
+ defaultCollapsed: true,
161
+ fields: ["fontSize", "profileFontSize", "keyValueFontSize", "profileImageSize"],
162
+ },
163
+ ],
98
164
  form: [
99
165
  { type: "field", key: "tileId" },
100
166
  { type: "field", key: "widgetLayout" },
167
+ { type: "field", key: "showProfileImage" },
101
168
  { type: "field", key: "imageShape" },
102
169
  { type: "field", key: "imageUrl" },
103
170
  { type: "field", key: "customer" },
104
171
  { type: "field", key: "customerData" },
105
- ].filter((element) => !!element),
172
+ { type: "section", key: "uiPreferences" },
173
+ ].filter(element => !!element),
106
174
  function: async (params) => {
107
175
  const { cognigy, config } = params;
108
176
  const { api } = cognigy;
@@ -118,8 +186,13 @@ exports.IDENTITY_ASSIST = (0, createNodeDescriptor_1.createNodeDescriptor)({
118
186
  imageShape,
119
187
  imageUrl,
120
188
  customer,
121
- customerData
122
- })
189
+ customerData,
190
+ fontSize: config.fontSize,
191
+ profileFontSize: config.profileFontSize,
192
+ keyValueFontSize: config.keyValueFontSize,
193
+ showProfileImage: config.showProfileImage,
194
+ profileImageSize: config.profileImageSize,
195
+ }),
123
196
  };
124
197
  cognigy.api.sendTileUpdateToAgentAssistWorkspace(Object.assign(Object.assign({}, params), { tile: {
125
198
  id: config.tileId,
@@ -130,6 +203,6 @@ exports.IDENTITY_ASSIST = (0, createNodeDescriptor_1.createNodeDescriptor)({
130
203
  catch (err) {
131
204
  api.log("error", err);
132
205
  }
133
- }
206
+ },
134
207
  });
135
208
  //# sourceMappingURL=identityAssist.js.map