@cognigy/rest-api-client 2025.25.0 → 2026.2.0-rc1

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 (169) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +15 -0
  3. package/build/apigroups/InsightsAPIGroup_2_1.js +27 -0
  4. package/build/apigroups/ResourcesAPIGroup_2_0.js +140 -375
  5. package/build/apigroups/SimulationAPIGroup_2_0.js +33 -18
  6. package/build/apigroups/aiAgentsV2/agent.js +3 -0
  7. package/build/apigroups/aiAgentsV2/agentAPI.js +38 -0
  8. package/build/apigroups/aiAgentsV2/agentPersona.js +3 -0
  9. package/build/apigroups/aiAgentsV2/agentPersonaAPI.js +38 -0
  10. package/build/apigroups/aiAgentsV2/tool.js +3 -0
  11. package/build/apigroups/aiAgentsV2/toolAPI.js +35 -0
  12. package/build/apigroups/aiAgentsV2/toolDescriptor.js +3 -0
  13. package/build/apigroups/aiAgentsV2/toolDescriptorAPI.js +13 -0
  14. package/build/apigroups/index.js +3 -1
  15. package/build/authentication/AuthenticationAPI.js +1 -0
  16. package/build/shared/charts/createNodeDescriptor.js +1 -0
  17. package/build/shared/charts/descriptors/analytics/overwriteAnalytics.js +14 -0
  18. package/build/shared/charts/descriptors/analytics/updateProfile.js +5 -0
  19. package/build/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +7 -0
  20. package/build/shared/charts/descriptors/connectionNodes/smtp/index.js +5 -1
  21. package/build/shared/charts/descriptors/connectionNodes/smtp/oAuth2ClientCredentialsConnection.js +15 -0
  22. package/build/shared/charts/descriptors/connectionNodes/smtp/oAuth2JwtBearerConnection.js +13 -0
  23. package/build/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +63 -10
  24. package/build/shared/charts/descriptors/connectionNodes/speechProviders/elevenlabsSpeechProviderConnection.js +52 -0
  25. package/build/shared/charts/descriptors/connectionNodes/speechProviders/index.js +8 -7
  26. package/build/shared/charts/descriptors/index.js +6 -0
  27. package/build/shared/charts/descriptors/message/question/question.js +254 -59
  28. package/build/shared/charts/descriptors/message/say.js +3 -0
  29. package/build/shared/charts/descriptors/service/agentTools/executeWorkflowTool.js +239 -0
  30. package/build/shared/charts/descriptors/service/agentTools/handoverToHumanAgentTool.js +783 -0
  31. package/build/shared/charts/descriptors/service/agentTools/sendEmailTool.js +33 -4
  32. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +25 -20
  33. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJobCallMCPTool.js +10 -6
  34. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJobMCPTool.js +57 -1
  35. package/build/shared/charts/descriptors/service/aiAgent/helpers/createToolDefinitions.js +10 -1
  36. package/build/shared/charts/descriptors/service/aiAgent/helpers/parseMcpHeaders.js +26 -0
  37. package/build/shared/charts/descriptors/service/aiAgentV2.js +89 -0
  38. package/build/shared/charts/descriptors/service/handoverV2.js +1 -1
  39. package/build/shared/charts/descriptors/service/httpRequest.js +3 -0
  40. package/build/shared/charts/descriptors/service/index.js +9 -1
  41. package/build/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +26 -17
  42. package/build/shared/charts/descriptors/service/llmPrompt/llmPromptMCPTool.js +57 -1
  43. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +75 -15
  44. package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +27 -5
  45. package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +67 -2
  46. package/build/shared/charts/descriptors/voicegateway2/nodes/play.js +7 -0
  47. package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +149 -4
  48. package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +137 -4
  49. package/build/shared/errors/ErrorCode.js +2 -1
  50. package/build/shared/errors/ErrorCollection.js +1 -0
  51. package/build/shared/helper/BaseContext.js +1 -1
  52. package/build/shared/interfaces/amqpInterface.js +1 -0
  53. package/build/shared/interfaces/generativeAI/IGenerativeAIModels.js +1 -0
  54. package/build/shared/interfaces/handover.js +1 -0
  55. package/build/shared/interfaces/handoverProviders.js +0 -1
  56. package/build/shared/interfaces/messageAPI/endpoints.js +4 -1
  57. package/build/shared/interfaces/resources/IAuditEvent.js +1 -0
  58. package/build/shared/interfaces/resources/IChart.js +10 -1
  59. package/build/shared/interfaces/resources/IChartNode.js +32 -4
  60. package/build/shared/interfaces/resources/IEndpoint.js +1 -0
  61. package/build/shared/interfaces/resources/INodeDescriptorSet.js +8 -0
  62. package/build/shared/interfaces/resources/TResourceType.js +1 -0
  63. package/build/shared/interfaces/resources/chart/IChartExecutableNode.js +10 -1
  64. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeConnector.js +49 -0
  65. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
  66. package/build/shared/interfaces/resources/settings/IAudioPreviewSettings.js +7 -1
  67. package/build/shared/interfaces/restAPI/administration/user/v2.0/IExchangeCXoneTokenRest_2_0.js +3 -0
  68. package/build/shared/interfaces/restAPI/analytics/IDeleteConversationsBySessionRest_2_1.js +3 -0
  69. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/ICreateKnowledgeConnectorRest_2_0.js +3 -0
  70. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IDeleteKnowledgeConnectorRest_2_0.js +3 -0
  71. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IIndexKnowledgeConnectorsRest_2_0.js +3 -0
  72. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IKnowledgeConnector_2_0.js +3 -0
  73. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IReadKnowledgeConnectorRest_2_0.js +3 -0
  74. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IRunKnowledgeConnectorRest_2_0.js +3 -0
  75. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IUpdateKnowledgeConnectorRest_2_0.js +3 -0
  76. package/build/shared/interfaces/restAPI/simulation/scheduler/ICreateSchedulerRest_2_0.js +3 -0
  77. package/build/shared/interfaces/restAPI/simulation/scheduler/IGetSchedulerRest_2_0.js +3 -0
  78. package/build/shared/interfaces/restAPI/simulation/scheduler/ISchedulerRest_2_0.js +12 -0
  79. package/build/shared/interfaces/restAPI/simulation/scheduler/IUpdateSchedulerRest_2_0.js +3 -0
  80. package/build/shared/interfaces/restAPI/simulation/simulationOverview/IGetSimulationOverviewMetricsRestData_2_0.js +3 -0
  81. package/build/shared/interfaces/restAPI/simulation/simulationOverview/IGetSuccessRateTrendRestData_2_0.js +3 -0
  82. package/build/shared/interfaces/restAPI/simulation/simulationOverview/IGetUpcomingScheduledRunsRestData_2_0.js +3 -0
  83. package/build/shared/interfaces/security/ISessionScope.js +3 -0
  84. package/build/spec/aiAgentV2.spec.js +564 -0
  85. package/dist/esm/apigroups/InsightsAPIGroup_2_1.js +13 -0
  86. package/dist/esm/apigroups/ResourcesAPIGroup_2_0.js +140 -375
  87. package/dist/esm/apigroups/SimulationAPIGroup_2_0.js +33 -18
  88. package/dist/esm/apigroups/aiAgentsV2/agent.js +2 -0
  89. package/dist/esm/apigroups/aiAgentsV2/agentAPI.js +24 -0
  90. package/dist/esm/apigroups/aiAgentsV2/agentPersona.js +2 -0
  91. package/dist/esm/apigroups/aiAgentsV2/agentPersonaAPI.js +24 -0
  92. package/dist/esm/apigroups/aiAgentsV2/aiAgentV2API.js +2 -0
  93. package/dist/esm/apigroups/aiAgentsV2/tool.js +2 -0
  94. package/dist/esm/apigroups/aiAgentsV2/toolAPI.js +21 -0
  95. package/dist/esm/apigroups/aiAgentsV2/toolDescriptor.js +2 -0
  96. package/dist/esm/apigroups/aiAgentsV2/toolDescriptorAPI.js +9 -0
  97. package/dist/esm/apigroups/index.js +1 -0
  98. package/dist/esm/authentication/AuthenticationAPI.js +1 -0
  99. package/dist/esm/shared/charts/createNodeDescriptor.js +1 -0
  100. package/dist/esm/shared/charts/descriptors/analytics/overwriteAnalytics.js +14 -0
  101. package/dist/esm/shared/charts/descriptors/analytics/updateProfile.js +5 -0
  102. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +7 -0
  103. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/index.js +5 -1
  104. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/oAuth2ClientCredentialsConnection.js +12 -0
  105. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/oAuth2JwtBearerConnection.js +10 -0
  106. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +63 -10
  107. package/dist/esm/shared/charts/descriptors/connectionNodes/speechProviders/elevenlabsSpeechProviderConnection.js +49 -0
  108. package/dist/esm/shared/charts/descriptors/connectionNodes/speechProviders/index.js +3 -3
  109. package/dist/esm/shared/charts/descriptors/index.js +7 -1
  110. package/dist/esm/shared/charts/descriptors/message/question/question.js +254 -59
  111. package/dist/esm/shared/charts/descriptors/message/say.js +3 -0
  112. package/dist/esm/shared/charts/descriptors/service/agentTools/executeWorkflowTool.js +237 -0
  113. package/dist/esm/shared/charts/descriptors/service/agentTools/handoverToHumanAgentTool.js +770 -0
  114. package/dist/esm/shared/charts/descriptors/service/agentTools/sendEmailTool.js +33 -4
  115. package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +25 -20
  116. package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJobCallMCPTool.js +10 -6
  117. package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJobMCPTool.js +56 -0
  118. package/dist/esm/shared/charts/descriptors/service/aiAgent/helpers/createToolDefinitions.js +10 -1
  119. package/dist/esm/shared/charts/descriptors/service/aiAgent/helpers/parseMcpHeaders.js +25 -0
  120. package/dist/esm/shared/charts/descriptors/service/aiAgentV2.js +87 -0
  121. package/dist/esm/shared/charts/descriptors/service/handoverV2.js +1 -1
  122. package/dist/esm/shared/charts/descriptors/service/httpRequest.js +3 -0
  123. package/dist/esm/shared/charts/descriptors/service/index.js +4 -0
  124. package/dist/esm/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +33 -24
  125. package/dist/esm/shared/charts/descriptors/service/llmPrompt/llmPromptMCPTool.js +56 -0
  126. package/dist/esm/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +75 -15
  127. package/dist/esm/shared/charts/descriptors/voice/mappers/transfer.mapper.js +27 -5
  128. package/dist/esm/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +67 -2
  129. package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/play.js +7 -0
  130. package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +149 -4
  131. package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/transfer.js +137 -4
  132. package/dist/esm/shared/errors/ErrorCode.js +2 -1
  133. package/dist/esm/shared/errors/ErrorCollection.js +1 -0
  134. package/dist/esm/shared/helper/BaseContext.js +1 -1
  135. package/dist/esm/shared/interfaces/amqpInterface.js +1 -0
  136. package/dist/esm/shared/interfaces/generativeAI/IGenerativeAIModels.js +1 -0
  137. package/dist/esm/shared/interfaces/handover.js +1 -0
  138. package/dist/esm/shared/interfaces/handoverProviders.js +0 -1
  139. package/dist/esm/shared/interfaces/messageAPI/endpoints.js +4 -1
  140. package/dist/esm/shared/interfaces/resources/IAuditEvent.js +1 -0
  141. package/dist/esm/shared/interfaces/resources/IChart.js +10 -1
  142. package/dist/esm/shared/interfaces/resources/IChartNode.js +32 -4
  143. package/dist/esm/shared/interfaces/resources/IEndpoint.js +1 -0
  144. package/dist/esm/shared/interfaces/resources/INodeDescriptorSet.js +8 -0
  145. package/dist/esm/shared/interfaces/resources/TResourceType.js +1 -0
  146. package/dist/esm/shared/interfaces/resources/chart/IChartExecutableNode.js +10 -1
  147. package/dist/esm/shared/interfaces/resources/knowledgeStore/IKnowledgeConnector.js +46 -0
  148. package/dist/esm/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
  149. package/dist/esm/shared/interfaces/resources/settings/IAudioPreviewSettings.js +7 -1
  150. package/dist/esm/shared/interfaces/restAPI/administration/user/v2.0/IExchangeCXoneTokenRest_2_0.js +2 -0
  151. package/dist/esm/shared/interfaces/restAPI/analytics/IDeleteConversationsBySessionRest_2_1.js +2 -0
  152. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/ICreateKnowledgeConnectorRest_2_0.js +2 -0
  153. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IDeleteKnowledgeConnectorRest_2_0.js +2 -0
  154. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IIndexKnowledgeConnectorsRest_2_0.js +2 -0
  155. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IKnowledgeConnector_2_0.js +2 -0
  156. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IReadKnowledgeConnectorRest_2_0.js +2 -0
  157. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IRunKnowledgeConnectorRest_2_0.js +2 -0
  158. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IUpdateKnowledgeConnectorRest_2_0.js +2 -0
  159. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/ICreateSchedulerRest_2_0.js +2 -0
  160. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/IGetSchedulerRest_2_0.js +2 -0
  161. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/ISchedulerRest_2_0.js +9 -0
  162. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/IUpdateSchedulerRest_2_0.js +2 -0
  163. package/dist/esm/shared/interfaces/restAPI/simulation/simulationOverview/IGetSimulationOverviewMetricsRestData_2_0.js +2 -0
  164. package/dist/esm/shared/interfaces/restAPI/simulation/simulationOverview/IGetSuccessRateTrendRestData_2_0.js +2 -0
  165. package/dist/esm/shared/interfaces/restAPI/simulation/simulationOverview/IGetUpcomingScheduledRunsRestData_2_0.js +2 -0
  166. package/dist/esm/shared/interfaces/security/ISessionScope.js +2 -0
  167. package/dist/esm/spec/aiAgentV2.spec.js +563 -0
  168. package/package.json +6 -3
  169. package/types/index.d.ts +1198 -44
@@ -66,6 +66,31 @@ exports.SEND_EMAIL_TOOL = (0, createNodeDescriptor_1.createNodeDescriptor)({
66
66
  maxLength: 255,
67
67
  },
68
68
  },
69
+ {
70
+ key: "cc",
71
+ type: "cognigyText",
72
+ label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__CC__LABEL",
73
+ description: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__CC__DESCRIPTION",
74
+ },
75
+ {
76
+ key: "bcc",
77
+ type: "cognigyText",
78
+ label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__BCC__LABEL",
79
+ description: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__BCC__DESCRIPTION",
80
+ },
81
+ {
82
+ key: "priority",
83
+ type: "select",
84
+ label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__PRIORITY__LABEL",
85
+ defaultValue: "normal",
86
+ params: {
87
+ options: [
88
+ { label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__PRIORITY__HIGH__LABEL", value: "high" },
89
+ { label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__PRIORITY__NORMAL__LABEL", value: "normal" },
90
+ { label: "UI__NODE_EDITOR__SMTP__EMAIL_NOTIFICATION__PRIORITY__LOW__LABEL", value: "low" }
91
+ ]
92
+ }
93
+ },
69
94
  {
70
95
  key: "parameters",
71
96
  label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__PARAMETERS__LABEL",
@@ -115,6 +140,9 @@ exports.SEND_EMAIL_TOOL = (0, createNodeDescriptor_1.createNodeDescriptor)({
115
140
  label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_JOB__SECTIONS__ADVANCED__LABEL",
116
141
  defaultCollapsed: true,
117
142
  fields: [
143
+ "cc",
144
+ "bcc",
145
+ "priority",
118
146
  "condition"
119
147
  ]
120
148
  },
@@ -134,7 +162,7 @@ exports.SEND_EMAIL_TOOL = (0, createNodeDescriptor_1.createNodeDescriptor)({
134
162
  function: async ({ cognigy, config, nodeId, nodeType, organisationId, projectId, childConfigs }) => {
135
163
  var _a, _b, _c, _d, _e, _f, _g;
136
164
  const { api, context, input } = cognigy;
137
- const { debugMessage, recipient, } = config;
165
+ const { debugMessage, recipient, cc, bcc, priority, } = config;
138
166
  const sessionState = await api.loadSessionState();
139
167
  const toolCall = (_a = sessionState.lastToolCall) === null || _a === void 0 ? void 0 : _a.toolCall;
140
168
  const aiAgentJobNode = (_b = sessionState.lastToolCall) === null || _b === void 0 ? void 0 : _b.aiAgentJobNode;
@@ -152,14 +180,15 @@ exports.SEND_EMAIL_TOOL = (0, createNodeDescriptor_1.createNodeDescriptor)({
152
180
  recipient,
153
181
  subject,
154
182
  message,
155
- cc: "",
156
- bcc: "",
157
- priority: "normal",
183
+ cc: cc || "",
184
+ bcc: bcc || "",
185
+ priority: priority || "normal",
158
186
  async: false,
159
187
  storeLocation: "none",
160
188
  inputKey: "",
161
189
  contextKey: "",
162
190
  stopOnError: false,
191
+ senderName: "",
163
192
  },
164
193
  nodeId,
165
194
  nodeType,
@@ -23,8 +23,9 @@ const createSystemMessage_1 = require("./helpers/createSystemMessage");
23
23
  const generateSearchPrompt_1 = require("./helpers/generateSearchPrompt");
24
24
  const getUserMemory_1 = require("./helpers/getUserMemory");
25
25
  const createToolDefinitions_1 = require("./helpers/createToolDefinitions");
26
+ const parseMcpHeaders_1 = require("./helpers/parseMcpHeaders");
26
27
  const transcripts_1 = require("../../../../interfaces/transcripts/transcripts");
27
- exports.AI_AGENT_TOOLS_WHITELIST = ["aiAgentJobDefault", "aiAgentJobTool", "aiAgentJobMCPTool", "knowledgeTool", "handoverToAiAgentTool", "sendEmailTool"];
28
+ exports.AI_AGENT_TOOLS_WHITELIST = ["aiAgentJobDefault", "aiAgentJobTool", "aiAgentJobMCPTool", "knowledgeTool", "handoverToAiAgentTool", "handoverToHumanAgentTool", "sendEmailTool", "executeWorkflowTool"];
28
29
  exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
29
30
  type: "aiAgentJob",
30
31
  defaultLabel: "AI Agent",
@@ -926,7 +927,7 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
926
927
  ],
927
928
  tags: ["ai", "aiAgent"],
928
929
  function: async ({ cognigy, config, childConfigs, nodeId }) => {
929
- 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;
930
+ 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, _26, _27;
930
931
  const { api, context, input, profile, flowReferenceId } = cognigy;
931
932
  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;
932
933
  try {
@@ -976,7 +977,7 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
976
977
  throw new Error(`[VG2] Error on AI Agent Job node. Error message: ${error.message}`);
977
978
  }
978
979
  }
979
- const _25 = profile, { profileId, accepted_gdpr, prevent_data_collection, privacy_policy } = _25, cleanedProfile = __rest(_25, ["profileId", "accepted_gdpr", "prevent_data_collection", "privacy_policy"]);
980
+ const _28 = profile, { profileId, accepted_gdpr, prevent_data_collection, privacy_policy } = _28, cleanedProfile = __rest(_28, ["profileId", "accepted_gdpr", "prevent_data_collection", "privacy_policy"]);
980
981
  const userMemory = (0, getUserMemory_1.getUserMemory)(memoryType, selectedProfileFields, aiAgent, cleanedProfile);
981
982
  /**
982
983
  * ----- Knowledge Search Section -----
@@ -1303,13 +1304,15 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
1303
1304
  break;
1304
1305
  }
1305
1306
  }
1307
+ let mcpHeaders = (_7 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _7 === void 0 ? void 0 : _7.mcpHeaders;
1306
1308
  if (!toolChild && toolMap.has(mainToolCall.function.name)) {
1307
1309
  // If the tool call is from an MCP tool, set the next node to the corresponding child node
1308
1310
  toolChild = childConfigs.find(child => child.id === toolMap.get(mainToolCall.function.name));
1309
1311
  isMcpToolCall = true;
1312
+ mcpHeaders = await (0, parseMcpHeaders_1.parseMcpHeaders)((_8 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _8 === void 0 ? void 0 : _8.mcpHeaders, api);
1310
1313
  }
1311
1314
  if (mainToolCall.function.name !== "retrieve_knowledge" && toolChild === undefined) {
1312
- (_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");
1315
+ (_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");
1313
1316
  }
1314
1317
  // Add last tool call to session state for loading it from Tool Answer Node
1315
1318
  api.updateSessionStateValues({
@@ -1317,22 +1320,24 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
1317
1320
  flow: flowReferenceId,
1318
1321
  node: nodeId,
1319
1322
  } }, (isMcpToolCall && {
1320
- mcpServerUrl: (_8 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _8 === void 0 ? void 0 : _8.mcpServerUrl,
1321
- mcpHeaders: (_9 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _9 === void 0 ? void 0 : _9.mcpHeaders,
1322
- timeout: (_10 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _10 === void 0 ? void 0 : _10.timeout,
1323
+ mcpServerUrl: (_10 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _10 === void 0 ? void 0 : _10.mcpServerUrl,
1324
+ mcpHeaders,
1325
+ timeout: (_11 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _11 === void 0 ? void 0 : _11.timeout,
1323
1326
  mcpToolNode: toolChild === null || toolChild === void 0 ? void 0 : toolChild.id,
1327
+ authType: (_12 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _12 === void 0 ? void 0 : _12.authType,
1328
+ oAuth2Connection: (_13 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _13 === void 0 ? void 0 : _13.oAuth2Connection,
1324
1329
  })), { toolCall: mainToolCall }),
1325
1330
  });
1326
1331
  // if there are any parameters/arguments, add them to the input slots
1327
1332
  if (mainToolCall.function.arguments) {
1328
- 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) });
1333
+ input.aiAgent = Object.assign(Object.assign({}, input.aiAgent), { toolArgs: Object.assign(Object.assign({}, (_15 = (_14 = input.aiAgent) === null || _14 === void 0 ? void 0 : _14.toolArgs) !== null && _15 !== void 0 ? _15 : {}), mainToolCall.function.arguments) });
1329
1334
  }
1330
1335
  // Debug Message for Tool Calls, configured in the Tool Node
1331
- if ((_13 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _13 === void 0 ? void 0 : _13.debugMessage) {
1336
+ if ((_16 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _16 === void 0 ? void 0 : _16.debugMessage) {
1332
1337
  const toolId = isMcpToolCall ? mainToolCall.function.name : await api.parseCognigyScriptText(toolChild.config.toolId);
1333
1338
  const messageLines = [`<b>UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__HEADER:</b> ${toolId}`];
1334
1339
  // Arguments / Parameters Slots
1335
- 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);
1340
+ const slots = ((_17 = mainToolCall === null || mainToolCall === void 0 ? void 0 : mainToolCall.function) === null || _17 === void 0 ? void 0 : _17.arguments) && Object.keys(mainToolCall.function.arguments);
1336
1341
  const hasSlots = slots && slots.length > 0;
1337
1342
  messageLines.push(`<b>UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__SLOTS</b>${hasSlots ? "" : " -"}`);
1338
1343
  if (hasSlots) {
@@ -1347,7 +1352,7 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
1347
1352
  messageLines.push(`- ${slot}: ${slotValueAsString}`);
1348
1353
  });
1349
1354
  }
1350
- (_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");
1355
+ (_18 = api.logDebugMessage) === null || _18 === void 0 ? void 0 : _18.call(api, messageLines.join("\n"), "UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__HEADER");
1351
1356
  }
1352
1357
  if (toolChild) {
1353
1358
  api.setNextNode(toolChild.id);
@@ -1372,11 +1377,11 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
1372
1377
  }
1373
1378
  // Optionally output the result immediately
1374
1379
  if (llmResult.result && outputImmediately && !llmPromptOptions.stream) {
1375
- await ((_16 = api.output) === null || _16 === void 0 ? void 0 : _16.call(api, llmResult.result, {}));
1380
+ await ((_19 = api.output) === null || _19 === void 0 ? void 0 : _19.call(api, llmResult.result, {}));
1376
1381
  }
1377
1382
  else if (llmResult.finishReason && llmPromptOptions.stream) {
1378
1383
  // send the finishReason as last output for a stream
1379
- (_17 = api.output) === null || _17 === void 0 ? void 0 : _17.call(api, "", {
1384
+ (_20 = api.output) === null || _20 === void 0 ? void 0 : _20.call(api, "", {
1380
1385
  _cognigy: {
1381
1386
  _preventTranscript: true,
1382
1387
  _messageId,
@@ -1399,7 +1404,7 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
1399
1404
  }
1400
1405
  // Add response to Cognigy Input/Context for further usage
1401
1406
  if (storeLocation === "context") {
1402
- (_18 = api.addToContext) === null || _18 === void 0 ? void 0 : _18.call(api, contextKey, llmResult, "simple");
1407
+ (_21 = api.addToContext) === null || _21 === void 0 ? void 0 : _21.call(api, contextKey, llmResult, "simple");
1403
1408
  }
1404
1409
  else if (storeLocation === "input") {
1405
1410
  api.addToInput(inputKey, llmResult);
@@ -1412,14 +1417,14 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
1412
1417
  const errorDetails = {
1413
1418
  name: (error === null || error === void 0 ? void 0 : error.name) || "Error",
1414
1419
  code: (error === null || error === void 0 ? void 0 : error.code) || (error === null || error === void 0 ? void 0 : error.httpStatusCode),
1415
- message: (error === null || error === void 0 ? void 0 : error.message) || ((_19 = error.originalErrorDetails) === null || _19 === void 0 ? void 0 : _19.message),
1420
+ message: (error === null || error === void 0 ? void 0 : error.message) || ((_22 = error.originalErrorDetails) === null || _22 === void 0 ? void 0 : _22.message),
1416
1421
  };
1417
- (_20 = api.emitEvent) === null || _20 === void 0 ? void 0 : _20.call(api, "nodeError", { nodeId, flowId: flowReferenceId, errorMessage: error });
1422
+ (_23 = api.emitEvent) === null || _23 === void 0 ? void 0 : _23.call(api, "nodeError", { nodeId, flowId: flowReferenceId, errorMessage: error });
1418
1423
  if (logErrorToSystem) {
1419
- (_21 = api.log) === null || _21 === void 0 ? void 0 : _21.call(api, "error", JSON.stringify(errorDetails));
1424
+ (_24 = api.log) === null || _24 === void 0 ? void 0 : _24.call(api, "error", JSON.stringify(errorDetails));
1420
1425
  }
1421
1426
  if (errorHandling !== "stop") {
1422
- (_22 = api.logDebugError) === null || _22 === void 0 ? void 0 : _22.call(api, errorDetails.message + (errorDetails.code ? ` (error code: ${errorDetails.code})` : ""), errorDetails.name);
1427
+ (_25 = api.logDebugError) === null || _25 === void 0 ? void 0 : _25.call(api, errorDetails.message + (errorDetails.code ? ` (error code: ${errorDetails.code})` : ""), errorDetails.name);
1423
1428
  }
1424
1429
  if (storeErrorInInput) {
1425
1430
  input.aiAgent = input.aiAgent || {};
@@ -1428,7 +1433,7 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
1428
1433
  if (errorHandling === "continue") {
1429
1434
  // output the timeout message
1430
1435
  if (errorMessage) {
1431
- await ((_23 = api.output) === null || _23 === void 0 ? void 0 : _23.call(api, errorMessage, null));
1436
+ await ((_26 = api.output) === null || _26 === void 0 ? void 0 : _26.call(api, errorMessage, null));
1432
1437
  }
1433
1438
  // Set default node as next node
1434
1439
  const defaultChild = childConfigs.find(child => child.type === "aiAgentJobDefault");
@@ -1440,7 +1445,7 @@ exports.AI_AGENT_JOB = (0, createNodeDescriptor_1.createNodeDescriptor)({
1440
1445
  if (!errorHandlingGotoTarget) {
1441
1446
  throw new Error("GoTo Target is required");
1442
1447
  }
1443
- if (!((_24 = api.checkThink) === null || _24 === void 0 ? void 0 : _24.call(api, nodeId))) {
1448
+ if (!((_27 = api.checkThink) === null || _27 === void 0 ? void 0 : _27.call(api, nodeId))) {
1444
1449
  api.resetNextNodes();
1445
1450
  await api.executeFlow({
1446
1451
  flowNode: {
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AI_AGENT_JOB_CALL_MCP_TOOL = void 0;
4
4
  /* Custom modules */
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
+ const parseMcpHeaders_1 = require("./helpers/parseMcpHeaders");
6
7
  const transcripts_1 = require("../../../../interfaces/transcripts/transcripts");
7
8
  exports.AI_AGENT_JOB_CALL_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescriptor)({
8
9
  type: "aiAgentJobCallMCPTool",
@@ -60,7 +61,7 @@ exports.AI_AGENT_JOB_CALL_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescri
60
61
  label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_CALL_MCP_TOOL__FIELDS__RESOLVE_IMMEDIATELY__LABEL",
61
62
  type: "toggle",
62
63
  description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_CALL_MCP_TOOL__FIELDS__RESOLVE_IMMEDIATELY__DESCRIPTION",
63
- defaultValue: false,
64
+ defaultValue: true,
64
65
  },
65
66
  {
66
67
  key: "debugToolResult",
@@ -94,7 +95,7 @@ exports.AI_AGENT_JOB_CALL_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescri
94
95
  },
95
96
  tags: ["ai", "aiAgent"],
96
97
  function: async ({ cognigy, config }) => {
97
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
98
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
98
99
  const { api } = cognigy;
99
100
  const { storeLocation, contextKey, inputKey, resolveImmediately, debugToolResult } = config;
100
101
  const sessionState = await api.loadSessionState();
@@ -102,7 +103,8 @@ exports.AI_AGENT_JOB_CALL_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescri
102
103
  const aiAgentJobNode = (_b = sessionState.lastToolCall) === null || _b === void 0 ? void 0 : _b.aiAgentJobNode;
103
104
  const mcpServerUrl = (_c = sessionState.lastToolCall) === null || _c === void 0 ? void 0 : _c.mcpServerUrl;
104
105
  const timeout = (_d = sessionState.lastToolCall) === null || _d === void 0 ? void 0 : _d.timeout;
105
- const mcpHeaders = (_e = sessionState.lastToolCall) === null || _e === void 0 ? void 0 : _e.mcpHeaders;
106
+ // Use the helper function to parse MCP headers
107
+ const mcpHeaders = await (0, parseMcpHeaders_1.parseMcpHeaders)((_e = sessionState.lastToolCall) === null || _e === void 0 ? void 0 : _e.mcpHeaders, api);
106
108
  if (!(toolCall === null || toolCall === void 0 ? void 0 : toolCall.id)) {
107
109
  (_f = api.logDebugError) === null || _f === void 0 ? void 0 : _f.call(api, "UI__DEBUG_MODE__AI_AGENT_ANSWER__ERROR__MESSAGE");
108
110
  }
@@ -116,10 +118,12 @@ exports.AI_AGENT_JOB_CALL_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescri
116
118
  toolArgs: toolCall.function.arguments,
117
119
  timeout,
118
120
  mcpHeaders: mcpHeaders !== null && mcpHeaders !== void 0 ? mcpHeaders : {},
121
+ authType: (_h = (_g = sessionState.lastToolCall) === null || _g === void 0 ? void 0 : _g.authType) !== null && _h !== void 0 ? _h : "none",
122
+ oAuth2Connection: (_j = sessionState.lastToolCall) === null || _j === void 0 ? void 0 : _j.oAuth2Connection,
119
123
  });
120
124
  fullResult = JSON.stringify(toolResult, null, 2);
121
125
  if (debugToolResult) {
122
- (_g = api.logDebugMessage) === null || _g === void 0 ? void 0 : _g.call(api, `Tool <b>${(_h = toolCall === null || toolCall === void 0 ? void 0 : toolCall.function) === null || _h === void 0 ? void 0 : _h.name}</b> called successfully.<br><br><b>Result:</b><br>${fullResult}`);
126
+ (_k = api.logDebugMessage) === null || _k === void 0 ? void 0 : _k.call(api, `Tool <b>${(_l = toolCall === null || toolCall === void 0 ? void 0 : toolCall.function) === null || _l === void 0 ? void 0 : _l.name}</b> called successfully.<br><br><b>Result:</b><br>${fullResult}`);
123
127
  }
124
128
  }
125
129
  catch (error) {
@@ -129,11 +133,11 @@ exports.AI_AGENT_JOB_CALL_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescri
129
133
  message: error.message,
130
134
  }
131
135
  : error;
132
- (_j = api.logDebugError) === null || _j === void 0 ? void 0 : _j.call(api, `Failed to execute MCP Tool ${(_k = toolCall === null || toolCall === void 0 ? void 0 : toolCall.function) === null || _k === void 0 ? void 0 : _k.name}:<br>${JSON.stringify(errorDetails, null, 2)}`);
136
+ (_m = api.logDebugError) === null || _m === void 0 ? void 0 : _m.call(api, `Failed to execute MCP Tool ${(_o = toolCall === null || toolCall === void 0 ? void 0 : toolCall.function) === null || _o === void 0 ? void 0 : _o.name}:<br>${JSON.stringify(errorDetails, null, 2)}`);
133
137
  }
134
138
  // Add result to Cognigy Input/Context for further usage
135
139
  if (storeLocation === "context") {
136
- (_l = api.addToContext) === null || _l === void 0 ? void 0 : _l.call(api, contextKey, toolResult, "simple");
140
+ (_p = api.addToContext) === null || _p === void 0 ? void 0 : _p.call(api, contextKey, toolResult, "simple");
137
141
  }
138
142
  else if (storeLocation === "input") {
139
143
  api.addToInput(inputKey, toolResult);
@@ -1,8 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AI_AGENT_JOB_MCP_TOOL = void 0;
3
+ exports.AI_AGENT_JOB_MCP_TOOL = exports.AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2 = void 0;
4
4
  /* Custom modules */
5
5
  const createNodeDescriptor_1 = require("../../../createNodeDescriptor");
6
+ exports.AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2 = {
7
+ type: "mcp_oauth2",
8
+ label: "UI__NODE_EDITOR__MCP_OAUTH2_CONNECTION__LABEL",
9
+ fields: [
10
+ { fieldName: "oAuth2Url", label: "UI__CONNECTION_EDITOR__FIELD_OAUTH2_URL" },
11
+ { fieldName: "oAuth2ClientId", label: "UI__CONNECTION_EDITOR__FIELD_CLIENT_ID" },
12
+ { fieldName: "oAuth2ClientSecret", label: "UI__CONNECTION_EDITOR__FIELD_CLIENT_SECRET" },
13
+ { fieldName: "oAuth2Scope", label: "UI__CONNECTION_EDITOR__FIELD_SCOPE" }
14
+ ]
15
+ };
6
16
  exports.AI_AGENT_JOB_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescriptor)({
7
17
  type: "aiAgentJobMCPTool",
8
18
  defaultLabel: "MCP Tool",
@@ -170,8 +180,53 @@ exports.AI_AGENT_JOB_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescriptor)
170
180
  description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__HEADERS__DESCRIPTION",
171
181
  defaultValue: "{}",
172
182
  },
183
+ {
184
+ key: "oAuth2Connection",
185
+ type: "connection",
186
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__OAUTH2_CONNECTION__LABEL",
187
+ params: {
188
+ connectionType: exports.AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2.type
189
+ },
190
+ condition: {
191
+ key: "authType",
192
+ value: "oAuth2"
193
+ }
194
+ },
195
+ {
196
+ key: "authType",
197
+ type: "select",
198
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__AUTH_TYPE__LABEL",
199
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__AUTH_TYPE__DESCRIPTION",
200
+ defaultValue: "none",
201
+ params: {
202
+ required: true,
203
+ options: [
204
+ {
205
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__AUTH_TYPE__OPTIONS__NONE__LABEL",
206
+ value: "none"
207
+ },
208
+ {
209
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__AUTH_TYPE__OPTIONS__OAUTH2__LABEL",
210
+ value: "oAuth2"
211
+ }
212
+ ]
213
+ },
214
+ resetOption: {
215
+ lookupValue: "none",
216
+ fieldsToReset: ["oAuth2Connection"]
217
+ }
218
+ },
173
219
  ],
174
220
  sections: [
221
+ {
222
+ key: "auth",
223
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__SECTIONS__AUTHENTICATION__LABEL",
224
+ defaultCollapsed: true,
225
+ fields: [
226
+ "authType",
227
+ "oAuth2Connection"
228
+ ]
229
+ },
175
230
  {
176
231
  key: "debugging",
177
232
  label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_JOB__SECTIONS__DEBUG_SETTINGS__LABEL",
@@ -191,6 +246,7 @@ exports.AI_AGENT_JOB_MCP_TOOL = (0, createNodeDescriptor_1.createNodeDescriptor)
191
246
  { type: "field", key: "mcpWarning" },
192
247
  { type: "field", key: "mcpServerUrl" },
193
248
  { type: "field", key: "timeout" },
249
+ { type: "section", key: "auth" },
194
250
  { type: "section", key: "debugging" },
195
251
  { type: "section", key: "advanced" },
196
252
  ],
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.safeParseJson = exports.createToolDefinitions = void 0;
4
4
  const createSystemMessage_1 = require("./createSystemMessage");
5
+ const parseMcpHeaders_1 = require("./parseMcpHeaders");
5
6
  /**
6
7
  * Creates the tool definitions for the AI Agent Job and LLM Prompt v2 Nodes
7
8
  * @param childConfigs Child node configurations
@@ -45,7 +46,8 @@ const createToolDefinitions = async (childConfigs, api, useStrict) => {
45
46
  const cacheTools = child.config.cacheTools;
46
47
  const sendDebug = child.config.debugMessageFetchedTools;
47
48
  const toolFilter = child.config.toolFilter;
48
- const mcpHeaders = child.config.mcpHeaders;
49
+ // Parse mcpHeaders values if present and resolve any Cognigy script expressions
50
+ const mcpHeaders = await (0, parseMcpHeaders_1.parseMcpHeaders)(child.config.mcpHeaders, api);
49
51
  let mcpTools = null;
50
52
  let fetchedFromCache = null;
51
53
  try {
@@ -54,6 +56,13 @@ const createToolDefinitions = async (childConfigs, api, useStrict) => {
54
56
  timeout,
55
57
  cacheTools,
56
58
  mcpHeaders,
59
+ authType: child.config.authType,
60
+ oAuth2Connection: child.config.authType === "oAuth2" ? {
61
+ oAuth2Url: child.config.oAuth2Connection.oAuth2Url,
62
+ oAuth2ClientId: child.config.oAuth2Connection.oAuth2ClientId,
63
+ oAuth2ClientSecret: child.config.oAuth2Connection.oAuth2ClientSecret,
64
+ oAuth2Scope: child.config.oAuth2Connection.oAuth2Scope,
65
+ } : undefined,
57
66
  });
58
67
  mcpTools = fetched.tools;
59
68
  fetchedFromCache = fetched.fromCache;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseMcpHeaders = void 0;
4
+ /**
5
+ * Parses MCP headers by resolving any Cognigy script expressions in string values
6
+ * @param mcpHeaders - The headers object to parse
7
+ * @param api - The Cognigy API instance for parsing script text
8
+ * @returns The parsed headers object
9
+ */
10
+ async function parseMcpHeaders(mcpHeaders, api) {
11
+ if (!mcpHeaders || typeof mcpHeaders !== "object") {
12
+ return {};
13
+ }
14
+ const parsedMcpHeaders = {};
15
+ for (const [key, value] of Object.entries(mcpHeaders)) {
16
+ if (typeof value === "string") {
17
+ parsedMcpHeaders[key] = await api.parseCognigyScriptText(value);
18
+ }
19
+ else {
20
+ parsedMcpHeaders[key] = value;
21
+ }
22
+ }
23
+ return parsedMcpHeaders;
24
+ }
25
+ exports.parseMcpHeaders = parseMcpHeaders;
26
+ //# sourceMappingURL=parseMcpHeaders.js.map
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AI_AGENT_V2 = void 0;
4
+ /* Custom Modules */
5
+ const createNodeDescriptor_1 = require("../../createNodeDescriptor");
6
+ /**
7
+ * This is a prototype!
8
+ */
9
+ exports.AI_AGENT_V2 = (0, createNodeDescriptor_1.createNodeDescriptor)({
10
+ type: "aiAgentV2",
11
+ defaultLabel: "AI Agent V2",
12
+ summary: "AI Agent V2",
13
+ fields: [
14
+ {
15
+ key: "agentId",
16
+ type: "cognigyText",
17
+ label: " ",
18
+ params: {
19
+ required: true,
20
+ }
21
+ },
22
+ {
23
+ key: "apiKeyAuthKeyConnection",
24
+ type: "connection",
25
+ label: "apiKey",
26
+ params: {
27
+ connectionType: "http_apiKeyAuthKey"
28
+ },
29
+ }
30
+ ],
31
+ tags: ["ai"],
32
+ function: async ({ cognigy, config }) => {
33
+ var _a;
34
+ const { api, input } = cognigy;
35
+ const agentId = config.agentId;
36
+ const apiKey = (_a = config.apiKeyAuthKeyConnection) === null || _a === void 0 ? void 0 : _a.authApiKey;
37
+ const text = input.text || '';
38
+ if (!apiKey) {
39
+ throw new Error("Unable to execute request. No api key provided.");
40
+ }
41
+ if (!agentId) {
42
+ throw new Error("Unable to execute request. No agent ID provided.");
43
+ }
44
+ const transcript = await api.getTranscript({ limit: 50 });
45
+ // TODO: temp hack, convertTranscript() from ll-providers package
46
+ const formattedTranscript = transcript
47
+ // keep only entries that actually have text
48
+ .filter(entry => (entry === null || entry === void 0 ? void 0 : entry.payload) && typeof entry.payload.text === "string")
49
+ .map(entry => {
50
+ // map to OpenAI-style role strings
51
+ const role = entry.role === "user"
52
+ ? "user"
53
+ : entry.role === "assistant"
54
+ ? "assistant"
55
+ : "system";
56
+ const text = entry.payload.text;
57
+ return `${role}: ${text}`;
58
+ })
59
+ .join("\n");
60
+ const resp = await api.sendAiAgentV2Turn({
61
+ agentReferenceId: agentId,
62
+ userInput: text,
63
+ conversationHistory: formattedTranscript,
64
+ openaiApiKey: apiKey,
65
+ });
66
+ if (resp.response && typeof resp.response === 'string') {
67
+ api.output(resp.response, {
68
+ _cognigy: {
69
+ _preventTranscript: true
70
+ }
71
+ });
72
+ const transcriptContent = {
73
+ role: "assistant",
74
+ type: "output",
75
+ source: "assistant",
76
+ payload: {
77
+ text: resp.response,
78
+ data: {},
79
+ }
80
+ };
81
+ await api.addTranscriptStep(transcriptContent);
82
+ }
83
+ if (resp.toolCalls && Array.isArray(resp.toolCalls)) {
84
+ input.toolCalls = resp.toolCalls;
85
+ }
86
+ return;
87
+ }
88
+ });
89
+ //# sourceMappingURL=aiAgentV2.js.map
@@ -6,7 +6,7 @@ const createNodeDescriptor_1 = require("../../createNodeDescriptor");
6
6
  const constants_1 = require("../../../constants");
7
7
  exports.HANDOVER_V2 = (0, createNodeDescriptor_1.createNodeDescriptor)({
8
8
  type: "handoverToAgent",
9
- defaultLabel: "Handover to Agent",
9
+ defaultLabel: "Handover to Human Agent",
10
10
  summary: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SUMMARY",
11
11
  appearance: {
12
12
  showIcon: false
@@ -524,6 +524,9 @@ exports.HTTP_REQUEST = (0, createNodeDescriptor_1.createNodeDescriptor)({
524
524
  type: "text",
525
525
  },
526
526
  tags: ["service", "get", "post", "put", "patch"],
527
+ mocking: {
528
+ defaultMockCode: `input.httprequest = {response: "Mock response"};`
529
+ },
527
530
  function: async (httpRequestParams) => {
528
531
  const { cognigy, config } = httpRequestParams;
529
532
  const { api } = cognigy;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIOPS_CENTER_WEBHOOKS_CONNECTION = exports.NICECXONEAAH_AUTHENTICATION_CONNECTION = exports.STORM_CONNECTION = exports.GENESYS_CLOUD_CONNECTION_OM = exports.GENESYS_CLOUD_CONNECTION = exports.EIGHT_BY_EIGHT_CONNECTION = exports.CHATWOOT_CONNECTION = exports.RINGCENTRAL_ENGAGE_CONNECTION = exports.LIVE_AGENT_CONNECTION = exports.LOAD_AI_AGENT = exports.SEND_EMAIL_TOOL = exports.HANDOVER_TO_AI_AGENT_TOOL = exports.KNOWLEDGE_TOOL = exports.AI_AGENT_JOB_CALL_MCP_TOOL = exports.AI_AGENT_HANDOVER = exports.AI_AGENT_TOOL_ANSWER = exports.AI_AGENT_JOB_MCP_TOOL = exports.AI_AGENT_JOB_TOOL = exports.AI_AGENT_JOB_DEFAULT = exports.AI_AGENT_JOB = exports.LLM_MODERATE = exports.LLM_ENTITY_EXTRACT = exports.GPT_CONVERSATION_SUMMARY = exports.GPT_CONVERSATION = exports.HANDOVER_INACTIVITY_TIMER = exports.CLOSE_HANDOVER = exports.LLM_PROMPT_TOOL = exports.LLM_PROMPT_MCP_TOOL = exports.LLM_PROMPT_DEFAULT = exports.LLM_PROMPT_V2 = exports.GPT_PROMPT = exports.ON_SCHEDULING_ERROR = exports.ON_SCHEDULED = exports.TRIGGER_FUNCTION = exports.JWT_SECRET_CONNECTION = exports.HTTP_CONNECTION_OAUTH2 = exports.HTTP_CONNECTION_APIKEYXKEY = exports.HTTP_CONNECTION_APIKEYAUTHKEY = exports.HTTP_CONNECTION_BASIC = exports.HTTP_REQUEST = exports.CHECK_AGENT_AVAILABILITY = exports.HANDOVER_V2 = exports.HANDOVER = void 0;
3
+ exports.AI_AGENT_V2 = exports.AIOPS_CENTER_WEBHOOKS_CONNECTION = exports.NICECXONEAAH_AUTHENTICATION_CONNECTION = exports.STORM_CONNECTION = exports.GENESYS_CLOUD_CONNECTION_OM = exports.GENESYS_CLOUD_CONNECTION = exports.EIGHT_BY_EIGHT_CONNECTION = exports.CHATWOOT_CONNECTION = exports.RINGCENTRAL_ENGAGE_CONNECTION = exports.LIVE_AGENT_CONNECTION = exports.AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2 = exports.LOAD_AI_AGENT = exports.EXECUTE_WORKFLOW_TOOL = exports.SEND_EMAIL_TOOL = exports.HANDOVER_TO_HUMAN_AGENT_TOOL = exports.HANDOVER_TO_AI_AGENT_TOOL = exports.KNOWLEDGE_TOOL = exports.AI_AGENT_JOB_CALL_MCP_TOOL = exports.AI_AGENT_HANDOVER = exports.AI_AGENT_TOOL_ANSWER = exports.AI_AGENT_JOB_MCP_TOOL = exports.AI_AGENT_JOB_TOOL = exports.AI_AGENT_JOB_DEFAULT = exports.AI_AGENT_JOB = exports.LLM_MODERATE = exports.LLM_ENTITY_EXTRACT = exports.GPT_CONVERSATION_SUMMARY = exports.GPT_CONVERSATION = exports.HANDOVER_INACTIVITY_TIMER = exports.CLOSE_HANDOVER = exports.LLM_PROMPT_TOOL = exports.LLM_PROMPT_MCP_TOOL = exports.LLM_PROMPT_DEFAULT = exports.LLM_PROMPT_V2 = exports.GPT_PROMPT = exports.ON_SCHEDULING_ERROR = exports.ON_SCHEDULED = exports.TRIGGER_FUNCTION = exports.JWT_SECRET_CONNECTION = exports.HTTP_CONNECTION_OAUTH2 = exports.HTTP_CONNECTION_APIKEYXKEY = exports.HTTP_CONNECTION_APIKEYAUTHKEY = exports.HTTP_CONNECTION_BASIC = exports.HTTP_REQUEST = exports.CHECK_AGENT_AVAILABILITY = exports.HANDOVER_V2 = exports.HANDOVER = void 0;
4
4
  var handover_1 = require("./handover");
5
5
  Object.defineProperty(exports, "HANDOVER", { enumerable: true, get: function () { return handover_1.HANDOVER; } });
6
6
  var handoverV2_1 = require("./handoverV2");
@@ -63,10 +63,16 @@ var knowledgeTool_1 = require("./agentTools/knowledgeTool");
63
63
  Object.defineProperty(exports, "KNOWLEDGE_TOOL", { enumerable: true, get: function () { return knowledgeTool_1.KNOWLEDGE_TOOL; } });
64
64
  var handoverToAiAgentTool_1 = require("./agentTools/handoverToAiAgentTool");
65
65
  Object.defineProperty(exports, "HANDOVER_TO_AI_AGENT_TOOL", { enumerable: true, get: function () { return handoverToAiAgentTool_1.HANDOVER_TO_AI_AGENT_TOOL; } });
66
+ var handoverToHumanAgentTool_1 = require("./agentTools/handoverToHumanAgentTool");
67
+ Object.defineProperty(exports, "HANDOVER_TO_HUMAN_AGENT_TOOL", { enumerable: true, get: function () { return handoverToHumanAgentTool_1.HANDOVER_TO_HUMAN_AGENT_TOOL; } });
66
68
  var sendEmailTool_1 = require("./agentTools/sendEmailTool");
67
69
  Object.defineProperty(exports, "SEND_EMAIL_TOOL", { enumerable: true, get: function () { return sendEmailTool_1.SEND_EMAIL_TOOL; } });
70
+ var executeWorkflowTool_1 = require("./agentTools/executeWorkflowTool");
71
+ Object.defineProperty(exports, "EXECUTE_WORKFLOW_TOOL", { enumerable: true, get: function () { return executeWorkflowTool_1.EXECUTE_WORKFLOW_TOOL; } });
68
72
  var loadAiAgent_1 = require("./aiAgent/loadAiAgent");
69
73
  Object.defineProperty(exports, "LOAD_AI_AGENT", { enumerable: true, get: function () { return loadAiAgent_1.LOAD_AI_AGENT; } });
74
+ var aiAgentJobMCPTool_2 = require("./aiAgent/aiAgentJobMCPTool");
75
+ Object.defineProperty(exports, "AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2", { enumerable: true, get: function () { return aiAgentJobMCPTool_2.AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2; } });
70
76
  var handoverConnections_1 = require("./handoverConnections");
71
77
  Object.defineProperty(exports, "LIVE_AGENT_CONNECTION", { enumerable: true, get: function () { return handoverConnections_1.LIVE_AGENT_CONNECTION; } });
72
78
  Object.defineProperty(exports, "RINGCENTRAL_ENGAGE_CONNECTION", { enumerable: true, get: function () { return handoverConnections_1.RINGCENTRAL_ENGAGE_CONNECTION; } });
@@ -79,4 +85,6 @@ var niceCXOneAAHAuthenticationConnection_1 = require("./niceCXOneAAHAuthenticati
79
85
  Object.defineProperty(exports, "NICECXONEAAH_AUTHENTICATION_CONNECTION", { enumerable: true, get: function () { return niceCXOneAAHAuthenticationConnection_1.NICECXONEAAH_AUTHENTICATION_CONNECTION; } });
80
86
  var aiOpsCenterConnection_1 = require("./aiOpsCenterConnection");
81
87
  Object.defineProperty(exports, "AIOPS_CENTER_WEBHOOKS_CONNECTION", { enumerable: true, get: function () { return aiOpsCenterConnection_1.AIOPS_CENTER_WEBHOOKS_CONNECTION; } });
88
+ var aiAgentV2_1 = require("./aiAgentV2");
89
+ Object.defineProperty(exports, "AI_AGENT_V2", { enumerable: true, get: function () { return aiAgentV2_1.AI_AGENT_V2; } });
82
90
  //# sourceMappingURL=index.js.map