@telia-ace/knowledge-widget-bot-provider 0.0.1-alpha.2 → 0.0.1-alpha.22
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/LICENSE.txt +5 -5
- package/README.md +12 -12
- package/lib/client/chat.client.d.ts +15 -0
- package/lib/client/chat.client.js +79 -0
- package/lib/client/contact-method.client.d.ts +22 -0
- package/lib/client/contact-method.client.js +273 -0
- package/lib/client/http.client.d.ts +22 -0
- package/lib/client/http.client.js +113 -0
- package/lib/client/middleware.client.d.ts +13 -0
- package/lib/client/middleware.client.js +46 -0
- package/lib/contract/custom-component/contact-method-item.d.ts +8 -0
- package/lib/contract/custom-component/contact-method-item.js +51 -0
- package/lib/contract/custom-component/contact-method-list.d.ts +7 -0
- package/lib/contract/custom-component/contact-method-list.js +13 -0
- package/lib/contract/custom-component/contact-method.d.ts +3 -0
- package/lib/contract/custom-component/contact-method.js +33 -0
- package/lib/contract/enum/server-entry-type.enum.d.ts +6 -0
- package/lib/contract/enum/server-entry-type.enum.js +7 -0
- package/lib/contract/model/conversation-api-model/list.model.d.ts +5 -0
- package/lib/contract/model/conversation-api-model/list.model.js +0 -0
- package/lib/contract/model/conversation-api-model/message.model.d.ts +7 -0
- package/lib/contract/model/conversation-api-model/message.model.js +0 -0
- package/lib/contract/model/http/action.model.d.ts +3 -0
- package/lib/contract/model/http/action.model.js +0 -0
- package/lib/contract/model/http/client-action.model.d.ts +4 -0
- package/lib/contract/model/http/client-action.model.js +1 -0
- package/lib/contract/model/http/client-envelope.model.d.ts +9 -0
- package/lib/contract/model/http/client-envelope.model.js +0 -0
- package/lib/contract/model/http/connect-options.model.d.ts +5 -0
- package/lib/contract/model/http/connect-options.model.js +0 -0
- package/lib/contract/model/http/global-state.model.d.ts +8 -0
- package/lib/contract/model/http/global-state.model.js +0 -0
- package/lib/contract/model/http/http-client-options.model.d.ts +5 -0
- package/lib/contract/model/http/http-client-options.model.js +0 -0
- package/lib/contract/model/http/server-entry.model.d.ts +11 -0
- package/lib/contract/model/http/server-entry.model.js +0 -0
- package/lib/contract/model/http/server-envelope.model.d.ts +10 -0
- package/lib/contract/model/http/server-envelope.model.js +0 -0
- package/lib/contract/model/middleware/aggregator-state.model.d.ts +4 -0
- package/lib/contract/model/middleware/aggregator-state.model.js +1 -0
- package/lib/contract/model/shared/loose-object.model.d.ts +3 -0
- package/lib/contract/model/shared/loose-object.model.js +0 -0
- package/lib/helper/chat.helper.d.ts +8 -0
- package/lib/helper/chat.helper.js +18 -0
- package/lib/helper/http.helper.d.ts +13 -0
- package/lib/helper/http.helper.js +28 -0
- package/lib/helper/middleware.helper.d.ts +12 -0
- package/lib/helper/middleware.helper.js +67 -0
- package/lib/helper/store.helper.d.ts +22 -0
- package/lib/helper/store.helper.js +77 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/interface/entry.interface.d.ts +17 -0
- package/lib/interface/entry.interface.js +133 -0
- package/lib/interface/middleware/paging.interface.d.ts +4 -0
- package/lib/interface/middleware/paging.interface.js +53 -0
- package/lib/interface/middleware/processor.interface.d.ts +10 -0
- package/lib/interface/middleware/processor.interface.js +118 -0
- package/lib/plugin.d.ts +3 -0
- package/lib/plugin.js +198 -0
- package/lib-esm/client/chat.client.d.ts +15 -0
- package/lib-esm/client/chat.client.js +79 -0
- package/lib-esm/client/contact-method.client.d.ts +22 -0
- package/lib-esm/client/contact-method.client.js +273 -0
- package/lib-esm/client/http.client.d.ts +22 -0
- package/lib-esm/client/http.client.js +113 -0
- package/lib-esm/client/middleware.client.d.ts +13 -0
- package/lib-esm/client/middleware.client.js +46 -0
- package/lib-esm/contract/custom-component/contact-method-item.d.ts +8 -0
- package/lib-esm/contract/custom-component/contact-method-item.js +51 -0
- package/lib-esm/contract/custom-component/contact-method-list.d.ts +7 -0
- package/lib-esm/contract/custom-component/contact-method-list.js +13 -0
- package/lib-esm/contract/custom-component/contact-method.d.ts +3 -0
- package/lib-esm/contract/custom-component/contact-method.js +33 -0
- package/lib-esm/contract/enum/server-entry-type.enum.d.ts +6 -0
- package/lib-esm/contract/enum/server-entry-type.enum.js +7 -0
- package/lib-esm/contract/model/conversation-api-model/list.model.d.ts +5 -0
- package/lib-esm/contract/model/conversation-api-model/list.model.js +0 -0
- package/lib-esm/contract/model/conversation-api-model/message.model.d.ts +7 -0
- package/lib-esm/contract/model/conversation-api-model/message.model.js +0 -0
- package/lib-esm/contract/model/http/action.model.d.ts +3 -0
- package/lib-esm/contract/model/http/action.model.js +0 -0
- package/lib-esm/contract/model/http/client-action.model.d.ts +4 -0
- package/lib-esm/contract/model/http/client-action.model.js +1 -0
- package/lib-esm/contract/model/http/client-envelope.model.d.ts +9 -0
- package/lib-esm/contract/model/http/client-envelope.model.js +0 -0
- package/lib-esm/contract/model/http/connect-options.model.d.ts +5 -0
- package/lib-esm/contract/model/http/connect-options.model.js +0 -0
- package/lib-esm/contract/model/http/global-state.model.d.ts +8 -0
- package/lib-esm/contract/model/http/global-state.model.js +0 -0
- package/lib-esm/contract/model/http/http-client-options.model.d.ts +5 -0
- package/lib-esm/contract/model/http/http-client-options.model.js +0 -0
- package/lib-esm/contract/model/http/server-entry.model.d.ts +11 -0
- package/lib-esm/contract/model/http/server-entry.model.js +0 -0
- package/lib-esm/contract/model/http/server-envelope.model.d.ts +10 -0
- package/lib-esm/contract/model/http/server-envelope.model.js +0 -0
- package/lib-esm/contract/model/middleware/aggregator-state.model.d.ts +4 -0
- package/lib-esm/contract/model/middleware/aggregator-state.model.js +1 -0
- package/lib-esm/contract/model/shared/loose-object.model.d.ts +3 -0
- package/lib-esm/contract/model/shared/loose-object.model.js +0 -0
- package/lib-esm/helper/chat.helper.d.ts +8 -0
- package/lib-esm/helper/chat.helper.js +18 -0
- package/lib-esm/helper/http.helper.d.ts +13 -0
- package/lib-esm/helper/http.helper.js +28 -0
- package/lib-esm/helper/middleware.helper.d.ts +12 -0
- package/lib-esm/helper/middleware.helper.js +67 -0
- package/lib-esm/helper/store.helper.d.ts +22 -0
- package/lib-esm/helper/store.helper.js +77 -0
- package/lib-esm/index.d.ts +2 -0
- package/lib-esm/index.js +2 -0
- package/lib-esm/interface/entry.interface.d.ts +17 -0
- package/lib-esm/interface/entry.interface.js +133 -0
- package/lib-esm/interface/middleware/paging.interface.d.ts +4 -0
- package/lib-esm/interface/middleware/paging.interface.js +53 -0
- package/lib-esm/interface/middleware/processor.interface.d.ts +10 -0
- package/lib-esm/interface/middleware/processor.interface.js +118 -0
- package/lib-esm/plugin.d.ts +3 -0
- package/lib-esm/plugin.js +198 -0
- package/package.json +52 -45
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
13
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
14
|
+
if (!m) return o;
|
|
15
|
+
var i = m.call(o), r, ar = [], e;
|
|
16
|
+
try {
|
|
17
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
18
|
+
}
|
|
19
|
+
catch (error) { e = { error: error }; }
|
|
20
|
+
finally {
|
|
21
|
+
try {
|
|
22
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
23
|
+
}
|
|
24
|
+
finally { if (e) throw e.error; }
|
|
25
|
+
}
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
import { ContactMethod as GenericContactMethod } from '@humany/widget-adapters';
|
|
29
|
+
import { useContainer, useDispatch } from '@humany/widget-ui';
|
|
30
|
+
import React, { useEffect, useState } from 'react';
|
|
31
|
+
var ContactMethodItem = function (props) {
|
|
32
|
+
var dispatch = useDispatch();
|
|
33
|
+
var container = useContainer();
|
|
34
|
+
var _a = __read(useState(props.contactMethod.body), 2), body = _a[0], setBody = _a[1];
|
|
35
|
+
useEffect(function () {
|
|
36
|
+
var events = container.get('$widget').events;
|
|
37
|
+
events.subscribe('form:validated', function (_event, _data) {
|
|
38
|
+
// TODO: this is a due to props not being updated when props.contactMethod.body changes
|
|
39
|
+
// perhaps there is a cleaner way of doing this
|
|
40
|
+
setBody(props.contactMethod.body);
|
|
41
|
+
});
|
|
42
|
+
}, [container]);
|
|
43
|
+
return (React.createElement(GenericContactMethod, __assign({ className: props.className, onClick: function () {
|
|
44
|
+
dispatch('action', props.contactMethod.id + "/" + props.type.toString() + "/" + props.contactMethod.title);
|
|
45
|
+
// dispatch(
|
|
46
|
+
// "expand",
|
|
47
|
+
// `${props.contactMethod.id}/${props.type.toString()}`
|
|
48
|
+
// );
|
|
49
|
+
}, dispatch: dispatch }, props.contactMethod, { body: body, expanded: props.contactMethod.expanded })));
|
|
50
|
+
};
|
|
51
|
+
export default ContactMethodItem;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import React, { Fragment } from 'react';
|
|
6
|
+
import styled from 'styled-components';
|
|
7
|
+
import ContactMethodItem from './contact-method-item';
|
|
8
|
+
var ContactMethodList = function (props) {
|
|
9
|
+
return (React.createElement(Fragment, null, props.contactMethodList.map(function (contactMethod) { return (React.createElement(StyledContactMethod, { key: contactMethod.id, type: props.type, contactMethod: contactMethod })); })));
|
|
10
|
+
};
|
|
11
|
+
var StyledContactMethod = styled(ContactMethodItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-bottom: 1px solid rgb(239, 239, 239);\n padding: ", ";\n"], ["\n border-bottom: 1px solid rgb(239, 239, 239);\n padding: ", ";\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.medium; });
|
|
12
|
+
export default ContactMethodList;
|
|
13
|
+
var templateObject_1;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import { DataType } from '@humany/widget-types-grid';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import ContactMethodItem from './contact-method-item';
|
|
9
|
+
import ContactMethodList from './contact-method-list';
|
|
10
|
+
var ContactMethod = function (props) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
var type;
|
|
13
|
+
var methodList;
|
|
14
|
+
if (props.contactMethods && ((_a = props.contactMethods.contactMethods) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
15
|
+
type = DataType.ContactMethods;
|
|
16
|
+
methodList = props.contactMethods.contactMethods;
|
|
17
|
+
}
|
|
18
|
+
else if (props.contactMethods.categories && ((_b = props.contactMethods.categories) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
19
|
+
type = DataType.ContactMethodCategories;
|
|
20
|
+
methodList = props.contactMethods.categories.filter(function (o) { return o.matches > 0; });
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
type = DataType.ContactMethod;
|
|
24
|
+
methodList = props.contactMethods;
|
|
25
|
+
}
|
|
26
|
+
if (!methodList.length) {
|
|
27
|
+
return React.createElement(StyledContactMethodItem, { type: type, contactMethod: methodList });
|
|
28
|
+
}
|
|
29
|
+
return React.createElement(ContactMethodList, { type: type, contactMethodList: methodList });
|
|
30
|
+
};
|
|
31
|
+
var StyledContactMethodItem = styled(ContactMethodItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: ", ";\n"], ["\n padding: ", ";\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.medium; });
|
|
32
|
+
export default ContactMethod;
|
|
33
|
+
var templateObject_1;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var ServerEntryTypeEnum;
|
|
2
|
+
(function (ServerEntryTypeEnum) {
|
|
3
|
+
ServerEntryTypeEnum[ServerEntryTypeEnum["Widget"] = 0] = "Widget";
|
|
4
|
+
ServerEntryTypeEnum[ServerEntryTypeEnum["Text"] = 1] = "Text";
|
|
5
|
+
ServerEntryTypeEnum[ServerEntryTypeEnum["List"] = 2] = "List";
|
|
6
|
+
ServerEntryTypeEnum[ServerEntryTypeEnum["Error"] = 3] = "Error";
|
|
7
|
+
})(ServerEntryTypeEnum || (ServerEntryTypeEnum = {}));
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LooseObject } from "../shared/loose-object.model";
|
|
2
|
+
import { ClientAction } from "./client-action.model";
|
|
3
|
+
export interface ClientEnvelope {
|
|
4
|
+
command?: LooseObject;
|
|
5
|
+
action?: ClientAction;
|
|
6
|
+
globalState?: LooseObject;
|
|
7
|
+
localState?: LooseObject;
|
|
8
|
+
clientId?: string;
|
|
9
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ClientEnvelope } from "./client-envelope.model";
|
|
2
|
+
import { GlobalState } from "./global-state.model";
|
|
3
|
+
import { ServerEntry } from "./server-entry.model";
|
|
4
|
+
export interface ServerEnvelope {
|
|
5
|
+
clientId: string | undefined;
|
|
6
|
+
entries: ServerEntry[];
|
|
7
|
+
globalState: GlobalState;
|
|
8
|
+
resolveCommand?: string;
|
|
9
|
+
clientEnvelope: ClientEnvelope;
|
|
10
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
;
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var ChatHelper = /** @class */ (function () {
|
|
2
|
+
function ChatHelper() {
|
|
3
|
+
}
|
|
4
|
+
ChatHelper.setUser = function (user) {
|
|
5
|
+
this.user = user;
|
|
6
|
+
};
|
|
7
|
+
ChatHelper.setAgent = function (agent) {
|
|
8
|
+
this.agent = agent;
|
|
9
|
+
};
|
|
10
|
+
ChatHelper.getUser = function () {
|
|
11
|
+
return this.user;
|
|
12
|
+
};
|
|
13
|
+
ChatHelper.getAgent = function () {
|
|
14
|
+
return this.agent;
|
|
15
|
+
};
|
|
16
|
+
return ChatHelper;
|
|
17
|
+
}());
|
|
18
|
+
export { ChatHelper };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class HttpHelper {
|
|
2
|
+
static fetchOptions: {
|
|
3
|
+
method: string;
|
|
4
|
+
headers: {
|
|
5
|
+
Accept: string;
|
|
6
|
+
'Content-Type': string;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
static combineUrl(basePath: string, path: string): string;
|
|
10
|
+
static managedSubdomainSuffixes: string[];
|
|
11
|
+
static parseSubdomain: (input: string) => string;
|
|
12
|
+
static getCredentials(): string | undefined;
|
|
13
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var HttpHelper = /** @class */ (function () {
|
|
2
|
+
function HttpHelper() {
|
|
3
|
+
}
|
|
4
|
+
HttpHelper.combineUrl = function (basePath, path) {
|
|
5
|
+
return basePath + path;
|
|
6
|
+
};
|
|
7
|
+
HttpHelper.getCredentials = function () {
|
|
8
|
+
return 'same-origin';
|
|
9
|
+
};
|
|
10
|
+
HttpHelper.fetchOptions = {
|
|
11
|
+
method: 'POST',
|
|
12
|
+
headers: {
|
|
13
|
+
Accept: 'application/json',
|
|
14
|
+
'Content-Type': 'application/json',
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
HttpHelper.managedSubdomainSuffixes = ['stage', 'alpha', 'beta', 'gamma'];
|
|
18
|
+
HttpHelper.parseSubdomain = function (input) {
|
|
19
|
+
var index = input.lastIndexOf('-');
|
|
20
|
+
var lastPart = input.substr(index + 1);
|
|
21
|
+
if (HttpHelper.managedSubdomainSuffixes.indexOf(lastPart) > -1) {
|
|
22
|
+
return input.substr(0, index);
|
|
23
|
+
}
|
|
24
|
+
return input;
|
|
25
|
+
};
|
|
26
|
+
return HttpHelper;
|
|
27
|
+
}());
|
|
28
|
+
export { HttpHelper };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Message } from '../contract/model/conversation-api-model/message.model';
|
|
2
|
+
export declare class MiddlewareHelper {
|
|
3
|
+
private static sessionMessageStorageVariable;
|
|
4
|
+
private static container;
|
|
5
|
+
private static widget;
|
|
6
|
+
static setContainer(container: any): void;
|
|
7
|
+
static setWidget(widget: any): void;
|
|
8
|
+
static getContainer(): any;
|
|
9
|
+
static getWidget(): any;
|
|
10
|
+
static setEntrySessionStorage: (messages: Message[]) => Promise<void>;
|
|
11
|
+
static getEntrySessionStorage(): Promise<any>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (_) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { createStorageWriter, readStorage, StorageCategory } from '@humany/widget-services';
|
|
38
|
+
var MiddlewareHelper = /** @class */ (function () {
|
|
39
|
+
function MiddlewareHelper() {
|
|
40
|
+
}
|
|
41
|
+
MiddlewareHelper.setContainer = function (container) {
|
|
42
|
+
MiddlewareHelper.container = container;
|
|
43
|
+
};
|
|
44
|
+
MiddlewareHelper.setWidget = function (widget) {
|
|
45
|
+
this.widget = widget;
|
|
46
|
+
};
|
|
47
|
+
MiddlewareHelper.getContainer = function () {
|
|
48
|
+
return this.container;
|
|
49
|
+
};
|
|
50
|
+
MiddlewareHelper.getWidget = function () {
|
|
51
|
+
return this.widget;
|
|
52
|
+
};
|
|
53
|
+
MiddlewareHelper.getEntrySessionStorage = function () {
|
|
54
|
+
return readStorage(this.container, this.sessionMessageStorageVariable);
|
|
55
|
+
};
|
|
56
|
+
MiddlewareHelper.sessionMessageStorageVariable = 'conversation-plugin-messages';
|
|
57
|
+
MiddlewareHelper.setEntrySessionStorage = function (messages) { return __awaiter(void 0, void 0, void 0, function () {
|
|
58
|
+
return __generator(this, function (_a) {
|
|
59
|
+
createStorageWriter(MiddlewareHelper.container, MiddlewareHelper.sessionMessageStorageVariable, StorageCategory.Necessary).then(function (write) {
|
|
60
|
+
return write(messages);
|
|
61
|
+
});
|
|
62
|
+
return [2 /*return*/];
|
|
63
|
+
});
|
|
64
|
+
}); };
|
|
65
|
+
return MiddlewareHelper;
|
|
66
|
+
}());
|
|
67
|
+
export { MiddlewareHelper };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Message } from '../contract/model/conversation-api-model/message.model';
|
|
2
|
+
import { ClientAction } from '../contract/model/http/client-action.model';
|
|
3
|
+
import { GlobalState } from '../contract/model/http/global-state.model';
|
|
4
|
+
import { ServerEntry } from '../contract/model/http/server-entry.model';
|
|
5
|
+
import { LooseObject } from '../contract/model/shared/loose-object.model';
|
|
6
|
+
export declare class StoreHelper {
|
|
7
|
+
private static messageStore;
|
|
8
|
+
private static globalState;
|
|
9
|
+
constructor();
|
|
10
|
+
static insertOrUpdateMessageArrayStore(messageArray: Message[], entry?: any): void;
|
|
11
|
+
private static insertMessageToStore;
|
|
12
|
+
private static updateMessageInStore;
|
|
13
|
+
static checkIdInMessageStore(id: string): boolean;
|
|
14
|
+
static getLocalState(action: string): LooseObject | undefined;
|
|
15
|
+
static getGlobalState(): GlobalState;
|
|
16
|
+
static setGlobalState(state: GlobalState): void;
|
|
17
|
+
static getAction(action: string): ClientAction;
|
|
18
|
+
static getCommand(text: string): LooseObject;
|
|
19
|
+
static getEntry(action: string): ServerEntry | undefined;
|
|
20
|
+
static getMessage(id: string): Message | undefined;
|
|
21
|
+
static getEntryStore(): ServerEntry[];
|
|
22
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { MiddlewareHelper } from './middleware.helper';
|
|
2
|
+
var StoreHelper = /** @class */ (function () {
|
|
3
|
+
function StoreHelper() {
|
|
4
|
+
StoreHelper.globalState = {
|
|
5
|
+
completedInteractionsCount: 0,
|
|
6
|
+
lastBotGuide: 0,
|
|
7
|
+
site: 'https://localhost:8080/',
|
|
8
|
+
invincibleParameters: {},
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
StoreHelper.insertOrUpdateMessageArrayStore = function (messageArray, entry) {
|
|
12
|
+
var _this = this;
|
|
13
|
+
messageArray
|
|
14
|
+
.filter(function (o) { return !!o; })
|
|
15
|
+
.forEach(function (t) {
|
|
16
|
+
if (!_this.messageStore.find(function (o) { return o.id == t.id; }))
|
|
17
|
+
_this.insertMessageToStore(t);
|
|
18
|
+
else {
|
|
19
|
+
_this.updateMessageInStore(t, entry);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
MiddlewareHelper.setEntrySessionStorage(this.messageStore);
|
|
23
|
+
};
|
|
24
|
+
StoreHelper.insertMessageToStore = function (message) {
|
|
25
|
+
this.messageStore.push(message);
|
|
26
|
+
};
|
|
27
|
+
StoreHelper.updateMessageInStore = function (message, entry) {
|
|
28
|
+
message.conversationEntry = entry;
|
|
29
|
+
var index = this.messageStore.findIndex(function (o) { return o.id == message.id; });
|
|
30
|
+
this.messageStore[index] = message;
|
|
31
|
+
};
|
|
32
|
+
StoreHelper.checkIdInMessageStore = function (id) {
|
|
33
|
+
return this.messageStore.find(function (o) { return o.id == id; }) === undefined;
|
|
34
|
+
};
|
|
35
|
+
StoreHelper.getLocalState = function (action) {
|
|
36
|
+
var entry = this.getEntry(action);
|
|
37
|
+
return entry === null || entry === void 0 ? void 0 : entry.localState;
|
|
38
|
+
};
|
|
39
|
+
StoreHelper.getGlobalState = function () {
|
|
40
|
+
return StoreHelper.globalState;
|
|
41
|
+
};
|
|
42
|
+
StoreHelper.setGlobalState = function (state) {
|
|
43
|
+
StoreHelper.globalState = state;
|
|
44
|
+
};
|
|
45
|
+
StoreHelper.getAction = function (action) {
|
|
46
|
+
var entry = this.getEntry(action);
|
|
47
|
+
return {
|
|
48
|
+
key: action,
|
|
49
|
+
content: entry === null || entry === void 0 ? void 0 : entry.actions[action],
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
StoreHelper.getCommand = function (text) {
|
|
53
|
+
return { phrase: text };
|
|
54
|
+
};
|
|
55
|
+
StoreHelper.getEntry = function (action) {
|
|
56
|
+
var entry = undefined;
|
|
57
|
+
this.getEntryStore().forEach(function (o) {
|
|
58
|
+
if (o.actions[action]) {
|
|
59
|
+
entry = o;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return entry;
|
|
63
|
+
};
|
|
64
|
+
StoreHelper.getMessage = function (id) {
|
|
65
|
+
return this.messageStore.find(function (o) { return o.id == id; });
|
|
66
|
+
};
|
|
67
|
+
StoreHelper.getEntryStore = function () {
|
|
68
|
+
return this.messageStore
|
|
69
|
+
.filter(function (o) { return !!o.entry; })
|
|
70
|
+
.map(function (o) {
|
|
71
|
+
return o.entry;
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
StoreHelper.messageStore = [];
|
|
75
|
+
return StoreHelper;
|
|
76
|
+
}());
|
|
77
|
+
export { StoreHelper };
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Message } from '../contract/model/conversation-api-model/message.model';
|
|
2
|
+
import { ServerEntry } from '../contract/model/http/server-entry.model';
|
|
3
|
+
export default class EntryInterface {
|
|
4
|
+
private helpActionKey;
|
|
5
|
+
private nextActionKey;
|
|
6
|
+
constructor();
|
|
7
|
+
transform(entry: ServerEntry): Message | undefined;
|
|
8
|
+
transformArray(entryArray: ServerEntry[]): Message[];
|
|
9
|
+
getUserMessage(action: string): string | undefined;
|
|
10
|
+
private listTransform;
|
|
11
|
+
private getContentText;
|
|
12
|
+
private textTransform;
|
|
13
|
+
private getListActions;
|
|
14
|
+
private getListType;
|
|
15
|
+
private getTitleFromEntry;
|
|
16
|
+
private getTitleFromList;
|
|
17
|
+
}
|