UNPKG

@cognigy/rest-api-client

Version:

Cognigy REST-Client

278 lines 11.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CHECK_AGENT_AVAILABILITY = void 0; /* Custom modules */ const createNodeDescriptor_1 = require("../../createNodeDescriptor"); const constants_1 = require("../../../constants"); /** * Node name: 'checkAgentAvailability' * * Purpose: * Check if agents are available for handover */ exports.CHECK_AGENT_AVAILABILITY = (0, createNodeDescriptor_1.createNodeDescriptor)({ type: "checkAgentAvailability", defaultLabel: "Check Agent Availability", summary: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__SUMMARY", appearance: { showIcon: false, }, tags: ["service"], fields: [ { key: "checkAgentAvailabilityProvider", label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__HANDOVER_PROVIDER__LABEL", type: "checkAgentAvailabilityProvider", description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__HANDOVER_PROVIDER__DESCRIPTION", defaultValue: "legacyEndpoint", params: { required: true, }, }, { key: "checkAgentAvailabilityConfig", label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__HANDOVER_PROVIDER__LABEL", type: "json", description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__HANDOVER_PROVIDER__DESCRIPTION", defaultValue: {}, params: { required: true, }, }, { key: "chatwootInboxId", type: "cognigyText", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__CHATWOOT_INBOX_ID__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__CHATWOOT_INBOX_ID__DESCRIPTION" }, { key: constants_1.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_INBOX_ID, type: "cognigyText", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__LIVEAGENT_INBOX_ID__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__LIVEAGENT_INBOX_ID__DESCRIPTION" }, { key: constants_1.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_SKILLS, type: "cognigyTextArray", label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_SKILLS__LABEL", description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_SKILLS__DESCRIPTION", }, { key: constants_1.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_LANGUAGES, type: "cognigyTextArray", label: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_LANGUAGES__LABEL", description: "UI__NODE_EDITOR__SERVICE__HANDOVER_TO_AGENT__FIELDS__LIVE_AGENT_LANGUAGES__DESCRIPTION", }, { key: "genesysCloudSkills", type: "textArray", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__GENESYS_CLOUD_SKILLS__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__GENESYS_CLOUD_SKILLS__DESCRIPTION" }, { key: "genesysCloudProfileSkills", type: "textArray", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__GENESYS_CLOUD_PROFILE_SKILLS__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__GENESYS_CLOUD_PROFILE_SKILLS__DESCRIPTION" }, { key: "genesysCloudLanguageSkills", type: "textArray", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__GENESYS_CLOUD_LANGUAGE_SKILLS__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__GENESYS_CLOUD_LANGUAGE_SKILLS__DESCRIPTION" }, { key: "storeLocation", type: "select", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__STORE_LOCATION__LABEL", params: { options: [ { label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__STORE_LOCATION__OPTIONS__INPUT__LABEL", value: "input" }, { label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__STORE_LOCATION__OPTIONS__CONTEXT__LABEL", value: "context" } ], required: true }, defaultValue: "input" }, { key: "inputKey", type: "cognigyText", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__INPUT_KEY__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__INPUT_KEY__DESCRIPTION", defaultValue: "availableAgents", condition: { key: "storeLocation", value: "input" } }, { key: "contextKey", type: "cognigyText", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__CONTEXT_KEY__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__CONTEXT_KEY__DESCRIPTION", defaultValue: "availableAgents", condition: { key: "storeLocation", value: "context" } }, { key: "abortOnError", type: "toggle", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__ABORT_ON_ERROR__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__ABORT_ON_ERROR__DESCRIPTION", defaultValue: false }, { key: "errorLogging", type: "select", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__ERROR_LOGGING__LABEL", description: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__ERROR_LOGGING__DESCRIPTION", defaultValue: "none", params: { required: true, options: [ { label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__ERROR_LOGGING__OPTIONS__NONE__LABEL", value: "none" }, { label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__ERROR_LOGGING__OPTIONS__BASIC__LABEL", value: "basic" }, { label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__ERROR_LOGGING__OPTIONS__FULL__LABEL", value: "full" } ] } }, { key: "logWarning", type: "description", label: " ", params: { text: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__FIELDS__LOG_WARNING__TEXT" }, condition: { key: "errorLogging", value: "full" } }, ], sections: [ { key: "chatwootSettings", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__SECTIONS__CHATWOOT_SETTINGS__LABEL", defaultCollapsed: true, fields: [ "chatwootInboxId", ], condition: { or: [ { key: "checkAgentAvailabilityProvider", value: "legacyEndpoint" }, { key: "checkAgentAvailabilityProvider", // @ts-ignore value: null } ] } }, { key: "liveAgentSettings", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__SECTIONS__LIVEAGENT_SETTINGS__LABEL", defaultCollapsed: true, fields: [ constants_1.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_INBOX_ID, constants_1.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_SKILLS, constants_1.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_LANGUAGES, ], condition: { or: [ { key: "checkAgentAvailabilityProvider", value: "legacyEndpoint" }, { key: "checkAgentAvailabilityProvider", // @ts-ignore value: null } ] } }, { key: "genesysCloudSettings", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__SECTIONS__GENESYS_CLOUD_SETTINGS__LABEL", defaultCollapsed: true, fields: [ "genesysCloudSkills", "genesysCloudProfileSkills", "genesysCloudLanguageSkills" ], condition: { or: [ { key: "checkAgentAvailabilityProvider", value: "legacyEndpoint" }, { key: "checkAgentAvailabilityProvider", // @ts-ignore value: null } ] } }, { key: "storage", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__SECTIONS__STORAGE__LABEL", defaultCollapsed: true, fields: [ "storeLocation", "inputKey", "contextKey", ] }, { key: "errors", label: "UI__NODE_EDITOR__SERVICE__CHECK_AGENT_AVAILABILITY__SECTIONS__ERRORS__LABEL", defaultCollapsed: true, fields: [ "errorLogging", "logWarning", "abortOnError" ] } ], form: [ { type: "field", key: "checkAgentAvailabilityProvider" }, { type: "section", key: "genesysCloudSettings" }, // only render this field if "live agent" is enabled process.env.FEATURE_USE_COGNIGY_LIVE_AGENT === "true" && { type: "section", key: "liveAgentSettings" }, { type: "section", key: "chatwootSettings" }, // { type: "section", key: "salesforceSettings" }, TODO { type: "section", key: "storage" }, { type: "section", key: "errors" }, ] .filter(element => !!element), function: async ({ cognigy, config }) => { const { api } = cognigy; // @ts-ignore return await api.checkAgentAvailability({ cognigy, config }); } }); //# sourceMappingURL=checkAgentAvailability.js.map