@botonic/core 1.0.0-dev.0 → 2.23.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.
Files changed (228) hide show
  1. package/CHANGELOG.md +226 -0
  2. package/README.md +7 -9
  3. package/package.json +19 -57
  4. package/src/index.d.ts +4 -0
  5. package/src/index.js +5 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/core-bot/index.d.ts +33 -0
  8. package/src/lib/core-bot/index.js +113 -0
  9. package/src/lib/core-bot/index.js.map +1 -0
  10. package/src/lib/hubtype-service/handoff.d.ts +4 -0
  11. package/src/lib/hubtype-service/handoff.js +32 -0
  12. package/src/lib/hubtype-service/handoff.js.map +1 -0
  13. package/src/lib/hubtype-service/index.d.ts +10 -0
  14. package/src/lib/hubtype-service/index.js +96 -0
  15. package/src/lib/hubtype-service/index.js.map +1 -0
  16. package/src/lib/messages/button.d.ts +8 -0
  17. package/src/lib/messages/button.js +10 -0
  18. package/src/lib/messages/button.js.map +1 -0
  19. package/src/lib/plugins/index.d.ts +2 -0
  20. package/src/lib/plugins/index.js +23 -0
  21. package/src/lib/plugins/index.js.map +1 -0
  22. package/src/lib/routes/index.d.ts +0 -0
  23. package/src/lib/routes/index.js +2 -0
  24. package/src/lib/routes/index.js.map +1 -0
  25. package/src/lib/routes/router.d.ts +14 -0
  26. package/src/lib/routes/router.js +68 -0
  27. package/src/lib/routes/router.js.map +1 -0
  28. package/src/lib/routes/types.d.ts +15 -0
  29. package/src/lib/routes/types.js +2 -0
  30. package/src/lib/routes/types.js.map +1 -0
  31. package/src/lib/utils/index.d.ts +7 -0
  32. package/{lib/esm/utils.js → src/lib/utils/index.js} +6 -34
  33. package/src/lib/utils/index.js.map +1 -0
  34. package/lib/cjs/constants.d.ts +0 -15
  35. package/lib/cjs/constants.js +0 -19
  36. package/lib/cjs/constants.js.map +0 -1
  37. package/lib/cjs/core-bot.d.ts +0 -33
  38. package/lib/cjs/core-bot.js +0 -85
  39. package/lib/cjs/core-bot.js.map +0 -1
  40. package/lib/cjs/debug/index.d.ts +0 -1
  41. package/lib/cjs/debug/index.js +0 -9
  42. package/lib/cjs/debug/index.js.map +0 -1
  43. package/lib/cjs/debug/inspector.d.ts +0 -24
  44. package/lib/cjs/debug/inspector.js +0 -72
  45. package/lib/cjs/debug/inspector.js.map +0 -1
  46. package/lib/cjs/errors.d.ts +0 -5
  47. package/lib/cjs/errors.js +0 -11
  48. package/lib/cjs/errors.js.map +0 -1
  49. package/lib/cjs/handoff.d.ts +0 -67
  50. package/lib/cjs/handoff.js +0 -183
  51. package/lib/cjs/handoff.js.map +0 -1
  52. package/lib/cjs/hubtype-service.d.ts +0 -69
  53. package/lib/cjs/hubtype-service.js +0 -190
  54. package/lib/cjs/hubtype-service.js.map +0 -1
  55. package/lib/cjs/i18n.d.ts +0 -2
  56. package/lib/cjs/i18n.js +0 -11
  57. package/lib/cjs/i18n.js.map +0 -1
  58. package/lib/cjs/index.d.ts +0 -166
  59. package/lib/cjs/index.js +0 -58
  60. package/lib/cjs/index.js.map +0 -1
  61. package/lib/cjs/models/events/connections/index.d.ts +0 -9
  62. package/lib/cjs/models/events/connections/index.js +0 -9
  63. package/lib/cjs/models/events/connections/index.js.map +0 -1
  64. package/lib/cjs/models/events/index.d.ts +0 -21
  65. package/lib/cjs/models/events/index.js +0 -11
  66. package/lib/cjs/models/events/index.js.map +0 -1
  67. package/lib/cjs/models/events/message/buttons.d.ts +0 -18
  68. package/lib/cjs/models/events/message/buttons.js +0 -3
  69. package/lib/cjs/models/events/message/buttons.js.map +0 -1
  70. package/lib/cjs/models/events/message/carousel.d.ts +0 -11
  71. package/lib/cjs/models/events/message/carousel.js +0 -3
  72. package/lib/cjs/models/events/message/carousel.js.map +0 -1
  73. package/lib/cjs/models/events/message/custom.d.ts +0 -6
  74. package/lib/cjs/models/events/message/custom.js +0 -3
  75. package/lib/cjs/models/events/message/custom.js.map +0 -1
  76. package/lib/cjs/models/events/message/index.d.ts +0 -30
  77. package/lib/cjs/models/events/message/index.js +0 -32
  78. package/lib/cjs/models/events/message/index.js.map +0 -1
  79. package/lib/cjs/models/events/message/location.d.ts +0 -6
  80. package/lib/cjs/models/events/message/location.js +0 -3
  81. package/lib/cjs/models/events/message/location.js.map +0 -1
  82. package/lib/cjs/models/events/message/media.d.ts +0 -18
  83. package/lib/cjs/models/events/message/media.js +0 -11
  84. package/lib/cjs/models/events/message/media.js.map +0 -1
  85. package/lib/cjs/models/events/message/postback.d.ts +0 -4
  86. package/lib/cjs/models/events/message/postback.js +0 -3
  87. package/lib/cjs/models/events/message/postback.js.map +0 -1
  88. package/lib/cjs/models/events/message/replies.d.ts +0 -7
  89. package/lib/cjs/models/events/message/replies.js +0 -3
  90. package/lib/cjs/models/events/message/replies.js.map +0 -1
  91. package/lib/cjs/models/events/message/text.d.ts +0 -8
  92. package/lib/cjs/models/events/message/text.js +0 -3
  93. package/lib/cjs/models/events/message/text.js.map +0 -1
  94. package/lib/cjs/models/user.d.ts +0 -10
  95. package/lib/cjs/models/user.js +0 -3
  96. package/lib/cjs/models/user.js.map +0 -1
  97. package/lib/cjs/output-parser/factory.d.ts +0 -4
  98. package/lib/cjs/output-parser/factory.js +0 -33
  99. package/lib/cjs/output-parser/factory.js.map +0 -1
  100. package/lib/cjs/output-parser/index.d.ts +0 -16
  101. package/lib/cjs/output-parser/index.js +0 -37
  102. package/lib/cjs/output-parser/index.js.map +0 -1
  103. package/lib/cjs/output-parser/parsers.d.ts +0 -28
  104. package/lib/cjs/output-parser/parsers.js +0 -138
  105. package/lib/cjs/output-parser/parsers.js.map +0 -1
  106. package/lib/cjs/output-parser/util.d.ts +0 -2
  107. package/lib/cjs/output-parser/util.js +0 -14
  108. package/lib/cjs/output-parser/util.js.map +0 -1
  109. package/lib/cjs/plugins.d.ts +0 -7
  110. package/lib/cjs/plugins.js +0 -45
  111. package/lib/cjs/plugins.js.map +0 -1
  112. package/lib/cjs/router.d.ts +0 -35
  113. package/lib/cjs/router.js +0 -262
  114. package/lib/cjs/router.js.map +0 -1
  115. package/lib/cjs/utils.d.ts +0 -10
  116. package/lib/cjs/utils.js +0 -84
  117. package/lib/cjs/utils.js.map +0 -1
  118. package/lib/esm/constants.d.ts +0 -15
  119. package/lib/esm/constants.js +0 -16
  120. package/lib/esm/constants.js.map +0 -1
  121. package/lib/esm/core-bot.d.ts +0 -33
  122. package/lib/esm/core-bot.js +0 -81
  123. package/lib/esm/core-bot.js.map +0 -1
  124. package/lib/esm/debug/index.d.ts +0 -1
  125. package/lib/esm/debug/index.js +0 -2
  126. package/lib/esm/debug/index.js.map +0 -1
  127. package/lib/esm/debug/inspector.d.ts +0 -24
  128. package/lib/esm/debug/inspector.js +0 -65
  129. package/lib/esm/debug/inspector.js.map +0 -1
  130. package/lib/esm/errors.d.ts +0 -5
  131. package/lib/esm/errors.js +0 -7
  132. package/lib/esm/errors.js.map +0 -1
  133. package/lib/esm/handoff.d.ts +0 -67
  134. package/lib/esm/handoff.js +0 -170
  135. package/lib/esm/handoff.js.map +0 -1
  136. package/lib/esm/hubtype-service.d.ts +0 -69
  137. package/lib/esm/hubtype-service.js +0 -185
  138. package/lib/esm/hubtype-service.js.map +0 -1
  139. package/lib/esm/i18n.d.ts +0 -2
  140. package/lib/esm/i18n.js +0 -7
  141. package/lib/esm/i18n.js.map +0 -1
  142. package/lib/esm/index.d.ts +0 -166
  143. package/lib/esm/index.js +0 -49
  144. package/lib/esm/index.js.map +0 -1
  145. package/lib/esm/models/events/connections/index.d.ts +0 -9
  146. package/lib/esm/models/events/connections/index.js +0 -6
  147. package/lib/esm/models/events/connections/index.js.map +0 -1
  148. package/lib/esm/models/events/index.d.ts +0 -21
  149. package/lib/esm/models/events/index.js +0 -8
  150. package/lib/esm/models/events/index.js.map +0 -1
  151. package/lib/esm/models/events/message/buttons.d.ts +0 -18
  152. package/lib/esm/models/events/message/buttons.js +0 -2
  153. package/lib/esm/models/events/message/buttons.js.map +0 -1
  154. package/lib/esm/models/events/message/carousel.d.ts +0 -11
  155. package/lib/esm/models/events/message/carousel.js +0 -2
  156. package/lib/esm/models/events/message/carousel.js.map +0 -1
  157. package/lib/esm/models/events/message/custom.d.ts +0 -6
  158. package/lib/esm/models/events/message/custom.js +0 -2
  159. package/lib/esm/models/events/message/custom.js.map +0 -1
  160. package/lib/esm/models/events/message/index.d.ts +0 -30
  161. package/lib/esm/models/events/message/index.js +0 -29
  162. package/lib/esm/models/events/message/index.js.map +0 -1
  163. package/lib/esm/models/events/message/location.d.ts +0 -6
  164. package/lib/esm/models/events/message/location.js +0 -2
  165. package/lib/esm/models/events/message/location.js.map +0 -1
  166. package/lib/esm/models/events/message/media.d.ts +0 -18
  167. package/lib/esm/models/events/message/media.js +0 -8
  168. package/lib/esm/models/events/message/media.js.map +0 -1
  169. package/lib/esm/models/events/message/postback.d.ts +0 -4
  170. package/lib/esm/models/events/message/postback.js +0 -2
  171. package/lib/esm/models/events/message/postback.js.map +0 -1
  172. package/lib/esm/models/events/message/replies.d.ts +0 -7
  173. package/lib/esm/models/events/message/replies.js +0 -2
  174. package/lib/esm/models/events/message/replies.js.map +0 -1
  175. package/lib/esm/models/events/message/text.d.ts +0 -8
  176. package/lib/esm/models/events/message/text.js +0 -2
  177. package/lib/esm/models/events/message/text.js.map +0 -1
  178. package/lib/esm/models/user.d.ts +0 -10
  179. package/lib/esm/models/user.js +0 -2
  180. package/lib/esm/models/user.js.map +0 -1
  181. package/lib/esm/output-parser/factory.d.ts +0 -4
  182. package/lib/esm/output-parser/factory.js +0 -29
  183. package/lib/esm/output-parser/factory.js.map +0 -1
  184. package/lib/esm/output-parser/index.d.ts +0 -16
  185. package/lib/esm/output-parser/index.js +0 -33
  186. package/lib/esm/output-parser/index.js.map +0 -1
  187. package/lib/esm/output-parser/parsers.d.ts +0 -28
  188. package/lib/esm/output-parser/parsers.js +0 -123
  189. package/lib/esm/output-parser/parsers.js.map +0 -1
  190. package/lib/esm/output-parser/util.d.ts +0 -2
  191. package/lib/esm/output-parser/util.js +0 -9
  192. package/lib/esm/output-parser/util.js.map +0 -1
  193. package/lib/esm/plugins.d.ts +0 -7
  194. package/lib/esm/plugins.js +0 -40
  195. package/lib/esm/plugins.js.map +0 -1
  196. package/lib/esm/router.d.ts +0 -35
  197. package/lib/esm/router.js +0 -258
  198. package/lib/esm/router.js.map +0 -1
  199. package/lib/esm/utils.d.ts +0 -10
  200. package/lib/esm/utils.js.map +0 -1
  201. package/src/constants.ts +0 -15
  202. package/src/core-bot.ts +0 -144
  203. package/src/debug/index.ts +0 -6
  204. package/src/debug/inspector.ts +0 -102
  205. package/src/errors.ts +0 -11
  206. package/src/handoff.ts +0 -268
  207. package/src/hubtype-service.ts +0 -266
  208. package/src/i18n.ts +0 -12
  209. package/src/index.ts +0 -233
  210. package/src/models/events/connections/index.ts +0 -11
  211. package/src/models/events/index.ts +0 -39
  212. package/src/models/events/message/buttons.ts +0 -23
  213. package/src/models/events/message/carousel.ts +0 -13
  214. package/src/models/events/message/custom.ts +0 -7
  215. package/src/models/events/message/index.ts +0 -37
  216. package/src/models/events/message/location.ts +0 -7
  217. package/src/models/events/message/media.ts +0 -28
  218. package/src/models/events/message/postback.ts +0 -5
  219. package/src/models/events/message/replies.ts +0 -8
  220. package/src/models/events/message/text.ts +0 -12
  221. package/src/models/user.ts +0 -10
  222. package/src/output-parser/factory.ts +0 -40
  223. package/src/output-parser/index.ts +0 -38
  224. package/src/output-parser/parsers.ts +0 -190
  225. package/src/output-parser/util.ts +0 -8
  226. package/src/plugins.ts +0 -49
  227. package/src/router.ts +0 -316
  228. package/src/utils.ts +0 -84
@@ -1,185 +0,0 @@
1
- import axios from 'axios';
2
- import Pusher from 'pusher-js';
3
- import { getWebpackEnvVar } from './utils';
4
- const _WEBCHAT_PUSHER_KEY_ = getWebpackEnvVar(
5
- // @ts-ignore
6
- typeof WEBCHAT_PUSHER_KEY !== 'undefined' && WEBCHAT_PUSHER_KEY, 'WEBCHAT_PUSHER_KEY', '434ca667c8e6cb3f641c');
7
- const _HUBTYPE_API_URL_ = getWebpackEnvVar(
8
- // @ts-ignore
9
- typeof HUBTYPE_API_URL !== 'undefined' && HUBTYPE_API_URL, 'HUBTYPE_API_URL', 'https://api.hubtype.com');
10
- const ACTIVITY_TIMEOUT = 20 * 1000; // https://pusher.com/docs/channels/using_channels/connection#activitytimeout-integer-
11
- const PONG_TIMEOUT = 5 * 1000; // https://pusher.com/docs/channels/using_channels/connection#pongtimeout-integer-
12
- /**
13
- * Calls Hubtype APIs from Webchat
14
- */
15
- export class HubtypeService {
16
- constructor({ appId, user, lastMessageId, lastMessageUpdateDate, onEvent, unsentInputs, server, }) {
17
- this.PUSHER_CONNECT_TIMEOUT_MS = 10000;
18
- this.appId = appId;
19
- this.user = user || {};
20
- this.lastMessageId = lastMessageId;
21
- this.lastMessageUpdateDate = lastMessageUpdateDate;
22
- this.onEvent = onEvent;
23
- this.unsentInputs = unsentInputs;
24
- this.server = server;
25
- if (this.user.id && (lastMessageId || lastMessageUpdateDate)) {
26
- // It's safe not awaiting Promise because:
27
- // * it will never be called from AWS lambda
28
- // * though init() is called again from postMesage, it does nothing if Pusher already created
29
- // @ts-ignore
30
- this.init();
31
- }
32
- }
33
- /**
34
- * @returns {Promise<void>}
35
- */
36
- init(user, lastMessageId, lastMessageUpdateDate) {
37
- if (user)
38
- this.user = user;
39
- if (lastMessageId)
40
- this.lastMessageId = lastMessageId;
41
- if (lastMessageUpdateDate)
42
- this.lastMessageUpdateDate = lastMessageUpdateDate;
43
- return this._initPusher();
44
- }
45
- /**
46
- * @returns {Promise<void>}
47
- */
48
- _initPusher() {
49
- if (this.pusher)
50
- return Promise.resolve();
51
- if (!this.user.id || !this.appId) {
52
- // TODO recover user & appId somehow
53
- return Promise.reject('No User or appId. Clear cache and reload');
54
- }
55
- this.pusher = new Pusher(_WEBCHAT_PUSHER_KEY_, Object.assign({ cluster: 'eu', authEndpoint: `${_HUBTYPE_API_URL_}/v1/provider_accounts/webhooks/webchat/${this.appId}/auth/`, forceTLS: true, auth: {
56
- headers: this.constructHeaders(),
57
- } }, this.resolveServerConfig()));
58
- this.channel = this.pusher.subscribe(this.pusherChannel);
59
- const connectionPromise = new Promise((resolve, reject) => {
60
- const cleanAndReject = msg => {
61
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
62
- clearTimeout(connectTimeout);
63
- this.destroyPusher();
64
- reject(msg);
65
- };
66
- const connectTimeout = setTimeout(() => cleanAndReject('Connection Timeout'), this.PUSHER_CONNECT_TIMEOUT_MS);
67
- this.channel.bind('pusher:subscription_succeeded', () => {
68
- // Once subscribed, we know that authentication has been done: https://pusher.com/docs/channels/server_api/authenticating-users
69
- this.onConnectionRegained();
70
- clearTimeout(connectTimeout);
71
- resolve();
72
- });
73
- this.channel.bind('botonic_response', data => this.onPusherEvent(data));
74
- this.channel.bind('update_message_info', data => this.onPusherEvent(data));
75
- this.pusher &&
76
- this.pusher.connection.bind('error', event => {
77
- if (event.type == 'WebSocketError')
78
- this.handleConnectionChange(false);
79
- else {
80
- const errorMsg = event.error && event.error.data
81
- ? event.error.data.code || event.error.data.message
82
- : 'Connection error';
83
- cleanAndReject(`Pusher error (${errorMsg})`);
84
- }
85
- });
86
- });
87
- this.pusher.connection.bind('state_change', states => {
88
- if (states.current === 'connecting')
89
- this.updateAuthHeaders();
90
- if (states.current === 'connected')
91
- this.handleConnectionChange(true);
92
- if (states.current === 'unavailable')
93
- this.handleConnectionChange(false);
94
- });
95
- return connectionPromise;
96
- }
97
- constructHeaders() {
98
- const headers = {};
99
- if (this.user && this.user.id)
100
- headers['X-BOTONIC-USER-ID'] = this.user.id;
101
- if (this.lastMessageId)
102
- headers['X-BOTONIC-LAST-MESSAGE-ID'] = this.lastMessageId;
103
- if (this.lastMessageUpdateDate)
104
- headers['X-BOTONIC-LAST-MESSAGE-UPDATE-DATE'] = this.lastMessageUpdateDate;
105
- return headers;
106
- }
107
- resolveServerConfig() {
108
- if (!this.server) {
109
- return { activityTimeout: ACTIVITY_TIMEOUT, pongTimeout: PONG_TIMEOUT };
110
- }
111
- return {
112
- activityTimeout: this.server.activityTimeout || ACTIVITY_TIMEOUT,
113
- pongTimeout: this.server.pongTimeout || PONG_TIMEOUT,
114
- };
115
- }
116
- updateAuthHeaders() {
117
- if (this.pusher) {
118
- this.pusher.config.auth.headers = Object.assign(Object.assign({}, this.pusher.config.auth.headers), this.constructHeaders());
119
- }
120
- }
121
- handleConnectionChange(online) {
122
- this.onPusherEvent({ action: 'connectionChange', online });
123
- }
124
- onPusherEvent(event) {
125
- if (this.onEvent && typeof this.onEvent === 'function')
126
- this.onEvent(event);
127
- }
128
- get pusherChannel() {
129
- return `private-encrypted-${this.appId}-${this.user.id}`;
130
- }
131
- handleSentInput(message) {
132
- this.onEvent({
133
- action: 'update_message_info',
134
- message: { id: message.id, ack: 1 },
135
- });
136
- }
137
- handleUnsentInput(message) {
138
- this.onEvent({
139
- action: 'update_message_info',
140
- message: { id: message.id, ack: 0, unsentInput: message },
141
- });
142
- }
143
- /**
144
- * @return {Promise<void>}
145
- */
146
- async postMessage(user, message) {
147
- try {
148
- // @ts-ignore
149
- await this.init(user);
150
- await axios.post(`${_HUBTYPE_API_URL_}/v1/provider_accounts/webhooks/webchat/${this.appId}/`, {
151
- sender: this.user,
152
- message: message,
153
- }, {
154
- validateStatus: status => status === 200,
155
- });
156
- this.handleSentInput(message);
157
- }
158
- catch (e) {
159
- this.handleUnsentInput(message);
160
- }
161
- return Promise.resolve();
162
- }
163
- static async getWebchatVisibility({ appId, }) {
164
- return axios.get(`${_HUBTYPE_API_URL_}/v1/provider_accounts/${appId}/visibility/`);
165
- }
166
- destroyPusher() {
167
- if (!this.pusher)
168
- return;
169
- this.pusher.disconnect();
170
- this.pusher.unsubscribe(this.pusherChannel);
171
- this.pusher.unbind_all();
172
- this.pusher.channels = {};
173
- this.pusher = null;
174
- }
175
- async onConnectionRegained() {
176
- await this.resendUnsentInputs();
177
- }
178
- async resendUnsentInputs() {
179
- for (const message of this.unsentInputs()) {
180
- message.unsentInput &&
181
- (await this.postMessage(this.user, message.unsentInput));
182
- }
183
- }
184
- }
185
- //# sourceMappingURL=hubtype-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubtype-service.js","sourceRoot":"","sources":["../../src/hubtype-service.ts"],"names":[],"mappings":"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"}
package/lib/esm/i18n.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { Locales } from './index';
2
- export declare const getString: (locales: Locales, locale: string, stringID: string) => string;
package/lib/esm/i18n.js DELETED
@@ -1,7 +0,0 @@
1
- export const getString = (locales, locale, stringID) => {
2
- let l = stringID.split('.').reduce((o, i) => o[i], locales[locale]);
3
- if (l instanceof Array)
4
- l = l[Math.floor(Math.random() * l.length)];
5
- return String(l);
6
- };
7
- //# sourceMappingURL=i18n.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,OAAgB,EAChB,MAAc,EACd,QAAgB,EACR,EAAE;IACV,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACnE,IAAI,CAAC,YAAY,KAAK;QAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACnE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,CAAC,CAAA"}
@@ -1,166 +0,0 @@
1
- import { BotonicEvent } from './models/events';
2
- export { Providers } from './constants';
3
- export { CoreBot } from './core-bot';
4
- export * from './debug';
5
- export * from './handoff';
6
- export { HubtypeService } from './hubtype-service';
7
- export { getString } from './i18n';
8
- export { Router } from './router';
9
- export * from './utils';
10
- export declare type CaseStatusType = typeof CASE_STATUS.ATTENDING | typeof CASE_STATUS.IDLE | typeof CASE_STATUS.RESOLVED | typeof CASE_STATUS.WAITING;
11
- export declare type CaseResolution = typeof CASE_RESOLUTION.BANNED | typeof CASE_RESOLUTION.NOK | typeof CASE_RESOLUTION.NOT_SOLVED | typeof CASE_RESOLUTION.OK;
12
- export declare const PROVIDER: Readonly<{
13
- DEV: string;
14
- FACEBOOK: string;
15
- GENERIC: string;
16
- INTERCOM: string;
17
- SMOOCH: string;
18
- TELEGRAM: string;
19
- TWITTER: string;
20
- WEBCHAT: string;
21
- WECHAT: string;
22
- WHATSAPP: string;
23
- }>;
24
- export declare const INPUT: Readonly<{
25
- TEXT: string;
26
- POSTBACK: string;
27
- AUDIO: string;
28
- IMAGE: string;
29
- VIDEO: string;
30
- DOCUMENT: string;
31
- LOCATION: string;
32
- CONTACT: string;
33
- BUTTON_MESSAGE: string;
34
- CAROUSEL: string;
35
- CUSTOM: string;
36
- WEBCHAT_SETTINGS: string;
37
- WHATSAPP_TEMPLATE: string;
38
- RAW: string;
39
- }>;
40
- export declare const CASE_STATUS: Readonly<{
41
- WAITING: string;
42
- ATTENDING: string;
43
- IDLE: string;
44
- RESOLVED: string;
45
- }>;
46
- export declare const CASE_RESOLUTION: Readonly<{
47
- OK: string;
48
- NOK: string;
49
- NOT_SOLVED: string;
50
- BANNED: string;
51
- }>;
52
- export interface Locales {
53
- [id: string]: string | string[] | Locales;
54
- }
55
- interface PluginConstructor<T> {
56
- new (arg: T): Plugin;
57
- }
58
- export interface PluginConfig<T> {
59
- id: string;
60
- options?: T;
61
- resolve: {
62
- default: PluginConstructor<T>;
63
- };
64
- }
65
- export declare type InputType = typeof INPUT.AUDIO | typeof INPUT.BUTTON_MESSAGE | typeof INPUT.CAROUSEL | typeof INPUT.CONTACT | typeof INPUT.CUSTOM | typeof INPUT.DOCUMENT | typeof INPUT.IMAGE | typeof INPUT.LOCATION | typeof INPUT.POSTBACK | typeof INPUT.TEXT | typeof INPUT.VIDEO | typeof INPUT.WEBCHAT_SETTINGS | typeof INPUT.WHATSAPP_TEMPLATE;
66
- export interface IntentResult {
67
- intent: string;
68
- confidence: number;
69
- }
70
- /** Generated by Translation plugins: GoogleTranslation **/
71
- export interface Translations {
72
- [languageCode: string]: string;
73
- }
74
- /** Fields set by NLU plugins: Luis, Dialogflow, ... **/
75
- export interface NluResult {
76
- confidence: number;
77
- intent: string;
78
- intents: IntentResult[];
79
- language: string;
80
- entities?: any;
81
- translations: Translations;
82
- }
83
- export interface Input extends Partial<NluResult> {
84
- data?: string;
85
- path?: string;
86
- payload?: string;
87
- type: InputType;
88
- }
89
- export declare type ProviderType = typeof PROVIDER.DEV | typeof PROVIDER.FACEBOOK | typeof PROVIDER.GENERIC | typeof PROVIDER.INTERCOM | typeof PROVIDER.SMOOCH | typeof PROVIDER.TELEGRAM | typeof PROVIDER.TWITTER | typeof PROVIDER.WEBCHAT | typeof PROVIDER.WECHAT | typeof PROVIDER.WHATSAPP;
90
- export interface SessionUser {
91
- id: string;
92
- username?: string;
93
- name?: string;
94
- provider: ProviderType;
95
- extra_data?: any;
96
- imp_id?: string;
97
- provider_id?: string;
98
- }
99
- export interface Session {
100
- bot: {
101
- id: string;
102
- name?: string;
103
- };
104
- __locale?: string;
105
- __retries?: number;
106
- is_first_interaction: boolean;
107
- last_session?: any;
108
- organization?: string;
109
- user: SessionUser;
110
- _hubtype_case_status?: CaseStatusType;
111
- _hubtype_case_typification?: string;
112
- _shadowing?: boolean;
113
- }
114
- declare type InputMatcher = (input: Input) => boolean;
115
- declare type ParamsMatcher = {
116
- [key: string]: string;
117
- } | ((params: {
118
- [key: string]: string;
119
- }) => boolean);
120
- declare type SessionMatcher = (session: Session) => boolean;
121
- declare type RequestMatcher = (request: BotRequest) => boolean;
122
- declare type StringMatcher = RegExp | string | ((data: string) => boolean);
123
- export declare type RouteMatcher = InputMatcher | ParamsMatcher | RequestMatcher | SessionMatcher | StringMatcher;
124
- export interface Route {
125
- action?: any;
126
- childRoutes?: Route[];
127
- defaultAction?: any;
128
- lastRoutePath?: string;
129
- ignoreRetry?: boolean;
130
- path?: StringMatcher;
131
- redirect?: string;
132
- retry?: number;
133
- retryAction?: any;
134
- input?: InputMatcher;
135
- intent?: StringMatcher;
136
- params?: ParamsMatcher;
137
- payload?: StringMatcher;
138
- request?: RequestMatcher;
139
- session?: SessionMatcher;
140
- text?: StringMatcher;
141
- data?: StringMatcher;
142
- type?: StringMatcher;
143
- }
144
- export declare type Routes<R = Route> = R[] | ((_: BotRequest) => R[]);
145
- export interface BotRequest {
146
- input: Input;
147
- lastRoutePath: string;
148
- session: Session;
149
- }
150
- /** The response of the bot for the triggered actions, which can be
151
- * the one matched by the routes, the default action and the retry actions.
152
- * See Response at @botonic/react's index.d.ts for the React type
153
- * */
154
- export interface BotResponse extends BotRequest {
155
- response: any;
156
- parsedResponse: Partial<BotonicEvent>[] | null;
157
- }
158
- export declare type PluginPreRequest = BotRequest;
159
- export declare type PluginPostRequest = BotResponse;
160
- export interface Plugin {
161
- post(_: PluginPostRequest): void;
162
- pre(pluginRequest: PluginPreRequest): void;
163
- }
164
- export declare type Params = {
165
- [key: string]: string;
166
- };
package/lib/esm/index.js DELETED
@@ -1,49 +0,0 @@
1
- export { Providers } from './constants';
2
- export { CoreBot } from './core-bot';
3
- export * from './debug';
4
- export * from './handoff';
5
- export { HubtypeService } from './hubtype-service';
6
- export { getString } from './i18n';
7
- export { Router } from './router';
8
- export * from './utils';
9
- export const PROVIDER = Object.freeze({
10
- DEV: 'dev',
11
- FACEBOOK: 'facebook',
12
- GENERIC: 'generic',
13
- INTERCOM: 'intercom',
14
- SMOOCH: 'smooch',
15
- TELEGRAM: 'telegram',
16
- TWITTER: 'twitter',
17
- WEBCHAT: 'webchat',
18
- WECHAT: 'wechat',
19
- WHATSAPP: 'whatsapp',
20
- });
21
- export const INPUT = Object.freeze({
22
- TEXT: 'text',
23
- POSTBACK: 'postback',
24
- AUDIO: 'audio',
25
- IMAGE: 'image',
26
- VIDEO: 'video',
27
- DOCUMENT: 'document',
28
- LOCATION: 'location',
29
- CONTACT: 'contact',
30
- BUTTON_MESSAGE: 'buttonmessage',
31
- CAROUSEL: 'carousel',
32
- CUSTOM: 'custom',
33
- WEBCHAT_SETTINGS: 'webchatsettings',
34
- WHATSAPP_TEMPLATE: 'whatsapptemplate',
35
- RAW: 'raw',
36
- });
37
- export const CASE_STATUS = Object.freeze({
38
- WAITING: 'status_waiting',
39
- ATTENDING: 'status_attending',
40
- IDLE: 'status_idle',
41
- RESOLVED: 'status_resolved',
42
- });
43
- export const CASE_RESOLUTION = Object.freeze({
44
- OK: 'result_ok',
45
- NOK: 'result_nok',
46
- NOT_SOLVED: 'result_not_solved',
47
- BANNED: 'result_banned',
48
- });
49
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,cAAc,SAAS,CAAA;AAcvB,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,eAAe;IAC/B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,iBAAiB;IACnC,iBAAiB,EAAE,kBAAkB;IACrC,GAAG,EAAE,KAAK;CACX,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,iBAAiB;CAC5B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,WAAW;IACf,GAAG,EAAE,YAAY;IACjB,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,eAAe;CACxB,CAAC,CAAA"}
@@ -1,9 +0,0 @@
1
- import { BaseEvent, EventTypes } from '..';
2
- export declare enum ConnectionEventStatuses {
3
- CONNECTED = "connected",
4
- DISCONNECTED = "disconnected"
5
- }
6
- export interface ConnectionEvent extends BaseEvent {
7
- eventType: EventTypes.CONNECTION;
8
- status: ConnectionEventStatuses;
9
- }
@@ -1,6 +0,0 @@
1
- export var ConnectionEventStatuses;
2
- (function (ConnectionEventStatuses) {
3
- ConnectionEventStatuses["CONNECTED"] = "connected";
4
- ConnectionEventStatuses["DISCONNECTED"] = "disconnected";
5
- })(ConnectionEventStatuses || (ConnectionEventStatuses = {}));
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/models/events/connections/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,kDAAuB,CAAA;IACvB,wDAA6B,CAAA;AAC/B,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC"}
@@ -1,21 +0,0 @@
1
- import { ConnectionEvent } from './connections';
2
- import { CarouselMessageEvent } from './message/carousel';
3
- import { CustomMessageEvent } from './message/custom';
4
- import { LocationMessageEvent } from './message/location';
5
- import { AudioMessageEvent, DocumentMessageEvent, ImageMessageEvent, VideoMessageEvent } from './message/media';
6
- import { PostbackMessageEvent } from './message/postback';
7
- import { TextMessageEvent } from './message/text';
8
- export declare enum EventTypes {
9
- CONNECTION = "connection",
10
- MESSAGE = "message",
11
- ACK = "ack",
12
- TRACK = "track"
13
- }
14
- export interface BaseEvent {
15
- eventId: string;
16
- userId: string;
17
- eventType: EventTypes;
18
- createdAt: string;
19
- modifiedAt?: string;
20
- }
21
- export declare type BotonicEvent = TextMessageEvent | PostbackMessageEvent | AudioMessageEvent | DocumentMessageEvent | ImageMessageEvent | VideoMessageEvent | LocationMessageEvent | CarouselMessageEvent | CustomMessageEvent | ConnectionEvent;
@@ -1,8 +0,0 @@
1
- export var EventTypes;
2
- (function (EventTypes) {
3
- EventTypes["CONNECTION"] = "connection";
4
- EventTypes["MESSAGE"] = "message";
5
- EventTypes["ACK"] = "ack";
6
- EventTypes["TRACK"] = "track";
7
- })(EventTypes || (EventTypes = {}));
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/events/index.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,iCAAmB,CAAA;IACnB,yBAAW,CAAA;IACX,6BAAe,CAAA;AACjB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
@@ -1,18 +0,0 @@
1
- export interface BaseButton {
2
- title: string;
3
- }
4
- export interface WebviewButton extends BaseButton {
5
- webview: any;
6
- params?: any;
7
- }
8
- export interface UrlButton extends BaseButton {
9
- url: string;
10
- target?: string;
11
- }
12
- export interface PayloadButton extends BaseButton {
13
- payload: string;
14
- }
15
- export declare type Button = PayloadButton | UrlButton | WebviewButton;
16
- export interface WithButtons {
17
- buttons?: Button[];
18
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=buttons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../../../../src/models/events/message/buttons.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { BotonicMessageEvent, MessageEventTypes } from '.';
2
- import { WithButtons } from './buttons';
3
- export interface CarouselElement extends WithButtons {
4
- pic: string;
5
- title: string;
6
- subtitle?: string;
7
- }
8
- export interface CarouselMessageEvent extends BotonicMessageEvent {
9
- type: MessageEventTypes.CAROUSEL;
10
- elements: CarouselElement[];
11
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=carousel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../../../src/models/events/message/carousel.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { BotonicMessageEvent, MessageEventTypes } from '.';
2
- import { WithReplies } from './replies';
3
- export interface CustomMessageEvent extends BotonicMessageEvent, WithReplies {
4
- type: MessageEventTypes.CUSTOM;
5
- customTypeName: string;
6
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=custom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../../../src/models/events/message/custom.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import { BaseEvent } from '..';
2
- export declare enum MessageEventTypes {
3
- AUDIO = "audio",
4
- CAROUSEL = "carousel",
5
- CUSTOM = "custom",
6
- DOCUMENT = "document",
7
- IMAGE = "image",
8
- LOCATION = "location",
9
- TEXT = "text",
10
- POSTBACK = "postback",
11
- VIDEO = "video"
12
- }
13
- export declare enum MessageEventAck {
14
- DRAFT = "draft",
15
- READ = "read",
16
- RECEIVED = "received",
17
- SENT = "sent"
18
- }
19
- export declare enum MessageEventFrom {
20
- AGENT = "agent",
21
- BOT = "bot",
22
- USER = "user"
23
- }
24
- export interface BotonicMessageEvent extends BaseEvent {
25
- ack: MessageEventAck;
26
- from: MessageEventFrom;
27
- type: MessageEventTypes;
28
- typing: number;
29
- delay: number;
30
- }
@@ -1,29 +0,0 @@
1
- export var MessageEventTypes;
2
- (function (MessageEventTypes) {
3
- MessageEventTypes["AUDIO"] = "audio";
4
- MessageEventTypes["CAROUSEL"] = "carousel";
5
- MessageEventTypes["CUSTOM"] = "custom";
6
- MessageEventTypes["DOCUMENT"] = "document";
7
- MessageEventTypes["IMAGE"] = "image";
8
- MessageEventTypes["LOCATION"] = "location";
9
- MessageEventTypes["TEXT"] = "text";
10
- MessageEventTypes["POSTBACK"] = "postback";
11
- MessageEventTypes["VIDEO"] = "video";
12
- /**
13
- * TODO: contact, buttonmessage?, webchatsettings, whatsapp template
14
- */
15
- })(MessageEventTypes || (MessageEventTypes = {}));
16
- export var MessageEventAck;
17
- (function (MessageEventAck) {
18
- MessageEventAck["DRAFT"] = "draft";
19
- MessageEventAck["READ"] = "read";
20
- MessageEventAck["RECEIVED"] = "received";
21
- MessageEventAck["SENT"] = "sent";
22
- })(MessageEventAck || (MessageEventAck = {}));
23
- export var MessageEventFrom;
24
- (function (MessageEventFrom) {
25
- MessageEventFrom["AGENT"] = "agent";
26
- MessageEventFrom["BOT"] = "bot";
27
- MessageEventFrom["USER"] = "user";
28
- })(MessageEventFrom || (MessageEventFrom = {}));
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/models/events/message/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,iBAaX;AAbD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf;;OAEG;AACL,CAAC,EAbW,iBAAiB,KAAjB,iBAAiB,QAa5B;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,gCAAa,CAAA;AACf,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,iCAAa,CAAA;AACf,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
@@ -1,6 +0,0 @@
1
- import { BotonicMessageEvent, MessageEventTypes } from '.';
2
- export interface LocationMessageEvent extends BotonicMessageEvent {
3
- type: MessageEventTypes.LOCATION;
4
- lat: number;
5
- long: number;
6
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=location.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../../../src/models/events/message/location.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- import { BotonicMessageEvent, MessageEventTypes } from '.';
2
- import { WithButtons } from './buttons';
3
- export declare const MEDIA_TYPES: MessageEventTypes[];
4
- export interface MediaMessageEvent extends BotonicMessageEvent, WithButtons {
5
- src: string;
6
- }
7
- export interface AudioMessageEvent extends MediaMessageEvent {
8
- type: MessageEventTypes.AUDIO;
9
- }
10
- export interface ImageMessageEvent extends MediaMessageEvent {
11
- type: MessageEventTypes.IMAGE;
12
- }
13
- export interface DocumentMessageEvent extends MediaMessageEvent {
14
- type: MessageEventTypes.DOCUMENT;
15
- }
16
- export interface VideoMessageEvent extends MediaMessageEvent {
17
- type: MessageEventTypes.VIDEO;
18
- }