Add support for Alexa session attributes, directives, and shouldEndSession

Session Attributes

Session attributes are attributes that are stored in the session object of the Alexa request, and then put in the sessionAttributes section in the response.

See more info about session attributes here.

Directives

Directives are special things that an Alexa device can do, here’s an example. There’s no centralized page for directives, so here’s a search page.

Say for example, I want to listen to the latest fire call for my county. I can simply just create a new entry under intent_script and have it render all of the keys in the directive as a template, so I can pass in an audio URL, and now the Alexa device will play the audio of the fire call!

shouldEndSession

This one is especially useful, because I can have full interactions, instead of just having one response and that’s it. One use case is where you say “Alexa, open Home Assistant.”, and it will give some sort of a greeting and a prompt, like this: “Hi there, welcome to the Home Assistant skill. For a list of commands, say list commands. What would you like to do?”.