@cognigy/rest-api-client 0.18.0 → 0.20.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 (216) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/RestAPIClient.js +7 -0
  3. package/build/apigroups/AdministrationAPIGroup_2_0.js +8 -1
  4. package/build/apigroups/JWTAuthAPIGroup_2_0.js +12 -0
  5. package/build/apigroups/MetricsAPIGroup_2_0.js +5 -0
  6. package/build/apigroups/ResourcesAPIGroup_2_0.js +28 -14
  7. package/build/apigroups/index.js +3 -1
  8. package/build/shared/charts/descriptors/agentAssist/helpers/determineMetadata.js +15 -0
  9. package/build/shared/charts/descriptors/agentAssist/helpers/knowledgeSearch/answerExtraction.helper.js +1 -1
  10. package/build/shared/charts/descriptors/agentAssist/helpers/knowledgeSearch/followUpDetection.helper.js +2 -2
  11. package/build/shared/charts/descriptors/agentAssist/identityAssist.js +1 -1
  12. package/build/shared/charts/descriptors/agentAssist/index.js +3 -1
  13. package/build/shared/charts/descriptors/agentAssist/knowledgeAssist.js +1 -1
  14. package/build/shared/charts/descriptors/agentAssist/nextActionAssist.js +4 -5
  15. package/build/shared/charts/descriptors/agentAssist/sendData.js +74 -0
  16. package/build/shared/charts/descriptors/agentAssist/sentimentAssist.js +1 -1
  17. package/build/shared/charts/descriptors/agentAssist/setAdaptiveCardTile.js +2 -0
  18. package/build/shared/charts/descriptors/agentAssist/setAgentAssistGrid.js +2 -1
  19. package/build/shared/charts/descriptors/agentAssist/setHtmlTile.js +5 -3
  20. package/build/shared/charts/descriptors/agentAssist/setIframeTile.js +5 -3
  21. package/build/shared/charts/descriptors/agentAssist/setSecureFormsTile.js +2 -2
  22. package/build/shared/charts/descriptors/agentAssist/transcriptAssist.js +2 -1
  23. package/build/shared/charts/descriptors/analytics/activateProfile.js +1 -0
  24. package/build/shared/charts/descriptors/analytics/addMemory.js +51 -0
  25. package/build/shared/charts/descriptors/analytics/blindMode.js +2 -0
  26. package/build/shared/charts/descriptors/analytics/completeGoal.js +4 -2
  27. package/build/shared/charts/descriptors/analytics/deactivateProfile.js +1 -0
  28. package/build/shared/charts/descriptors/analytics/deleteProfile.js +1 -0
  29. package/build/shared/charts/descriptors/analytics/helper.js +20 -0
  30. package/build/shared/charts/descriptors/analytics/index.js +5 -1
  31. package/build/shared/charts/descriptors/analytics/mergeProfile.js +1 -0
  32. package/build/shared/charts/descriptors/analytics/overwriteAnalytics.js +9 -0
  33. package/build/shared/charts/descriptors/analytics/setRating.js +4 -2
  34. package/build/shared/charts/descriptors/analytics/trackGoal.js +102 -0
  35. package/build/shared/charts/descriptors/analytics/updateProfile.js +1 -0
  36. package/build/shared/charts/descriptors/apps/initAppSession.js +1 -0
  37. package/build/shared/charts/descriptors/apps/setAdaptiveCardAppState.js +35 -10
  38. package/build/shared/charts/descriptors/apps/setHtmlAppState.js +25 -2
  39. package/build/shared/charts/descriptors/apps/utils/getXAppsOverlaySettings.js +54 -0
  40. package/build/shared/charts/descriptors/connectionNodes/documentParserProviders/azureAIDocumentIntelligenceConnection.js +12 -0
  41. package/build/shared/charts/descriptors/connectionNodes/documentParserProviders/index.js +13 -0
  42. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/awsBedrockProviderConnection.js +12 -0
  43. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/azureOpenAIProviderConnection.js +4 -3
  44. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/azureOpenAIProviderConnectionV2.js +3 -3
  45. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/azureOpenAIProviderOauth2Connection.js +14 -0
  46. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/index.js +16 -8
  47. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/openAIProviderConnection.js +3 -3
  48. package/build/shared/charts/descriptors/data/addToContext.js +7 -0
  49. package/build/shared/charts/descriptors/data/copyDataToContext.js +3 -0
  50. package/build/shared/charts/descriptors/data/copySlotsToContext.js +4 -1
  51. package/build/shared/charts/descriptors/data/debugMessage.js +73 -0
  52. package/build/shared/charts/descriptors/data/index.js +3 -1
  53. package/build/shared/charts/descriptors/data/removeFromContext.js +9 -1
  54. package/build/shared/charts/descriptors/data/resetContext.js +1 -0
  55. package/build/shared/charts/descriptors/index.js +19 -1
  56. package/build/shared/charts/descriptors/knowledgeSearch/knowledgeSearchV2.js +1 -1
  57. package/build/shared/charts/descriptors/knowledgeSearch/searchExtractOutput.js +55 -20
  58. package/build/shared/charts/descriptors/logic/disableSlotFillers.js +1 -1
  59. package/build/shared/charts/descriptors/logic/enableSlotFillers.js +1 -1
  60. package/build/shared/charts/descriptors/logic/resetState.js +1 -0
  61. package/build/shared/charts/descriptors/logic/setState.js +2 -1
  62. package/build/shared/charts/descriptors/logic/setTranslation.js +3 -1
  63. package/build/shared/charts/descriptors/logic/switchLocale.js +1 -0
  64. package/build/shared/charts/descriptors/logic/think.js +3 -1
  65. package/build/shared/charts/descriptors/logic/thinkV2.js +113 -4
  66. package/build/shared/charts/descriptors/message/question/question.js +50 -5
  67. package/build/shared/charts/descriptors/message/question/utils/validateQuestionAnswer.js +4 -2
  68. package/build/shared/charts/descriptors/nlu/cleanText.js +2 -1
  69. package/build/shared/charts/descriptors/nlu/executeCognigyNLU.js +1 -1
  70. package/build/shared/charts/descriptors/nlu/fuzzySearch.js +24 -2
  71. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFiller.js +1 -1
  72. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFillerFallback.js +1 -1
  73. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFillerSuccess.js +1 -1
  74. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/prompt.js +18 -9
  75. package/build/shared/charts/descriptors/nlu/matchPattern.js +1 -1
  76. package/build/shared/charts/descriptors/nlu/regexSlotFiller.js +1 -1
  77. package/build/shared/charts/descriptors/service/GPTConversation.js +1 -1
  78. package/build/shared/charts/descriptors/service/GPTPrompt.js +70 -41
  79. package/build/shared/charts/descriptors/service/LLMEntityExtract.js +12 -3
  80. package/build/shared/charts/descriptors/service/aiAgent/aiAgentHandover.js +92 -0
  81. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +1146 -0
  82. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJobDefault.js +31 -0
  83. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJobTool.js +139 -0
  84. package/build/shared/charts/descriptors/service/aiAgent/aiAgentToolAnswer.js +120 -0
  85. package/build/shared/charts/descriptors/service/aiAgent/helper.js +222 -0
  86. package/build/shared/charts/descriptors/service/handoverV2.js +140 -2
  87. package/build/shared/charts/descriptors/service/httpRequest.js +35 -2
  88. package/build/shared/charts/descriptors/service/index.js +11 -1
  89. package/build/shared/charts/descriptors/transcripts/addTranscriptStep.js +413 -0
  90. package/build/shared/charts/descriptors/transcripts/getTranscript.js +104 -0
  91. package/build/shared/charts/descriptors/transcripts/index.js +8 -0
  92. package/build/shared/charts/descriptors/voice/mappers/base.mapper.js +20 -0
  93. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +227 -72
  94. package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +6 -9
  95. package/build/shared/charts/descriptors/voice/nodes/bargeIn.js +2 -0
  96. package/build/shared/charts/descriptors/voice/nodes/continuousAsr.js +5 -4
  97. package/build/shared/charts/descriptors/voice/nodes/dtmf.js +2 -0
  98. package/build/shared/charts/descriptors/voice/nodes/muteSpeechInput.js +1 -0
  99. package/build/shared/charts/descriptors/voice/nodes/noUserInput.js +2 -0
  100. package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +2 -0
  101. package/build/shared/charts/descriptors/voice/nodes/transfer.js +2 -0
  102. package/build/shared/charts/descriptors/voicegateway/nodes/callRecording.js +8 -1
  103. package/build/shared/charts/descriptors/voicegateway/nodes/handover.js +4 -2
  104. package/build/shared/charts/descriptors/voicegateway/nodes/hangup.js +4 -2
  105. package/build/shared/charts/descriptors/voicegateway/nodes/helper/utils.js +14 -0
  106. package/build/shared/charts/descriptors/voicegateway/nodes/playURL.js +4 -5
  107. package/build/shared/charts/descriptors/voicegateway/nodes/sendMessage.js +8 -1
  108. package/build/shared/charts/descriptors/voicegateway/nodes/sendMetaData.js +7 -3
  109. package/build/shared/charts/descriptors/voicegateway/nodes/setSessionParams.js +8 -1
  110. package/build/shared/charts/descriptors/voicegateway2/nodes/dtmf.js +2 -0
  111. package/build/shared/charts/descriptors/voicegateway2/nodes/hangup.js +2 -0
  112. package/build/shared/charts/descriptors/voicegateway2/nodes/muteSpeechInput.js +3 -0
  113. package/build/shared/charts/descriptors/voicegateway2/nodes/play.js +1 -0
  114. package/build/shared/charts/descriptors/voicegateway2/nodes/record.js +1 -0
  115. package/build/shared/charts/descriptors/voicegateway2/nodes/refer.js +1 -0
  116. package/build/shared/charts/descriptors/voicegateway2/nodes/sendMetadata.js +1 -0
  117. package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +311 -10
  118. package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +25 -9
  119. package/build/shared/charts/descriptors/voicegateway2/utils/helper.js +2 -2
  120. package/build/shared/charts/helpers/generativeAI/rephraseSentenceWithAi.js +4 -2
  121. package/build/shared/constants.js +16 -1
  122. package/build/shared/handoverClients/interfaces/THandoverEventType.js +2 -0
  123. package/build/shared/helper/logFullConfigToDebugMode.js +30 -0
  124. package/build/shared/helper/nlu/textCleaner.js +4 -2
  125. package/build/shared/interfaces/IEndpointSettings.js +3 -0
  126. package/build/shared/interfaces/IOrganisation.js +1 -0
  127. package/build/shared/interfaces/IProfile.js +2 -0
  128. package/build/shared/interfaces/IProfileSchema.js +4 -0
  129. package/build/shared/interfaces/analytics/IAnalyticsSourceData.js +22 -20
  130. package/build/shared/interfaces/{restAPI/resources/milestone/v2.0/IMilestone_2_0.js → analytics/IGoalAnalytics.js} +1 -1
  131. package/build/shared/interfaces/appsession/ISetAppStateOptions.js +3 -0
  132. package/build/shared/interfaces/appsession/ISetAppStateOverlaySettings.js +3 -0
  133. package/build/shared/interfaces/appsession/ISetAppStateOverlaySettingsMetaData.js +3 -0
  134. package/build/shared/interfaces/debugEvents/TDebugEventMessagePayload.js +3 -0
  135. package/build/shared/interfaces/debugEvents/TDebugEventType.js +2 -0
  136. package/build/shared/interfaces/generativeAI/IGenerativeAIModels.js +51 -70
  137. package/build/shared/interfaces/{restAPI/resources/journey/v2.0/IJourney_2_0.js → generativeAI/tools.js} +1 -1
  138. package/build/shared/interfaces/handover.js +45 -2
  139. package/build/shared/interfaces/license.js +3 -2
  140. package/build/shared/interfaces/messageAPI/endpoints.js +8 -1
  141. package/build/shared/interfaces/messageAPI/handover.js +22 -1
  142. package/build/shared/interfaces/resources/IAiAgent.js +52 -0
  143. package/build/shared/interfaces/resources/IAuditEvent.js +2 -1
  144. package/build/shared/interfaces/resources/IConnection.js +1 -0
  145. package/build/shared/interfaces/resources/IEndpoint.js +2 -2
  146. package/build/shared/interfaces/resources/{IMilestone.js → IGoal.js} +15 -15
  147. package/build/shared/interfaces/resources/ILargeLanguageModel.js +52 -4
  148. package/build/shared/interfaces/resources/INodeDescriptorSet.js +15 -0
  149. package/build/shared/interfaces/resources/TResourceType.js +16 -8
  150. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
  151. package/build/shared/interfaces/resources/settings/IAgentSettings.js +12 -7
  152. package/build/shared/interfaces/resources/settings/IGenerativeAISettings.js +9 -1
  153. package/build/shared/interfaces/resources/settings/IKnowledgeAISettings.js +18 -0
  154. package/build/shared/interfaces/resources/settings/index.js +4 -1
  155. package/build/shared/interfaces/restAPI/administration/organisations/v2.0/IReadCollectionsToBeDeletedRest_2_0.js +0 -1
  156. package/build/shared/interfaces/restAPI/administration/organisations/v2.0/IReadOrganisationKnowledgeChunksCountRest_2_0.js +3 -0
  157. package/build/shared/interfaces/restAPI/administration/user/v2.0/IGetPinnedResources_2_0.js +3 -0
  158. package/build/shared/interfaces/restAPI/{resources/journey/v2.0/IReadJourneyRest_2_0.js → administration/user/v2.0/IPinResourceRest_2_0.js} +1 -1
  159. package/build/shared/interfaces/restAPI/operations/nlu/v2.0/IGenerateNluScoresRest_2_0.js +57 -0
  160. package/build/shared/interfaces/restAPI/resources/aiAgent/v2.0/IAiAgentHiringTemplate_2_0.js +32 -0
  161. package/build/shared/interfaces/restAPI/resources/aiAgent/v2.0/IAiAgent_2_0.js +3 -0
  162. package/build/shared/interfaces/restAPI/resources/{journey/v2.0/IIndexJourneysRest_2_0.js → aiAgent/v2.0/ICreateAiAgentRest_2_0.js} +1 -1
  163. package/build/shared/interfaces/restAPI/resources/aiAgent/v2.0/IDeleteAiAgentRest_2_0.js +3 -0
  164. package/build/shared/interfaces/restAPI/resources/aiAgent/v2.0/IGetAiAgentHiringTemplates_2_0.js +3 -0
  165. package/build/shared/interfaces/restAPI/resources/{journey/v2.0/IJourneyStep_2_0.js → aiAgent/v2.0/IHireAiAgent_2_0.js} +1 -1
  166. package/build/shared/interfaces/restAPI/resources/{journey/v2.0/IJourneyIndexItem_2_0.js → aiAgent/v2.0/IIndexAiAgentRest_2_0.js} +1 -1
  167. package/build/shared/interfaces/restAPI/resources/{journey/v2.0/IJourneyProgress_2_0.js → aiAgent/v2.0/IReadAiAgentRest_2_0.js} +1 -1
  168. package/build/shared/interfaces/restAPI/resources/aiAgent/v2.0/IUpdateAiAgentRest_2_0.js +3 -0
  169. package/build/shared/interfaces/restAPI/resources/aiAgent/v2.0/IValidateAiAgentNameRest_2_0.js +3 -0
  170. package/build/shared/interfaces/restAPI/resources/goal/v2.0/ICloneGoalRest_2_0.js +3 -0
  171. package/build/shared/interfaces/restAPI/resources/goal/v2.0/ICreateGoalRest_2_0.js +3 -0
  172. package/build/shared/interfaces/restAPI/resources/goal/v2.0/IDeleteGoalRest_2_0.js +3 -0
  173. package/build/shared/interfaces/restAPI/resources/goal/v2.0/IGoalIndexItem_2_0.js +3 -0
  174. package/build/shared/interfaces/restAPI/resources/goal/v2.0/IGoalStepMetric_2_0.js +3 -0
  175. package/build/shared/interfaces/restAPI/resources/goal/v2.0/IGoalStep_2_0.js +3 -0
  176. package/build/shared/interfaces/restAPI/resources/goal/v2.0/IGoal_2_0.js +3 -0
  177. package/build/shared/interfaces/restAPI/resources/goal/v2.0/IIndexGoalsRest_2_0.js +3 -0
  178. package/build/shared/interfaces/restAPI/resources/goal/v2.0/IReadGoalRest_2_0.js +3 -0
  179. package/build/shared/interfaces/restAPI/resources/goal/v2.0/IUpdateGoalRest_2_0.js +3 -0
  180. package/build/shared/interfaces/restAPI/resources/goal/v2.0/index.js +3 -0
  181. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IAvailableModelsForLLMProvider_2_0 .js +18 -0
  182. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IGetAvailableModelsForLLMRest_2_0 .js +3 -0
  183. package/build/shared/interfaces/security/IPermission.js +6 -2
  184. package/build/shared/interfaces/security/IPinnedResource.js +3 -0
  185. package/build/shared/interfaces/security/IRole.js +2 -0
  186. package/build/shared/interfaces/security/ISystemCapabilities.js +3 -0
  187. package/build/shared/interfaces/security/index.js +1 -1
  188. package/build/shared/interfaces/trainer/ITrainerRecord.js +2 -2
  189. package/build/shared/interfaces/transcripts/transcripts.js +33 -0
  190. package/build/shared/interfaces/user.js +1 -1
  191. package/package.json +2 -2
  192. package/types/index.d.ts +2332 -1041
  193. package/build/shared/interfaces/journeys/IJourney.js +0 -83
  194. package/build/shared/interfaces/journeys/IJourneyProgress.js +0 -40
  195. package/build/shared/interfaces/journeys/IJourneyTrackEvent.js +0 -35
  196. package/build/shared/interfaces/journeys/index.js +0 -14
  197. package/build/shared/interfaces/license.js.map +0 -1
  198. package/build/shared/interfaces/restAPI/resources/journey/v2.0/IJourneyTrackEvents_2_0.js +0 -3
  199. package/build/shared/interfaces/restAPI/resources/journey/v2.0/IReadJourneyProgressRest_2_0.js +0 -3
  200. package/build/shared/interfaces/restAPI/resources/journey/v2.0/ITrackJourneyEventRest_2_0.js +0 -3
  201. package/build/shared/interfaces/restAPI/resources/journey/v2.0/IUpdateSelectedJourneyRest_2_0.js +0 -3
  202. package/build/shared/interfaces/restAPI/resources/knowledgeSearchIndex/v2.0/ICreateKnowledgeSearchIndexRest_2_0.js +0 -3
  203. package/build/shared/interfaces/restAPI/resources/knowledgeSearchIndex/v2.0/IDeleteKnowledgeSearchIndexRest_2_0.js +0 -3
  204. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/ICloneMilestoneRest_2_0.js +0 -3
  205. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/ICreateMilestoneRest_2_0.js +0 -3
  206. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IDeleteMilestoneRest_2_0.js +0 -3
  207. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IIndexMilestonesRest_2_0.js +0 -3
  208. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IMilestoneIndexItem_2_0.js +0 -3
  209. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IMilestoneStepMetric_2_0.js +0 -3
  210. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IMilestoneStep_2_0.js +0 -3
  211. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IReadMilestoneRest_2_0.js +0 -3
  212. package/build/shared/interfaces/restAPI/resources/milestone/v2.0/IUpdateMilestoneRest_2_0.js +0 -3
  213. package/build/test.js +0 -27
  214. /package/build/shared/interfaces/restAPI/{resources/journey/v2.0 → operations}/index.js +0 -0
  215. /package/build/shared/interfaces/restAPI/{resources/knowledgeSearchIndex → operations/nlu}/v2.0/index.js +0 -0
  216. /package/build/shared/interfaces/restAPI/resources/{milestone → aiAgent}/v2.0/index.js +0 -0
@@ -1,10 +1,181 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setSessionConfig = exports.vg2PayloadToActivityParams = exports.voiceConfigParamsToVoiceSettings = void 0;
4
+ /* Node modules */
5
+ const base_mapper_1 = require("./base.mapper");
4
6
  const strip_nulls_1 = require("../../voicegateway2/utils/strip-nulls");
5
7
  const helper_1 = require("../utils/helper");
8
+ class SessionConfigMapper extends base_mapper_1.BaseMapper {
9
+ buildUser(sessionParams, userNoInput) {
10
+ const { userNoInputRetries, userNoInputMode, userNoInputSpeech, userNoInputTimeout, userNoInputUrl, userNoInputTimeoutEnable } = userNoInput || {};
11
+ const { user: sessionParamsUser } = sessionParams || {};
12
+ const { noInputSpeech, noInputUrl, noInputRetries, noInputTimeout, noInputMode } = sessionParamsUser || {};
13
+ const user = {};
14
+ /* verify if there are No User Input Configs to set */
15
+ if (userNoInput || sessionParamsUser) {
16
+ /* Either userNoInputTimeoutEnable is true, or the 'user' object is defined in the session params */
17
+ if (userNoInputTimeoutEnable === true || this.has(sessionParamsUser)) {
18
+ user.noInputMode = noInputMode || userNoInputMode;
19
+ switch (user.noInputMode) {
20
+ case "speech":
21
+ user.noInputSpeech = noInputSpeech || userNoInputSpeech;
22
+ break;
23
+ case "play":
24
+ user.noInputUrl = noInputUrl || userNoInputUrl;
25
+ break;
26
+ default:
27
+ break;
28
+ }
29
+ const retries = Number(noInputRetries) || Number(userNoInputRetries);
30
+ /* User No Input Retries. min: 0, max: 999 - if invalid range: set to 1 */
31
+ if (retries < 0 || retries > 999 || isNaN(retries)) {
32
+ user.noInputRetries = 1;
33
+ }
34
+ else {
35
+ user.noInputRetries = retries;
36
+ }
37
+ const timeout = Number(noInputTimeout) || Number(userNoInputTimeout);
38
+ if (timeout < 0 || isNaN(timeout)) {
39
+ user.noInputTimeout = 10;
40
+ }
41
+ else {
42
+ user.noInputTimeout = timeout / 1000;
43
+ }
44
+ }
45
+ else if (userNoInputTimeoutEnable === false && !this.has(sessionParamsUser)) {
46
+ user.noInputTimeout = 0;
47
+ }
48
+ }
49
+ if (sessionParams === null || sessionParams === void 0 ? void 0 : sessionParams.user) {
50
+ delete sessionParams.user;
51
+ }
52
+ return user;
53
+ }
54
+ buildFlow(sessionParams, flowNoInput) {
55
+ const { flowNoInputMode, flowNoInputRetries, flowNoInputSpeech, flowNoInputTimeout, flowNoInputTimeoutEnable, flowNoInputUrl, flowNoInputFail } = flowNoInput || {};
56
+ const { flow: sessionParamsFlow } = sessionParams || {};
57
+ const { flowNoInputEnable: spEnable, flowNoInputFail: spFail, flowNoInputMode: spMode, flowNoInputRetries: spRetries, flowNoInputSpeech: spSpeech, flowNoInputTimeout: spTimeout, flowNoInputUrl: spUrl } = sessionParamsFlow || {};
58
+ const flow = {};
59
+ // verify if there are No Flow Input Configs to set
60
+ if (flowNoInput || sessionParamsFlow) {
61
+ const enabled = spEnable === true || flowNoInputTimeoutEnable === true;
62
+ flow.flowNoInputEnable = enabled;
63
+ if (!enabled)
64
+ return flow;
65
+ if (enabled) {
66
+ flow.flowNoInputMode = spMode || flowNoInputMode;
67
+ flow.flowNoInputFail = spFail || flowNoInputFail;
68
+ switch (flow.flowNoInputMode) {
69
+ case "speech":
70
+ flow.flowNoInputSpeech = spSpeech || flowNoInputSpeech;
71
+ break;
72
+ case "play":
73
+ flow.flowNoInputUrl = spUrl || flowNoInputUrl;
74
+ break;
75
+ default:
76
+ break;
77
+ }
78
+ const retries = Number(spRetries) || Number(flowNoInputRetries);
79
+ /* User No Input Retries. min: 0, max: 999 - if invalid range: set to 1 */
80
+ if (retries <= 1 || retries > 999 || isNaN(retries)) {
81
+ flow.flowNoInputRetries = 1;
82
+ }
83
+ else {
84
+ flow.flowNoInputRetries = retries;
85
+ }
86
+ const timeout = Number(spTimeout) || Number(flowNoInputTimeout);
87
+ if (timeout < 0 || isNaN(timeout)) {
88
+ flow.flowNoInputTimeout = 10;
89
+ }
90
+ else {
91
+ flow.flowNoInputTimeout = timeout / 1000;
92
+ }
93
+ }
94
+ else if (!enabled && !this.has(sessionParamsFlow)) {
95
+ flow.flowNoInputTimeout = 0;
96
+ }
97
+ }
98
+ if (sessionParams === null || sessionParams === void 0 ? void 0 : sessionParams.flow) {
99
+ delete sessionParams.flow;
100
+ }
101
+ return flow;
102
+ }
103
+ buildBarge(sessionParams, dtmf, bargeIn) {
104
+ const { dtmf: sessionParamsDtmf, bargeIn: sessionParamsBargeIn } = sessionParams || {};
105
+ const { bargeInOnSpeech, bargeInOnDtmf, bargeInMinimunWords } = bargeIn || {};
106
+ const { bargeInOnSpeech: spSpeech, bargeInOnDtmf: spDtmf, bargeInMinimunWords: spMinWordCount } = sessionParamsBargeIn || {};
107
+ const { dtmfEnable, dtmfInterDigitTimeout, dtmfMaxDigits, dtmfMinDigits, dtmfSubmitDigit } = dtmf || {};
108
+ const { dtmfEnable: spEnable, dtmfInterDigitTimeout: spTimeout, dtmfMaxDigits: spMaxDigits, dtmfMinDigits: spMinDigits, dtmfSubmitDigit: spSubmitDigit } = sessionParamsDtmf || {};
109
+ let barge = {};
110
+ if (this.has(bargeIn) || this.has(sessionParamsBargeIn)) {
111
+ const speechEnabled = spSpeech || bargeInOnSpeech;
112
+ const dtmfEnabled = spDtmf || bargeInOnDtmf;
113
+ barge = {
114
+ enable: speechEnabled || bargeInOnDtmf,
115
+ actionHook: "voice",
116
+ dtmfBargein: dtmfEnabled,
117
+ input: [],
118
+ };
119
+ if (dtmfEnabled) {
120
+ barge.input.push("digits");
121
+ }
122
+ if (speechEnabled) {
123
+ const minWords = spMinWordCount || bargeInMinimunWords || 1;
124
+ /* Barge in minimum words. min: 1, max: 5, default: 1 */
125
+ if (minWords >= 1 && minWords <= 5) {
126
+ barge.minBargeinWordCount = minWords;
127
+ }
128
+ barge.input.push("speech");
129
+ }
130
+ }
131
+ if (dtmfEnable || spEnable) {
132
+ barge = Object.assign(Object.assign({}, barge), { maxDigits: 1, minDigits: Number(spMinDigits) || Number(dtmfMinDigits) || 1, finishOnKey: spSubmitDigit || dtmfSubmitDigit });
133
+ const timeout = Number(spTimeout) || Number(dtmfInterDigitTimeout) || 0;
134
+ if (timeout > 0) {
135
+ barge.interDigitTimeout = timeout / 1000;
136
+ }
137
+ /* Max digits. min: 1, max: - default: 1 */
138
+ const max = Number(spMaxDigits) || Number(dtmfMaxDigits);
139
+ if (max >= 1) {
140
+ barge.maxDigits = max;
141
+ }
142
+ }
143
+ if (sessionParams === null || sessionParams === void 0 ? void 0 : sessionParams.bargeIn) {
144
+ delete sessionParams.bargeIn;
145
+ }
146
+ if (sessionParams === null || sessionParams === void 0 ? void 0 : sessionParams.dtmf) {
147
+ delete sessionParams.dtmf;
148
+ }
149
+ return barge;
150
+ }
151
+ recognizerApplyContinuousAsr(sessionParams, recognizer, continuousAsr) {
152
+ const { continuousAsr: sessionParamsContinuousAsr } = sessionParams || {};
153
+ const { asrEnabled, asrDigit, asrTimeout = 0 } = continuousAsr || {};
154
+ const { asrDigit: spAsrDigit, asrEnabled: spAsrEnabled, asrTimeout: spAsrTimeout = 0 } = sessionParamsContinuousAsr || {};
155
+ // verify if there are Continuous ASR Configs to set
156
+ if (spAsrEnabled || asrEnabled) {
157
+ recognizer.asrDtmfTerminationDigit = spAsrDigit || asrDigit;
158
+ const timeout = Number(spAsrTimeout || asrTimeout);
159
+ recognizer.asrTimeout = timeout / 1000 || undefined;
160
+ }
161
+ if (sessionParams === null || sessionParams === void 0 ? void 0 : sessionParams.continuousAsr) {
162
+ delete sessionParams.continuousAsr;
163
+ }
164
+ return recognizer;
165
+ }
166
+ isDtmfEnabled(sessionParams, dtmf) {
167
+ const { dtmf: sessionParamsDtmf } = sessionParams || {};
168
+ const { dtmfEnable } = dtmf || {};
169
+ const { dtmfEnable: spEnable } = sessionParamsDtmf || {};
170
+ if (dtmf && (typeof dtmfEnable === "boolean" || typeof spEnable === "boolean")) {
171
+ return dtmfEnable === true || spEnable === true;
172
+ }
173
+ return undefined;
174
+ }
175
+ }
176
+ const mapper = new SessionConfigMapper("voiceGateway2");
6
177
  function voiceConfigParamsToVoiceSettings(config, api) {
7
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
178
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
8
179
  let voiceSettings = {};
9
180
  if (config.sttVendor === 'none') {
10
181
  delete config.sttVendor;
@@ -79,6 +250,9 @@ function voiceConfigParamsToVoiceSettings(config, api) {
79
250
  }
80
251
  });
81
252
  }
253
+ else {
254
+ voiceSettings.stt.altLanguages = [];
255
+ }
82
256
  }
83
257
  if (config.sttVendor === "google") {
84
258
  if (config.recognizeLanguagesGoogle) {
@@ -91,6 +265,9 @@ function voiceConfigParamsToVoiceSettings(config, api) {
91
265
  }
92
266
  });
93
267
  }
268
+ else {
269
+ voiceSettings.stt.altLanguages = [];
270
+ }
94
271
  }
95
272
  if (config.ttsVendor === "elevenlabs") {
96
273
  voiceSettings.tts.ttsModel = config.ttsModel;
@@ -102,13 +279,27 @@ function voiceConfigParamsToVoiceSettings(config, api) {
102
279
  userNoInputRetries: config.userNoInputRetries,
103
280
  userNoInputSpeech: config.userNoInputSpeech,
104
281
  userNoInputUrl: config.userNoInputUrl,
282
+ userNoInputTimeoutEnable: config.userNoInputTimeoutEnable
283
+ };
284
+ voiceSettings.flowNoInput = {
285
+ flowNoInputMode: config.flowNoInputMode,
286
+ flowNoInputTimeout: config.flowNoInputTimeout,
287
+ flowNoInputRetries: config.flowNoInputRetries,
288
+ flowNoInputSpeech: config.flowNoInputSpeech,
289
+ flowNoInputUrl: config.flowNoInputUrl,
290
+ flowNoInputTimeoutEnable: config.flowNoInputTimeoutEnable,
291
+ flowNoInputFail: config.flowNoInputFail
105
292
  };
293
+ // Check if userNoInputTimeout has a value and userNoInputTimeoutEnable is null or undefined to cover generic nodes
294
+ if (((_j = voiceSettings === null || voiceSettings === void 0 ? void 0 : voiceSettings.userNoInput) === null || _j === void 0 ? void 0 : _j.userNoInputTimeout) && (voiceSettings.userNoInput.userNoInputTimeoutEnable === null || voiceSettings.userNoInput.userNoInputTimeoutEnable === undefined)) {
295
+ voiceSettings.userNoInput.userNoInputTimeoutEnable = true;
296
+ }
106
297
  voiceSettings.dtmf = {
107
298
  dtmfEnable: config.dtmfEnable,
108
299
  dtmfInterDigitTimeout: config.dtmfInterDigitTimeout,
109
300
  dtmfMaxDigits: config.dtmfMaxDigits,
110
301
  dtmfMinDigits: config.dtmfMinDigits,
111
- dtmfSubmitDigit: (_j = config.dtmfSubmitDigit) === null || _j === void 0 ? void 0 : _j.trim(),
302
+ dtmfSubmitDigit: (_k = config.dtmfSubmitDigit) === null || _k === void 0 ? void 0 : _k.trim(),
112
303
  };
113
304
  if (config === null || config === void 0 ? void 0 : config.dtmfEnable) {
114
305
  if (voiceSettings.dtmf.dtmfSubmitDigit &&
@@ -152,6 +343,28 @@ function voiceConfigParamsToVoiceSettings(config, api) {
152
343
  azureEnableAudioLogging: config.azureEnableAudioLogging || undefined
153
344
  };
154
345
  }
346
+ // atmosphere sounds
347
+ if (config.atmosphereAction) {
348
+ if ((_l = config.atmosphereUrl) === null || _l === void 0 ? void 0 : _l.length) {
349
+ if (!(0, helper_1.isValidUrl)(config.atmosphereUrl)) {
350
+ throw new Error(`Audio file URL is invalid ${config.atmosphereUrl}`);
351
+ }
352
+ }
353
+ voiceSettings.atmosphereNoise = {
354
+ action: config.atmosphereAction,
355
+ url: config.atmosphereUrl || undefined,
356
+ volume: config.atmosphereVolume || undefined,
357
+ loop: config.atmosphereLoop || undefined
358
+ };
359
+ }
360
+ // silence overlay
361
+ if (typeof config.silenceOverlayAction === "boolean") {
362
+ voiceSettings.silenceOverlay = {
363
+ enable: config.silenceOverlayAction,
364
+ url: config.silenceOverlayURL || undefined,
365
+ startDelaySecs: config.silenceOverlayDelay || undefined
366
+ };
367
+ }
155
368
  return (0, strip_nulls_1.stripNulls)(voiceSettings);
156
369
  }
157
370
  exports.voiceConfigParamsToVoiceSettings = voiceConfigParamsToVoiceSettings;
@@ -181,8 +394,7 @@ exports.setSessionConfig = {
181
394
  },
182
395
  handleVGInput(voiceSettings, sessionParams, api) {
183
396
  var _a, _b;
184
- const { bargeIn, continuousAsr, stt, tts, userNoInput, dtmf, vad, azureConfig, } = voiceSettings;
185
- const user = {};
397
+ const { bargeIn, continuousAsr, stt, tts, userNoInput, dtmf, vad, azureConfig, atmosphereNoise, silenceOverlay, flowNoInput } = voiceSettings;
186
398
  const synthesizer = {};
187
399
  const recognizer = {};
188
400
  //verify if there are STT Configs to set
@@ -233,76 +445,12 @@ exports.setSessionConfig = {
233
445
  };
234
446
  }
235
447
  }
236
- //verify if there are No User Input Configs to set
237
- if (userNoInput) {
238
- const { userNoInputRetries, userNoInputMode, userNoInputSpeech, userNoInputTimeout, userNoInputUrl } = userNoInput || {};
239
- user.noInputMode = userNoInputMode;
240
- if (userNoInputMode === "speech" && userNoInputSpeech)
241
- user.noInputSpeech = userNoInputSpeech;
242
- if (userNoInputMode === "play" && userNoInputUrl)
243
- user.noInputUrl = userNoInputUrl;
244
- /* User No Input Retries. min: 0, max: 999*/
245
- if (userNoInputRetries < 0 || userNoInputRetries > 999) {
246
- user.noInputRetries = 1;
247
- }
248
- else {
249
- user.noInputRetries = userNoInputRetries !== null && userNoInputRetries !== void 0 ? userNoInputRetries : 1;
250
- }
251
- user.noInputTimeout = userNoInputTimeout
252
- ? userNoInputTimeout / 1000
253
- : 10;
254
- }
255
- // verify if there are Continuous ASR Configs to set
256
- if (continuousAsr === null || continuousAsr === void 0 ? void 0 : continuousAsr.asrEnabled) {
257
- recognizer.asrDtmfTerminationDigit = continuousAsr.asrDigit;
258
- recognizer.asrTimeout = continuousAsr.asrTimeout
259
- ? continuousAsr.asrTimeout / 1000
260
- : undefined;
261
- }
262
- // verify if there are Barge In Configs to set
263
- let barge = {};
264
- if (bargeIn) {
265
- const { bargeInOnSpeech, bargeInOnDtmf, bargeInMinimunWords = 1 } = bargeIn;
266
- barge = {
267
- enable: bargeInOnSpeech || bargeInOnDtmf,
268
- actionHook: "voice",
269
- dtmfBargein: bargeInOnDtmf,
270
- input: [],
271
- };
272
- if (bargeInOnDtmf) {
273
- barge.input.push("digits");
274
- }
275
- if (bargeInOnSpeech) {
276
- /* Barge in minimum words. min: 1, max: 5, default: 1 */
277
- if (bargeInMinimunWords >= 1 && bargeInMinimunWords <= 5) {
278
- barge.minBargeinWordCount = bargeInMinimunWords;
279
- }
280
- barge.input.push("speech");
281
- }
282
- }
283
- let enableDTMF;
284
- // verify if there are DTMF Configs to set
285
- if (dtmf) {
286
- const { dtmfEnable, dtmfInterDigitTimeout = 0, dtmfMaxDigits, dtmfMinDigits, dtmfSubmitDigit } = dtmf;
287
- enableDTMF = dtmfEnable;
288
- if (dtmfEnable) {
289
- barge = Object.assign(Object.assign({}, barge), { maxDigits: 1, minDigits: dtmfMinDigits || 1, finishOnKey: dtmfSubmitDigit });
290
- if (typeof dtmfInterDigitTimeout === "number") {
291
- if (dtmfInterDigitTimeout > 0) {
292
- barge.interDigitTimeout = dtmfInterDigitTimeout / 1000;
293
- }
294
- }
295
- /* Max digits. min: 1, max: - default: 1 */
296
- if (dtmfMaxDigits >= 1) {
297
- barge.maxDigits = dtmf.dtmfMaxDigits;
298
- }
299
- }
300
- }
448
+ mapper.recognizerApplyContinuousAsr(sessionParams, recognizer, continuousAsr);
301
449
  // Check if there are configs for synthesizer, recognizer and bargeIn
302
450
  let voiceConfig = {
303
451
  synthesizer: synthesizer || undefined,
304
452
  recognizer: recognizer || undefined,
305
- bargeIn: barge || undefined,
453
+ bargeIn: mapper.buildBarge(sessionParams, dtmf, bargeIn) || undefined,
306
454
  };
307
455
  if (voiceConfig.synthesizer && !voiceConfig.synthesizer.azureServiceEndpoint) {
308
456
  voiceConfig.synthesizer.azureServiceEndpoint = "";
@@ -310,6 +458,9 @@ exports.setSessionConfig = {
310
458
  if (voiceConfig.recognizer && !voiceConfig.recognizer.azureSttEndpointId) {
311
459
  voiceConfig.recognizer.azureSttEndpointId = "";
312
460
  }
461
+ if (silenceOverlay) {
462
+ voiceConfig.fillerNoise = (0, strip_nulls_1.stripNulls)(silenceOverlay);
463
+ }
313
464
  (0, strip_nulls_1.stripNulls)(voiceConfig);
314
465
  /* As the last step we check the session params JSON for valid properties */
315
466
  if (sessionParams) {
@@ -317,8 +468,9 @@ exports.setSessionConfig = {
317
468
  }
318
469
  // Check if there are configs for No User Input and DTMF
319
470
  const cognigyConfig = {
320
- user: user || undefined,
321
- dtmf: enableDTMF,
471
+ user: mapper.buildUser(sessionParams, userNoInput) || undefined,
472
+ flow: mapper.buildFlow(sessionParams, flowNoInput) || undefined,
473
+ dtmf: mapper.isDtmfEnabled(sessionParams, dtmf),
322
474
  };
323
475
  if (tts && typeof tts.ttsDisableCache === "boolean") {
324
476
  cognigyConfig.disableTtsCache = tts.ttsDisableCache;
@@ -332,6 +484,9 @@ exports.setSessionConfig = {
332
484
  ? voiceConfig
333
485
  : undefined,
334
486
  };
487
+ if (atmosphereNoise) {
488
+ prePayload.voiceGateway2Atmosphere = (0, strip_nulls_1.stripNulls)(atmosphereNoise);
489
+ }
335
490
  if (prePayload.cognigyConfig === undefined) {
336
491
  delete prePayload.cognigyConfig;
337
492
  }
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareTransferParams = exports.transfer = void 0;
4
- /* Node modules */
5
- const path_1 = require("path");
6
4
  /* Custom modules */
7
5
  const helper_1 = require("../../../descriptors/voicegateway2/utils/helper");
8
6
  const helper_2 = require("../utils/helper");
9
7
  exports.transfer = {
10
- handleInput(endpointType, params, isGenericNode, recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting) {
8
+ handleInput(endpointType, params, isGenericNode = false, recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, anchorMedia) {
11
9
  try {
12
10
  switch (endpointType) {
13
11
  case "bandwidth":
@@ -26,14 +24,14 @@ exports.transfer = {
26
24
  return this.handleAudioCodesInput((0, exports.prepareTransferParams)(params), endpointType);
27
25
  case "voiceGateway2":
28
26
  default:
29
- return this.handleVGInput((0, exports.prepareTransferParams)(params), recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting);
27
+ return this.handleVGInput((0, exports.prepareTransferParams)(params), recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, anchorMedia);
30
28
  }
31
29
  }
32
30
  catch (error) {
33
31
  throw Error(error.message);
34
32
  }
35
33
  },
36
- handleVGInput(transferParam, recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting) {
34
+ handleVGInput(transferParam, recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, anchorMedia) {
37
35
  const { transferType, transferTarget, transferReason, referredBy, useTransferSipHeaders, transferSipHeaders, dialMusic, dialTranscriptionWebhook, dialCallerId, amdEnabled, amdRedirectOnMachineDetected, amdRedirectText, dialTimeout, sttLabel } = transferParam;
38
36
  const payload = {
39
37
  _voiceGateway2: {
@@ -128,10 +126,6 @@ exports.transfer = {
128
126
  if (!(0, helper_2.isValidUrl)(dialMusic)) {
129
127
  throw new Error(`Audio file URL is invalid ${dialMusic}`);
130
128
  }
131
- const extension = (0, path_1.extname)(dialMusic);
132
- if ([".mp3", ".wav"].indexOf(extension) === -1) {
133
- throw new Error(`Audio file must be from type .mp3 or .wav. Extension was: ${extension}`);
134
- }
135
129
  dialVerb.dialMusic = dialMusic;
136
130
  }
137
131
  if (dialCallerId === null || dialCallerId === void 0 ? void 0 : dialCallerId.length) {
@@ -140,6 +134,9 @@ exports.transfer = {
140
134
  }
141
135
  dialVerb.callerId = dialCallerId;
142
136
  }
137
+ if (anchorMedia) {
138
+ dialVerb.anchorMedia = anchorMedia;
139
+ }
143
140
  payload._voiceGateway2.json["dial"] = dialVerb;
144
141
  break;
145
142
  case "refer":
@@ -7,6 +7,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
7
7
  const setSessionConfig_mapper_1 = require("../mappers/setSessionConfig.mapper");
8
8
  const design_1 = require("../utils/design");
9
9
  const setSessionConfig_mapper_2 = require("../mappers/setSessionConfig.mapper");
10
+ const logFullConfigToDebugMode_1 = require("../../../../helper/logFullConfigToDebugMode");
10
11
  exports.BARGE_IN = (0, createNodeDescriptor_1.createNodeDescriptor)({
11
12
  type: "bargeIn",
12
13
  defaultLabel: "Barge In - Config",
@@ -98,6 +99,7 @@ exports.BARGE_IN = (0, createNodeDescriptor_1.createNodeDescriptor)({
98
99
  api.say(null, {
99
100
  _cognigy: payload,
100
101
  });
102
+ (0, logFullConfigToDebugMode_1.logFullConfigToDebugMode)(cognigy, config);
101
103
  }
102
104
  catch (error) {
103
105
  throw new Error(`Error on Barge In node. Error message: ${error.message}`);
@@ -7,6 +7,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
7
7
  const setSessionConfig_mapper_1 = require("../mappers/setSessionConfig.mapper");
8
8
  const design_1 = require("../utils/design");
9
9
  const setSessionConfig_mapper_2 = require("../mappers/setSessionConfig.mapper");
10
+ const logFullConfigToDebugMode_1 = require("../../../../helper/logFullConfigToDebugMode");
10
11
  exports.CONTINUOUS_ASR = (0, createNodeDescriptor_1.createNodeDescriptor)({
11
12
  type: "continuousASR",
12
13
  defaultLabel: "Continuous ASR - Config",
@@ -45,14 +46,13 @@ exports.CONTINUOUS_ASR = (0, createNodeDescriptor_1.createNodeDescriptor)({
45
46
  label: "UI__NODE_EDITOR__CONTINUOUS_ASR__FIELDS__ASR_TIMEOUT__LABEL",
46
47
  description: "UI__NODE_EDITOR__CONTINUOUS_ASR__FIELDS__ASR_TIMEOUT__DESCRIPTION",
47
48
  defaultValue: 3000,
49
+ params: {
50
+ min: 2000
51
+ },
48
52
  condition: {
49
53
  key: "asrEnabled",
50
54
  value: true,
51
55
  },
52
- params: {
53
- min: 500,
54
- max: 60000,
55
- },
56
56
  },
57
57
  ],
58
58
  function: async ({ cognigy, config }) => {
@@ -63,6 +63,7 @@ exports.CONTINUOUS_ASR = (0, createNodeDescriptor_1.createNodeDescriptor)({
63
63
  api.say(null, {
64
64
  _cognigy: payload,
65
65
  });
66
+ (0, logFullConfigToDebugMode_1.logFullConfigToDebugMode)(cognigy, config);
66
67
  }
67
68
  catch (error) {
68
69
  throw new Error(`Error on Continuous ASR node. Error message: ${error.message}`);
@@ -7,6 +7,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
7
7
  const setSessionConfig_mapper_1 = require("../mappers/setSessionConfig.mapper");
8
8
  const design_1 = require("../utils/design");
9
9
  const setSessionConfig_mapper_2 = require("../mappers/setSessionConfig.mapper");
10
+ const logFullConfigToDebugMode_1 = require("../../../../helper/logFullConfigToDebugMode");
10
11
  exports.DTMF = (0, createNodeDescriptor_1.createNodeDescriptor)({
11
12
  type: "dtmf",
12
13
  defaultLabel: "DTMF Collect - Config",
@@ -71,6 +72,7 @@ exports.DTMF = (0, createNodeDescriptor_1.createNodeDescriptor)({
71
72
  api.say(null, {
72
73
  _cognigy: payload,
73
74
  });
75
+ (0, logFullConfigToDebugMode_1.logFullConfigToDebugMode)(cognigy, config);
74
76
  }
75
77
  catch (error) {
76
78
  throw new Error(`Error on DTMF node. Error message: ${error.message}`);
@@ -43,6 +43,7 @@ exports.MUTE_SPEECH_INPUT = (0, createNodeDescriptor_1.createNodeDescriptor)({
43
43
  api.say(null, {
44
44
  _cognigy: payload
45
45
  });
46
+ api.logDebugMessage(`UI__DEBUG_MODE__MUTE_SPEECH__MESSAGE ${config.muteSpeechInput}`);
46
47
  }
47
48
  catch (error) {
48
49
  throw new Error(`Error in muteSpeechInput node. Error message: ${error.message}`);
@@ -7,6 +7,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
7
7
  const setSessionConfig_mapper_1 = require("../mappers/setSessionConfig.mapper");
8
8
  const design_1 = require("../utils/design");
9
9
  const setSessionConfig_mapper_2 = require("../mappers/setSessionConfig.mapper");
10
+ const logFullConfigToDebugMode_1 = require("../../../../helper/logFullConfigToDebugMode");
10
11
  exports.USER_INPUT_TIMEOUT = (0, createNodeDescriptor_1.createNodeDescriptor)({
11
12
  type: "noUserInput",
12
13
  defaultLabel: "User Input Timeout - Config",
@@ -97,6 +98,7 @@ exports.USER_INPUT_TIMEOUT = (0, createNodeDescriptor_1.createNodeDescriptor)({
97
98
  api.say(null, {
98
99
  _cognigy: payload,
99
100
  });
101
+ (0, logFullConfigToDebugMode_1.logFullConfigToDebugMode)(cognigy, config);
100
102
  }
101
103
  catch (error) {
102
104
  throw new Error(`Error on User Input Timeout node. Error message: ${error.message}`);
@@ -7,6 +7,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
7
7
  const setSessionConfig_mapper_1 = require("../mappers/setSessionConfig.mapper");
8
8
  const design_1 = require("../utils/design");
9
9
  const vgConstants_1 = require("../utils/vgConstants");
10
+ const logFullConfigToDebugMode_1 = require("../../../../helper/logFullConfigToDebugMode");
10
11
  exports.voiceConfigFields = [
11
12
  {
12
13
  key: "sttHints",
@@ -332,6 +333,7 @@ exports.SESSION_SPEECH_PARAMETERS = (0, createNodeDescriptor_1.createNodeDescrip
332
333
  api.say(null, {
333
334
  _cognigy: payload,
334
335
  });
336
+ (0, logFullConfigToDebugMode_1.logFullConfigToDebugMode)(cognigy, config);
335
337
  }
336
338
  catch (error) {
337
339
  throw new Error(`Error on Session Speech Parameters node. Error message: ${error.message}`);
@@ -7,6 +7,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
7
7
  const design_1 = require("../utils/design");
8
8
  const transfer_mapper_1 = require("../mappers/transfer.mapper");
9
9
  const helper_1 = require("../../voicegateway2/utils/helper");
10
+ const logFullConfigToDebugMode_1 = require("../../../../helper/logFullConfigToDebugMode");
10
11
  exports.TRANSFER_VOICE = (0, createNodeDescriptor_1.createNodeDescriptor)({
11
12
  type: "transfer",
12
13
  defaultLabel: "Transfer",
@@ -117,6 +118,7 @@ exports.TRANSFER_VOICE = (0, createNodeDescriptor_1.createNodeDescriptor)({
117
118
  api.say(null, {
118
119
  _cognigy: payload,
119
120
  });
121
+ (0, logFullConfigToDebugMode_1.logFullConfigToDebugMode)(cognigy, config);
120
122
  }
121
123
  catch (error) {
122
124
  throw new Error(`Error on Transfer Node type: refer. Error message: ${error.message}`);
@@ -5,6 +5,7 @@ exports.callRecordingNode = void 0;
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
6
  /** Helper Modules */
7
7
  const design_1 = require("../utils/design");
8
+ const utils_1 = require("./helper/utils");
8
9
  exports.callRecordingNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
9
10
  type: "callRecording",
10
11
  defaultLabel: "Call Recording",
@@ -75,7 +76,7 @@ exports.callRecordingNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
75
76
  key: "activity",
76
77
  type: "text",
77
78
  },
78
- function: async ({ cognigy, config }) => {
79
+ function: async ({ cognigy, config, nodeId }) => {
79
80
  const { api } = cognigy;
80
81
  const { activity, callRecordingDestUsername, callRecordingId, callRecordingServer, } = config;
81
82
  let activities = [];
@@ -106,6 +107,12 @@ exports.callRecordingNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
106
107
  default:
107
108
  api.log("error", "Invalid activity");
108
109
  }
110
+ const { isFeatureAccmEnabled } = api.getEndpointSettings();
111
+ if (isFeatureAccmEnabled) {
112
+ return api.say(null, {
113
+ _cognigy: (0, utils_1.buildPayloadAccm)("callRecording", config, nodeId)
114
+ });
115
+ }
109
116
  api.output(null, {
110
117
  _cognigy: {
111
118
  _voiceGateway: {
@@ -6,6 +6,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
6
  /** Helper Modules */
7
7
  const design_1 = require("../utils/design");
8
8
  const transfer_mapper_1 = require("../../voice/mappers/transfer.mapper");
9
+ const utils_1 = require("./helper/utils");
9
10
  exports.handoverNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
10
11
  type: "handover",
11
12
  defaultLabel: "Transfer",
@@ -116,7 +117,7 @@ exports.handoverNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
116
117
  key: "advanced"
117
118
  }
118
119
  ],
119
- function: async ({ cognigy, config }) => {
120
+ function: async ({ cognigy, config, nodeId }) => {
120
121
  const { api, input } = cognigy;
121
122
  const { handoverReason, transferTarget, transferReferredByURL, useTransferSipHeaders, transferSipHeaders, transferNotifications, transferNotificationsHangupMS } = config;
122
123
  const transferParams = {
@@ -133,7 +134,8 @@ exports.handoverNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
133
134
  api.say("Transferring a call is not supported in the Interaction Panel, please use the AudioCodes endpoint.", null);
134
135
  return;
135
136
  }
136
- const payload = transfer_mapper_1.transfer.handleInput("audioCodes", transferParams, false);
137
+ const { isFeatureAccmEnabled } = api.getEndpointSettings();
138
+ const payload = isFeatureAccmEnabled ? (0, utils_1.buildPayloadAccm)("handover", transferParams, nodeId) : transfer_mapper_1.transfer.handleInput("audioCodes", transferParams);
137
139
  api.say(null, {
138
140
  _cognigy: payload
139
141
  });
@@ -6,6 +6,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
6
  /** Helper Modules */
7
7
  const design_1 = require("../utils/design");
8
8
  const hangup_mapper_1 = require("../../voice/mappers/hangup.mapper");
9
+ const utils_1 = require("./helper/utils");
9
10
  exports.hangupNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
10
11
  type: "hangup",
11
12
  defaultLabel: "Hang Up",
@@ -31,11 +32,12 @@ exports.hangupNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
31
32
  form: [
32
33
  { type: "field", key: "hangupReason" }
33
34
  ],
34
- function: async ({ cognigy, config }) => {
35
+ function: async ({ cognigy, config, nodeId }) => {
35
36
  const { api } = cognigy;
36
37
  const { hangupReason } = config;
37
38
  try {
38
- const payload = hangup_mapper_1.hangUp.handleInput("audioCodes", hangupReason);
39
+ const { isFeatureAccmEnabled } = api.getEndpointSettings();
40
+ const payload = isFeatureAccmEnabled ? (0, utils_1.buildPayloadAccm)("hangup", config, nodeId) : hangup_mapper_1.hangUp.handleInput("audioCodes", hangupReason);
39
41
  api.say(null, {
40
42
  _cognigy: payload
41
43
  });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildPayloadAccm = void 0;
4
+ const buildPayloadAccm = (task, nodeData, nodeId) => ({
5
+ _accm: {
6
+ json: {
7
+ task,
8
+ nodeId,
9
+ [task]: nodeData
10
+ }
11
+ }
12
+ });
13
+ exports.buildPayloadAccm = buildPayloadAccm;
14
+ //# sourceMappingURL=utils.js.map