@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
@@ -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, _26, _27;
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 _28 = profile, { profileId, accepted_gdpr, prevent_data_collection, privacy_policy } = _28, cleanedProfile = __rest(_28, ["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,24 @@ 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,
1314
+ authType: (_12 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _12 === void 0 ? void 0 : _12.authType,
1315
+ oAuth2Connection: (_13 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _13 === void 0 ? void 0 : _13.oAuth2Connection,
1311
1316
  })), { toolCall: mainToolCall }),
1312
1317
  });
1313
1318
  // if there are any parameters/arguments, add them to the input slots
1314
1319
  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) });
1320
+ 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) });
1316
1321
  }
1317
1322
  // 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) {
1323
+ if ((_16 = toolChild === null || toolChild === void 0 ? void 0 : toolChild.config) === null || _16 === void 0 ? void 0 : _16.debugMessage) {
1319
1324
  const toolId = isMcpToolCall ? mainToolCall.function.name : yield api.parseCognigyScriptText(toolChild.config.toolId);
1320
1325
  const messageLines = [`<b>UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__HEADER:</b> ${toolId}`];
1321
1326
  // 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);
1327
+ 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);
1323
1328
  const hasSlots = slots && slots.length > 0;
1324
1329
  messageLines.push(`<b>UI__DEBUG_MODE__AI_AGENT_JOB__TOOL_CALL__DEBUG_MESSAGE__SLOTS</b>${hasSlots ? "" : " -"}`);
1325
1330
  if (hasSlots) {
@@ -1334,7 +1339,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1334
1339
  messageLines.push(`- ${slot}: ${slotValueAsString}`);
1335
1340
  });
1336
1341
  }
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");
1342
+ (_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");
1338
1343
  }
1339
1344
  if (toolChild) {
1340
1345
  api.setNextNode(toolChild.id);
@@ -1359,11 +1364,11 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1359
1364
  }
1360
1365
  // Optionally output the result immediately
1361
1366
  if (llmResult.result && outputImmediately && !llmPromptOptions.stream) {
1362
- yield ((_16 = api.output) === null || _16 === void 0 ? void 0 : _16.call(api, llmResult.result, {}));
1367
+ yield ((_19 = api.output) === null || _19 === void 0 ? void 0 : _19.call(api, llmResult.result, {}));
1363
1368
  }
1364
1369
  else if (llmResult.finishReason && llmPromptOptions.stream) {
1365
1370
  // send the finishReason as last output for a stream
1366
- (_17 = api.output) === null || _17 === void 0 ? void 0 : _17.call(api, "", {
1371
+ (_20 = api.output) === null || _20 === void 0 ? void 0 : _20.call(api, "", {
1367
1372
  _cognigy: {
1368
1373
  _preventTranscript: true,
1369
1374
  _messageId,
@@ -1386,7 +1391,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1386
1391
  }
1387
1392
  // Add response to Cognigy Input/Context for further usage
1388
1393
  if (storeLocation === "context") {
1389
- (_18 = api.addToContext) === null || _18 === void 0 ? void 0 : _18.call(api, contextKey, llmResult, "simple");
1394
+ (_21 = api.addToContext) === null || _21 === void 0 ? void 0 : _21.call(api, contextKey, llmResult, "simple");
1390
1395
  }
1391
1396
  else if (storeLocation === "input") {
1392
1397
  api.addToInput(inputKey, llmResult);
@@ -1399,14 +1404,14 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1399
1404
  const errorDetails = {
1400
1405
  name: (error === null || error === void 0 ? void 0 : error.name) || "Error",
1401
1406
  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),
1407
+ message: (error === null || error === void 0 ? void 0 : error.message) || ((_22 = error.originalErrorDetails) === null || _22 === void 0 ? void 0 : _22.message),
1403
1408
  };
1404
- (_20 = api.emitEvent) === null || _20 === void 0 ? void 0 : _20.call(api, "nodeError", { nodeId, flowId: flowReferenceId, errorMessage: error });
1409
+ (_23 = api.emitEvent) === null || _23 === void 0 ? void 0 : _23.call(api, "nodeError", { nodeId, flowId: flowReferenceId, errorMessage: error });
1405
1410
  if (logErrorToSystem) {
1406
- (_21 = api.log) === null || _21 === void 0 ? void 0 : _21.call(api, "error", JSON.stringify(errorDetails));
1411
+ (_24 = api.log) === null || _24 === void 0 ? void 0 : _24.call(api, "error", JSON.stringify(errorDetails));
1407
1412
  }
1408
1413
  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);
1414
+ (_25 = api.logDebugError) === null || _25 === void 0 ? void 0 : _25.call(api, errorDetails.message + (errorDetails.code ? ` (error code: ${errorDetails.code})` : ""), errorDetails.name);
1410
1415
  }
1411
1416
  if (storeErrorInInput) {
1412
1417
  input.aiAgent = input.aiAgent || {};
@@ -1415,7 +1420,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1415
1420
  if (errorHandling === "continue") {
1416
1421
  // output the timeout message
1417
1422
  if (errorMessage) {
1418
- yield ((_23 = api.output) === null || _23 === void 0 ? void 0 : _23.call(api, errorMessage, null));
1423
+ yield ((_26 = api.output) === null || _26 === void 0 ? void 0 : _26.call(api, errorMessage, null));
1419
1424
  }
1420
1425
  // Set default node as next node
1421
1426
  const defaultChild = childConfigs.find(child => child.type === "aiAgentJobDefault");
@@ -1427,7 +1432,7 @@ export const AI_AGENT_JOB = createNodeDescriptor({
1427
1432
  if (!errorHandlingGotoTarget) {
1428
1433
  throw new Error("GoTo Target is required");
1429
1434
  }
1430
- if (!((_24 = api.checkThink) === null || _24 === void 0 ? void 0 : _24.call(api, nodeId))) {
1435
+ if (!((_27 = api.checkThink) === null || _27 === void 0 ? void 0 : _27.call(api, nodeId))) {
1431
1436
  api.resetNextNodes();
1432
1437
  yield api.executeFlow({
1433
1438
  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",
@@ -92,7 +93,7 @@ export const AI_AGENT_JOB_CALL_MCP_TOOL = createNodeDescriptor({
92
93
  },
93
94
  tags: ["ai", "aiAgent"],
94
95
  function: ({ cognigy, config }) => __awaiter(void 0, void 0, void 0, function* () {
95
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
96
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
96
97
  const { api } = cognigy;
97
98
  const { storeLocation, contextKey, inputKey, resolveImmediately, debugToolResult } = config;
98
99
  const sessionState = yield api.loadSessionState();
@@ -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
  }
@@ -114,10 +116,12 @@ export const AI_AGENT_JOB_CALL_MCP_TOOL = createNodeDescriptor({
114
116
  toolArgs: toolCall.function.arguments,
115
117
  timeout,
116
118
  mcpHeaders: mcpHeaders !== null && mcpHeaders !== void 0 ? mcpHeaders : {},
119
+ authType: (_h = (_g = sessionState.lastToolCall) === null || _g === void 0 ? void 0 : _g.authType) !== null && _h !== void 0 ? _h : "none",
120
+ oAuth2Connection: (_j = sessionState.lastToolCall) === null || _j === void 0 ? void 0 : _j.oAuth2Connection,
117
121
  });
118
122
  fullResult = JSON.stringify(toolResult, null, 2);
119
123
  if (debugToolResult) {
120
- (_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}`);
124
+ (_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}`);
121
125
  }
122
126
  }
123
127
  catch (error) {
@@ -127,11 +131,11 @@ export const AI_AGENT_JOB_CALL_MCP_TOOL = createNodeDescriptor({
127
131
  message: error.message,
128
132
  }
129
133
  : error;
130
- (_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)}`);
134
+ (_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)}`);
131
135
  }
132
136
  // Add result to Cognigy Input/Context for further usage
133
137
  if (storeLocation === "context") {
134
- (_l = api.addToContext) === null || _l === void 0 ? void 0 : _l.call(api, contextKey, toolResult, "simple");
138
+ (_p = api.addToContext) === null || _p === void 0 ? void 0 : _p.call(api, contextKey, toolResult, "simple");
135
139
  }
136
140
  else if (storeLocation === "input") {
137
141
  api.addToInput(inputKey, toolResult);
@@ -1,5 +1,15 @@
1
1
  /* Custom modules */
2
2
  import { createNodeDescriptor } from "../../../createNodeDescriptor";
3
+ export const AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2 = {
4
+ type: "mcp_oauth2",
5
+ label: "UI__NODE_EDITOR__MCP_OAUTH2_CONNECTION__LABEL",
6
+ fields: [
7
+ { fieldName: "oAuth2Url", label: "UI__CONNECTION_EDITOR__FIELD_OAUTH2_URL" },
8
+ { fieldName: "oAuth2ClientId", label: "UI__CONNECTION_EDITOR__FIELD_CLIENT_ID" },
9
+ { fieldName: "oAuth2ClientSecret", label: "UI__CONNECTION_EDITOR__FIELD_CLIENT_SECRET" },
10
+ { fieldName: "oAuth2Scope", label: "UI__CONNECTION_EDITOR__FIELD_SCOPE" }
11
+ ]
12
+ };
3
13
  export const AI_AGENT_JOB_MCP_TOOL = createNodeDescriptor({
4
14
  type: "aiAgentJobMCPTool",
5
15
  defaultLabel: "MCP Tool",
@@ -167,8 +177,53 @@ export const AI_AGENT_JOB_MCP_TOOL = createNodeDescriptor({
167
177
  description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__HEADERS__DESCRIPTION",
168
178
  defaultValue: "{}",
169
179
  },
180
+ {
181
+ key: "oAuth2Connection",
182
+ type: "connection",
183
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__OAUTH2_CONNECTION__LABEL",
184
+ params: {
185
+ connectionType: AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2.type
186
+ },
187
+ condition: {
188
+ key: "authType",
189
+ value: "oAuth2"
190
+ }
191
+ },
192
+ {
193
+ key: "authType",
194
+ type: "select",
195
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__AUTH_TYPE__LABEL",
196
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__AUTH_TYPE__DESCRIPTION",
197
+ defaultValue: "none",
198
+ params: {
199
+ required: true,
200
+ options: [
201
+ {
202
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__AUTH_TYPE__OPTIONS__NONE__LABEL",
203
+ value: "none"
204
+ },
205
+ {
206
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__FIELDS__AUTH_TYPE__OPTIONS__OAUTH2__LABEL",
207
+ value: "oAuth2"
208
+ }
209
+ ]
210
+ },
211
+ resetOption: {
212
+ lookupValue: "none",
213
+ fieldsToReset: ["oAuth2Connection"]
214
+ }
215
+ },
170
216
  ],
171
217
  sections: [
218
+ {
219
+ key: "auth",
220
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_MCP_TOOL__SECTIONS__AUTHENTICATION__LABEL",
221
+ defaultCollapsed: true,
222
+ fields: [
223
+ "authType",
224
+ "oAuth2Connection"
225
+ ]
226
+ },
172
227
  {
173
228
  key: "debugging",
174
229
  label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_JOB__SECTIONS__DEBUG_SETTINGS__LABEL",
@@ -188,6 +243,7 @@ export const AI_AGENT_JOB_MCP_TOOL = createNodeDescriptor({
188
243
  { type: "field", key: "mcpWarning" },
189
244
  { type: "field", key: "mcpServerUrl" },
190
245
  { type: "field", key: "timeout" },
246
+ { type: "section", key: "auth" },
191
247
  { type: "section", key: "debugging" },
192
248
  { type: "section", key: "advanced" },
193
249
  ],
@@ -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 {
@@ -52,6 +54,13 @@ export const createToolDefinitions = (childConfigs, api, useStrict) => __awaiter
52
54
  timeout,
53
55
  cacheTools,
54
56
  mcpHeaders,
57
+ authType: child.config.authType,
58
+ oAuth2Connection: child.config.authType === "oAuth2" ? {
59
+ oAuth2Url: child.config.oAuth2Connection.oAuth2Url,
60
+ oAuth2ClientId: child.config.oAuth2Connection.oAuth2ClientId,
61
+ oAuth2ClientSecret: child.config.oAuth2Connection.oAuth2ClientSecret,
62
+ oAuth2Scope: child.config.oAuth2Connection.oAuth2Scope,
63
+ } : undefined,
55
64
  });
56
65
  mcpTools = fetched.tools;
57
66
  fetchedFromCache = fetched.fromCache;
@@ -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
@@ -0,0 +1,87 @@
1
+ import { __awaiter } from "tslib";
2
+ /* Custom Modules */
3
+ import { createNodeDescriptor } from "../../createNodeDescriptor";
4
+ /**
5
+ * This is a prototype!
6
+ */
7
+ export const AI_AGENT_V2 = createNodeDescriptor({
8
+ type: "aiAgentV2",
9
+ defaultLabel: "AI Agent V2",
10
+ summary: "AI Agent V2",
11
+ fields: [
12
+ {
13
+ key: "agentId",
14
+ type: "cognigyText",
15
+ label: " ",
16
+ params: {
17
+ required: true,
18
+ }
19
+ },
20
+ {
21
+ key: "apiKeyAuthKeyConnection",
22
+ type: "connection",
23
+ label: "apiKey",
24
+ params: {
25
+ connectionType: "http_apiKeyAuthKey"
26
+ },
27
+ }
28
+ ],
29
+ tags: ["ai"],
30
+ function: ({ cognigy, config }) => __awaiter(void 0, void 0, void 0, function* () {
31
+ var _a;
32
+ const { api, input } = cognigy;
33
+ const agentId = config.agentId;
34
+ const apiKey = (_a = config.apiKeyAuthKeyConnection) === null || _a === void 0 ? void 0 : _a.authApiKey;
35
+ const text = input.text || '';
36
+ if (!apiKey) {
37
+ throw new Error("Unable to execute request. No api key provided.");
38
+ }
39
+ if (!agentId) {
40
+ throw new Error("Unable to execute request. No agent ID provided.");
41
+ }
42
+ const transcript = yield api.getTranscript({ limit: 50 });
43
+ // TODO: temp hack, convertTranscript() from ll-providers package
44
+ const formattedTranscript = transcript
45
+ // keep only entries that actually have text
46
+ .filter(entry => (entry === null || entry === void 0 ? void 0 : entry.payload) && typeof entry.payload.text === "string")
47
+ .map(entry => {
48
+ // map to OpenAI-style role strings
49
+ const role = entry.role === "user"
50
+ ? "user"
51
+ : entry.role === "assistant"
52
+ ? "assistant"
53
+ : "system";
54
+ const text = entry.payload.text;
55
+ return `${role}: ${text}`;
56
+ })
57
+ .join("\n");
58
+ const resp = yield api.sendAiAgentV2Turn({
59
+ agentReferenceId: agentId,
60
+ userInput: text,
61
+ conversationHistory: formattedTranscript,
62
+ openaiApiKey: apiKey,
63
+ });
64
+ if (resp.response && typeof resp.response === 'string') {
65
+ api.output(resp.response, {
66
+ _cognigy: {
67
+ _preventTranscript: true
68
+ }
69
+ });
70
+ const transcriptContent = {
71
+ role: "assistant",
72
+ type: "output",
73
+ source: "assistant",
74
+ payload: {
75
+ text: resp.response,
76
+ data: {},
77
+ }
78
+ };
79
+ yield api.addTranscriptStep(transcriptContent);
80
+ }
81
+ if (resp.toolCalls && Array.isArray(resp.toolCalls)) {
82
+ input.toolCalls = resp.toolCalls;
83
+ }
84
+ return;
85
+ })
86
+ });
87
+ //# sourceMappingURL=aiAgentV2.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,9 +30,13 @@ 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";
37
+ export { AI_AGENT_MCP_TOOL_CONNECTION_OAUTH2 } from "./aiAgent/aiAgentJobMCPTool";
35
38
  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
39
  export { NICECXONEAAH_AUTHENTICATION_CONNECTION } from "./niceCXOneAAHAuthenticationConnection";
37
40
  export { AIOPS_CENTER_WEBHOOKS_CONNECTION } from "./aiOpsCenterConnection";
41
+ export { AI_AGENT_V2 } from "./aiAgentV2";
38
42
  //# sourceMappingURL=index.js.map