@telia-ace/knowledge-widget-bot-provider 0.0.1-alpha.1 → 0.0.1-alpha.4

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.
Files changed (121) hide show
  1. package/lib/client/chat.client.d.ts +15 -0
  2. package/lib/client/chat.client.js +80 -0
  3. package/lib/client/contact-method.client.d.ts +22 -0
  4. package/lib/client/contact-method.client.js +276 -0
  5. package/lib/client/http.client.d.ts +22 -0
  6. package/lib/client/http.client.js +114 -0
  7. package/lib/client/middleware.client.d.ts +13 -0
  8. package/lib/client/middleware.client.js +60 -0
  9. package/lib/contract/custom-component/contact-method-item.d.ts +8 -0
  10. package/lib/contract/custom-component/contact-method-item.js +76 -0
  11. package/lib/contract/custom-component/contact-method-list.d.ts +7 -0
  12. package/lib/contract/custom-component/contact-method-list.js +41 -0
  13. package/lib/contract/custom-component/contact-method.d.ts +3 -0
  14. package/lib/contract/custom-component/contact-method.js +38 -0
  15. package/lib/contract/enum/server-entry-type.enum.d.ts +6 -0
  16. package/lib/contract/enum/server-entry-type.enum.js +10 -0
  17. package/lib/contract/model/conversation-api-model/list.model.d.ts +5 -0
  18. package/lib/contract/model/conversation-api-model/list.model.js +2 -0
  19. package/lib/contract/model/conversation-api-model/message.model.d.ts +7 -0
  20. package/lib/contract/model/conversation-api-model/message.model.js +2 -0
  21. package/lib/contract/model/http/action.model.d.ts +3 -0
  22. package/lib/contract/model/http/action.model.js +2 -0
  23. package/lib/contract/model/http/client-action.model.d.ts +4 -0
  24. package/lib/contract/model/http/client-action.model.js +3 -0
  25. package/lib/contract/model/http/client-envelope.model.d.ts +9 -0
  26. package/lib/contract/model/http/client-envelope.model.js +2 -0
  27. package/lib/contract/model/http/connect-options.model.d.ts +5 -0
  28. package/lib/contract/model/http/connect-options.model.js +2 -0
  29. package/lib/contract/model/http/global-state.model.d.ts +8 -0
  30. package/lib/contract/model/http/global-state.model.js +2 -0
  31. package/lib/contract/model/http/http-client-options.model.d.ts +5 -0
  32. package/lib/contract/model/http/http-client-options.model.js +2 -0
  33. package/lib/contract/model/http/server-entry.model.d.ts +11 -0
  34. package/lib/contract/model/http/server-entry.model.js +2 -0
  35. package/lib/contract/model/http/server-envelope.model.d.ts +10 -0
  36. package/lib/contract/model/http/server-envelope.model.js +2 -0
  37. package/lib/contract/model/middleware/aggregator-state.model.d.ts +4 -0
  38. package/lib/contract/model/middleware/aggregator-state.model.js +3 -0
  39. package/lib/contract/model/shared/loose-object.model.d.ts +3 -0
  40. package/lib/contract/model/shared/loose-object.model.js +2 -0
  41. package/lib/helper/chat.helper.d.ts +8 -0
  42. package/lib/helper/chat.helper.js +21 -0
  43. package/lib/helper/http.helper.d.ts +13 -0
  44. package/lib/helper/http.helper.js +33 -0
  45. package/lib/helper/middleware.helper.d.ts +12 -0
  46. package/lib/helper/middleware.helper.js +72 -0
  47. package/lib/helper/store.helper.d.ts +22 -0
  48. package/lib/helper/store.helper.js +80 -0
  49. package/lib/index.d.ts +2 -0
  50. package/lib/index.js +8 -0
  51. package/lib/interface/entry.interface.d.ts +17 -0
  52. package/lib/interface/entry.interface.js +138 -0
  53. package/lib/interface/middleware/contact-expanded.interface.d.ts +0 -0
  54. package/lib/interface/middleware/contact-expanded.interface.js +50 -0
  55. package/lib/interface/middleware/legacy-contact-methods.interface.d.ts +0 -0
  56. package/lib/interface/middleware/legacy-contact-methods.interface.js +394 -0
  57. package/lib/interface/middleware/paging.interface.d.ts +4 -0
  58. package/lib/interface/middleware/paging.interface.js +55 -0
  59. package/lib/interface/middleware/processor.interface.d.ts +10 -0
  60. package/lib/interface/middleware/processor.interface.js +120 -0
  61. package/lib/plugin.d.ts +3 -0
  62. package/lib/plugin.js +169 -0
  63. package/lib-esm/client/chat.client.d.ts +15 -0
  64. package/lib-esm/client/chat.client.js +75 -0
  65. package/lib-esm/client/contact-method.client.d.ts +22 -0
  66. package/lib-esm/client/contact-method.client.js +270 -0
  67. package/lib-esm/client/http.client.d.ts +22 -0
  68. package/lib-esm/client/http.client.js +108 -0
  69. package/lib-esm/client/middleware.client.d.ts +13 -0
  70. package/lib-esm/client/middleware.client.js +55 -0
  71. package/lib-esm/contract/custom-component/contact-method-item.d.ts +8 -0
  72. package/lib-esm/contract/custom-component/contact-method-item.js +51 -0
  73. package/lib-esm/contract/custom-component/contact-method-list.d.ts +7 -0
  74. package/lib-esm/contract/custom-component/contact-method-list.js +13 -0
  75. package/lib-esm/contract/custom-component/contact-method.d.ts +3 -0
  76. package/lib-esm/contract/custom-component/contact-method.js +33 -0
  77. package/lib-esm/contract/enum/server-entry-type.enum.d.ts +6 -0
  78. package/lib-esm/contract/enum/server-entry-type.enum.js +7 -0
  79. package/lib-esm/contract/model/conversation-api-model/list.model.d.ts +5 -0
  80. package/lib-esm/contract/model/conversation-api-model/list.model.js +1 -0
  81. package/lib-esm/contract/model/conversation-api-model/message.model.d.ts +7 -0
  82. package/lib-esm/contract/model/conversation-api-model/message.model.js +1 -0
  83. package/lib-esm/contract/model/http/action.model.d.ts +3 -0
  84. package/lib-esm/contract/model/http/action.model.js +1 -0
  85. package/lib-esm/contract/model/http/client-action.model.d.ts +4 -0
  86. package/lib-esm/contract/model/http/client-action.model.js +2 -0
  87. package/lib-esm/contract/model/http/client-envelope.model.d.ts +9 -0
  88. package/lib-esm/contract/model/http/client-envelope.model.js +1 -0
  89. package/lib-esm/contract/model/http/connect-options.model.d.ts +5 -0
  90. package/lib-esm/contract/model/http/connect-options.model.js +1 -0
  91. package/lib-esm/contract/model/http/global-state.model.d.ts +8 -0
  92. package/lib-esm/contract/model/http/global-state.model.js +1 -0
  93. package/lib-esm/contract/model/http/http-client-options.model.d.ts +5 -0
  94. package/lib-esm/contract/model/http/http-client-options.model.js +1 -0
  95. package/lib-esm/contract/model/http/server-entry.model.d.ts +11 -0
  96. package/lib-esm/contract/model/http/server-entry.model.js +1 -0
  97. package/lib-esm/contract/model/http/server-envelope.model.d.ts +10 -0
  98. package/lib-esm/contract/model/http/server-envelope.model.js +1 -0
  99. package/lib-esm/contract/model/middleware/aggregator-state.model.d.ts +4 -0
  100. package/lib-esm/contract/model/middleware/aggregator-state.model.js +2 -0
  101. package/lib-esm/contract/model/shared/loose-object.model.d.ts +3 -0
  102. package/lib-esm/contract/model/shared/loose-object.model.js +1 -0
  103. package/lib-esm/helper/chat.helper.d.ts +8 -0
  104. package/lib-esm/helper/chat.helper.js +18 -0
  105. package/lib-esm/helper/http.helper.d.ts +13 -0
  106. package/lib-esm/helper/http.helper.js +30 -0
  107. package/lib-esm/helper/middleware.helper.d.ts +12 -0
  108. package/lib-esm/helper/middleware.helper.js +69 -0
  109. package/lib-esm/helper/store.helper.d.ts +22 -0
  110. package/lib-esm/helper/store.helper.js +77 -0
  111. package/lib-esm/index.d.ts +2 -0
  112. package/lib-esm/index.js +2 -0
  113. package/lib-esm/interface/entry.interface.d.ts +17 -0
  114. package/lib-esm/interface/entry.interface.js +136 -0
  115. package/lib-esm/interface/middleware/paging.interface.d.ts +4 -0
  116. package/lib-esm/interface/middleware/paging.interface.js +53 -0
  117. package/lib-esm/interface/middleware/processor.interface.d.ts +10 -0
  118. package/lib-esm/interface/middleware/processor.interface.js +118 -0
  119. package/lib-esm/plugin.d.ts +3 -0
  120. package/lib-esm/plugin.js +141 -0
  121. package/package.json +1 -1
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __read = (this && this.__read) || function (o, n) {
37
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
38
+ if (!m) return o;
39
+ var i = m.call(o), r, ar = [], e;
40
+ try {
41
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
42
+ }
43
+ catch (error) { e = { error: error }; }
44
+ finally {
45
+ try {
46
+ if (r && !r.done && (m = i["return"])) m.call(i);
47
+ }
48
+ finally { if (e) throw e.error; }
49
+ }
50
+ return ar;
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var knowledge_widget_adapters_1 = require("@telia-ace/knowledge-widget-adapters");
54
+ var widget_ui_1 = require("@telia-ace/widget-ui");
55
+ var react_1 = __importStar(require("react"));
56
+ var ContactMethodItem = function (props) {
57
+ var dispatch = (0, widget_ui_1.useDispatch)();
58
+ var container = (0, widget_ui_1.useContainer)();
59
+ var _a = __read((0, react_1.useState)(props.contactMethod.body), 2), body = _a[0], setBody = _a[1];
60
+ (0, react_1.useEffect)(function () {
61
+ var events = container.get('$widget').events;
62
+ events.subscribe('form:validated', function (_event, _data) {
63
+ // TODO: this is a due to props not being updated when props.contactMethod.body changes
64
+ // perhaps there is a cleaner way of doing this
65
+ setBody(props.contactMethod.body);
66
+ });
67
+ }, [container]);
68
+ return (react_1.default.createElement(knowledge_widget_adapters_1.ContactMethod, __assign({ className: props.className, onClick: function () {
69
+ dispatch('action', "".concat(props.contactMethod.id, "/").concat(props.type.toString(), "/").concat(props.contactMethod.title));
70
+ // dispatch(
71
+ // "expand",
72
+ // `${props.contactMethod.id}/${props.type.toString()}`
73
+ // );
74
+ }, dispatch: dispatch }, props.contactMethod, { body: body, expanded: props.contactMethod.expanded })));
75
+ };
76
+ exports.default = ContactMethodItem;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface PropsType {
3
+ contactMethodList: any;
4
+ type: any;
5
+ }
6
+ declare const ContactMethodList: React.FC<PropsType>;
7
+ export default ContactMethodList;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ var __importDefault = (this && this.__importDefault) || function (mod) {
30
+ return (mod && mod.__esModule) ? mod : { "default": mod };
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ var react_1 = __importStar(require("react"));
34
+ var styled_components_1 = __importDefault(require("styled-components"));
35
+ var contact_method_item_1 = __importDefault(require("./contact-method-item"));
36
+ var ContactMethodList = function (props) {
37
+ return (react_1.default.createElement(react_1.Fragment, null, props.contactMethodList.map(function (contactMethod) { return (react_1.default.createElement(StyledContactMethod, { key: contactMethod.id, type: props.type, contactMethod: contactMethod })); })));
38
+ };
39
+ var StyledContactMethod = (0, styled_components_1.default)(contact_method_item_1.default)(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; });
40
+ exports.default = ContactMethodList;
41
+ var templateObject_1;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ContactMethod: React.FC;
3
+ export default ContactMethod;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ var knowledge_widget_types_grid_1 = require("@telia-ace/knowledge-widget-types-grid");
11
+ var react_1 = __importDefault(require("react"));
12
+ var styled_components_1 = __importDefault(require("styled-components"));
13
+ var contact_method_item_1 = __importDefault(require("./contact-method-item"));
14
+ var contact_method_list_1 = __importDefault(require("./contact-method-list"));
15
+ var ContactMethod = function (props) {
16
+ var _a, _b;
17
+ var type;
18
+ var methodList;
19
+ if (props.contactMethods && ((_a = props.contactMethods.contactMethods) === null || _a === void 0 ? void 0 : _a.length) > 0) {
20
+ type = knowledge_widget_types_grid_1.DataType.ContactMethods;
21
+ methodList = props.contactMethods.contactMethods;
22
+ }
23
+ else if (props.contactMethods.categories && ((_b = props.contactMethods.categories) === null || _b === void 0 ? void 0 : _b.length) > 0) {
24
+ type = knowledge_widget_types_grid_1.DataType.ContactMethodCategories;
25
+ methodList = props.contactMethods.categories.filter(function (o) { return o.matches > 0; });
26
+ }
27
+ else {
28
+ type = knowledge_widget_types_grid_1.DataType.ContactMethod;
29
+ methodList = props.contactMethods;
30
+ }
31
+ if (!methodList.length) {
32
+ return react_1.default.createElement(StyledContactMethodItem, { type: type, contactMethod: methodList });
33
+ }
34
+ return react_1.default.createElement(contact_method_list_1.default, { type: type, contactMethodList: methodList });
35
+ };
36
+ var StyledContactMethodItem = (0, styled_components_1.default)(contact_method_item_1.default)(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; });
37
+ exports.default = ContactMethod;
38
+ var templateObject_1;
@@ -0,0 +1,6 @@
1
+ export declare enum ServerEntryTypeEnum {
2
+ Widget = 0,
3
+ Text = 1,
4
+ List = 2,
5
+ Error = 3
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServerEntryTypeEnum = void 0;
4
+ var ServerEntryTypeEnum;
5
+ (function (ServerEntryTypeEnum) {
6
+ ServerEntryTypeEnum[ServerEntryTypeEnum["Widget"] = 0] = "Widget";
7
+ ServerEntryTypeEnum[ServerEntryTypeEnum["Text"] = 1] = "Text";
8
+ ServerEntryTypeEnum[ServerEntryTypeEnum["List"] = 2] = "List";
9
+ ServerEntryTypeEnum[ServerEntryTypeEnum["Error"] = 3] = "Error";
10
+ })(ServerEntryTypeEnum = exports.ServerEntryTypeEnum || (exports.ServerEntryTypeEnum = {}));
@@ -0,0 +1,5 @@
1
+ export interface List {
2
+ title?: string;
3
+ body?: string;
4
+ items: object;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ export interface Message {
2
+ id: string;
3
+ message: any;
4
+ entry?: any;
5
+ conversationEntry?: any;
6
+ isUser: boolean;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export interface Action {
2
+ [label: string]: any;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export interface ClientAction {
2
+ key: string;
3
+ content: any;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import { LooseObject } from "../shared/loose-object.model";
2
+ export declare type ConnectOptions = {
3
+ globalState?: LooseObject;
4
+ command?: LooseObject;
5
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ export interface GlobalState {
2
+ completedInteractionsCount: number;
3
+ lastQuestion?: string;
4
+ lastBotGuide: number;
5
+ lastGuideTitle?: string;
6
+ site: string;
7
+ invincibleParameters: object;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ export interface HttpClientOptions {
2
+ credentials: string | undefined;
3
+ clientId?: string;
4
+ onError?: (error: any) => void;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ import { Action } from "./action.model";
2
+ export interface ServerEntry {
3
+ id: string;
4
+ type: string;
5
+ content: any;
6
+ actions: Action;
7
+ tags: string[];
8
+ relation: string;
9
+ timestamp: string;
10
+ localState: object;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import { ServerEntry } from "../http/server-entry.model";
2
+ export interface AggregatorState {
3
+ [key: string]: ServerEntry;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
@@ -0,0 +1,3 @@
1
+ export interface LooseObject {
2
+ [key: string]: any;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ export declare class ChatHelper {
2
+ private static user;
3
+ private static agent;
4
+ static setUser(user: any): void;
5
+ static setAgent(agent: any): void;
6
+ static getUser(): any;
7
+ static getAgent(): any;
8
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatHelper = void 0;
4
+ var ChatHelper = /** @class */ (function () {
5
+ function ChatHelper() {
6
+ }
7
+ ChatHelper.setUser = function (user) {
8
+ this.user = user;
9
+ };
10
+ ChatHelper.setAgent = function (agent) {
11
+ this.agent = agent;
12
+ };
13
+ ChatHelper.getUser = function () {
14
+ return this.user;
15
+ };
16
+ ChatHelper.getAgent = function () {
17
+ return this.agent;
18
+ };
19
+ return ChatHelper;
20
+ }());
21
+ exports.ChatHelper = 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,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpHelper = void 0;
4
+ var HttpHelper = /** @class */ (function () {
5
+ function HttpHelper() {
6
+ }
7
+ HttpHelper.combineUrl = function (basePath, path) {
8
+ return basePath + path;
9
+ };
10
+ HttpHelper.getCredentials = function () {
11
+ return "same-origin";
12
+ };
13
+ var _a;
14
+ _a = HttpHelper;
15
+ HttpHelper.fetchOptions = {
16
+ method: "POST",
17
+ headers: {
18
+ Accept: "application/json",
19
+ "Content-Type": "application/json",
20
+ },
21
+ };
22
+ HttpHelper.managedSubdomainSuffixes = ["stage", "alpha", "beta", "gamma"];
23
+ HttpHelper.parseSubdomain = function (input) {
24
+ var index = input.lastIndexOf("-");
25
+ var lastPart = input.substr(index + 1);
26
+ if (_a.managedSubdomainSuffixes.indexOf(lastPart) > -1) {
27
+ return input.substr(0, index);
28
+ }
29
+ return input;
30
+ };
31
+ return HttpHelper;
32
+ }());
33
+ exports.HttpHelper = 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,72 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.MiddlewareHelper = void 0;
40
+ var widget_services_1 = require("@telia-ace/widget-services");
41
+ var MiddlewareHelper = /** @class */ (function () {
42
+ function MiddlewareHelper() {
43
+ }
44
+ MiddlewareHelper.setContainer = function (container) {
45
+ this.container = container;
46
+ };
47
+ MiddlewareHelper.setWidget = function (widget) {
48
+ this.widget = widget;
49
+ };
50
+ MiddlewareHelper.getContainer = function () {
51
+ return this.container;
52
+ };
53
+ MiddlewareHelper.getWidget = function () {
54
+ return this.widget;
55
+ };
56
+ MiddlewareHelper.getEntrySessionStorage = function () {
57
+ return (0, widget_services_1.readStorage)(this.container, this.sessionMessageStorageVariable);
58
+ };
59
+ var _a;
60
+ _a = MiddlewareHelper;
61
+ MiddlewareHelper.sessionMessageStorageVariable = 'conversation-plugin-messages';
62
+ MiddlewareHelper.setEntrySessionStorage = function (messages) { return __awaiter(void 0, void 0, void 0, function () {
63
+ return __generator(_a, function (_b) {
64
+ (0, widget_services_1.createStorageWriter)(this.container, this.sessionMessageStorageVariable, widget_services_1.StorageCategory.Necessary).then(function (write) {
65
+ return write(messages);
66
+ });
67
+ return [2 /*return*/];
68
+ });
69
+ }); };
70
+ return MiddlewareHelper;
71
+ }());
72
+ exports.MiddlewareHelper = 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,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StoreHelper = void 0;
4
+ var middleware_helper_1 = require("./middleware.helper");
5
+ var StoreHelper = /** @class */ (function () {
6
+ function StoreHelper() {
7
+ StoreHelper.globalState = {
8
+ completedInteractionsCount: 0,
9
+ lastBotGuide: 0,
10
+ site: 'https://localhost:8080/',
11
+ invincibleParameters: {},
12
+ };
13
+ }
14
+ StoreHelper.insertOrUpdateMessageArrayStore = function (messageArray, entry) {
15
+ var _this = this;
16
+ messageArray
17
+ .filter(function (o) { return !!o; })
18
+ .forEach(function (t) {
19
+ if (!_this.messageStore.find(function (o) { return o.id == t.id; }))
20
+ _this.insertMessageToStore(t);
21
+ else {
22
+ _this.updateMessageInStore(t, entry);
23
+ }
24
+ });
25
+ middleware_helper_1.MiddlewareHelper.setEntrySessionStorage(this.messageStore);
26
+ };
27
+ StoreHelper.insertMessageToStore = function (message) {
28
+ this.messageStore.push(message);
29
+ };
30
+ StoreHelper.updateMessageInStore = function (message, entry) {
31
+ message.conversationEntry = entry;
32
+ var index = this.messageStore.findIndex(function (o) { return o.id == message.id; });
33
+ this.messageStore[index] = message;
34
+ };
35
+ StoreHelper.checkIdInMessageStore = function (id) {
36
+ return this.messageStore.find(function (o) { return o.id == id; }) === undefined;
37
+ };
38
+ StoreHelper.getLocalState = function (action) {
39
+ var entry = this.getEntry(action);
40
+ return entry === null || entry === void 0 ? void 0 : entry.localState;
41
+ };
42
+ StoreHelper.getGlobalState = function () {
43
+ return StoreHelper.globalState;
44
+ };
45
+ StoreHelper.setGlobalState = function (state) {
46
+ StoreHelper.globalState = state;
47
+ };
48
+ StoreHelper.getAction = function (action) {
49
+ var entry = this.getEntry(action);
50
+ return {
51
+ key: action,
52
+ content: entry === null || entry === void 0 ? void 0 : entry.actions[action],
53
+ };
54
+ };
55
+ StoreHelper.getCommand = function (text) {
56
+ return { phrase: text };
57
+ };
58
+ StoreHelper.getEntry = function (action) {
59
+ var entry = undefined;
60
+ this.getEntryStore().forEach(function (o) {
61
+ if (o.actions[action]) {
62
+ entry = o;
63
+ }
64
+ });
65
+ return entry;
66
+ };
67
+ StoreHelper.getMessage = function (id) {
68
+ return this.messageStore.find(function (o) { return o.id == id; });
69
+ };
70
+ StoreHelper.getEntryStore = function () {
71
+ return this.messageStore
72
+ .filter(function (o) { return !!o.entry; })
73
+ .map(function (o) {
74
+ return o.entry;
75
+ });
76
+ };
77
+ StoreHelper.messageStore = [];
78
+ return StoreHelper;
79
+ }());
80
+ exports.StoreHelper = StoreHelper;
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import ConversationPlugin from './plugin';
2
+ export { ConversationPlugin };
package/lib/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ConversationPlugin = void 0;
7
+ var plugin_1 = __importDefault(require("./plugin"));
8
+ exports.ConversationPlugin = plugin_1.default;
@@ -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
+ }