Releases: salesforce-misc/violet-conversations
Support for Google Home
v0.10.0 Support for Google Home
Allow override of launch response and session close request
v0.9.0 allows override of launch response and session close request
Conversation Engine Improvements
We focused on the core of Violet - the Conversation Engine in this release. As we have been using Violet we had collected a number of scenarios where it was hard to do the things that would be common in Conversations. In this release we therefore did a fairly significant refactor and clean-up of the engine and polished some of the rough edges.
This work has meant that the functionality that used to be in the Conversation Engine can now be found in four classes:
- InputMgr - which helps process Inputs (data from from Alexa) and call the intents defined in the Violet Scripts.
- OutputMgr - which helps build an output (back to Alexa) as provided by calls from Violet Scripts to the Response class.
- ScriptParser - which provides a set methods to help the ConversationEngine parse the Violet Script.
- ConversationEngine - the main class that users interact with.
Beyond this refactoring of the Violet core we also did a number of improvements:
- Violet now saves users' conversation state in a session variable. This allows much easier support for out-of-the-box support for multiple users when working with conversational goals.
- Violet is now less insistent when it comes to filling goals. When a goal is added by a script, Violet checks if there are any prompts associated with the goal and presents the prompt to users. This presenting of the prompt to the user now happens only once per goal added, as opposed to previously when Violet would keep prompting for an answer from the user.
Adding the Nuts and Bolts
This release has focused on iterating/refining features based on user feedback and maturing the code.
Major software maturity milestones:
-
Started API Documentation using JSDoc and simplified usage of out API's.
-
Added automated tests using Mocha and setup and setup TravisCI with focus to keep API steady.
-
Added code coverage using Istanbul and Codecov.
Seperated and improved sample code for people getting started with Violet:
- Added a deploy to heroku button so that people can try out the different samples easily; parameterized server.js so that scripts can be launched independently.
- Added a To Do (using the Quip API) and a restaurants finder (using the Yelp Fusion API) sample.
- Minor improvements such as demonstrating using Literal's properly by including Sample Values.
Added capabilities to Violet:
- Improve Conversation Configurability: Support for a spoken rate set at the script level (and outputted to SSML). Individual responses to the user from a script typically have a short pause in between them, now support has been added for the
say
function to add them without a pause using thequick
flag. Conversations in Violet are typically assumed to be continuing, now support has been added toendConversations
by a script. - Simplification of Script Variables: Moved away from supporting for three classes of script variables (previously scripts could choose between [[input]] variables, {{session}} variables, and <> variables) to now only supporting session variables. Additionally, input variables are automatically 'upgraded' to become session variables and can therefore be accessed uniformly.
- Improved Questioning of Users: Supporting scripts to either
ask
one question at a time or toprompt
the user for up to 3 pieces of information at a time. - Added a PostgreSQL database plugin.
- Updated Tooling: Significantly updated web interface when run locally, designed around the main developer use cases, and allow for easily testing their scripts, or for registering the script on Alexa. When the server launches Violet now displays the url that the server can be accessed at to ease opening it up. Violet now also includes a set of utilities to get values from a separate file (helpful when populating sample values for literals or loading a large set of values for custom type).
More here: http://helloviolet.ai/blog/2017/12/27/violet-v0.7-adding-the-nuts-and-bolts
First Release of Violet Conversations
violet-conversations provides support for building sophisticated conversational apps/bots on Amazon's Alexa. Conversations are built via scripts, and Violet provides a conversation engine that runs as an Alexa Skill.