@cognigy/rest-api-client 0.14.0 → 0.15.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 (274) hide show
  1. package/build/RestAPIClient.js +4 -0
  2. package/build/apigroups/AdministrationAPIGroup_2_1.js +13 -0
  3. package/build/apigroups/ResourcesAPIGroup_2_0.js +69 -9
  4. package/build/apigroups/index.js +3 -1
  5. package/build/connector/AxiosAdapter.js +1 -1
  6. package/build/shared/api/eightByEight/eightByEightInterfaces.js +3 -0
  7. package/build/shared/charts/descriptors/agentAssist/index.js +10 -0
  8. package/build/shared/charts/descriptors/agentAssist/setAdaptiveCardTile.js +74 -0
  9. package/build/shared/charts/descriptors/agentAssist/setHtmlTile.js +98 -0
  10. package/build/shared/charts/descriptors/agentAssist/setIframeTile.js +86 -0
  11. package/build/shared/charts/descriptors/analytics/activateProfile.js +1 -1
  12. package/build/shared/charts/descriptors/analytics/blindMode.js +5 -5
  13. package/build/shared/charts/descriptors/analytics/completeGoal.js +2 -2
  14. package/build/shared/charts/descriptors/analytics/deactivateProfile.js +2 -2
  15. package/build/shared/charts/descriptors/analytics/deleteProfile.js +1 -1
  16. package/build/shared/charts/descriptors/analytics/mergeProfile.js +2 -2
  17. package/build/shared/charts/descriptors/analytics/overwriteAnalytics.js +34 -27
  18. package/build/shared/charts/descriptors/analytics/requestRating.js +5 -5
  19. package/build/shared/charts/descriptors/analytics/setRating.js +4 -4
  20. package/build/shared/charts/descriptors/analytics/updateProfile.js +3 -3
  21. package/build/shared/charts/descriptors/apps/getAppSessionPin.js +7 -14
  22. package/build/shared/charts/descriptors/apps/initAppSession.js +99 -87
  23. package/build/shared/charts/descriptors/apps/setAdaptiveCardAppState.js +101 -19
  24. package/build/shared/charts/descriptors/apps/setAppState.js +7 -7
  25. package/build/shared/charts/descriptors/apps/setHtmlAppState.js +141 -99
  26. package/build/shared/charts/descriptors/apps/utils/buildAppUrl.js +2 -6
  27. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/anthropicProviderConnection.js +11 -0
  28. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/azureOpenAIProviderConnection.js +4 -1
  29. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/azureOpenAIProviderConnectionV2.js +11 -0
  30. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/googleVertexAIProviderConnection.js +16 -0
  31. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/index.js +14 -2
  32. package/build/shared/charts/descriptors/connectionNodes/generativeAIProviders/openAIProviderConnection.js +1 -1
  33. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/amazonStorageProviderConnection.js +1 -1
  34. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/azureBlobStorageProviderConnection.js +1 -1
  35. package/build/shared/charts/descriptors/connectionNodes/internalStorageProviders/googleCloudStorageProviderConnection.js +1 -1
  36. package/build/shared/charts/descriptors/connectionNodes/mongoDB/aggregate.js +13 -13
  37. package/build/shared/charts/descriptors/connectionNodes/mongoDB/find.js +18 -18
  38. package/build/shared/charts/descriptors/connectionNodes/mongoDB/findOne.js +17 -17
  39. package/build/shared/charts/descriptors/connectionNodes/mongoDB/insert.js +13 -13
  40. package/build/shared/charts/descriptors/connectionNodes/mongoDB/mongoDBConnection.js +1 -1
  41. package/build/shared/charts/descriptors/connectionNodes/mongoDB/remove.js +13 -13
  42. package/build/shared/charts/descriptors/connectionNodes/mongoDB/updateMany.js +15 -15
  43. package/build/shared/charts/descriptors/connectionNodes/mongoDB/updateOne.js +15 -15
  44. package/build/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +28 -28
  45. package/build/shared/charts/descriptors/connectionNodes/smtp/index.js +3 -1
  46. package/build/shared/charts/descriptors/connectionNodes/smtp/oAuth2Connection.js +18 -0
  47. package/build/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +102 -70
  48. package/build/shared/charts/descriptors/connectionNodes/smtp/serviceConnection.js +1 -1
  49. package/build/shared/charts/descriptors/connectionNodes/smtp/smtpConnection.js +1 -1
  50. package/build/shared/charts/descriptors/connectionNodes/speechProviders/awsSpeechProviderConnection.js +14 -0
  51. package/build/shared/charts/descriptors/connectionNodes/speechProviders/googleSpeechProviderConnection.js +16 -0
  52. package/build/shared/charts/descriptors/connectionNodes/speechProviders/index.js +23 -0
  53. package/build/shared/charts/descriptors/connectionNodes/speechProviders/microsoftSpeechProviderConnection.js +12 -0
  54. package/build/shared/charts/descriptors/connectionNodes/sql/runQuery.js +11 -11
  55. package/build/shared/charts/descriptors/connectionNodes/sql/runStoredProcedure.js +13 -13
  56. package/build/shared/charts/descriptors/connectionNodes/sql/runTransaction.js +11 -11
  57. package/build/shared/charts/descriptors/connectionNodes/sql/sqlConnection.js +1 -1
  58. package/build/shared/charts/descriptors/data/addToContext.js +7 -7
  59. package/build/shared/charts/descriptors/data/code.js +3 -3
  60. package/build/shared/charts/descriptors/data/copyDataToContext.js +1 -1
  61. package/build/shared/charts/descriptors/data/copySlotsToContext.js +9 -9
  62. package/build/shared/charts/descriptors/data/log.js +7 -7
  63. package/build/shared/charts/descriptors/data/removeFromContext.js +7 -7
  64. package/build/shared/charts/descriptors/data/resetContext.js +2 -2
  65. package/build/shared/charts/descriptors/index.js +36 -12
  66. package/build/shared/charts/descriptors/knowledgeSearch/index.js +6 -0
  67. package/build/shared/charts/descriptors/knowledgeSearch/knowledgeSearch.js +149 -0
  68. package/build/shared/charts/descriptors/liveAgent/assistInfo.js +25 -25
  69. package/build/shared/charts/descriptors/logic/disableSlotFillers.js +4 -4
  70. package/build/shared/charts/descriptors/logic/enableSlotFillers.js +3 -3
  71. package/build/shared/charts/descriptors/logic/executeFlow.js +9 -9
  72. package/build/shared/charts/descriptors/logic/goTo.js +17 -17
  73. package/build/shared/charts/descriptors/logic/if/if.js +3 -3
  74. package/build/shared/charts/descriptors/logic/interval/interval.js +3 -3
  75. package/build/shared/charts/descriptors/logic/once/once.js +1 -1
  76. package/build/shared/charts/descriptors/logic/resetState.js +1 -1
  77. package/build/shared/charts/descriptors/logic/setState.js +4 -4
  78. package/build/shared/charts/descriptors/logic/setTranslation.js +15 -15
  79. package/build/shared/charts/descriptors/logic/sleep.js +2 -2
  80. package/build/shared/charts/descriptors/logic/stop.js +1 -1
  81. package/build/shared/charts/descriptors/logic/switch/case.js +1 -1
  82. package/build/shared/charts/descriptors/logic/switch/default.js +1 -1
  83. package/build/shared/charts/descriptors/logic/switch/switch.js +28 -19
  84. package/build/shared/charts/descriptors/logic/switchLocale.js +5 -5
  85. package/build/shared/charts/descriptors/logic/think.js +11 -11
  86. package/build/shared/charts/descriptors/logic/thinkV2.js +11 -11
  87. package/build/shared/charts/descriptors/logic/wait.js +1 -1
  88. package/build/shared/charts/descriptors/message/checkChannelChange/checkChannelChange.js +4 -4
  89. package/build/shared/charts/descriptors/message/datePicker.js +1 -1
  90. package/build/shared/charts/descriptors/message/question/optionalQuestion.js +66 -34
  91. package/build/shared/charts/descriptors/message/question/question.js +583 -204
  92. package/build/shared/charts/descriptors/message/question/utils/cleanTextUtils.js +191 -0
  93. package/build/shared/charts/descriptors/message/question/utils/datepickerUtils.js +40 -40
  94. package/build/shared/charts/descriptors/message/question/utils/evaluateQuestionAnswer.js +37 -27
  95. package/build/shared/charts/descriptors/message/say.js +37 -4
  96. package/build/shared/charts/descriptors/message/sendImage.js +1 -1
  97. package/build/shared/charts/descriptors/message/sendText.js +2 -2
  98. package/build/shared/charts/descriptors/microsoft/getToken.js +1 -1
  99. package/build/shared/charts/descriptors/microsoft/invalidateToken.js +1 -1
  100. package/build/shared/charts/descriptors/microsoft/tokenStatus/index.js +1 -1
  101. package/build/shared/charts/descriptors/nlu/addLexiconKeyphrase.js +5 -5
  102. package/build/shared/charts/descriptors/nlu/cleanText.js +103 -0
  103. package/build/shared/charts/descriptors/nlu/executeCognigyNLU.js +15 -15
  104. package/build/shared/charts/descriptors/nlu/extractAnswer.js +11 -11
  105. package/build/shared/charts/descriptors/nlu/fuzzySearch.js +33 -33
  106. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFiller.js +270 -0
  107. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFillerFallback.js +27 -0
  108. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/generativeSlotFillerSuccess.js +27 -0
  109. package/build/shared/charts/descriptors/nlu/generativeSlotFiller/prompt.js +76 -0
  110. package/build/shared/charts/descriptors/nlu/index.js +9 -1
  111. package/build/shared/charts/descriptors/nlu/matchPattern.js +16 -16
  112. package/build/shared/charts/descriptors/nlu/regexSlotFiller.js +5 -5
  113. package/build/shared/charts/descriptors/placeholder.js +3 -3
  114. package/build/shared/charts/descriptors/service/GPTConversation.js +678 -0
  115. package/build/shared/charts/descriptors/service/GPTPrompt.js +258 -0
  116. package/build/shared/charts/descriptors/service/checkAgentAvailability.js +34 -33
  117. package/build/shared/charts/descriptors/service/closeHandover.js +34 -0
  118. package/build/shared/charts/descriptors/service/conversationSummary.js +148 -0
  119. package/build/shared/charts/descriptors/service/handover.js +18 -17
  120. package/build/shared/charts/descriptors/service/handoverInactivityTimer.js +37 -0
  121. package/build/shared/charts/descriptors/service/handoverV2.js +134 -51
  122. package/build/shared/charts/descriptors/service/httpRequest.js +52 -52
  123. package/build/shared/charts/descriptors/service/index.js +11 -3
  124. package/build/shared/charts/descriptors/service/triggerFunction/triggerFunction.js +3 -3
  125. package/build/shared/charts/descriptors/voice/index.js +5 -1
  126. package/build/shared/charts/descriptors/voice/mappers/base.mapper.js +83 -0
  127. package/build/shared/charts/descriptors/voice/mappers/hangup.mapper.js +6 -9
  128. package/build/shared/charts/descriptors/voice/mappers/muteSpeechInput.mapper.js +52 -0
  129. package/build/shared/charts/descriptors/voice/mappers/play.mapper.js +19 -19
  130. package/build/shared/charts/descriptors/voice/mappers/record.mapper.js +96 -0
  131. package/build/shared/charts/descriptors/voice/mappers/sendMetadata.mapper.js +53 -0
  132. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +127 -65
  133. package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +41 -11
  134. package/build/shared/charts/descriptors/voice/nodes/bargeIn.js +14 -20
  135. package/build/shared/charts/descriptors/voice/nodes/continuousAsr.js +7 -7
  136. package/build/shared/charts/descriptors/voice/nodes/dtmf.js +10 -18
  137. package/build/shared/charts/descriptors/voice/nodes/hangup.js +2 -2
  138. package/build/shared/charts/descriptors/voice/nodes/muteSpeechInput.js +52 -0
  139. package/build/shared/charts/descriptors/voice/nodes/noUserInput.js +15 -14
  140. package/build/shared/charts/descriptors/voice/nodes/play.js +12 -8
  141. package/build/shared/charts/descriptors/voice/nodes/sendMetadata.js +51 -0
  142. package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +84 -20
  143. package/build/shared/charts/descriptors/voice/nodes/transfer.js +10 -10
  144. package/build/shared/charts/descriptors/voicegateway/nodes/agentAssist.js +10 -10
  145. package/build/shared/charts/descriptors/voicegateway/nodes/callRecording.js +64 -62
  146. package/build/shared/charts/descriptors/voicegateway/nodes/handover.js +14 -14
  147. package/build/shared/charts/descriptors/voicegateway/nodes/hangup.js +2 -2
  148. package/build/shared/charts/descriptors/voicegateway/nodes/playURL.js +18 -15
  149. package/build/shared/charts/descriptors/voicegateway/nodes/sendMessage.js +41 -41
  150. package/build/shared/charts/descriptors/voicegateway/nodes/sendMetaData.js +15 -19
  151. package/build/shared/charts/descriptors/voicegateway/nodes/setSessionParams.js +3 -3
  152. package/build/shared/charts/descriptors/voicegateway/utils/paramUtils.js +117 -97
  153. package/build/shared/charts/descriptors/voicegateway2/index.js +5 -1
  154. package/build/shared/charts/descriptors/voicegateway2/nodes/dtmf.js +5 -5
  155. package/build/shared/charts/descriptors/voicegateway2/nodes/hangup.js +3 -4
  156. package/build/shared/charts/descriptors/voicegateway2/nodes/muteSpeechInput.js +49 -0
  157. package/build/shared/charts/descriptors/voicegateway2/nodes/play.js +36 -18
  158. package/build/shared/charts/descriptors/voicegateway2/nodes/record.js +108 -0
  159. package/build/shared/charts/descriptors/voicegateway2/nodes/refer.js +9 -10
  160. package/build/shared/charts/descriptors/voicegateway2/nodes/sendMetadata.js +14 -29
  161. package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +276 -74
  162. package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +139 -27
  163. package/build/shared/charts/descriptors/voicegateway2/utils/helper.js +3 -3
  164. package/build/shared/charts/descriptors/voicegateway2/utils/strip-nulls.js +4 -0
  165. package/build/shared/charts/helpers/generativeAI/getRephraseWithAIFields.js +8 -8
  166. package/build/shared/constants.js +14 -1
  167. package/build/shared/errors/ErrorCode.js +1 -0
  168. package/build/shared/errors/TooManyRequestsError.js +59 -0
  169. package/build/shared/errors/baseError.js +6 -2
  170. package/build/shared/errors/codes.js +2 -1
  171. package/build/shared/errors/index.js +3 -1
  172. package/build/shared/helper/BaseContext.js +56 -3
  173. package/build/shared/helper/nlu/dicts/dicts.js +691 -0
  174. package/build/shared/helper/nlu/textCleaner.js +391 -0
  175. package/build/shared/interfaces/IApiKey.js +2 -7
  176. package/build/shared/interfaces/IOrganisation.js +2 -7
  177. package/build/shared/interfaces/IProfileSchema.js +1 -7
  178. package/build/shared/interfaces/agentAssist/ISendTileUpdateParams.js +3 -0
  179. package/build/shared/interfaces/agentAssist/ISendTileUpdateReferenceParams.js +3 -0
  180. package/build/shared/interfaces/agentAssist/index.js +3 -0
  181. package/build/shared/interfaces/ai.js +0 -16
  182. package/build/shared/interfaces/amqpInterface.js +7 -1
  183. package/build/shared/interfaces/generativeAI/IGenerativeAIModels.js +72 -0
  184. package/build/shared/interfaces/generativeAI/IGenerativeAIPrompts.js +3 -0
  185. package/build/shared/interfaces/generativeAI/IRunGenerativeAIPromptOptions.js +3 -0
  186. package/build/shared/interfaces/handover.js +14 -2
  187. package/build/shared/interfaces/knowledgesearch/search.js +3 -0
  188. package/build/shared/interfaces/messageAPI/ai.js +2 -1
  189. package/build/shared/interfaces/messageAPI/endpoints.js +91 -2
  190. package/build/shared/interfaces/messageAPI/handover.js +4 -1
  191. package/build/shared/interfaces/resources/IAgentAssistConfig.js +26 -20
  192. package/build/shared/interfaces/resources/IAuditEvent.js +8 -1
  193. package/build/shared/interfaces/resources/IChart.js +1 -10
  194. package/build/shared/interfaces/resources/IConnection.js +7 -1
  195. package/build/shared/interfaces/resources/IEndpoint.js +2 -14
  196. package/build/shared/interfaces/resources/IFlow.js +15 -10
  197. package/build/shared/interfaces/resources/IFunction.js +1 -7
  198. package/build/shared/interfaces/resources/IGenerateNodeOutput.js +3 -0
  199. package/build/shared/interfaces/resources/ILargeLanguageModel.js +54 -0
  200. package/build/shared/interfaces/resources/ILexicon.js +2 -7
  201. package/build/shared/interfaces/resources/INodeDescriptorSet.js +32 -29
  202. package/build/shared/interfaces/resources/IPackage.js +1 -7
  203. package/build/shared/interfaces/resources/IPlaybookRun.js +2 -1
  204. package/build/shared/interfaces/resources/IProject.js +1 -7
  205. package/build/shared/interfaces/resources/ISnapshot.js +2 -14
  206. package/build/shared/interfaces/resources/TNLUConnectorType.js +2 -1
  207. package/build/shared/interfaces/resources/TResourceType.js +16 -5
  208. package/build/shared/interfaces/resources/chart/IChartExecutable.js +1 -7
  209. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeChunk.js +32 -0
  210. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +31 -0
  211. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeStore.js +26 -0
  212. package/build/shared/interfaces/resources/settings/IAgentSettings.js +4 -47
  213. package/build/shared/interfaces/resources/settings/IAudioPreviewSettings.js +36 -0
  214. package/build/shared/interfaces/resources/settings/IGenerativeAISettings.js +23 -90
  215. package/build/shared/interfaces/resources/settings/IGenerativeAIUseCase.js +3 -0
  216. package/build/shared/interfaces/resources/settings/ISharedSettings.js +2 -2
  217. package/build/shared/interfaces/resources/settings/index.js +4 -5
  218. package/build/shared/interfaces/restAPI/administration/user/v2.1/IApiKeyIndexItem_2_1.js +3 -0
  219. package/build/shared/interfaces/restAPI/administration/user/v2.1/IApiKey_2_1.js +3 -0
  220. package/build/shared/interfaces/restAPI/administration/user/v2.1/ICreateApiKeyRest_2_1.js +3 -0
  221. package/build/shared/interfaces/restAPI/administration/user/v2.1/IIndexApiKeysMeRest_2_1.js +3 -0
  222. package/build/shared/interfaces/restAPI/administration/user/v2.1/index.js +3 -0
  223. package/build/shared/interfaces/restAPI/insights/reports/IGenerateReportRest_2_0.js +0 -2
  224. package/build/shared/interfaces/restAPI/resources/agentAssist/v2.0/IReadAgentAssistSessionDataRest_2_0.js +3 -0
  225. package/build/shared/interfaces/restAPI/resources/chart/v2.0/IGenerateNodeOutputRest_2_0.js +3 -0
  226. package/build/shared/interfaces/restAPI/resources/knowledgeSearchIndex/v2.0/ICreateKnowledgeSearchIndexRest_2_0.js +3 -0
  227. package/build/shared/interfaces/restAPI/resources/knowledgeSearchIndex/v2.0/IDeleteKnowledgeSearchIndexRest_2_0.js +3 -0
  228. package/build/shared/interfaces/restAPI/resources/knowledgeSearchIndex/v2.0/index.js +3 -0
  229. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/ICreateKnowledgeStoreRest_2_0.js +3 -0
  230. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IDeleteKnowledgeStoreRest_2_0.js +3 -0
  231. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IIndexKnowledgeStoresRest_2_0.js +3 -0
  232. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IIngestKnowledgeStoreRest_2_0.js +3 -0
  233. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IKnowledgeStore_2_0.js +3 -0
  234. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IReadKnowledgeStoreRest_2_0.js +3 -0
  235. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/IUpdateKnowledgeStoreRest_2_0.js +3 -0
  236. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/index.js +3 -0
  237. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/ICreateKnowledgeSourceRest_2_0.js +3 -0
  238. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IDeleteKnowledgeSourceRest_2_0.js +3 -0
  239. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IIndexKnowledgeSourcesRest_2_0.js +3 -0
  240. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IKnowledgeSource_2_0.js +3 -0
  241. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IReadKnowledgeSourceRest_2_0.js +3 -0
  242. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IUpdateKnowledgeSourceRest_2_0.js +3 -0
  243. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/IUploadKnowledgeSourceFileRest_2_0.js +4 -0
  244. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/ICreateKnowledgeChunkRest_2_0.js +3 -0
  245. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IDeleteKnowledgeChunkRest_2_0.js +3 -0
  246. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IIndexKnowledgeChunksRest_2_0.js +3 -0
  247. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IKnowledgeChunk_2_0.js +3 -0
  248. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IReadKnowledgeChunkRest_2_0.js +3 -0
  249. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/source/chunk/IUpdateKnowledgeChunkRest_2_0.js +3 -0
  250. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ICloneLargeLanguageModelRest_2_0.js +4 -0
  251. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ICreateLargeLanguageModelRest_2_0.js +3 -0
  252. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IDeleteLargeLanguageModelRest_2_0.js +3 -0
  253. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IIndexLargeLanguageModelsRest_2_0.js +3 -0
  254. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ILargeLanguageModelIndexItem_2_0.js +3 -0
  255. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ILargeLanguageModel_2_0.js +3 -0
  256. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IReadLargeLanguageModelRest_2_0.js +3 -0
  257. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/ITestLargeLanguageModelRest_2_0.js +3 -0
  258. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/IUpdateLargeLanguageModelRest_2_0.js +3 -0
  259. package/build/shared/interfaces/restAPI/resources/largeLanguageModel/v2.0/index.js +3 -0
  260. package/build/shared/interfaces/restAPI/resources/nluconnector/v2.0/TNLUConnectorType_2_0.js +3 -1
  261. package/build/shared/interfaces/restAPI/resources/project/v2.0/settings/ISetupCognigyGenerativeAIRest_2_0.js +4 -0
  262. package/build/shared/interfaces/security/IACL.js +1 -7
  263. package/build/shared/interfaces/security/IIdentityProvider.js +1 -7
  264. package/build/shared/interfaces/security/IPermission.js +6 -2
  265. package/build/shared/interfaces/security/IRole.js +3 -1
  266. package/build/shared/interfaces/security/index.js +1 -2
  267. package/build/shared/interfaces/taskmanager/ITask.js +1 -0
  268. package/build/shared/interfaces/trainer/ITrainerRecord.js +1 -1
  269. package/build/shared/interfaces/user.js +1 -9
  270. package/package.json +1 -1
  271. package/types/index.d.ts +10043 -8554
  272. package/build/shared/charts/descriptors/service/completeText.js +0 -316
  273. package/build/shared/charts/descriptors/voice/utils/constants.js +0 -8
  274. package/build/shared/charts/descriptors/voicegateway2/utils/constants.js +0 -7
@@ -5,7 +5,6 @@ exports.transferNode = void 0;
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
6
  /** Helper Modules */
7
7
  const transfer_mapper_1 = require("../../voice/mappers/transfer.mapper");
8
- const constants_1 = require("../utils/constants");
9
8
  const design_1 = require("../utils/design");
10
9
  const helper_1 = require("../utils/helper");
11
10
  exports.transferNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
@@ -21,55 +20,55 @@ exports.transferNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
21
20
  fields: [
22
21
  {
23
22
  key: "transferType",
24
- label: "Transfer Type",
23
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_TYPE__LABEL",
25
24
  type: "select",
26
25
  params: {
27
26
  options: [
28
27
  {
29
- label: "Refer",
28
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_TYPE__OPTIONS__REFER__LABEL",
30
29
  value: "refer"
31
30
  },
32
31
  {
33
- label: "Dial",
32
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_TYPE__OPTIONS__DIAL__LABEL",
34
33
  value: "dial"
35
34
  }
36
35
  ]
37
36
  },
38
37
  defaultValue: "refer",
39
- description: "Refer the call or create a new one",
38
+ description: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_TYPE__DESCRIPTION",
40
39
  },
41
40
  {
42
41
  key: "transferTarget",
43
- label: "Target",
42
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_TARGET__LABEL",
44
43
  type: "cognigyText",
45
44
  params: {
46
45
  required: true,
47
46
  },
48
- description: "E.164 syntax or a SIP URI are supported",
47
+ description: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_TARGET__DESCRIPTION",
49
48
  defaultValue: "+49123456789",
50
49
  },
51
50
  {
52
51
  key: "transferReason",
53
- label: "Reason",
52
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_REASON__LABEL",
54
53
  type: "cognigyText",
55
54
  params: {
56
55
  required: true,
57
56
  },
58
- description: "Reason for the transfer",
57
+ description: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_REASON__DESCRIPTION",
59
58
  defaultValue: "Bot initiated a transfer.",
60
59
  },
61
60
  {
62
61
  key: "useTransferSipHeaders",
63
- label: "Custom Transfer SIP Headers",
62
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__USE_TRANSFER_SIP_HEADERS__LABEL",
64
63
  type: "toggle",
65
- description: "Add data to be sent as SIP headers in the generated SIP message",
64
+ description: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__USE_TRANSFER_SIP_HEADERS__DESCRIPTION",
66
65
  defaultValue: false,
67
66
  },
68
67
  {
69
68
  key: "transferSipHeaders",
70
- label: "Transfer SIP Headers",
69
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_SIP_HEADERS__LABEL",
71
70
  type: "json",
72
- description: "The data to be sent as SIP headers in the generated SIP message",
71
+ description: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSFER_SIP_HEADERS__DESCRIPTION",
73
72
  defaultValue: {
74
73
  "X-Custom-Header": "YourValue",
75
74
  },
@@ -81,9 +80,9 @@ exports.transferNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
81
80
  /* Dial specific */
82
81
  {
83
82
  key: "dialCallerId",
84
- label: "Caller ID",
83
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__DIAL_CALLER_ID__LABEL",
85
84
  type: "text",
86
- description: "The caller ID, some carriers like Twilio require a registered number for outgoing calls.",
85
+ description: "UI__NODE_EDITOR__TRANSFER__DIAL_CALLER_ID__DESCRIPTION",
87
86
  condition: {
88
87
  key: "transferType",
89
88
  value: "dial",
@@ -91,9 +90,9 @@ exports.transferNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
91
90
  },
92
91
  {
93
92
  key: "dialMusic",
94
- label: "Dial Music",
93
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__DIAL_MUSIC__LABEL",
95
94
  type: "text",
96
- description: "URL to a .wav or .mp3 audio file of custom audio or ringback to play to the caller while the outbound call is ringing",
95
+ description: "UI__NODE_EDITOR__TRANSFER__FIELDS__DIAL_MUSIC__DESCRIPTION",
97
96
  condition: {
98
97
  key: "transferType",
99
98
  value: "dial",
@@ -101,21 +100,127 @@ exports.transferNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
101
100
  },
102
101
  {
103
102
  key: "dialTranscriptionWebhook",
104
- label: "Transcription Webhook",
103
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__DIAL_TRANSCRIPTION_WEBHOOK__LABEL",
105
104
  type: "text",
106
- description: "Webhook to receive an HTTP POST when an interim or final transcription is received. Uses the default recognizer.",
105
+ description: "UI__NODE_EDITOR__TRANSFER__FIELDS__DIAL_TRANSCRIPTION_WEBHOOK__DESCRIPTION",
107
106
  condition: {
108
107
  key: "transferType",
109
108
  value: "dial",
110
109
  },
111
- }
110
+ },
111
+ {
112
+ key: "amdEnabled",
113
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__AMD_ENABLED__LABEL",
114
+ type: "toggle",
115
+ description: "UI__NODE_EDITOR__TRANSFER__FIELDS__AMD_ENABLED__DESCRIPTION",
116
+ defaultValue: false,
117
+ condition: {
118
+ key: "transferType",
119
+ value: "dial",
120
+ },
121
+ },
122
+ {
123
+ key: "amdRedirectOnMachineDetected",
124
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__AMD_REDIRECT_ON_MACHINE_DETECTED__LABEL",
125
+ type: "toggle",
126
+ description: "UI__NODE_EDITOR__TRANSFER__FIELDS__AMD_REDIRECT_ON_MACHINE_DETECTED__DESCRIPTION",
127
+ defaultValue: false,
128
+ condition: {
129
+ key: "amdEnabled",
130
+ value: true,
131
+ },
132
+ },
133
+ {
134
+ key: "amdRedirectText",
135
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__AMD_REDIRECT_TEXT__LABEL",
136
+ type: "cognigyText",
137
+ description: "UI__NODE_EDITOR__TRANSFER__FIELDS__AMD_REDIRECT_TEXT__DESCRIPTION",
138
+ defaultValue: "",
139
+ condition: {
140
+ and: [{
141
+ key: "amdEnabled",
142
+ value: true,
143
+ },
144
+ {
145
+ key: "amdRedirectOnMachineDetected",
146
+ value: true,
147
+ }]
148
+ },
149
+ },
150
+ {
151
+ key: "recognitionChannel",
152
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__RECOGNITION_CHANNEL__LABEL",
153
+ type: "select",
154
+ params: {
155
+ options: [
156
+ {
157
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__RECOGNITION_CHANNEL__OPTIONS__CALLER__LABEL",
158
+ value: 1
159
+ },
160
+ {
161
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__RECOGNITION_CHANNEL__OPTIONS__CALLED__LABEL",
162
+ value: 2
163
+ },
164
+ {
165
+ label: "UI__NODE_EDITOR__TRANSFER__FIELDS__RECOGNITION_CHANNEL__OPTIONS__BOTH__LABEL",
166
+ value: 0
167
+ }
168
+ ]
169
+ },
170
+ defaultValue: 0,
171
+ description: "UI__NODE_EDITOR__TRANSFER__FIELDS__RECOGNITION_CHANNEL__DESCRIPTION",
172
+ condition: {
173
+ key: "transferType",
174
+ value: "dial",
175
+ },
176
+ },
177
+ {
178
+ key: "sttVendor",
179
+ type: "sttSelect",
180
+ label: "_unused_",
181
+ description: "_unused_",
182
+ defaultValue: "",
183
+ params: {
184
+ languageKey: "config.sttLanguage"
185
+ },
186
+ condition: {
187
+ key: "transferType",
188
+ value: "dial",
189
+ },
190
+ },
191
+ {
192
+ key: "sttLanguage",
193
+ type: "sttSelect",
194
+ defaultValue: "",
195
+ label: "_unused_",
196
+ },
112
197
  ],
113
198
  sections: [
199
+ {
200
+ key: "transcribe",
201
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__TRANSCRIBE__LABEL",
202
+ defaultCollapsed: true,
203
+ fields: ["sttVendor", "dialTranscriptionWebhook", "recognitionChannel"],
204
+ condition: {
205
+ key: "transferType",
206
+ value: "dial"
207
+ },
208
+ },
209
+ {
210
+ key: "amd",
211
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__AMD__LABEL",
212
+ defaultCollapsed: true,
213
+ fields: ["amdEnabled", "amdRedirectOnMachineDetected", "amdRedirectText"],
214
+ condition: {
215
+ key: "transferType",
216
+ value: "dial"
217
+ },
218
+ },
114
219
  {
115
220
  key: "advanced",
116
- label: "Advanced",
221
+ label: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__FIELDS__ADVANCED__LABEL",
117
222
  defaultCollapsed: true,
118
- fields: ["useTransferSipHeaders", "transferSipHeaders"],
223
+ fields: ["useTransferSipHeaders", "transferSipHeaders", "enableAnsweringMachineDetection"],
119
224
  },
120
225
  ],
121
226
  form: [
@@ -140,18 +245,22 @@ exports.transferNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
140
245
  key: "dialMusic",
141
246
  },
142
247
  {
143
- type: "field",
144
- key: "dialTranscriptionWebhook",
248
+ type: "section",
249
+ key: "transcribe",
250
+ },
251
+ {
252
+ type: "section",
253
+ key: "amd",
145
254
  },
146
255
  {
147
256
  type: "section",
148
257
  key: "advanced",
149
258
  },
150
259
  ],
151
- summary: "Transfer the call to another target",
260
+ summary: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__SUMMARY",
152
261
  function: async ({ cognigy, config }) => {
153
262
  const { api, input } = cognigy;
154
- const { transferType, transferTarget, useTransferSipHeaders, transferSipHeaders, transferReason, dialMusic, dialTranscriptionWebhook, dialCallerId } = config;
263
+ const { transferType, transferTarget, useTransferSipHeaders, transferSipHeaders, transferReason, dialMusic, dialTranscriptionWebhook, dialCallerId, recognitionChannel, sttVendor, sttLanguage, amdEnabled, amdRedirectOnMachineDetected, amdRedirectText } = config;
155
264
  const transferParams = {
156
265
  transferType,
157
266
  transferReason,
@@ -161,6 +270,9 @@ exports.transferNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
161
270
  dialMusic,
162
271
  dialCallerId,
163
272
  dialTranscriptionWebhook,
273
+ amdEnabled,
274
+ amdRedirectOnMachineDetected,
275
+ amdRedirectText
164
276
  };
165
277
  try {
166
278
  if (input.channel === "adminconsole") {
@@ -174,7 +286,7 @@ exports.transferNode = (0, createNodeDescriptor_1.createNodeDescriptor)({
174
286
  transferParams.useTransferSipHeaders = false;
175
287
  api.log("error", "Invalid JSON in Transfer SIP Headers");
176
288
  }
177
- const payload = transfer_mapper_1.transfer.handleInput(constants_1.ENDPOINTS.VOICE_GATEWAY, transferParams, false);
289
+ const payload = transfer_mapper_1.transfer.handleInput("voiceGateway2", transferParams, false, recognitionChannel, sttVendor, sttLanguage);
178
290
  api.say(null, {
179
291
  _cognigy: payload,
180
292
  });
@@ -31,12 +31,12 @@ function isValidJSON(json) {
31
31
  Object.entries(json).length &&
32
32
  !Array.isArray(json)) {
33
33
  for (const value of Object.values(json)) {
34
- if (["string", "number", "boolean"].includes(typeof value)) {
35
- return true;
34
+ if (!["string", "number", "boolean"].includes(typeof value)) {
35
+ return false;
36
36
  }
37
37
  }
38
38
  }
39
- return false;
39
+ return true;
40
40
  }
41
41
  catch (error) {
42
42
  return false;
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stripNulls = void 0;
4
4
  function stripNulls(data) {
5
5
  Object.entries(data).forEach(([key, value]) => {
6
+ /* Boolean values are always value, true or false. We don't want to delete 'false' */
7
+ if (typeof value === 'boolean') {
8
+ return;
9
+ }
6
10
  if (typeof value === "undefined" ||
7
11
  typeof value === null ||
8
12
  (typeof value === "string" &&
@@ -9,20 +9,20 @@ const getRephraseWithAIFields = () => {
9
9
  {
10
10
  key: "generativeAI_rephraseOutputMode",
11
11
  type: "select",
12
- label: "Rephrase Output",
12
+ label: "UI__NODE_EDITOR__GENERATIVE_AI__REPHRASE_OUTPUT_MODE__LABEL",
13
13
  params: {
14
14
  required: true,
15
15
  options: [
16
16
  {
17
- label: "None",
17
+ label: "UI__NODE_EDITOR__GENERATIVE_AI__REPHRASE_OUTPUT_MODE__OPTIONS__NONE__LABEL",
18
18
  value: "none"
19
19
  },
20
20
  {
21
- label: "Based on Previous User Inputs",
21
+ label: "UI__NODE_EDITOR__GENERATIVE_AI__REPHRASE_OUTPUT_MODE__OPTIONS__USER_INPUTS__LABEL",
22
22
  value: "userInputs"
23
23
  },
24
24
  {
25
- label: "Based on Custom Input",
25
+ label: "UI__NODE_EDITOR__GENERATIVE_AI__REPHRASE_OUTPUT_MODE__OPTIONS__CUSTOM_INPUTS__LABEL",
26
26
  value: "customInputs"
27
27
  },
28
28
  ],
@@ -32,7 +32,7 @@ const getRephraseWithAIFields = () => {
32
32
  {
33
33
  key: "generativeAI_amountOfLastUserInputs",
34
34
  type: "slider",
35
- label: "Number of Previous User Inputs",
35
+ label: "UI__NODE_EDITOR__GENERATIVE_AI__AMOUNT_OF_LAST_USER_INPUTS__LABEL",
36
36
  params: {
37
37
  min: 1,
38
38
  max: 10,
@@ -47,7 +47,7 @@ const getRephraseWithAIFields = () => {
47
47
  {
48
48
  key: "generativeAI_customInputs",
49
49
  type: "cognigyTextArray",
50
- label: "Custom Inputs",
50
+ label: "UI__NODE_EDITOR__GENERATIVE_AI__CUSTOM_INPUTS__LABEL",
51
51
  condition: {
52
52
  key: "generativeAI_rephraseOutputMode",
53
53
  value: "customInputs",
@@ -56,7 +56,7 @@ const getRephraseWithAIFields = () => {
56
56
  {
57
57
  key: "generativeAI_temperature",
58
58
  type: "slider",
59
- label: "Temperature",
59
+ label: "UI__NODE_EDITOR__GENERATIVE_AI__TEMPERATURE__LABEL",
60
60
  params: {
61
61
  min: 0,
62
62
  max: 1,
@@ -86,7 +86,7 @@ exports.getRephraseWithAIFields = getRephraseWithAIFields;
86
86
  const getRephraseWithAISection = () => {
87
87
  return {
88
88
  key: "aiEnhancedOutput",
89
- label: "AI-enhanced output",
89
+ label: "UI__NODE_EDITOR__GENERATIVE_AI__LABEL",
90
90
  defaultCollapsed: true,
91
91
  fields: [
92
92
  "generativeAI_rephraseOutputMode",
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GENERATIVE_AI_PROVIDER_EXTENSION = exports.ADMIN_CONSOLE_URL_TOKEN = exports.X_COGNIGY_ORIGIN = exports.EMBEDDED_EXTENSION = exports.INTERNAL_STORAGE_PROVIDER_EXTENSION = exports.VOICE_GATEWAY_2_EXTENSION = exports.MICROSOFT_EXTENSION = exports.VOICE_GATEWAY_EXTENSION = exports.SMTP_EXTENSION = exports.SQL_EXTENSION = exports.MONGO_DB_EXTENSION = exports.BASIC_EXTENSION = exports.MAX_INT32 = exports.PASSWORD_RESET_TOKEN_TTL_IN_SECONDS = exports.SCOPED_USER = exports.SYSTEM_EMAIL = exports.SYSTEM = exports.CREATED_BY_SSO = void 0;
3
+ exports.IP_NOT_AVAILABLE = exports.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS = exports.AUDIO_PREVIEW_PROVIDER_EXTENSION = exports.GENERATIVE_AI_PROVIDER_EXTENSION = exports.ADMIN_CONSOLE_URL_TOKEN = exports.X_COGNIGY_ORIGIN = exports.EMBEDDED_EXTENSION = exports.INTERNAL_STORAGE_PROVIDER_EXTENSION = exports.VOICE_GATEWAY_2_EXTENSION = exports.MICROSOFT_EXTENSION = exports.VOICE_GATEWAY_EXTENSION = exports.SMTP_EXTENSION = exports.SQL_EXTENSION = exports.MONGO_DB_EXTENSION = exports.BASIC_EXTENSION = exports.MAX_INT32 = exports.PASSWORD_RESET_TOKEN_TTL_IN_SECONDS = exports.SCOPED_USER = exports.SYSTEM_EMAIL = exports.SYSTEM = exports.CREATED_BY_SSO = void 0;
4
4
  exports.CREATED_BY_SSO = "000000000000000000000550";
5
5
  exports.SYSTEM = "000000000000000000000000";
6
6
  exports.SYSTEM_EMAIL = "system@mail.com";
@@ -21,4 +21,17 @@ exports.EMBEDDED_EXTENSION = "@embedded/";
21
21
  exports.X_COGNIGY_ORIGIN = "x-cognigy-origin";
22
22
  exports.ADMIN_CONSOLE_URL_TOKEN = "ffffffffffffffffffff55555555555555555eeeeeeeeeeeeeeeaaaaaaaaaaaa";
23
23
  exports.GENERATIVE_AI_PROVIDER_EXTENSION = "@cognigy/generative-ai-provider";
24
+ exports.AUDIO_PREVIEW_PROVIDER_EXTENSION = "@cognigy/audio-preview-provider";
25
+ exports.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS = {
26
+ ESCALATE_INTENTS_HANDOVER_LIVE_AGENT_INBOX_ID: "escalateIntentsHandoverLiveAgentInboxId",
27
+ ESCALATE_INTENTS_AGENT_ASSIST_INIT_MESSAGE: "escalateIntentsAgentAssistInitMessage",
28
+ ESCALATE_INTENTS_ALLOW_AGENT_INJECT: "escalateIntentsAllowAgentInject",
29
+ ESCALATE_ANSWERS_HANDOVER_LIVE_AGENT_INBOX_ID: "escalateAnswersHandoverLiveAgentInboxId",
30
+ ESCALATE_ANSWERS_ALLOW_AGENT_INJECT: "escalateAnswersAllowAgentInject",
31
+ ESCALATE_ANSWERS_AGENT_ASSIST_INIT_MESSAGE: "escalateAnswersAgentAssistInitMessage",
32
+ LIVE_AGENT_INBOX_ID: "liveAgentInboxId",
33
+ AGENT_ASSIST_INIT_MESSAGE: "agentAssistInitMessage",
34
+ ALLOW_AGENT_INJECT: "allowAgentInject",
35
+ };
36
+ exports.IP_NOT_AVAILABLE = "not available";
24
37
  //# sourceMappingURL=constants.js.map
@@ -7,6 +7,7 @@ var ErrorCode;
7
7
  ErrorCode[ErrorCode["UNAUTHORIZED_ERROR"] = 401] = "UNAUTHORIZED_ERROR";
8
8
  ErrorCode[ErrorCode["PAYMENT_REQUIRED_ERROR"] = 402] = "PAYMENT_REQUIRED_ERROR";
9
9
  ErrorCode[ErrorCode["PAYLOAD_TOO_LARGE_ERROR"] = 413] = "PAYLOAD_TOO_LARGE_ERROR";
10
+ ErrorCode[ErrorCode["TOO_MANY_REQUESTS_ERROR"] = 429] = "TOO_MANY_REQUESTS_ERROR";
10
11
  ErrorCode[ErrorCode["FORBIDDEN_ERROR"] = 403] = "FORBIDDEN_ERROR";
11
12
  ErrorCode[ErrorCode["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
12
13
  ErrorCode[ErrorCode["SERVICE_UNAVAILABLE_ERROR"] = 503] = "SERVICE_UNAVAILABLE_ERROR";
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TooManyRequestsError = void 0;
4
+ /* Custom modules */
5
+ const baseError_1 = require("./baseError");
6
+ const codes_1 = require("./codes");
7
+ const HttpStatusCode_1 = require("../helper/HttpStatusCode");
8
+ /**
9
+ * @openapi
10
+ * components:
11
+ * responses:
12
+ * TooManyRequestsError:
13
+ * description: The server got too many requests than it is required to handle.
14
+ * content:
15
+ * application/json:
16
+ * schema:
17
+ * type: object
18
+ * properties:
19
+ * type:
20
+ * type: string
21
+ * example: TooManyRequestsError
22
+ * title:
23
+ * type: string
24
+ * example: Too Many Requests Error
25
+ * status:
26
+ * type: number
27
+ * example: 429
28
+ * detail:
29
+ * type: string
30
+ * instance:
31
+ * type: string
32
+ * example: /v2.0/flows/5ce7c2d833ea1e04d7e6c432
33
+ * code:
34
+ * type: string
35
+ * example: 1000
36
+ * traceId:
37
+ * type: string
38
+ * example: api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f
39
+ * details:
40
+ * type: object
41
+ * example: {}
42
+ */
43
+ class TooManyRequestsError extends baseError_1.BaseError {
44
+ constructor(message, stack, meta, details, logLevel) {
45
+ super({
46
+ name: "Too Many Requests Error",
47
+ message,
48
+ code: codes_1.TOO_MANY_REQUESTS_ERROR,
49
+ httpStatusCode: HttpStatusCode_1.HttpStatusCode.TOO_MANY_REQUESTS,
50
+ httpStatusText: "Too Many Requests Error",
51
+ meta,
52
+ stack,
53
+ details,
54
+ logLevel,
55
+ });
56
+ }
57
+ }
58
+ exports.TooManyRequestsError = TooManyRequestsError;
59
+ //# sourceMappingURL=TooManyRequestsError.js.map
@@ -41,10 +41,14 @@ class BaseError extends Error {
41
41
  }
42
42
  if (tracer) {
43
43
  if (this.logLevel === "error" || this.logLevel === "fatal") {
44
+ const { projectId, organisationId, organisation, groupingKey, organisationName, projectName, } = this.meta;
44
45
  tracer.captureException(this, {
45
46
  traceId: (_a = this.loggerstack) === null || _a === void 0 ? void 0 : _a.traceId,
46
- organisationId: (meta === null || meta === void 0 ? void 0 : meta.organisationId) || (meta === null || meta === void 0 ? void 0 : meta.organisation),
47
- projectId: meta === null || meta === void 0 ? void 0 : meta.projectId,
47
+ organisationId: organisationId || organisation,
48
+ projectId,
49
+ groupingKey,
50
+ organisationName,
51
+ projectName,
48
52
  });
49
53
  }
50
54
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GATEWAY_TIMEOUT_ERROR = exports.BAD_GATEWAY_ERROR = exports.FORBIDDEN_ERROR = exports.PAYLOAD_TOO_LARGE_ERROR = exports.UNAUTHORIZED_ERROR = exports.TIMEOUT_ERROR = exports.INPUT_OUTPUT_ERROR = exports.DATABASE_QUERY_ERROR = exports.DATABASE_CONNECT_ERROR = exports.SMTP_CONNECT_ERROR = exports.METHOD_NOT_ALLOWED_ERROR = exports.FILE_WRITE_ERROR = exports.FILE_READ_ERROR = exports.PROCESS_ERROR = exports.NOT_IMPLEMENTED_ERROR = exports.INTERNAL_SERVER_ERROR = exports.EXPORT_ERROR = exports.IMPORT_ERROR = exports.INVALID_ARGUMENT_ERROR = exports.CONFLICT_ERROR = exports.DATABASE_READ_ERROR = exports.RESOURCE_NOT_FOUND_ERROR = exports.DATABASE_WRITE_ERROR = exports.MISSING_ARGUMENT_ERROR = void 0;
3
+ exports.TOO_MANY_REQUESTS_ERROR = exports.GATEWAY_TIMEOUT_ERROR = exports.BAD_GATEWAY_ERROR = exports.FORBIDDEN_ERROR = exports.PAYLOAD_TOO_LARGE_ERROR = exports.UNAUTHORIZED_ERROR = exports.TIMEOUT_ERROR = exports.INPUT_OUTPUT_ERROR = exports.DATABASE_QUERY_ERROR = exports.DATABASE_CONNECT_ERROR = exports.SMTP_CONNECT_ERROR = exports.METHOD_NOT_ALLOWED_ERROR = exports.FILE_WRITE_ERROR = exports.FILE_READ_ERROR = exports.PROCESS_ERROR = exports.NOT_IMPLEMENTED_ERROR = exports.INTERNAL_SERVER_ERROR = exports.EXPORT_ERROR = exports.IMPORT_ERROR = exports.INVALID_ARGUMENT_ERROR = exports.CONFLICT_ERROR = exports.DATABASE_READ_ERROR = exports.RESOURCE_NOT_FOUND_ERROR = exports.DATABASE_WRITE_ERROR = exports.MISSING_ARGUMENT_ERROR = void 0;
4
4
  const ErrorCode_1 = require("./ErrorCode");
5
5
  exports.MISSING_ARGUMENT_ERROR = ErrorCode_1.ErrorCode.MISSING_ARGUMENT_ERROR;
6
6
  exports.DATABASE_WRITE_ERROR = ErrorCode_1.ErrorCode.DATABASE_WRITE_ERROR;
@@ -26,4 +26,5 @@ exports.PAYLOAD_TOO_LARGE_ERROR = ErrorCode_1.ErrorCode.PAYLOAD_TOO_LARGE_ERROR;
26
26
  exports.FORBIDDEN_ERROR = ErrorCode_1.ErrorCode.FORBIDDEN_ERROR;
27
27
  exports.BAD_GATEWAY_ERROR = ErrorCode_1.ErrorCode.BAD_GATEWAY;
28
28
  exports.GATEWAY_TIMEOUT_ERROR = ErrorCode_1.ErrorCode.GATEWAY_TIMEOUT_ERROR;
29
+ exports.TOO_MANY_REQUESTS_ERROR = ErrorCode_1.ErrorCode.TOO_MANY_REQUESTS_ERROR;
29
30
  //# sourceMappingURL=codes.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorCode = exports.ErrorCollection = exports.UnauthorizedError = exports.TimeoutError = exports.SMTPConnectError = exports.ResourceNotFoundError = exports.ProcessError = exports.PaymentRequiredError = exports.PayloadTooLargeError = exports.NotImplementedError = exports.NetworkError = exports.MissingArgumentError = exports.MethodNotAllowedError = exports.InvalidArgumentError = exports.InternalServerError = exports.InputOutputError = exports.ImportError = exports.GatewayTimeoutError = exports.ForbiddenError = exports.FileWriteError = exports.FileReadError = exports.ExportError = exports.DatabaseWriteError = exports.DatabaseReadError = exports.DatabaseQueryError = exports.DatabaseConnectError = exports.ConflictError = exports.BadRequestError = exports.BadGatewayError = exports.BaseError = void 0;
3
+ exports.ErrorCode = exports.ErrorCollection = exports.UnauthorizedError = exports.TooManyRequestsError = exports.TimeoutError = exports.SMTPConnectError = exports.ResourceNotFoundError = exports.ProcessError = exports.PaymentRequiredError = exports.PayloadTooLargeError = exports.NotImplementedError = exports.NetworkError = exports.MissingArgumentError = exports.MethodNotAllowedError = exports.InvalidArgumentError = exports.InternalServerError = exports.InputOutputError = exports.ImportError = exports.GatewayTimeoutError = exports.ForbiddenError = exports.FileWriteError = exports.FileReadError = exports.ExportError = exports.DatabaseWriteError = exports.DatabaseReadError = exports.DatabaseQueryError = exports.DatabaseConnectError = exports.ConflictError = exports.BadRequestError = exports.BadGatewayError = exports.BaseError = void 0;
4
4
  var baseError_1 = require("./baseError");
5
5
  Object.defineProperty(exports, "BaseError", { enumerable: true, get: function () { return baseError_1.BaseError; } });
6
6
  var BadGatewayError_1 = require("./BadGatewayError");
@@ -55,6 +55,8 @@ var smtpConnectError_1 = require("./smtpConnectError");
55
55
  Object.defineProperty(exports, "SMTPConnectError", { enumerable: true, get: function () { return smtpConnectError_1.SMTPConnectError; } });
56
56
  var timeoutError_1 = require("./timeoutError");
57
57
  Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return timeoutError_1.TimeoutError; } });
58
+ var TooManyRequestsError_1 = require("./TooManyRequestsError");
59
+ Object.defineProperty(exports, "TooManyRequestsError", { enumerable: true, get: function () { return TooManyRequestsError_1.TooManyRequestsError; } });
58
60
  var UnauthorizedError_1 = require("./UnauthorizedError");
59
61
  Object.defineProperty(exports, "UnauthorizedError", { enumerable: true, get: function () { return UnauthorizedError_1.UnauthorizedError; } });
60
62
  var ErrorCollection_1 = require("./ErrorCollection");
@@ -19,6 +19,12 @@ class BaseContext {
19
19
  * @memberOf Context
20
20
  */
21
21
  constructor(options = {}, traceId) {
22
+ /**
23
+ * We need to ignore proxy object trap handlers to keep context object reference immutable.
24
+ * This flag is used to ignore unwanted invocation of proxy settes/getters/deleters/etc. when context is reset
25
+ * and new fields are added to the context object by cleaning/emptying up of old context fields.
26
+ */
27
+ this.ignoreTrapHandler = false;
22
28
  const { injectSystemDefault, organisationId } = options;
23
29
  this.traceId = traceId;
24
30
  // we validate set context with a proxy, not for the default context
@@ -28,6 +34,10 @@ class BaseContext {
28
34
  createProxy(initial = {}) {
29
35
  return new Proxy(initial, {
30
36
  set: (obj, prop, value) => {
37
+ if (this.ignoreTrapHandler) {
38
+ obj[prop] = value;
39
+ return true;
40
+ }
31
41
  // check if maximum context size is not reached
32
42
  const merged = Object.assign(obj, { [prop]: value });
33
43
  const validObjectSize = (0, objectSizeValidator_1.validateObjectSize)(merged, (process.env.MAX_MEMORY_OBJECT_SIZE && parseInt(process.env.MAX_MEMORY_OBJECT_SIZE)) || 64000);
@@ -61,15 +71,58 @@ class BaseContext {
61
71
  * @memberOf Context
62
72
  */
63
73
  importContext(data, traceId, replace) {
74
+ var _a;
64
75
  if (replace) {
76
+ if (typeof data !== 'object' || data !== null) {
77
+ logger_1.logger.log("debug", { traceId }, `[importContext] Trying to replace context with data that is not an object`, {
78
+ organisationId: this.organisationId,
79
+ projectId: this.projectId,
80
+ });
81
+ }
82
+ else {
83
+ logger_1.logger.log("debug", { traceId }, `[importContext] Replacing the brains context, length: ${(_a = JSON.stringify(data)) === null || _a === void 0 ? void 0 : _a.length}`, {
84
+ organisationId: this.organisationId,
85
+ projectId: this.projectId,
86
+ });
87
+ }
65
88
  // make a deep copy of the provided 'data' to get rid of references.
66
89
  // we also do not allow 'null' as an input
67
90
  const deepCopy = JSON.parse(JSON.stringify(data));
68
- if (deepCopy)
69
- // we validate setting context with a proxy, if not injectSystemDefault
70
- this.context = this.createProxy(deepCopy);
91
+ if (deepCopy) {
92
+ try {
93
+ this.ignoreTrapHandler = true;
94
+ for (var variableKey in this.context) {
95
+ if (this.context.hasOwnProperty(variableKey)) {
96
+ delete this.context[variableKey];
97
+ }
98
+ }
99
+ // we validate setting context with a proxy, if not injectSystemDefault
100
+ const sourceContext = this.createProxy(deepCopy);
101
+ /**
102
+ * Object.assign(@target, @source) function copies the values of all of the enumerable own properties from the source object
103
+ * to a target object and returns the target object.
104
+ * Below code will preserve the `this.context` (as target object) reference after copying props from deep copy data object.
105
+ */
106
+ this.context = Object.assign(this.context, sourceContext);
107
+ }
108
+ finally {
109
+ this.ignoreTrapHandler = false;
110
+ }
111
+ }
71
112
  }
72
113
  else {
114
+ if (typeof data !== 'object' || data !== null) {
115
+ logger_1.logger.log("debug", { traceId }, `[importContext] Trying to set context for data that is not an object`, {
116
+ organisationId: this.organisationId,
117
+ projectId: this.projectId,
118
+ });
119
+ }
120
+ else {
121
+ logger_1.logger.log("debug", { traceId }, `[importContext] Set context for ${Object.keys(data).length} keys`, {
122
+ organisationId: this.organisationId,
123
+ projectId: this.projectId,
124
+ });
125
+ }
73
126
  for (let c in data) {
74
127
  this.setContext(c, data[c], traceId);
75
128
  }