Skip to content
This repository was archived by the owner on Aug 12, 2022. It is now read-only.

fix: update message resource #46

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .nmprc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@tiesproject:registry=https://npm.pkg.github.com
115 changes: 115 additions & 0 deletions lib/apis/build/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});

var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');

var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);

var _promise = require('babel-runtime/core-js/promise');

var _promise2 = _interopRequireDefault(_promise);

var _superagent = require('superagent');

var _superagent2 = _interopRequireDefault(_superagent);

var _superagentProxy = require('superagent-proxy');

var _superagentProxy2 = _interopRequireDefault(_superagentProxy);

var _superagentPromise = require('superagent-promise');

var _superagentPromise2 = _interopRequireDefault(_superagentPromise);

var _constants = require('../constants');

var _constants2 = _interopRequireDefault(_constants);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var agent = (0, _superagentPromise2.default)((0, _superagentProxy2.default)(_superagent2.default), _promise2.default);

var Build = function Build(token, language) {
(0, _classCallCheck3.default)(this, Build);

_initialiseProps.call(this);

this.token = token;
this.language = language;
};

var _initialiseProps = function _initialiseProps() {
var _this = this;

this.dialog = function (message) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var memory = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var log_level = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'info';

var token = options.token || _this.token;
var proxy = options.proxy;
var data = {
message: message,
conversation_id: options.conversationId,
language: options.language || _this.language,
log_level: log_level
};
if (memory) data['memory'] = memory;

var request = agent('POST', _constants2.default.DIALOG_ENDPOINT + '/dialog').set('Authorization', 'Token ' + token);
if (proxy) {
request.proxy(proxy);
}
return request.send(data).then(function (res) {
return res.body.results;
});
};

this.getConversation = function (user, bot, version, conversationId) {
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};

var token = options.token || _this.token;
var proxy = options.proxy;

var request = agent('GET', _constants2.default.DIALOG_ENDPOINT + '/users/' + user + '/bots/' + bot + '/versions/' + version + '/builder/conversation_states/' + conversationId).set('Authorization', 'Token ' + token);
if (proxy) {
request.proxy(proxy);
}
return request.send();
};

this.updateConversation = function (user, bot, version, conversationId) {
var data = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};

var token = options.token || _this.token;
var proxy = options.proxy;
if (data.memory && data.memory.constructor !== Object) {
return _promise2.default.reject('Invalid memory parameter');
}

var request = agent('PUT', _constants2.default.DIALOG_ENDPOINT + '/users/' + user + '/bots/' + bot + '/versions/' + version + '/builder/conversation_states/' + conversationId).set('Authorization', 'Token ' + token);
if (proxy) {
request.proxy(proxy);
}
return request.send(data);
};

this.deleteConversation = function (user, bot, version, conversationId) {
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};

var token = options.token || _this.token;
var proxy = options.proxy;

var request = agent('DELETE', _constants2.default.DIALOG_ENDPOINT + '/users/' + user + '/bots/' + bot + '/versions/' + version + '/builder/conversation_states/' + conversationId).set('Authorization', 'Token ' + token);
if (proxy) {
request.proxy(proxy);
}
return request.send();
};
};

exports.default = Build;
63 changes: 63 additions & 0 deletions lib/apis/connect/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});

var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');

var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);

var _promise = require('babel-runtime/core-js/promise');

var _promise2 = _interopRequireDefault(_promise);

var _superagent = require('superagent');

var _superagent2 = _interopRequireDefault(_superagent);

var _superagentProxy = require('superagent-proxy');

var _superagentProxy2 = _interopRequireDefault(_superagentProxy);

var _superagentPromise = require('superagent-promise');

var _superagentPromise2 = _interopRequireDefault(_superagentPromise);

var _constants = require('../constants');

var _constants2 = _interopRequireDefault(_constants);

var _resources = require('../resources');

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var agent = (0, _superagentPromise2.default)((0, _superagentProxy2.default)(_superagent2.default), _promise2.default);

var Connect = function Connect(token) {
var _this = this;

(0, _classCallCheck3.default)(this, Connect);

this.handleMessage = function (req, res, onMessageReceived) {
if (typeof res.status === 'function') {
res.status(200).send();
} else {
res.status = 200;
}

return onMessageReceived(new _resources.Message(req.body, _this.token));
};

this.sendMessage = function (messages, conversationId) {
return agent('POST', _constants2.default.MESSAGE_ENDPOINT.replace(':conversation_id', conversationId)).set('Authorization', 'Token ' + _this.token).send({ messages: messages });
};

this.broadcastMessage = function (messages) {
return agent('POST', _constants2.default.CONVERSATION_ENDPOINT).set('Authorization', 'Token ' + _this.token).send({ messages: messages });
};

this.token = token;
};

exports.default = Connect;
31 changes: 31 additions & 0 deletions lib/apis/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
REQUEST_ENDPOINT: 'https://api.cai.tools.sap/v2/request',
CONVERSE_ENDPOINT: 'https://api.cai.tools.sap/v2/converse',
DIALOG_ENDPOINT: 'https://api.cai.tools.sap/build/v1',
CONVERSATION_ENDPOINT: 'https://api.cai.tools.sap/connect/v1/messages',
MESSAGE_ENDPOINT: 'https://api.cai.tools.sap/connect/v1/conversations/:conversation_id/messages',
TRAIN_ENDPOINT: 'https://api.cai.tools.sap/train/v2',

ACT_ASSERT: 'assert',
ACT_COMMAND: 'command',
ACT_WH_QUERY: 'wh-query',
ACT_YN_QUERY: 'yn-query',

TYPE_ABBREVIATION: 'abbr:',
TYPE_ENTITY: 'enty:',
TYPE_DESCRIPTION: 'desc:',
TYPE_HUMAN: 'hum:',
TYPE_LOCATION: 'loc:',
TYPE_NUMBER: 'num:',

SENTIMENT_VERY_POSITIVE: 'vpositive',
SENTIMENT_POSITIVE: 'positive',
SENTIMENT_NEUTRAL: 'neutral',
SENTIMENT_NEGATIVE: 'negative',
SENTIMENT_VERY_NEGATIVE: 'vnegative'
};
30 changes: 30 additions & 0 deletions lib/apis/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});

var _request = require('./request');

var _request2 = _interopRequireDefault(_request);

var _connect = require('./connect');

var _connect2 = _interopRequireDefault(_connect);

var _train = require('./train');

var _train2 = _interopRequireDefault(_train);

var _build = require('./build');

var _build2 = _interopRequireDefault(_build);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = {
request: _request2.default,
connect: _connect2.default,
train: _train2.default,
build: _build2.default
};
Loading