The clientv2 is an example application working with internal dialog runtime API and an official Voyager service API.
Its purpose is to test and demonstrate usage of dialog API, demonstrate client side functionality (e.g. providing information using the external services (jokes, news) or controlling custom made hardware), and to act as customizable frontend for accessing dialog applications.
This app contains following functionality:
- Chat window
- Text formatting with html
- Renders buttons and other arbitrary html
- Delayed messages and reminders
- Input can be specified as text or json directly into input box
- Bluemix speech recognition is integrated as alternative input. It starts by pressing microphone button next to input box.
- Alternative output methods
- Compact layout mode suitable for presentation and embedding in web pages. See Embedded chat window example.
- Adding external entities is supported (currently from AlchemyAPI)
- Plugable modules for the services (implemented jokes, news, weather, stock market, namedays, firmanta protocol)
- Multi workspace setup is supported (e.g. application + chitchat)
- One can connect simple hardware, move motors, blink LEDs or control robots (for version running locally only)
- Developer tools
- bare json input/reply panels, log
- config tab for customization
This project is in active development. Do not hesitate to contact us. Any feedback is appreciated.
This docuemntation contains following topics:
- Getting started
- Instalation of local instance
- Output channels
- Example applications
- client_add_ons - Folder containing all extensions. Contains mostly request handlers. See addons for more details.
- applications - Folder containing example agents/workspaces/applications. See applications for more details.
- doc - This documentation in markdown files.
- node_modules - node.js packages this app depends on. npm install downloads contents of this folder. This should not be pushed to git repository.
- notes - internal development notes.
- public - http accessible files.
- Services - place of any reusable modules.
- tests - entry points used once for debugging features left here to be available for refactoring.
- tools - various utilitieas to make working with workspaces easier. See tools for more details.
- .vscode - Folder containing Visual Studio Code launch configuration and TypeScript compilation job.
- app.js - entry point.
- ClientV2.d.ts - TypeScript declarations. See typescript for more details.
- config.json - server-side config.
- dialogV2API.js - proxy for conversation service REST API.
- node.d.ts - node.js Typescript declarations. See typescript for more details.
- package.json - npm package description file.
- tsconfig.json - TypeScript configuration file. See typescript for more details.