@cognigy/rest-api-client 2025.25.0 → 2026.1.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 (99) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/apigroups/ResourcesAPIGroup_2_0.js +14 -0
  3. package/build/apigroups/SimulationAPIGroup_2_0.js +15 -1
  4. package/build/authentication/AuthenticationAPI.js +1 -0
  5. package/build/shared/charts/createNodeDescriptor.js +1 -0
  6. package/build/shared/charts/descriptors/analytics/overwriteAnalytics.js +14 -0
  7. package/build/shared/charts/descriptors/analytics/updateProfile.js +5 -0
  8. package/build/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +7 -0
  9. package/build/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +9 -0
  10. package/build/shared/charts/descriptors/index.js +2 -0
  11. package/build/shared/charts/descriptors/message/question/question.js +5 -0
  12. package/build/shared/charts/descriptors/message/say.js +3 -0
  13. package/build/shared/charts/descriptors/service/agentTools/executeWorkflowTool.js +239 -0
  14. package/build/shared/charts/descriptors/service/agentTools/handoverToHumanAgentTool.js +783 -0
  15. package/build/shared/charts/descriptors/service/agentTools/sendEmailTool.js +33 -4
  16. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +23 -20
  17. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJobCallMCPTool.js +4 -2
  18. package/build/shared/charts/descriptors/service/aiAgent/helpers/createToolDefinitions.js +3 -1
  19. package/build/shared/charts/descriptors/service/aiAgent/helpers/parseMcpHeaders.js +26 -0
  20. package/build/shared/charts/descriptors/service/handoverV2.js +1 -1
  21. package/build/shared/charts/descriptors/service/httpRequest.js +3 -0
  22. package/build/shared/charts/descriptors/service/index.js +5 -1
  23. package/build/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +11 -4
  24. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +17 -11
  25. package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +5 -5
  26. package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +2 -2
  27. package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +13 -4
  28. package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +4 -4
  29. package/build/shared/interfaces/amqpInterface.js +1 -0
  30. package/build/shared/interfaces/messageAPI/endpoints.js +1 -1
  31. package/build/shared/interfaces/resources/IChart.js +10 -1
  32. package/build/shared/interfaces/resources/IChartNode.js +32 -4
  33. package/build/shared/interfaces/resources/IEndpoint.js +1 -0
  34. package/build/shared/interfaces/resources/INodeDescriptorSet.js +8 -0
  35. package/build/shared/interfaces/resources/TResourceType.js +1 -0
  36. package/build/shared/interfaces/resources/chart/IChartExecutableNode.js +10 -1
  37. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeConnector.js +49 -0
  38. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
  39. package/build/shared/interfaces/restAPI/administration/user/v2.0/IExchangeCXoneTokenRest_2_0.js +3 -0
  40. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/ICreateKnowledgeConnectorRest_2_0.js +3 -0
  41. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IDeleteKnowledgeConnectorRest_2_0.js +3 -0
  42. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IIndexKnowledgeConnectorsRest_2_0.js +3 -0
  43. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IKnowledgeConnector_2_0.js +3 -0
  44. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IReadKnowledgeConnectorRest_2_0.js +3 -0
  45. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IUpdateKnowledgeConnectorRest_2_0.js +3 -0
  46. package/build/shared/interfaces/restAPI/simulation/scheduler/ICreateSchedulerRest_2_0.js +3 -0
  47. package/build/shared/interfaces/restAPI/simulation/scheduler/IGetSchedulerRest_2_0.js +3 -0
  48. package/build/shared/interfaces/restAPI/simulation/scheduler/ISchedulerRest_2_0.js +12 -0
  49. package/build/shared/interfaces/restAPI/simulation/scheduler/IUpdateSchedulerRest_2_0.js +3 -0
  50. package/dist/esm/apigroups/ResourcesAPIGroup_2_0.js +14 -0
  51. package/dist/esm/apigroups/SimulationAPIGroup_2_0.js +15 -1
  52. package/dist/esm/authentication/AuthenticationAPI.js +1 -0
  53. package/dist/esm/shared/charts/createNodeDescriptor.js +1 -0
  54. package/dist/esm/shared/charts/descriptors/analytics/overwriteAnalytics.js +14 -0
  55. package/dist/esm/shared/charts/descriptors/analytics/updateProfile.js +5 -0
  56. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +7 -0
  57. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +9 -0
  58. package/dist/esm/shared/charts/descriptors/index.js +3 -1
  59. package/dist/esm/shared/charts/descriptors/message/question/question.js +5 -0
  60. package/dist/esm/shared/charts/descriptors/message/say.js +3 -0
  61. package/dist/esm/shared/charts/descriptors/service/agentTools/executeWorkflowTool.js +237 -0
  62. package/dist/esm/shared/charts/descriptors/service/agentTools/handoverToHumanAgentTool.js +770 -0
  63. package/dist/esm/shared/charts/descriptors/service/agentTools/sendEmailTool.js +33 -4
  64. package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +23 -20
  65. package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJobCallMCPTool.js +4 -2
  66. package/dist/esm/shared/charts/descriptors/service/aiAgent/helpers/createToolDefinitions.js +3 -1
  67. package/dist/esm/shared/charts/descriptors/service/aiAgent/helpers/parseMcpHeaders.js +25 -0
  68. package/dist/esm/shared/charts/descriptors/service/handoverV2.js +1 -1
  69. package/dist/esm/shared/charts/descriptors/service/httpRequest.js +3 -0
  70. package/dist/esm/shared/charts/descriptors/service/index.js +2 -0
  71. package/dist/esm/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +11 -4
  72. package/dist/esm/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +17 -11
  73. package/dist/esm/shared/charts/descriptors/voice/mappers/transfer.mapper.js +5 -5
  74. package/dist/esm/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +2 -2
  75. package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +13 -4
  76. package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/transfer.js +4 -4
  77. package/dist/esm/shared/interfaces/amqpInterface.js +1 -0
  78. package/dist/esm/shared/interfaces/messageAPI/endpoints.js +1 -1
  79. package/dist/esm/shared/interfaces/resources/IChart.js +10 -1
  80. package/dist/esm/shared/interfaces/resources/IChartNode.js +32 -4
  81. package/dist/esm/shared/interfaces/resources/IEndpoint.js +1 -0
  82. package/dist/esm/shared/interfaces/resources/INodeDescriptorSet.js +8 -0
  83. package/dist/esm/shared/interfaces/resources/TResourceType.js +1 -0
  84. package/dist/esm/shared/interfaces/resources/chart/IChartExecutableNode.js +10 -1
  85. package/dist/esm/shared/interfaces/resources/knowledgeStore/IKnowledgeConnector.js +46 -0
  86. package/dist/esm/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
  87. package/dist/esm/shared/interfaces/restAPI/administration/user/v2.0/IExchangeCXoneTokenRest_2_0.js +2 -0
  88. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/ICreateKnowledgeConnectorRest_2_0.js +2 -0
  89. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IDeleteKnowledgeConnectorRest_2_0.js +2 -0
  90. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IIndexKnowledgeConnectorsRest_2_0.js +2 -0
  91. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IKnowledgeConnector_2_0.js +2 -0
  92. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IReadKnowledgeConnectorRest_2_0.js +2 -0
  93. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IUpdateKnowledgeConnectorRest_2_0.js +2 -0
  94. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/ICreateSchedulerRest_2_0.js +2 -0
  95. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/IGetSchedulerRest_2_0.js +2 -0
  96. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/ISchedulerRest_2_0.js +9 -0
  97. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/IUpdateSchedulerRest_2_0.js +2 -0
  98. package/package.json +1 -1
  99. package/types/index.d.ts +528 -11
@@ -64,6 +64,31 @@ export const SEND_EMAIL_TOOL = createNodeDescriptor({
64
64
  maxLength: 255,
65
65
  },
66
66
  },
67
+ {
68
+ key: "cc",
69
+ type: "cognigyText",
70
+ label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__CC__LABEL",
71
+ description: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__CC__DESCRIPTION",
72
+ },
73
+ {
74
+ key: "bcc",
75
+ type: "cognigyText",
76
+ label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__BCC__LABEL",
77
+ description: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__BCC__DESCRIPTION",
78
+ },
79
+ {
80
+ key: "priority",
81
+ type: "select",
82
+ label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__PRIORITY__LABEL",
83
+ defaultValue: "normal",
84
+ params: {
85
+ options: [
86
+ { label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__PRIORITY__HIGH__LABEL", value: "high" },
87
+ { label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__PRIORITY__NORMAL__LABEL", value: "normal" },
88
+ { label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__PRIORITY__LOW__LABEL", value: "low" }
89
+ ]
90
+ }
91
+ },
67
92
  {
68
93
  key: "parameters",
69
94
  label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__PARAMETERS__LABEL",
@@ -113,6 +138,9 @@ export const SEND_EMAIL_TOOL = createNodeDescriptor({
113
138
  label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_JOB__SECTIONS__ADVANCED__LABEL",
114
139
  defaultCollapsed: true,
115
140
  fields: [
141
+ "cc",
142
+ "bcc",
143
+ "priority",
116
144
  "condition"
117
145
  ]
118
146
  },
@@ -132,7 +160,7 @@ export const SEND_EMAIL_TOOL = createNodeDescriptor({
132
160
  function: ({ cognigy, config, nodeId, nodeType, organisationId, projectId, childConfigs }) => __awaiter(void 0, void 0, void 0, function* () {
133
161
  var _a, _b, _c, _d, _e, _f, _g;
134
162
  const { api, context, input } = cognigy;
135
- const { debugMessage, recipient, } = config;
163
+ const { debugMessage, recipient, cc, bcc, priority, } = config;
136
164
  const sessionState = yield api.loadSessionState();
137
165
  const toolCall = (_a = sessionState.lastToolCall) === null || _a === void 0 ? void 0 : _a.toolCall;
138
166
  const aiAgentJobNode = (_b = sessionState.lastToolCall) === null || _b === void 0 ? void 0 : _b.aiAgentJobNode;
@@ -150,14 +178,15 @@ export const SEND_EMAIL_TOOL = createNodeDescriptor({
150
178
  recipient,
151
179
  subject,
152
180
  message,
153
- cc: "",
154
- bcc: "",
155
- priority: "normal",
181
+ cc: cc || "",
182
+ bcc: bcc || "",
183
+ priority: priority || "normal",
156
184
  async: false,
157
185
  storeLocation: "none",
158
186
  inputKey: "",
159
187
  contextKey: "",
160
188
  stopOnError: false,
189
+ senderName: "",
161
190
  },
162
191
  nodeId,
163
192
  nodeType,
@@ -10,8 +10,9 @@ import { createSystemMessage, getCognigyBrandMessage } from "./helpers/createSys
10
10
  import { generateSearchPrompt } from "./helpers/generateSearchPrompt";
11
11
  import { getUserMemory } from "./helpers/getUserMemory";
12
12
  import { createToolDefinitions } from "./helpers/createToolDefinitions";
13
+ import { parseMcpHeaders } from "./helpers/parseMcpHeaders";
13
14
  import { TranscriptEntryType, TranscriptRole } from "../../../../interfaces/transcripts/transcripts";
14
- export const AI_AGENT_TOOLS_WHITELIST = ["aiAgentJobDefault", "aiAgentJobTool", "aiAgentJobMCPTool", "knowledgeTool", "handoverToAiAgentTool", "sendEmailTool"];
15
+ export const AI_AGENT_TOOLS_WHITELIST = ["aiAgentJobDefault", "aiAgentJobTool", "aiAgentJobMCPTool", "knowledgeTool", "handoverToAiAgentTool", "handoverToHumanAgentTool", "sendEmailTool", "executeWorkflowTool"];
15
16
  export const AI_AGENT_JOB = createNodeDescriptor({
16
17
  type: "aiAgentJob",
17
18
  defaultLabel: "AI Agent",
@@ -913,7 +914,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
913
914
  ],
914
915
  tags: ["ai", "aiAgent"],
915
916
  function: ({ cognigy, config, childConfigs, nodeId }) => __awaiter(void 0, void 0, void 0, function* () {
916
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24;
917
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25;
917
918
  const { api, context, input, profile, flowReferenceId } = cognigy;
918
919
  const { aiAgent, llmProviderReferenceId, name: jobName, description: jobDescription, instructions: jobInstructions, outputImmediately, toolChoice, useStrict, memoryType, selectedProfileFields, memoryContextInjection, knowledgeSearchBehavior, knowledgeSearchTags, knowledgeSearchTagsFilterOp, knowledgeSearchAiAgentKnowledge, knowledgeSearchJobKnowledge, knowledgeSearchJobStore, knowledgeSearchGenerateSearchPrompt, knowledgeSearchTopK, timeoutInMs, maxTokens, temperature, useTextAlternativeForLLM, advancedLogging, loggingWebhookUrl, loggingCustomData, conditionForLogging, logErrorToSystem, storeErrorInInput, errorHandling, errorHandlingGotoTarget, errorMessage, debugConfig, debugLogTokenCount, debugLogSystemPrompt, debugLogToolDefinitions, debugResult, debugLogLLMLatency, storeLocation, contextKey, inputKey, streamStoreCopyInInput, streamStopTokens, processImages, transcriptImageHandling, loggingHeaders, sessionParams } = config;
919
920
  try {
@@ -963,7 +964,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
963
964
  throw new Error(`[VG2] Error on AI Agent Job node. Error message: ${error.message}`);
964
965
  }
965
966
  }
966
- const _25 = profile, { profileId, accepted_gdpr, prevent_data_collection, privacy_policy } = _25, cleanedProfile = __rest(_25, ["profileId", "accepted_gdpr", "prevent_data_collection", "privacy_policy"]);
967
+ const _26 = profile, { profileId, accepted_gdpr, prevent_data_collection, privacy_policy } = _26, cleanedProfile = __rest(_26, ["profileId", "accepted_gdpr", "prevent_data_collection", "privacy_policy"]);
967
968
  const userMemory = getUserMemory(memoryType, selectedProfileFields, aiAgent, cleanedProfile);
968
969
  /**
969
970
  * ----- Knowledge Search Section -----
@@ -1290,13 +1291,15 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1290
1291
  break;
1291
1292
  }
1292
1293
  }
1294
+ let mcpHeaders = (_7 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _7 === void 0 ? void 0 : _7.mcpHeaders;
1293
1295
  if (!toolChild && toolMap.has(mainToolCall.function.name)) {
1294
1296
  // If the tool call is from an MCP tool, set the next node to the corresponding child node
1295
1297
  toolChild = childConfigs.find(child => child.id === toolMap.get(mainToolCall.function.name));
1296
1298
  isMcpToolCall = true;
1299
+ mcpHeaders = yield parseMcpHeaders((_8 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _8 === void 0 ? void 0 : _8.mcpHeaders, api);
1297
1300
  }
1298
1301
  if (mainToolCall.function.name !== "retrieve_knowledge" && toolChild === undefined) {
1299
- (_7 = api.logDebugError) === null || _7 === void 0 ? void 0 : _7.call(api, `UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__ERROR__BODY <b>${mainToolCall.function.name}</b>`, "UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__ERROR__HEADER");
1302
+ (_9 = api.logDebugError) === null || _9 === void 0 ? void 0 : _9.call(api, `UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__ERROR__BODY <b>${mainToolCall.function.name}</b>`, "UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__ERROR__HEADER");
1300
1303
  }
1301
1304
  // Add last tool call to session state for loading it from Tool Answer Node
1302
1305
  api.updateSessionStateValues({
@@ -1304,22 +1307,22 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1304
1307
  flow: flowReferenceId,
1305
1308
  node: nodeId,
1306
1309
  } }, (isMcpToolCall && {
1307
- mcpServerUrl: (_8 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _8 === void 0 ? void 0 : _8.mcpServerUrl,
1308
- mcpHeaders: (_9 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _9 === void 0 ? void 0 : _9.mcpHeaders,
1309
- timeout: (_10 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _10 === void 0 ? void 0 : _10.timeout,
1310
+ mcpServerUrl: (_10 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _10 === void 0 ? void 0 : _10.mcpServerUrl,
1311
+ mcpHeaders,
1312
+ timeout: (_11 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _11 === void 0 ? void 0 : _11.timeout,
1310
1313
  mcpToolNode: toolChild === null || toolChild === void 0 ? void 0 : toolChild.id,
1311
1314
  })), { toolCall: mainToolCall }),
1312
1315
  });
1313
1316
  // if there are any parameters/arguments, add them to the input slots
1314
1317
  if (mainToolCall.function.arguments) {
1315
- input.aiAgent = Object.assign(Object.assign({}, input.aiAgent), { toolArgs: Object.assign(Object.assign({}, (_12 = (_11 = input.aiAgent) === null || _11 === void 0 ? void 0 : _11.toolArgs) !== null && _12 !== void 0 ? _12 : {}), mainToolCall.function.arguments) });
1318
+ input.aiAgent = Object.assign(Object.assign({}, input.aiAgent), { toolArgs: Object.assign(Object.assign({}, (_13 = (_12 = input.aiAgent) === null || _12 === void 0 ? void 0 : _12.toolArgs) !== null && _13 !== void 0 ? _13 : {}), mainToolCall.function.arguments) });
1316
1319
  }
1317
1320
  // Debug Message for Tool Calls, configured in the Tool Node
1318
- if ((_13 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _13 === void 0 ? void 0 : _13.debugMessage) {
1321
+ if ((_14 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _14 === void 0 ? void 0 : _14.debugMessage) {
1319
1322
  const toolId = isMcpToolCall ? mainToolCall.function.name : yield api.parseCognigyScriptText(toolChild.config.toolId);
1320
1323
  const messageLines = [`<b>UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__HEADER:</b> ${toolId}`];
1321
1324
  // Arguments / Parameters Slots
1322
- const slots = ((_14 = mainToolCall === null || mainToolCall === void 0 ? void 0 : mainToolCall.function) === null || _14 === void 0 ? void 0 : _14.arguments) && Object.keys(mainToolCall.function.arguments);
1325
+ const slots = ((_15 = mainToolCall === null || mainToolCall === void 0 ? void 0 : mainToolCall.function) === null || _15 === void 0 ? void 0 : _15.arguments) && Object.keys(mainToolCall.function.arguments);
1323
1326
  const hasSlots = slots && slots.length > 0;
1324
1327
  messageLines.push(`<b>UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__SLOTS</b>${hasSlots ? "" : " -"}`);
1325
1328
  if (hasSlots) {
@@ -1334,7 +1337,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1334
1337
  messageLines.push(`- ${slot}: ${slotValueAsString}`);
1335
1338
  });
1336
1339
  }
1337
- (_15 = api.logDebugMessage) === null || _15 === void 0 ? void 0 : _15.call(api, messageLines.join("\n"), "UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__HEADER");
1340
+ (_16 = api.logDebugMessage) === null || _16 === void 0 ? void 0 : _16.call(api, messageLines.join("\n"), "UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__HEADER");
1338
1341
  }
1339
1342
  if (toolChild) {
1340
1343
  api.setNextNode(toolChild.id);
@@ -1359,11 +1362,11 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1359
1362
  }
1360
1363
  // Optionally output the result immediately
1361
1364
  if (llmResult.result && outputImmediately && !llmPromptOptions.stream) {
1362
- yield ((_16 = api.output) === null || _16 === void 0 ? void 0 : _16.call(api, llmResult.result, {}));
1365
+ yield ((_17 = api.output) === null || _17 === void 0 ? void 0 : _17.call(api, llmResult.result, {}));
1363
1366
  }
1364
1367
  else if (llmResult.finishReason && llmPromptOptions.stream) {
1365
1368
  // send the finishReason as last output for a stream
1366
- (_17 = api.output) === null || _17 === void 0 ? void 0 : _17.call(api, "", {
1369
+ (_18 = api.output) === null || _18 === void 0 ? void 0 : _18.call(api, "", {
1367
1370
  _cognigy: {
1368
1371
  _preventTranscript: true,
1369
1372
  _messageId,
@@ -1386,7 +1389,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1386
1389
  }
1387
1390
  // Add response to Cognigy Input/Context for further usage
1388
1391
  if (storeLocation === "context") {
1389
- (_18 = api.addToContext) === null || _18 === void 0 ? void 0 : _18.call(api, contextKey, llmResult, "simple");
1392
+ (_19 = api.addToContext) === null || _19 === void 0 ? void 0 : _19.call(api, contextKey, llmResult, "simple");
1390
1393
  }
1391
1394
  else if (storeLocation === "input") {
1392
1395
  api.addToInput(inputKey, llmResult);
@@ -1399,14 +1402,14 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1399
1402
  const errorDetails = {
1400
1403
  name: (error === null || error === void 0 ? void 0 : error.name) || "Error",
1401
1404
  code: (error === null || error === void 0 ? void 0 : error.code) || (error === null || error === void 0 ? void 0 : error.httpStatusCode),
1402
- message: (error === null || error === void 0 ? void 0 : error.message) || ((_19 = error.originalErrorDetails) === null || _19 === void 0 ? void 0 : _19.message),
1405
+ message: (error === null || error === void 0 ? void 0 : error.message) || ((_20 = error.originalErrorDetails) === null || _20 === void 0 ? void 0 : _20.message),
1403
1406
  };
1404
- (_20 = api.emitEvent) === null || _20 === void 0 ? void 0 : _20.call(api, "nodeError", { nodeId, flowId: flowReferenceId, errorMessage: error });
1407
+ (_21 = api.emitEvent) === null || _21 === void 0 ? void 0 : _21.call(api, "nodeError", { nodeId, flowId: flowReferenceId, errorMessage: error });
1405
1408
  if (logErrorToSystem) {
1406
- (_21 = api.log) === null || _21 === void 0 ? void 0 : _21.call(api, "error", JSON.stringify(errorDetails));
1409
+ (_22 = api.log) === null || _22 === void 0 ? void 0 : _22.call(api, "error", JSON.stringify(errorDetails));
1407
1410
  }
1408
1411
  if (errorHandling !== "stop") {
1409
- (_22 = api.logDebugError) === null || _22 === void 0 ? void 0 : _22.call(api, errorDetails.message + (errorDetails.code ? ` (error code: ${errorDetails.code})` : ""), errorDetails.name);
1412
+ (_23 = api.logDebugError) === null || _23 === void 0 ? void 0 : _23.call(api, errorDetails.message + (errorDetails.code ? ` (error code: ${errorDetails.code})` : ""), errorDetails.name);
1410
1413
  }
1411
1414
  if (storeErrorInInput) {
1412
1415
  input.aiAgent = input.aiAgent || {};
@@ -1415,7 +1418,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1415
1418
  if (errorHandling === "continue") {
1416
1419
  // output the timeout message
1417
1420
  if (errorMessage) {
1418
- yield ((_23 = api.output) === null || _23 === void 0 ? void 0 : _23.call(api, errorMessage, null));
1421
+ yield ((_24 = api.output) === null || _24 === void 0 ? void 0 : _24.call(api, errorMessage, null));
1419
1422
  }
1420
1423
  // Set default node as next node
1421
1424
  const defaultChild = childConfigs.find(child => child.type === "aiAgentJobDefault");
@@ -1427,7 +1430,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1427
1430
  if (!errorHandlingGotoTarget) {
1428
1431
  throw new Error("GoTo Target is required");
1429
1432
  }
1430
- if (!((_24 = api.checkThink) === null || _24 === void 0 ? void 0 : _24.call(api, nodeId))) {
1433
+ if (!((_25 = api.checkThink) === null || _25 === void 0 ? void 0 : _25.call(api, nodeId))) {
1431
1434
  api.resetNextNodes();
1432
1435
  yield api.executeFlow({
1433
1436
  flowNode: {
@@ -1,6 +1,7 @@
1
1
  import { __awaiter } from "tslib";
2
2
  /* Custom modules */
3
3
  import { createNodeDescriptor } from "../../../createNodeDescriptor";
4
+ import { parseMcpHeaders } from "./helpers/parseMcpHeaders";
4
5
  import { TranscriptEntryType, TranscriptRole, } from "../../../../interfaces/transcripts/transcripts";
5
6
  export const AI_AGENT_JOB_CALL_MCP_TOOL = createNodeDescriptor({
6
7
  type: "aiAgentJobCallMCPTool",
@@ -58,7 +59,7 @@ export const AI_AGENT_JOB_CALL_MCP_TOOL = createNodeDescriptor({
58
59
  label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_CALL_MCP_TOOL__FIELDS__RESOLVE_IMMEDIATELY__LABEL",
59
60
  type: "toggle",
60
61
  description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_CALL_MCP_TOOL__FIELDS__RESOLVE_IMMEDIATELY__DESCRIPTION",
61
- defaultValue: false,
62
+ defaultValue: true,
62
63
  },
63
64
  {
64
65
  key: "debugToolResult",
@@ -100,7 +101,8 @@ export const AI_AGENT_JOB_CALL_MCP_TOOL = createNodeDescriptor({
100
101
  const aiAgentJobNode = (_b = sessionState.lastToolCall) === null || _b === void 0 ? void 0 : _b.aiAgentJobNode;
101
102
  const mcpServerUrl = (_c = sessionState.lastToolCall) === null || _c === void 0 ? void 0 : _c.mcpServerUrl;
102
103
  const timeout = (_d = sessionState.lastToolCall) === null || _d === void 0 ? void 0 : _d.timeout;
103
- const mcpHeaders = (_e = sessionState.lastToolCall) === null || _e === void 0 ? void 0 : _e.mcpHeaders;
104
+ // Use the helper function to parse MCP headers
105
+ const mcpHeaders = yield parseMcpHeaders((_e = sessionState.lastToolCall) === null || _e === void 0 ? void 0 : _e.mcpHeaders, api);
104
106
  if (!(toolCall === null || toolCall === void 0 ? void 0 : toolCall.id)) {
105
107
  (_f = api.logDebugError) === null || _f === void 0 ? void 0 : _f.call(api, "UI__DEBUG_MODE__AI_AGENT_ANSWER__ERROR__MESSAGE");
106
108
  }
@@ -1,5 +1,6 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { validateToolId } from "./createSystemMessage";
3
+ import { parseMcpHeaders } from "./parseMcpHeaders";
3
4
  /**
4
5
  * Creates the tool definitions for the AI Agent Job and LLM Prompt v2 Nodes
5
6
  * @param childConfigs Child node configurations
@@ -43,7 +44,8 @@ export const createToolDefinitions = (childConfigs, api, useStrict) => __awaiter
43
44
  const cacheTools = child.config.cacheTools;
44
45
  const sendDebug = child.config.debugMessageFetchedTools;
45
46
  const toolFilter = child.config.toolFilter;
46
- const mcpHeaders = child.config.mcpHeaders;
47
+ // Parse mcpHeaders values if present and resolve any Cognigy script expressions
48
+ const mcpHeaders = yield parseMcpHeaders(child.config.mcpHeaders, api);
47
49
  let mcpTools = null;
48
50
  let fetchedFromCache = null;
49
51
  try {
@@ -0,0 +1,25 @@
1
+ import { __awaiter } from "tslib";
2
+ /**
3
+ * Parses MCP headers by resolving any Cognigy script expressions in string values
4
+ * @param mcpHeaders - The headers object to parse
5
+ * @param api - The Cognigy API instance for parsing script text
6
+ * @returns The parsed headers object
7
+ */
8
+ export function parseMcpHeaders(mcpHeaders, api) {
9
+ return __awaiter(this, void 0, void 0, function* () {
10
+ if (!mcpHeaders || typeof mcpHeaders !== "object") {
11
+ return {};
12
+ }
13
+ const parsedMcpHeaders = {};
14
+ for (const [key, value] of Object.entries(mcpHeaders)) {
15
+ if (typeof value === "string") {
16
+ parsedMcpHeaders[key] = yield api.parseCognigyScriptText(value);
17
+ }
18
+ else {
19
+ parsedMcpHeaders[key] = value;
20
+ }
21
+ }
22
+ return parsedMcpHeaders;
23
+ });
24
+ }
25
+ //# sourceMappingURL=parseMcpHeaders.js.map
@@ -4,7 +4,7 @@ import { createNodeDescriptor } from "../../createNodeDescriptor";
4
4
  import { COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS } from "../../../constants";
5
5
  export const HANDOVER_V2 = createNodeDescriptor({
6
6
  type: "handoverToAgent",
7
- defaultLabel: "Handover to Agent",
7
+ defaultLabel: "Handover to Human Agent",
8
8
  summary: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SUMMARY",
9
9
  appearance: {
10
10
  showIcon: false
@@ -522,6 +522,9 @@ export const HTTP_REQUEST = createNodeDescriptor({
522
522
  type: "text",
523
523
  },
524
524
  tags: ["service", "get", "post", "put", "patch"],
525
+ mocking: {
526
+ defaultMockCode: `input.httprequest = {response: "Mock response"};`
527
+ },
525
528
  function: (httpRequestParams) => __awaiter(void 0, void 0, void 0, function* () {
526
529
  const { cognigy, config } = httpRequestParams;
527
530
  const { api } = cognigy;
@@ -30,7 +30,9 @@ export { AI_AGENT_HANDOVER } from "./aiAgent/aiAgentHandover";
30
30
  export { AI_AGENT_JOB_CALL_MCP_TOOL } from "./aiAgent/aiAgentJobCallMCPTool";
31
31
  export { KNOWLEDGE_TOOL } from "./agentTools/knowledgeTool";
32
32
  export { HANDOVER_TO_AI_AGENT_TOOL } from "./agentTools/handoverToAiAgentTool";
33
+ export { HANDOVER_TO_HUMAN_AGENT_TOOL } from "./agentTools/handoverToHumanAgentTool";
33
34
  export { SEND_EMAIL_TOOL } from "./agentTools/sendEmailTool";
35
+ export { EXECUTE_WORKFLOW_TOOL } from "./agentTools/executeWorkflowTool";
34
36
  export { LOAD_AI_AGENT } from "./aiAgent/loadAiAgent";
35
37
  export { LIVE_AGENT_CONNECTION, RINGCENTRAL_ENGAGE_CONNECTION, CHATWOOT_CONNECTION, EIGHT_BY_EIGHT_CONNECTION, GENESYS_CLOUD_CONNECTION, GENESYS_CLOUD_CONNECTION_OM, STORM_CONNECTION } from "./handoverConnections";
36
38
  export { NICECXONEAAH_AUTHENTICATION_CONNECTION } from "./niceCXOneAAHAuthenticationConnection";
@@ -5,6 +5,7 @@ import * as crypto from "crypto";
5
5
  import { createNodeDescriptor } from "../../../createNodeDescriptor";
6
6
  import { GO_TO } from "../../logic";
7
7
  import { createToolDefinitions } from "../aiAgent/helpers/createToolDefinitions";
8
+ import { parseMcpHeaders } from "../aiAgent/helpers/parseMcpHeaders";
8
9
  import { createLastConverationString, createLastUserInputString, writeLLMDebugLogs } from "../../nlu/generativeSlotFiller/prompt";
9
10
  import { InternalServerError } from "../../../../errors";
10
11
  import { TranscriptEntryType, TranscriptRole } from "../../../../interfaces/transcripts/transcripts";
@@ -16,7 +17,7 @@ export const LLM_PROMPT_V2 = createNodeDescriptor({
16
17
  collapsable: true,
17
18
  placement: {
18
19
  children: {
19
- whitelist: ["llmPromptDefault", "llmPromptTool", "llmPromptMCPTool", "knowledgeTool", "handoverToAiAgentTool", "sendEmailTool"],
20
+ whitelist: ["llmPromptDefault", "llmPromptTool", "llmPromptMCPTool", "knowledgeTool", "handoverToAiAgentTool", "handoverToHumanAgentTool", "sendEmailTool", "executeWorkflowTool"],
20
21
  },
21
22
  },
22
23
  },
@@ -689,6 +690,9 @@ export const LLM_PROMPT_V2 = createNodeDescriptor({
689
690
  color: "#252525",
690
691
  },
691
692
  tags: ["ai", "llm", "gpt", "generative ai", "openai", "azure", "prompt"],
693
+ mocking: {
694
+ defaultMockCode: `input.llmResponse = {response: "Mock response"};`
695
+ },
692
696
  function: ({ cognigy, config, childConfigs, nodeId }) => __awaiter(void 0, void 0, void 0, function* () {
693
697
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
694
698
  const { api, input, flowReferenceId } = cognigy;
@@ -894,13 +898,16 @@ export const LLM_PROMPT_V2 = createNodeDescriptor({
894
898
  break;
895
899
  }
896
900
  }
901
+ let mcpHeaders = (_g = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _g === void 0 ? void 0 : _g.mcpHeaders;
897
902
  if (!toolChild && toolMap.has(mainToolCall.function.name)) {
898
903
  // If the tool call is from an MCP tool, set the next node to the corresponding child node
899
904
  toolChild = childConfigs.find(child => child.id === toolMap.get(mainToolCall.function.name));
900
905
  isMcpToolCall = true;
906
+ // Parse mcpHeaders values if present and resolve any Cognigy script expressions
907
+ mcpHeaders = yield parseMcpHeaders(toolChild === null || toolChild === void 0 ? void 0 : toolChild.config.mcpHeaders, api);
901
908
  }
902
909
  if (mainToolCall.function.name !== "retrieve_knowledge" && toolChild === undefined) {
903
- (_g = api.logDebugError) === null || _g === void 0 ? void 0 : _g.call(api, `UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__ERROR__BODY <b>${mainToolCall.function.name}</b>`, "UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__ERROR__HEADER");
910
+ (_h = api.logDebugError) === null || _h === void 0 ? void 0 : _h.call(api, `UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__ERROR__BODY <b>${mainToolCall.function.name}</b>`, "UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__ERROR__HEADER");
904
911
  }
905
912
  // Add last tool call to session state for loading it from Tool Answer Node
906
913
  api.updateSessionStateValues({
@@ -908,8 +915,8 @@ export const LLM_PROMPT_V2 = createNodeDescriptor({
908
915
  flow: flowReferenceId,
909
916
  node: nodeId,
910
917
  } }, (isMcpToolCall && {
911
- mcpServerUrl: (_h = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _h === void 0 ? void 0 : _h.mcpServerUrl,
912
- mcpHeaders: (_j = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _j === void 0 ? void 0 : _j.mcpHeaders,
918
+ mcpServerUrl: (_j = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _j === void 0 ? void 0 : _j.mcpServerUrl,
919
+ mcpHeaders,
913
920
  timeout: (_k = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _k === void 0 ? void 0 : _k.timeout,
914
921
  mcpToolNode: toolChild === null || toolChild === void 0 ? void 0 : toolChild.id,
915
922
  })), { toolCall: mainToolCall }),
@@ -175,10 +175,10 @@ class SessionConfigMapper extends BaseMapper {
175
175
  return synthesizer;
176
176
  }
177
177
  buildRecognizer(sessionParams, stt, vad, azureConfig) {
178
- var _a, _b, _c;
178
+ var _a, _b, _c, _d;
179
179
  const { recognizer: sessionParamsRecognizer } = sessionParams || {};
180
180
  const { vendor: spVendor, language: spLanguage, hints: spHints, label: spLabel, model: spModel, azureSttEndpointId: spAzureSttEndpointId, audioLogging: spAudioLogging, hintsBoost: spHintsBoost, punctuation: spPunctuation, altLanguages: spAltLanguages = [], deepgramOptions: spDeepgramOptions, vad: spVad, profanityOption: spProfanityOption } = sessionParamsRecognizer || {};
181
- const { sttVendor, sttLanguage, sttHints, sttLabel, sttHintsBoost, sttDisablePunctuation, googleModel, deepgramEndpointing, deepgramEndpointingValue, sttDeepgramModel, deepgramSmartFormatting, deepgramShortUtterance, altLanguages = [] } = stt || {};
181
+ const { sttVendor, sttLanguage, sttHints, sttLabel, sttHintsBoost, sttDisablePunctuation, googleModel, deepgramEndpointing, deepgramEndpointingValue, sttModel, deepgramSmartFormatting, deepgramShortUtterance, altLanguages = [] } = stt || {};
182
182
  const recognizer = {};
183
183
  recognizer.language = spLanguage || sttLanguage || undefined;
184
184
  recognizer.hints = spHints || sttHints || undefined;
@@ -213,7 +213,7 @@ class SessionConfigMapper extends BaseMapper {
213
213
  * ssc node: 'deepgramEndpointing' => boolean, 'deepgramEndpointingValue' => number
214
214
  */
215
215
  const isDeepgramEndpointingEnabled = (_a = (typeof spEndpointing === "number" || deepgramEndpointing)) !== null && _a !== void 0 ? _a : false;
216
- recognizer.model = spModel || sttDeepgramModel;
216
+ recognizer.model = spModel || sttModel;
217
217
  const deepgramOptions = {
218
218
  endpointing: false,
219
219
  punctuate: recognizer.punctuation,
@@ -226,6 +226,12 @@ class SessionConfigMapper extends BaseMapper {
226
226
  }
227
227
  recognizer.deepgramOptions = deepgramOptions;
228
228
  }
229
+ if (recognizer.vendor === 'openai') {
230
+ const openaiModel = spModel || sttModel;
231
+ if (openaiModel) {
232
+ recognizer.openaiOptions = Object.assign(Object.assign({}, ((_d = recognizer.openaiOptions) !== null && _d !== void 0 ? _d : {})), { model: openaiModel });
233
+ }
234
+ }
229
235
  }
230
236
  if (this.has(spVad) || this.has(vad)) {
231
237
  const { enable: spEnable, mode: spMode, voiceMs: spVoiceMs } = spVad || {};
@@ -292,7 +298,7 @@ class SessionConfigMapper extends BaseMapper {
292
298
  }
293
299
  const mapper = new SessionConfigMapper("voiceGateway2");
294
300
  export function voiceConfigParamsToVoiceSettings(config, api) {
295
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
301
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
296
302
  let voiceSettings = {};
297
303
  if (config.sttVendor === 'none') {
298
304
  delete config.sttVendor;
@@ -344,10 +350,10 @@ export function voiceConfigParamsToVoiceSettings(config, api) {
344
350
  /* by default we enable endpointing - it is only undefined via SAP */
345
351
  deepgramEndpointing,
346
352
  deepgramEndpointingValue: (_g = config.deepgramEndpointingValue) !== null && _g !== void 0 ? _g : 250,
347
- sttDeepgramModel: (_h = config.sttDeepgramModel) !== null && _h !== void 0 ? _h : "nova-2",
348
- deepgramSmartFormatting: (_j = config.deepgramSmartFormatting) !== null && _j !== void 0 ? _j : undefined,
353
+ sttModel: config.sttModel || "",
354
+ deepgramSmartFormatting: (_h = config.deepgramSmartFormatting) !== null && _h !== void 0 ? _h : undefined,
349
355
  deepgramShortUtterance,
350
- listenDuringPrompt: (_k = config.sttListenDuringPrompt) !== null && _k !== void 0 ? _k : undefined,
356
+ listenDuringPrompt: (_j = config.sttListenDuringPrompt) !== null && _j !== void 0 ? _j : undefined,
351
357
  };
352
358
  // tts (synthesizer)
353
359
  voiceSettings.tts = {
@@ -392,7 +398,7 @@ export function voiceConfigParamsToVoiceSettings(config, api) {
392
398
  voiceSettings.stt.altLanguages = [];
393
399
  }
394
400
  }
395
- if (config.ttsVendor === "elevenlabs") {
401
+ if (config.ttsVendor === "elevenlabs" || config.ttsVendor === "openai") {
396
402
  voiceSettings.tts.ttsModel = config.ttsModel;
397
403
  }
398
404
  // userNoInput
@@ -414,7 +420,7 @@ export function voiceConfigParamsToVoiceSettings(config, api) {
414
420
  flowNoInputFail: config.flowNoInputFail
415
421
  };
416
422
  // Check if userNoInputTimeout has a value and userNoInputTimeoutEnable is null or undefined to cover generic nodes
417
- if (((_l = voiceSettings === null || voiceSettings === void 0 ? void 0 : voiceSettings.userNoInput) === null || _l === void 0 ? void 0 : _l.userNoInputTimeout) && (voiceSettings.userNoInput.userNoInputTimeoutEnable === null || voiceSettings.userNoInput.userNoInputTimeoutEnable === undefined)) {
423
+ if (((_k = voiceSettings === null || voiceSettings === void 0 ? void 0 : voiceSettings.userNoInput) === null || _k === void 0 ? void 0 : _k.userNoInputTimeout) && (voiceSettings.userNoInput.userNoInputTimeoutEnable === null || voiceSettings.userNoInput.userNoInputTimeoutEnable === undefined)) {
418
424
  voiceSettings.userNoInput.userNoInputTimeoutEnable = true;
419
425
  }
420
426
  voiceSettings.dtmf = {
@@ -422,7 +428,7 @@ export function voiceConfigParamsToVoiceSettings(config, api) {
422
428
  dtmfInterDigitTimeout: config.dtmfInterDigitTimeout,
423
429
  dtmfMaxDigits: config.dtmfMaxDigits,
424
430
  dtmfMinDigits: config.dtmfMinDigits,
425
- dtmfSubmitDigit: (_m = config.dtmfSubmitDigit) === null || _m === void 0 ? void 0 : _m.trim(),
431
+ dtmfSubmitDigit: (_l = config.dtmfSubmitDigit) === null || _l === void 0 ? void 0 : _l.trim(),
426
432
  };
427
433
  if (config === null || config === void 0 ? void 0 : config.dtmfEnable) {
428
434
  if (voiceSettings.dtmf.dtmfSubmitDigit &&
@@ -459,7 +465,7 @@ export function voiceConfigParamsToVoiceSettings(config, api) {
459
465
  }
460
466
  // atmosphere sounds
461
467
  if (config.atmosphereAction) {
462
- if ((_o = config.atmosphereUrl) === null || _o === void 0 ? void 0 : _o.length) {
468
+ if ((_m = config.atmosphereUrl) === null || _m === void 0 ? void 0 : _m.length) {
463
469
  if (!isValidUrl(config.atmosphereUrl)) {
464
470
  throw new Error(`Audio file URL is invalid ${config.atmosphereUrl}`);
465
471
  }
@@ -2,7 +2,7 @@
2
2
  import { cleanTarget } from "../../../descriptors/voicegateway2/utils/helper";
3
3
  import { isValidUrl, isValidPhoneNumber } from "../utils/helper";
4
4
  export const transfer = {
5
- handleInput(endpointType, params, isGenericNode = false, recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, mediaPath, anchorMedia) {
5
+ handleInput(endpointType, params, isGenericNode = false, recognitionChannel, sttVendor, sttLanguage, googleModel, sttModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, mediaPath, anchorMedia) {
6
6
  try {
7
7
  switch (endpointType) {
8
8
  case "bandwidth":
@@ -21,14 +21,14 @@ export const transfer = {
21
21
  return this.handleAudioCodesInput(prepareTransferParams(params), endpointType);
22
22
  case "voiceGateway2":
23
23
  default:
24
- return this.handleVGInput(prepareTransferParams(params), recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, mediaPath, anchorMedia);
24
+ return this.handleVGInput(prepareTransferParams(params), recognitionChannel, sttVendor, sttLanguage, googleModel, sttModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, mediaPath, anchorMedia);
25
25
  }
26
26
  }
27
27
  catch (error) {
28
28
  throw Error(error.message);
29
29
  }
30
30
  },
31
- handleVGInput(transferParam, recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, mediaPath, anchorMedia) {
31
+ handleVGInput(transferParam, recognitionChannel, sttVendor, sttLanguage, googleModel, sttModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, mediaPath, anchorMedia) {
32
32
  const { transferType, transferTarget, transferReason, referredBy, useTransferSipHeaders, transferSipHeaders, dialMusic, dialTranscriptionWebhook, dialCallerId, amdEnabled, amdRedirectOnMachineDetected, amdRedirectText, dialTimeout, timeLimit, sttLabel } = transferParam;
33
33
  const payload = {
34
34
  _voiceGateway2: {
@@ -119,9 +119,9 @@ export const transfer = {
119
119
  recognizer.model = googleModel;
120
120
  }
121
121
  if (recognizer.vendor === 'deepgram') {
122
- recognizer.model = sttDeepgramModel;
122
+ recognizer.model = sttModel;
123
123
  recognizer.deepgramOptions = {
124
- model: sttDeepgramModel,
124
+ model: sttModel,
125
125
  punctuate: !sttDisablePunctuation,
126
126
  endpointing: deepgramEndpointing ? deepgramEndpointingValue : false,
127
127
  smartFormatting: deepgramSmartFormatting !== null && deepgramSmartFormatting !== void 0 ? deepgramSmartFormatting : false
@@ -262,7 +262,7 @@ export const voiceConfigFields = [
262
262
  defaultValue: "",
263
263
  params: {
264
264
  languageKey: "config.sttLanguage",
265
- modelKey: "config.sttDeepgramModel",
265
+ modelKey: "config.sttModel",
266
266
  }
267
267
  },
268
268
  {
@@ -273,7 +273,7 @@ export const voiceConfigFields = [
273
273
  defaultValue: "",
274
274
  },
275
275
  {
276
- key: "sttDeepgramModel",
276
+ key: "sttModel",
277
277
  type: "sttSelect",
278
278
  label: "_unused_",
279
279
  description: "_unused_",
@@ -246,7 +246,7 @@ export const voiceConfigFields = [
246
246
  defaultValue: "",
247
247
  params: {
248
248
  languageKey: "config.sttLanguage",
249
- modelKey: "config.sttDeepgramModel",
249
+ modelKey: "config.sttModel",
250
250
  }
251
251
  },
252
252
  {
@@ -257,14 +257,22 @@ export const voiceConfigFields = [
257
257
  defaultValue: "",
258
258
  },
259
259
  {
260
- key: "sttDeepgramModel",
260
+ key: "sttModel",
261
261
  type: "sttSelect",
262
262
  label: "_unused_",
263
263
  description: "_unused_",
264
264
  defaultValue: "",
265
265
  condition: {
266
- key: "sttVendor",
267
- value: "deepgram"
266
+ and: [
267
+ {
268
+ key: "sttVendor",
269
+ value: "deepgram"
270
+ },
271
+ {
272
+ key: "sttVendor",
273
+ value: "openai"
274
+ }
275
+ ]
268
276
  }
269
277
  },
270
278
  {
@@ -1094,6 +1102,7 @@ export const setSessionConfigNode = createNodeDescriptor({
1094
1102
  try {
1095
1103
  const voiceSettings = voiceConfigParamsToVoiceSettings(config, api);
1096
1104
  const payload = setSessionConfig.handleVGInput(voiceSettings, sessionParams, api);
1105
+ api.log("error", JSON.stringify(payload));
1097
1106
  yield api.say(null, {
1098
1107
  _cognigy: payload,
1099
1108
  });
@@ -313,7 +313,7 @@ export const transferNode = createNodeDescriptor({
313
313
  defaultValue: "",
314
314
  params: {
315
315
  languageKey: "config.sttLanguage",
316
- modelKey: "config.sttDeepgramModel"
316
+ modelKey: "config.sttModel"
317
317
  },
318
318
  condition: {
319
319
  key: "transferType",
@@ -321,7 +321,7 @@ export const transferNode = createNodeDescriptor({
321
321
  }
322
322
  },
323
323
  {
324
- key: "sttDeepgramModel",
324
+ key: "sttModel",
325
325
  type: "sttSelect",
326
326
  label: "_unused_",
327
327
  description: "_unused_",
@@ -551,7 +551,7 @@ export const transferNode = createNodeDescriptor({
551
551
  summary: "UI__NODE_EDITOR__VOICEGATEWAY2__TRANSFER__SUMMARY",
552
552
  function: ({ cognigy, config, }) => __awaiter(void 0, void 0, void 0, function* () {
553
553
  const { api, input } = cognigy;
554
- const { transferType, transferTarget, referredBy, mediaPath, useTransferSipHeaders, transferSipHeaders = {}, transferReason, dialMusic, dialTranscriptionWebhook, dialCallerId, recognitionChannel, sttVendor, sttLanguage, sttDisablePunctuation, dialTimeout, enableTimeLimit, timeLimit, amdEnabled, amdRedirectOnMachineDetected, amdRedirectText, sttLabel, googleModel, sttDeepgramModel, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, agentAssistEnabled, agentAssistHeadersKey = customHeaderDefaultValue, anchorMedia } = config;
554
+ const { transferType, transferTarget, referredBy, mediaPath, useTransferSipHeaders, transferSipHeaders = {}, transferReason, dialMusic, dialTranscriptionWebhook, dialCallerId, recognitionChannel, sttVendor, sttLanguage, sttDisablePunctuation, dialTimeout, enableTimeLimit, timeLimit, amdEnabled, amdRedirectOnMachineDetected, amdRedirectText, sttLabel, googleModel, sttModel, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, agentAssistEnabled, agentAssistHeadersKey = customHeaderDefaultValue, anchorMedia } = config;
555
555
  const transferParams = {
556
556
  transferType,
557
557
  transferReason,
@@ -625,7 +625,7 @@ export const transferNode = createNodeDescriptor({
625
625
  transferParams.useTransferSipHeaders = false;
626
626
  api.log("error", "Invalid JSON in Transfer SIP Headers");
627
627
  }
628
- const payload = transfer.handleInput("voiceGateway2", transferParams, false, recognitionChannel, sttVendor, sttLanguage, googleModel, sttDeepgramModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, media, anchorMedia);
628
+ const payload = transfer.handleInput("voiceGateway2", transferParams, false, recognitionChannel, sttVendor, sttLanguage, googleModel, sttModel, sttDisablePunctuation, deepgramEndpointing, deepgramEndpointingValue, deepgramSmartFormatting, media, anchorMedia);
629
629
  yield api.say(null, {
630
630
  _cognigy: payload,
631
631
  });
@@ -21,6 +21,7 @@ export const referenceKeys = [
21
21
  "resourceReference",
22
22
  "snapshotReference",
23
23
  "subResourceReference",
24
+ "connectorReference",
24
25
  "storeReference",
25
26
  "sourceReference",
26
27
  ];