@cognigy/rest-api-client 0.14.0 → 0.16.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 (334) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/build/GenericTusFn.js +64 -0
  3. package/build/RestAPIClient.js +7 -0
  4. package/build/apigroups/AdministrationAPIGroup_2_0.js +7 -2
  5. package/build/apigroups/AdministrationAPIGroup_2_1.js +13 -0
  6. package/build/apigroups/ResourcesAPIGroup_2_0.js +78 -13
  7. package/build/apigroups/TTusAPIOperation.js +3 -0
  8. package/build/apigroups/index.js +5 -1
  9. package/build/connector/AxiosAdapter.js +6 -5
  10. package/build/shared/api/eightByEight/eightByEightInterfaces.js +3 -0
  11. package/build/shared/charts/descriptors/agentAssist/constants/constants.js +7 -0
  12. package/build/shared/charts/descriptors/agentAssist/helpers/sentiment.helper.js +41 -0
  13. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/identityAssistTemplate.js +54 -0
  14. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/knowledgeAssistTemplate.js +187 -0
  15. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/nextActionWidgetTemplate.js +93 -0
  16. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/secureForms/stage0.js +81 -0
  17. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/secureForms/stage1.js +84 -0
  18. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/secureForms/stage2.js +97 -0
  19. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/secureForms/stageError.js +85 -0
  20. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/sentimentAnalysisTemplate.js +41 -0
  21. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/stylesPartial.js +15 -0
  22. package/build/shared/charts/descriptors/agentAssist/htmlTemplates/transcriptAssistTemplate.js +53 -0
  23. package/build/shared/charts/descriptors/agentAssist/identityAssist.js +135 -0
  24. package/build/shared/charts/descriptors/agentAssist/index.js +24 -0
  25. package/build/shared/charts/descriptors/agentAssist/knowledgeAssist.js +625 -0
  26. package/build/shared/charts/descriptors/agentAssist/nextActionAssist.js +77 -0
  27. package/build/shared/charts/descriptors/agentAssist/sentimentAssist.js +86 -0
  28. package/build/shared/charts/descriptors/agentAssist/setAdaptiveCardTile.js +74 -0
  29. package/build/shared/charts/descriptors/agentAssist/setAgentAssistGrid.js +105 -0
  30. package/build/shared/charts/descriptors/agentAssist/setHtmlTile.js +98 -0
  31. package/build/shared/charts/descriptors/agentAssist/setIframeTile.js +86 -0
  32. package/build/shared/charts/descriptors/agentAssist/setSecureFormsTile.js +171 -0
  33. package/build/shared/charts/descriptors/agentAssist/transcriptAssist.js +72 -0
  34. package/build/shared/charts/descriptors/allFields.js +6 -0
  35. package/build/shared/charts/descriptors/analytics/activateProfile.js +1 -1
  36. package/build/shared/charts/descriptors/analytics/blindMode.js +5 -5
  37. package/build/shared/charts/descriptors/analytics/completeGoal.js +2 -2
  38. package/build/shared/charts/descriptors/analytics/deactivateProfile.js +2 -2
  39. package/build/shared/charts/descriptors/analytics/deleteProfile.js +1 -1
  40. package/build/shared/charts/descriptors/analytics/mergeProfile.js +2 -2
  41. package/build/shared/charts/descriptors/analytics/overwriteAnalytics.js +34 -27
  42. package/build/shared/charts/descriptors/analytics/requestRating.js +5 -5
  43. package/build/shared/charts/descriptors/analytics/setRating.js +4 -4
  44. package/build/shared/charts/descriptors/analytics/updateProfile.js +3 -3
  45. package/build/shared/charts/descriptors/apps/getAppSessionPin.js +7 -14
  46. package/build/shared/charts/descriptors/apps/initAppSession.js +99 -87
  47. package/build/shared/charts/descriptors/apps/setAdaptiveCardAppState.js +101 -19
  48. package/build/shared/charts/descriptors/apps/setAppState.js +7 -7
  49. package/build/shared/charts/descriptors/apps/setHtmlAppState.js +141 -99
  50. package/build/shared/charts/descriptors/apps/utils/buildAppUrl.js +2 -6
  51. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/TGenerativeAIConnectionFields.js +3 -0
  52. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/alephAlphaProviderConnection.js +11 -0
  53. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/anthropicProviderConnection.js +11 -0
  54. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/azureOpenAIProviderConnection.js +4 -1
  55. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/azureOpenAIProviderConnectionV2.js +11 -0
  56. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/googleVertexAIProviderConnection.js +16 -0
  57. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/index.js +18 -2
  58. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/openAIProviderConnection.js +2 -2
  59. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/amazonStorageProviderConnection.js +5 -5
  60. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/azureBlobStorageProviderConnection.js +4 -4
  61. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/googleCloudStorageProviderConnection.js +4 -4
  62. package/build/shared/charts/descriptors/connectionNodes/mongoDB/aggregate.js +13 -13
  63. package/build/shared/charts/descriptors/connectionNodes/mongoDB/find.js +18 -18
  64. package/build/shared/charts/descriptors/connectionNodes/mongoDB/findOne.js +17 -17
  65. package/build/shared/charts/descriptors/connectionNodes/mongoDB/insert.js +13 -13
  66. package/build/shared/charts/descriptors/connectionNodes/mongoDB/mongoDBConnection.js +2 -2
  67. package/build/shared/charts/descriptors/connectionNodes/mongoDB/remove.js +13 -13
  68. package/build/shared/charts/descriptors/connectionNodes/mongoDB/updateMany.js +15 -15
  69. package/build/shared/charts/descriptors/connectionNodes/mongoDB/updateOne.js +15 -15
  70. package/build/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +28 -28
  71. package/build/shared/charts/descriptors/connectionNodes/smtp/index.js +3 -1
  72. package/build/shared/charts/descriptors/connectionNodes/smtp/oAuth2Connection.js +18 -0
  73. package/build/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +102 -70
  74. package/build/shared/charts/descriptors/connectionNodes/smtp/serviceConnection.js +3 -3
  75. package/build/shared/charts/descriptors/connectionNodes/smtp/smtpConnection.js +6 -6
  76. package/build/shared/charts/descriptors/connectionNodes/speechProviders/awsSpeechProviderConnection.js +14 -0
  77. package/build/shared/charts/descriptors/connectionNodes/speechProviders/googleSpeechProviderConnection.js +16 -0
  78. package/build/shared/charts/descriptors/connectionNodes/speechProviders/index.js +23 -0
  79. package/build/shared/charts/descriptors/connectionNodes/speechProviders/microsoftSpeechProviderConnection.js +12 -0
  80. package/build/shared/charts/descriptors/connectionNodes/sql/runQuery.js +11 -11
  81. package/build/shared/charts/descriptors/connectionNodes/sql/runStoredProcedure.js +13 -13
  82. package/build/shared/charts/descriptors/connectionNodes/sql/runTransaction.js +11 -11
  83. package/build/shared/charts/descriptors/connectionNodes/sql/sqlConnection.js +6 -6
  84. package/build/shared/charts/descriptors/connectionNodes/translationProviders/deeplTranslationProviderConnection.js +15 -0
  85. package/build/shared/charts/descriptors/connectionNodes/translationProviders/googleTranslationProviderConnection.js +15 -0
  86. package/build/shared/charts/descriptors/connectionNodes/translationProviders/index.js +23 -0
  87. package/build/shared/charts/descriptors/connectionNodes/translationProviders/microsoftTranslationProviderConnection.js +21 -0
  88. package/build/shared/charts/descriptors/data/addToContext.js +7 -7
  89. package/build/shared/charts/descriptors/data/code.js +3 -3
  90. package/build/shared/charts/descriptors/data/copyDataToContext.js +1 -1
  91. package/build/shared/charts/descriptors/data/copySlotsToContext.js +9 -9
  92. package/build/shared/charts/descriptors/data/log.js +7 -7
  93. package/build/shared/charts/descriptors/data/removeFromContext.js +7 -7
  94. package/build/shared/charts/descriptors/data/resetContext.js +2 -2
  95. package/build/shared/charts/descriptors/index.js +47 -12
  96. package/build/shared/charts/descriptors/knowledgeSearch/constants/constants.js +6 -0
  97. package/build/shared/charts/descriptors/knowledgeSearch/index.js +10 -0
  98. package/build/shared/charts/descriptors/knowledgeSearch/knowledgeSearch.js +154 -0
  99. package/build/shared/charts/descriptors/knowledgeSearch/knowledgeSearchV2.js +151 -0
  100. package/build/shared/charts/descriptors/knowledgeSearch/searchExtractOutput.js +985 -0
  101. package/build/shared/charts/descriptors/liveAgent/assistInfo.js +25 -25
  102. package/build/shared/charts/descriptors/logic/disableSlotFillers.js +4 -4
  103. package/build/shared/charts/descriptors/logic/enableSlotFillers.js +3 -3
  104. package/build/shared/charts/descriptors/logic/executeFlow.js +9 -9
  105. package/build/shared/charts/descriptors/logic/goTo.js +20 -18
  106. package/build/shared/charts/descriptors/logic/if/if.js +3 -3
  107. package/build/shared/charts/descriptors/logic/interval/interval.js +3 -3
  108. package/build/shared/charts/descriptors/logic/once/once.js +1 -1
  109. package/build/shared/charts/descriptors/logic/resetState.js +1 -1
  110. package/build/shared/charts/descriptors/logic/setState.js +4 -4
  111. package/build/shared/charts/descriptors/logic/setTranslation.js +15 -15
  112. package/build/shared/charts/descriptors/logic/sleep.js +2 -2
  113. package/build/shared/charts/descriptors/logic/stop.js +1 -1
  114. package/build/shared/charts/descriptors/logic/switch/case.js +1 -1
  115. package/build/shared/charts/descriptors/logic/switch/default.js +1 -1
  116. package/build/shared/charts/descriptors/logic/switch/switch.js +28 -19
  117. package/build/shared/charts/descriptors/logic/switchLocale.js +5 -5
  118. package/build/shared/charts/descriptors/logic/think.js +11 -11
  119. package/build/shared/charts/descriptors/logic/thinkV2.js +11 -11
  120. package/build/shared/charts/descriptors/logic/wait.js +1 -1
  121. package/build/shared/charts/descriptors/message/checkChannelChange/checkChannelChange.js +4 -4
  122. package/build/shared/charts/descriptors/message/datePicker.js +1 -1
  123. package/build/shared/charts/descriptors/message/question/optionalQuestion.js +68 -36
  124. package/build/shared/charts/descriptors/message/question/question.js +796 -210
  125. package/build/shared/charts/descriptors/message/question/utils/cleanTextUtils.js +191 -0
  126. package/build/shared/charts/descriptors/message/question/utils/datepickerUtils.js +40 -40
  127. package/build/shared/charts/descriptors/message/question/utils/evaluateQuestionAnswer.js +37 -27
  128. package/build/shared/charts/descriptors/message/say.js +37 -4
  129. package/build/shared/charts/descriptors/message/sendImage.js +1 -1
  130. package/build/shared/charts/descriptors/message/sendText.js +2 -2
  131. package/build/shared/charts/descriptors/microsoft/getToken.js +1 -1
  132. package/build/shared/charts/descriptors/microsoft/invalidateToken.js +1 -1
  133. package/build/shared/charts/descriptors/microsoft/tokenStatus/index.js +1 -1
  134. package/build/shared/charts/descriptors/nlu/addLexiconKeyphrase.js +5 -5
  135. package/build/shared/charts/descriptors/nlu/cleanText.js +104 -0
  136. package/build/shared/charts/descriptors/nlu/executeCognigyNLU.js +15 -15
  137. package/build/shared/charts/descriptors/nlu/extractAnswer.js +11 -11
  138. package/build/shared/charts/descriptors/nlu/fuzzySearch.js +33 -33
  139. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFiller.js +270 -0
  140. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFillerFallback.js +27 -0
  141. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFillerSuccess.js +27 -0
  142. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/prompt.js +174 -0
  143. package/build/shared/charts/descriptors/nlu/index.js +9 -1
  144. package/build/shared/charts/descriptors/nlu/matchPattern.js +16 -16
  145. package/build/shared/charts/descriptors/nlu/regexSlotFiller.js +5 -5
  146. package/build/shared/charts/descriptors/placeholder.js +3 -3
  147. package/build/shared/charts/descriptors/service/GPTConversation.js +780 -0
  148. package/build/shared/charts/descriptors/service/GPTPrompt.js +394 -0
  149. package/build/shared/charts/descriptors/service/checkAgentAvailability.js +48 -33
  150. package/build/shared/charts/descriptors/service/closeHandover.js +34 -0
  151. package/build/shared/charts/descriptors/service/conversationSummary.js +148 -0
  152. package/build/shared/charts/descriptors/service/handover.js +18 -17
  153. package/build/shared/charts/descriptors/service/handoverInactivityTimer.js +37 -0
  154. package/build/shared/charts/descriptors/service/handoverV2.js +179 -51
  155. package/build/shared/charts/descriptors/service/httpRequest.js +52 -52
  156. package/build/shared/charts/descriptors/service/index.js +11 -3
  157. package/build/shared/charts/descriptors/service/triggerFunction/triggerFunction.js +3 -3
  158. package/build/shared/charts/descriptors/voice/index.js +5 -1
  159. package/build/shared/{interfaces/twilioInterface.js → charts/descriptors/voice/interface/IBandwidth.js} +1 -1
  160. package/build/shared/charts/descriptors/voice/mappers/base.mapper.js +97 -0
  161. package/build/shared/charts/descriptors/voice/mappers/hangup.mapper.js +32 -9
  162. package/build/shared/charts/descriptors/voice/mappers/muteSpeechInput.mapper.js +67 -0
  163. package/build/shared/charts/descriptors/voice/mappers/play.mapper.js +73 -19
  164. package/build/shared/charts/descriptors/voice/mappers/record.mapper.js +103 -0
  165. package/build/shared/charts/descriptors/voice/mappers/sendMetadata.mapper.js +68 -0
  166. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +158 -66
  167. package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +68 -16
  168. package/build/shared/charts/descriptors/voice/nodes/bargeIn.js +14 -20
  169. package/build/shared/charts/descriptors/voice/nodes/continuousAsr.js +7 -7
  170. package/build/shared/charts/descriptors/voice/nodes/dtmf.js +10 -18
  171. package/build/shared/charts/descriptors/voice/nodes/hangup.js +2 -2
  172. package/build/shared/charts/descriptors/voice/nodes/muteSpeechInput.js +52 -0
  173. package/build/shared/charts/descriptors/voice/nodes/noUserInput.js +15 -14
  174. package/build/shared/charts/descriptors/voice/nodes/play.js +13 -9
  175. package/build/shared/charts/descriptors/voice/nodes/sendMetadata.js +51 -0
  176. package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +199 -21
  177. package/build/shared/charts/descriptors/voice/nodes/transfer.js +21 -13
  178. package/build/shared/charts/descriptors/voice/utils/vgConstants.js +14 -0
  179. package/build/shared/charts/descriptors/voicegateway/index.js +14 -11
  180. package/build/shared/charts/descriptors/voicegateway/nodes/agentAssist.js +10 -10
  181. package/build/shared/charts/descriptors/voicegateway/nodes/callRecording.js +64 -62
  182. package/build/shared/charts/descriptors/voicegateway/nodes/handover.js +14 -14
  183. package/build/shared/charts/descriptors/voicegateway/nodes/hangup.js +2 -2
  184. package/build/shared/charts/descriptors/voicegateway/nodes/playURL.js +18 -15
  185. package/build/shared/charts/descriptors/voicegateway/nodes/sendMessage.js +41 -41
  186. package/build/shared/charts/descriptors/voicegateway/nodes/sendMetaData.js +15 -19
  187. package/build/shared/charts/descriptors/voicegateway/nodes/setSessionParams.js +3 -3
  188. package/build/shared/charts/descriptors/voicegateway/utils/paramUtils.js +113 -97
  189. package/build/shared/charts/descriptors/voicegateway2/index.js +5 -1
  190. package/build/shared/charts/descriptors/voicegateway2/nodes/dtmf.js +5 -5
  191. package/build/shared/charts/descriptors/voicegateway2/nodes/hangup.js +3 -4
  192. package/build/shared/charts/descriptors/voicegateway2/nodes/muteSpeechInput.js +60 -0
  193. package/build/shared/charts/descriptors/voicegateway2/nodes/play.js +42 -18
  194. package/build/shared/charts/descriptors/voicegateway2/nodes/record.js +108 -0
  195. package/build/shared/charts/descriptors/voicegateway2/nodes/refer.js +9 -10
  196. package/build/shared/charts/descriptors/voicegateway2/nodes/sendMetadata.js +14 -29
  197. package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +424 -74
  198. package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +410 -45
  199. package/build/shared/charts/descriptors/voicegateway2/utils/helper.js +33 -7
  200. package/build/shared/charts/descriptors/voicegateway2/utils/strip-nulls.js +4 -0
  201. package/build/shared/charts/helpers/generativeAI/getRephraseWithAIFields.js +8 -8
  202. package/build/shared/charts/helpers/generativeAI/rephraseSentenceWithAi.js +1 -1
  203. package/build/shared/constants.js +18 -1
  204. package/build/shared/errors/ErrorCode.js +1 -0
  205. package/build/shared/errors/TooManyRequestsError.js +59 -0
  206. package/build/shared/errors/baseError.js +6 -2
  207. package/build/shared/errors/codes.js +2 -1
  208. package/build/shared/errors/index.js +3 -1
  209. package/build/shared/handoverClients/interfaces/THandoverEventType.js +3 -1
  210. package/build/shared/helper/BaseContext.js +43 -3
  211. package/build/shared/helper/nlu/dicts/dicts.js +691 -0
  212. package/build/shared/helper/nlu/textCleaner.js +413 -0
  213. package/build/shared/interfaces/IApiKey.js +2 -7
  214. package/build/shared/interfaces/IEndpointTranslationSettings.js +9 -0
  215. package/build/shared/interfaces/IOrganisation.js +4 -8
  216. package/build/shared/interfaces/IProfileSchema.js +1 -7
  217. package/build/shared/interfaces/agentAssist/ISendConfigUpdateParams.js +3 -0
  218. package/build/shared/interfaces/agentAssist/ISendTileUpdateParams.js +3 -0
  219. package/build/shared/interfaces/agentAssist/ISendUpdateReferenceParams.js +3 -0
  220. package/build/shared/interfaces/agentAssist/index.js +3 -0
  221. package/build/shared/interfaces/ai.js +0 -16
  222. package/build/shared/interfaces/amqpInterface.js +25 -23
  223. package/build/shared/interfaces/channels/genesysBotConnector.js +21 -0
  224. package/build/shared/interfaces/channels/niceCXOne.js +8 -0
  225. package/build/shared/interfaces/generativeAI/IGenerativeAIModels.js +80 -0
  226. package/build/shared/interfaces/generativeAI/IGenerativeAIPrompts.js +3 -0
  227. package/build/shared/interfaces/generativeAI/IRunGenerativeAIPromptOptions.js +3 -0
  228. package/build/shared/interfaces/handover.js +70 -4
  229. package/build/shared/interfaces/journeys/IJourney.js +6 -0
  230. package/build/shared/interfaces/journeys/IJourneyTrackEvent.js +2 -0
  231. package/build/shared/interfaces/knowledgesearch/search.js +3 -0
  232. package/build/shared/interfaces/messageAPI/ai.js +2 -1
  233. package/build/shared/interfaces/messageAPI/endpoints.js +177 -5
  234. package/build/shared/interfaces/messageAPI/handover.js +4 -1
  235. package/build/shared/interfaces/resources/IAgentAssistConfig.js +26 -20
  236. package/build/shared/interfaces/resources/IAuditEvent.js +9 -1
  237. package/build/shared/interfaces/resources/IChart.js +1 -10
  238. package/build/shared/interfaces/resources/IConnection.js +7 -1
  239. package/build/shared/interfaces/resources/IConnectionSchema.js +3 -0
  240. package/build/shared/interfaces/resources/IEndpoint.js +3 -14
  241. package/build/shared/interfaces/resources/IExtension.js +3 -0
  242. package/build/shared/interfaces/resources/IFlow.js +15 -10
  243. package/build/shared/interfaces/resources/IFunction.js +1 -7
  244. package/build/shared/interfaces/resources/IGenerateNodeOutput.js +3 -0
  245. package/build/shared/interfaces/resources/ILargeLanguageModel.js +73 -0
  246. package/build/shared/interfaces/resources/ILexicon.js +2 -7
  247. package/build/shared/interfaces/resources/INodeDescriptorSet.js +55 -30
  248. package/build/shared/interfaces/resources/IPackage.js +1 -7
  249. package/build/shared/interfaces/resources/IPlaybookRun.js +2 -1
  250. package/build/shared/interfaces/resources/IProject.js +1 -7
  251. package/build/shared/interfaces/resources/ISnapshot.js +2 -14
  252. package/build/shared/interfaces/resources/TNLUConnectorType.js +2 -2
  253. package/build/shared/interfaces/resources/TResourceType.js +16 -5
  254. package/build/shared/interfaces/resources/TRestChannelType.js +16 -11
  255. package/build/shared/interfaces/resources/TWebhookChannelType.js +6 -1
  256. package/build/shared/interfaces/resources/chart/IChartExecutable.js +1 -7
  257. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeChunk.js +50 -0
  258. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +42 -0
  259. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeStore.js +26 -0
  260. package/build/shared/interfaces/resources/settings/IAgentSettings.js +7 -70
  261. package/build/shared/interfaces/resources/settings/IAudioPreviewSettings.js +36 -0
  262. package/build/shared/interfaces/resources/settings/IGenerativeAISettings.js +25 -88
  263. package/build/shared/interfaces/resources/settings/IGenerativeAIUseCase.js +3 -0
  264. package/build/shared/interfaces/resources/settings/ISharedSettings.js +2 -2
  265. package/build/shared/interfaces/resources/settings/ITranslationSettings.js +63 -0
  266. package/build/shared/interfaces/resources/settings/index.js +7 -5
  267. package/build/shared/interfaces/restAPI/administration/user/v2.1/IApiKeyIndexItem_2_1.js +3 -0
  268. package/build/shared/interfaces/restAPI/administration/user/v2.1/IApiKey_2_1.js +3 -0
  269. package/build/shared/interfaces/restAPI/administration/user/v2.1/ICreateApiKeyRest_2_1.js +3 -0
  270. package/build/shared/interfaces/restAPI/administration/user/v2.1/IIndexApiKeysMeRest_2_1.js +3 -0
  271. package/build/shared/interfaces/restAPI/administration/user/v2.1/index.js +3 -0
  272. package/build/shared/interfaces/restAPI/administration/voiceGateway/v2.0/IReadVoiceGatewayAccountRest_2_0.js +3 -0
  273. package/build/shared/interfaces/restAPI/administration/voiceGateway/v2.0/ISetupVoiceGatewayAccountRest_2_0.js +3 -0
  274. package/build/shared/interfaces/restAPI/administration/voiceGateway/v2.0/index.js +3 -0
  275. package/build/shared/interfaces/restAPI/insights/reports/IGenerateReportRest_2_0.js +0 -2
  276. package/build/shared/interfaces/restAPI/metrics/knowledgeQueryCounter/v2.0/IGetKnowledgeQueryCounterOrganisationRest_2_0.js +3 -0
  277. package/build/shared/interfaces/restAPI/metrics/knowledgeQueryCounter/v2.0/IGetKnowledgeQueryCounterRest_2_0.js +3 -0
  278. package/build/shared/interfaces/restAPI/metrics/knowledgeQueryCounter/v2.0/IKnowlegeQueryCounterAggregatedValue_2_0.js +3 -0
  279. package/build/shared/interfaces/restAPI/metrics/knowledgeQueryCounter/v2.0/index.js +3 -0
  280. package/build/shared/interfaces/restAPI/resources/agentAssist/v2.0/IReadAgentAssistSessionDataRest_2_0.js +3 -0
  281. package/build/shared/interfaces/restAPI/resources/chart/v2.0/IGenerateNodeOutputRest_2_0.js +3 -0
  282. package/build/shared/interfaces/restAPI/resources/knowledgeSearchIndex/v2.0/ICreateKnowledgeSearchIndexRest_2_0.js +3 -0
  283. package/build/shared/interfaces/restAPI/resources/knowledgeSearchIndex/v2.0/IDeleteKnowledgeSearchIndexRest_2_0.js +3 -0
  284. package/build/shared/interfaces/restAPI/resources/knowledgeSearchIndex/v2.0/index.js +3 -0
  285. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/ICreateKnowledgeStoreRest_2_0.js +3 -0
  286. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IDeleteKnowledgeStoreRest_2_0.js +3 -0
  287. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IIndexKnowledgeStoresRest_2_0.js +3 -0
  288. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IIngestKnowledgeStoreRest_2_0.js +3 -0
  289. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IKnowledgeStore_2_0.js +3 -0
  290. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IReadKnowledgeStoreRest_2_0.js +3 -0
  291. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IUpdateKnowledgeStoreRest_2_0.js +3 -0
  292. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/index.js +3 -0
  293. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/ICreateKnowledgeSourceRest_2_0.js +3 -0
  294. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IDeleteKnowledgeSourceRest_2_0.js +3 -0
  295. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IIndexKnowledgeSourcesRest_2_0.js +3 -0
  296. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IKnowledgeSource_2_0.js +3 -0
  297. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IReadKnowledgeSourceRest_2_0.js +3 -0
  298. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IUpdateKnowledgeSourceRest_2_0.js +3 -0
  299. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IUploadKnowledgeSourceFileRest_2_0.js +4 -0
  300. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/ICreateKnowledgeChunkRest_2_0.js +3 -0
  301. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IDeleteKnowledgeChunkRest_2_0.js +3 -0
  302. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IIndexKnowledgeChunksRest_2_0.js +3 -0
  303. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IKnowledgeChunk_2_0.js +3 -0
  304. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IReadKnowledgeChunkRest_2_0.js +3 -0
  305. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IUpdateKnowledgeChunkRest_2_0.js +3 -0
  306. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ICloneLargeLanguageModelRest_2_0.js +4 -0
  307. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ICreateLargeLanguageModelRest_2_0.js +3 -0
  308. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IDeleteLargeLanguageModelRest_2_0.js +3 -0
  309. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IIndexLargeLanguageModelsRest_2_0.js +3 -0
  310. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ILargeLanguageModelIndexItem_2_0.js +3 -0
  311. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ILargeLanguageModel_2_0.js +3 -0
  312. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IReadLargeLanguageModelRest_2_0.js +3 -0
  313. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ITestLargeLanguageModelRest_2_0.js +3 -0
  314. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IUpdateLargeLanguageModelRest_2_0.js +3 -0
  315. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/index.js +3 -0
  316. package/build/shared/interfaces/restAPI/resources/nluconnector/v2.0/TNLUConnectorType_2_0.js +3 -3
  317. package/build/shared/interfaces/restAPI/resources/project/v2.0/settings/ISetupCognigyGenerativeAIRest_2_0.js +4 -0
  318. package/build/shared/interfaces/restAPI/resources/uploadResumable/v2.0/IUploadResumableRest_2_0.js +17 -0
  319. package/build/shared/interfaces/restAPI/resources/uploadResumable/v2.0/index.js +3 -0
  320. package/build/shared/interfaces/security/IACL.js +1 -7
  321. package/build/shared/interfaces/security/IIdentityProvider.js +1 -7
  322. package/build/shared/interfaces/security/IKnowledgeQueryCounterAggregatedValue.js +3 -0
  323. package/build/shared/interfaces/security/IPermission.js +8 -2
  324. package/build/shared/interfaces/security/IRole.js +6 -2
  325. package/build/shared/interfaces/security/index.js +1 -2
  326. package/build/shared/interfaces/taskmanager/ITask.js +1 -0
  327. package/build/shared/interfaces/trainer/ITrainerRecord.js +1 -1
  328. package/build/shared/interfaces/user.js +1 -9
  329. package/build/test.js +27 -0
  330. package/package.json +19 -17
  331. package/types/index.d.ts +10428 -8487
  332. package/build/shared/charts/descriptors/service/completeText.js +0 -316
  333. package/build/shared/charts/descriptors/voice/utils/constants.js +0 -8
  334. package/build/shared/charts/descriptors/voicegateway2/utils/constants.js +0 -7
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterConversationEntries = exports.GENERATIVE_SLOT_FILLER = void 0;
4
+ /* Custom modules */
5
+ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
+ const prompt_1 = require("./prompt");
7
+ const logger_1 = require("../../../../helper/logger");
8
+ const message_1 = require("../../message");
9
+ exports.GENERATIVE_SLOT_FILLER = (0, createNodeDescriptor_1.createNodeDescriptor)({
10
+ type: "generativeSlotFiller",
11
+ defaultLabel: "Generative Slot Filler",
12
+ summary: "UI__NODE_EDITOR__NLU__GENERATIVE_SLOT_FILLER__SUMMARY__DEFAULT",
13
+ dependencies: {
14
+ children: ["generativeSlotFillerFallback", "generativeSlotFillerSuccess"],
15
+ },
16
+ fields: [
17
+ {
18
+ key: "slotsConfig",
19
+ type: "json",
20
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_SLOT_FILLER__FIELDS__SLOT_CONFIG__DEFAULT_LABEL",
21
+ },
22
+ {
23
+ key: "amountOfLastUserInputs",
24
+ type: "slider",
25
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_SLOT_FILLER__FIELDS__AMOUNT_OF_LAST_USERS_INPUTS__LABEL",
26
+ params: {
27
+ min: 1,
28
+ max: 10,
29
+ step: 1,
30
+ },
31
+ defaultValue: 5
32
+ },
33
+ {
34
+ key: "maxQuestions",
35
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_MAX_QUESTIONS__DEFAULT_LABEL",
36
+ type: "slider",
37
+ defaultValue: 5,
38
+ params: {
39
+ min: 0,
40
+ max: 10,
41
+ step: 1
42
+ },
43
+ },
44
+ {
45
+ key: "temperature",
46
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_TEMPERATURE__DEFAULT_LABEL",
47
+ type: "slider",
48
+ description: "UI__NODE_EDITOR__NLU__GENERATIVE_SLIDER__DEFAULT_LABEL",
49
+ defaultValue: 1,
50
+ params: {
51
+ min: 0,
52
+ max: 1,
53
+ step: 0.1
54
+ },
55
+ },
56
+ {
57
+ key: "timeout",
58
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_TIMEOUT__DEFAULT_LABEL",
59
+ defaultValue: 6000,
60
+ type: "number",
61
+ description: "UI__NODE_EDITOR__NLU__GENERATIVE_TIMEOUT__DESCRIPTION",
62
+ },
63
+ {
64
+ key: "storeLocation",
65
+ type: "select",
66
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_STORE_LOCATION__DEFAULT_LABEL",
67
+ defaultValue: "context",
68
+ params: {
69
+ options: [
70
+ {
71
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_STORE_LOCATION__OPTIONS__INPUT__LABEL",
72
+ value: "input"
73
+ },
74
+ {
75
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_STORE_LOCATION__OPTIONS__CONTEXT__LABEL",
76
+ value: "context"
77
+ }
78
+ ],
79
+ required: true
80
+ },
81
+ },
82
+ {
83
+ key: "inputKey",
84
+ type: "cognigyText",
85
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_INPUT_KEY__DEFAULT_LABEL",
86
+ defaultValue: "generativeSlotFiller",
87
+ condition: {
88
+ key: "storeLocation",
89
+ value: "input",
90
+ }
91
+ },
92
+ {
93
+ key: "contextKey",
94
+ type: "cognigyText",
95
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_CONTEXT_KEY__DEFAULT_LABEL",
96
+ defaultValue: "generativeSlotFiller",
97
+ condition: {
98
+ key: "storeLocation",
99
+ value: "context",
100
+ }
101
+ },
102
+ ],
103
+ sections: [
104
+ {
105
+ key: "advanced",
106
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_SLOT_FILLER__SECTIONS__ADVANCED__DEFAULT_LABEL",
107
+ defaultCollapsed: true,
108
+ fields: [
109
+ "temperature",
110
+ "timeout",
111
+ ]
112
+ },
113
+ {
114
+ key: "storage",
115
+ label: "UI__NODE_EDITOR__NLU__GENERATIVE_SLOT_FILLER__SECTIONS__STORAGE__DEFAULT_LABEL",
116
+ defaultCollapsed: true,
117
+ fields: [
118
+ "storeLocation",
119
+ "inputKey",
120
+ "contextKey",
121
+ ]
122
+ }
123
+ ],
124
+ form: [
125
+ { type: "field", key: "slotsConfig" },
126
+ { type: "field", key: "amountOfLastUserInputs" },
127
+ { type: "field", key: "maxQuestions" },
128
+ { type: "section", key: "advanced" },
129
+ { type: "section", key: "storage" },
130
+ ],
131
+ appearance: {},
132
+ tags: ["nlu"],
133
+ function: async ({ cognigy, config, childConfigs, nodeId, organisationId }) => {
134
+ var _a;
135
+ const { api, lastConversationEntries } = cognigy;
136
+ const { slotsConfig, amountOfLastUserInputs, maxQuestions, temperature, storeLocation, contextKey, inputKey, timeout, } = config;
137
+ const fallBackChild = childConfigs.find(child => child.type === "generativeSlotFillerFallback");
138
+ if ((slotsConfig === null || slotsConfig === void 0 ? void 0 : slotsConfig.length) < 1 || (lastConversationEntries === null || lastConversationEntries === void 0 ? void 0 : lastConversationEntries.length) < 1) {
139
+ api.setNextNode(fallBackChild.id);
140
+ return;
141
+ }
142
+ try {
143
+ // the filled slots that were found in the previous execution
144
+ const filledSlots = storeLocation === "context" ? cognigy.context[contextKey] : cognigy.input[inputKey];
145
+ const slots = [...slotsConfig];
146
+ if (filledSlots) {
147
+ for (const filledSlot of Object.keys(filledSlots)) {
148
+ const slot = slots.find(slot => slot.tag === filledSlot);
149
+ slot.value = filledSlots[filledSlot];
150
+ // remove the validation, so that the slot is not validated again
151
+ delete slot.validation;
152
+ }
153
+ }
154
+ const questionCountKey = `generativeSlotFiller_${nodeId}_questionCount`;
155
+ const questionCount = api.getSystemContext(questionCountKey) || 0;
156
+ // for questions, we only use the last user input
157
+ const extractionEntries = questionCount > 0 ? (0, exports.filterConversationEntries)(lastConversationEntries, 1) : (0, exports.filterConversationEntries)(lastConversationEntries, amountOfLastUserInputs);
158
+ const extractEntitiesprompt = (0, prompt_1.createExtractionPrompt)(slots, extractionEntries);
159
+ const data = {
160
+ prompt: extractEntitiesprompt,
161
+ temperature,
162
+ timeoutInMs: timeout,
163
+ useCase: "slotExtraction",
164
+ };
165
+ // TODO: Create a new useCase for this feature and use it here instead
166
+ const response = await api.runGenerativeAIPrompt(data, "gptConversation");
167
+ const parsed = JSON.parse(response);
168
+ const slotsWithLexiconValidations = [];
169
+ slots.forEach(slot => {
170
+ if (parsed[slot.tag]) {
171
+ if (slot.validation && slot.validation.type === "slot") {
172
+ slotsWithLexiconValidations.push(slot);
173
+ }
174
+ slot.value = parsed[slot.tag];
175
+ }
176
+ });
177
+ for (const slot of slotsWithLexiconValidations) {
178
+ const nlu = await api.executeCognigyNLU(parsed[slot.tag], null, "TODO", {
179
+ parseIntents: false,
180
+ });
181
+ if ((_a = nlu === null || nlu === void 0 ? void 0 : nlu.slots) === null || _a === void 0 ? void 0 : _a[slot.validation.value]) {
182
+ slot.invalid = false;
183
+ }
184
+ else {
185
+ slot.invalid = true;
186
+ }
187
+ }
188
+ ;
189
+ let complete = true;
190
+ let allValid = true;
191
+ const missingSlots = [];
192
+ const invalidSlots = [];
193
+ const foundSlots = [];
194
+ for (const slot of slots) {
195
+ if (!slot.optional && !slot.value) {
196
+ missingSlots.push(slot);
197
+ }
198
+ else if (slot.invalid) {
199
+ invalidSlots.push(slot);
200
+ }
201
+ else if (slot.value && !slot.invalid) {
202
+ foundSlots.push(slot);
203
+ }
204
+ }
205
+ const slotResult = {};
206
+ foundSlots.forEach(slot => {
207
+ slotResult[slot.tag] = slot.value;
208
+ });
209
+ if (storeLocation === "context") {
210
+ cognigy.context[contextKey] = slotResult;
211
+ }
212
+ else {
213
+ cognigy.input[contextKey] = slotResult;
214
+ }
215
+ if (missingSlots.length > 0) {
216
+ complete = false;
217
+ }
218
+ if (invalidSlots.length > 0) {
219
+ allValid = false;
220
+ }
221
+ if (complete && allValid) {
222
+ const childNode = childConfigs.find(child => child.type === "generativeSlotFillerSuccess");
223
+ api.setNextNode(childNode.id);
224
+ return;
225
+ }
226
+ if (questionCount >= maxQuestions && !(complete && allValid)) {
227
+ const childNode = childConfigs.find(child => child.type === "generativeSlotFillerFallback");
228
+ api.setNextNode(childNode.id);
229
+ return;
230
+ }
231
+ if (questionCount < maxQuestions && !(complete && allValid)) {
232
+ api.setSystemContext(questionCountKey, questionCount + 1);
233
+ const prompt = allValid ? (0, prompt_1.createQuestionPrompt)(foundSlots, missingSlots, extractionEntries) : (0, prompt_1.createInvalidAnswerPrompt)(invalidSlots, extractionEntries);
234
+ const data = {
235
+ prompt,
236
+ temperature,
237
+ timeoutInMs: timeout,
238
+ useCase: "slotExtractionQuestion",
239
+ };
240
+ // TODO: Create a new useCase for this feature and use it here instead
241
+ const question = await api.runGenerativeAIPrompt(data, "gptConversation");
242
+ await message_1.SAY.function({ cognigy, childConfigs: [], nodeId, organisationId, config: { say: { type: "text", text: [question] } } });
243
+ api.stopExecution();
244
+ api.setNextNode(nodeId);
245
+ return;
246
+ }
247
+ }
248
+ catch (error) {
249
+ api.setNextNode(fallBackChild.id);
250
+ logger_1.default.log("error", { traceId: cognigy.input.traceId }, `Error in generativeSlotFiller: ${error.message}`);
251
+ }
252
+ }
253
+ });
254
+ const filterConversationEntries = (lastConversationEntries, amountOfLastUserInputs) => {
255
+ let addedUserInputsCount = 0;
256
+ let lastEntries = [];
257
+ // lastUserInputs is ordered newest -> oldest
258
+ for (const entry of lastConversationEntries) {
259
+ if (entry.source === "user" && addedUserInputsCount >= amountOfLastUserInputs) {
260
+ break;
261
+ }
262
+ lastEntries.push(entry);
263
+ if (entry.source === "user") {
264
+ addedUserInputsCount++;
265
+ }
266
+ }
267
+ return lastEntries;
268
+ };
269
+ exports.filterConversationEntries = filterConversationEntries;
270
+ //# sourceMappingURL=generativeSlotFiller.js.map
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GENERATIVE_SLOT_FILLER_FALLBACK = void 0;
4
+ /* Custom modules */
5
+ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
+ exports.GENERATIVE_SLOT_FILLER_FALLBACK = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
+ type: "generativeSlotFillerFallback",
8
+ parentType: "generativeSlotFillerFallback",
9
+ defaultLabel: "Fallback",
10
+ appearance: {
11
+ color: '#B3A7EA',
12
+ textColor: 'white',
13
+ contrastTextColor: 'black',
14
+ variant: 'mini'
15
+ },
16
+ constraints: {
17
+ editable: false,
18
+ deletable: false,
19
+ collapsable: true,
20
+ childFlowCreatable: true,
21
+ creatable: false,
22
+ movable: false,
23
+ placement: {},
24
+ },
25
+ tags: ["nlu"],
26
+ });
27
+ //# sourceMappingURL=generativeSlotFillerFallback.js.map
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GENERATIVE_SLOT_FILLER_SUCCESS = void 0;
4
+ /* Custom modules */
5
+ const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
+ exports.GENERATIVE_SLOT_FILLER_SUCCESS = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
+ type: "generativeSlotFillerSuccess",
8
+ parentType: "generativeSlotFillerSuccess",
9
+ defaultLabel: "Success",
10
+ appearance: {
11
+ color: '#B3A7EA',
12
+ textColor: 'white',
13
+ contrastTextColor: 'black',
14
+ variant: 'mini'
15
+ },
16
+ constraints: {
17
+ editable: false,
18
+ deletable: false,
19
+ collapsable: true,
20
+ childFlowCreatable: true,
21
+ creatable: false,
22
+ movable: false,
23
+ placement: {},
24
+ },
25
+ tags: ["nlu"],
26
+ });
27
+ //# sourceMappingURL=generativeSlotFillerSuccess.js.map
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertChatToPrompt = exports.writeLLMDebugLogs = exports.createLastUserInputString = exports.createLastConversationChatObject = exports.createLastConverationString = exports.createInvalidAnswerPrompt = exports.createQuestionPrompt = exports.createExtractionPrompt = void 0;
4
+ const createExtractionPrompt = (slots, lastConversationEntries) => {
5
+ const userInput = lastConversationEntries.filter(entry => entry.source === "user").map(entry => "- " + entry.text).join("\n");
6
+ const conversation = (0, exports.createLastConverationString)(lastConversationEntries);
7
+ let slotDescriptions = "";
8
+ let foundSlotDescriptions = "";
9
+ for (const slot of slots) {
10
+ if (!slot.value || slot.invalid) {
11
+ slotDescriptions += `- KEY: ${slot.tag}, DESCRIPTION: ${slot.optional ? "(if explicitly mentioned) " : ""}${slot.description}\n`;
12
+ }
13
+ else {
14
+ foundSlotDescriptions += `- KEY: ${slot.tag}, DESCRIPTION: ${slot.description}, FOUND: ${slot.value}\n`;
15
+ }
16
+ }
17
+ const prompt = `A USER has interacted with a BOT, this is the conversation so far:
18
+ ${conversation}
19
+ ${foundSlotDescriptions.length > 0 ? `\nSo far, the BOT has found the following entities:\n${foundSlotDescriptions}` : ""}
20
+ Try to fill the following entities from the USER input, each entity has to match the given description field. If the value does not strictly match this description, leave the value empty:
21
+ ${slotDescriptions}
22
+ Return the extracted entities as a valid JSON object, where the keys are the entity tags and the values are the extracted values.`;
23
+ return prompt;
24
+ };
25
+ exports.createExtractionPrompt = createExtractionPrompt;
26
+ const createQuestionPrompt = (foundSlots, missingSlots, lastConversationEntries) => {
27
+ const conversation = (0, exports.createLastConverationString)(lastConversationEntries);
28
+ const missingSlotDescriptions = missingSlots.map(slot => `- KEY: ${slot.tag}, DESCRIPTION: ${slot.description}`).join("\n");
29
+ const foundSlotDescriptions = foundSlots.map(slot => `- KEY: ${slot.tag}, DESCRIPTION: ${slot.description}, FOUND: ${slot.value}`).join("\n");
30
+ const prompt = `A user has interacted with a bot, this is the conversation so far:
31
+ ${conversation}
32
+
33
+ ${foundSlots.length > 0 ? `So far, the BOT has found the following entities:\n${foundSlotDescriptions}` : ""}
34
+
35
+ The BOT wants to find the following entities:
36
+ ${missingSlotDescriptions}
37
+
38
+ The BOT asks the user to for this information, based on the conversation so far. The BOT outputs should not be repetitive.
39
+ BOT: `;
40
+ return prompt;
41
+ };
42
+ exports.createQuestionPrompt = createQuestionPrompt;
43
+ const createInvalidAnswerPrompt = (invalidSlots, lastConversationEntries) => {
44
+ const userInput = (0, exports.createLastConverationString)(lastConversationEntries);
45
+ const invalidSlotDescription = `- KEY: ${invalidSlots[0].tag}, DESCRIPTION: ${invalidSlots[0].description}, USER INPUT: ${invalidSlots[0].value}, INVALID BECAUSE: ${invalidSlots[0].validation.invalidReason}\n`;
46
+ const prompt = `A user has interacted with a bot, this is the conversation so far:
47
+ ${userInput}
48
+
49
+ The USER has provided the following entities, but the USER INPUT was INVALID BECAUSE:
50
+ ${invalidSlotDescription}
51
+ The BOT explains the answer why he can't use the answer and asks the USER again for this information, based on the conversation so far. The BOT does not give explicit alternatives.:
52
+ BOT: `;
53
+ invalidSlots[0].invalid = false;
54
+ invalidSlots[0].value = "";
55
+ return prompt;
56
+ };
57
+ exports.createInvalidAnswerPrompt = createInvalidAnswerPrompt;
58
+ /* returns recentConversation as a multiline string:
59
+ - BOT: Hello
60
+ - USER: Hi
61
+ */
62
+ const createLastConverationString = (lastConversationEntries, turnLimit = 100) => {
63
+ const conversation = lastConversationEntries === null || lastConversationEntries === void 0 ? void 0 : lastConversationEntries.map(entry => "- " + (entry.source === "user" ? "USER: " : "BOT: ") + entry.text).slice(0, turnLimit).reverse().join("\n");
64
+ return conversation || "";
65
+ };
66
+ exports.createLastConverationString = createLastConverationString;
67
+ /* returns recentConversation as an openai formatted chat prompt, e.g.
68
+ [
69
+ {
70
+ "role": "system",
71
+ "content": "Imagine you're Michael and you're working in a agency for insurance sales for CNP Santander Insurance Europe. Your job is to call customers who have just gotten a loan from a bank. Your job is to sell them loan default insurance.\n\nIt's important you act tactfully and slowly approach the topic. Your main goal is to get the customer to confirm they want to the insurance, but don't be pushy.\n\nThe customer name is Vito Volpe. The loan amount for this customer is 10000 and the cost for the insurance is 0.89% of the loan amount per year, paid with the insurance payments. The customer can opt out at any time. \n\nOnce the customer is has confirmed they want the insurance, answer with \"SUCCESS\" only.\nIf the customer wants to reschedule the call, confirm the time and then answer with \"RESCHEDULE\" only.\n\nDon't immediately start with the offer. Make sure the customer is comfortable first.\n\nDon't discuss other insurance products. Don't negotiate on pricing.\n\nUse simple wording only. Speak in short sentences."
72
+ },
73
+ {
74
+ "role": "user",
75
+ "content": "Hello?"
76
+ },
77
+ {
78
+ "role": "assistant",
79
+ "content": "Good day, is this Mr. Vito Volpe I am speaking with?"
80
+ }
81
+ ]
82
+ */
83
+ const createLastConversationChatObject = (lastConversationEntries, systemMessage, turnLimit = 100) => {
84
+ const conversation = [];
85
+ if (systemMessage) {
86
+ conversation.push({
87
+ role: "system",
88
+ content: systemMessage
89
+ });
90
+ }
91
+ lastConversationEntries === null || lastConversationEntries === void 0 ? void 0 : lastConversationEntries.slice(0, turnLimit).reverse().map(entry => {
92
+ conversation.push({
93
+ role: entry.source === "user" ? "user" : "assistant",
94
+ content: entry.text
95
+ });
96
+ });
97
+ return conversation;
98
+ };
99
+ exports.createLastConversationChatObject = createLastConversationChatObject;
100
+ /* returns recentUserInput as a multiline string:
101
+ - Hi
102
+ - I want to order...
103
+ */
104
+ const createLastUserInputString = (lastConversationEntries, turnLimit = 100) => {
105
+ const userInput = lastConversationEntries.filter(entry => entry.source === "user").map(entry => "- " + entry.text).slice(0, turnLimit).reverse().join("\n");
106
+ return userInput || "";
107
+ };
108
+ exports.createLastUserInputString = createLastUserInputString;
109
+ /**
110
+ * Writes debug logs for LLM calls
111
+ * @param label the label of the log
112
+ * @param prompt the prompt used for the LLM call
113
+ * @param response the response of the LLM call
114
+ * @param debugLogTokenCount whether to log the token count
115
+ * @param debugLogRequestAndCompletion whether to log the request and completion
116
+ * @param cognigy the cognigy object (input, api, etc)
117
+ */
118
+ const writeLLMDebugLogs = async (label, prompt, response, debugLogTokenCount, debugLogRequestAndCompletion, cognigy) => {
119
+ const { api } = cognigy;
120
+ // debug logs are only processed for the interaction panel
121
+ if (debugLogRequestAndCompletion) {
122
+ try {
123
+ let requestTokenMessage = "";
124
+ let completionTokenMessage = "";
125
+ if (debugLogTokenCount) {
126
+ if (prompt) {
127
+ const requestTokens = await api.countGPTTokens(prompt);
128
+ requestTokenMessage = ` (${requestTokens} Tokens)`;
129
+ }
130
+ if (response) {
131
+ const completionTokens = await api.countGPTTokens(response);
132
+ completionTokenMessage = ` (${completionTokens} Tokens)`;
133
+ }
134
+ }
135
+ api.log('debug', `${label} - Request${requestTokenMessage}: '${prompt}' - Completion${completionTokenMessage}: '${response}'`);
136
+ }
137
+ catch (err) { }
138
+ }
139
+ else if (debugLogTokenCount) {
140
+ try {
141
+ let requestTokens = 0;
142
+ let completionTokens = 0;
143
+ requestTokens = prompt && await api.countGPTTokens(prompt);
144
+ completionTokens = response && await api.countGPTTokens(response);
145
+ const completionMessage = response ? ` - Completion Tokens: ${completionTokens} - Total Tokens: ${requestTokens + completionTokens}` : "";
146
+ api.log('debug', `${label} - Request Tokens: ${requestTokens} ${completionMessage}`);
147
+ }
148
+ catch (err) { }
149
+ }
150
+ };
151
+ exports.writeLLMDebugLogs = writeLLMDebugLogs;
152
+ /**
153
+ * Converts an OpenAI chat object to a prompt string
154
+ * @param chat The OpenAI Chat Object
155
+ * @returns The concatenated string
156
+ */
157
+ const convertChatToPrompt = (chat) => {
158
+ let prompt = "";
159
+ for (const message of chat) {
160
+ if (message.role === "system") {
161
+ prompt += `${message.content}\n`;
162
+ }
163
+ else if (message.role === "user") {
164
+ prompt += `user: ${message.content}\n`;
165
+ }
166
+ else if (message.role === "assistant") {
167
+ prompt += `assistant: ${message.content}\n`;
168
+ }
169
+ }
170
+ prompt += "assistant: ";
171
+ return prompt;
172
+ };
173
+ exports.convertChatToPrompt = convertChatToPrompt;
174
+ //# sourceMappingURL=prompt.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FUZZY_SEARCH = exports.MATCH_PATTERN = exports.REGEX_SLOT_FILLER = exports.EXTRACT_ANSWER = exports.EXECUTE_COGNIGY_NLU = exports.ADD_LEXICON_KEYPHRASE = void 0;
3
+ exports.CLEAN_TEXT = exports.GENERATIVE_SLOT_FILLER_FALLBACK = exports.GENERATIVE_SLOT_FILLER_SUCCESS = exports.GENERATIVE_SLOT_FILLER = exports.FUZZY_SEARCH = exports.MATCH_PATTERN = exports.REGEX_SLOT_FILLER = exports.EXTRACT_ANSWER = exports.EXECUTE_COGNIGY_NLU = exports.ADD_LEXICON_KEYPHRASE = void 0;
4
4
  var addLexiconKeyphrase_1 = require("./addLexiconKeyphrase");
5
5
  Object.defineProperty(exports, "ADD_LEXICON_KEYPHRASE", { enumerable: true, get: function () { return addLexiconKeyphrase_1.ADD_LEXICON_KEYPHRASE; } });
6
6
  var executeCognigyNLU_1 = require("./executeCognigyNLU");
@@ -13,4 +13,12 @@ var matchPattern_1 = require("./matchPattern");
13
13
  Object.defineProperty(exports, "MATCH_PATTERN", { enumerable: true, get: function () { return matchPattern_1.MATCH_PATTERN; } });
14
14
  var fuzzySearch_1 = require("./fuzzySearch");
15
15
  Object.defineProperty(exports, "FUZZY_SEARCH", { enumerable: true, get: function () { return fuzzySearch_1.FUZZY_SEARCH; } });
16
+ var generativeSlotFiller_1 = require("./generativeSlotFiller/generativeSlotFiller");
17
+ Object.defineProperty(exports, "GENERATIVE_SLOT_FILLER", { enumerable: true, get: function () { return generativeSlotFiller_1.GENERATIVE_SLOT_FILLER; } });
18
+ var generativeSlotFillerSuccess_1 = require("./generativeSlotFiller/generativeSlotFillerSuccess");
19
+ Object.defineProperty(exports, "GENERATIVE_SLOT_FILLER_SUCCESS", { enumerable: true, get: function () { return generativeSlotFillerSuccess_1.GENERATIVE_SLOT_FILLER_SUCCESS; } });
20
+ var generativeSlotFillerFallback_1 = require("./generativeSlotFiller/generativeSlotFillerFallback");
21
+ Object.defineProperty(exports, "GENERATIVE_SLOT_FILLER_FALLBACK", { enumerable: true, get: function () { return generativeSlotFillerFallback_1.GENERATIVE_SLOT_FILLER_FALLBACK; } });
22
+ var cleanText_1 = require("./cleanText");
23
+ Object.defineProperty(exports, "CLEAN_TEXT", { enumerable: true, get: function () { return cleanText_1.CLEAN_TEXT; } });
16
24
  //# sourceMappingURL=index.js.map
@@ -10,20 +10,20 @@ exports.MATCH_PATTERN = (0, createNodeDescriptor_1.createNodeDescriptor)({
10
10
  key: "patternGroupName",
11
11
  type: "text"
12
12
  },
13
- summary: "Rule-based pattern matching for compound slot groups",
13
+ summary: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__SUMMARY",
14
14
  tags: ["nlu", "pattern", "patterns"],
15
15
  fields: [
16
16
  {
17
17
  key: "patterns",
18
- label: "Patterns",
18
+ label: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__PATTERNS_LABEL",
19
19
  type: "textArray",
20
- description: "The patterns to match, e.g. 'from @city>origin to @city>destination'. Maximum: 20.",
20
+ description: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__PATTERNS_DESCRIPTION",
21
21
  defaultValue: ["@NUMBER>val1 or @NUMBER>val2"]
22
22
  },
23
23
  {
24
24
  key: "patternGroupName",
25
- label: "Pattern Group Name",
26
- description: "Name for the slot compound group to be found under input.matchedPatterns.groupname",
25
+ label: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__PATTERN_GROUP_NAME_LABEL",
26
+ description: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__PATTERN_GROUP_NAME_DESCRIPTION",
27
27
  type: "cognigyText",
28
28
  defaultValue: "patternGroupName",
29
29
  params: {
@@ -32,35 +32,35 @@ exports.MATCH_PATTERN = (0, createNodeDescriptor_1.createNodeDescriptor)({
32
32
  },
33
33
  {
34
34
  key: "alternateInput",
35
- label: "Alternate Input",
36
- description: "The input text to use instead of the current input text",
35
+ label: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__ALTERNATE_INPUT_LABEL",
36
+ description: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__ALTERNATE_INPUT_DESCRIPTION",
37
37
  type: "cognigyText",
38
38
  },
39
39
  {
40
40
  key: "detailedCompoundSlots",
41
- label: "Detailed Match Results",
42
- description: "Whether to store detailed results for the matched patterns or not",
41
+ label: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__DETAILED_COMPOUND_SLOTS_LABEL",
42
+ description: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__DETAILED_COMPOUND_SLOTS_DESCRIPTION",
43
43
  type: "toggle",
44
44
  defaultValue: false
45
45
  },
46
46
  {
47
47
  key: "createNewSlots",
48
- label: "Create New Slots",
49
- description: "Whether to create new slots from tags or not",
48
+ label: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__CREATE_NEW_SLOTS_LABEL",
49
+ description: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__CREATE_NEW_SLOTS_DESCRIPTION",
50
50
  type: "toggle",
51
51
  defaultValue: false
52
52
  },
53
53
  {
54
54
  key: "tagExistingSlots",
55
- label: "Tag Existing Slots",
56
- description: "Whether to tag existing slots or not",
55
+ label: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__TAG_EXISTING_SLOTS_LABEL",
56
+ description: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__TAG_EXISTING_SLOTS_DESCRIPTION",
57
57
  type: "toggle",
58
58
  defaultValue: true
59
59
  },
60
60
  {
61
61
  key: "useFullSystemslotText",
62
- label: "Replace system slots with full text",
63
- description: "Match the full system slot text and use detailed values",
62
+ label: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__USE_FULL_SYSTEM_SLOT_TEXT_LABEL",
63
+ description: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__FIELDS__USE_FULL_SYSTEM_SLOT_TEXT_DESCRIPTION",
64
64
  type: "toggle",
65
65
  defaultValue: true,
66
66
  }
@@ -68,7 +68,7 @@ exports.MATCH_PATTERN = (0, createNodeDescriptor_1.createNodeDescriptor)({
68
68
  sections: [
69
69
  {
70
70
  key: "advanced",
71
- label: "Advanced",
71
+ label: "UI__NODE_EDITOR__NLU__MATCH_PATTERN__SECTIONS__ADVANCED__LABEL",
72
72
  defaultCollapsed: true,
73
73
  fields: [
74
74
  "createNewSlots",
@@ -12,7 +12,7 @@ const createNodeDescriptor_1 = require("../../createNodeDescriptor");
12
12
  exports.REGEX_SLOT_FILLER = (0, createNodeDescriptor_1.createNodeDescriptor)({
13
13
  type: "regexSlotFiller",
14
14
  defaultLabel: "Regex Slot Filler",
15
- summary: "Fills Slots dynamically by evaluating a custom regular expression",
15
+ summary: "UI__NODE_EDITOR__NLU__REGEX_SLOT_FILLER__SUMMARY",
16
16
  appearance: {
17
17
  showIcon: false
18
18
  },
@@ -20,20 +20,20 @@ exports.REGEX_SLOT_FILLER = (0, createNodeDescriptor_1.createNodeDescriptor)({
20
20
  {
21
21
  key: "regex",
22
22
  type: "cognigyText",
23
- label: "Regular Expression",
24
- description: "The Regular Expression, without leading and trailing slash",
23
+ label: "UI__NODE_EDITOR__NLU__REGEX_SLOT_FILLER__FIELDS__REGEX__LABEL",
24
+ description: "UI__NODE_EDITOR__NLU__REGEX_SLOT_FILLER__FIELDS__REGEX__DESCRIPTION",
25
25
  defaultValue: ".*"
26
26
  },
27
27
  {
28
28
  key: "flags",
29
29
  type: "cognigyText",
30
- label: "Flags",
30
+ label: "UI__NODE_EDITOR__NLU__REGEX_SLOT_FILLER__FIELDS__FLAGS__LABEL",
31
31
  defaultValue: "gi"
32
32
  },
33
33
  {
34
34
  key: "slot",
35
35
  type: "cognigyText",
36
- label: "Slot Name"
36
+ label: "UI__NODE_EDITOR__NLU__REGEX_SLOT_FILLER__FIELDS__SLOT__LABEL"
37
37
  },
38
38
  ],
39
39
  tags: ["nlu", "regular", "expression", "slot"],
@@ -6,7 +6,7 @@ const createNodeDescriptor_1 = require("../createNodeDescriptor");
6
6
  exports.PLACEHOLDER = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
7
  type: "placeholder",
8
8
  defaultLabel: "Placeholder",
9
- summary: "This node is used as a Placeholder.",
9
+ summary: "UI__NODE_EDITOR__PLACEHOLDER__SUMMARY",
10
10
  behavior: {
11
11
  stopping: false,
12
12
  },
@@ -17,12 +17,12 @@ exports.PLACEHOLDER = (0, createNodeDescriptor_1.createNodeDescriptor)({
17
17
  fields: [
18
18
  {
19
19
  key: "text",
20
- label: "text placeholder",
20
+ label: "UI__NODE_EDITOR__PLACEHOLDER__FIELDS__TEXT__LABEL",
21
21
  type: "text",
22
22
  },
23
23
  {
24
24
  key: "data",
25
- label: "data placeholder",
25
+ label: "UI__NODE_EDITOR__PLACEHOLDER__FIELDS__DATA__LABEL",
26
26
  type: "json",
27
27
  },
28
28
  ],