@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,780 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GPT_CONVERSATION = void 0;
4
+ /* Custom modules */
5
+ const createNodeDescriptor_1 = require("../../createNodeDescriptor");
6
+ const JSON5 = require("json5");
7
+ // @ts-ignore - ignore missing module to prevent installing this in multiple services
8
+ const jsonFix = require("json-fixer");
9
+ exports.GPT_CONVERSATION = (0, createNodeDescriptor_1.createNodeDescriptor)({
10
+ type: "gptConversation",
11
+ defaultLabel: "GPT Conversation",
12
+ summary: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__SUMMARY__DEFAULT",
13
+ appearance: {
14
+ color: "#7F199B",
15
+ },
16
+ fields: [
17
+ {
18
+ key: "customDesc",
19
+ type: "description",
20
+ label: " ",
21
+ params: {
22
+ text: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__CUSTOM_DESC__TEXT"
23
+ }
24
+ },
25
+ {
26
+ key: "handleOutputs",
27
+ type: "select",
28
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__HANDLE_OUTPUT__LABEL",
29
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__HANDLE_OUTPUT__DESCRIPTION",
30
+ defaultValue: "output",
31
+ params: {
32
+ options: [
33
+ {
34
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__HANDLE_OUTPUT__OPTIONS__OUPTUT__LABEL",
35
+ value: "output"
36
+ },
37
+ {
38
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__HANDLE_OUTPUT__OPTIONS__STORE__LABEL",
39
+ value: "store"
40
+ }
41
+ ]
42
+ }
43
+ },
44
+ {
45
+ key: "mode",
46
+ type: "select",
47
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__MODE__LABEL__DEFAULT",
48
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__MODE__DESCRIPTION__DEFAULT",
49
+ defaultValue: "qna",
50
+ params: {
51
+ options: [
52
+ {
53
+ label: "QnA",
54
+ value: "qna"
55
+ },
56
+ {
57
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__MODE__PARAMS__TRANSACTIONAL__LABEL",
58
+ value: "transaction"
59
+ }
60
+ ]
61
+ }
62
+ },
63
+ {
64
+ key: "companyName",
65
+ type: "cognigyText",
66
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__COMPANY_NAME__LABEL",
67
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__COMPANY_NAME__DESCRIPTION",
68
+ defaultValue: "Cognigy Clinic"
69
+ },
70
+ {
71
+ key: "companyDescription",
72
+ type: "cognigyText",
73
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__COMPANY_DESCRIPTION__LABEL",
74
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__COMPANY_DESCRIPTION__DESCRIPTION",
75
+ defaultValue: "Cognigy Clinic is a fictitious healthcare provider from Düsseldorf, Germany."
76
+ },
77
+ {
78
+ key: "botName",
79
+ type: "cognigyText",
80
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__BOT_NAME__LABEL",
81
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__BOT_NAME__DESCRIPTION",
82
+ defaultValue: "Mr. Bot"
83
+ },
84
+ {
85
+ key: "character",
86
+ type: "textArray",
87
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__CHARACTER__LABEL",
88
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__CHARACTER__DESCRIPTION",
89
+ defaultValue: ["professional", "patient"]
90
+ },
91
+ {
92
+ key: "strictness",
93
+ type: "select",
94
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STRICTNESS__LABEL",
95
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STRICTNESS__DESCRIPTION",
96
+ defaultValue: "flexible",
97
+ params: {
98
+ options: [
99
+ {
100
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STRICTNESS__OPTIONS__STRICT__LABEL",
101
+ value: "strict"
102
+ },
103
+ {
104
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STRICTNESS__OPTIONS__MODERATE__LABEL",
105
+ value: "moderate"
106
+ },
107
+ {
108
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STRICTNESS__OPTIONS__FLEXIBLE__LABEL",
109
+ value: "flexible"
110
+ },
111
+ {
112
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STRICTNESS__OPTIONS__FREESTYLE__LABEL",
113
+ value: "freestyle"
114
+ }
115
+ ]
116
+ }
117
+ },
118
+ {
119
+ key: "task",
120
+ type: "cognigyText",
121
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TASK__LABEL",
122
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TASK__DESCRIPTION",
123
+ defaultValue: "booking of appointment"
124
+ },
125
+ {
126
+ key: "steps",
127
+ type: "cognigyText",
128
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STEPS__LABEL",
129
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STEPS__DESCRIPTION",
130
+ defaultValue: "1. Check if the customer is an existing patient\n 2. Collect the mandatory information first name, last name, mobile number. Don't leave out information. \n 3. Check when the patient would like to come. Only appointments in the future between 8am and 5pm on weekdays are valid. \n 4. Call action 'checkAppointment' to check if the appointment is available. \n 5. Confirm with the customer.",
131
+ params: {
132
+ multiline: true,
133
+ rows: 5
134
+ }
135
+ },
136
+ {
137
+ key: "stepLabels",
138
+ type: "textArray",
139
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STEPS_LABELS__LABEL",
140
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STEPS_LABELS__DESCRIPTION",
141
+ defaultValue: ["Existing Patient Check", "Informationen sammeln", "Collect Appointment Time", "Check Appointment API", "Confirmation"]
142
+ },
143
+ {
144
+ key: "availableActions",
145
+ type: "textArray",
146
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__AVAILABLE_ACTIONS__LABEL",
147
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__AVAILABLE_ACTIONS__DESCRIPTION",
148
+ defaultValue: ["checkAppointment"]
149
+ },
150
+ {
151
+ key: "slotsToCollect",
152
+ type: "textArray",
153
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__SLOTS_TO_COLLECT__LABEL",
154
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__SLOTS_TO_COLLECT__DESCRIPTION",
155
+ defaultValue: ["existingPatient", "firstName", "lastName", "mobile", "timeSlot"]
156
+ },
157
+ {
158
+ key: "furtherExamples",
159
+ type: "cognigyText",
160
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__FURTHER_EXAMPLES__LABEL",
161
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__FURTHER_EXAMPLES__DESCRIPTION",
162
+ defaultValue: "Never talk about money or prices.",
163
+ params: {
164
+ multiline: true,
165
+ rows: 2
166
+ }
167
+ },
168
+ {
169
+ key: "injectedSlots",
170
+ type: "cognigyText",
171
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__INJECT_SLOTS__LABEL",
172
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__INJECT_SLOTS__DESCRIPTION",
173
+ defaultValue: `{{input.slots.DATE[0].start.plain ? "Date: " + input.slots.DATE[0].start.plain : "" }}`
174
+ },
175
+ {
176
+ key: "groundingMode",
177
+ type: "select",
178
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__GROUNDING_MODE__LABEL",
179
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__GROUNDING_MODE__DESCRIPTION",
180
+ defaultValue: "custom",
181
+ params: {
182
+ options: [
183
+ {
184
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__GROUNDING_MODE__OPTIONS__SEARCH__LABEL",
185
+ value: "search"
186
+ },
187
+ {
188
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__GROUNDING_MODE__OPTIONS__CUSTOM__LABEL",
189
+ value: "custom"
190
+ },
191
+ {
192
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__GROUNDING_MODE__OPTIONS__NONE__LABEL",
193
+ value: "none"
194
+ },
195
+ ]
196
+ }
197
+ },
198
+ {
199
+ key: "knowledgeStoreId",
200
+ type: "knowledgeStoreSelect",
201
+ label: "UI__NODE_EDITOR__KNOWLEDGE_SEARCH__KNOWLEDGE_STORE_ID__LABEL",
202
+ description: "UI__NODE_EDITOR__KNOWLEDGE_SEARCH__KNOWLEDGE_STORE_ID__DESCRIPTION",
203
+ params: {
204
+ required: true
205
+ },
206
+ condition: {
207
+ key: "groundingMode",
208
+ value: "search"
209
+ }
210
+ },
211
+ {
212
+ key: "knowledge",
213
+ type: "cognigyText",
214
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__KNOWLEDGE__LABEL",
215
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__KNOWLEDGE__DESCRIPTION",
216
+ defaultValue: "Cognigy Clinic is a health care provider in Düsseldorf, Germany.\n We have 5 doctors and 12 nurses.\n We specialize in the following areas:\n - General Medicine\n - Pediatrics\n - Immunoallergology`\n ",
217
+ params: {
218
+ multiline: true,
219
+ rows: 5
220
+ },
221
+ condition: {
222
+ key: "groundingMode",
223
+ value: "custom"
224
+ }
225
+ },
226
+ {
227
+ key: "temperature",
228
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TEMPERATURE__LABEL",
229
+ type: "slider",
230
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TEMPERATURE__DESCRIPTION",
231
+ defaultValue: 0.7,
232
+ params: {
233
+ min: 0,
234
+ max: 1,
235
+ step: 0.1
236
+ }
237
+ },
238
+ {
239
+ key: "max_tokens",
240
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__MAX_TOKENS__LABEL",
241
+ type: "number",
242
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__MAX_TOKENS__DESCRIPTION",
243
+ defaultValue: 2000
244
+ },
245
+ {
246
+ key: "top_p",
247
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TOP_P__LABEL",
248
+ type: "number",
249
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TOP_P__DESCRIPTION",
250
+ defaultValue: 1
251
+ },
252
+ {
253
+ key: "frequency_penalty",
254
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__FREQUENCY_PENALTY__LABEL",
255
+ type: "number",
256
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__FREQUENCY_PENALTY__DESCRIPTION",
257
+ defaultValue: 0
258
+ },
259
+ {
260
+ key: "presence_penalty",
261
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__PRESENCE_PENALTY__LABEL",
262
+ type: "number",
263
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__PRESENCE_PENALTY__DESCRIPTION",
264
+ defaultValue: 0
265
+ },
266
+ {
267
+ key: "useStop",
268
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__USE_STOP__LABEL",
269
+ type: "toggle",
270
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__USE_STOP__DESCRIPTION",
271
+ defaultValue: false
272
+ },
273
+ {
274
+ key: "stop",
275
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STOP__LABEL",
276
+ type: "textArray",
277
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__STOP__DESCRIPTION",
278
+ condition: {
279
+ key: "useStop",
280
+ value: true
281
+ }
282
+ },
283
+ {
284
+ key: "debug",
285
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__DEBUG__LABEL",
286
+ type: "toggle",
287
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__DEBUG__DESCRIPTION",
288
+ defaultValue: false
289
+ },
290
+ {
291
+ key: "timeout",
292
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TIMEOUT__LABEL",
293
+ type: "number",
294
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TIMEOUT__DESCRIPTION",
295
+ defaultValue: 3000
296
+ },
297
+ {
298
+ key: "timeoutMessage",
299
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TIMEOUT_MESSAGE__LABEL",
300
+ type: "cognigyText",
301
+ description: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__FIELDS__TIMEOUT_MESSAGE__DESCRIPTION",
302
+ defaultValue: "I'm very sorry, but the GPT provider seems to be very slow today. Please call again later if possible."
303
+ },
304
+ ],
305
+ sections: [
306
+ {
307
+ key: "persona",
308
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__SECTIONS__PERSONA__LABEL",
309
+ defaultCollapsed: true,
310
+ fields: [
311
+ "companyName",
312
+ "companyDescription",
313
+ "botName",
314
+ "botDescription",
315
+ "character",
316
+ "strictness"
317
+ ]
318
+ },
319
+ {
320
+ key: "advanced",
321
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__SECTIONS__ADVANCED__LABEL",
322
+ defaultCollapsed: true,
323
+ fields: [
324
+ "engine",
325
+ "temperature",
326
+ "max_tokens",
327
+ "top_p",
328
+ "presence_penalty",
329
+ "frequency_penalty",
330
+ "useStop",
331
+ "stop",
332
+ "handleOutputs"
333
+ ]
334
+ },
335
+ {
336
+ key: "taskSettings",
337
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__SECTIONS__TASK_SETTINGS__LABEL",
338
+ defaultCollapsed: true,
339
+ fields: [
340
+ "task",
341
+ "steps",
342
+ "stepLabels",
343
+ "slotsToCollect",
344
+ "availableActions",
345
+ "furtherExamples"
346
+ ],
347
+ condition: {
348
+ key: "mode",
349
+ value: "transaction"
350
+ }
351
+ },
352
+ {
353
+ key: "grounding",
354
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__SECTIONS__GROUNDING__LABEL",
355
+ defaultCollapsed: true,
356
+ fields: [
357
+ "groundingMode",
358
+ "knowledgeStoreId",
359
+ "knowledge",
360
+ "injectedSlots"
361
+ ]
362
+ },
363
+ {
364
+ key: "timeouts",
365
+ label: "UI__NODE_EDITOR__SERVICE__GPT_CONVERSATION__SECTIONS__TIMEOUTS__LABEL",
366
+ defaultCollapsed: true,
367
+ fields: [
368
+ "timeout",
369
+ "timeoutMessage"
370
+ ]
371
+ },
372
+ ],
373
+ form: [
374
+ { type: "field", key: "customDesc" },
375
+ { type: "field", key: "mode" },
376
+ { type: "section", key: "persona" },
377
+ { type: "section", key: "taskSettings" },
378
+ { type: "section", key: "grounding" },
379
+ { type: "section", key: "advanced" },
380
+ { type: "section", key: "timeouts" }
381
+ ],
382
+ tags: ["service"],
383
+ function: async ({ cognigy, config }) => {
384
+ const { api, context, input } = cognigy;
385
+ const { debug, timeoutMessage } = config;
386
+ if (!context.parameters) {
387
+ context.parameters = {};
388
+ }
389
+ let prompt;
390
+ try {
391
+ prompt = await buildPrompt(context, input, api, config);
392
+ if (debug && input.channel === "adminconsole")
393
+ api.output(prompt, null);
394
+ }
395
+ catch (error) {
396
+ if (debug && input.channel === "adminconsole")
397
+ api.output("Error in building prompt: " + error.message, null);
398
+ else
399
+ api.log("error", "Error in building prompt: " + error.message);
400
+ }
401
+ if (prompt) {
402
+ let response;
403
+ const data = { prompt };
404
+ try {
405
+ response = await api.runGenerativeAIPrompt(data, "gptConversation");
406
+ }
407
+ catch (error) {
408
+ if (debug && input.channel === "adminconsole")
409
+ api.output("Error in executing prompt: " + error.message, null);
410
+ else
411
+ api.log("error", "Error in executing prompt: " + error.message);
412
+ if (error.code && error.code === 'ECONNABORTED' && error.isAxiosError) {
413
+ api.output(timeoutMessage, null);
414
+ }
415
+ }
416
+ if (!response) {
417
+ api.log("debug", "Re-trying OpenAI Request, as no result received");
418
+ try {
419
+ response = await api.runGenerativeAIPrompt(data, "gptConversation");
420
+ }
421
+ catch (error) {
422
+ if (debug && input.channel === "adminconsole")
423
+ api.output("Error in executing prompt: " + error.message, null);
424
+ else
425
+ api.log("error", "Error in executing prompt: " + error.message);
426
+ if (error.code && error.code === 'ECONNABORTED' && error.isAxiosError) {
427
+ api.output(timeoutMessage, null);
428
+ }
429
+ }
430
+ }
431
+ if (response) {
432
+ let commands;
433
+ try {
434
+ commands = await parseResponse(api, input, debug, response);
435
+ if (!commands || commands.length === 0) {
436
+ response = await api.runGenerativeAIPrompt(data, "gptConversation");
437
+ commands = await parseResponse(api, input, debug, response);
438
+ }
439
+ if (debug && input.channel === "adminconsole")
440
+ api.output(JSON.stringify(commands, null, 4), null);
441
+ }
442
+ catch (error) {
443
+ if (debug && input.channel === "adminconsole")
444
+ api.output("Error in parsing response: " + error.message, null);
445
+ else
446
+ api.log("error", "Error in parsing response: " + error.message);
447
+ }
448
+ try {
449
+ await handleCommands(context, input, api, debug, commands, config);
450
+ }
451
+ catch (error) {
452
+ if (debug && input.channel === "adminconsole")
453
+ api.output("Error in handling commands: " + error.message, null);
454
+ else
455
+ api.log("error", "Error in handling commands: " + error.message);
456
+ }
457
+ }
458
+ }
459
+ }
460
+ });
461
+ async function buildPrompt(context, input, api, config) {
462
+ const { botName, character, companyName, companyDescription, strictness, furtherExamples, task, steps, injectedSlots, mode, availableActions, slotsToCollect } = config;
463
+ // clean the text to prevent injections
464
+ const userText = input.text.replace(/bot:/gi, "").trim();
465
+ let prompt;
466
+ if (mode === "transaction") {
467
+ // add known information to the prompt from the context
468
+ let knownInformation = "\nInformation provided by the user:";
469
+ if (context.parameters) {
470
+ Object.keys(context.parameters).forEach((key) => {
471
+ if (key !== "lastOutput") {
472
+ knownInformation += `-${key}: ${context.parameters[key]}\n`;
473
+ }
474
+ });
475
+ }
476
+ // add available actions to the prompt
477
+ let actionInformation;
478
+ if (availableActions && Array.isArray(availableActions) && availableActions.length > 0) {
479
+ actionInformation = `\nYou can trigger actions by sending a command like {"action":"nameOfAction"}. If a step tells you to trigger an action, always do.\nThe following actions are available:`;
480
+ availableActions.forEach((action) => {
481
+ actionInformation += `\n-${action}`;
482
+ });
483
+ actionInformation += "\nDo not trigger any other actions than the ones above.";
484
+ }
485
+ // add slots to collec to the prompt
486
+ let slotInformation;
487
+ if (slotsToCollect && Array.isArray(slotsToCollect) && slotsToCollect.length > 0) {
488
+ slotInformation = "\nThe following slots need to be collected:";
489
+ slotsToCollect.forEach((slot) => {
490
+ slotInformation += `\n-${slot}`;
491
+ });
492
+ slotInformation += `\nWhen you hear a slot, make sure to output it in the following format: Bot: [{"slot": "salutation", value: "Mr"}`;
493
+ }
494
+ // choose how strict the bot will stick to the task
495
+ let strictnessLevel;
496
+ switch (strictness) {
497
+ case "freestyle":
498
+ strictnessLevel = "When asked random questions about trivia or small talk, answer the question as good as you can in one sentence.";
499
+ break;
500
+ case "flexible":
501
+ strictnessLevel = "When asked random questions about trivia or small talk, answer the question. Then in a next sentence guide the user back to the task.";
502
+ break;
503
+ case "moderate":
504
+ strictnessLevel = "When hit with small talk, answer something nice back. Don't answer questions unrelated to the task. Pretend you don't know anything else about the world.";
505
+ break;
506
+ default:
507
+ strictnessLevel = "Do no deviate from the task steps and don't answer unrelated questions. Only answer question about the provided knowledge or information provided by the user. Pretend you don't know anything else about the world.";
508
+ break;
509
+ }
510
+ const injectedKnowledge = await buildGroundingKnowledge(input, api, config);
511
+ prompt = `You are a chatbot in customer service for ${companyName} (${companyDescription}). ${botName ? "Your name is " + botName : ""}
512
+
513
+ You can generate example outputs in the following format:
514
+ Bot: [{"message": "Welcome. I am here to help you make an appointment. Are you an existing patient?"}]
515
+ Bot: [{"slot": "salutation", value: "Mr"},{"slot": "lastName", value: "Heltewig"},{"slot": "mobile", value: "01751234567"},{"message": "Perfect. When would you like to come."},{"step":4}]
516
+ Bot: [{"slot": "timeStamp", value: "2022-12-28T16:00"},{"message": "Thank you. Let me confirm that."},{"action": "nameOfAction"}]
517
+ Bot: [{"message": "Let me check this"},{"action":"checkAPI"}]
518
+
519
+ ${furtherExamples}
520
+ If a customer wishes to abort or cancel the process, output [{"action": "cancel" }]
521
+
522
+ Your current task "${task}" has the following steps:
523
+ ${steps}
524
+
525
+ When finishing a step, send the number of the new step as {"step":3}
526
+ ${actionInformation}
527
+ ${slotInformation}
528
+ ${injectedKnowledge}
529
+ ${knownInformation}
530
+
531
+ Respond in a ${character} way.
532
+ Respond to all messages in JSON as per the above.
533
+ Only generate one Bot output and stop.
534
+ Do not generate API inputs. Do not generate User inputs.
535
+ Do not give answers that could be incorrect or misleading.
536
+ Do not give answers which portray ${companyName} negatively and harm its reputation.
537
+ ${strictnessLevel}
538
+
539
+ Currently it is ${input.currentTime.dayOfWeek}, ${input.currentTime.plain}
540
+
541
+ ${context.lastOutput ? 'Bot: {"message": "' + context.lastOutput + '"},' : ""}
542
+ ${userText.startsWith("API") ? 'API' : 'User'}: ${userText.replace("API:", "")} ${injectedSlots}
543
+ Bot: [{`;
544
+ }
545
+ else {
546
+ // choose how strict the bot will stick to the task
547
+ let strictnessLevel;
548
+ switch (strictness) {
549
+ case "freestyle":
550
+ strictnessLevel = "When asked random questions about trivia or small talk, answer the question as good as you can in one sentence.";
551
+ break;
552
+ case "flexible":
553
+ strictnessLevel = "When asked random questions about trivia or small talk, answer the question.";
554
+ break;
555
+ case "moderate":
556
+ strictnessLevel = "When hit with small talk, answer something nice back. Don't answer questions unrelated to the company. Pretend you don't know anything else about the world.";
557
+ break;
558
+ default:
559
+ strictnessLevel = "Only answer questions if you have been provided with the answer from the knowledge base. Pretend you don't know anything else about the world.";
560
+ break;
561
+ }
562
+ const injectedKnowledge = await buildGroundingKnowledge(input, api, config);
563
+ prompt = `You are a chatbot in customer service for ${companyName} (${companyDescription}). ${botName ? "Your name is " + botName : ""}
564
+
565
+ Your task is to answer the users questions in a truthful and helpful way. Only base your answer on information provided above and not on the bot's previous answers.
566
+
567
+ ${injectedKnowledge}
568
+
569
+ Use the following JSON format to respond:
570
+ Bot: [{"message": "Your answer here"}]
571
+
572
+ Respond in a ${character} way.
573
+ Only generate one Bot output and stop.
574
+ STOP after generating one line of output!
575
+ Do not give answers that could be incorrect or misleading.
576
+ Do not give answers which portray ${companyName} negatively and harm its reputation.
577
+ ${strictnessLevel}
578
+
579
+ Currently it is ${input.currentTime.dayOfWeek}, ${input.currentTime.plain}
580
+ ${context.lastOutput ? 'Bot: [{"message": "' + context.lastOutput + '"}]' : ""}
581
+ User: ${userText}
582
+ Bot: [{`;
583
+ }
584
+ return prompt;
585
+ }
586
+ /**
587
+ * Parses the response from the respective API and cleans it
588
+ * @param api
589
+ * @param input
590
+ * @param debug
591
+ * @param response
592
+ * @returns
593
+ */
594
+ async function parseResponse(api, input, debug, response) {
595
+ let apiResponse = "[{" + response;
596
+ try {
597
+ // try to just parse the results and see if they work out
598
+ const commands = JSON5.parse(apiResponse);
599
+ return commands;
600
+ }
601
+ catch (err) {
602
+ api.log("debug", "OpenAI Parse Error Level 1 - " + err.message);
603
+ try {
604
+ // fix using jsonFix and again parse the results to see if they work out
605
+ const { data, changed } = jsonFix(apiResponse);
606
+ if (changed) {
607
+ apiResponse = data;
608
+ }
609
+ const commands = JSON5.parse(apiResponse);
610
+ return commands;
611
+ }
612
+ catch (err) {
613
+ api.log("debug", "OpenAI Parse Error Level 2 - " + err.message);
614
+ // manually make some adjustments and break the commands into individual commands to parse
615
+ if (apiResponse.endsWith(",]")) {
616
+ apiResponse = apiResponse.substr(0, apiResponse.length - 2) + "]";
617
+ }
618
+ apiResponse = apiResponse.replace(/\}.?,.?\{/g, "}##BREAK##{");
619
+ const individualCommands = apiResponse.substr(1, apiResponse.length - 1).split("##BREAK##");
620
+ individualCommands[individualCommands.length - 1] = individualCommands[individualCommands.length - 1].substring(0, individualCommands[individualCommands.length - 1].length - 1);
621
+ const newCommands = [];
622
+ individualCommands.forEach((command) => {
623
+ try {
624
+ // again try to just fix the command and parse
625
+ const { data, changed } = jsonFix(command);
626
+ if (changed) {
627
+ command = data;
628
+ }
629
+ command = JSON5.parse(command);
630
+ newCommands.push(command);
631
+ }
632
+ catch (err) {
633
+ try {
634
+ // fix using module and manual fixes, try again
635
+ command = command.replace(/(":\s*)'(.*?)'/g, '$1"$2"');
636
+ command = command.replace(/“/g, '"');
637
+ command = command.replace(/”/g, '"');
638
+ command = command.replace(/\\n/g, "").trim();
639
+ if (command.substring(1, 10).indexOf("action") > -1) {
640
+ command = command.replace(/\{action:/g, "{\"action\":");
641
+ command = command.replace(/\{action\":/g, "{\"action\":");
642
+ command = command.replace(/\{'action':\s'(.*)'}/g, '{"action": "$1"}');
643
+ }
644
+ if (command.substring(1, 10).indexOf("message") > -1) {
645
+ command = command.replace(/\{message:/g, "{\"message\":");
646
+ command = command.replace(/\{message\":/g, "{\"message\":");
647
+ command = command.replace(/\{'message':\s'(.*)'}/g, '{"message": "$1"}');
648
+ command = command.replace(/\{"message":\s'(.*)'}/g, '{"message": "$1"}');
649
+ }
650
+ if (command.substring(1, 10).indexOf("slot") > -1) {
651
+ command = command.replace(/\{slot:/g, '{"slot":');
652
+ command = command.replace(/\{slot\":/g, '{"slot":');
653
+ command = command.replace(/\svalue:/g, 'value:');
654
+ command = command.replace(/\svalue\":/g, 'value:');
655
+ command = command.replace(/\{'slot':.+'(.*).+,'/g, '{"slot": "$1", ');
656
+ command = command.replace(/'value':.+'(.*)'}/g, 'value: "$2"}');
657
+ }
658
+ const { data, changed } = jsonFix(command);
659
+ if (changed) {
660
+ command = data;
661
+ }
662
+ command = JSON5.parse(command);
663
+ newCommands.push(command);
664
+ }
665
+ catch (err) {
666
+ // if all fails, output an error
667
+ if (debug && input.channel === "adminconsole")
668
+ api.output("Error in parsing command " + command + " : " + err.message, null);
669
+ else
670
+ api.log("debug", "Error in parsing command " + command + " : " + err.message);
671
+ }
672
+ }
673
+ });
674
+ return newCommands;
675
+ }
676
+ }
677
+ }
678
+ /**
679
+ * Handle commands sent to us from GPT (messages, slots, actions)
680
+ * @param context Cognigy Context object
681
+ * @param input Cognigy Input object
682
+ * @param api Cognigy API object
683
+ * @param debug Debug mode toggle
684
+ * @param commands The commands to handle
685
+ * @param config Node Config
686
+ */
687
+ async function handleCommands(context, input, api, debug, commands, config) {
688
+ let outputs = false;
689
+ const { stepLabels, handleOutputs } = config;
690
+ context.action = null;
691
+ const outputBuffer = [];
692
+ for (let command of commands) {
693
+ try {
694
+ if (command.message) {
695
+ context.lastOutput = command.message;
696
+ if (handleOutputs === "output") {
697
+ api.output(command.message, null);
698
+ }
699
+ else {
700
+ outputBuffer.push(command.message);
701
+ }
702
+ outputs = true;
703
+ }
704
+ if (command.action) {
705
+ context.action = command.action;
706
+ outputs = true;
707
+ }
708
+ if (command.slot) {
709
+ // use cumbersome way to update context, as updating object keys will not trigger proxy
710
+ const newParameters = JSON.parse(JSON.stringify(context.parameters));
711
+ newParameters[command.slot] = command.value;
712
+ context.parameters = newParameters;
713
+ }
714
+ if (command.step) {
715
+ context.step = command.step;
716
+ context.stepLabel = stepLabels[command.step - 1];
717
+ }
718
+ }
719
+ catch (err) {
720
+ if (debug && input.channel === "adminconsole")
721
+ api.output("Couldn't parse command " + command, null);
722
+ else
723
+ api.log("error", "Couldn't parse command " + command);
724
+ }
725
+ }
726
+ if (!outputs) {
727
+ api.output("Sorry, I was absentminded for a second, could you say that again please?", null);
728
+ api.log("error", JSON.stringify(commands));
729
+ }
730
+ if (outputBuffer && outputBuffer.length > 0) {
731
+ input.promptResult = outputBuffer;
732
+ }
733
+ }
734
+ /**
735
+ * Build the knowledge to be injected into the GPT-3 request
736
+ * @param input The Cognigy input object
737
+ * @param api The Cognigy API object
738
+ * @param config The node config
739
+ * @returns
740
+ */
741
+ async function buildGroundingKnowledge(input, api, config) {
742
+ var _a, _b, _c;
743
+ const { groundingMode, knowledge } = config;
744
+ let injectedKnowledge = "";
745
+ switch (groundingMode) {
746
+ case "none":
747
+ injectedKnowledge = `You have not been given any contextual document from your internal knowledge base to answer the user's question. Don't make up an answer.`;
748
+ break;
749
+ case "search":
750
+ const knowledgeStoreId = (_a = config === null || config === void 0 ? void 0 : config.knowledgeStoreId) === null || _a === void 0 ? void 0 : _a.trim();
751
+ const { language, traceId, text } = input;
752
+ const data = {
753
+ language: language,
754
+ query: text,
755
+ topK: 3,
756
+ traceId: traceId,
757
+ disableSensitiveLogging: false
758
+ };
759
+ // Add knowledgeStoreIds to data
760
+ if (knowledgeStoreId) {
761
+ data.knowledgeStoreIds = [knowledgeStoreId];
762
+ }
763
+ // Perform knowledge search
764
+ const response = await api.knowledgeSearch(data);
765
+ let documents = (_c = (_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.topK) === null || _c === void 0 ? void 0 : _c.map(result => result === null || result === void 0 ? void 0 : result.text).join(' ');
766
+ if (documents) {
767
+ injectedKnowledge = `You have the following contextual document from your internal knowledge base: "${documents}" `;
768
+ }
769
+ else {
770
+ api.log("debug", "Tried to perform knowledge search, but no documents were found");
771
+ injectedKnowledge = `You have not been given any contextual document from your internal knowledge base to answer the user's question. Don't make up an answer.`;
772
+ }
773
+ break;
774
+ case "custom":
775
+ default:
776
+ injectedKnowledge = `You have the following contextual document from your internal knowledge base: "${knowledge}" `;
777
+ }
778
+ return injectedKnowledge;
779
+ }
780
+ //# sourceMappingURL=GPTConversation.js.map