@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,770 @@
1
+ import { __awaiter, __rest } from "tslib";
2
+ /* Custom modules */
3
+ import { createNodeDescriptor } from "../../../createNodeDescriptor";
4
+ import { TranscriptEntryType, TranscriptRole } from "../../../../interfaces/transcripts/transcripts";
5
+ import { COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS } from "../../../../constants";
6
+ export const HANDOVER_TO_HUMAN_AGENT_TOOL = createNodeDescriptor({
7
+ type: "handoverToHumanAgentTool",
8
+ defaultLabel: "Handover to Human Agent Tool",
9
+ parentType: ["aiAgentJob", "llmPromptV2"],
10
+ constraints: {
11
+ editable: true,
12
+ deletable: true,
13
+ collapsable: true,
14
+ creatable: true,
15
+ movable: true,
16
+ placement: {
17
+ predecessor: {
18
+ whitelist: []
19
+ }
20
+ },
21
+ childFlowCreatable: false
22
+ },
23
+ behavior: {
24
+ stopping: true
25
+ },
26
+ preview: {
27
+ type: "text",
28
+ key: "toolId"
29
+ },
30
+ fields: [
31
+ // Tool-specific fields
32
+ {
33
+ key: "toolId",
34
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__TOOL_ID__LABEL",
35
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__TOOL_ID__DESCRIPTION",
36
+ type: "cognigyLLMText",
37
+ defaultValue: "handover_to_human_agent",
38
+ params: {
39
+ required: true,
40
+ rows: 1,
41
+ multiline: false,
42
+ maxLength: 64,
43
+ }
44
+ },
45
+ {
46
+ key: "description",
47
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__DESCRIPTION__LABEL",
48
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__DESCRIPTION__DESCRIPTION",
49
+ type: "cognigyLLMText",
50
+ defaultValue: "Transfer the conversation to a human agent. Use this if you cannot address the user's request, if the user explicitly asks for a human, or if the situation requires empathy, judgement, or actions you cannot perform.",
51
+ params: {
52
+ required: true,
53
+ rows: 5,
54
+ multiline: true,
55
+ }
56
+ },
57
+ {
58
+ key: "parameters",
59
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__PARAMETERS__LABEL",
60
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__PARAMETERS__DESCRIPTION",
61
+ type: "toolParameters",
62
+ defaultValue: `{
63
+ "type": "object",
64
+ "properties": {
65
+ "handover_reason": {
66
+ "type": "string",
67
+ "description": "The reason for handing over to a human agent, including context from the conversation."
68
+ }
69
+ },
70
+ "required": ["handover_reason"],
71
+ "additionalProperties": false
72
+ }`,
73
+ params: {
74
+ required: false,
75
+ },
76
+ },
77
+ {
78
+ key: "debugMessage",
79
+ type: "toggle",
80
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__DEBUG_MESSAGE__LABEL",
81
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__DEBUG_MESSAGE__DESCRIPTION",
82
+ defaultValue: true,
83
+ },
84
+ {
85
+ key: "condition",
86
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__CONDITION__LABEL",
87
+ description: "UI__NODE_EDITOR__SERVICE__AI_AGENT_TOOL__FIELDS__CONDITION__DESCRIPTION",
88
+ type: "cognigyText",
89
+ defaultValue: "",
90
+ },
91
+ // Handover V2 fields
92
+ {
93
+ key: "handoverProvider",
94
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__HANDOVER_PROVIDER__LABEL",
95
+ type: "handoverProvider",
96
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__HANDOVER_PROVIDER__DESCRIPTION",
97
+ defaultValue: "legacyEndpoint",
98
+ params: {
99
+ required: true,
100
+ },
101
+ },
102
+ {
103
+ key: "handoverProviderConfig",
104
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__HANDOVER_PROVIDER__LABEL",
105
+ type: "json",
106
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__HANDOVER_PROVIDER__DESCRIPTION",
107
+ defaultValue: { liveAgentPriority: "none" },
108
+ params: {
109
+ required: true,
110
+ },
111
+ },
112
+ {
113
+ key: "text",
114
+ type: "cognigyText",
115
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__TEXT__LABEL",
116
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__TEXT__DESCRIPTION"
117
+ },
118
+ {
119
+ key: "repeatHandoverMessage",
120
+ type: "toggle",
121
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__REPEAT_HANDOVER_MESSAGE__LABEL",
122
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__REPEAT_HANDOVER_MESSAGE__DESCRIPTION",
123
+ defaultValue: false,
124
+ },
125
+ {
126
+ key: "cancelIntent",
127
+ type: "cognigyText",
128
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__CANCEL_INTENT__LABEL",
129
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__CANCEL_INTENT__DESCRIPTION"
130
+ },
131
+ {
132
+ key: "quickReply",
133
+ type: "cognigyText",
134
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__QUICK_REPLY__LABEL",
135
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__QUICK_REPLY__DESCRIPTION"
136
+ },
137
+ {
138
+ key: "resolveBehavior",
139
+ type: "select",
140
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__RESOLVE_BEHAVIOUR__LABEL",
141
+ defaultValue: "resetEntrypoint",
142
+ params: {
143
+ options: [
144
+ {
145
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__RESOLVE_BEHAVIOUR__OPTIONS__RESET_ENTRY_POINT__LABEL",
146
+ value: "resetEntrypoint"
147
+ },
148
+ {
149
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__RESOLVE_BEHAVIOUR__OPTIONS__CONTINUE_ENTRY_POINT__LABEL",
150
+ value: "continueEntrypoint",
151
+ },
152
+ ],
153
+ },
154
+ },
155
+ {
156
+ key: "additionalCategoryIds",
157
+ type: "cognigyTextArray",
158
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ADDITIONAL_CATEGORY_IDS__LABEL",
159
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ADDITIONAL_CATEGORY_IDS__DESCRIPTION",
160
+ defaultValue: []
161
+ },
162
+ {
163
+ key: "sendResolveEvent",
164
+ type: "toggle",
165
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SEND_RESOLVE_EVENT__LABEL",
166
+ defaultValue: true,
167
+ },
168
+ {
169
+ key: COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_INBOX_ID,
170
+ type: "cognigyText",
171
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_INBOXID__LABEL",
172
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_INBOXID__DESCRIPTION"
173
+ },
174
+ {
175
+ key: COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_SKILLS,
176
+ type: "cognigyTextArray",
177
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_SKILLS__LABEL",
178
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_SKILLS__DESCRIPTION",
179
+ },
180
+ {
181
+ key: COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_LANGUAGES,
182
+ type: "cognigyTextArray",
183
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_LANGUAGES__LABEL",
184
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_LANGUAGES__DESCRIPTION",
185
+ },
186
+ {
187
+ key: COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_PRIORITY,
188
+ type: "select",
189
+ defaultValue: 'none',
190
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_PRIORITY__LABEL",
191
+ params: {
192
+ options: [
193
+ {
194
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_PRIORITY__OPTIONS__NONE__LABEL",
195
+ value: 'none'
196
+ },
197
+ {
198
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_PRIORITY__OPTIONS__URGENT__LABEL",
199
+ value: "urgent"
200
+ },
201
+ {
202
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_PRIORITY__OPTIONS__HIGH__LABEL",
203
+ value: "high"
204
+ },
205
+ {
206
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_PRIORITY__OPTIONS__MEDIUM__LABEL",
207
+ value: "medium"
208
+ },
209
+ {
210
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_PRIORITY__OPTIONS__LOW__LABEL",
211
+ value: "low"
212
+ },
213
+ ],
214
+ }
215
+ },
216
+ {
217
+ key: COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.ALLOW_AGENT_INJECT,
218
+ type: "toggle",
219
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ALLOW_AGENT_INJECT__LABEL",
220
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ALLOW_AGENT_INJECT__DESCRIPTION",
221
+ defaultValue: false,
222
+ },
223
+ {
224
+ key: "chatwootInboxId",
225
+ type: "cognigyText",
226
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__CHATWOOT_INBOXID__LABEL",
227
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__CHATWOOT_INBOXID__DESCRIPTION"
228
+ },
229
+ {
230
+ key: "sendTranscriptAsFirstMessage",
231
+ type: "toggle",
232
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SEND_TRANSCRIPT_AS_FIRST_MESSAGE__LABEL",
233
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SEND_TRANSCRIPT_AS_FIRST_MESSAGE__DESCRIPTION",
234
+ defaultValue: false,
235
+ },
236
+ {
237
+ key: "buttonId",
238
+ type: "cognigyText",
239
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__BUTTON_ID__LABEL",
240
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__BUTTON_ID__DESCRIPTION",
241
+ },
242
+ {
243
+ key: "salesforcePrechatEntities",
244
+ type: "json",
245
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SALES_FORCE_PERCHAT_ENTITIES__LABEL",
246
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SALES_FORCE_PERCHAT_ENTITIES__DESCRIPTION",
247
+ defaultValue: "[]",
248
+ },
249
+ {
250
+ key: "salesforcePrechatDetails",
251
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SALES_FORCE_PERCHAT_DETAILS__LABEL",
252
+ type: "json",
253
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SALES_FORCE_PERCHAT_DETAILS__DESCRIPTION",
254
+ defaultValue: "[]",
255
+ },
256
+ {
257
+ key: "genesysLanguage",
258
+ type: "cognigyText",
259
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__GENESYS_LANGUAGE__LABEL",
260
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__GENESYS_LANGUAGE__DESCRIPTION",
261
+ },
262
+ {
263
+ key: "genesysSkills",
264
+ type: "cognigyTextArray",
265
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__GENESYS_SKILLS__LABEL",
266
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__GENESYS_SKILLS__DESCRIPTION",
267
+ defaultValue: [],
268
+ },
269
+ {
270
+ key: "genesysPriority",
271
+ type: "cognigyText",
272
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__GENESYS_PRIORITY__LABEL",
273
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__GENESYS_PRIORITY__DESCRIPTION",
274
+ },
275
+ {
276
+ key: "genesysCustomAttributes",
277
+ type: "json",
278
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__GENESYS_CUSTOM_ATTRIBUTES__LABEL",
279
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__GENESYS_CUSTOM_ATTRIBUTES__DESCRIPTION",
280
+ defaultValue: {},
281
+ },
282
+ {
283
+ key: "eightByEightChannelId",
284
+ type: "cognigyText",
285
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__EIGTH_BY_EIGHT_CHANNELID__LABEL",
286
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__EIGTH_BY_EIGHT_CHANNELID__DESCRIPTION",
287
+ },
288
+ {
289
+ key: "eightByEightQueueId",
290
+ type: "cognigyText",
291
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__EIGTH_BY_EIGHT_QUEUEID__LABEL",
292
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__EIGTH_BY_EIGHT_QUEUEID__DESCRIPTION",
293
+ },
294
+ {
295
+ key: "eightByEightJSONProps",
296
+ type: "json",
297
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__EIGTH_BY_EIGHT_JSONPROPS__LABEL",
298
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__EIGTH_BY_EIGHT_JSONPROPS__DESCRIPTION",
299
+ defaultValue: {
300
+ "name": null,
301
+ "userId": null,
302
+ "email": null,
303
+ "phone": null,
304
+ "company": null,
305
+ "caseId": null,
306
+ "language": null,
307
+ "additionalProperties": [
308
+ { "key": "Key name", "value": "Value from Cognigy" }
309
+ ]
310
+ },
311
+ },
312
+ {
313
+ key: "sendOnQueueEvent",
314
+ type: "toggle",
315
+ defaultValue: false,
316
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SEND_ON_QUEUE_EVENT__LABEL",
317
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SEND_ON_QUEUE_EVENT__DESCRIPTION",
318
+ },
319
+ {
320
+ key: "sendOnActiveEvent",
321
+ type: "toggle",
322
+ defaultValue: false,
323
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SEND_ON_ACTIVE_EVENT__LABEL",
324
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__SEND_ON_ACTIVE_EVENT__DESCRIPTION",
325
+ },
326
+ {
327
+ key: "getQueuePosition",
328
+ type: "toggle",
329
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_GET_QUEUE_POSITION__LABEL",
330
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_GET_QUEUE_POSITION__DESCRIPTION",
331
+ defaultValue: false,
332
+ },
333
+ {
334
+ key: "updateIntervalQueuePosition",
335
+ type: "number",
336
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_UPDATE_INTERVAL__LABEL",
337
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_UPDATE_INTERVAL__DESCRIPTION",
338
+ params: {
339
+ min: 30,
340
+ max: 3600, // 1 hour
341
+ },
342
+ condition: {
343
+ key: "getQueuePosition",
344
+ value: true
345
+ },
346
+ },
347
+ {
348
+ key: "getEstimatedWaitTime",
349
+ type: "toggle",
350
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_GET_ESTIMATED_WAIT_TIME__LABEL",
351
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_GET_ESTIMATED_WAIT_TIME__DESCRIPTION",
352
+ defaultValue: false,
353
+ },
354
+ {
355
+ key: "updateIntervalEstimatedWaitTime",
356
+ type: "number",
357
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_UPDATE_INTERVAL__LABEL",
358
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_UPDATE_INTERVAL__DESCRIPTION",
359
+ params: {
360
+ min: 30,
361
+ max: 3600, // 1 hour
362
+ },
363
+ condition: {
364
+ key: "getEstimatedWaitTime",
365
+ value: true
366
+ },
367
+ },
368
+ {
369
+ key: "alternativeUpdate",
370
+ type: "toggle",
371
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_ALTERNATIVE_UPDATE__LABEL",
372
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_ALTERNATIVE_UPDATE__DESCRIPTION",
373
+ defaultValue: false,
374
+ },
375
+ {
376
+ key: "maximumQueuePosition",
377
+ type: "number",
378
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_MAXIMUM_QUEUE_POSITION__LABEL",
379
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_MAXIMUM_QUEUE_POSITION__DESCRIPTION",
380
+ params: {
381
+ min: 1,
382
+ },
383
+ condition: {
384
+ key: "alternativeUpdate",
385
+ value: true,
386
+ },
387
+ },
388
+ {
389
+ key: "maximumEstimatedWaitTime",
390
+ type: "number",
391
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_MAXIMUM_ESTIMATED_WAIT_TIME__LABEL",
392
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_MAXIMUM_ESTIMATED_WAIT_TIME__DESCRIPTION",
393
+ condition: {
394
+ key: "alternativeUpdate",
395
+ value: true,
396
+ },
397
+ },
398
+ {
399
+ key: "alternativeText",
400
+ type: "cognigyText",
401
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_ALTERNATIVE_TEXT__LABEL",
402
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_ALTERNATIVE_TEXT__DESCRIPTION",
403
+ condition: {
404
+ key: "alternativeUpdate",
405
+ value: true,
406
+ },
407
+ },
408
+ {
409
+ key: "enableHandoverDisconnectMessageLiveAgent",
410
+ type: "toggle",
411
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_DISCONNECT_MESSAGE__LABEL",
412
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_DISCONNECT_MESSAGE__DESCRIPTION",
413
+ defaultValue: true,
414
+ },
415
+ {
416
+ key: "enableHandoverConnectMessageLiveAgent",
417
+ type: "toggle",
418
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_CONNECT_MESSAGE__LABEL",
419
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_CONNECT_MESSAGE__DESCRIPTION",
420
+ defaultValue: true,
421
+ },
422
+ {
423
+ key: "enableHandoverDisconnectMessageGenesys",
424
+ type: "toggle",
425
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_DISCONNECT_MESSAGE__LABEL",
426
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_DISCONNECT_MESSAGE__DESCRIPTION",
427
+ defaultValue: true,
428
+ },
429
+ {
430
+ key: "enableHandoverConnectMessageGenesys",
431
+ type: "toggle",
432
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_CONNECT_MESSAGE__LABEL",
433
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_CONNECT_MESSAGE__DESCRIPTION",
434
+ defaultValue: true,
435
+ },
436
+ {
437
+ key: "enableHandoverDisconnectMessageRingCentralEngage",
438
+ type: "toggle",
439
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_DISCONNECT_MESSAGE__LABEL",
440
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_DISCONNECT_MESSAGE__DESCRIPTION",
441
+ defaultValue: true,
442
+ },
443
+ {
444
+ key: "enableHandoverConnectMessageRingCentralEngage",
445
+ type: "toggle",
446
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_CONNECT_MESSAGE__LABEL",
447
+ description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__ENABLE_HANDOVER_CONNECT_MESSAGE__DESCRIPTION",
448
+ defaultValue: true,
449
+ },
450
+ ],
451
+ sections: [
452
+ // Tool-specific sections
453
+ {
454
+ key: "debugging",
455
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_JOB__SECTIONS__DEBUG_SETTINGS__LABEL",
456
+ defaultCollapsed: true,
457
+ fields: [
458
+ "debugMessage",
459
+ ],
460
+ },
461
+ {
462
+ key: "advanced",
463
+ label: "UI__NODE_EDITOR__SERVICE__AI_AGENT_JOB__SECTIONS__ADVANCED__LABEL",
464
+ defaultCollapsed: true,
465
+ fields: [
466
+ "condition",
467
+ ],
468
+ },
469
+ // Handover V2 sections
470
+ {
471
+ key: "cancelSettings",
472
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__CANCEL_SETTINGS__LABEL",
473
+ defaultCollapsed: true,
474
+ fields: [
475
+ "cancelIntent",
476
+ "quickReply",
477
+ ]
478
+ },
479
+ {
480
+ key: "resolveOptions",
481
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__RESOLVE_OPTIONS__LABEL",
482
+ defaultCollapsed: true,
483
+ fields: [
484
+ "resolveBehavior",
485
+ "sendResolveEvent",
486
+ ]
487
+ },
488
+ {
489
+ key: "liveAgentSettings",
490
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__LIVE_AGENT_SETTINGS__LABEL",
491
+ defaultCollapsed: true,
492
+ fields: [
493
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_INBOX_ID,
494
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_SKILLS,
495
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_LANGUAGES,
496
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_PRIORITY,
497
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.AGENT_ASSIST_INIT_MESSAGE,
498
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.ALLOW_AGENT_INJECT,
499
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.GET_QUEUE_POSITION,
500
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.UPDATE_INTERVAL_QUEUE_POSITION,
501
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.GET_ESTIMATED_WAIT_TIME,
502
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.UPDATE_INTERVAL_ESTIMATED_WAIT_TIME,
503
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.ALTERNATIVE_UPDATE,
504
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.MAXIMUM_QUEUE_POSITION,
505
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.MAXIMUM_ESTIMATED_WAIT_TIME,
506
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.ALTERNATIVE_TEXT,
507
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.ENABLE_HANDOVER_CONNECT_MESSAGE,
508
+ COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.ENABLE_HANDOVER_DISCONNECT_MESSAGE,
509
+ ],
510
+ condition: {
511
+ or: [
512
+ {
513
+ key: "handoverProvider",
514
+ value: "legacyEndpoint"
515
+ },
516
+ {
517
+ key: "handoverProvider",
518
+ // @ts-ignore
519
+ value: null
520
+ }
521
+ ]
522
+ }
523
+ },
524
+ {
525
+ key: "eightByEightSettings",
526
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__EIGHT_BY_EIGHT_SETTINGS__LABEL",
527
+ defaultCollapsed: true,
528
+ fields: [
529
+ "eightByEightChannelId",
530
+ "eightByEightQueueId",
531
+ "eightByEightJSONProps"
532
+ ],
533
+ condition: {
534
+ or: [
535
+ {
536
+ key: "handoverProvider",
537
+ value: "legacyEndpoint"
538
+ },
539
+ {
540
+ key: "handoverProvider",
541
+ // @ts-ignore
542
+ value: null
543
+ }
544
+ ]
545
+ }
546
+ },
547
+ {
548
+ key: "chatwootSettings",
549
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__CHATWOOT_SETTINGS__LABEL",
550
+ defaultCollapsed: true,
551
+ fields: [
552
+ "chatwootInboxId",
553
+ ],
554
+ condition: {
555
+ or: [
556
+ {
557
+ key: "handoverProvider",
558
+ value: "legacyEndpoint"
559
+ },
560
+ {
561
+ key: "handoverProvider",
562
+ // @ts-ignore
563
+ value: null
564
+ }
565
+ ]
566
+ }
567
+ },
568
+ {
569
+ key: "ringCentralEngageSettings",
570
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__RING_CENTRAL_ENGAGE_SETTINGS__LABEL",
571
+ defaultCollapsed: true,
572
+ fields: [
573
+ "additionalCategoryIds",
574
+ "enableHandoverConnectMessageRingCentralEngage",
575
+ "enableHandoverDisconnectMessageRingCentralEngage",
576
+ ],
577
+ condition: {
578
+ or: [
579
+ {
580
+ key: "handoverProvider",
581
+ value: "legacyEndpoint"
582
+ },
583
+ {
584
+ key: "handoverProvider",
585
+ // @ts-ignore
586
+ value: null
587
+ }
588
+ ]
589
+ }
590
+ },
591
+ {
592
+ key: "salesforceSettings",
593
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__SALES_FORCE_SETTINGS__LABEL",
594
+ defaultCollapsed: true,
595
+ fields: [
596
+ "sendTranscriptAsFirstMessage",
597
+ "buttonId",
598
+ "salesforcePrechatEntities",
599
+ "salesforcePrechatDetails"
600
+ ],
601
+ condition: {
602
+ or: [
603
+ {
604
+ key: "handoverProvider",
605
+ value: "legacyEndpoint"
606
+ },
607
+ {
608
+ key: "handoverProvider",
609
+ // @ts-ignore
610
+ value: null
611
+ }
612
+ ]
613
+ }
614
+ },
615
+ {
616
+ key: "genesysSettings",
617
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__GENESYS_SETTINGS__LABEL",
618
+ defaultCollapsed: true,
619
+ fields: [
620
+ "genesysLanguage",
621
+ "genesysSkills",
622
+ "genesysPriority",
623
+ "genesysCustomAttributes",
624
+ "enableHandoverConnectMessageGenesys",
625
+ "enableHandoverDisconnectMessageGenesys",
626
+ ],
627
+ condition: {
628
+ or: [
629
+ {
630
+ key: "handoverProvider",
631
+ value: "legacyEndpoint"
632
+ },
633
+ {
634
+ key: "handoverProvider",
635
+ // @ts-ignore
636
+ value: null
637
+ }
638
+ ]
639
+ }
640
+ },
641
+ {
642
+ key: "eventSettings",
643
+ label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__SECTIONS__EVENT_SETTINGS__LABEL",
644
+ defaultCollapsed: true,
645
+ fields: [
646
+ "sendOnQueueEvent",
647
+ "sendOnActiveEvent",
648
+ ]
649
+ }
650
+ ],
651
+ form: [
652
+ // Tool-specific fields first
653
+ { type: "field", key: "toolId" },
654
+ { type: "field", key: "description" },
655
+ // Handover provider and message
656
+ { type: "field", key: "handoverProvider" },
657
+ { type: "field", key: "text" },
658
+ { type: "field", key: "repeatHandoverMessage" },
659
+ // Handover settings sections
660
+ { type: "section", key: "liveAgentSettings" },
661
+ { type: "section", key: "chatwootSettings" },
662
+ { type: "section", key: "salesforceSettings" },
663
+ { type: "section", key: "genesysSettings" },
664
+ { type: "section", key: "eightByEightSettings" },
665
+ { type: "section", key: "ringCentralEngageSettings" },
666
+ { type: "section", key: "cancelSettings" },
667
+ { type: "section", key: "resolveOptions" },
668
+ { type: "section", key: "eventSettings" },
669
+ // Tool-specific sections
670
+ { type: "section", key: "debugging" },
671
+ { type: "section", key: "advanced" },
672
+ ],
673
+ appearance: {
674
+ color: "white",
675
+ textColor: "#252525",
676
+ variant: "mini",
677
+ },
678
+ function: ({ cognigy, config, childConfigs, nodeId: thisNodeId }) => __awaiter(void 0, void 0, void 0, function* () {
679
+ var _a, _b, _c, _d, _e, _f, _g, _h;
680
+ const { api, input } = cognigy;
681
+ const {
682
+ // Tool-specific fields to exclude from handover config
683
+ toolId, description, parameters, debugMessage, condition } = config,
684
+ // Rest is handover config
685
+ handoverConfig = __rest(config, ["toolId", "description", "parameters", "debugMessage", "condition"]);
686
+ const sessionState = yield api.loadSessionState();
687
+ const toolCall = (_a = sessionState.lastToolCall) === null || _a === void 0 ? void 0 : _a.toolCall;
688
+ const aiAgentJobNode = (_b = sessionState.lastToolCall) === null || _b === void 0 ? void 0 : _b.aiAgentJobNode;
689
+ if (!(toolCall === null || toolCall === void 0 ? void 0 : toolCall.id)) {
690
+ (_c = api.logDebugError) === null || _c === void 0 ? void 0 : _c.call(api, "UI__DEBUG_MODE__AI_AGENT_ANSWER__ERROR__MESSAGE");
691
+ }
692
+ if (toolCall && aiAgentJobNode) {
693
+ if (!((_d = api.checkThink) === null || _d === void 0 ? void 0 : _d.call(api, thisNodeId))) {
694
+ const handoverReason = ((_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.handover_reason) || "Handover to human agent requested";
695
+ // Optional Debug Message
696
+ if (debugMessage) {
697
+ (_g = api.logDebugMessage) === null || _g === void 0 ? void 0 : _g.call(api, JSON.stringify({ handover_reason: handoverReason }, null, 2));
698
+ }
699
+ // Execute handover using api.handoverV2() with only handover-specific config
700
+ const handoverResult = yield ((_h = api.handoverV2) === null || _h === void 0 ? void 0 : _h.call(api, {
701
+ cognigy,
702
+ config: handoverConfig,
703
+ nodeId: thisNodeId,
704
+ childConfigs,
705
+ nodeType: "handoverToAgent",
706
+ }));
707
+ input.handover = handoverResult;
708
+ // Add Tool Call Message to Transcript
709
+ const toolCallTranscriptStep = {
710
+ role: TranscriptRole.ASSISTANT,
711
+ type: TranscriptEntryType.TOOL_CALL,
712
+ source: "system",
713
+ payload: {
714
+ name: toolCall.function.name,
715
+ id: toolCall.id,
716
+ input: toolCall.function.arguments,
717
+ }
718
+ };
719
+ yield api.addTranscriptStep(toolCallTranscriptStep);
720
+ // Determine tool answer content based on handover result
721
+ let toolAnswerContent;
722
+ if ((handoverResult === null || handoverResult === void 0 ? void 0 : handoverResult.status) === "error") {
723
+ toolAnswerContent = `Handover to human agent failed. Error: ${(handoverResult === null || handoverResult === void 0 ? void 0 : handoverResult.error) || "Unknown error"}. Reason for handover: ${handoverReason}`;
724
+ }
725
+ else {
726
+ toolAnswerContent = `Handover to human agent initiated successfully. Reason: ${handoverReason}`;
727
+ }
728
+ // Add Tool Answer Message to Transcript (includes error if any)
729
+ const toolAnswer = {
730
+ role: TranscriptRole.TOOL,
731
+ type: TranscriptEntryType.TOOL_ANSWER,
732
+ source: "system",
733
+ payload: {
734
+ toolCallId: toolCall.id,
735
+ name: toolCall.function.name,
736
+ content: toolAnswerContent,
737
+ }
738
+ };
739
+ yield api.addTranscriptStep(toolAnswer);
740
+ // Clear the last tool call from session state
741
+ api.updateSessionStateValues({
742
+ lastToolCall: undefined
743
+ });
744
+ // If there was an error, don't stop execution - let the AI Agent handle it
745
+ if ((handoverResult === null || handoverResult === void 0 ? void 0 : handoverResult.status) === "error") {
746
+ const { flow, node } = aiAgentJobNode;
747
+ if (flow && node) {
748
+ api.resetNextNodes();
749
+ yield api.executeFlow({
750
+ flowNode: {
751
+ flow,
752
+ node,
753
+ },
754
+ absorbContext: true,
755
+ });
756
+ }
757
+ return;
758
+ }
759
+ // Stop execution if sendOnQueueEvent is not enabled (same behavior as handoverV2)
760
+ if (!handoverConfig.sendOnQueueEvent) {
761
+ api.stopExecution();
762
+ }
763
+ }
764
+ else {
765
+ throw new Error("Infinite Loop Detected");
766
+ }
767
+ }
768
+ })
769
+ });
770
+ //# sourceMappingURL=handoverToHumanAgentTool.js.map