Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@vivocha/bot-sdk
Advanced tools
Javascript / Typescript SDK to create Bot Agents and Filters for the Vivocha platform
This SDK allows to write Vivocha Bot Agents integrating existing bots, built and trained using your preferred bot / NLP platform (E.g., Dialogflow, IBM Watson Conversation, Wit.ai, etc...). Then, by creating a BotManager it is possible to register multi-platform bot implementations and let Vivocha communicate with them through a well-defined, clear and uniform message-based interface.
The following picture shows an high-level overview of the Vivocha Bot SDK and its software components.
A BotAgent
represents and communicates with a particular Bot implementation platform.
A BotManager
exposes a Web API acting as a gateway to registered BotAgent
s.
Usually, the steps to use agents and managers are:
BotAgent
for every Bot/NLP platform you need to support, handling / wrapping messages of type BotRequest
and BotResponse
;BotAgentManager
instance;BotAgent
s defined at step 1) to the BotAgentManager
, through the registerAgent(key, botAgent)
method, where key
is the choosen bot engine (e.g, Dialogflow
, Watson
, ...) and agent
is a BotAgent
instance;BotAgentManager
service through its listen()
method, it exposes a Web API;BotAgent
thanks to the engine.type
message property, used as key
in step 3). API is full described by its Swagger specification, available at http://<BotAgentManager-Host>:<port>/swagger.json
.A BotFilter
is a Web service to filter/manipulate/enrich/transform BotRequest
s and/or BotResponse
s.
For example, a BotFilter
can enrich a request calling an external API to get additional data before sending it to a BotAgent, or it can filter a response coming form a BotAgent to transform data it contains before forwarding it to a user.
Basically, to write a filter you have to:
BotFilter
specifying a BotRequestFilter
or a BotResponseFilter
. These are the functions containing your logic to manipulate/filter/enrich requests to bots and responses from them. Inside themyou can call external web services, transform data and do whatever you need to do to achieve your application-specific goal.
A BotFilter
can provide a filter for only a request, only a response or both.BotFilter
service through its listen()
method, it exposes a Web API; API is full described by its Swagger specification, available at http://<BotFilter-Host>:<port>/swagger.json
.A BotAgent
represents an abstract Bot implementation and it directly communicates with a particular Bot / NLP platform (like Dialogflow, IBM Watson Conversation and so on...).
In the Vivocha model, a Bot is represented by a function with the following signature:
In Typescript:
(request: BotRequest): Promise<BotResponse>
In Javascript:
let botAgent = async (request) => {
// the logic to interact with the particular bot implementation
// goes here, then produce a BotResponse message...
...
return response
}
TBD
TBD
A Bot Manager is a registry microservice, which basically provides two main functionalities:
BotAgent
s;BotAgent
s, acting as a gateway using a normalized interface.TBD
TBD
TBD
TBD
FAQs
Vivocha Bot SDK: TypeScript / JavaScript SDK to create/integrate chatbots with the Vivocha platform
The npm package @vivocha/bot-sdk receives a total of 59 weekly downloads. As such, @vivocha/bot-sdk popularity was classified as not popular.
We found that @vivocha/bot-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.