@cognigy/rest-api-client 2025.25.0 → 2026.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/apigroups/ResourcesAPIGroup_2_0.js +14 -0
  3. package/build/apigroups/SimulationAPIGroup_2_0.js +15 -1
  4. package/build/authentication/AuthenticationAPI.js +1 -0
  5. package/build/shared/charts/createNodeDescriptor.js +1 -0
  6. package/build/shared/charts/descriptors/analytics/overwriteAnalytics.js +14 -0
  7. package/build/shared/charts/descriptors/analytics/updateProfile.js +5 -0
  8. package/build/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +7 -0
  9. package/build/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +9 -0
  10. package/build/shared/charts/descriptors/index.js +2 -0
  11. package/build/shared/charts/descriptors/message/question/question.js +5 -0
  12. package/build/shared/charts/descriptors/message/say.js +3 -0
  13. package/build/shared/charts/descriptors/service/agentTools/executeWorkflowTool.js +239 -0
  14. package/build/shared/charts/descriptors/service/agentTools/handoverToHumanAgentTool.js +783 -0
  15. package/build/shared/charts/descriptors/service/agentTools/sendEmailTool.js +33 -4
  16. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +23 -20
  17. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJobCallMCPTool.js +4 -2
  18. package/build/shared/charts/descriptors/service/aiAgent/helpers/createToolDefinitions.js +3 -1
  19. package/build/shared/charts/descriptors/service/aiAgent/helpers/parseMcpHeaders.js +26 -0
  20. package/build/shared/charts/descriptors/service/handoverV2.js +1 -1
  21. package/build/shared/charts/descriptors/service/httpRequest.js +3 -0
  22. package/build/shared/charts/descriptors/service/index.js +5 -1
  23. package/build/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +11 -4
  24. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +17 -11
  25. package/build/shared/charts/descriptors/voice/mappers/transfer.mapper.js +5 -5
  26. package/build/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +2 -2
  27. package/build/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +13 -4
  28. package/build/shared/charts/descriptors/voicegateway2/nodes/transfer.js +4 -4
  29. package/build/shared/interfaces/amqpInterface.js +1 -0
  30. package/build/shared/interfaces/messageAPI/endpoints.js +1 -1
  31. package/build/shared/interfaces/resources/IChart.js +10 -1
  32. package/build/shared/interfaces/resources/IChartNode.js +32 -4
  33. package/build/shared/interfaces/resources/IEndpoint.js +1 -0
  34. package/build/shared/interfaces/resources/INodeDescriptorSet.js +8 -0
  35. package/build/shared/interfaces/resources/TResourceType.js +1 -0
  36. package/build/shared/interfaces/resources/chart/IChartExecutableNode.js +10 -1
  37. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeConnector.js +49 -0
  38. package/build/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
  39. package/build/shared/interfaces/restAPI/administration/user/v2.0/IExchangeCXoneTokenRest_2_0.js +3 -0
  40. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/ICreateKnowledgeConnectorRest_2_0.js +3 -0
  41. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IDeleteKnowledgeConnectorRest_2_0.js +3 -0
  42. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IIndexKnowledgeConnectorsRest_2_0.js +3 -0
  43. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IKnowledgeConnector_2_0.js +3 -0
  44. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IReadKnowledgeConnectorRest_2_0.js +3 -0
  45. package/build/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IUpdateKnowledgeConnectorRest_2_0.js +3 -0
  46. package/build/shared/interfaces/restAPI/simulation/scheduler/ICreateSchedulerRest_2_0.js +3 -0
  47. package/build/shared/interfaces/restAPI/simulation/scheduler/IGetSchedulerRest_2_0.js +3 -0
  48. package/build/shared/interfaces/restAPI/simulation/scheduler/ISchedulerRest_2_0.js +12 -0
  49. package/build/shared/interfaces/restAPI/simulation/scheduler/IUpdateSchedulerRest_2_0.js +3 -0
  50. package/dist/esm/apigroups/ResourcesAPIGroup_2_0.js +14 -0
  51. package/dist/esm/apigroups/SimulationAPIGroup_2_0.js +15 -1
  52. package/dist/esm/authentication/AuthenticationAPI.js +1 -0
  53. package/dist/esm/shared/charts/createNodeDescriptor.js +1 -0
  54. package/dist/esm/shared/charts/descriptors/analytics/overwriteAnalytics.js +14 -0
  55. package/dist/esm/shared/charts/descriptors/analytics/updateProfile.js +5 -0
  56. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/emailNotification.js +7 -0
  57. package/dist/esm/shared/charts/descriptors/connectionNodes/smtp/sendEmail.js +9 -0
  58. package/dist/esm/shared/charts/descriptors/index.js +3 -1
  59. package/dist/esm/shared/charts/descriptors/message/question/question.js +5 -0
  60. package/dist/esm/shared/charts/descriptors/message/say.js +3 -0
  61. package/dist/esm/shared/charts/descriptors/service/agentTools/executeWorkflowTool.js +237 -0
  62. package/dist/esm/shared/charts/descriptors/service/agentTools/handoverToHumanAgentTool.js +770 -0
  63. package/dist/esm/shared/charts/descriptors/service/agentTools/sendEmailTool.js +33 -4
  64. package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +23 -20
  65. package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJobCallMCPTool.js +4 -2
  66. package/dist/esm/shared/charts/descriptors/service/aiAgent/helpers/createToolDefinitions.js +3 -1
  67. package/dist/esm/shared/charts/descriptors/service/aiAgent/helpers/parseMcpHeaders.js +25 -0
  68. package/dist/esm/shared/charts/descriptors/service/handoverV2.js +1 -1
  69. package/dist/esm/shared/charts/descriptors/service/httpRequest.js +3 -0
  70. package/dist/esm/shared/charts/descriptors/service/index.js +2 -0
  71. package/dist/esm/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +11 -4
  72. package/dist/esm/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +17 -11
  73. package/dist/esm/shared/charts/descriptors/voice/mappers/transfer.mapper.js +5 -5
  74. package/dist/esm/shared/charts/descriptors/voice/nodes/sessionSpeechParameters.js +2 -2
  75. package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/setSessionConfig.js +13 -4
  76. package/dist/esm/shared/charts/descriptors/voicegateway2/nodes/transfer.js +4 -4
  77. package/dist/esm/shared/interfaces/amqpInterface.js +1 -0
  78. package/dist/esm/shared/interfaces/messageAPI/endpoints.js +1 -1
  79. package/dist/esm/shared/interfaces/resources/IChart.js +10 -1
  80. package/dist/esm/shared/interfaces/resources/IChartNode.js +32 -4
  81. package/dist/esm/shared/interfaces/resources/IEndpoint.js +1 -0
  82. package/dist/esm/shared/interfaces/resources/INodeDescriptorSet.js +8 -0
  83. package/dist/esm/shared/interfaces/resources/TResourceType.js +1 -0
  84. package/dist/esm/shared/interfaces/resources/chart/IChartExecutableNode.js +10 -1
  85. package/dist/esm/shared/interfaces/resources/knowledgeStore/IKnowledgeConnector.js +46 -0
  86. package/dist/esm/shared/interfaces/resources/knowledgeStore/IKnowledgeSource.js +1 -1
  87. package/dist/esm/shared/interfaces/restAPI/administration/user/v2.0/IExchangeCXoneTokenRest_2_0.js +2 -0
  88. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/ICreateKnowledgeConnectorRest_2_0.js +2 -0
  89. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IDeleteKnowledgeConnectorRest_2_0.js +2 -0
  90. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IIndexKnowledgeConnectorsRest_2_0.js +2 -0
  91. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IKnowledgeConnector_2_0.js +2 -0
  92. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IReadKnowledgeConnectorRest_2_0.js +2 -0
  93. package/dist/esm/shared/interfaces/restAPI/resources/knowledgeStore/v2.0/connector/IUpdateKnowledgeConnectorRest_2_0.js +2 -0
  94. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/ICreateSchedulerRest_2_0.js +2 -0
  95. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/IGetSchedulerRest_2_0.js +2 -0
  96. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/ISchedulerRest_2_0.js +9 -0
  97. package/dist/esm/shared/interfaces/restAPI/simulation/scheduler/IUpdateSchedulerRest_2_0.js +2 -0
  98. package/package.json +1 -1
  99. package/types/index.d.ts +528 -11
@@ -0,0 +1,237 @@
1
+ import { __awaiter } from "tslib";
2
+ /* Custom modules */
3
+ import { createNodeDescriptor } from "../../../createNodeDescriptor";
4
+ import { TranscriptEntryType, TranscriptRole } from "../../../../interfaces/transcripts/transcripts";
5
+ export const EXECUTE_WORKFLOW_TOOL = createNodeDescriptor({
6
+ type: "executeWorkflowTool",
7
+ defaultLabel: "Execute Workflow Tool",
8
+ parentType: ["aiAgentJob", "llmPromptV2"],
9
+ constraints: {
10
+ editable: true,
11
+ deletable: true,
12
+ collapsable: true,
13
+ creatable: true,
14
+ movable: true,
15
+ placement: {
16
+ predecessor: {
17
+ whitelist: []
18
+ }
19
+ },
20
+ childFlowCreatable: false
21
+ },
22
+ behavior: {
23
+ stopping: true
24
+ },
25
+ preview: {
26
+ type: "text",
27
+ key: "toolId"
28
+ },
29
+ fields: [
30
+ {
31
+ key: "toolId",
32
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__TOOL_ID__LABEL",
33
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__TOOL_ID__DESCRIPTION",
34
+ type: "cognigyLLMText",
35
+ defaultValue: "execute_workflow",
36
+ params: {
37
+ required: true,
38
+ rows: 1,
39
+ multiline: false,
40
+ maxLength: 64,
41
+ }
42
+ },
43
+ {
44
+ key: "description",
45
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__DESCRIPTION__LABEL",
46
+ description: "UI__NODE_EDITOR__SERVICE__EXECUTE_WORKFLOW_TOOL__FIELDS__DESCRIPTION__DESCRIPTION",
47
+ type: "cognigyLLMText",
48
+ params: {
49
+ required: true,
50
+ rows: 5,
51
+ multiline: true,
52
+ placeholder: `Describe the action or functionality that the target Flow handles.\nFor example: "Update a booking", "Check order status", or "Start onboarding workflow". Be specific so the AI Agent knows exactly when to execute this Flow.`
53
+ }
54
+ },
55
+ {
56
+ key: "parameters",
57
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__PARAMETERS__LABEL",
58
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__PARAMETERS__DESCRIPTION",
59
+ type: "toolParameters",
60
+ defaultValue: `{
61
+ "type": "object",
62
+ "properties": {
63
+ "execution_reason": {
64
+ "type": "string",
65
+ "description": "The reason for executing this workflow, including context from the conversation."
66
+ }
67
+ },
68
+ "required": ["execution_reason"],
69
+ "additionalProperties": false
70
+ }`,
71
+ params: {
72
+ required: false,
73
+ },
74
+ },
75
+ {
76
+ key: "flowNode",
77
+ type: "flowNode",
78
+ label: "UI__NODE_EDITOR__SERVICE__EXECUTE_WORKFLOW_TOOL__FIELDS__FLOW_NODE__LABEL",
79
+ params: {
80
+ required: true,
81
+ }
82
+ },
83
+ {
84
+ key: "parseIntents",
85
+ type: "toggle",
86
+ label: "UI__NODE_EDITOR__EXECUTE_FLOW__PARSE_INTENTS__LABEL",
87
+ description: "UI__NODE_EDITOR__EXECUTE_FLOW__PARSE_INTENTS__DESCRIPTION",
88
+ defaultValue: false
89
+ },
90
+ {
91
+ key: "parseKeyphrases",
92
+ type: "toggle",
93
+ label: "UI__NODE_EDITOR__EXECUTE_FLOW__PARSE_KEYPHRASES__LABEL",
94
+ description: "UI__NODE_EDITOR__EXECUTE_FLOW__PARSE_KEYPHRASES__DESCRIPTION",
95
+ defaultValue: false
96
+ },
97
+ {
98
+ key: "absorbContext",
99
+ type: "toggle",
100
+ label: "UI__NODE_EDITOR__EXECUTE_FLOW__ABSORB_CONTEXT__LABEL",
101
+ description: "UI__NODE_EDITOR__EXECUTE_FLOW__ABSORB_CONTEXT__DESCRIPTION",
102
+ defaultValue: false
103
+ },
104
+ {
105
+ key: "debugMessage",
106
+ type: "toggle",
107
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__DEBUG_MESSAGE__LABEL",
108
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__DEBUG_MESSAGE__DESCRIPTION",
109
+ defaultValue: true,
110
+ },
111
+ {
112
+ key: "condition",
113
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__CONDITION__LABEL",
114
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__CONDITION__DESCRIPTION",
115
+ type: "cognigyText",
116
+ defaultValue: "",
117
+ },
118
+ ],
119
+ sections: [
120
+ {
121
+ key: "debugging",
122
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_JOB__SECTIONS__DEBUG_SETTINGS__LABEL",
123
+ defaultCollapsed: true,
124
+ fields: [
125
+ "debugMessage",
126
+ ],
127
+ },
128
+ {
129
+ key: "advanced",
130
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_JOB__SECTIONS__ADVANCED__LABEL",
131
+ defaultCollapsed: true,
132
+ fields: [
133
+ "condition",
134
+ "parseIntents",
135
+ "parseKeyphrases",
136
+ "absorbContext",
137
+ ],
138
+ },
139
+ ],
140
+ form: [
141
+ { type: "field", key: "toolId" },
142
+ { type: "field", key: "description" },
143
+ { type: "field", key: "flowNode" },
144
+ { type: "section", key: "debugging" },
145
+ { type: "section", key: "advanced" },
146
+ ],
147
+ appearance: {
148
+ color: "white",
149
+ textColor: "#252525",
150
+ variant: "mini",
151
+ },
152
+ function: ({ cognigy, config, nodeId: thisNodeId }) => __awaiter(void 0, void 0, void 0, function* () {
153
+ var _a, _b, _c, _d, _e, _f, _g;
154
+ const { api } = cognigy;
155
+ const { debugMessage, flowNode: targetFlowNode, parseIntents, parseKeyphrases, absorbContext, } = config;
156
+ const sessionState = yield api.loadSessionState();
157
+ const toolCall = (_a = sessionState.lastToolCall) === null || _a === void 0 ? void 0 : _a.toolCall;
158
+ const aiAgentJobNode = (_b = sessionState.lastToolCall) === null || _b === void 0 ? void 0 : _b.aiAgentJobNode;
159
+ if (!(toolCall === null || toolCall === void 0 ? void 0 : toolCall.id)) {
160
+ (_c = api.logDebugError) === null || _c === void 0 ? void 0 : _c.call(api, "UI__DEBUG_MODE__AI_AGENT_ANSWER__ERROR__MESSAGE");
161
+ }
162
+ if (!(targetFlowNode === null || targetFlowNode === void 0 ? void 0 : targetFlowNode.flow)) {
163
+ throw new Error("Flow is required for Execute Workflow Tool");
164
+ }
165
+ if (toolCall && aiAgentJobNode) {
166
+ if (!((_d = api.checkThink) === null || _d === void 0 ? void 0 : _d.call(api, thisNodeId))) {
167
+ const executionReason = ((_f = (_e = toolCall === null || toolCall === void 0 ? void 0 : toolCall.function) === null || _e === void 0 ? void 0 : _e.arguments) === null || _f === void 0 ? void 0 : _f.execution_reason) || "No reason provided";
168
+ // Optional Debug Message
169
+ if (debugMessage) {
170
+ (_g = api.logDebugMessage) === null || _g === void 0 ? void 0 : _g.call(api, JSON.stringify({
171
+ execution_reason: executionReason,
172
+ target_flow: targetFlowNode.flow,
173
+ target_node: targetFlowNode.node,
174
+ }, null, 2));
175
+ }
176
+ api.resetNextNodes();
177
+ // We add the return to the AI Agent Job node before the executeFlow of the target flow,
178
+ // because we want to return to the AI Agent Job node after the target flow has been executed
179
+ const { flow: thisFlow, node: thisNode } = aiAgentJobNode;
180
+ if (thisFlow && thisNode) {
181
+ yield api.executeFlow({
182
+ flowNode: {
183
+ flow: thisFlow,
184
+ node: thisNode,
185
+ },
186
+ absorbContext: true,
187
+ });
188
+ }
189
+ else {
190
+ throw new Error("AI Agent Job Node is required for Execute Workflow Tool");
191
+ }
192
+ // Execute the target flow (mirrors executeFlow functionality)
193
+ yield api.executeFlow({
194
+ flowNode: {
195
+ flow: targetFlowNode.flow,
196
+ node: targetFlowNode.node
197
+ },
198
+ absorbContext,
199
+ parseIntents,
200
+ parseKeyphrases
201
+ });
202
+ // Add Tool Call Message to Transcript
203
+ const toolCallTranscriptStep = {
204
+ role: TranscriptRole.ASSISTANT,
205
+ type: TranscriptEntryType.TOOL_CALL,
206
+ source: "system",
207
+ payload: {
208
+ name: toolCall.function.name,
209
+ id: toolCall.id,
210
+ input: toolCall.function.arguments,
211
+ }
212
+ };
213
+ yield api.addTranscriptStep(toolCallTranscriptStep);
214
+ // Add Tool Answer Message to Transcript
215
+ const toolAnswer = {
216
+ role: TranscriptRole.TOOL,
217
+ type: TranscriptEntryType.TOOL_ANSWER,
218
+ source: "system",
219
+ payload: {
220
+ toolCallId: toolCall.id,
221
+ name: toolCall.function.name,
222
+ content: "Workflow executed",
223
+ }
224
+ };
225
+ yield api.addTranscriptStep(toolAnswer);
226
+ // Clear the last tool call from session state
227
+ api.updateSessionStateValues({
228
+ lastToolCall: undefined
229
+ });
230
+ }
231
+ else {
232
+ throw new Error("Infinite Loop Detected");
233
+ }
234
+ }
235
+ })
236
+ });
237
+ //# sourceMappingURL=executeWorkflowTool.js.map