UNPKG

twilio-ccai-fulfillment-tools

Version:

A collection of tools to assist in the creation of Twilio CCAI Integration cards via fulfillment scripts

55 lines (50 loc) 1.53 kB
import { TMapContext, TItemText, createTextItem, createDetail, SIZES, } from '..'; import { GoogleCloudDialogflowV2WebhookRequest } from 'actions-on-google'; export const addIntentsToMapContext = ( mapContext: TMapContext, dfRequest: GoogleCloudDialogflowV2WebhookRequest ): TMapContext => { const parameters = dfRequest.queryResult?.parameters; if (parameters) { const intentParams: TItemText[] = []; Object.keys(parameters).forEach((param) => { intentParams.push( createTextItem({ title: `Intent Param: ${param}`, data: parameters[param], }) ); }); mapContext.parameters.sync_attributes.data[ 'HELPERS_CURRENT_INTENT' ] = createDetail({ width: SIZES.THIRD, items: [ createTextItem({ title: 'Current Intent', data: dfRequest.queryResult?.intent?.displayName || 'No intent detected', }), ], }); mapContext.parameters.sync_attributes.data[ 'HELPERS_INTENT_DETAILS' ] = createDetail({ width: SIZES.TWO_THIRD, items: intentParams ?? createTextItem({ title: 'Intent Params', data: 'No parameters', }), }); } return mapContext; };