@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
|
@@ -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
|
|
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
|
-
(
|
|
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: (
|
|
1308
|
-
mcpHeaders
|
|
1309
|
-
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({}, (
|
|
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 ((
|
|
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 = ((
|
|
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
|
-
(
|
|
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 ((
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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) || ((
|
|
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
|
-
(
|
|
1409
|
+
(_23 = api.emitEvent) === null || _23 === void 0 ? void 0 : _23.call(api, "nodeError", { nodeId, flowId: flowReferenceId, errorMessage: error });
|
|
1405
1410
|
if (logErrorToSystem) {
|
|
1406
|
-
(
|
|
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
|
-
(
|
|
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 ((
|
|
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 (!((
|
|
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:
|
|
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
|
-
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
-
|
|
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
|