@cognigy/rest-api-client 2025.24.0 → 2025.25.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 (39) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/shared/charts/descriptors/index.js +5 -1
  3. package/build/shared/charts/descriptors/placeholder.js +3 -0
  4. package/build/shared/charts/descriptors/service/agentTools/handoverToAiAgentTool.js +192 -0
  5. package/build/shared/charts/descriptors/service/agentTools/sendEmailTool.js +243 -0
  6. package/build/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +1 -1
  7. package/build/shared/charts/descriptors/service/cxone/knowledgehub/CXoneKnowledgehub.js +198 -0
  8. package/build/shared/charts/descriptors/service/cxone/knowledgehub/CXoneKnowledgehubConnection.js +16 -0
  9. package/build/shared/charts/descriptors/service/cxone/knowledgehub/CXoneKnowledgehubForm.js +300 -0
  10. package/build/shared/charts/descriptors/service/cxone/knowledgehub/CXoneKnowledgehubProviderModule.js +16 -0
  11. package/build/shared/charts/descriptors/service/index.js +5 -1
  12. package/build/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +1 -1
  13. package/build/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +12 -16
  14. package/build/shared/constants.js +2 -1
  15. package/build/shared/interfaces/IOrganisation.js +1 -0
  16. package/build/shared/interfaces/cxone/knowledgehub/CXoneKnowledgehubAPI.js +3 -0
  17. package/build/shared/interfaces/resources/IAuditEvent.js +1 -0
  18. package/build/shared/interfaces/restAPI/simulation/simulationRun/ISimulationRunRest_2_0.js +15 -1
  19. package/build/shared/interfaces/restAPI/simulation/simulationRunBatch/ISimulationRunBatchRest_2_0.js +6 -1
  20. package/dist/esm/shared/charts/descriptors/index.js +4 -1
  21. package/dist/esm/shared/charts/descriptors/placeholder.js +3 -0
  22. package/dist/esm/shared/charts/descriptors/service/agentTools/handoverToAiAgentTool.js +190 -0
  23. package/dist/esm/shared/charts/descriptors/service/agentTools/sendEmailTool.js +241 -0
  24. package/dist/esm/shared/charts/descriptors/service/aiAgent/aiAgentJob.js +1 -1
  25. package/dist/esm/shared/charts/descriptors/service/cxone/knowledgehub/CXoneKnowledgehub.js +196 -0
  26. package/dist/esm/shared/charts/descriptors/service/cxone/knowledgehub/CXoneKnowledgehubConnection.js +13 -0
  27. package/dist/esm/shared/charts/descriptors/service/cxone/knowledgehub/CXoneKnowledgehubForm.js +297 -0
  28. package/dist/esm/shared/charts/descriptors/service/cxone/knowledgehub/CXoneKnowledgehubProviderModule.js +13 -0
  29. package/dist/esm/shared/charts/descriptors/service/index.js +2 -0
  30. package/dist/esm/shared/charts/descriptors/service/llmPrompt/LLMPromptV2.js +1 -1
  31. package/dist/esm/shared/charts/descriptors/voice/mappers/setSessionConfig.mapper.js +12 -16
  32. package/dist/esm/shared/constants.js +1 -0
  33. package/dist/esm/shared/interfaces/IOrganisation.js +1 -0
  34. package/dist/esm/shared/interfaces/cxone/knowledgehub/CXoneKnowledgehubAPI.js +2 -0
  35. package/dist/esm/shared/interfaces/resources/IAuditEvent.js +1 -0
  36. package/dist/esm/shared/interfaces/restAPI/simulation/simulationRun/ISimulationRunRest_2_0.js +14 -0
  37. package/dist/esm/shared/interfaces/restAPI/simulation/simulationRunBatch/ISimulationRunBatchRest_2_0.js +5 -0
  38. package/package.json +1 -1
  39. package/types/index.d.ts +199 -18
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NICE_CXONE_KNOWLEDGEHUB = void 0;
4
+ /* Node modules */
5
+ const crypto = require("crypto");
6
+ /* Custom modules */
7
+ const createNodeDescriptor_1 = require("../../../../createNodeDescriptor");
8
+ const logic_1 = require("../../../logic");
9
+ const CXoneKnowledgehubForm_1 = require("./CXoneKnowledgehubForm");
10
+ const errors_1 = require("../../../../../errors");
11
+ const DEFAULT_NICE_CXONE_ENDPOINT_URL = "https://cxone.niceincontact.com/";
12
+ exports.NICE_CXONE_KNOWLEDGEHUB = (0, createNodeDescriptor_1.createNodeDescriptor)({
13
+ type: "niceCXoneKnowledgehub",
14
+ defaultLabel: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__LABEL",
15
+ summary: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__DESCRIPTION",
16
+ behavior: {
17
+ entrypoint: true
18
+ },
19
+ fields: CXoneKnowledgehubForm_1.fields,
20
+ sections: CXoneKnowledgehubForm_1.sections,
21
+ form: CXoneKnowledgehubForm_1.form,
22
+ appearance: {
23
+ color: "#252525",
24
+ },
25
+ preview: {
26
+ key: "query",
27
+ type: "text"
28
+ },
29
+ tags: ["ai"],
30
+ function: async ({ cognigy, config, nodeId }) => {
31
+ var _a, _b, _c, _d, _e, _f, _g, _h;
32
+ const { api, input } = cognigy;
33
+ const { query, queryPersona, queryLanguage, knowledgehubConnection, filters, promptEditorProfileId, answersMaxWords, linksMax, knowledgeHubId, awsBedrockKbId, maxKernels, prompt, modelArn, storeLocation, inputKey, contextKey, logErrorToSystem, errorHandling = "continue", errorHandlingGotoTarget, errorMessage, debugLogRequestBody, debugLogRequestLatency } = config;
34
+ const { traceId, sessionId } = input;
35
+ try {
36
+ // Set default value of knowledgehubConnection.endpointUrl if not provided.
37
+ if (!knowledgehubConnection.endpointUrl || knowledgehubConnection.endpointUrl.trim().length === 0) {
38
+ knowledgehubConnection.endpointUrl = DEFAULT_NICE_CXONE_ENDPOINT_URL;
39
+ }
40
+ // Validate that both prompt and model ARN are provided if either is used.
41
+ const isPromptTemplateUsed = ((prompt && prompt.trim().length > 0) ||
42
+ (modelArn && modelArn.trim().length > 0));
43
+ if (isPromptTemplateUsed && (!prompt || !modelArn)) {
44
+ throw new errors_1.InvalidArgumentError("Both Prompt and Model ARN are required when using a custom prompt template.");
45
+ }
46
+ // Construct request body.
47
+ const requestBody = {
48
+ timestamp: new Date().toISOString(),
49
+ meta: {
50
+ tenantId: undefined,
51
+ contactNumber: uuidToSafeInt64String(sessionId),
52
+ agentUid: undefined,
53
+ provider: "Cognigy",
54
+ },
55
+ query: {
56
+ uid: crypto.randomUUID(),
57
+ text: query,
58
+ persona: queryPersona || undefined,
59
+ language: queryLanguage || undefined,
60
+ },
61
+ kbFiltering: {
62
+ filters
63
+ },
64
+ config: {
65
+ kbAnswers: {
66
+ promptEditorProfileId: promptEditorProfileId || undefined,
67
+ answers: {
68
+ enabled: true,
69
+ maxWords: answersMaxWords !== null && answersMaxWords !== void 0 ? answersMaxWords : 100
70
+ },
71
+ // It was agreed to keep images disabled for now.
72
+ images: {
73
+ enabled: false,
74
+ maxImages: 5
75
+ },
76
+ links: {
77
+ enabled: true,
78
+ maxLinks: linksMax !== null && linksMax !== void 0 ? linksMax : 5
79
+ }
80
+ },
81
+ // It was agreed to keep process steps disabled for now.
82
+ kbProcessSteps: {
83
+ enabled: false,
84
+ maxSteps: 5,
85
+ maxTitleWords: 8,
86
+ maxStepWords: 10
87
+ },
88
+ awsBedrock: {
89
+ knowledgeHubId,
90
+ awsBedrockKbId,
91
+ maxKernels: maxKernels !== null && maxKernels !== void 0 ? maxKernels : 5,
92
+ shareable: false,
93
+ promptTemplate: isPromptTemplateUsed ? {
94
+ textPromptTemplate: prompt,
95
+ modelArn: modelArn
96
+ } : undefined
97
+ }
98
+ }
99
+ };
100
+ // Start measuring node latency.
101
+ const startTime = debugLogRequestLatency ? Date.now() : 0;
102
+ // Execute the request against the CXone Knowledgehub API.
103
+ // A result means successful communication with the API, not necessarily that something was found.
104
+ // An error is always thrown and handled by the catch block.
105
+ const result = await api.executeNiceCxoneKnowledgehubApiRequest(knowledgehubConnection, requestBody);
106
+ // We log the request body after the actual request to include any modifications made by the API function.
107
+ if (debugLogRequestBody) {
108
+ // Create a filtered copy of requestBody for logging, excluding sensitive fields
109
+ const filteredRequestBody = Object.assign(Object.assign({}, requestBody), { kbFiltering: Object.assign(Object.assign({}, requestBody.kbFiltering), { conversationContextRefId: undefined }), config: Object.assign(Object.assign({}, requestBody.config), { awsBedrock: Object.assign(Object.assign({}, requestBody.config.awsBedrock), { awsBedrockKbId: undefined }) }) });
110
+ const debugMessage = `UI__DEBUG_MODE__NICE_CXONE_KNOWLEDGEHUB__REQUEST_BODY__LABEL: ${JSON.stringify(filteredRequestBody, null, 2)}`;
111
+ (_a = api.logDebugMessage) === null || _a === void 0 ? void 0 : _a.call(api, debugMessage, "UI__DEBUG_MODE__NICE_CXONE_KNOWLEDGEHUB__REQUEST_BODY__HEADER");
112
+ }
113
+ if (debugLogRequestLatency) {
114
+ const llmLatencyMs = Date.now() - startTime;
115
+ const debugMessage = `UI__DEBUG_MODE__NICE_CXONE_KNOWLEDGEHUB__REQEUEST_LATENCY__LABEL: ${llmLatencyMs}ms`;
116
+ (_b = api.logDebugMessage) === null || _b === void 0 ? void 0 : _b.call(api, debugMessage, "UI__DEBUG_MODE__NICE_CXONE_KNOWLEDGEHUB__REQEUEST_LATENCY__HEADER");
117
+ }
118
+ // Save result to input or context based on configuration.
119
+ switch (storeLocation) {
120
+ case "context":
121
+ (_c = api.addToContext) === null || _c === void 0 ? void 0 : _c.call(api, contextKey, result, "simple");
122
+ break;
123
+ default:
124
+ api.addToInput(inputKey, result);
125
+ }
126
+ }
127
+ catch (error) {
128
+ const errorDetails = {
129
+ name: error === null || error === void 0 ? void 0 : error.name,
130
+ code: (error === null || error === void 0 ? void 0 : error.code) || (error === null || error === void 0 ? void 0 : error.httpStatusCode),
131
+ message: error === null || error === void 0 ? void 0 : error.message,
132
+ };
133
+ // Debug log to console.
134
+ (_d = api.logDebugError) === null || _d === void 0 ? void 0 : _d.call(api, errorDetails, "UI__DEBUG_MODE__NICE_CXONE_KNOWLEDGEHUB__ERROR");
135
+ // Log to system if configured.
136
+ if (logErrorToSystem) {
137
+ (_e = api.log) === null || _e === void 0 ? void 0 : _e.call(api, "error", JSON.stringify(errorDetails));
138
+ }
139
+ // Store error details either in input or context.
140
+ switch (storeLocation) {
141
+ case "context":
142
+ (_f = api.addToContext) === null || _f === void 0 ? void 0 : _f.call(api, contextKey, errorDetails, "simple");
143
+ break;
144
+ default:
145
+ api.addToInput(inputKey, errorDetails);
146
+ }
147
+ // Handle the error based on the configured error handling approach.
148
+ if (errorHandling === "continue") {
149
+ if (errorMessage) {
150
+ await ((_g = api.output) === null || _g === void 0 ? void 0 : _g.call(api, errorMessage, null));
151
+ }
152
+ }
153
+ else if (errorHandling === "goto") {
154
+ if (!errorHandlingGotoTarget) {
155
+ throw new errors_1.InvalidArgumentError("GoTo Target is required");
156
+ }
157
+ const gotoParams = {
158
+ cognigy,
159
+ childConfigs: [],
160
+ nodeId,
161
+ config: {
162
+ flowNode: {
163
+ flow: errorHandlingGotoTarget.flow,
164
+ node: errorHandlingGotoTarget.node,
165
+ },
166
+ injectedText: input.text,
167
+ injectedData: input.data,
168
+ executionMode: "continue",
169
+ absorbContext: false
170
+ }
171
+ };
172
+ await ((_h = logic_1.GO_TO.function) === null || _h === void 0 ? void 0 : _h.call(logic_1.GO_TO, gotoParams));
173
+ }
174
+ else {
175
+ throw new errors_1.InternalServerError(error === null || error === void 0 ? void 0 : error.message, { traceId });
176
+ }
177
+ }
178
+ }
179
+ });
180
+ /**
181
+ * Converts a UUID string to a safe int64 string using the lower 53 bits of SHA-256 hash.
182
+ * Always returns a string representing a safe integer in the range [0, 2^53-1].
183
+ * @param uuid - The UUID string to convert.
184
+ * @returns A string representation of a safe int64 value.
185
+ */
186
+ function uuidToSafeInt64String(uuid) {
187
+ const hash = crypto.createHash("sha256").update(uuid).digest();
188
+ // Use the lower 53 bits from the first 7 bytes
189
+ // 53 bits = 6 full bytes + 5 bits from the 7th byte
190
+ let value = 0;
191
+ for (let i = 0; i < 6; i++) {
192
+ value = (value << 8) | hash[i];
193
+ }
194
+ // Add lower 5 bits of the 7th byte
195
+ value = (value << 5) | (hash[6] >> 3);
196
+ return value.toString();
197
+ }
198
+ //# sourceMappingURL=CXoneKnowledgehub.js.map
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NICE_CXONE_KNOWLEDGEHUB_CONNECTION = void 0;
4
+ /* JWT Secret Connection */
5
+ exports.NICE_CXONE_KNOWLEDGEHUB_CONNECTION = {
6
+ type: "niceCXoneKnowledgehub",
7
+ label: "UI__CONNECTION_EDITOR__NICE_CXONE_KNOWLEDGEHUB__TITLE",
8
+ fields: [
9
+ { fieldName: "accessKey", label: "UI__CONNECTION_EDITOR__FIELD_ACCESS_KEY", required: true },
10
+ { fieldName: "secretKey", label: "UI__CONNECTION_EDITOR__FIELD_SECRET_KEY", required: true },
11
+ { fieldName: "clientId", label: "UI__CONNECTION_EDITOR__FIELD_CLIENT_ID", required: false, description: "UI__CONNECTION_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__CLIENT_ID__DESCRIPTION" },
12
+ { fieldName: "clientSecret", label: "UI__CONNECTION_EDITOR__FIELD_CLIENT_SECRET", required: false, description: "UI__CONNECTION_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__CLIENT_SECRET__DESCRIPTION" },
13
+ { fieldName: "endpointUrl", label: "UI__CONNECTION_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__URL__LABEL", required: false, description: "UI__CONNECTION_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__URL__DESCRIPTION" },
14
+ ],
15
+ };
16
+ //# sourceMappingURL=CXoneKnowledgehubConnection.js.map
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.form = exports.sections = exports.fields = void 0;
4
+ const CXoneKnowledgehubConnection_1 = require("./CXoneKnowledgehubConnection");
5
+ exports.fields = [
6
+ {
7
+ key: "query",
8
+ type: "cognigyText",
9
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__QUERY__LABEL",
10
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__QUERY__DESCRIPTION",
11
+ params: {
12
+ required: true,
13
+ }
14
+ },
15
+ {
16
+ key: "queryPersona",
17
+ type: "cognigyText",
18
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__QUERYPERSONA__LABEL",
19
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__QUERYPERSONA__DESCRIPTION",
20
+ params: {
21
+ required: false,
22
+ }
23
+ },
24
+ {
25
+ key: "queryLanguage",
26
+ type: "cognigyText",
27
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__QUERYLANGUAGE__LABEL",
28
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__QUERYLANGUAGE__DESCRIPTION",
29
+ params: {
30
+ required: false,
31
+ },
32
+ defaultValue: "en-US"
33
+ },
34
+ {
35
+ key: "knowledgehubConnection",
36
+ type: "connection",
37
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__CONNECTION__LABEL",
38
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__CONNECTION__DESCRIPTION",
39
+ params: {
40
+ required: true,
41
+ connectionType: CXoneKnowledgehubConnection_1.NICE_CXONE_KNOWLEDGEHUB_CONNECTION.type
42
+ }
43
+ },
44
+ {
45
+ key: "filters",
46
+ type: "json",
47
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__FILTERS__LABEL",
48
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__FILTERS__DESCRIPTION",
49
+ params: {
50
+ required: false,
51
+ },
52
+ defaultValue: "{}",
53
+ },
54
+ {
55
+ key: "promptEditorProfileId",
56
+ type: "cognigyText",
57
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__PROMPTEDITORPROFILEID__LABEL",
58
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__PROMPTEDITORPROFILEID__DESCRIPTION",
59
+ params: {
60
+ required: false,
61
+ }
62
+ },
63
+ {
64
+ key: "answersMaxWords",
65
+ type: "number",
66
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__ANSWERSMAXWORDS__LABEL",
67
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__ANSWERSMAXWORDS__DESCRIPTION",
68
+ params: {
69
+ required: true,
70
+ },
71
+ defaultValue: 100,
72
+ },
73
+ {
74
+ key: "linksMax",
75
+ type: "number",
76
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__MAXLINKS__LABEL",
77
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__MAXLINKS__DESCRIPTION",
78
+ params: {
79
+ required: true,
80
+ },
81
+ defaultValue: 5,
82
+ },
83
+ {
84
+ key: "knowledgeHubId",
85
+ type: "cognigyText",
86
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__KNOWLEDGEHUBID__LABEL",
87
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__KNOWLEDGEHUBID__DESCRIPTION",
88
+ params: {
89
+ required: true,
90
+ }
91
+ },
92
+ {
93
+ key: "maxKernels",
94
+ type: "number",
95
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__MAXKERNELS__LABEL",
96
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__MAXKERNELS__DESCRIPTION",
97
+ params: {
98
+ required: true,
99
+ },
100
+ defaultValue: 5,
101
+ },
102
+ {
103
+ key: "prompt",
104
+ type: "cognigyLLMText",
105
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__PROMPT__LABEL",
106
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__PROMPT__DESCRIPTION",
107
+ params: {
108
+ required: false,
109
+ multiline: true,
110
+ rows: 5,
111
+ },
112
+ defaultValue: "",
113
+ },
114
+ {
115
+ key: "modelArn",
116
+ type: "cognigyText",
117
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__MODELARN__LABEL",
118
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__MODELARN__DESCRIPTION",
119
+ params: {
120
+ required: false,
121
+ }
122
+ },
123
+ {
124
+ key: "storeLocation",
125
+ type: "select",
126
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__STORAGE__LABEL",
127
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__STORAGE__DESCRIPTION",
128
+ defaultValue: "input",
129
+ params: {
130
+ options: [
131
+ {
132
+ label: "Input",
133
+ value: "input"
134
+ },
135
+ {
136
+ label: "Context",
137
+ value: "context"
138
+ }
139
+ ],
140
+ required: true
141
+ },
142
+ },
143
+ {
144
+ key: "inputKey",
145
+ type: "cognigyText",
146
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__STORAGEVARIABLE__LABEL",
147
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__STORAGEVARIABLE__DESCRIPTION",
148
+ defaultValue: "knowledgehub",
149
+ condition: {
150
+ key: "storeLocation",
151
+ value: "input",
152
+ }
153
+ },
154
+ {
155
+ key: "contextKey",
156
+ type: "cognigyText",
157
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__STORAGEVARIABLE__LABEL",
158
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__STORAGEVARIABLE__DESCRIPTION",
159
+ defaultValue: "knowledgehub",
160
+ condition: {
161
+ key: "storeLocation",
162
+ value: "context",
163
+ }
164
+ },
165
+ {
166
+ key: "logErrorToSystem",
167
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__LOGERRORTOSYSTEM__LABEL",
168
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__LOGERRORTOSYSTEM__DESCRIPTION",
169
+ type: "toggle",
170
+ defaultValue: false,
171
+ },
172
+ {
173
+ key: "errorHandling",
174
+ type: "select",
175
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__ERRORHANDLING__LABEL",
176
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__ERRORHANDLING__DESCRIPTION",
177
+ defaultValue: "continue",
178
+ params: {
179
+ options: [
180
+ {
181
+ label: "UI__NODE_EDITOR__FIELDS__HANDLE_SERVICE_ERROR__OPTIONS__STOP__LABEL",
182
+ value: "stop"
183
+ },
184
+ {
185
+ label: "UI__NODE_EDITOR__FIELDS__HANDLE_SERVICE_ERROR__OPTIONS__CONTINUE__LABEL",
186
+ value: "continue"
187
+ },
188
+ {
189
+ label: "UI__NODE_EDITOR__FIELDS__HANDLE_SERVICE_ERROR__OPTIONS__GOTO__LABEL",
190
+ value: "goto"
191
+ },
192
+ ]
193
+ }
194
+ },
195
+ {
196
+ key: "errorHandlingGotoTarget",
197
+ type: "flowNode",
198
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__ERRORGOTO__LABEL",
199
+ condition: {
200
+ key: "errorHandling",
201
+ value: "goto"
202
+ }
203
+ },
204
+ {
205
+ key: "errorMessage",
206
+ type: "cognigyText",
207
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__ERRORMESSAGE__LABEL",
208
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__ERRORMESSAGE__DESCRIPTION",
209
+ defaultValue: "",
210
+ condition: {
211
+ key: "errorHandling",
212
+ value: "continue"
213
+ }
214
+ },
215
+ {
216
+ key: "debugDescription",
217
+ type: "description",
218
+ label: " ",
219
+ params: {
220
+ text: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__DEBUG__DESCRIPTION"
221
+ }
222
+ },
223
+ {
224
+ key: "debugLogRequestBody",
225
+ type: "toggle",
226
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__DEBUGLOGREQUESTBODY__LABEL",
227
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__DEBUGLOGREQUESTBODY__DESCRIPTION",
228
+ defaultValue: false
229
+ },
230
+ {
231
+ key: "debugLogRequestLatency",
232
+ type: "toggle",
233
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__DEBUGLOGREQUESTLATENCY__LABEL",
234
+ description: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__DEBUGLOGREQUESTLATENCY__DESCRIPTION",
235
+ defaultValue: false
236
+ }
237
+ ];
238
+ exports.sections = [
239
+ {
240
+ key: "query",
241
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__QUERY__SECTION_TITLE",
242
+ defaultCollapsed: true,
243
+ fields: ["queryPersona", "queryLanguage"],
244
+ },
245
+ {
246
+ key: "kbAnswers",
247
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__GENERATIVEAI__SECTION_TITLE",
248
+ defaultCollapsed: true,
249
+ fields: ["promptEditorProfileId", "answersMaxWords", "linksMax"],
250
+ },
251
+ {
252
+ key: "KnowledgeHub",
253
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__AWSBEDROCK__SECTION_TITLE",
254
+ defaultCollapsed: true,
255
+ fields: ["filters", "maxKernels", "prompt", "modelArn"],
256
+ },
257
+ {
258
+ key: "storage",
259
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__STORAGE__SECTION_TITLE",
260
+ defaultCollapsed: true,
261
+ fields: [
262
+ "storeLocation",
263
+ "inputKey",
264
+ "contextKey",
265
+ ]
266
+ },
267
+ {
268
+ key: "errorHandling",
269
+ label: "UI__NODE_EDITOR__NICE_CXONE_KNOWLEDGEHUB__FIELDS__ERRORHANDLING__SECTION_TITLE",
270
+ defaultCollapsed: true,
271
+ fields: [
272
+ "logErrorToSystem",
273
+ "errorHandling",
274
+ "errorMessage",
275
+ "errorHandlingGotoTarget",
276
+ ]
277
+ },
278
+ {
279
+ key: "debugging",
280
+ label: "UI__NODE_EDITOR__SECTIONS__DEBUG_SETTINGS__LABEL",
281
+ defaultCollapsed: true,
282
+ fields: [
283
+ "debugDescription",
284
+ "debugLogRequestBody",
285
+ "debugLogRequestLatency",
286
+ ]
287
+ },
288
+ ];
289
+ exports.form = [
290
+ { type: "field", key: "knowledgehubConnection" },
291
+ { type: "field", key: "knowledgeHubId" },
292
+ { type: "field", key: "query" },
293
+ { type: "section", key: "query" },
294
+ { type: "section", key: "KnowledgeHub" },
295
+ { type: "section", key: "kbAnswers" },
296
+ { type: "section", key: "storage" },
297
+ { type: "section", key: "errorHandling" },
298
+ { type: "section", key: "debugging" },
299
+ ];
300
+ //# sourceMappingURL=CXoneKnowledgehubForm.js.map
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.niceCXoneKnowledgehubProviderModule = void 0;
4
+ /* Custom modules */
5
+ const createNodeDescriptor_1 = require("../../../../createNodeDescriptor");
6
+ const CXoneKnowledgehub_1 = require("./CXoneKnowledgehub");
7
+ const CXoneKnowledgehubConnection_1 = require("./CXoneKnowledgehubConnection");
8
+ exports.niceCXoneKnowledgehubProviderModule = (0, createNodeDescriptor_1.createExtension)({
9
+ nodes: [
10
+ CXoneKnowledgehub_1.NICE_CXONE_KNOWLEDGEHUB
11
+ ],
12
+ connections: [
13
+ CXoneKnowledgehubConnection_1.NICE_CXONE_KNOWLEDGEHUB_CONNECTION
14
+ ]
15
+ });
16
+ //# sourceMappingURL=CXoneKnowledgehubProviderModule.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIOPS_CENTER_WEBHOOKS_CONNECTION = exports.NICECXONEAAH_AUTHENTICATION_CONNECTION = exports.STORM_CONNECTION = exports.GENESYS_CLOUD_CONNECTION_OM = exports.GENESYS_CLOUD_CONNECTION = exports.EIGHT_BY_EIGHT_CONNECTION = exports.CHATWOOT_CONNECTION = exports.RINGCENTRAL_ENGAGE_CONNECTION = exports.LIVE_AGENT_CONNECTION = exports.LOAD_AI_AGENT = exports.KNOWLEDGE_TOOL = exports.AI_AGENT_JOB_CALL_MCP_TOOL = exports.AI_AGENT_HANDOVER = exports.AI_AGENT_TOOL_ANSWER = exports.AI_AGENT_JOB_MCP_TOOL = exports.AI_AGENT_JOB_TOOL = exports.AI_AGENT_JOB_DEFAULT = exports.AI_AGENT_JOB = exports.LLM_MODERATE = exports.LLM_ENTITY_EXTRACT = exports.GPT_CONVERSATION_SUMMARY = exports.GPT_CONVERSATION = exports.HANDOVER_INACTIVITY_TIMER = exports.CLOSE_HANDOVER = exports.LLM_PROMPT_TOOL = exports.LLM_PROMPT_MCP_TOOL = exports.LLM_PROMPT_DEFAULT = exports.LLM_PROMPT_V2 = exports.GPT_PROMPT = exports.ON_SCHEDULING_ERROR = exports.ON_SCHEDULED = exports.TRIGGER_FUNCTION = exports.JWT_SECRET_CONNECTION = exports.HTTP_CONNECTION_OAUTH2 = exports.HTTP_CONNECTION_APIKEYXKEY = exports.HTTP_CONNECTION_APIKEYAUTHKEY = exports.HTTP_CONNECTION_BASIC = exports.HTTP_REQUEST = exports.CHECK_AGENT_AVAILABILITY = exports.HANDOVER_V2 = exports.HANDOVER = void 0;
3
+ exports.AIOPS_CENTER_WEBHOOKS_CONNECTION = exports.NICECXONEAAH_AUTHENTICATION_CONNECTION = exports.STORM_CONNECTION = exports.GENESYS_CLOUD_CONNECTION_OM = exports.GENESYS_CLOUD_CONNECTION = exports.EIGHT_BY_EIGHT_CONNECTION = exports.CHATWOOT_CONNECTION = exports.RINGCENTRAL_ENGAGE_CONNECTION = exports.LIVE_AGENT_CONNECTION = exports.LOAD_AI_AGENT = exports.SEND_EMAIL_TOOL = exports.HANDOVER_TO_AI_AGENT_TOOL = exports.KNOWLEDGE_TOOL = exports.AI_AGENT_JOB_CALL_MCP_TOOL = exports.AI_AGENT_HANDOVER = exports.AI_AGENT_TOOL_ANSWER = exports.AI_AGENT_JOB_MCP_TOOL = exports.AI_AGENT_JOB_TOOL = exports.AI_AGENT_JOB_DEFAULT = exports.AI_AGENT_JOB = exports.LLM_MODERATE = exports.LLM_ENTITY_EXTRACT = exports.GPT_CONVERSATION_SUMMARY = exports.GPT_CONVERSATION = exports.HANDOVER_INACTIVITY_TIMER = exports.CLOSE_HANDOVER = exports.LLM_PROMPT_TOOL = exports.LLM_PROMPT_MCP_TOOL = exports.LLM_PROMPT_DEFAULT = exports.LLM_PROMPT_V2 = exports.GPT_PROMPT = exports.ON_SCHEDULING_ERROR = exports.ON_SCHEDULED = exports.TRIGGER_FUNCTION = exports.JWT_SECRET_CONNECTION = exports.HTTP_CONNECTION_OAUTH2 = exports.HTTP_CONNECTION_APIKEYXKEY = exports.HTTP_CONNECTION_APIKEYAUTHKEY = exports.HTTP_CONNECTION_BASIC = exports.HTTP_REQUEST = exports.CHECK_AGENT_AVAILABILITY = exports.HANDOVER_V2 = exports.HANDOVER = void 0;
4
4
  var handover_1 = require("./handover");
5
5
  Object.defineProperty(exports, "HANDOVER", { enumerable: true, get: function () { return handover_1.HANDOVER; } });
6
6
  var handoverV2_1 = require("./handoverV2");
@@ -61,6 +61,10 @@ var aiAgentJobCallMCPTool_1 = require("./aiAgent/aiAgentJobCallMCPTool");
61
61
  Object.defineProperty(exports, "AI_AGENT_JOB_CALL_MCP_TOOL", { enumerable: true, get: function () { return aiAgentJobCallMCPTool_1.AI_AGENT_JOB_CALL_MCP_TOOL; } });
62
62
  var knowledgeTool_1 = require("./agentTools/knowledgeTool");
63
63
  Object.defineProperty(exports, "KNOWLEDGE_TOOL", { enumerable: true, get: function () { return knowledgeTool_1.KNOWLEDGE_TOOL; } });
64
+ var handoverToAiAgentTool_1 = require("./agentTools/handoverToAiAgentTool");
65
+ Object.defineProperty(exports, "HANDOVER_TO_AI_AGENT_TOOL", { enumerable: true, get: function () { return handoverToAiAgentTool_1.HANDOVER_TO_AI_AGENT_TOOL; } });
66
+ var sendEmailTool_1 = require("./agentTools/sendEmailTool");
67
+ Object.defineProperty(exports, "SEND_EMAIL_TOOL", { enumerable: true, get: function () { return sendEmailTool_1.SEND_EMAIL_TOOL; } });
64
68
  var loadAiAgent_1 = require("./aiAgent/loadAiAgent");
65
69
  Object.defineProperty(exports, "LOAD_AI_AGENT", { enumerable: true, get: function () { return loadAiAgent_1.LOAD_AI_AGENT; } });
66
70
  var handoverConnections_1 = require("./handoverConnections");
@@ -29,7 +29,7 @@ exports.LLM_PROMPT_V2 = (0, createNodeDescriptor_1.createNodeDescriptor)({
29
29
  collapsable: true,
30
30
  placement: {
31
31
  children: {
32
- whitelist: ["llmPromptDefault", "llmPromptTool", "llmPromptMCPTool", "knowledgeTool"],
32
+ whitelist: ["llmPromptDefault", "llmPromptTool", "llmPromptMCPTool", "knowledgeTool", "handoverToAiAgentTool", "sendEmailTool"],
33
33
  },
34
34
  },
35
35
  },
@@ -165,22 +165,17 @@ class SessionConfigMapper extends base_mapper_1.BaseMapper {
165
165
  const { vendor: spVendor, language: spLanguage, voice: spVoice, label: spLabel, model: spModel, azureServiceEndpoint: spAzureServiceEndpoint } = sessionParamsTts || {};
166
166
  const { azureServiceEndpoint, ttsLabel, ttsLanguage, ttsModel, ttsVendor, ttsVoice } = tts || {};
167
167
  const synthesizer = {};
168
- if (this.has(tts) || this.has(sessionParamsTts)) {
169
- synthesizer.vendor = spVendor || ttsVendor;
170
- synthesizer.language = spLanguage || ttsLanguage;
171
- synthesizer.voice = spVoice || ttsVoice;
172
- synthesizer.label = spLabel || ttsLabel;
173
- synthesizer.azureServiceEndpoint = "";
174
- if (spAzureServiceEndpoint || azureServiceEndpoint) {
175
- synthesizer.azureServiceEndpoint = spAzureServiceEndpoint || azureServiceEndpoint;
176
- }
177
- if (spModel || ttsModel) {
178
- synthesizer.options = {
179
- model_id: spModel || ttsModel
180
- };
181
- }
182
- return synthesizer;
168
+ synthesizer.vendor = spVendor || ttsVendor || undefined;
169
+ synthesizer.language = spLanguage || ttsLanguage || undefined;
170
+ synthesizer.voice = spVoice || ttsVoice || undefined;
171
+ synthesizer.label = spLabel || ttsLabel || undefined;
172
+ synthesizer.azureServiceEndpoint = spAzureServiceEndpoint || azureServiceEndpoint || "";
173
+ if (spModel || ttsModel) {
174
+ synthesizer.options = {
175
+ model_id: spModel || ttsModel
176
+ };
183
177
  }
178
+ return synthesizer;
184
179
  }
185
180
  buildRecognizer(sessionParams, stt, vad, azureConfig) {
186
181
  var _a, _b, _c;
@@ -518,11 +513,12 @@ exports.setSessionConfig = {
518
513
  var _a;
519
514
  const { bargeIn, continuousAsr, stt, tts, userNoInput, dtmf, vad, azureConfig, atmosphereNoise, silenceOverlay, flowNoInput } = voiceSettings;
520
515
  try {
516
+ const synthesizer = mapper.buildSynthesizer(sessionParams, tts) || undefined;
521
517
  const recognizer = mapper.buildRecognizer(sessionParams, stt, vad, azureConfig) || undefined;
522
518
  mapper.recognizerApplyContinuousAsr(sessionParams, recognizer, continuousAsr);
523
519
  // Check if there are configs for synthesizer, recognizer and bargeIn
524
520
  const voiceConfig = {
525
- synthesizer: mapper.buildSynthesizer(sessionParams, tts) || undefined,
521
+ synthesizer,
526
522
  recognizer,
527
523
  bargeIn: mapper.buildBarge(sessionParams, dtmf, bargeIn) || undefined,
528
524
  fillerNoise: mapper.buildFillerNoise(sessionParams, silenceOverlay) || undefined,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PLATFORM_PROVIDED_LLM_CONNECTION_ID = exports.PLATFORM_PROVIDED_LLM_ID = exports.DEPRECATED_GENAI_USE_CASES = exports.PLATFORM_PROVIDED_LLM_USE_CASES = exports.SECONDS_PER_MINUTE = exports.IP_NOT_AVAILABLE = exports.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS = exports.DOCUMENT_PARSER_PROVIDER_EXTENSION = exports.TRANSLATION_PROVIDER_EXTENSION = exports.AUDIO_PREVIEW_PROVIDER_EXTENSION = exports.GENERATIVE_AI_PROVIDER_EXTENSION = exports.ADMIN_CONSOLE_URL_TOKEN = exports.X_COGNIGY_ORIGIN = exports.EMBEDDED_EXTENSION = exports.INTERNAL_STORAGE_PROVIDER_EXTENSION = exports.VOICE_GATEWAY_2_EXTENSION = exports.MICROSOFT_EXTENSION = exports.VOICE_GATEWAY_EXTENSION = exports.SMTP_EXTENSION = exports.SQL_EXTENSION = exports.MONGO_DB_EXTENSION = exports.BASIC_EXTENSION = exports.MAX_INT32 = exports.PASSWORD_RESET_TOKEN_TTL_IN_SECONDS = exports.SCOPED_USER = exports.SYSTEM_EMAIL = exports.SYSTEM = exports.CREATED_BY_SSO = void 0;
3
+ exports.PLATFORM_PROVIDED_LLM_CONNECTION_ID = exports.PLATFORM_PROVIDED_LLM_ID = exports.DEPRECATED_GENAI_USE_CASES = exports.PLATFORM_PROVIDED_LLM_USE_CASES = exports.SECONDS_PER_MINUTE = exports.IP_NOT_AVAILABLE = exports.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS = exports.NICE_CXONE_KNOWLEDGEHUB_EXTENSION = exports.DOCUMENT_PARSER_PROVIDER_EXTENSION = exports.TRANSLATION_PROVIDER_EXTENSION = exports.AUDIO_PREVIEW_PROVIDER_EXTENSION = exports.GENERATIVE_AI_PROVIDER_EXTENSION = exports.ADMIN_CONSOLE_URL_TOKEN = exports.X_COGNIGY_ORIGIN = exports.EMBEDDED_EXTENSION = exports.INTERNAL_STORAGE_PROVIDER_EXTENSION = exports.VOICE_GATEWAY_2_EXTENSION = exports.MICROSOFT_EXTENSION = exports.VOICE_GATEWAY_EXTENSION = exports.SMTP_EXTENSION = exports.SQL_EXTENSION = exports.MONGO_DB_EXTENSION = exports.BASIC_EXTENSION = exports.MAX_INT32 = exports.PASSWORD_RESET_TOKEN_TTL_IN_SECONDS = exports.SCOPED_USER = exports.SYSTEM_EMAIL = exports.SYSTEM = exports.CREATED_BY_SSO = void 0;
4
4
  exports.CREATED_BY_SSO = "000000000000000000000550";
5
5
  exports.SYSTEM = "000000000000000000000000";
6
6
  exports.SYSTEM_EMAIL = "system@mail.com";
@@ -24,6 +24,7 @@ exports.GENERATIVE_AI_PROVIDER_EXTENSION = "@cognigy/generative-ai-provider";
24
24
  exports.AUDIO_PREVIEW_PROVIDER_EXTENSION = "@cognigy/audio-preview-provider";
25
25
  exports.TRANSLATION_PROVIDER_EXTENSION = "@cognigy/translation-provider";
26
26
  exports.DOCUMENT_PARSER_PROVIDER_EXTENSION = "@cognigy/document-parser-provider";
27
+ exports.NICE_CXONE_KNOWLEDGEHUB_EXTENSION = "@cognigy/nice-cxone-knowledgehub";
27
28
  exports.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS = {
28
29
  ESCALATE_INTENTS_HANDOVER_LIVE_AGENT_INBOX_ID: "escalateIntentsHandoverLiveAgentInboxId",
29
30
  ESCALATE_INTENTS_AGENT_ASSIST_INIT_MESSAGE: "escalateIntentsAgentAssistInitMessage",
@@ -60,6 +60,7 @@ exports.organisationDataSchema = {
60
60
  disabled: { type: "boolean" },
61
61
  name: { type: "string", minLength: 1, format: "resource-name" },
62
62
  businessUnitId: { type: "string" },
63
+ tenantId: { type: "string" },
63
64
  passwordPolicy: exports.organisationPasswordPolicySchema,
64
65
  quotaMaxChannelsPerProject: { type: "integer", minimum: 0 },
65
66
  quotaMaxMessagesPerDay: { type: "integer", minimum: 0 },
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CXoneKnowledgehubAPI.js.map
@@ -117,6 +117,7 @@ exports.actionTypes = [
117
117
  "loginFailed",
118
118
  "loginError",
119
119
  "unauthorized",
120
+ "disableCreditCardRedaction",
120
121
  ];
121
122
  exports.auditEventSchema = {
122
123
  title: "auditEventSchema",