@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.
- package/CHANGELOG.md +10 -0
- package/README.md +15 -0
- package/build/apigroups/InsightsAPIGroup_2_1.js +27 -0
- package/build/apigroups/ResourcesAPIGroup_2_0.js +140 -375
- package/build/apigroups/SimulationAPIGroup_2_0.js +33 -18
- package/build/apigroups/aiAgentsV2/agent.js +3 -0
- package/build/apigroups/aiAgentsV2/agentAPI.js +38 -0
- package/build/apigroups/aiAgentsV2/agentPersona.js +3 -0
- package/build/apigroups/aiAgentsV2/agentPersonaAPI.js +38 -0
- package/build/apigroups/aiAgentsV2/tool.js +3 -0
- package/build/apigroups/aiAgentsV2/toolAPI.js +35 -0
- package/build/apigroups/aiAgentsV2/toolDescriptor.js +3 -0
- package/build/apigroups/aiAgentsV2/toolDescriptorAPI.js +13 -0
- package/build/apigroups/index.js +3 -1
- package/build/authentication/AuthenticationAPI.js +1 -0
- package/build/shared/charts/createNodeDescriptor.js +1 -0
- package/build/shared/charts/descriptors/analytics/overwriteAnalytics.js +14 -0
- package/build/shared/charts/descriptors/analytics/updateProfile.js +5 -0
- package/build/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +7 -0
- package/build/shared/charts/descriptors/connectionNodes/smtp/index.js +5 -1
- package/build/shared/charts/descriptors/connectionNodes/smtp/oAuth2ClientCredentialsConnection.js +15 -0
- package/build/shared/charts/descriptors/connectionNodes/smtp/oAuth2JwtBearerConnection.js +13 -0
- package/build/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +63 -10
- package/build/shared/charts/descriptors/connectionNodes/speechProviders/elevenlabsSpeechProviderConnection.js +52 -0
- package/build/shared/charts/descriptors/connectionNodes/speechProviders/index.js +8 -7
- package/build/shared/charts/descriptors/index.js +6 -0
- package/build/shared/charts/descriptors/message/question/question.js +254 -59
- package/build/shared/charts/descriptors/message/say.js +3 -0
- package/build/shared/charts/descriptors/service/agentTools/executeWorkflowTool.js +239 -0
- package/build/shared/charts/descriptors/service/agentTools/handoverToHumanAgentTool.js +783 -0
- package/build/shared/charts/descriptors/service/agentTools/sendEmailTool.js +33 -4
- package/build/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +25 -20
- package/build/shared/charts/descriptors/service/aiAgent/aiAgentJobCallMCPTool.js +10 -6
- package/build/shared/charts/descriptors/service/aiAgent/aiAgentJobMCPTool.js +57 -1
- package/build/shared/charts/descriptors/service/aiAgent/helpers/createToolDefinitions.js +10 -1
- package/build/shared/charts/descriptors/service/aiAgent/helpers/parseMcpHeaders.js +26 -0
- package/build/shared/charts/descriptors/service/aiAgentV2.js +89 -0
- package/build/shared/charts/descriptors/service/handoverV2.js +1 -1
- package/build/shared/charts/descriptors/service/httpRequest.js +3 -0
- package/build/shared/charts/descriptors/service/index.js +9 -1
- package/build/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +26 -17
- package/build/shared/charts/descriptors/service/llmPrompt/llmPromptMCPTool.js +57 -1
- package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +75 -15
- package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +27 -5
- package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +67 -2
- package/build/shared/charts/descriptors/voicegateway2/nodes/play.js +7 -0
- package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +149 -4
- package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +137 -4
- package/build/shared/errors/ErrorCode.js +2 -1
- package/build/shared/errors/ErrorCollection.js +1 -0
- package/build/shared/helper/BaseContext.js +1 -1
- package/build/shared/interfaces/amqpInterface.js +1 -0
- package/build/shared/interfaces/generativeAI/IGenerativeAIModels.js +1 -0
- package/build/shared/interfaces/handover.js +1 -0
- package/build/shared/interfaces/handoverProviders.js +0 -1
- package/build/shared/interfaces/messageAPI/endpoints.js +4 -1
- package/build/shared/interfaces/resources/IAuditEvent.js +1 -0
- package/build/shared/interfaces/resources/IChart.js +10 -1
- package/build/shared/interfaces/resources/IChartNode.js +32 -4
- package/build/shared/interfaces/resources/IEndpoint.js +1 -0
- package/build/shared/interfaces/resources/INodeDescriptorSet.js +8 -0
- package/build/shared/interfaces/resources/TResourceType.js +1 -0
- package/build/shared/interfaces/resources/chart/IChartExecutableNode.js +10 -1
- package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeConnector.js +49 -0
- package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
- package/build/shared/interfaces/resources/settings/IAudioPreviewSettings.js +7 -1
- package/build/shared/interfaces/restAPI/administration/user/v2.0/IExchangeCXoneTokenRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/analytics/IDeleteConversationsBySessionRest_2_1.js +3 -0
- package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/ICreateKnowledgeConnectorRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IDeleteKnowledgeConnectorRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IIndexKnowledgeConnectorsRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IKnowledgeConnector_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IReadKnowledgeConnectorRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IRunKnowledgeConnectorRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IUpdateKnowledgeConnectorRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/simulation/scheduler/ICreateSchedulerRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/simulation/scheduler/IGetSchedulerRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/simulation/scheduler/ISchedulerRest_2_0.js +12 -0
- package/build/shared/interfaces/restAPI/simulation/scheduler/IUpdateSchedulerRest_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/simulation/simulationOverview/IGetSimulationOverviewMetricsRestData_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/simulation/simulationOverview/IGetSuccessRateTrendRestData_2_0.js +3 -0
- package/build/shared/interfaces/restAPI/simulation/simulationOverview/IGetUpcomingScheduledRunsRestData_2_0.js +3 -0
- package/build/shared/interfaces/security/ISessionScope.js +3 -0
- package/build/spec/aiAgentV2.spec.js +564 -0
- package/dist/esm/apigroups/InsightsAPIGroup_2_1.js +13 -0
- package/dist/esm/apigroups/ResourcesAPIGroup_2_0.js +140 -375
- package/dist/esm/apigroups/SimulationAPIGroup_2_0.js +33 -18
- package/dist/esm/apigroups/aiAgentsV2/agent.js +2 -0
- package/dist/esm/apigroups/aiAgentsV2/agentAPI.js +24 -0
- package/dist/esm/apigroups/aiAgentsV2/agentPersona.js +2 -0
- package/dist/esm/apigroups/aiAgentsV2/agentPersonaAPI.js +24 -0
- package/dist/esm/apigroups/aiAgentsV2/aiAgentV2API.js +2 -0
- package/dist/esm/apigroups/aiAgentsV2/tool.js +2 -0
- package/dist/esm/apigroups/aiAgentsV2/toolAPI.js +21 -0
- package/dist/esm/apigroups/aiAgentsV2/toolDescriptor.js +2 -0
- package/dist/esm/apigroups/aiAgentsV2/toolDescriptorAPI.js +9 -0
- package/dist/esm/apigroups/index.js +1 -0
- package/dist/esm/authentication/AuthenticationAPI.js +1 -0
- package/dist/esm/shared/charts/createNodeDescriptor.js +1 -0
- package/dist/esm/shared/charts/descriptors/analytics/overwriteAnalytics.js +14 -0
- package/dist/esm/shared/charts/descriptors/analytics/updateProfile.js +5 -0
- package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +7 -0
- package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/index.js +5 -1
- package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/oAuth2ClientCredentialsConnection.js +12 -0
- package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/oAuth2JwtBearerConnection.js +10 -0
- package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +63 -10
- package/dist/esm/shared/charts/descriptors/connectionNodes/speechProviders/elevenlabsSpeechProviderConnection.js +49 -0
- package/dist/esm/shared/charts/descriptors/connectionNodes/speechProviders/index.js +3 -3
- package/dist/esm/shared/charts/descriptors/index.js +7 -1
- package/dist/esm/shared/charts/descriptors/message/question/question.js +254 -59
- package/dist/esm/shared/charts/descriptors/message/say.js +3 -0
- package/dist/esm/shared/charts/descriptors/service/agentTools/executeWorkflowTool.js +237 -0
- package/dist/esm/shared/charts/descriptors/service/agentTools/handoverToHumanAgentTool.js +770 -0
- package/dist/esm/shared/charts/descriptors/service/agentTools/sendEmailTool.js +33 -4
- package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +25 -20
- package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJobCallMCPTool.js +10 -6
- package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJobMCPTool.js +56 -0
- package/dist/esm/shared/charts/descriptors/service/aiAgent/helpers/createToolDefinitions.js +10 -1
- package/dist/esm/shared/charts/descriptors/service/aiAgent/helpers/parseMcpHeaders.js +25 -0
- package/dist/esm/shared/charts/descriptors/service/aiAgentV2.js +87 -0
- package/dist/esm/shared/charts/descriptors/service/handoverV2.js +1 -1
- package/dist/esm/shared/charts/descriptors/service/httpRequest.js +3 -0
- package/dist/esm/shared/charts/descriptors/service/index.js +4 -0
- package/dist/esm/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +33 -24
- package/dist/esm/shared/charts/descriptors/service/llmPrompt/llmPromptMCPTool.js +56 -0
- package/dist/esm/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +75 -15
- package/dist/esm/shared/charts/descriptors/voice/mappers/transfer.mapper.js +27 -5
- package/dist/esm/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +67 -2
- package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/play.js +7 -0
- package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +149 -4
- package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/transfer.js +137 -4
- package/dist/esm/shared/errors/ErrorCode.js +2 -1
- package/dist/esm/shared/errors/ErrorCollection.js +1 -0
- package/dist/esm/shared/helper/BaseContext.js +1 -1
- package/dist/esm/shared/interfaces/amqpInterface.js +1 -0
- package/dist/esm/shared/interfaces/generativeAI/IGenerativeAIModels.js +1 -0
- package/dist/esm/shared/interfaces/handover.js +1 -0
- package/dist/esm/shared/interfaces/handoverProviders.js +0 -1
- package/dist/esm/shared/interfaces/messageAPI/endpoints.js +4 -1
- package/dist/esm/shared/interfaces/resources/IAuditEvent.js +1 -0
- package/dist/esm/shared/interfaces/resources/IChart.js +10 -1
- package/dist/esm/shared/interfaces/resources/IChartNode.js +32 -4
- package/dist/esm/shared/interfaces/resources/IEndpoint.js +1 -0
- package/dist/esm/shared/interfaces/resources/INodeDescriptorSet.js +8 -0
- package/dist/esm/shared/interfaces/resources/TResourceType.js +1 -0
- package/dist/esm/shared/interfaces/resources/chart/IChartExecutableNode.js +10 -1
- package/dist/esm/shared/interfaces/resources/knowledgeStore/IKnowledgeConnector.js +46 -0
- package/dist/esm/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
- package/dist/esm/shared/interfaces/resources/settings/IAudioPreviewSettings.js +7 -1
- package/dist/esm/shared/interfaces/restAPI/administration/user/v2.0/IExchangeCXoneTokenRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/analytics/IDeleteConversationsBySessionRest_2_1.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/ICreateKnowledgeConnectorRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IDeleteKnowledgeConnectorRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IIndexKnowledgeConnectorsRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IKnowledgeConnector_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IReadKnowledgeConnectorRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IRunKnowledgeConnectorRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IUpdateKnowledgeConnectorRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/ICreateSchedulerRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/IGetSchedulerRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/ISchedulerRest_2_0.js +9 -0
- package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/IUpdateSchedulerRest_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/simulation/simulationOverview/IGetSimulationOverviewMetricsRestData_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/simulation/simulationOverview/IGetSuccessRateTrendRestData_2_0.js +2 -0
- package/dist/esm/shared/interfaces/restAPI/simulation/simulationOverview/IGetUpcomingScheduledRunsRestData_2_0.js +2 -0
- package/dist/esm/shared/interfaces/security/ISessionScope.js +2 -0
- package/dist/esm/spec/aiAgentV2.spec.js +563 -0
- package/package.json +6 -3
- 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
|
|
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
|
-
(
|
|
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: (
|
|
1321
|
-
mcpHeaders
|
|
1322
|
-
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({}, (
|
|
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 ((
|
|
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 = ((
|
|
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
|
-
(
|
|
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 ((
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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) || ((
|
|
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
|
-
(
|
|
1422
|
+
(_23 = api.emitEvent) === null || _23 === void 0 ? void 0 : _23.call(api, "nodeError", { nodeId, flowId: flowReferenceId, errorMessage: error });
|
|
1418
1423
|
if (logErrorToSystem) {
|
|
1419
|
-
(
|
|
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
|
-
(
|
|
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 ((
|
|
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 (!((
|
|
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:
|
|
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
|
-
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
-
|
|
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
|