rainbird-api

1.3.1 • Public • Published

rainbird-api-js Build Status

A promise-based wrapper around the Rainbird API

Install

Requires Node v8.11.0 or later.

npm install rainbird-api --save

Usage

const rb = require('rainbird-api')
 
// Start a new session
const session = new rb.Session(apiKey)
await session.start(knowledgeMapId)
 
await session.query({
  subject: 'John',
  relationship: 'speaks'
})
// > { question: { prompt: 'Where does John live?', ... } }
 
// Inject facts
await session.inject({
  subject: 'Sam',
  relationship: 'lives in',
  object: 'France'
})
 
// Respond with a fact
const { facts } = await session.respond({
  subject: 'John',
  relationship: 'lives in',
  object: 'England'
})
 
// Get an evidence tree object by calling audit on the answer.
await facts[0].audit()

Context

Context is supported but supplying a contextId option when creating a new Session eg.

const session = new rb.Session({
  apiKey: API_KEY,
  contextId: '123'
})

Notes

Session.response and Session.query can return either questions or facts (answers)

Development

Clone and install dependencies

git clone https://github.com/tom-sherman/rainbird-api-js
cd rainbird-api-js
npm install

You must set the following environment variables to be able to run tests:

  • RB_API_KEY - A valid Rainbird API key.
  • RB_HELLOWORLD_KMID - A "Hello World" knowledge map.

These can be placed in a .env file for convenience.

Further reading

Readme

Keywords

Package Sidebar

Install

npm i rainbird-api

Weekly Downloads

2

Version

1.3.1

License

MIT

Unpacked Size

26.3 kB

Total Files

17

Last publish

Collaborators

  • tom.sherman