Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
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 researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.