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