@botonic/core 0.24.0 → 0.25.0-alpha.1
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/lib/cjs/core-bot.js +29 -3
- package/lib/cjs/core-bot.js.map +1 -1
- package/lib/cjs/data-provider/dynamodb-data-provider.js +10 -2
- package/lib/cjs/data-provider/dynamodb-data-provider.js.map +1 -1
- package/lib/cjs/data-provider/dynamodb-utils.js +15 -2
- package/lib/cjs/data-provider/dynamodb-utils.js.map +1 -1
- package/lib/cjs/data-provider/local-data-provider.js +8 -7
- package/lib/cjs/data-provider/local-data-provider.js.map +1 -1
- package/lib/cjs/debug/inspector.js +3 -0
- package/lib/cjs/debug/inspector.js.map +1 -1
- package/lib/cjs/handoff.js +12 -0
- package/lib/cjs/handoff.js.map +1 -1
- package/lib/cjs/hubtype-service.js +22 -4
- package/lib/cjs/hubtype-service.js.map +1 -1
- package/lib/cjs/output-parser/botonic-output-parser.js +8 -7
- package/lib/cjs/output-parser/botonic-output-parser.js.map +1 -1
- package/lib/cjs/output-parser/parsers.js +60 -17
- package/lib/cjs/output-parser/parsers.js.map +1 -1
- package/lib/cjs/routing/router-utils.js +2 -1
- package/lib/cjs/routing/router-utils.js.map +1 -1
- package/lib/cjs/routing/router.js +22 -16
- package/lib/cjs/routing/router.js.map +1 -1
- package/lib/cjs/utils.js +2 -3
- package/lib/cjs/utils.js.map +1 -1
- package/lib/esm/constants.js +7 -4
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/core-bot.js +50 -20
- package/lib/esm/core-bot.js.map +1 -1
- package/lib/esm/data-provider/dynamodb-data-provider.js +25 -13
- package/lib/esm/data-provider/dynamodb-data-provider.js.map +1 -1
- package/lib/esm/data-provider/dynamodb-utils.js +60 -40
- package/lib/esm/data-provider/dynamodb-utils.js.map +1 -1
- package/lib/esm/data-provider/factory.js +14 -10
- package/lib/esm/data-provider/factory.js.map +1 -1
- package/lib/esm/data-provider/index.js +20 -4
- package/lib/esm/data-provider/index.js.map +1 -1
- package/lib/esm/data-provider/local-data-provider.js +16 -11
- package/lib/esm/data-provider/local-data-provider.js.map +1 -1
- package/lib/esm/debug/index.js +17 -1
- package/lib/esm/debug/index.js.map +1 -1
- package/lib/esm/debug/inspector.js +14 -4
- package/lib/esm/debug/inspector.js.map +1 -1
- package/lib/esm/handoff.js +44 -17
- package/lib/esm/handoff.js.map +1 -1
- package/lib/esm/hubtype-service.js +36 -11
- package/lib/esm/hubtype-service.js.map +1 -1
- package/lib/esm/i18n.js +5 -1
- package/lib/esm/i18n.js.map +1 -1
- package/lib/esm/index.js +27 -11
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/models/events/base-event.js +5 -2
- package/lib/esm/models/events/base-event.js.map +1 -1
- package/lib/esm/models/events/botonic-event.js +2 -1
- package/lib/esm/models/events/connections/connection-event.js +5 -2
- package/lib/esm/models/events/connections/connection-event.js.map +1 -1
- package/lib/esm/models/events/connections/index.js +17 -1
- package/lib/esm/models/events/connections/index.js.map +1 -1
- package/lib/esm/models/events/index.js +20 -4
- package/lib/esm/models/events/index.js.map +1 -1
- package/lib/esm/models/events/message/buttons.js +2 -1
- package/lib/esm/models/events/message/carousel.js +2 -1
- package/lib/esm/models/events/message/contact.js +2 -1
- package/lib/esm/models/events/message/custom.js +2 -1
- package/lib/esm/models/events/message/form.js +2 -1
- package/lib/esm/models/events/message/index.js +27 -11
- package/lib/esm/models/events/message/index.js.map +1 -1
- package/lib/esm/models/events/message/location.js +2 -1
- package/lib/esm/models/events/message/media.js +9 -6
- package/lib/esm/models/events/message/media.js.map +1 -1
- package/lib/esm/models/events/message/message-event.js +9 -6
- package/lib/esm/models/events/message/message-event.js.map +1 -1
- package/lib/esm/models/events/message/missed.js +2 -1
- package/lib/esm/models/events/message/postback.js +2 -1
- package/lib/esm/models/events/message/replies.js +2 -1
- package/lib/esm/models/events/message/text.js +2 -1
- package/lib/esm/models/index.js +19 -3
- package/lib/esm/models/index.js.map +1 -1
- package/lib/esm/models/legacy-types.js +12 -9
- package/lib/esm/models/legacy-types.js.map +1 -1
- package/lib/esm/models/user.js +2 -1
- package/lib/esm/output-parser/botonic-output-parser.js +19 -14
- package/lib/esm/output-parser/botonic-output-parser.js.map +1 -1
- package/lib/esm/output-parser/factory.js +26 -22
- package/lib/esm/output-parser/factory.js.map +1 -1
- package/lib/esm/output-parser/index.js +19 -3
- package/lib/esm/output-parser/index.js.map +1 -1
- package/lib/esm/output-parser/parsers.js +104 -41
- package/lib/esm/output-parser/parsers.js.map +1 -1
- package/lib/esm/plugins.js +7 -2
- package/lib/esm/plugins.js.map +1 -1
- package/lib/esm/pusher-utils.js +7 -3
- package/lib/esm/pusher-utils.js.map +1 -1
- package/lib/esm/routing/index.js +18 -2
- package/lib/esm/routing/index.js.map +1 -1
- package/lib/esm/routing/router-utils.js +26 -15
- package/lib/esm/routing/router-utils.js.map +1 -1
- package/lib/esm/routing/router.js +47 -37
- package/lib/esm/routing/router.js.map +1 -1
- package/lib/esm/utils.js +22 -12
- package/lib/esm/utils.js.map +1 -1
- package/package.json +3 -9
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Router = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
const inspector_1 = require("../debug/inspector");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const router_utils_1 = require("./router-utils");
|
|
8
|
+
class Router {
|
|
9
|
+
routes;
|
|
10
|
+
routeInspector;
|
|
6
11
|
constructor(routes, routeInspector = undefined) {
|
|
7
12
|
this.routes = routes;
|
|
8
|
-
this.routeInspector = routeInspector || new RouteInspector();
|
|
13
|
+
this.routeInspector = routeInspector || new inspector_1.RouteInspector();
|
|
9
14
|
}
|
|
10
15
|
/**
|
|
11
16
|
* Processes an input and return a representation of the new bot state.
|
|
@@ -19,12 +24,11 @@ export class Router {
|
|
|
19
24
|
*/
|
|
20
25
|
// eslint-disable-next-line complexity
|
|
21
26
|
processInput(input, session, lastRoutePath = null) {
|
|
22
|
-
|
|
23
|
-
session.__retries = (_a = session === null || session === void 0 ? void 0 : session.__retries) !== null && _a !== void 0 ? _a : 0;
|
|
27
|
+
session.__retries = session?.__retries ?? 0;
|
|
24
28
|
// 1. Getting the current routing state.
|
|
25
29
|
const { currentRoute, matchedRoute, params, isFlowBroken } = this.getRoutingState(input, session, lastRoutePath);
|
|
26
|
-
const currentRoutePath =
|
|
27
|
-
const matchedRoutePath =
|
|
30
|
+
const currentRoutePath = currentRoute?.path ?? null;
|
|
31
|
+
const matchedRoutePath = matchedRoute?.path ?? null;
|
|
28
32
|
// 2. Given a routing state, resolve the different possible scenarios and return the new bot state.
|
|
29
33
|
/**
|
|
30
34
|
* Redirect Scenario:
|
|
@@ -38,7 +42,7 @@ export class Router {
|
|
|
38
42
|
if (redirectionRoute) {
|
|
39
43
|
return {
|
|
40
44
|
action: redirectionRoute.action,
|
|
41
|
-
emptyAction: getEmptyAction(redirectionRoute.childRoutes),
|
|
45
|
+
emptyAction: (0, router_utils_1.getEmptyAction)(redirectionRoute.childRoutes),
|
|
42
46
|
fallbackAction: null,
|
|
43
47
|
lastRoutePath: matchedRoute.redirect,
|
|
44
48
|
params,
|
|
@@ -47,7 +51,7 @@ export class Router {
|
|
|
47
51
|
return {
|
|
48
52
|
action: null,
|
|
49
53
|
emptyAction: null,
|
|
50
|
-
fallbackAction: getNotFoundAction(input, this.routes),
|
|
54
|
+
fallbackAction: (0, router_utils_1.getNotFoundAction)(input, this.routes),
|
|
51
55
|
lastRoutePath: null,
|
|
52
56
|
params,
|
|
53
57
|
};
|
|
@@ -60,7 +64,7 @@ export class Router {
|
|
|
60
64
|
session.__retries = 0;
|
|
61
65
|
return {
|
|
62
66
|
action: matchedRoute.action,
|
|
63
|
-
emptyAction: getEmptyAction(matchedRoute.childRoutes),
|
|
67
|
+
emptyAction: (0, router_utils_1.getEmptyAction)(matchedRoute.childRoutes),
|
|
64
68
|
fallbackAction: null,
|
|
65
69
|
lastRoutePath: matchedRoutePath,
|
|
66
70
|
params,
|
|
@@ -76,19 +80,19 @@ export class Router {
|
|
|
76
80
|
currentRoute.retry &&
|
|
77
81
|
session.__retries < currentRoute.retry) {
|
|
78
82
|
session.__retries = session.__retries !== 0 ? session.__retries + 1 : 1;
|
|
79
|
-
if (matchedRoute && matchedRoutePath !== NOT_FOUND_PATH) {
|
|
83
|
+
if (matchedRoute && matchedRoutePath !== constants_1.NOT_FOUND_PATH) {
|
|
80
84
|
return {
|
|
81
85
|
action: currentRoute.action,
|
|
82
|
-
emptyAction: getEmptyAction(matchedRoute.childRoutes),
|
|
86
|
+
emptyAction: (0, router_utils_1.getEmptyAction)(matchedRoute.childRoutes),
|
|
83
87
|
fallbackAction: matchedRoute.action,
|
|
84
88
|
lastRoutePath: currentRoutePath,
|
|
85
89
|
params,
|
|
86
90
|
};
|
|
87
91
|
}
|
|
88
92
|
return {
|
|
89
|
-
action:
|
|
90
|
-
emptyAction: getEmptyAction(currentRoute.childRoutes),
|
|
91
|
-
fallbackAction: getNotFoundAction(input, this.routes),
|
|
93
|
+
action: currentRoute.action ?? null,
|
|
94
|
+
emptyAction: (0, router_utils_1.getEmptyAction)(currentRoute.childRoutes),
|
|
95
|
+
fallbackAction: (0, router_utils_1.getNotFoundAction)(input, this.routes),
|
|
92
96
|
lastRoutePath: currentRoutePath,
|
|
93
97
|
params,
|
|
94
98
|
};
|
|
@@ -102,10 +106,10 @@ export class Router {
|
|
|
102
106
|
* Matching Route Scenario:
|
|
103
107
|
* We have matched a route, so we return the new bot state.
|
|
104
108
|
*/
|
|
105
|
-
if (matchedRoute && matchedRoutePath !== NOT_FOUND_PATH) {
|
|
109
|
+
if (matchedRoute && matchedRoutePath !== constants_1.NOT_FOUND_PATH) {
|
|
106
110
|
return {
|
|
107
|
-
action:
|
|
108
|
-
emptyAction: getEmptyAction(matchedRoute.childRoutes),
|
|
111
|
+
action: matchedRoute.action ?? null,
|
|
112
|
+
emptyAction: (0, router_utils_1.getEmptyAction)(matchedRoute.childRoutes),
|
|
109
113
|
fallbackAction: null,
|
|
110
114
|
lastRoutePath: matchedRoutePath,
|
|
111
115
|
params,
|
|
@@ -118,7 +122,7 @@ export class Router {
|
|
|
118
122
|
return {
|
|
119
123
|
action: null,
|
|
120
124
|
emptyAction: null,
|
|
121
|
-
fallbackAction: getNotFoundAction(input, this.routes),
|
|
125
|
+
fallbackAction: (0, router_utils_1.getNotFoundAction)(input, this.routes),
|
|
122
126
|
params,
|
|
123
127
|
lastRoutePath: currentRoutePath,
|
|
124
128
|
};
|
|
@@ -136,14 +140,14 @@ export class Router {
|
|
|
136
140
|
try {
|
|
137
141
|
if (match !== null && typeof match !== 'boolean' && match.groups) {
|
|
138
142
|
// Strip '[Object: null prototype]' from groups result: https://stackoverflow.com/a/62945609/6237608
|
|
139
|
-
params =
|
|
143
|
+
params = { ...match.groups };
|
|
140
144
|
}
|
|
141
145
|
}
|
|
142
146
|
catch (e) { }
|
|
143
147
|
return Boolean(match);
|
|
144
148
|
}));
|
|
145
149
|
if (route)
|
|
146
|
-
return { route: cloneObject(route), params };
|
|
150
|
+
return { route: (0, utils_1.cloneObject)(route), params };
|
|
147
151
|
return null;
|
|
148
152
|
}
|
|
149
153
|
/**
|
|
@@ -164,10 +168,10 @@ export class Router {
|
|
|
164
168
|
const computedRoute = this.getRouteByPath(childPath.join('/'), route.childRoutes);
|
|
165
169
|
// IMPORTANT: Returning a new object to avoid modifying dev routes and introduce side effects
|
|
166
170
|
if (computedRoute)
|
|
167
|
-
return cloneObject(computedRoute);
|
|
171
|
+
return (0, utils_1.cloneObject)(computedRoute);
|
|
168
172
|
}
|
|
169
173
|
else if (childPath.length === 0) {
|
|
170
|
-
return cloneObject(route); // last action and found route
|
|
174
|
+
return (0, utils_1.cloneObject)(route); // last action and found route
|
|
171
175
|
}
|
|
172
176
|
}
|
|
173
177
|
}
|
|
@@ -225,7 +229,7 @@ export class Router {
|
|
|
225
229
|
const currentRoute = this.getRouteByPath(lastRoutePath);
|
|
226
230
|
if (currentRoute && lastRoutePath)
|
|
227
231
|
currentRoute.path = lastRoutePath;
|
|
228
|
-
if (typeof input.payload === 'string' && isPathPayload(input.payload)) {
|
|
232
|
+
if (typeof input.payload === 'string' && (0, router_utils_1.isPathPayload)(input.payload)) {
|
|
229
233
|
return this.getRoutingStateFromPathPayload(currentRoute, input.payload);
|
|
230
234
|
}
|
|
231
235
|
return this.getRoutingStateFromInput(currentRoute, input, session);
|
|
@@ -234,16 +238,18 @@ export class Router {
|
|
|
234
238
|
* Given a non path payload input, try to run it against the routes, update matching routes information in consequence and dictamine if the flow has been broken.
|
|
235
239
|
* */
|
|
236
240
|
getRoutingStateFromInput(currentRoute, input, session) {
|
|
237
|
-
var _a, _b, _c;
|
|
238
241
|
// get route depending of current ChildRoutes
|
|
239
242
|
if (currentRoute && currentRoute.childRoutes) {
|
|
240
243
|
const routeParams = this.getRoute(input, currentRoute.childRoutes, session, currentRoute.path);
|
|
241
244
|
if (routeParams) {
|
|
242
245
|
return {
|
|
243
246
|
currentRoute,
|
|
244
|
-
matchedRoute:
|
|
247
|
+
matchedRoute: {
|
|
248
|
+
...routeParams.route,
|
|
249
|
+
path: routeParams.route && currentRoute.path
|
|
245
250
|
? `${currentRoute.path}/${routeParams.route.path}`
|
|
246
|
-
: currentRoute.path
|
|
251
|
+
: currentRoute.path,
|
|
252
|
+
},
|
|
247
253
|
params: routeParams.params,
|
|
248
254
|
isFlowBroken: false,
|
|
249
255
|
};
|
|
@@ -253,12 +259,15 @@ export class Router {
|
|
|
253
259
|
* we couldn't find a route in the state of the currentRoute childRoutes,
|
|
254
260
|
* so let's find in the general routes
|
|
255
261
|
*/
|
|
256
|
-
const routeParams = this.getRoute(input, this.routes, session,
|
|
257
|
-
const isFlowBroken = Boolean(currentRoute
|
|
258
|
-
if (routeParams
|
|
262
|
+
const routeParams = this.getRoute(input, this.routes, session, currentRoute?.path ?? null);
|
|
263
|
+
const isFlowBroken = Boolean(currentRoute?.path);
|
|
264
|
+
if (routeParams?.route) {
|
|
259
265
|
return {
|
|
260
266
|
currentRoute,
|
|
261
|
-
matchedRoute:
|
|
267
|
+
matchedRoute: {
|
|
268
|
+
...routeParams.route,
|
|
269
|
+
path: routeParams.route?.path ?? null,
|
|
270
|
+
},
|
|
262
271
|
params: routeParams.params,
|
|
263
272
|
isFlowBroken,
|
|
264
273
|
};
|
|
@@ -274,7 +283,7 @@ export class Router {
|
|
|
274
283
|
* Given a path payload input, try to run the path against the routes, update matching routes information in consequence and dictamine if the flow has been broken.
|
|
275
284
|
* */
|
|
276
285
|
getRoutingStateFromPathPayload(currentRoute, pathPayload) {
|
|
277
|
-
const { path, params } = getPathParamsFromPathPayload(pathPayload);
|
|
286
|
+
const { path, params } = (0, router_utils_1.getPathParamsFromPathPayload)(pathPayload);
|
|
278
287
|
/**
|
|
279
288
|
* shorthand function to update the matching information given a path
|
|
280
289
|
*/
|
|
@@ -290,7 +299,7 @@ export class Router {
|
|
|
290
299
|
}
|
|
291
300
|
return {
|
|
292
301
|
currentRoute,
|
|
293
|
-
matchedRoute:
|
|
302
|
+
matchedRoute: { ...matchedRoute, path: seekPath },
|
|
294
303
|
params,
|
|
295
304
|
isFlowBroken: false,
|
|
296
305
|
};
|
|
@@ -299,7 +308,7 @@ export class Router {
|
|
|
299
308
|
* Given a valid path: 'Flow1/Subflow1' we are in one of the two scenarios below.
|
|
300
309
|
*/
|
|
301
310
|
// 1. Received __PATH_PAYLOAD__Subflow2, so we need to first try to concatenate it with Flow1 (lastRoutePath)
|
|
302
|
-
if (currentRoute
|
|
311
|
+
if (currentRoute?.path) {
|
|
303
312
|
const routingState = getRoutingStateFromPath(`${currentRoute.path}/${path}`);
|
|
304
313
|
if (routingState.matchedRoute)
|
|
305
314
|
return routingState;
|
|
@@ -308,4 +317,5 @@ export class Router {
|
|
|
308
317
|
return getRoutingStateFromPath(path);
|
|
309
318
|
}
|
|
310
319
|
}
|
|
320
|
+
exports.Router = Router;
|
|
311
321
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/routing/router.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/routing/router.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/utils.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dirname = exports.join = exports.params2queryString = exports.cloneObject = exports.isFunction = exports.isMobile = exports.isBrowser = exports.isNode = void 0;
|
|
4
|
+
const isNode = () => {
|
|
2
5
|
// @ts-ignore
|
|
3
6
|
return typeof IS_NODE !== 'undefined'
|
|
4
7
|
? // @ts-ignore
|
|
@@ -7,18 +10,19 @@ export const isNode = () => {
|
|
|
7
10
|
process.versions !== null &&
|
|
8
11
|
process.versions.node !== null;
|
|
9
12
|
};
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
exports.isNode = isNode;
|
|
14
|
+
const isBrowser = () => {
|
|
12
15
|
// @ts-ignore
|
|
13
16
|
return typeof IS_BROWSER !== 'undefined'
|
|
14
17
|
? // @ts-ignore
|
|
15
18
|
IS_BROWSER
|
|
16
19
|
: typeof window !== 'undefined' &&
|
|
17
20
|
typeof window.document !== 'undefined' &&
|
|
18
|
-
!
|
|
21
|
+
!window.process?.versions?.node;
|
|
19
22
|
};
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
exports.isBrowser = isBrowser;
|
|
24
|
+
const isMobile = (mobileBreakpoint = 460) => {
|
|
25
|
+
if ((0, exports.isBrowser)()) {
|
|
22
26
|
const w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
|
|
23
27
|
if (w < mobileBreakpoint) {
|
|
24
28
|
return true;
|
|
@@ -26,21 +30,25 @@ export const isMobile = (mobileBreakpoint = 460) => {
|
|
|
26
30
|
}
|
|
27
31
|
return false;
|
|
28
32
|
};
|
|
29
|
-
|
|
33
|
+
exports.isMobile = isMobile;
|
|
34
|
+
function isFunction(o) {
|
|
30
35
|
return typeof o === 'function';
|
|
31
36
|
}
|
|
32
|
-
|
|
37
|
+
exports.isFunction = isFunction;
|
|
38
|
+
function cloneObject(object) {
|
|
33
39
|
if (!object)
|
|
34
40
|
return {};
|
|
35
|
-
return
|
|
41
|
+
return { ...object };
|
|
36
42
|
}
|
|
37
|
-
|
|
43
|
+
exports.cloneObject = cloneObject;
|
|
44
|
+
const params2queryString = (params) => Object.entries(params)
|
|
38
45
|
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
|
|
39
46
|
.join('&');
|
|
47
|
+
exports.params2queryString = params2queryString;
|
|
40
48
|
// Joins path segments. Preserves initial "/" and resolves ".." and "."
|
|
41
49
|
// Does not support using ".." to go above/outside the root.
|
|
42
50
|
// This means that join("foo", "../../bar") will not resolve to "../bar"
|
|
43
|
-
|
|
51
|
+
const join = (...segments) => {
|
|
44
52
|
// Split the inputs into a list of path commands.
|
|
45
53
|
let parts = [];
|
|
46
54
|
for (let i = 0, l = segments.length; i < l; i++) {
|
|
@@ -68,7 +76,9 @@ export const join = (...segments) => {
|
|
|
68
76
|
// Turn back into a single string path.
|
|
69
77
|
return newParts.join('/') || (newParts.length ? '/' : '.');
|
|
70
78
|
};
|
|
79
|
+
exports.join = join;
|
|
71
80
|
// A simple function to get the dirname of a path
|
|
72
81
|
// Trailing slashes are ignored. Leading slash is preserved.
|
|
73
|
-
|
|
82
|
+
const dirname = (path) => (0, exports.join)(path, '..');
|
|
83
|
+
exports.dirname = dirname;
|
|
74
84
|
//# sourceMappingURL=utils.js.map
|
package/lib/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0-alpha.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Build Chatbots using React",
|
|
6
6
|
"main": "./lib/cjs/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"aws-sdk": "^2.1404.0",
|
|
34
|
-
"axios": "^1.6.
|
|
34
|
+
"axios": "^1.6.7",
|
|
35
35
|
"decode": "^0.3.0",
|
|
36
36
|
"dynamodb-toolbox": "^0.3.4",
|
|
37
37
|
"fast-xml-parser": "^3.19.0",
|
|
@@ -43,19 +43,13 @@
|
|
|
43
43
|
"ulid": "^2.3.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@babel/cli": "^7.11.5",
|
|
47
|
-
"@babel/core": "^7.11.6",
|
|
48
|
-
"@babel/plugin-proposal-class-properties": "^7.8.3",
|
|
49
|
-
"@babel/plugin-proposal-object-rest-spread": "^7.9.6",
|
|
50
|
-
"@babel/plugin-transform-runtime": "^7.9.6",
|
|
51
|
-
"@babel/preset-env": "^7.9.6",
|
|
52
46
|
"@types/minipass": "^3.3.5",
|
|
53
47
|
"@types/pako": "^1.0.2",
|
|
54
48
|
"babel-plugin-add-module-exports": "^1.0.2"
|
|
55
49
|
},
|
|
56
50
|
"homepage": "https://github.com/hubtype/botonic#readme",
|
|
57
51
|
"engines": {
|
|
58
|
-
"node": ">=
|
|
52
|
+
"node": ">=20.0.0"
|
|
59
53
|
},
|
|
60
54
|
"keywords": [
|
|
61
55
|
"bot-framework",
|