UNPKG

conversation-analytics-client

Version:

The client library to aggregate information for the conversation analytics.

59 lines 2.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const uuid = require("uuid/v4"); const GENERATED_USER_ID = '__conversation_analytics_user_id__'; class ActionsOnGoogleFactory { createPayload(data, userId) { const payload = { conversation_id: data.id, request: { available_surfaces: data.request.availableSurfaces ? data.request.availableSurfaces[0].capabilities.map((capability) => capability.name) : undefined, surfaces: data.request.surface ? data.request.surface.capabilities.map((capability) => capability.name) : undefined, is_in_sandbox: data.request.isInSandbox, intent_name: data.intent || data.request.inputs[0].intent, raw_input: data.request.inputs[0].rawInputs[0], arguments: JSON.stringify(data.request.inputs[0].arguments), location: data.request.device ? data.request.device.location : undefined, user: data.request.user }, contexts_input: data.contexts ? data.contexts.input : undefined, expect_user_response: data.expectUserResponse, sandbox: data.sandbox, conversation_type: data.type, responses: JSON.stringify(data.responses), no_inputs: JSON.stringify(data.noInputs), speech_biasing: data.speechBiasing }; this.setUserId(data, payload, userId); return payload; } setUserId(data, payload, isSetUserId) { if (isSetUserId) { let generatedUserId = data.user.storage[GENERATED_USER_ID]; if (!generatedUserId) { generatedUserId = uuid(); data.user.storage[GENERATED_USER_ID] = generatedUserId; } payload.generatedUserId = generatedUserId; } } create(header, data, userId) { const dialogData = { header, payload: this.createPayload(data, userId), extra: {} }; return dialogData; } isHealthCheck(data) { return data.arguments.get('is_health_check'); } } exports.default = ActionsOnGoogleFactory; //# sourceMappingURL=actions-on-google.js.map