@miso.ai/client-sdk-core 1.8.0-beta.8 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/api.js +25 -0
- package/dist/cjs/api/ask.js +7 -6
- package/dist/cjs/api/constants.js +27 -0
- package/dist/cjs/api/helpers.js +1 -1
- package/dist/cjs/api/index.js +54 -19
- package/dist/cjs/api/interactions.js +5 -4
- package/dist/cjs/api/recommendation.js +9 -8
- package/dist/cjs/api/search.js +6 -5
- package/dist/cjs/classes.js +5 -15
- package/dist/cjs/client.js +2 -2
- package/dist/cjs/constants.js +2 -2
- package/dist/cjs/index.js +39 -5
- package/dist/cjs/plugin/auto-events.js +3 -2
- package/dist/cjs/plugin/index.js +3 -3
- package/dist/cjs/plugin/plugin-root.js +3 -3
- package/dist/cjs/root.js +2 -2
- package/dist/cjs/version.js +1 -1
- package/package.json +9 -9
- package/{dist/es/api/index.js → src/api/api.js} +9 -6
- package/src/api/ask.js +76 -0
- package/src/api/base.js +47 -0
- package/src/api/constants.js +20 -0
- package/{dist/es → src}/api/helpers.js +47 -91
- package/src/api/index.js +8 -0
- package/src/api/interactions.js +55 -0
- package/src/api/recommendation.js +34 -0
- package/src/api/search.js +22 -0
- package/src/classes.js +7 -0
- package/{dist/es → src}/client.js +25 -10
- package/{dist/es → src}/cmd.js +7 -8
- package/src/constants.js +4 -0
- package/{dist/es → src}/context.js +4 -1
- package/src/index.js +4 -0
- package/{dist/es → src}/plugin/anonymous.js +5 -4
- package/{dist/es → src}/plugin/auto-events.js +27 -27
- package/src/plugin/index.js +3 -0
- package/{dist/es → src}/plugin/page-info.js +28 -24
- package/{dist/es → src}/plugin/plugin-root.js +37 -22
- package/{dist/es → src}/plugin/urls.js +2 -1
- package/{dist/es → src}/plugin/user.js +32 -37
- package/{dist/es → src}/root.js +10 -4
- package/src/utils.js +1 -0
- package/src/version.js +1 -0
- package/dist/es/api/ask.js +0 -85
- package/dist/es/api/base.js +0 -96
- package/dist/es/api/interactions.js +0 -82
- package/dist/es/api/recommendation.js +0 -24
- package/dist/es/api/search.js +0 -15
- package/dist/es/classes.js +0 -20
- package/dist/es/constants.js +0 -4
- package/dist/es/index.js +0 -2
- package/dist/es/plugin/index.js +0 -3
- package/dist/es/utils.js +0 -1
- package/dist/es/version.js +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _commons = require("@miso.ai/commons");
|
|
8
|
+
var _helpers = _interopRequireDefault(require("./helpers.js"));
|
|
9
|
+
var _interactions = _interopRequireDefault(require("./interactions.js"));
|
|
10
|
+
var _ask = _interopRequireDefault(require("./ask.js"));
|
|
11
|
+
var _search = _interopRequireDefault(require("./search.js"));
|
|
12
|
+
var _recommendation = _interopRequireDefault(require("./recommendation.js"));
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
class Api extends _commons.Component {
|
|
15
|
+
constructor(client, root) {
|
|
16
|
+
super('api', client);
|
|
17
|
+
this._client = client;
|
|
18
|
+
this.helpers = new _helpers.default(client, root);
|
|
19
|
+
this.interactions = new _interactions.default(this);
|
|
20
|
+
this.ask = new _ask.default(this);
|
|
21
|
+
this.search = new _search.default(this);
|
|
22
|
+
this.recommendation = new _recommendation.default(this);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = Api;
|
package/dist/cjs/api/ask.js
CHANGED
|
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _commons = require("@miso.ai/commons");
|
|
8
|
-
var
|
|
8
|
+
var _constants = require("./constants.js");
|
|
9
|
+
var _base = _interopRequireDefault(require("./base.js"));
|
|
9
10
|
const _excluded = ["pollingInterval", "signal", "stallTimeout"];
|
|
10
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
12
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
12
13
|
class Ask extends _base.default {
|
|
13
14
|
constructor(api) {
|
|
14
|
-
super(api,
|
|
15
|
+
super(api, _constants.GROUP.ASK);
|
|
15
16
|
}
|
|
16
17
|
async questions(payload) {
|
|
17
18
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -20,14 +21,14 @@ class Ask extends _base.default {
|
|
|
20
21
|
question_id: payload
|
|
21
22
|
}, options);
|
|
22
23
|
}
|
|
23
|
-
const response = await this._run(
|
|
24
|
+
const response = await this._run(_constants.NAME.QUESTIONS, payload, options);
|
|
24
25
|
return new Answer(this, response, options);
|
|
25
26
|
}
|
|
26
27
|
async _questions(payload, options) {
|
|
27
|
-
return this._run(
|
|
28
|
+
return this._run(_constants.NAME.QUESTIONS, payload, options);
|
|
28
29
|
}
|
|
29
30
|
async _get(questionId, options) {
|
|
30
|
-
return this._run(
|
|
31
|
+
return this._run(`${_constants.NAME.QUESTIONS}/${questionId}/answer`, undefined, Object.assign({}, options, {
|
|
31
32
|
method: 'GET'
|
|
32
33
|
}));
|
|
33
34
|
}
|
|
@@ -67,7 +68,7 @@ class Answer {
|
|
|
67
68
|
{
|
|
68
69
|
pollingInterval: interval,
|
|
69
70
|
signal,
|
|
70
|
-
stallTimeout =
|
|
71
|
+
stallTimeout = 120000
|
|
71
72
|
} = _this$_options,
|
|
72
73
|
options = _objectWithoutPropertiesLoose(_this$_options, _excluded);
|
|
73
74
|
const stac = new _commons.StallTimeoutAbortController(stallTimeout);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NAME = exports.GROUP = void 0;
|
|
7
|
+
const GROUP = Object.freeze({
|
|
8
|
+
ASK: 'ask',
|
|
9
|
+
SEARCH: 'search',
|
|
10
|
+
RECOMMENDATION: 'recommendation',
|
|
11
|
+
INTERACTIONS: 'interactions'
|
|
12
|
+
});
|
|
13
|
+
exports.GROUP = GROUP;
|
|
14
|
+
const NAME = Object.freeze({
|
|
15
|
+
QUESTIONS: 'questions',
|
|
16
|
+
SEARCH: 'search',
|
|
17
|
+
AUTOCOMPLETE: 'autocomplete',
|
|
18
|
+
MGET: 'mget',
|
|
19
|
+
USER_TO_PRODUCTS: 'user_to_products',
|
|
20
|
+
USER_TO_CATEGORIES: 'user_to_categories',
|
|
21
|
+
USER_TO_ATTRIBUTES: 'user_to_attributes',
|
|
22
|
+
USER_TO_TRENDING: 'user_to_trending',
|
|
23
|
+
USER_TO_HISTORY: 'user_to_history',
|
|
24
|
+
PRODUCT_TO_PRODUCTS: 'product_to_products',
|
|
25
|
+
UPLOAD: 'upload'
|
|
26
|
+
});
|
|
27
|
+
exports.NAME = NAME;
|
package/dist/cjs/api/helpers.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _commons = require("@miso.ai/commons");
|
|
8
|
-
var _constants = require("../constants");
|
|
8
|
+
var _constants = require("../constants.js");
|
|
9
9
|
class ApiHelpers {
|
|
10
10
|
constructor(client, root) {
|
|
11
11
|
this._client = client;
|
package/dist/cjs/api/index.js
CHANGED
|
@@ -3,23 +3,58 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _ask = _interopRequireDefault(require("./ask"));
|
|
11
|
-
var _search = _interopRequireDefault(require("./search"));
|
|
12
|
-
var _recommendation = _interopRequireDefault(require("./recommendation"));
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
class Api extends _commons.Component {
|
|
15
|
-
constructor(client, root) {
|
|
16
|
-
super('api', client);
|
|
17
|
-
this._client = client;
|
|
18
|
-
this.helpers = new _helpers.default(client, root);
|
|
19
|
-
this.interactions = new _interactions.default(this);
|
|
20
|
-
this.ask = new _ask.default(this);
|
|
21
|
-
this.search = new _search.default(this);
|
|
22
|
-
this.recommendation = new _recommendation.default(this);
|
|
6
|
+
Object.defineProperty(exports, "Api", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _api.default;
|
|
23
10
|
}
|
|
24
|
-
}
|
|
25
|
-
exports
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ApiBase", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _base.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "ApiHelpers", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _helpers.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "Ask", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _ask.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "Interactions", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _interactions.default;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "Recommendation", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _recommendation.default;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "Search", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _search.default;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
exports.constants = void 0;
|
|
49
|
+
var _api = _interopRequireDefault(require("./api.js"));
|
|
50
|
+
var _base = _interopRequireDefault(require("./base.js"));
|
|
51
|
+
var _helpers = _interopRequireDefault(require("./helpers.js"));
|
|
52
|
+
var _interactions = _interopRequireDefault(require("./interactions.js"));
|
|
53
|
+
var _ask = _interopRequireDefault(require("./ask.js"));
|
|
54
|
+
var _search = _interopRequireDefault(require("./search.js"));
|
|
55
|
+
var _recommendation = _interopRequireDefault(require("./recommendation.js"));
|
|
56
|
+
var _constants = _interopRequireWildcard(require("./constants.js"));
|
|
57
|
+
exports.constants = _constants;
|
|
58
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
59
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
60
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -4,18 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _constants = require("./constants.js");
|
|
8
|
+
var _base = _interopRequireDefault(require("./base.js"));
|
|
8
9
|
const _excluded = ["useBeacon"],
|
|
9
10
|
_excluded2 = ["options"];
|
|
10
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
12
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
12
13
|
class Interactions extends _base.default {
|
|
13
14
|
constructor(api) {
|
|
14
|
-
super(api,
|
|
15
|
+
super(api, _constants.GROUP.INTERACTIONS);
|
|
15
16
|
}
|
|
16
17
|
async upload(payload, options) {
|
|
17
18
|
try {
|
|
18
|
-
return await this._run(
|
|
19
|
+
return await this._run(_constants.NAME.UPLOAD, payload, options);
|
|
19
20
|
} catch (e) {
|
|
20
21
|
if (e.status === 400 && e.message && e.message.toLowerCase().indexOf('playground') > -1) {
|
|
21
22
|
this._warn(`Ignore interactions uploaded to playground app.`);
|
|
@@ -44,7 +45,7 @@ class Interactions extends _base.default {
|
|
|
44
45
|
apiName,
|
|
45
46
|
payload
|
|
46
47
|
} = _ref2;
|
|
47
|
-
if (apiName ===
|
|
48
|
+
if (apiName === _constants.NAME.UPLOAD) {
|
|
48
49
|
payload = this._normalizeUploadPayload(payload);
|
|
49
50
|
}
|
|
50
51
|
return super._preprocess({
|
|
@@ -4,29 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _constants = require("./constants.js");
|
|
8
|
+
var _base = _interopRequireDefault(require("./base.js"));
|
|
8
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
10
|
class Recommendation extends _base.default {
|
|
10
11
|
constructor(api) {
|
|
11
|
-
super(api,
|
|
12
|
+
super(api, _constants.GROUP.RECOMMENDATION);
|
|
12
13
|
}
|
|
13
14
|
async userToProducts(payload, options) {
|
|
14
|
-
return this._run(
|
|
15
|
+
return this._run(_constants.NAME.USER_TO_PRODUCTS, payload, options);
|
|
15
16
|
}
|
|
16
17
|
async userToCategories(payload, options) {
|
|
17
|
-
return this._run(
|
|
18
|
+
return this._run(_constants.NAME.USER_TO_CATEGORIES, payload, options);
|
|
18
19
|
}
|
|
19
20
|
async userToAttributes(payload, options) {
|
|
20
|
-
return this._run(
|
|
21
|
+
return this._run(_constants.NAME.USER_TO_ATTRIBUTES, payload, options);
|
|
21
22
|
}
|
|
22
23
|
async userToTrending(payload, options) {
|
|
23
|
-
return this._run(
|
|
24
|
+
return this._run(_constants.NAME.USER_TO_TRENDING, payload, options);
|
|
24
25
|
}
|
|
25
26
|
async userToHistory(payload, options) {
|
|
26
|
-
return this._run(
|
|
27
|
+
return this._run(_constants.NAME.USER_TO_HISTORY, payload, options);
|
|
27
28
|
}
|
|
28
29
|
async productToProducts(payload, options) {
|
|
29
|
-
return this._run(
|
|
30
|
+
return this._run(_constants.NAME.PRODUCT_TO_PRODUCTS, payload, options);
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.default = Recommendation;
|
package/dist/cjs/api/search.js
CHANGED
|
@@ -4,20 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _constants = require("./constants.js");
|
|
8
|
+
var _base = _interopRequireDefault(require("./base.js"));
|
|
8
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
10
|
class Search extends _base.default {
|
|
10
11
|
constructor(api) {
|
|
11
|
-
super(api,
|
|
12
|
+
super(api, _constants.GROUP.SEARCH);
|
|
12
13
|
}
|
|
13
14
|
async search(payload, options) {
|
|
14
|
-
return this._run(
|
|
15
|
+
return this._run(_constants.NAME.SEARCH, payload, options);
|
|
15
16
|
}
|
|
16
17
|
async autocomplete(payload, options) {
|
|
17
|
-
return this._run(
|
|
18
|
+
return this._run(_constants.NAME.AUTOCOMPLETE, payload, options);
|
|
18
19
|
}
|
|
19
20
|
async multipleGet(payload, options) {
|
|
20
|
-
return this._run(
|
|
21
|
+
return this._run(_constants.NAME.MGET, payload, options);
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
exports.default = Search;
|
package/dist/cjs/classes.js
CHANGED
|
@@ -4,23 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var _helpers = _interopRequireDefault(require("./api/helpers"));
|
|
10
|
-
var _interactions = _interopRequireDefault(require("./api/interactions"));
|
|
11
|
-
var _recommendation = _interopRequireDefault(require("./api/recommendation"));
|
|
12
|
-
var _search = _interopRequireDefault(require("./api/search"));
|
|
13
|
-
var _context = _interopRequireDefault(require("./context"));
|
|
7
|
+
var api = _interopRequireWildcard(require("./api/index.js"));
|
|
8
|
+
var _context = _interopRequireDefault(require("./context.js"));
|
|
14
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
12
|
var _default = {
|
|
16
|
-
api
|
|
17
|
-
Api: _api.default,
|
|
18
|
-
ApiBase: _base.default,
|
|
19
|
-
ApiHelpers: _helpers.default,
|
|
20
|
-
Interactions: _interactions.default,
|
|
21
|
-
Recommendation: _recommendation.default,
|
|
22
|
-
Search: _search.default
|
|
23
|
-
},
|
|
13
|
+
api,
|
|
24
14
|
context: {
|
|
25
15
|
Context: _context.default
|
|
26
16
|
}
|
package/dist/cjs/client.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _commons = require("@miso.ai/commons");
|
|
8
8
|
var _root = require("./root");
|
|
9
|
-
var
|
|
9
|
+
var _index = require("./api/index.js");
|
|
10
10
|
var _context = _interopRequireDefault(require("./context"));
|
|
11
11
|
var helpers = _interopRequireWildcard(require("./utils"));
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -28,7 +28,7 @@ class MisoClient extends _commons.Component {
|
|
|
28
28
|
super('client', _root.root);
|
|
29
29
|
this._config(options);
|
|
30
30
|
this.context = new _context.default(this);
|
|
31
|
-
this.api = new
|
|
31
|
+
this.api = new _index.Api(this, _root.root);
|
|
32
32
|
(0, _root.register)(this);
|
|
33
33
|
}
|
|
34
34
|
get version() {
|
package/dist/cjs/constants.js
CHANGED
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.API = void 0;
|
|
7
|
-
const API = {
|
|
7
|
+
const API = Object.freeze({
|
|
8
8
|
DATA_ENDPOINT: 'https://api-edge.askmiso.com/v1',
|
|
9
9
|
EVENT_ENDPOINT: 'https://api.askmiso.com/v1'
|
|
10
|
-
};
|
|
10
|
+
});
|
|
11
11
|
exports.API = API;
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,8 +3,42 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
version: true,
|
|
8
|
+
MisoClient: true,
|
|
9
|
+
API: true
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "API", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () {
|
|
14
|
+
return _index.constants;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "MisoClient", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () {
|
|
20
|
+
return _client.default;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "version", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () {
|
|
26
|
+
return _version.default;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
var _version = _interopRequireDefault(require("./version.js"));
|
|
30
|
+
var _client = _interopRequireDefault(require("./client.js"));
|
|
31
|
+
var _index = require("./api/index.js");
|
|
32
|
+
var _index2 = require("./plugin/index.js");
|
|
33
|
+
Object.keys(_index2).forEach(function (key) {
|
|
34
|
+
if (key === "default" || key === "__esModule") return;
|
|
35
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
36
|
+
if (key in exports && exports[key] === _index2[key]) return;
|
|
37
|
+
Object.defineProperty(exports, key, {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () {
|
|
40
|
+
return _index2[key];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _commons = require("@miso.ai/commons");
|
|
8
|
+
var _index = require("../api/index.js");
|
|
8
9
|
const PLUGIN_ID = 'std:auto-events';
|
|
9
10
|
class AutoEventsPlugin extends _commons.Component {
|
|
10
11
|
static get id() {
|
|
@@ -32,9 +33,9 @@ class AutoEventsPlugin extends _commons.Component {
|
|
|
32
33
|
payload
|
|
33
34
|
} = _ref;
|
|
34
35
|
switch (apiGroup) {
|
|
35
|
-
case
|
|
36
|
+
case _index.constants.GROUP.SEARCH:
|
|
36
37
|
switch (apiName) {
|
|
37
|
-
case
|
|
38
|
+
case _index.constants.NAME.SEARCH:
|
|
38
39
|
this._captureSearchApiRequest(client, payload);
|
|
39
40
|
break;
|
|
40
41
|
}
|
package/dist/cjs/plugin/index.js
CHANGED
|
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "UserPlugin", {
|
|
|
21
21
|
return _user.default;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
var _user = _interopRequireDefault(require("./user"));
|
|
25
|
-
var _pageInfo = _interopRequireDefault(require("./page-info"));
|
|
26
|
-
var _autoEvents = _interopRequireDefault(require("./auto-events"));
|
|
24
|
+
var _user = _interopRequireDefault(require("./user.js"));
|
|
25
|
+
var _pageInfo = _interopRequireDefault(require("./page-info.js"));
|
|
26
|
+
var _autoEvents = _interopRequireDefault(require("./auto-events.js"));
|
|
27
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _commons = require("@miso.ai/commons");
|
|
8
|
-
var _classes = _interopRequireDefault(require("../classes"));
|
|
9
|
-
var _anonymous = _interopRequireDefault(require("./anonymous"));
|
|
10
|
-
var _urls = require("./urls");
|
|
8
|
+
var _classes = _interopRequireDefault(require("../classes.js"));
|
|
9
|
+
var _anonymous = _interopRequireDefault(require("./anonymous.js"));
|
|
10
|
+
var _urls = require("./urls.js");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
class PluginRoot extends _commons.Registry {
|
|
13
13
|
constructor(root) {
|
package/dist/cjs/root.js
CHANGED
|
@@ -7,8 +7,8 @@ exports.init = init;
|
|
|
7
7
|
exports.register = register;
|
|
8
8
|
exports.root = void 0;
|
|
9
9
|
var _commons = require("@miso.ai/commons");
|
|
10
|
-
var _version = _interopRequireDefault(require("./version"));
|
|
11
|
-
var _pluginRoot = _interopRequireDefault(require("./plugin/plugin-root"));
|
|
10
|
+
var _version = _interopRequireDefault(require("./version.js"));
|
|
11
|
+
var _pluginRoot = _interopRequireDefault(require("./plugin/plugin-root.js"));
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
/**
|
|
14
14
|
* The hidden singleton root component that oversees all client components.
|
package/dist/cjs/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miso.ai/client-sdk-core",
|
|
3
3
|
"description": "A collection of shared utilies across many Miso packages",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"main": "dist/cjs/index.js",
|
|
5
|
-
"module": "
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
6
|
+
"module": "src/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
"import": "./src/index.js",
|
|
9
|
+
"require": "./dist/cjs/index.js"
|
|
10
|
+
},
|
|
9
11
|
"publishConfig": {
|
|
10
12
|
"access": "public"
|
|
11
13
|
},
|
|
12
14
|
"scripts": {
|
|
13
|
-
"start": "npx babel src --root-mode upward --out-dir dist/es --watch",
|
|
14
15
|
"build:clean": "npx rimraf dist",
|
|
15
|
-
"build:esm": "npx babel src --root-mode upward --out-dir dist/es",
|
|
16
16
|
"build:cjs": "BABEL_ENV=cjs npx babel src --root-mode upward --out-dir dist/cjs",
|
|
17
|
-
"build": "npm run build:clean && npm run build:
|
|
17
|
+
"build": "npm run build:clean && npm run build:cjs"
|
|
18
18
|
},
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"url": "https://github.com/MisoAI/miso-client-js-sdk/issues"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@miso.ai/commons": "1.8.0
|
|
32
|
+
"@miso.ai/commons": "1.8.0"
|
|
33
33
|
},
|
|
34
|
-
"version": "1.8.0
|
|
34
|
+
"version": "1.8.0"
|
|
35
35
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Component } from '@miso.ai/commons';
|
|
2
|
-
import ApiHelpers from './helpers';
|
|
3
|
-
import Interactions from './interactions';
|
|
4
|
-
import Ask from './ask';
|
|
5
|
-
import Search from './search';
|
|
6
|
-
import Recommendation from './recommendation';
|
|
2
|
+
import ApiHelpers from './helpers.js';
|
|
3
|
+
import Interactions from './interactions.js';
|
|
4
|
+
import Ask from './ask.js';
|
|
5
|
+
import Search from './search.js';
|
|
6
|
+
import Recommendation from './recommendation.js';
|
|
7
|
+
|
|
7
8
|
export default class Api extends Component {
|
|
9
|
+
|
|
8
10
|
constructor(client, root) {
|
|
9
11
|
super('api', client);
|
|
10
12
|
this._client = client;
|
|
@@ -14,4 +16,5 @@ export default class Api extends Component {
|
|
|
14
16
|
this.search = new Search(this);
|
|
15
17
|
this.recommendation = new Recommendation(this);
|
|
16
18
|
}
|
|
17
|
-
|
|
19
|
+
|
|
20
|
+
}
|
package/src/api/ask.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { polling, signals, StallTimeoutAbortController } from '@miso.ai/commons';
|
|
2
|
+
import { GROUP, NAME } from './constants.js';
|
|
3
|
+
import ApiBase from './base.js';
|
|
4
|
+
|
|
5
|
+
export default class Ask extends ApiBase {
|
|
6
|
+
|
|
7
|
+
constructor(api) {
|
|
8
|
+
super(api, GROUP.ASK);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async questions(payload, options = {}) {
|
|
12
|
+
if (typeof payload === 'string' && payload.charAt(0) !== '{') {
|
|
13
|
+
return new Answer(this, { question_id: payload }, options);
|
|
14
|
+
}
|
|
15
|
+
const response = await this._run(NAME.QUESTIONS, payload, options);
|
|
16
|
+
return new Answer(this, response, options);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async _questions(payload, options) {
|
|
20
|
+
return this._run(NAME.QUESTIONS, payload, options);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async _get(questionId, options) {
|
|
24
|
+
return this._run(`${NAME.QUESTIONS}/${questionId}/answer`, undefined, { ...options, method: 'GET' });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
class Answer {
|
|
30
|
+
|
|
31
|
+
constructor(api, { question_id }, options = {}) {
|
|
32
|
+
this._api = api;
|
|
33
|
+
this._questionId = question_id;
|
|
34
|
+
this._ac = new AbortController();
|
|
35
|
+
this._options = options;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
get questionId() {
|
|
39
|
+
return this._questionId;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async get(options) {
|
|
43
|
+
return this._api._get(this._questionId, { ...this._options, ...options });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
abort(reason) {
|
|
47
|
+
this._ac.abort(reason);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
[Symbol.asyncIterator]() {
|
|
51
|
+
const fetch = async ({ signal } = {}) => {
|
|
52
|
+
// TODO: pass signal
|
|
53
|
+
const response = await this.get();
|
|
54
|
+
return [response, response.finished];
|
|
55
|
+
};
|
|
56
|
+
let { pollingInterval: interval, signal, stallTimeout = 120000, ...options } = this._options;
|
|
57
|
+
const stac = new StallTimeoutAbortController(stallTimeout);
|
|
58
|
+
signal = signals.any(this._ac.signal, stac.signal, signal);
|
|
59
|
+
|
|
60
|
+
let prevResponse;
|
|
61
|
+
const onResponse = (response, finished) => {
|
|
62
|
+
if (finished) {
|
|
63
|
+
stac.clear();
|
|
64
|
+
} else if (isUpdated(prevResponse, response)) {
|
|
65
|
+
stac.touch();
|
|
66
|
+
}
|
|
67
|
+
prevResponse = response;
|
|
68
|
+
};
|
|
69
|
+
return polling(fetch, { interval, signal, onResponse, ...options })[Symbol.asyncIterator]();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function isUpdated(prev, curr) {
|
|
75
|
+
return !prev || prev.answer_stage !== curr.answer_stage || prev.answer.length !== curr.answer.length;
|
|
76
|
+
}
|
package/src/api/base.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component } from '@miso.ai/commons';
|
|
2
|
+
|
|
3
|
+
export default class ApiBase extends Component {
|
|
4
|
+
|
|
5
|
+
// TODO: use private fields (may encounter issues with rollup)
|
|
6
|
+
|
|
7
|
+
constructor(api, apiPath) {
|
|
8
|
+
super(apiPath, api);
|
|
9
|
+
this._apiPath = apiPath;
|
|
10
|
+
this.helpers = api.helpers;
|
|
11
|
+
this.clientOptions = api._client.options;
|
|
12
|
+
this.context = api._client.context;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async _run(apiName, payload, options = {}) {
|
|
16
|
+
const { bulk } = options;
|
|
17
|
+
const bulkInfo = bulk ? { bulk: this.helpers.bulkInfo } : undefined;
|
|
18
|
+
const apiGroup = this._apiPath;
|
|
19
|
+
const url = this._url({ apiGroup, apiName, payload, options });
|
|
20
|
+
payload = this._preprocess({ apiGroup, apiName, payload, options });
|
|
21
|
+
const requestData = { apiGroup, apiName, payload, url, options };
|
|
22
|
+
this._events.emit('request', { ...requestData, ...bulkInfo });
|
|
23
|
+
const response = await this._send(requestData);
|
|
24
|
+
const responseData = { ...requestData, response };
|
|
25
|
+
this._events.emit('response', { ...responseData, ...bulkInfo });
|
|
26
|
+
return this._postprocess(responseData);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
_preprocess({ apiGroup, apiName, payload }) {
|
|
30
|
+
return this.helpers.applyPayloadPasses(this, { apiGroup, apiName, payload });
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
_url({ apiGroup, apiName, options }) {
|
|
34
|
+
const url = this.helpers.url([apiGroup, apiName], options);
|
|
35
|
+
return this.helpers.applyUrlPasses(this, { apiGroup, apiName, url, options });
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async _send({ apiGroup, apiName, url, payload, options: { bulk, ...options } = {} }) {
|
|
39
|
+
return bulk ? this.helpers.fetchForBulk(apiGroup, apiName, payload) : this.helpers.fetch(url, payload, options);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
_postprocess({ response }) {
|
|
43
|
+
// TODO: we can introduce response passes
|
|
44
|
+
return response.data;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|