Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
alexa-ability-context
Advanced tools
Simplify building multistep conversations with context-aware intent handling
Simplify building multistep conversations with context-aware intent handling.
import { Ability, events } from 'alexa-ability';
import { handleAbility } from 'alexa-ability-lambda-handler';
import { trackContext, context } from 'alexa-ability-context';
// create ability
const app = new Ability({
applicationId: 'your-app-id'
});
// add middleware to track context
app.use(trackContext());
app.on('OrderPizzaIntent', function(req) {
req.say('Are you sure you want to order pizza?').send();
});
// check against previous event
app.on(events.yes, context.after('OrderPizzaIntent', function(req) {
req.say('Are you really really sure?').send();
}));
// do more complex checks with a regex
app.on(events.yes, context.matches(/.*OrderPizzaIntent:AMAZON.YesIntent$/, function(req) {
orderPizza(function() {
req.say('Your pizza is on its way!').end();
});
}));
app.on(events.no, function() {
req.say('Ok, goodbye.').end();
});
export const handler = handleAbility(app);
trackContext(options) -> middleware
A middleware factory that takes an optional options
object. The currently supported
options are:
key
: defaults to __context__
, the session key to store the context between requests.property
: defaults context
, the property to expose the context object as on the request.req.context
The trackContext
middleware will add an additional property to the request object called
context
. Which will look something like this:
[
{ "event": "launch" },
{ "event": "ExampleIntent" }
]
req.context.now
The object that will be added to the context for future requests. By default it is just
{ event: 'name' }
, but you're free to modify it or add properties however you like.
req.context.destroy()
Clears the context.
req.context.skip()
Causes the req.context.now
object to not be persisted.
context
context.after(event, handler) -> handler
Creates a new handler function that only executes when the previous intent matches.
The two arguments are:
event
: an event namehandler
: a standard alexa-ability handler that accepts req
and next
as arguments.The string the regex will be tested against will look like this:
FirstIntent:SecondIntent:ThirdIntent
context.matches(regex, handler) -> handler
Creates a new handler function that only executes when the conversation context matches the given regular expression.
The two arguments are:
regex
: a regular expression.handler
: a standard alexa-ability handler that accepts req
and next
as arguments.context.custom(fn, handler) -> handler
Creates a new handler function that only executes when the custom fn
returns a true
.
The two arguments are:
fn
: a function that takes in the request object and returns true
or false
.handler
: a standard alexa-ability handler that accepts req
and next
as arguments.FAQs
Simplify building multistep conversations with context-aware intent handling
We found that alexa-ability-context demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.