Name
sn_cs_builder.VADesignerUtil
Description
Utilities for VA Designer
Script
var VADesignerUtil = Class.create();
VADesignerUtil.prototype = {
initialize: function() {
},
type: 'VADesignerUtil',
getOneExtendCapabilities: function() {
var result = [];
var isOneExtendActive = new GlidePluginManager().isActive('com.glide.one_extend');
if (!isOneExtendActive)
return result;
var allCapabilities = sn_one_extend.OneExtendUtil.getAllCapabilities('Virtual Agent Designer');
if (allCapabilities) {
for (var i = 0; i < allCapabilities.length; i++) {
var capabilityDefinition = {};
var capability = allCapabilities[i];
capabilityDefinition['id'] = capability.capabilityId;
capabilityDefinition['name'] = capability.capabilityName;
capabilityDefinition['iconUrl'] = capability.iconUrl;
capabilityDefinition['definitionId'] = capability.definitionId;
capabilityDefinition['description'] = capability.description;
capabilityDefinition['properties'] = capability.properties;
result.push(capabilityDefinition);
}
}
return result;
},
getLiveAgentContext: function() {
var gr = new GlideRecordSecure('sys_cs_live_agent_setup');
gr.query();
var results = [];
var result;
while (gr.next()) {
result = {
name: gr.getValue('name'),
enable_virtual_agent: gr.getValue('enable_virtual_agent'),
global_queue: gr.getValue('global_queue'),
csm_queue: gr.getValue('csm_queue'),
csm_fulfiller: gr.getValue('csm_fulfiller'),
hr_queue: gr.getValue('hr_queue'),
hr_fulfiller: gr.getValue('hr_fulfiller'),
itsm_queue: gr.getValue('itsm_queue'),
itsm_fulfiller: gr.getValue('itsm_fulfiller')
};
results.push(result);
}
return results;
},
getVirtualAgentContext: function() {
var gr = new GlideRecordSecure('sys_cs_virtual_agent_context');
gr.query();
var results = [];
var result;
while (gr.next()) {
result = {
name: gr.getValue('name'),
value: gr.getValue('value'),
script_variable: gr.getValue('script_variable')
};
results.push(result);
}
return results;
},
getRoles: function() {
var gr = new GlideRecordSecure('sys_user_role');
gr.addQuery('name', '!=', 'maint');
gr.orderBy('name');
gr.query();
var results = [];
while (gr.next()) {
results.push(gr.getValue('name'));
}
return results;
},
getCategories: function() {
var gr = new GlideRecordSecure('sys_cb_topic_category');
gr.query();
var results = [];
var result;
while (gr.next()) {
result = {
name: gr.getDisplayValue('name'),
sys_id: gr.getValue('sys_id'),
sys_updated_on: gr.getValue('sys_updated_on'),
sys_updated_by: gr.getValue('sys_updated_by'),
visible: gr.visible.toString() === 'true'
};
results.push(result);
}
return results;
},
getDisabledIntents: function() {
var gr = new GlideRecord('sys_nlu_intent');
gr.addQuery('enable', 'false');
gr.addQuery('model.category', 'virtual_agent');
gr.query();
var results = [];
var result;
while (gr.next()) {
result = {
name: gr.getValue('name'),
model: gr.model.name.toString()
};
results.push(result);
}
return results;
},
getAnalyticsConfig: function() {
var endpoint = gs.getProperty('glide.analytics.api_host');
var appseeEnabled = gs.getProperty('glide.analytics.enabled');
var enabled = endpoint && appseeEnabled;
if (!enabled) {
return { enabled: false };
}
var apiKey = gs.getProperty('com.glide.cs.analytics_api_key');
var authToken = gs.getProperty('com.glide.cs.analytics_auth_token');
var debugEnabled = gs.getProperty('com.glide.cs.analytics_debug_enabled');
var instanceId = gs.getProperty('instance_id');
var instanceUrl = gs.getProperty('glide.servlet.uri');
var instanceName = gs.getProperty('instance_name');
var companyCode = gs.getProperty('glide.appcreator.company.code');
return {
enabled: true,
debugEnabled: debugEnabled,
endpoint: endpoint,
apiKey: apiKey,
authToken: authToken,
instanceId: instanceId,
instanceUrl: instanceUrl,
instanceName: instanceName,
companyCode: companyCode
};
},
isTopicRecommenderEnabled: function () {
var isTRActive = new GlidePluginManager().isActive('com.snc.va_topic_recommender');
var isTRInstalled = gs.tableExists('sn_topic_recommend_default_setting');
var isIntentDiscoveryInstalled = gs.tableExists('sn_nlu_discovery_report_definition');
return (isTRActive && isTRInstalled && isIntentDiscoveryInstalled);
},
isServiceNowNLUAccessible: function() {
var languages = global.NLUParloIntegrator.getSupportedLanguages() || [];
return !!languages.length && languages.length > 0;
},
isDialogActsSupported: function(nluProvider, nluEnabled) {
if (!nluProvider || !nluEnabled || !this.hasActiveDialogActsType(nluProvider)) {
return false;
}
var gr = new GlideRecord('open_nlu_driver_language');
gr.addQuery('driver', nluProvider);
gr.addQuery('dialog_acts_supported', 'true');
gr.query();
return gr.hasNext();
},
isDialogActsTypeSupported: function(nluProvider, dialogActsType) {
if (!dialogActsType || !nluProvider) {
return false;
}
var gr = new GlideRecord('open_nlu_dialog_act_config');
gr.addQuery('driver', nluProvider);
gr.addQuery('dialog_act.label', dialogActsType);
gr.addActiveQuery();
gr.query();
return gr.hasNext();
},
hasActiveDialogActsType: function(nluProvider) {
var gr = new GlideRecord('open_nlu_dialog_act_config');
gr.addQuery('driver', nluProvider);
gr.addActiveQuery();
gr.query();
return gr.hasNext();
}
};
Sys ID
be588e7ad5713010fa9b006378ccaf2f