@cognigy/rest-api-client 0.12.0 → 0.13.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 (277) hide show
  1. package/.eslintignore +15 -0
  2. package/.eslintrc.json +28 -0
  3. package/.prettierrc.json +7 -0
  4. package/build/GenericAPIFn.js +3 -3
  5. package/build/GenericUploadFn.js +8 -5
  6. package/build/PluginBase.js +1 -1
  7. package/build/RestAPIClient.js +1 -1
  8. package/build/apigroups/AdministrationAPIGroup_2_0.js +53 -47
  9. package/build/apigroups/AnalyticsAPIGroup_2_0.js +1 -1
  10. package/build/apigroups/ExternalAPIGroup_2_0.js +5 -5
  11. package/build/apigroups/InsightsAPIGroup_2_0.js +17 -12
  12. package/build/apigroups/ManagementAPIGroup_2_0.js +19 -15
  13. package/build/apigroups/MetricsAPIGroup_2_0.js +29 -29
  14. package/build/apigroups/ResourcesAPIGroup_2_0.js +238 -186
  15. package/build/apigroups/SessionsAPIGroup_2_0.js +7 -7
  16. package/build/authentication/ApiKey/ApiKeyAuthentication.js +1 -1
  17. package/build/authentication/AuthenticationAPI.js +2 -2
  18. package/build/authentication/BasicAuthentication/BasicAuthentication.js +2 -2
  19. package/build/authentication/OAuth2/IOAuth2ErrorResponse.js +1 -1
  20. package/build/authentication/OAuth2/OAuth2Authentication.js +34 -27
  21. package/build/connector/AxiosAdapter.js +28 -24
  22. package/build/connector/isRetryAllowed.js +0 -1
  23. package/build/connector/retryAfterDelay.js +3 -3
  24. package/build/shared/{interfaces/debugEvents/TSessionStateEmitParams.js → api/liveAgent/liveAgentInterfaces.js} +1 -1
  25. package/build/shared/charts/descriptors/allFields.js +1 -1
  26. package/build/shared/charts/descriptors/{profile → analytics}/activateProfile.js +2 -2
  27. package/build/shared/charts/descriptors/{profile → analytics}/blindMode.js +11 -4
  28. package/build/shared/charts/descriptors/{profile → analytics}/completeGoal.js +2 -2
  29. package/build/shared/charts/descriptors/{profile → analytics}/deactivateProfile.js +2 -2
  30. package/build/shared/charts/descriptors/{profile → analytics}/deleteProfile.js +2 -2
  31. package/build/shared/charts/descriptors/{profile → analytics}/index.js +0 -0
  32. package/build/shared/charts/descriptors/{profile → analytics}/mergeProfile.js +2 -2
  33. package/build/shared/charts/descriptors/{profile → analytics}/overwriteAnalytics.js +6 -3
  34. package/build/shared/charts/descriptors/{profile → analytics}/requestRating.js +2 -2
  35. package/build/shared/charts/descriptors/{profile → analytics}/setRating.js +2 -2
  36. package/build/shared/charts/descriptors/{profile → analytics}/updateProfile.js +2 -2
  37. package/build/shared/charts/descriptors/apps/getAppSessionPin.js +46 -0
  38. package/build/shared/charts/descriptors/apps/index.js +7 -1
  39. package/build/shared/charts/descriptors/apps/initAppSession.js +467 -12
  40. package/build/shared/charts/descriptors/apps/setAdaptiveCardAppState.js +79 -0
  41. package/build/shared/charts/descriptors/apps/setAppState.js +13 -15
  42. package/build/shared/charts/descriptors/apps/setHtmlAppState.js +108 -0
  43. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/amazonStorageProviderConnection.js +14 -0
  44. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/azureBlobStorageProviderConnection.js +13 -0
  45. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/googleCloudStorageProviderConnection.js +13 -0
  46. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/index.js +23 -0
  47. package/build/shared/charts/descriptors/connectionNodes/mongoDB/aggregate.js +1 -1
  48. package/build/shared/charts/descriptors/connectionNodes/mongoDB/find.js +1 -1
  49. package/build/shared/charts/descriptors/connectionNodes/mongoDB/findOne.js +1 -1
  50. package/build/shared/charts/descriptors/connectionNodes/mongoDB/index.js +1 -1
  51. package/build/shared/charts/descriptors/connectionNodes/mongoDB/insert.js +1 -1
  52. package/build/shared/charts/descriptors/connectionNodes/mongoDB/remove.js +1 -1
  53. package/build/shared/charts/descriptors/connectionNodes/mongoDB/updateMany.js +1 -1
  54. package/build/shared/charts/descriptors/connectionNodes/mongoDB/updateOne.js +1 -1
  55. package/build/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +2 -2
  56. package/build/shared/charts/descriptors/connectionNodes/smtp/index.js +1 -1
  57. package/build/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +2 -2
  58. package/build/shared/charts/descriptors/connectionNodes/sql/index.js +1 -1
  59. package/build/shared/charts/descriptors/connectionNodes/sql/runQuery.js +1 -1
  60. package/build/shared/charts/descriptors/connectionNodes/sql/runStoredProcedure.js +1 -1
  61. package/build/shared/charts/descriptors/connectionNodes/sql/runTransaction.js +1 -1
  62. package/build/shared/charts/descriptors/data/addToContext.js +1 -1
  63. package/build/shared/charts/descriptors/data/code.js +1 -1
  64. package/build/shared/charts/descriptors/data/copyDataToContext.js +1 -1
  65. package/build/shared/charts/descriptors/data/copySlotsToContext.js +1 -1
  66. package/build/shared/charts/descriptors/data/log.js +1 -1
  67. package/build/shared/charts/descriptors/data/removeFromContext.js +1 -1
  68. package/build/shared/charts/descriptors/data/resetContext.js +1 -1
  69. package/build/shared/charts/descriptors/end.js +1 -1
  70. package/build/shared/charts/descriptors/index.js +25 -16
  71. package/build/shared/charts/descriptors/liveAgent/assistInfo.js +195 -0
  72. package/build/shared/charts/descriptors/liveAgent/index.js +6 -0
  73. package/build/shared/charts/descriptors/liveAgent/utils/buildCognigyWhisperAssistResponse.js +135 -0
  74. package/build/shared/charts/descriptors/liveAgent/utils/index.js +6 -0
  75. package/build/shared/charts/descriptors/logic/disableSlotFillers.js +1 -1
  76. package/build/shared/charts/descriptors/logic/enableSlotFillers.js +1 -1
  77. package/build/shared/charts/descriptors/logic/executeFlow.js +1 -1
  78. package/build/shared/charts/descriptors/logic/goTo.js +1 -1
  79. package/build/shared/charts/descriptors/logic/if/else.js +1 -1
  80. package/build/shared/charts/descriptors/logic/if/if.js +1 -1
  81. package/build/shared/charts/descriptors/logic/if/then.js +1 -1
  82. package/build/shared/charts/descriptors/logic/interval/elseInterval.js +1 -1
  83. package/build/shared/charts/descriptors/logic/interval/interval.js +1 -1
  84. package/build/shared/charts/descriptors/logic/interval/onInterval.js +1 -1
  85. package/build/shared/charts/descriptors/logic/once/afterwards.js +1 -1
  86. package/build/shared/charts/descriptors/logic/once/onFirstExecution.js +1 -1
  87. package/build/shared/charts/descriptors/logic/once/once.js +1 -1
  88. package/build/shared/charts/descriptors/logic/resetState.js +1 -1
  89. package/build/shared/charts/descriptors/logic/setState.js +1 -1
  90. package/build/shared/charts/descriptors/logic/setTranslation.js +1 -1
  91. package/build/shared/charts/descriptors/logic/sleep.js +1 -1
  92. package/build/shared/charts/descriptors/logic/stop.js +1 -1
  93. package/build/shared/charts/descriptors/logic/switch/case.js +1 -1
  94. package/build/shared/charts/descriptors/logic/switch/default.js +1 -1
  95. package/build/shared/charts/descriptors/logic/switch/switch.js +22 -8
  96. package/build/shared/charts/descriptors/logic/switchLocale.js +1 -1
  97. package/build/shared/charts/descriptors/logic/think.js +1 -1
  98. package/build/shared/charts/descriptors/logic/thinkV2.js +1 -1
  99. package/build/shared/charts/descriptors/logic/wait.js +1 -1
  100. package/build/shared/charts/descriptors/message/checkChannelChange/checkChannelChange.js +1 -1
  101. package/build/shared/charts/descriptors/message/checkChannelChange/onNo.js +1 -1
  102. package/build/shared/charts/descriptors/message/checkChannelChange/onYes.js +1 -1
  103. package/build/shared/charts/descriptors/message/checkChannelChange/unchanged.js +1 -1
  104. package/build/shared/charts/descriptors/message/datePicker.js +5 -5
  105. package/build/shared/charts/descriptors/message/question/onAnswer.js +1 -1
  106. package/build/shared/charts/descriptors/message/question/onQuestion.js +1 -1
  107. package/build/shared/charts/descriptors/message/question/optionalQuestion.js +2 -2
  108. package/build/shared/charts/descriptors/message/question/question.js +201 -24
  109. package/build/shared/charts/descriptors/message/question/utils/datepickerUtils.js +31 -2
  110. package/build/shared/charts/descriptors/message/question/utils/evaluateQuestionAnswer.js +4 -1
  111. package/build/shared/charts/descriptors/message/question/utils/questionHandover.js +13 -0
  112. package/build/shared/charts/descriptors/message/say.js +10 -4
  113. package/build/shared/charts/descriptors/message/sendImage.js +1 -1
  114. package/build/shared/charts/descriptors/message/sendText.js +1 -1
  115. package/build/shared/charts/descriptors/microsoft/getToken.js +1 -1
  116. package/build/shared/charts/descriptors/microsoft/index.js +1 -1
  117. package/build/shared/charts/descriptors/microsoft/invalidateToken.js +1 -1
  118. package/build/shared/charts/descriptors/microsoft/tokenStatus/index.js +1 -1
  119. package/build/shared/charts/descriptors/microsoft/tokenStatus/tokenGranted.js +1 -1
  120. package/build/shared/charts/descriptors/microsoft/tokenStatus/tokenNotGranted.js +1 -1
  121. package/build/shared/charts/descriptors/nlu/addLexiconKeyphrase.js +1 -1
  122. package/build/shared/charts/descriptors/nlu/executeCognigyNLU.js +18 -3
  123. package/build/shared/charts/descriptors/nlu/extractAnswer.js +1 -1
  124. package/build/shared/charts/descriptors/nlu/fuzzySearch.js +2 -2
  125. package/build/shared/charts/descriptors/nlu/matchPattern.js +13 -4
  126. package/build/shared/charts/descriptors/nlu/regexSlotFiller.js +1 -1
  127. package/build/shared/charts/descriptors/nlu/utils/patternMatcher.js +129 -61
  128. package/build/shared/charts/descriptors/placeholder.js +1 -1
  129. package/build/shared/charts/descriptors/requiredFields.js +1 -1
  130. package/build/shared/charts/descriptors/service/checkAgentAvailability.js +203 -0
  131. package/build/shared/charts/descriptors/service/handover.js +1 -1
  132. package/build/shared/charts/descriptors/service/handoverV2.js +66 -3
  133. package/build/shared/charts/descriptors/service/httpRequest.js +16 -5
  134. package/build/shared/charts/descriptors/service/index.js +3 -1
  135. package/build/shared/charts/descriptors/service/triggerFunction/onScheduled.js +1 -1
  136. package/build/shared/charts/descriptors/service/triggerFunction/onSchedulingError.js +1 -1
  137. package/build/shared/charts/descriptors/service/triggerFunction/triggerFunction.js +1 -1
  138. package/build/shared/charts/descriptors/start.js +1 -1
  139. package/build/shared/charts/descriptors/voice/index.js +20 -0
  140. package/build/shared/charts/descriptors/voice/interface/IAudioCodes.js +3 -0
  141. package/build/shared/charts/descriptors/voice/interface/IVoiceGateway2.js +3 -0
  142. package/build/shared/charts/descriptors/voice/mappers/hangup.mapper.js +59 -0
  143. package/build/shared/charts/descriptors/voice/mappers/play.mapper.js +99 -0
  144. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +296 -0
  145. package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +86 -0
  146. package/build/shared/charts/descriptors/voice/nodes/bargeIn.js +60 -0
  147. package/build/shared/charts/descriptors/voice/nodes/continuousAsr.js +72 -0
  148. package/build/shared/charts/descriptors/voice/nodes/dtmf.js +86 -0
  149. package/build/shared/charts/descriptors/voice/nodes/hangup.js +48 -0
  150. package/build/shared/charts/descriptors/voice/nodes/noUserInput.js +105 -0
  151. package/build/shared/charts/descriptors/voice/nodes/play.js +95 -0
  152. package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +105 -0
  153. package/build/shared/charts/descriptors/voice/nodes/transfer.js +114 -0
  154. package/build/shared/charts/descriptors/voice/utils/constants.js +8 -0
  155. package/build/shared/charts/descriptors/voice/utils/design.js +5 -0
  156. package/build/shared/charts/descriptors/voice/utils/helper.js +11 -0
  157. package/build/shared/charts/descriptors/voicegateway/index.js +1 -1
  158. package/build/shared/charts/descriptors/voicegateway/nodes/agentAssist.js +1 -1
  159. package/build/shared/charts/descriptors/voicegateway/nodes/callRecording.js +1 -1
  160. package/build/shared/charts/descriptors/voicegateway/nodes/handover.js +18 -32
  161. package/build/shared/charts/descriptors/voicegateway/nodes/hangup.js +11 -20
  162. package/build/shared/charts/descriptors/voicegateway/nodes/playURL.js +14 -29
  163. package/build/shared/charts/descriptors/voicegateway/nodes/sendMessage.js +4 -4
  164. package/build/shared/charts/descriptors/voicegateway/nodes/sendMetaData.js +1 -1
  165. package/build/shared/charts/descriptors/voicegateway/nodes/setSessionParams.js +4 -4
  166. package/build/shared/charts/descriptors/voicegateway/utils/paramUtils.js +25 -5
  167. package/build/shared/charts/descriptors/voicegateway2/index.js +6 -2
  168. package/build/shared/charts/descriptors/voicegateway2/nodes/dtmf.js +9 -5
  169. package/build/shared/charts/descriptors/voicegateway2/nodes/hangup.js +17 -19
  170. package/build/shared/charts/descriptors/voicegateway2/nodes/play.js +19 -105
  171. package/build/shared/charts/descriptors/voicegateway2/nodes/refer.js +73 -14
  172. package/build/shared/charts/descriptors/voicegateway2/nodes/sendMetadata.js +64 -0
  173. package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +95 -325
  174. package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +99 -0
  175. package/build/shared/charts/descriptors/voicegateway2/utils/constants.js +7 -0
  176. package/build/shared/charts/descriptors/voicegateway2/utils/helper.js +39 -0
  177. package/build/shared/constants.js +3 -1
  178. package/build/shared/errors/baseError.js +2 -2
  179. package/build/shared/handoverClients/interfaces/TAnyProviderResponse.js +3 -0
  180. package/build/shared/handoverClients/interfaces/THandoverEventType.js +12 -0
  181. package/build/shared/helper/BaseContext.js +1 -1
  182. package/build/shared/helper/defaultDatepickerFunction.js +13 -0
  183. package/build/shared/helper/rest/query-string/index.js +5 -5
  184. package/build/shared/helper/rest/query.js +0 -0
  185. package/build/shared/interfaces/IApiKey.js +1 -1
  186. package/build/shared/interfaces/IOrganisation.js +21 -2
  187. package/build/shared/interfaces/IProfile.js +1 -1
  188. package/build/shared/interfaces/ISayNodeSettings.js +3 -0
  189. package/build/shared/interfaces/ai.js +0 -1
  190. package/build/shared/interfaces/amazonLexV2Interface.js +3 -0
  191. package/build/shared/interfaces/amqpInterface.js +1 -1
  192. package/build/shared/interfaces/analytics/IAnalyticsRating.js +13 -0
  193. package/build/shared/interfaces/analytics/IStepEvent.js +2 -0
  194. package/build/shared/interfaces/fileStorage.js +23 -0
  195. package/build/shared/interfaces/handover.js +74 -4
  196. package/build/shared/interfaces/journeys/IJourney.js +1 -1
  197. package/build/shared/interfaces/management/deleteOrganisation/deleteOrganisationTypes.js +3 -0
  198. package/build/shared/interfaces/messageAPI/analytics.js +3 -0
  199. package/build/shared/interfaces/messageAPI/endpoints.js +89 -3
  200. package/build/shared/interfaces/messageAPI/handover.js +270 -0
  201. package/build/shared/interfaces/resources/IAppTemplate.js +24 -0
  202. package/build/shared/interfaces/resources/IAuditEvent.js +25 -2
  203. package/build/shared/interfaces/resources/IChart.js +2 -1
  204. package/build/shared/interfaces/resources/IChartNode.js +3 -2
  205. package/build/shared/interfaces/resources/IConnection.js +1 -1
  206. package/build/shared/interfaces/resources/IConnectionSchema.js +1 -1
  207. package/build/shared/interfaces/resources/IEndpoint.js +2 -0
  208. package/build/shared/interfaces/resources/IExtension.js +17 -0
  209. package/build/shared/interfaces/resources/IFile.js +1 -1
  210. package/build/shared/interfaces/resources/IFlow.js +10 -2
  211. package/build/shared/interfaces/resources/IFlowState.js +1 -1
  212. package/build/shared/interfaces/resources/IFunctionInstance.js +1 -1
  213. package/build/shared/interfaces/resources/IHandoverConfiguration.js +13 -0
  214. package/build/shared/interfaces/resources/ILexicon.js +1 -1
  215. package/build/shared/interfaces/resources/ILexiconEntry.js +1 -1
  216. package/build/shared/interfaces/resources/INodeDescriptorSet.js +5 -1
  217. package/build/shared/interfaces/resources/IOrganisationDeletion.js +10 -0
  218. package/build/shared/interfaces/resources/IPlaybookRun.js +7 -7
  219. package/build/shared/interfaces/resources/IProject.js +14 -1
  220. package/build/shared/interfaces/resources/IRemoveDuplicatedSlotsAndUpdateLexionEntries.js +3 -0
  221. package/build/shared/interfaces/resources/TNLUConnectorType.js +1 -0
  222. package/build/shared/interfaces/resources/TRestChannelType.js +5 -0
  223. package/build/shared/interfaces/resources/TSocketChannelType.js +5 -5
  224. package/build/shared/interfaces/resources/TWebhookChannelType.js +10 -0
  225. package/build/shared/interfaces/resources/intent/IIntent.js +26 -8
  226. package/build/shared/interfaces/resources/intent/IIntentTrainGroup.js +19 -1
  227. package/build/shared/interfaces/resources/settings/IAgentSettings.js +47 -6
  228. package/build/shared/interfaces/resources/settings/IFlowSettings.js +20 -2
  229. package/build/shared/interfaces/resources/settings/ISharedSettings.js +5 -1
  230. package/build/shared/interfaces/resources/yesNoIntent/IYesNoItem.js +9 -0
  231. package/build/shared/interfaces/resources/yesNoIntent/index.js +3 -0
  232. package/build/shared/interfaces/restAPI/administration/liveAgent/v2.0/IUpdateCognigyLiveAgentInboxRest_2_0.js +3 -0
  233. package/build/shared/interfaces/restAPI/administration/organisations/v2.0/IReadCollectionsToBeDeletedRest_2_0.js +21 -0
  234. package/build/shared/interfaces/restAPI/administration/organisations/v2.0/IRequestOrganisationDeletionRest_2_0.js +3 -0
  235. package/build/shared/interfaces/restAPI/administration/organisations/v2.0/index.js +3 -0
  236. package/build/shared/interfaces/restAPI/audio/v2.0/IAudioPreviewLanguages_2_0.js +3 -0
  237. package/build/shared/interfaces/restAPI/audio/v2.0/IAudioPreviewRest_2_0.js +3 -0
  238. package/build/shared/interfaces/restAPI/audio/v2.0/IIndexAudioPreviewLanguages_2_0.js +4 -0
  239. package/build/shared/interfaces/restAPI/audio/v2.0/ITestVoiceProviderRest_2_0.js +3 -0
  240. package/build/shared/interfaces/restAPI/audio/v2.0/ITestVoiceProvider_2_0.js +3 -0
  241. package/build/shared/interfaces/restAPI/audio/v2.0/IVGCallSettings_2_0.js +4 -0
  242. package/build/shared/interfaces/restAPI/audio/v2.0/IVoicePrepareCallRest_2_0.js +3 -0
  243. package/build/shared/interfaces/restAPI/audio/v2.0/IVoicePrepareCall_2_0.js +4 -0
  244. package/build/shared/interfaces/restAPI/audio/v2.0/index.js +3 -0
  245. package/build/shared/interfaces/restAPI/insights/publish/IPublishAnalyticsRestDataBody.js +4 -0
  246. package/build/shared/interfaces/restAPI/management/organisations/v2.0/IDeleteOrganisationRest_2_0.js +4 -0
  247. package/build/shared/interfaces/restAPI/resources/file/v2.0/IUploadFileRest_2_0.js +3 -0
  248. package/build/shared/interfaces/restAPI/resources/file/v2.0/index.js +3 -0
  249. package/build/shared/interfaces/restAPI/resources/flow/v2.0/ICloneFlowRest_2_0.js +4 -0
  250. package/build/shared/interfaces/restAPI/resources/flow/v2.0/sentence/IYesNoSentence_2_0.js +3 -0
  251. package/build/shared/interfaces/restAPI/resources/flow/v2.0/settings/ILocaleSettings_2_0.js +16 -0
  252. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoIntents/IDeleteYesNoIntentRest_2_0.js +3 -0
  253. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoIntents/IReadYesNoIntentsRest_2_0.js +3 -0
  254. package/build/shared/interfaces/restAPI/resources/{flow/v2.0/intent → locales/v2.0/yesNoIntents}/ITrainYesNoIntentsRest_2_0.js +0 -0
  255. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoIntents/IUpdateYesNoIntentRest_2_0.js +3 -0
  256. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoIntents/IYesNoIntentItem_2_0.js +3 -0
  257. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoIntents/IYesNoIntentMetaData_2_0.js +4 -0
  258. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoIntents/IYesNoIntents_2_0.js +8 -0
  259. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoIntents/index.js +3 -0
  260. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoSentence/ICreateYesNoSentenceRest_2_0.js +3 -0
  261. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoSentence/IDeleteYesNoSentenceRest_2_0.js +3 -0
  262. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoSentence/IIndexYesNoSentencesRest_2_0.js +3 -0
  263. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoSentence/IReadYesNoSentenceRest_2_0.js +3 -0
  264. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoSentence/IUpdateYesNoSentenceRest_2_0.js +3 -0
  265. package/build/shared/interfaces/restAPI/resources/locales/v2.0/yesNoSentence/index.js +3 -0
  266. package/build/shared/interfaces/restAPI/resources/nluconnector/v2.0/TNLUConnectorType_2_0.js +2 -0
  267. package/build/shared/interfaces/restAPI/resources/project/v2.0/ICreateProjectRest_2_0.js +1 -0
  268. package/build/shared/interfaces/restAPI/resources/project/v2.0/ITrainAllProjectFlowsRest_2_0.js +3 -0
  269. package/build/shared/interfaces/restAPI/resources/project/v2.0/settings/ITestTranslationSettingsRest_2_0.js +3 -0
  270. package/build/shared/interfaces/restAPI/resources/project/v2.0/settings/ITestTranslationSettings_2_0.js +3 -0
  271. package/build/shared/interfaces/security/IACL.js +1 -1
  272. package/build/shared/interfaces/security/IPermission.js +4 -0
  273. package/build/shared/interfaces/security/IRole.js +13 -1
  274. package/build/shared/interfaces/trainer/ITrainerRecord.js +1 -1
  275. package/build/shared/interfaces/user.js +1 -1
  276. package/package.json +40 -31
  277. package/types/index.d.ts +1734 -501
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ON_NO = void 0;
4
4
  /* Custom modules */
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
- exports.ON_NO = createNodeDescriptor_1.createNodeDescriptor({
6
+ exports.ON_NO = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
7
  type: "onNo",
8
8
  parentType: 'checkChannelChange',
9
9
  defaultLabel: "On No",
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ON_YES = void 0;
4
4
  /* Custom modules */
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
- exports.ON_YES = createNodeDescriptor_1.createNodeDescriptor({
6
+ exports.ON_YES = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
7
  type: "onYes",
8
8
  parentType: "checkChannelChange",
9
9
  defaultLabel: "On Yes",
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UNCHANGED = void 0;
4
4
  /* Custom modules */
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
- exports.UNCHANGED = createNodeDescriptor_1.createNodeDescriptor({
6
+ exports.UNCHANGED = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
7
  type: "unchanged",
8
8
  parentType: 'checkChannelChange',
9
9
  defaultLabel: "Unchanged",
@@ -10,7 +10,7 @@ const datepickerUtils_1 = require("./question/utils/datepickerUtils");
10
10
  * Purpose:
11
11
  * Opens the datepicker to let the user pick a date
12
12
  */
13
- exports.DATE_PICKER = createNodeDescriptor_1.createNodeDescriptor({
13
+ exports.DATE_PICKER = (0, createNodeDescriptor_1.createNodeDescriptor)({
14
14
  type: "datePicker",
15
15
  defaultLabel: "Datepicker",
16
16
  summary: "Opens the datepicker on webchat to let the user pick a date",
@@ -21,8 +21,8 @@ exports.DATE_PICKER = createNodeDescriptor_1.createNodeDescriptor({
21
21
  key: "datepicker_eventName",
22
22
  type: "text"
23
23
  },
24
- fields: [].concat(datepickerUtils_1.getDatePickerFields()),
25
- sections: [].concat(datepickerUtils_1.getDatePickerSections("")),
24
+ fields: [].concat((0, datepickerUtils_1.getDatePickerFields)()),
25
+ sections: [].concat((0, datepickerUtils_1.getDatePickerSections)("")),
26
26
  form: [
27
27
  { type: "field", key: "datepicker_eventName" },
28
28
  { type: "field", key: "datepicker_locale" },
@@ -33,9 +33,9 @@ exports.DATE_PICKER = createNodeDescriptor_1.createNodeDescriptor({
33
33
  { type: "section", key: "datepicker_enableDisable" },
34
34
  { type: "section", key: "datepicker_advanced" }
35
35
  ],
36
- tags: ["message"],
36
+ tags: ["data"],
37
37
  function: async ({ cognigy, config }) => {
38
- datepickerUtils_1.showDatePicker(cognigy, config);
38
+ (0, datepickerUtils_1.showDatePicker)(cognigy, config);
39
39
  }
40
40
  });
41
41
  //# sourceMappingURL=datePicker.js.map
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ON_ANSWER = void 0;
4
4
  /* Custom modules */
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
- exports.ON_ANSWER = createNodeDescriptor_1.createNodeDescriptor({
6
+ exports.ON_ANSWER = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
7
  type: "onAnswer",
8
8
  parentType: 'optionalQuestion',
9
9
  defaultLabel: "On Answer",
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ON_QUESTION = void 0;
4
4
  /* Custom modules */
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
- exports.ON_QUESTION = createNodeDescriptor_1.createNodeDescriptor({
6
+ exports.ON_QUESTION = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
7
  type: "onQuestion",
8
8
  parentType: 'optionalQuestion',
9
9
  defaultLabel: "On Question",
@@ -6,7 +6,7 @@ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
6
  const evaluateQuestionAnswer_1 = require("./utils/evaluateQuestionAnswer");
7
7
  const say_1 = require("../say");
8
8
  const BaseContext_1 = require("../../../../helper/BaseContext");
9
- exports.OPTIONAL_QUESTION = createNodeDescriptor_1.createNodeDescriptor({
9
+ exports.OPTIONAL_QUESTION = (0, createNodeDescriptor_1.createNodeDescriptor)({
10
10
  type: "optionalQuestion",
11
11
  defaultLabel: "Optional Question",
12
12
  summary: "Ask a question and continues the Flow",
@@ -291,7 +291,7 @@ exports.OPTIONAL_QUESTION = createNodeDescriptor_1.createNodeDescriptor({
291
291
  }
292
292
  return;
293
293
  }
294
- const result = evaluateQuestionAnswer_1.evaluateQuestionAnswer({ cognigy, config });
294
+ const result = (0, evaluateQuestionAnswer_1.evaluateQuestionAnswer)({ cognigy, config });
295
295
  if (storeResultInContext && contextKey) {
296
296
  // check whether contextKey is a deep query and set
297
297
  // context storage location accordingly
@@ -47,8 +47,9 @@ const validateQuestionAnswer_1 = require("./utils/validateQuestionAnswer");
47
47
  const service_1 = require("../../service");
48
48
  const datepickerUtils_1 = require("./utils/datepickerUtils");
49
49
  const resetNodeState_1 = require("./utils/resetNodeState");
50
+ const questionHandover_1 = require("./utils/questionHandover");
50
51
  //#endregion Interfaces
51
- exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
52
+ exports.QUESTION = (0, createNodeDescriptor_1.createNodeDescriptor)({
52
53
  //#region DescriptorFields
53
54
  type: "question",
54
55
  defaultLabel: "Question",
@@ -453,6 +454,59 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
453
454
  value: "handover"
454
455
  }
455
456
  },
457
+ {
458
+ key: "escalateAnswersHandoverResolveBehavior",
459
+ type: "select",
460
+ label: "On Resolve Behavior",
461
+ condition: {
462
+ key: "escalateAnswersAction",
463
+ value: "handover"
464
+ },
465
+ defaultValue: "continueEntrypoint",
466
+ params: {
467
+ options: [
468
+ {
469
+ label: "Continue Flow below this Node",
470
+ value: "resetEntrypoint"
471
+ },
472
+ {
473
+ label: "Continue Flow at current Entrypoint",
474
+ value: "continueEntrypoint",
475
+ },
476
+ ],
477
+ },
478
+ },
479
+ {
480
+ key: "escalateAnswersHandoverSendResolveEvent",
481
+ type: "toggle",
482
+ label: "Send resolve event to Virtual Agent",
483
+ condition: {
484
+ key: "escalateAnswersAction",
485
+ value: "handover"
486
+ },
487
+ defaultValue: false,
488
+ },
489
+ process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && {
490
+ key: "escalateAnswersAllowAgentInject",
491
+ type: "toggle",
492
+ label: "Live Agent - Allow to reply as user via UI",
493
+ description: "Display a button allowing human agents to reply as end user",
494
+ condition: {
495
+ key: "escalateAnswersAction",
496
+ value: "handover"
497
+ },
498
+ defaultValue: true,
499
+ },
500
+ process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && {
501
+ key: "escalateAnswersAgentAssistInitMessage",
502
+ type: "cognigyText",
503
+ label: "Live Agent - Initial Whisper Assist Trigger",
504
+ description: "If an Assist Flow is configured, this trigger message is sent to it as an input upon Live Agent handover",
505
+ condition: {
506
+ key: "escalateAnswersAction",
507
+ value: "handover"
508
+ }
509
+ },
456
510
  {
457
511
  key: "escalateAnswersRepeatHandoverMessage",
458
512
  type: "toggle",
@@ -504,6 +558,17 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
504
558
  value: "handover"
505
559
  }
506
560
  },
561
+ {
562
+ key: "escalateAnswersHandoverSendTranscriptAsFirstMessage",
563
+ type: "toggle",
564
+ label: "Salesforce Send Trascript As First Message",
565
+ description: "The Salesforce receives conversation transcript as a first message.",
566
+ defaultValue: false,
567
+ condition: {
568
+ key: "escalateAnswersAction",
569
+ value: "handover"
570
+ }
571
+ },
507
572
  {
508
573
  key: "escalateAnswersHandoverSalesforcePrechatEntities",
509
574
  type: "json",
@@ -722,6 +787,49 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
722
787
  value: "handover"
723
788
  }
724
789
  },
790
+ {
791
+ key: "escalateIntentsHandoverResolveBehavior",
792
+ type: "select",
793
+ label: "On Resolve Behavior",
794
+ condition: {
795
+ key: "escalateIntentsAction",
796
+ value: "handover"
797
+ },
798
+ defaultValue: "continueEntrypoint",
799
+ params: {
800
+ options: [
801
+ {
802
+ label: "Continue Flow below this Node",
803
+ value: "resetEntrypoint"
804
+ },
805
+ {
806
+ label: "Continue Flow at current Entrypoint",
807
+ value: "continueEntrypoint",
808
+ },
809
+ ],
810
+ },
811
+ },
812
+ {
813
+ key: "escalateIntentsHandoverSendResolveEvent",
814
+ type: "toggle",
815
+ label: "Send resolve event to Virtual Agent",
816
+ condition: {
817
+ key: "escalateIntentsAction",
818
+ value: "handover"
819
+ },
820
+ defaultValue: false,
821
+ },
822
+ process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && {
823
+ key: "escalateIntentsAllowAgentInject",
824
+ type: "toggle",
825
+ label: "Live Agent - Allow to reply as user via UI",
826
+ description: "Display a button allowing human agents to reply as end user",
827
+ condition: {
828
+ key: "escalateIntentsAction",
829
+ value: "handover"
830
+ },
831
+ defaultValue: true,
832
+ },
725
833
  process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && {
726
834
  key: "escalateIntentsHandoverLiveAgentInboxId",
727
835
  type: "cognigyText",
@@ -732,6 +840,16 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
732
840
  value: "handover"
733
841
  }
734
842
  },
843
+ process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && {
844
+ key: "escalateIntentsAgentAssistInitMessage",
845
+ type: "cognigyText",
846
+ label: "Live Agent - Initial Whisper Assist Trigger",
847
+ description: "If an Assist Flow is configured, this trigger message is sent to it as an input upon Live Agent handover",
848
+ condition: {
849
+ key: "escalateIntentsAction",
850
+ value: "handover"
851
+ }
852
+ },
735
853
  {
736
854
  key: "escalateIntentsHandoverChatwootInboxId",
737
855
  type: "cognigyText",
@@ -742,6 +860,17 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
742
860
  value: "handover"
743
861
  }
744
862
  },
863
+ {
864
+ key: "escalateIntentHandoverSendTranscriptAsFirstMessage",
865
+ type: "toggle",
866
+ label: "Salesforce Send Trascript As First Message",
867
+ description: "The Salesforce receives conversation transcript as a first message.",
868
+ defaultValue: false,
869
+ condition: {
870
+ key: "escalateIntentsAction",
871
+ value: "handover"
872
+ }
873
+ },
745
874
  {
746
875
  key: "escalateIntentsHandoverSalesforcePrechatEntities",
747
876
  type: "json",
@@ -815,7 +944,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
815
944
  value: "reconfirm"
816
945
  }
817
946
  },
818
- ...datepickerUtils_1.getDatePickerFields({
947
+ ...(0, datepickerUtils_1.getDatePickerFields)({
819
948
  "key": "type",
820
949
  "value": "date"
821
950
  })
@@ -872,8 +1001,13 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
872
1001
  "escalateIntentsRepeatHandoverMessage",
873
1002
  "escalateIntentsHandoverCancelIntent",
874
1003
  "escalateIntentsHandoverQuickReply",
1004
+ "escalateIntentsHandoverResolveBehavior",
1005
+ "escalateIntentsHandoverSendResolveEvent",
875
1006
  process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && "escalateIntentsHandoverLiveAgentInboxId",
1007
+ process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && "escalateIntentsAgentAssistInitMessage",
1008
+ process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && "escalateIntentsAllowAgentInject",
876
1009
  "escalateIntentsHandoverChatwootInboxId",
1010
+ "escalateIntentHandoverSendTranscriptAsFirstMessage",
877
1011
  "escalateIntentsHandoverSalesforcePrechatEntities",
878
1012
  "escalateIntentsHandoverSalesforcePrechatDetails",
879
1013
  "escalateIntentsRepromptPrevention"
@@ -896,8 +1030,13 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
896
1030
  "escalateAnswersRepeatHandoverMessage",
897
1031
  "escalateAnswersHandoverCancelIntent",
898
1032
  "escalateAnswersHandoverQuickReply",
1033
+ "escalateAnswersHandoverResolveBehavior",
1034
+ "escalateAnswersHandoverSendResolveEvent",
899
1035
  process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && "escalateAnswersHandoverLiveAgentInboxId",
1036
+ process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && "escalateAnswersAgentAssistInitMessage",
1037
+ process.env.FEATURE_USE_COGNIGY_LIVE_AGENT && "escalateAnswersAllowAgentInject",
900
1038
  "escalateAnswersHandoverChatwootInboxId",
1039
+ "escalateAnswersHandoverSendTranscriptAsFirstMessage",
901
1040
  "escalateAnswersHandoverSalesforcePrechatEntities",
902
1041
  "escalateAnswersHandoverSalesforcePrechatDetails",
903
1042
  "escalateAnswersRepromptPrevention",
@@ -917,7 +1056,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
917
1056
  "maxExecutionDiff",
918
1057
  ]
919
1058
  },
920
- ...datepickerUtils_1.getDatePickerSections("Datepicker - ", {
1059
+ ...(0, datepickerUtils_1.getDatePickerSections)("Datepicker - ", {
921
1060
  "key": "type",
922
1061
  "value": "date"
923
1062
  })
@@ -949,8 +1088,16 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
949
1088
  tags: ["basic", "message", "nlu"],
950
1089
  //#endregion DescriptorFields
951
1090
  function: async ({ cognigy, nodeId, config, inputOptions }) => {
952
- const { say, type, validationMessage, validationRepeat, storeResultInContext, contextKey, storeInContactProfile, profileKey, storeDetailedResults, parseResultOnEntry, repromptCondition, maxExecutionDiff, resultLocation, skipRepromptOnIntent, onlyAcceptEscalationIntents, escalateAnswersAction, escalateAnswersThreshold, escalateAnswersGotoTarget, escalateAnswersExecuteTarget, escalateAnswersGotoExecutionMode, escalateAnswersInjectedText, escalateAnswersInjectedData, escalateAnswersMessage, escalateAnswersRepromptPrevention, escalateAnswersOnce, escalateAnswersHandoverText, escalateAnswersRepeatHandoverMessage, escalateAnswersHandoverCancelIntent, escalateAnswersHandoverQuickReply, escalateAnswersHandoverChatwootInboxId, escalateAnswersHandoverLiveAgentInboxId, escalateAnswersHandoverSalesforcePrechatEntities, escalateAnswersHandoverSalesforcePrechatDetails, escalateIntentsAction, escalateIntentsValidIntents, escalateIntentsThreshold, escalateIntentsGotoTarget, escalateIntentsExecuteTarget, escalateIntentsGotoExecutionMode, escalateIntentsInjectedText, escalateIntentsInjectedData, escalateIntentsMessage, escalateIntentsHandoverText, escalateIntentsRepeatHandoverMessage, escalateIntentsHandoverCancelIntent, escalateIntentsHandoverQuickReply, escalateIntentsHandoverChatwootInboxId, escalateIntentsHandoverLiveAgentInboxId, escalateIntentsHandoverSalesforcePrechatEntities, escalateIntentsHandoverSalesforcePrechatDetails, escalateIntentsRepromptPrevention, reconfirmationBehaviour, reconfirmationQuestion, reconfirmationQuestionReprompt } = config;
1091
+ var _a;
1092
+ const { say, type, validationMessage, validationRepeat, storeResultInContext, contextKey, storeInContactProfile, profileKey, storeDetailedResults, parseResultOnEntry, repromptCondition, maxExecutionDiff, resultLocation, skipRepromptOnIntent, onlyAcceptEscalationIntents, escalateAnswersAction, escalateAnswersThreshold, escalateAnswersGotoTarget, escalateAnswersExecuteTarget, escalateAnswersGotoExecutionMode, escalateAnswersInjectedText, escalateAnswersInjectedData, escalateAnswersMessage, escalateAnswersRepromptPrevention, escalateAnswersOnce, escalateAnswersHandoverText, escalateAnswersRepeatHandoverMessage, escalateAnswersHandoverCancelIntent, escalateAnswersHandoverQuickReply, escalateAnswersHandoverChatwootInboxId, escalateAnswersHandoverLiveAgentInboxId, escalateAnswersHandoverSendTranscriptAsFirstMessage, escalateAnswersHandoverSalesforcePrechatEntities, escalateAnswersHandoverSalesforcePrechatDetails, escalateAnswersHandoverSendResolveEvent, escalateAnswersHandoverResolveBehavior, escalateAnswersAgentAssistInitMessage, escalateAnswersAllowAgentInject, escalateIntentsAction, escalateIntentsValidIntents, escalateIntentsThreshold, escalateIntentsGotoTarget, escalateIntentsExecuteTarget, escalateIntentsGotoExecutionMode, escalateIntentsInjectedText, escalateIntentsInjectedData, escalateIntentsMessage, escalateIntentsHandoverText, escalateIntentsRepeatHandoverMessage, escalateIntentsHandoverCancelIntent, escalateIntentsHandoverQuickReply, escalateIntentsHandoverChatwootInboxId, escalateIntentsHandoverLiveAgentInboxId, escalateIntentHandoverSendTranscriptAsFirstMessage, escalateIntentsHandoverSalesforcePrechatEntities, escalateIntentsHandoverSalesforcePrechatDetails, escalateIntentsRepromptPrevention, escalateIntentsHandoverSendResolveEvent, escalateIntentsHandoverResolveBehavior, escalateIntentsAgentAssistInitMessage, escalateIntentsAllowAgentInject, reconfirmationBehaviour, reconfirmationQuestion, reconfirmationQuestionReprompt } = config;
953
1093
  const { input, context, profile, api } = cognigy;
1094
+ const activeQuestionHandover = api.getSystemContext(`question-handover-${nodeId}`);
1095
+ const hasHandoverCompleted = !!activeQuestionHandover && ((_a = input.handover) === null || _a === void 0 ? void 0 : _a.status) !== "agentInject";
1096
+ const shouldEntrypointReset = activeQuestionHandover === null || activeQuestionHandover === void 0 ? void 0 : activeQuestionHandover.resetEntrypoint;
1097
+ if (hasHandoverCompleted && shouldEntrypointReset) {
1098
+ (0, resetNodeState_1.resetNodeState)(api, nodeId);
1099
+ return;
1100
+ }
954
1101
  // compute how often this node was hit
955
1102
  const executionAmount = api.getExecutionAmount(nodeId);
956
1103
  // compute how long ago this node was hit
@@ -987,7 +1134,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
987
1134
  // #region 0 CheckIfReconfirmationInProgress
988
1135
  if (api.getSystemContext("reconfirmationQuestionInProgress")) {
989
1136
  // if this is the case, we are now a YN question
990
- let res = evaluateQuestionAnswer_1.evaluateQuestionAnswer({
1137
+ let res = (0, evaluateQuestionAnswer_1.evaluateQuestionAnswer)({
991
1138
  cognigy, config: {
992
1139
  "type": "yesNo"
993
1140
  }
@@ -1001,9 +1148,9 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1001
1148
  if (res === true) { // the reconfirmation answer was yes-like
1002
1149
  // get the tentative answer that was given and store it
1003
1150
  const result = activeQuestion === null || activeQuestion === void 0 ? void 0 : activeQuestion.tentativeAnswer;
1004
- storeQuestionAnswer_1.storeQuestionAnswer({ context, contextKey, input, result, storeResultInContext });
1151
+ (0, storeQuestionAnswer_1.storeQuestionAnswer)({ context, contextKey, input, result, storeResultInContext });
1005
1152
  // reset everything and continue to the next node
1006
- resetNodeState_1.resetNodeState(api, nodeId);
1153
+ (0, resetNodeState_1.resetNodeState)(api, nodeId);
1007
1154
  return;
1008
1155
  }
1009
1156
  else if (res !== false) { // the reconfirmation answer was invalid (e.g. no yes-like or no-like answer)
@@ -1037,8 +1184,8 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1037
1184
  // calculate the question diff. last step - recent step
1038
1185
  let questionDiff = 0;
1039
1186
  if (executionAmount > 1) {
1040
- // Calculate the question diff from the first lastExecutedAt
1041
- questionDiff = executionDiff - lastExecutionMarker;
1187
+ // Calculate the question diff from the first lastExecutedAt
1188
+ questionDiff = executionDiff;
1042
1189
  }
1043
1190
  let validateAnswer = questionDiff <= maxExecutionDiff;
1044
1191
  // If we don't want to validate due to an exceeded forget question
@@ -1073,7 +1220,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1073
1220
  if (isFirstExecution && !parseResultOnEntry) {
1074
1221
  say_1.SAY.function({ cognigy, childConfigs: [], nodeId, config: { say } });
1075
1222
  if (config.type === "date" && !config.datepicker_hidePicker) {
1076
- datepickerUtils_1.showDatePicker(cognigy, config);
1223
+ (0, datepickerUtils_1.showDatePicker)(cognigy, config);
1077
1224
  }
1078
1225
  api.setLastExecutionMarker(nodeId, cognigy.input.execution);
1079
1226
  api.setNextNode(nodeId);
@@ -1083,7 +1230,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1083
1230
  // #endregion 2 FirstTimeNodeIsHit
1084
1231
  // if we're in a subsequent execution or we want to parse results
1085
1232
  // immediately on entry, continue with evaluation
1086
- let result = evaluateQuestionAnswer_1.evaluateQuestionAnswer({ cognigy, config });
1233
+ let result = (0, evaluateQuestionAnswer_1.evaluateQuestionAnswer)({ cognigy, config });
1087
1234
  // #endregion 4 RunQuestionAnswerValidation
1088
1235
  // #region 4.1 ResultLocationHandling
1089
1236
  // if a result location was specified, try to get the result from that location
@@ -1094,7 +1241,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1094
1241
  if (storeDetailedResults && result !== null && result !== undefined) {
1095
1242
  result = {
1096
1243
  "value": result,
1097
- "question": getQuestionText_1.getQuestionText(config),
1244
+ "question": (0, getQuestionText_1.getQuestionText)(config),
1098
1245
  "timestamp": cognigy.input.currentTime.ISODate,
1099
1246
  "answer": cognigy.input.text,
1100
1247
  "answerData": cognigy.input.data
@@ -1102,7 +1249,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1102
1249
  }
1103
1250
  }
1104
1251
  // #endregion 4.1 ResultLocationHandling
1105
- const isValid = validateQuestionAnswer_1.validateQuestionAnswer(cognigy, config);
1252
+ const isValid = (0, validateQuestionAnswer_1.validateQuestionAnswer)(cognigy, config);
1106
1253
  // hard check against null & undefined, because result can be 0 or false
1107
1254
  if (result !== null && result !== undefined && isValid) {
1108
1255
  // #region 5.1 AnswerIsValid
@@ -1111,7 +1258,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1111
1258
  // remember the given answer in the activeQuestion object
1112
1259
  activeQuestion.tentativeAnswer = result;
1113
1260
  // remember a shortform of the given answer in the activeQuestion object
1114
- activeQuestion.tentativeAnswerShortform = generateAnswerShortForm_1.generateAnswerShortForm(type, result, cognigy.input.text);
1261
+ activeQuestion.tentativeAnswerShortform = (0, generateAnswerShortForm_1.generateAnswerShortForm)(type, result, cognigy.input.text);
1115
1262
  // Output reconfirmationQuestion
1116
1263
  say_1.SAY.function({ cognigy, childConfigs: [], nodeId, config: { say: { type: "text", text: [reconfirmationQuestion.replace("[ANSWER]", activeQuestion.tentativeAnswerShortform)] } } });
1117
1264
  // remember that we are in reconfirmation mode and stop
@@ -1125,7 +1272,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1125
1272
  }
1126
1273
  else {
1127
1274
  // #region 5.1.2 StoreAnswerInContextOrInput
1128
- storeQuestionAnswer_1.storeQuestionAnswer({ context, contextKey, input, result, storeResultInContext });
1275
+ (0, storeQuestionAnswer_1.storeQuestionAnswer)({ context, contextKey, input, result, storeResultInContext });
1129
1276
  // #endregion 5.1.2 StoreAnswerInContextOrInput
1130
1277
  // #region 5.1.3 StoreAnswerInProfile
1131
1278
  // if profile storage is requested, also store in contact profile
@@ -1155,7 +1302,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1155
1302
  sayReprompt = false;
1156
1303
  }
1157
1304
  else if (input.intent && input.intentScore >= escalateIntentsThreshold && escalateIntentsValidIntents.indexOf(input.intent) > -1) {
1158
- // User has triggered intent escalation
1305
+ // User has triggered intent escalation
1159
1306
  escalatedInIntent = true;
1160
1307
  activeQuestion.escalationCount++;
1161
1308
  switch (escalateIntentsAction) {
@@ -1240,7 +1387,16 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1240
1387
  }
1241
1388
  break;
1242
1389
  case "handover":
1243
- resetNodeState_1.resetNodeState(api, nodeId);
1390
+ // avoid a second handover escalation
1391
+ if (lastEscalation) {
1392
+ break;
1393
+ }
1394
+ (0, questionHandover_1.questionHandover)({
1395
+ api,
1396
+ input,
1397
+ nodeId,
1398
+ resolveBehavior: escalateIntentsHandoverResolveBehavior,
1399
+ });
1244
1400
  await service_1.HANDOVER_V2.function({
1245
1401
  cognigy,
1246
1402
  childConfigs: [],
@@ -1252,9 +1408,15 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1252
1408
  quickReply: escalateIntentsHandoverQuickReply,
1253
1409
  chatwootInboxId: escalateIntentsHandoverChatwootInboxId,
1254
1410
  liveAgentInboxId: escalateIntentsHandoverLiveAgentInboxId,
1411
+ sendTranscriptAsFirstMessage: escalateIntentHandoverSendTranscriptAsFirstMessage,
1255
1412
  salesforcePrechatEntities: escalateIntentsHandoverSalesforcePrechatEntities,
1256
- salesforcePrechatDetails: escalateIntentsHandoverSalesforcePrechatDetails
1257
- }
1413
+ salesforcePrechatDetails: escalateIntentsHandoverSalesforcePrechatDetails,
1414
+ sendResolveEvent: escalateIntentsHandoverSendResolveEvent,
1415
+ resolveBehavior: escalateIntentsHandoverResolveBehavior,
1416
+ agentAssistInitMessage: escalateIntentsAgentAssistInitMessage,
1417
+ allowAgentInject: escalateIntentsAllowAgentInject,
1418
+ },
1419
+ nodeType: "question",
1258
1420
  });
1259
1421
  return;
1260
1422
  }
@@ -1361,7 +1523,16 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1361
1523
  }
1362
1524
  break;
1363
1525
  case "handover":
1364
- resetNodeState_1.resetNodeState(api, nodeId);
1526
+ // avoid a second handover escalation
1527
+ if (lastEscalation) {
1528
+ break;
1529
+ }
1530
+ (0, questionHandover_1.questionHandover)({
1531
+ api,
1532
+ input,
1533
+ nodeId,
1534
+ resolveBehavior: escalateAnswersHandoverResolveBehavior,
1535
+ });
1365
1536
  await service_1.HANDOVER_V2.function({
1366
1537
  cognigy,
1367
1538
  childConfigs: [],
@@ -1373,9 +1544,15 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1373
1544
  quickReply: escalateAnswersHandoverQuickReply,
1374
1545
  chatwootInboxId: escalateAnswersHandoverChatwootInboxId,
1375
1546
  liveAgentInboxId: escalateAnswersHandoverLiveAgentInboxId,
1547
+ sendTranscriptAsFirstMessage: escalateAnswersHandoverSendTranscriptAsFirstMessage,
1376
1548
  salesforcePrechatEntities: escalateAnswersHandoverSalesforcePrechatEntities,
1377
- salesforcePrechatDetails: escalateAnswersHandoverSalesforcePrechatDetails
1378
- }
1549
+ salesforcePrechatDetails: escalateAnswersHandoverSalesforcePrechatDetails,
1550
+ sendResolveEvent: escalateAnswersHandoverSendResolveEvent,
1551
+ resolveBehavior: escalateAnswersHandoverResolveBehavior,
1552
+ agentAssistInitMessage: escalateAnswersAgentAssistInitMessage,
1553
+ allowAgentInject: escalateAnswersAllowAgentInject,
1554
+ },
1555
+ nodeType: "question",
1379
1556
  });
1380
1557
  return;
1381
1558
  }
@@ -1405,7 +1582,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1405
1582
  config: { say }
1406
1583
  });
1407
1584
  if (config.type === "date" && !config.datepicker_hidePicker) {
1408
- datepickerUtils_1.showDatePicker(cognigy, config);
1585
+ (0, datepickerUtils_1.showDatePicker)(cognigy, config);
1409
1586
  }
1410
1587
  }
1411
1588
  }
@@ -1418,7 +1595,7 @@ exports.QUESTION = createNodeDescriptor_1.createNodeDescriptor({
1418
1595
  config: { say }
1419
1596
  });
1420
1597
  if (config.type === "date" && !config.datepicker_hidePicker) {
1421
- datepickerUtils_1.showDatePicker(cognigy, config);
1598
+ (0, datepickerUtils_1.showDatePicker)(cognigy, config);
1422
1599
  }
1423
1600
  }
1424
1601
  // #endregion 5.2.3 Reprompt
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDatePickerSections = exports.getDatePickerFields = exports.showDatePicker = void 0;
4
+ /* Custom modules */
5
+ const defaultDatepickerFunction_1 = require("../../../../../helper/defaultDatepickerFunction");
4
6
  /**
5
7
  * Displays a Date Picker quick reply with the selected config
6
8
  */
@@ -29,6 +31,10 @@ const showDatePicker = (cognigy, config) => {
29
31
  const minuteIncrement = config.datepicker_minuteIncrement;
30
32
  const noCalendar = config.datepicker_noCalendar;
31
33
  const weekNumbers = config.datepicker_weekNumbers;
34
+ const functionEnable = config.datepicker_functionEnable;
35
+ const functionDisable = config.datepicker_functionDisable;
36
+ const wantDisable = (wantEnableDisable === "disable") ? true : ((wantEnableDisable === "enable") ? false : null);
37
+ const functionToExecute = wantDisable === null ? null : (wantDisable ? functionDisable : functionEnable);
32
38
  api.say("", {
33
39
  _plugin: {
34
40
  type: "date-picker",
@@ -38,8 +44,9 @@ const showDatePicker = (cognigy, config) => {
38
44
  enableTime,
39
45
  defaultDate,
40
46
  mode,
41
- wantDisable: (wantEnableDisable === "disable") ? true : ((wantEnableDisable === "enable") ? false : null),
47
+ wantDisable,
42
48
  enable_disable: getDisabledEnabledDates(wantEnableDisable, disableEnableRange, enabledDates, disabledDates),
49
+ function_enable_disable: api.validateDatepickerFunctionInSecureContext(functionToExecute),
43
50
  minDate,
44
51
  maxDate,
45
52
  openPickerButtonText,
@@ -75,7 +82,7 @@ const getDisabledEnabledDates = (wantEnableDisable, disableEnableRange, enabledD
75
82
  }
76
83
  return enabledDates;
77
84
  }
78
- else if (wantEnableDisable === "disable") {
85
+ else if (wantEnableDisable === "disable" && Array.isArray(disabledDates)) {
79
86
  disabledDates = disabledDates.filter((value) => (value && value !== ""));
80
87
  if (disableEnableRange) {
81
88
  return [
@@ -272,6 +279,26 @@ const getDatePickerFields = (condition) => [{
272
279
  value: "disable"
273
280
  }
274
281
  },
282
+ {
283
+ key: "datepicker_functionDisable",
284
+ type: "code",
285
+ label: "Disable Dates by function",
286
+ defaultValue: (0, defaultDatepickerFunction_1.defaultDatepickerFunction)("disable"),
287
+ condition: {
288
+ key: "datepicker_wantEnableDisable",
289
+ value: "disable"
290
+ }
291
+ },
292
+ {
293
+ key: "datepicker_functionEnable",
294
+ type: "code",
295
+ label: "Enable Dates by function",
296
+ defaultValue: (0, defaultDatepickerFunction_1.defaultDatepickerFunction)("enable"),
297
+ condition: {
298
+ key: "datepicker_wantEnableDisable",
299
+ value: "enable"
300
+ }
301
+ },
275
302
  {
276
303
  key: "datepicker_openPickerButtonText",
277
304
  type: "cognigyText",
@@ -427,6 +454,8 @@ const getDatePickerSections = (prefix, condition) => [{
427
454
  "datepicker_disableEnableRange",
428
455
  "datepicker_enabledDates",
429
456
  "datepicker_disabledDates",
457
+ "datepicker_functionEnable",
458
+ "datepicker_functionDisable",
430
459
  ],
431
460
  condition
432
461
  },
@@ -42,6 +42,9 @@ function evaluateQuestionAnswer({ cognigy, config }) {
42
42
  }
43
43
  break;
44
44
  case "regex":
45
+ if (!input.text) {
46
+ break;
47
+ }
45
48
  try {
46
49
  const regexSplitted = regexField && typeof regexField === "string" && /^\/(.*)\/(.*)$/.exec(regexField.trim());
47
50
  const regex = (type === "regex" && regexSplitted !== null) ? regexSplitted[1] : null;
@@ -96,7 +99,7 @@ function evaluateQuestionAnswer({ cognigy, config }) {
96
99
  if (storeDetailedResults && result !== null && result !== undefined) {
97
100
  result = {
98
101
  "value": result,
99
- "question": getQuestionText_1.getQuestionText(config),
102
+ "question": (0, getQuestionText_1.getQuestionText)(config),
100
103
  "timestamp": cognigy.input.currentTime.ISODate,
101
104
  "answer": cognigy.input.text
102
105
  };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.questionHandover = void 0;
4
+ function questionHandover({ api, nodeId, resolveBehavior, input, }) {
5
+ api.setNextNode(nodeId);
6
+ api.setSystemContext(`lastEscalation-${nodeId}`, input.execution);
7
+ api.setSystemContext(`question-handover-${nodeId}`, {
8
+ resetEntrypoint: resolveBehavior === "resetEntrypoint"
9
+ });
10
+ api.setLastExecutionMarker(nodeId, input.execution);
11
+ }
12
+ exports.questionHandover = questionHandover;
13
+ //# sourceMappingURL=questionHandover.js.map