1.0.1 • Published 5 years ago

@fvlab/dialogflow-response-builder v1.0.1

Weekly downloads
2
License
Apache-2.0
Repository
github
Last release
5 years ago

Dialogflow Response Builder

This typescript, npm-package project provides a set of tools to help construct reponses in your Dialogflow fulfillment logic. The IResponseBuilder abstraction normalizes responses to a set of response types that translates to various native types based on the agent that is detected in the firebase fulfillment request. Currently, Actions-on-Google (AoG) is a specific agent that is specifically supported; otherwise the fall back assumed to be a generic Webhook agent.

The supplied defaultResponseBuilder represents a vanilla brand for your responses. Build you own brand by designing your own response builder implementing IResponseBuilder. Branding includes the pattern, formatting, wording, etc. of response messages.

Fulfillment handlers

There is also a FulfillmentHandler class to abstract away the process of invoking handlers based on the givent intent. Here is an example usage of FulfillmentHandler in a Firebase functions endpoint.

import * as functions from 'firebase-functions';
import { FulfillmentHandler, IntentHandler } from '@fvlab/dialogflow-response-builder';
import { myHandler } from './handlers/myHandler'; // you provide this

// Define the intent-to-handler mappings
const intentHandlers: IntentHandler[] = [
  { intent: 'statistics.premium.byBroker', actionHandler: new myHandler() }
  // Add more intent to handler mappings here.
];

// This is the definition for the firebase (REST) endpoint that should be registered in your dialogflow project.
export const dialogflowFirebaseFulfillment = functions.https.onRequest((req, res) => {
  new FulfillmentHandler(...intentHandlers).handleFulfillment(req, res);
});

Action handlers

To build your action handlers just create classes that implement the IActionHanlder interface. There is also a BaseHandler class that you can inherit from to help with response building.