@botonic/core 0.51.2 → 0.51.3
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/models/bot-config.d.ts +24 -0
- package/lib/cjs/models/bot-config.js +10 -0
- package/lib/cjs/models/bot-config.js.map +1 -0
- package/lib/cjs/models/index.d.ts +1 -0
- package/lib/cjs/models/index.js +1 -0
- package/lib/cjs/models/index.js.map +1 -1
- package/lib/cjs/models/legacy-types.d.ts +0 -13
- package/lib/cjs/utils/bot-config.d.ts +3 -0
- package/lib/cjs/utils/bot-config.js +79 -0
- package/lib/cjs/utils/bot-config.js.map +1 -0
- package/lib/cjs/utils/check-providers.d.ts +8 -0
- package/lib/cjs/utils/check-providers.js +34 -0
- package/lib/cjs/utils/check-providers.js.map +1 -0
- package/lib/cjs/utils/functional.d.ts +10 -0
- package/lib/{esm/utils.js → cjs/utils/functional.js} +1 -32
- package/lib/cjs/utils/functional.js.map +1 -0
- package/lib/cjs/utils/index.d.ts +3 -0
- package/lib/cjs/utils/index.js +7 -0
- package/lib/cjs/utils/index.js.map +1 -0
- package/lib/esm/models/bot-config.d.ts +24 -0
- package/lib/esm/models/bot-config.js +10 -0
- package/lib/esm/models/bot-config.js.map +1 -0
- package/lib/esm/models/index.d.ts +1 -0
- package/lib/esm/models/index.js +1 -0
- package/lib/esm/models/index.js.map +1 -1
- package/lib/esm/models/legacy-types.d.ts +0 -13
- package/lib/esm/utils/bot-config.d.ts +3 -0
- package/lib/esm/utils/bot-config.js +79 -0
- package/lib/esm/utils/bot-config.js.map +1 -0
- package/lib/esm/utils/check-providers.d.ts +8 -0
- package/lib/esm/utils/check-providers.js +34 -0
- package/lib/esm/utils/check-providers.js.map +1 -0
- package/lib/esm/utils/functional.d.ts +10 -0
- package/lib/{cjs/utils.js → esm/utils/functional.js} +1 -32
- package/lib/esm/utils/functional.js.map +1 -0
- package/lib/esm/utils/index.d.ts +3 -0
- package/lib/esm/utils/index.js +7 -0
- package/lib/esm/utils/index.js.map +1 -0
- package/package.json +3 -2
- package/src/models/bot-config.ts +30 -0
- package/src/models/index.ts +1 -0
- package/src/models/legacy-types.ts +0 -17
- package/src/utils/bot-config.ts +124 -0
- package/src/utils/check-providers.ts +31 -0
- package/src/{utils.ts → utils/functional.ts} +0 -32
- package/src/utils/index.ts +3 -0
- package/lib/cjs/utils.d.ts +0 -18
- package/lib/cjs/utils.js.map +0 -1
- package/lib/esm/utils.d.ts +0 -18
- package/lib/esm/utils.js.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { core } from 'zod';
|
|
2
|
+
export interface BotConfigJSON {
|
|
3
|
+
tools: ToolConfigJSON[];
|
|
4
|
+
payloads: string[];
|
|
5
|
+
webviews: WebviewConfigJSON[];
|
|
6
|
+
variables?: VariableConfigJSON[];
|
|
7
|
+
}
|
|
8
|
+
export interface ToolConfigJSON {
|
|
9
|
+
name: string;
|
|
10
|
+
schema?: core.JSONSchema.JSONSchema;
|
|
11
|
+
description: string;
|
|
12
|
+
}
|
|
13
|
+
export interface WebviewConfigJSON {
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
16
|
+
export declare enum VariableType {
|
|
17
|
+
String = "string",
|
|
18
|
+
Number = "number",
|
|
19
|
+
Boolean = "boolean"
|
|
20
|
+
}
|
|
21
|
+
export interface VariableConfigJSON {
|
|
22
|
+
key_path: string;
|
|
23
|
+
type: VariableType;
|
|
24
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VariableType = void 0;
|
|
4
|
+
var VariableType;
|
|
5
|
+
(function (VariableType) {
|
|
6
|
+
VariableType["String"] = "string";
|
|
7
|
+
VariableType["Number"] = "number";
|
|
8
|
+
VariableType["Boolean"] = "boolean";
|
|
9
|
+
})(VariableType || (exports.VariableType = VariableType = {}));
|
|
10
|
+
//# sourceMappingURL=bot-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-config.js","sourceRoot":"","sources":["../../../src/models/bot-config.ts"],"names":[],"mappings":";;;AAoBA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;AACrB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
|
package/lib/cjs/models/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./ai-agents"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./bot-config"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./hubtype-analytics"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./knowledge-bases"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./legacy-types"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,8DAAmC;AACnC,4DAAiC;AACjC,yDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,uDAA4B;AAC5B,8DAAmC;AACnC,4DAAiC;AACjC,yDAA8B"}
|
|
@@ -327,17 +327,4 @@ export declare enum BotonicAction {
|
|
|
327
327
|
DeleteUser = "delete_user",
|
|
328
328
|
DiscardCase = "discard_case"
|
|
329
329
|
}
|
|
330
|
-
export interface BotConfigJSON {
|
|
331
|
-
tools: ToolConfigJSON[];
|
|
332
|
-
payloads: string[];
|
|
333
|
-
webviews: WebviewConfigJSON[];
|
|
334
|
-
}
|
|
335
|
-
export interface ToolConfigJSON {
|
|
336
|
-
name: string;
|
|
337
|
-
schema?: any;
|
|
338
|
-
description: string;
|
|
339
|
-
}
|
|
340
|
-
export interface WebviewConfigJSON {
|
|
341
|
-
name: string;
|
|
342
|
-
}
|
|
343
330
|
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSessionVariables = getSessionVariables;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const index_1 = require("../models/index");
|
|
6
|
+
const SESSION_USER_EXTRA_DATA_PREFIX = 'session.user.extra_data';
|
|
7
|
+
const BASE_SESSION_VARIABLES = [
|
|
8
|
+
{ key_path: 'input.data', type: index_1.VariableType.String },
|
|
9
|
+
{ key_path: 'input.type', type: index_1.VariableType.String },
|
|
10
|
+
{ key_path: 'session.user.locale', type: index_1.VariableType.String },
|
|
11
|
+
{
|
|
12
|
+
key_path: 'session.user.country',
|
|
13
|
+
type: index_1.VariableType.String,
|
|
14
|
+
},
|
|
15
|
+
{ key_path: 'session.user.system_locale', type: index_1.VariableType.String },
|
|
16
|
+
];
|
|
17
|
+
function getSessionVariables(extraDataSchema) {
|
|
18
|
+
const variables = [...BASE_SESSION_VARIABLES];
|
|
19
|
+
if (extraDataSchema) {
|
|
20
|
+
variables.push(...getSessionVariablesFromZodSchema(extraDataSchema));
|
|
21
|
+
}
|
|
22
|
+
return variables;
|
|
23
|
+
}
|
|
24
|
+
function getSessionVariablesFromZodSchema(schema) {
|
|
25
|
+
const jsonSchema = zod_1.z.toJSONSchema(schema);
|
|
26
|
+
if (!jsonSchema.properties) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
return Object.entries(jsonSchema.properties).flatMap(([key, propertySchema]) => getSessionVariablesFromJsonSchema(propertySchema, `${SESSION_USER_EXTRA_DATA_PREFIX}.${key}`));
|
|
30
|
+
}
|
|
31
|
+
function getSessionVariablesFromJsonSchema(schema, keyPath) {
|
|
32
|
+
const type = getJsonSchemaType(schema);
|
|
33
|
+
// TODO:Arrays are not supported yet. Review in the future, how to handle them
|
|
34
|
+
// in the frontend feature-flow-builder and in the plugin-flow-builder.
|
|
35
|
+
if (type === 'array') {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
if (type === 'object' && schema.properties) {
|
|
39
|
+
return Object.entries(schema.properties).flatMap(([key, propertySchema]) => getSessionVariablesFromJsonSchema(propertySchema, `${keyPath}.${key}`));
|
|
40
|
+
}
|
|
41
|
+
const variableType = getVariableTypeFromJsonSchema(schema);
|
|
42
|
+
if (!variableType) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
return [{ key_path: keyPath, type: variableType }];
|
|
46
|
+
}
|
|
47
|
+
function getJsonSchemaType(schema) {
|
|
48
|
+
const resolved = resolveJsonSchemaNode(schema);
|
|
49
|
+
const { type } = resolved;
|
|
50
|
+
if (Array.isArray(type)) {
|
|
51
|
+
return type.find(candidate => candidate !== 'null');
|
|
52
|
+
}
|
|
53
|
+
return type;
|
|
54
|
+
}
|
|
55
|
+
function getVariableTypeFromJsonSchema(schema) {
|
|
56
|
+
const resolved = resolveJsonSchemaNode(schema);
|
|
57
|
+
const type = getJsonSchemaType(resolved);
|
|
58
|
+
// enum is transformed to string. Review in the future, how to handle them
|
|
59
|
+
if (type === 'string' || resolved.enum !== undefined) {
|
|
60
|
+
return index_1.VariableType.String;
|
|
61
|
+
}
|
|
62
|
+
if (type === 'number' || type === 'integer') {
|
|
63
|
+
return index_1.VariableType.Number;
|
|
64
|
+
}
|
|
65
|
+
if (type === 'boolean') {
|
|
66
|
+
return index_1.VariableType.Boolean;
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
function resolveJsonSchemaNode(schema) {
|
|
71
|
+
if (schema.anyOf?.length) {
|
|
72
|
+
const nonNullSchema = schema.anyOf.find(candidate => candidate.type !== 'null');
|
|
73
|
+
if (nonNullSchema) {
|
|
74
|
+
return resolveJsonSchemaNode(nonNullSchema);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return schema;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=bot-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-config.js","sourceRoot":"","sources":["../../../src/utils/bot-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Session } from '../models/legacy-types';
|
|
2
|
+
export declare function isDev(session: Session): boolean;
|
|
3
|
+
export declare function isWebchat(session: Session): boolean;
|
|
4
|
+
export declare function isWhatsapp(session: Session): boolean;
|
|
5
|
+
export declare function isTelegram(session: Session): boolean;
|
|
6
|
+
export declare function isFacebook(session: Session): boolean;
|
|
7
|
+
export declare function isInstagram(session: Session): boolean;
|
|
8
|
+
export declare function isTwitter(session: Session): boolean;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDev = isDev;
|
|
4
|
+
exports.isWebchat = isWebchat;
|
|
5
|
+
exports.isWhatsapp = isWhatsapp;
|
|
6
|
+
exports.isTelegram = isTelegram;
|
|
7
|
+
exports.isFacebook = isFacebook;
|
|
8
|
+
exports.isInstagram = isInstagram;
|
|
9
|
+
exports.isTwitter = isTwitter;
|
|
10
|
+
const legacy_types_1 = require("../models/legacy-types");
|
|
11
|
+
// To check Provider in session
|
|
12
|
+
function isDev(session) {
|
|
13
|
+
return session.user.provider === legacy_types_1.PROVIDER.DEV;
|
|
14
|
+
}
|
|
15
|
+
function isWebchat(session) {
|
|
16
|
+
// When the provider is DEV should we return true because it is a webchat?
|
|
17
|
+
return session.user.provider === legacy_types_1.PROVIDER.WEBCHAT;
|
|
18
|
+
}
|
|
19
|
+
function isWhatsapp(session) {
|
|
20
|
+
return session.user.provider === legacy_types_1.PROVIDER.WHATSAPP;
|
|
21
|
+
}
|
|
22
|
+
function isTelegram(session) {
|
|
23
|
+
return session.user.provider === legacy_types_1.PROVIDER.TELEGRAM;
|
|
24
|
+
}
|
|
25
|
+
function isFacebook(session) {
|
|
26
|
+
return session.user.provider === legacy_types_1.PROVIDER.FACEBOOK;
|
|
27
|
+
}
|
|
28
|
+
function isInstagram(session) {
|
|
29
|
+
return session.user.provider === legacy_types_1.PROVIDER.INSTAGRAM;
|
|
30
|
+
}
|
|
31
|
+
function isTwitter(session) {
|
|
32
|
+
return session.user.provider === legacy_types_1.PROVIDER.TWITTER;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=check-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-providers.js","sourceRoot":"","sources":["../../../src/utils/check-providers.ts"],"names":[],"mappings":";;AAGA,sBAEC;AAED,8BAGC;AAED,gCAEC;AAED,gCAEC;AAED,gCAEC;AAED,kCAEC;AAED,8BAEC;AA9BD,yDAA+D;AAE/D,+BAA+B;AAC/B,SAAgB,KAAK,CAAC,OAAgB;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,GAAG,CAAA;AAC/C,CAAC;AAED,SAAgB,SAAS,CAAC,OAAgB;IACxC,0EAA0E;IAC1E,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,OAAO,CAAA;AACnD,CAAC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,QAAQ,CAAA;AACpD,CAAC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,QAAQ,CAAA;AACpD,CAAC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,QAAQ,CAAA;AACpD,CAAC;AAED,SAAgB,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,SAAS,CAAA;AACrD,CAAC;AAED,SAAgB,SAAS,CAAC,OAAgB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,OAAO,CAAA;AACnD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const isNode: () => boolean;
|
|
2
|
+
export declare const isBrowser: () => boolean;
|
|
3
|
+
export declare const isMobile: (mobileBreakpoint?: number) => boolean;
|
|
4
|
+
export declare function isFunction(o: any): boolean;
|
|
5
|
+
export declare function cloneObject(object: any): any;
|
|
6
|
+
export declare const params2queryString: (params: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
}) => string;
|
|
9
|
+
export declare const join: (...segments: string[]) => string;
|
|
10
|
+
export declare const dirname: (path: string) => string;
|
|
@@ -3,14 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.dirname = exports.join = exports.params2queryString = exports.isMobile = exports.isBrowser = exports.isNode = void 0;
|
|
4
4
|
exports.isFunction = isFunction;
|
|
5
5
|
exports.cloneObject = cloneObject;
|
|
6
|
-
exports.isDev = isDev;
|
|
7
|
-
exports.isWebchat = isWebchat;
|
|
8
|
-
exports.isWhatsapp = isWhatsapp;
|
|
9
|
-
exports.isTelegram = isTelegram;
|
|
10
|
-
exports.isFacebook = isFacebook;
|
|
11
|
-
exports.isInstagram = isInstagram;
|
|
12
|
-
exports.isTwitter = isTwitter;
|
|
13
|
-
const legacy_types_1 = require("./models/legacy-types");
|
|
14
6
|
const isNode = () => {
|
|
15
7
|
// @ts-expect-error
|
|
16
8
|
return typeof IS_NODE !== 'undefined'
|
|
@@ -93,27 +85,4 @@ exports.join = join;
|
|
|
93
85
|
// Trailing slashes are ignored. Leading slash is preserved.
|
|
94
86
|
const dirname = (path) => (0, exports.join)(path, '..');
|
|
95
87
|
exports.dirname = dirname;
|
|
96
|
-
|
|
97
|
-
function isDev(session) {
|
|
98
|
-
return session.user.provider === legacy_types_1.PROVIDER.DEV;
|
|
99
|
-
}
|
|
100
|
-
function isWebchat(session) {
|
|
101
|
-
// When the provider is DEV should we return true because it is a webchat?
|
|
102
|
-
return session.user.provider === legacy_types_1.PROVIDER.WEBCHAT;
|
|
103
|
-
}
|
|
104
|
-
function isWhatsapp(session) {
|
|
105
|
-
return session.user.provider === legacy_types_1.PROVIDER.WHATSAPP;
|
|
106
|
-
}
|
|
107
|
-
function isTelegram(session) {
|
|
108
|
-
return session.user.provider === legacy_types_1.PROVIDER.TELEGRAM;
|
|
109
|
-
}
|
|
110
|
-
function isFacebook(session) {
|
|
111
|
-
return session.user.provider === legacy_types_1.PROVIDER.FACEBOOK;
|
|
112
|
-
}
|
|
113
|
-
function isInstagram(session) {
|
|
114
|
-
return session.user.provider === legacy_types_1.PROVIDER.INSTAGRAM;
|
|
115
|
-
}
|
|
116
|
-
function isTwitter(session) {
|
|
117
|
-
return session.user.provider === legacy_types_1.PROVIDER.TWITTER;
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=utils.js.map
|
|
88
|
+
//# sourceMappingURL=functional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functional.js","sourceRoot":"","sources":["../../../src/utils/functional.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./bot-config"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./check-providers"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./functional"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,4DAAiC;AACjC,uDAA4B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { core } from 'zod';
|
|
2
|
+
export interface BotConfigJSON {
|
|
3
|
+
tools: ToolConfigJSON[];
|
|
4
|
+
payloads: string[];
|
|
5
|
+
webviews: WebviewConfigJSON[];
|
|
6
|
+
variables?: VariableConfigJSON[];
|
|
7
|
+
}
|
|
8
|
+
export interface ToolConfigJSON {
|
|
9
|
+
name: string;
|
|
10
|
+
schema?: core.JSONSchema.JSONSchema;
|
|
11
|
+
description: string;
|
|
12
|
+
}
|
|
13
|
+
export interface WebviewConfigJSON {
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
16
|
+
export declare enum VariableType {
|
|
17
|
+
String = "string",
|
|
18
|
+
Number = "number",
|
|
19
|
+
Boolean = "boolean"
|
|
20
|
+
}
|
|
21
|
+
export interface VariableConfigJSON {
|
|
22
|
+
key_path: string;
|
|
23
|
+
type: VariableType;
|
|
24
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VariableType = void 0;
|
|
4
|
+
var VariableType;
|
|
5
|
+
(function (VariableType) {
|
|
6
|
+
VariableType["String"] = "string";
|
|
7
|
+
VariableType["Number"] = "number";
|
|
8
|
+
VariableType["Boolean"] = "boolean";
|
|
9
|
+
})(VariableType || (exports.VariableType = VariableType = {}));
|
|
10
|
+
//# sourceMappingURL=bot-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-config.js","sourceRoot":"","sources":["../../../src/models/bot-config.ts"],"names":[],"mappings":";;;AAoBA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;AACrB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
|
package/lib/esm/models/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./ai-agents"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./bot-config"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./hubtype-analytics"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./knowledge-bases"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./legacy-types"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,8DAAmC;AACnC,4DAAiC;AACjC,yDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,uDAA4B;AAC5B,8DAAmC;AACnC,4DAAiC;AACjC,yDAA8B"}
|
|
@@ -327,17 +327,4 @@ export declare enum BotonicAction {
|
|
|
327
327
|
DeleteUser = "delete_user",
|
|
328
328
|
DiscardCase = "discard_case"
|
|
329
329
|
}
|
|
330
|
-
export interface BotConfigJSON {
|
|
331
|
-
tools: ToolConfigJSON[];
|
|
332
|
-
payloads: string[];
|
|
333
|
-
webviews: WebviewConfigJSON[];
|
|
334
|
-
}
|
|
335
|
-
export interface ToolConfigJSON {
|
|
336
|
-
name: string;
|
|
337
|
-
schema?: any;
|
|
338
|
-
description: string;
|
|
339
|
-
}
|
|
340
|
-
export interface WebviewConfigJSON {
|
|
341
|
-
name: string;
|
|
342
|
-
}
|
|
343
330
|
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSessionVariables = getSessionVariables;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const index_1 = require("../models/index");
|
|
6
|
+
const SESSION_USER_EXTRA_DATA_PREFIX = 'session.user.extra_data';
|
|
7
|
+
const BASE_SESSION_VARIABLES = [
|
|
8
|
+
{ key_path: 'input.data', type: index_1.VariableType.String },
|
|
9
|
+
{ key_path: 'input.type', type: index_1.VariableType.String },
|
|
10
|
+
{ key_path: 'session.user.locale', type: index_1.VariableType.String },
|
|
11
|
+
{
|
|
12
|
+
key_path: 'session.user.country',
|
|
13
|
+
type: index_1.VariableType.String,
|
|
14
|
+
},
|
|
15
|
+
{ key_path: 'session.user.system_locale', type: index_1.VariableType.String },
|
|
16
|
+
];
|
|
17
|
+
function getSessionVariables(extraDataSchema) {
|
|
18
|
+
const variables = [...BASE_SESSION_VARIABLES];
|
|
19
|
+
if (extraDataSchema) {
|
|
20
|
+
variables.push(...getSessionVariablesFromZodSchema(extraDataSchema));
|
|
21
|
+
}
|
|
22
|
+
return variables;
|
|
23
|
+
}
|
|
24
|
+
function getSessionVariablesFromZodSchema(schema) {
|
|
25
|
+
const jsonSchema = zod_1.z.toJSONSchema(schema);
|
|
26
|
+
if (!jsonSchema.properties) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
return Object.entries(jsonSchema.properties).flatMap(([key, propertySchema]) => getSessionVariablesFromJsonSchema(propertySchema, `${SESSION_USER_EXTRA_DATA_PREFIX}.${key}`));
|
|
30
|
+
}
|
|
31
|
+
function getSessionVariablesFromJsonSchema(schema, keyPath) {
|
|
32
|
+
const type = getJsonSchemaType(schema);
|
|
33
|
+
// TODO:Arrays are not supported yet. Review in the future, how to handle them
|
|
34
|
+
// in the frontend feature-flow-builder and in the plugin-flow-builder.
|
|
35
|
+
if (type === 'array') {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
if (type === 'object' && schema.properties) {
|
|
39
|
+
return Object.entries(schema.properties).flatMap(([key, propertySchema]) => getSessionVariablesFromJsonSchema(propertySchema, `${keyPath}.${key}`));
|
|
40
|
+
}
|
|
41
|
+
const variableType = getVariableTypeFromJsonSchema(schema);
|
|
42
|
+
if (!variableType) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
return [{ key_path: keyPath, type: variableType }];
|
|
46
|
+
}
|
|
47
|
+
function getJsonSchemaType(schema) {
|
|
48
|
+
const resolved = resolveJsonSchemaNode(schema);
|
|
49
|
+
const { type } = resolved;
|
|
50
|
+
if (Array.isArray(type)) {
|
|
51
|
+
return type.find(candidate => candidate !== 'null');
|
|
52
|
+
}
|
|
53
|
+
return type;
|
|
54
|
+
}
|
|
55
|
+
function getVariableTypeFromJsonSchema(schema) {
|
|
56
|
+
const resolved = resolveJsonSchemaNode(schema);
|
|
57
|
+
const type = getJsonSchemaType(resolved);
|
|
58
|
+
// enum is transformed to string. Review in the future, how to handle them
|
|
59
|
+
if (type === 'string' || resolved.enum !== undefined) {
|
|
60
|
+
return index_1.VariableType.String;
|
|
61
|
+
}
|
|
62
|
+
if (type === 'number' || type === 'integer') {
|
|
63
|
+
return index_1.VariableType.Number;
|
|
64
|
+
}
|
|
65
|
+
if (type === 'boolean') {
|
|
66
|
+
return index_1.VariableType.Boolean;
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
function resolveJsonSchemaNode(schema) {
|
|
71
|
+
if (schema.anyOf?.length) {
|
|
72
|
+
const nonNullSchema = schema.anyOf.find(candidate => candidate.type !== 'null');
|
|
73
|
+
if (nonNullSchema) {
|
|
74
|
+
return resolveJsonSchemaNode(nonNullSchema);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return schema;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=bot-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-config.js","sourceRoot":"","sources":["../../../src/utils/bot-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Session } from '../models/legacy-types';
|
|
2
|
+
export declare function isDev(session: Session): boolean;
|
|
3
|
+
export declare function isWebchat(session: Session): boolean;
|
|
4
|
+
export declare function isWhatsapp(session: Session): boolean;
|
|
5
|
+
export declare function isTelegram(session: Session): boolean;
|
|
6
|
+
export declare function isFacebook(session: Session): boolean;
|
|
7
|
+
export declare function isInstagram(session: Session): boolean;
|
|
8
|
+
export declare function isTwitter(session: Session): boolean;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDev = isDev;
|
|
4
|
+
exports.isWebchat = isWebchat;
|
|
5
|
+
exports.isWhatsapp = isWhatsapp;
|
|
6
|
+
exports.isTelegram = isTelegram;
|
|
7
|
+
exports.isFacebook = isFacebook;
|
|
8
|
+
exports.isInstagram = isInstagram;
|
|
9
|
+
exports.isTwitter = isTwitter;
|
|
10
|
+
const legacy_types_1 = require("../models/legacy-types");
|
|
11
|
+
// To check Provider in session
|
|
12
|
+
function isDev(session) {
|
|
13
|
+
return session.user.provider === legacy_types_1.PROVIDER.DEV;
|
|
14
|
+
}
|
|
15
|
+
function isWebchat(session) {
|
|
16
|
+
// When the provider is DEV should we return true because it is a webchat?
|
|
17
|
+
return session.user.provider === legacy_types_1.PROVIDER.WEBCHAT;
|
|
18
|
+
}
|
|
19
|
+
function isWhatsapp(session) {
|
|
20
|
+
return session.user.provider === legacy_types_1.PROVIDER.WHATSAPP;
|
|
21
|
+
}
|
|
22
|
+
function isTelegram(session) {
|
|
23
|
+
return session.user.provider === legacy_types_1.PROVIDER.TELEGRAM;
|
|
24
|
+
}
|
|
25
|
+
function isFacebook(session) {
|
|
26
|
+
return session.user.provider === legacy_types_1.PROVIDER.FACEBOOK;
|
|
27
|
+
}
|
|
28
|
+
function isInstagram(session) {
|
|
29
|
+
return session.user.provider === legacy_types_1.PROVIDER.INSTAGRAM;
|
|
30
|
+
}
|
|
31
|
+
function isTwitter(session) {
|
|
32
|
+
return session.user.provider === legacy_types_1.PROVIDER.TWITTER;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=check-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-providers.js","sourceRoot":"","sources":["../../../src/utils/check-providers.ts"],"names":[],"mappings":";;AAGA,sBAEC;AAED,8BAGC;AAED,gCAEC;AAED,gCAEC;AAED,gCAEC;AAED,kCAEC;AAED,8BAEC;AA9BD,yDAA+D;AAE/D,+BAA+B;AAC/B,SAAgB,KAAK,CAAC,OAAgB;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,GAAG,CAAA;AAC/C,CAAC;AAED,SAAgB,SAAS,CAAC,OAAgB;IACxC,0EAA0E;IAC1E,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,OAAO,CAAA;AACnD,CAAC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,QAAQ,CAAA;AACpD,CAAC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,QAAQ,CAAA;AACpD,CAAC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,QAAQ,CAAA;AACpD,CAAC;AAED,SAAgB,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,SAAS,CAAA;AACrD,CAAC;AAED,SAAgB,SAAS,CAAC,OAAgB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,uBAAQ,CAAC,OAAO,CAAA;AACnD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const isNode: () => boolean;
|
|
2
|
+
export declare const isBrowser: () => boolean;
|
|
3
|
+
export declare const isMobile: (mobileBreakpoint?: number) => boolean;
|
|
4
|
+
export declare function isFunction(o: any): boolean;
|
|
5
|
+
export declare function cloneObject(object: any): any;
|
|
6
|
+
export declare const params2queryString: (params: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
}) => string;
|
|
9
|
+
export declare const join: (...segments: string[]) => string;
|
|
10
|
+
export declare const dirname: (path: string) => string;
|
|
@@ -3,14 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.dirname = exports.join = exports.params2queryString = exports.isMobile = exports.isBrowser = exports.isNode = void 0;
|
|
4
4
|
exports.isFunction = isFunction;
|
|
5
5
|
exports.cloneObject = cloneObject;
|
|
6
|
-
exports.isDev = isDev;
|
|
7
|
-
exports.isWebchat = isWebchat;
|
|
8
|
-
exports.isWhatsapp = isWhatsapp;
|
|
9
|
-
exports.isTelegram = isTelegram;
|
|
10
|
-
exports.isFacebook = isFacebook;
|
|
11
|
-
exports.isInstagram = isInstagram;
|
|
12
|
-
exports.isTwitter = isTwitter;
|
|
13
|
-
const legacy_types_1 = require("./models/legacy-types");
|
|
14
6
|
const isNode = () => {
|
|
15
7
|
// @ts-expect-error
|
|
16
8
|
return typeof IS_NODE !== 'undefined'
|
|
@@ -93,27 +85,4 @@ exports.join = join;
|
|
|
93
85
|
// Trailing slashes are ignored. Leading slash is preserved.
|
|
94
86
|
const dirname = (path) => (0, exports.join)(path, '..');
|
|
95
87
|
exports.dirname = dirname;
|
|
96
|
-
|
|
97
|
-
function isDev(session) {
|
|
98
|
-
return session.user.provider === legacy_types_1.PROVIDER.DEV;
|
|
99
|
-
}
|
|
100
|
-
function isWebchat(session) {
|
|
101
|
-
// When the provider is DEV should we return true because it is a webchat?
|
|
102
|
-
return session.user.provider === legacy_types_1.PROVIDER.WEBCHAT;
|
|
103
|
-
}
|
|
104
|
-
function isWhatsapp(session) {
|
|
105
|
-
return session.user.provider === legacy_types_1.PROVIDER.WHATSAPP;
|
|
106
|
-
}
|
|
107
|
-
function isTelegram(session) {
|
|
108
|
-
return session.user.provider === legacy_types_1.PROVIDER.TELEGRAM;
|
|
109
|
-
}
|
|
110
|
-
function isFacebook(session) {
|
|
111
|
-
return session.user.provider === legacy_types_1.PROVIDER.FACEBOOK;
|
|
112
|
-
}
|
|
113
|
-
function isInstagram(session) {
|
|
114
|
-
return session.user.provider === legacy_types_1.PROVIDER.INSTAGRAM;
|
|
115
|
-
}
|
|
116
|
-
function isTwitter(session) {
|
|
117
|
-
return session.user.provider === legacy_types_1.PROVIDER.TWITTER;
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=utils.js.map
|
|
88
|
+
//# sourceMappingURL=functional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functional.js","sourceRoot":"","sources":["../../../src/utils/functional.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./bot-config"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./check-providers"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./functional"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,4DAAiC;AACjC,uDAA4B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/core",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Build Chatbots using React",
|
|
6
6
|
"main": "./lib/cjs/index.js",
|
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
"axios": "^1.15.2",
|
|
52
52
|
"pako": "^2.1.0",
|
|
53
53
|
"process": "^0.11.10",
|
|
54
|
-
"pusher-js": "^5.1.1"
|
|
54
|
+
"pusher-js": "^5.1.1",
|
|
55
|
+
"zod": "^4.4.3"
|
|
55
56
|
},
|
|
56
57
|
"devDependencies": {
|
|
57
58
|
"@types/pako": "^1.0.2",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { core } from 'zod'
|
|
2
|
+
|
|
3
|
+
// This types are used in the bot-config.ts file to load the bot config when deploy a bot.
|
|
4
|
+
export interface BotConfigJSON {
|
|
5
|
+
tools: ToolConfigJSON[]
|
|
6
|
+
payloads: string[]
|
|
7
|
+
webviews: WebviewConfigJSON[]
|
|
8
|
+
variables?: VariableConfigJSON[]
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ToolConfigJSON {
|
|
12
|
+
name: string
|
|
13
|
+
schema?: core.JSONSchema.JSONSchema
|
|
14
|
+
description: string
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface WebviewConfigJSON {
|
|
18
|
+
name: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export enum VariableType {
|
|
22
|
+
String = 'string',
|
|
23
|
+
Number = 'number',
|
|
24
|
+
Boolean = 'boolean',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface VariableConfigJSON {
|
|
28
|
+
key_path: string
|
|
29
|
+
type: VariableType
|
|
30
|
+
}
|
package/src/models/index.ts
CHANGED
|
@@ -458,20 +458,3 @@ export enum BotonicAction {
|
|
|
458
458
|
DeleteUser = 'delete_user',
|
|
459
459
|
DiscardCase = 'discard_case',
|
|
460
460
|
}
|
|
461
|
-
|
|
462
|
-
// This types are used in the bot-config.ts file to load the bot config when deploy a bot.
|
|
463
|
-
export interface BotConfigJSON {
|
|
464
|
-
tools: ToolConfigJSON[]
|
|
465
|
-
payloads: string[]
|
|
466
|
-
webviews: WebviewConfigJSON[]
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
export interface ToolConfigJSON {
|
|
470
|
-
name: string
|
|
471
|
-
schema?: any
|
|
472
|
-
description: string
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
export interface WebviewConfigJSON {
|
|
476
|
-
name: string
|
|
477
|
-
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { type ZodType, z } from 'zod'
|
|
2
|
+
import { type VariableConfigJSON, VariableType } from '../models/index'
|
|
3
|
+
|
|
4
|
+
const SESSION_USER_EXTRA_DATA_PREFIX = 'session.user.extra_data'
|
|
5
|
+
|
|
6
|
+
const BASE_SESSION_VARIABLES: VariableConfigJSON[] = [
|
|
7
|
+
{ key_path: 'input.data', type: VariableType.String },
|
|
8
|
+
{ key_path: 'input.type', type: VariableType.String },
|
|
9
|
+
{ key_path: 'session.user.locale', type: VariableType.String },
|
|
10
|
+
{
|
|
11
|
+
key_path: 'session.user.country',
|
|
12
|
+
type: VariableType.String,
|
|
13
|
+
},
|
|
14
|
+
{ key_path: 'session.user.system_locale', type: VariableType.String },
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
export function getSessionVariables(
|
|
18
|
+
extraDataSchema?: ZodType
|
|
19
|
+
): VariableConfigJSON[] {
|
|
20
|
+
const variables = [...BASE_SESSION_VARIABLES]
|
|
21
|
+
|
|
22
|
+
if (extraDataSchema) {
|
|
23
|
+
variables.push(...getSessionVariablesFromZodSchema(extraDataSchema))
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return variables
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function getSessionVariablesFromZodSchema(
|
|
30
|
+
schema: ZodType
|
|
31
|
+
): VariableConfigJSON[] {
|
|
32
|
+
const jsonSchema = z.toJSONSchema(schema) as JsonSchemaNode
|
|
33
|
+
|
|
34
|
+
if (!jsonSchema.properties) {
|
|
35
|
+
return []
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return Object.entries(jsonSchema.properties).flatMap(
|
|
39
|
+
([key, propertySchema]) =>
|
|
40
|
+
getSessionVariablesFromJsonSchema(
|
|
41
|
+
propertySchema,
|
|
42
|
+
`${SESSION_USER_EXTRA_DATA_PREFIX}.${key}`
|
|
43
|
+
)
|
|
44
|
+
)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function getSessionVariablesFromJsonSchema(
|
|
48
|
+
schema: JsonSchemaNode,
|
|
49
|
+
keyPath: string
|
|
50
|
+
): VariableConfigJSON[] {
|
|
51
|
+
const type = getJsonSchemaType(schema)
|
|
52
|
+
|
|
53
|
+
// TODO:Arrays are not supported yet. Review in the future, how to handle them
|
|
54
|
+
// in the frontend feature-flow-builder and in the plugin-flow-builder.
|
|
55
|
+
if (type === 'array') {
|
|
56
|
+
return []
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (type === 'object' && schema.properties) {
|
|
60
|
+
return Object.entries(schema.properties).flatMap(([key, propertySchema]) =>
|
|
61
|
+
getSessionVariablesFromJsonSchema(propertySchema, `${keyPath}.${key}`)
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const variableType = getVariableTypeFromJsonSchema(schema)
|
|
66
|
+
if (!variableType) {
|
|
67
|
+
return []
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return [{ key_path: keyPath, type: variableType }]
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function getJsonSchemaType(schema: JsonSchemaNode): string | undefined {
|
|
74
|
+
const resolved = resolveJsonSchemaNode(schema)
|
|
75
|
+
const { type } = resolved
|
|
76
|
+
|
|
77
|
+
if (Array.isArray(type)) {
|
|
78
|
+
return type.find(candidate => candidate !== 'null')
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return type
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function getVariableTypeFromJsonSchema(
|
|
85
|
+
schema: JsonSchemaNode
|
|
86
|
+
): VariableType | undefined {
|
|
87
|
+
const resolved = resolveJsonSchemaNode(schema)
|
|
88
|
+
const type = getJsonSchemaType(resolved)
|
|
89
|
+
|
|
90
|
+
// enum is transformed to string. Review in the future, how to handle them
|
|
91
|
+
if (type === 'string' || resolved.enum !== undefined) {
|
|
92
|
+
return VariableType.String
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (type === 'number' || type === 'integer') {
|
|
96
|
+
return VariableType.Number
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (type === 'boolean') {
|
|
100
|
+
return VariableType.Boolean
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return undefined
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
type JsonSchemaNode = {
|
|
107
|
+
type?: string | string[]
|
|
108
|
+
enum?: unknown[]
|
|
109
|
+
properties?: Record<string, JsonSchemaNode>
|
|
110
|
+
anyOf?: JsonSchemaNode[]
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function resolveJsonSchemaNode(schema: JsonSchemaNode): JsonSchemaNode {
|
|
114
|
+
if (schema.anyOf?.length) {
|
|
115
|
+
const nonNullSchema = schema.anyOf.find(
|
|
116
|
+
candidate => candidate.type !== 'null'
|
|
117
|
+
)
|
|
118
|
+
if (nonNullSchema) {
|
|
119
|
+
return resolveJsonSchemaNode(nonNullSchema)
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return schema
|
|
124
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PROVIDER, type Session } from '../models/legacy-types'
|
|
2
|
+
|
|
3
|
+
// To check Provider in session
|
|
4
|
+
export function isDev(session: Session) {
|
|
5
|
+
return session.user.provider === PROVIDER.DEV
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function isWebchat(session: Session) {
|
|
9
|
+
// When the provider is DEV should we return true because it is a webchat?
|
|
10
|
+
return session.user.provider === PROVIDER.WEBCHAT
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function isWhatsapp(session: Session) {
|
|
14
|
+
return session.user.provider === PROVIDER.WHATSAPP
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function isTelegram(session: Session) {
|
|
18
|
+
return session.user.provider === PROVIDER.TELEGRAM
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function isFacebook(session: Session) {
|
|
22
|
+
return session.user.provider === PROVIDER.FACEBOOK
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function isInstagram(session: Session) {
|
|
26
|
+
return session.user.provider === PROVIDER.INSTAGRAM
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function isTwitter(session: Session) {
|
|
30
|
+
return session.user.provider === PROVIDER.TWITTER
|
|
31
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { PROVIDER, type Session } from './models/legacy-types'
|
|
2
|
-
|
|
3
1
|
export const isNode = (): boolean => {
|
|
4
2
|
// @ts-expect-error
|
|
5
3
|
return typeof IS_NODE !== 'undefined'
|
|
@@ -87,33 +85,3 @@ export const join = (...segments: string[]): string => {
|
|
|
87
85
|
// A simple function to get the dirname of a path
|
|
88
86
|
// Trailing slashes are ignored. Leading slash is preserved.
|
|
89
87
|
export const dirname = (path: string): string => join(path, '..')
|
|
90
|
-
|
|
91
|
-
// To check Provider in session
|
|
92
|
-
export function isDev(session: Session) {
|
|
93
|
-
return session.user.provider === PROVIDER.DEV
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export function isWebchat(session: Session) {
|
|
97
|
-
// When the provider is DEV should we return true because it is a webchat?
|
|
98
|
-
return session.user.provider === PROVIDER.WEBCHAT
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export function isWhatsapp(session: Session) {
|
|
102
|
-
return session.user.provider === PROVIDER.WHATSAPP
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export function isTelegram(session: Session) {
|
|
106
|
-
return session.user.provider === PROVIDER.TELEGRAM
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
export function isFacebook(session: Session) {
|
|
110
|
-
return session.user.provider === PROVIDER.FACEBOOK
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export function isInstagram(session: Session) {
|
|
114
|
-
return session.user.provider === PROVIDER.INSTAGRAM
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export function isTwitter(session: Session) {
|
|
118
|
-
return session.user.provider === PROVIDER.TWITTER
|
|
119
|
-
}
|
package/lib/cjs/utils.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type Session } from './models/legacy-types';
|
|
2
|
-
export declare const isNode: () => boolean;
|
|
3
|
-
export declare const isBrowser: () => boolean;
|
|
4
|
-
export declare const isMobile: (mobileBreakpoint?: number) => boolean;
|
|
5
|
-
export declare function isFunction(o: any): boolean;
|
|
6
|
-
export declare function cloneObject(object: any): any;
|
|
7
|
-
export declare const params2queryString: (params: {
|
|
8
|
-
[key: string]: string;
|
|
9
|
-
}) => string;
|
|
10
|
-
export declare const join: (...segments: string[]) => string;
|
|
11
|
-
export declare const dirname: (path: string) => string;
|
|
12
|
-
export declare function isDev(session: Session): boolean;
|
|
13
|
-
export declare function isWebchat(session: Session): boolean;
|
|
14
|
-
export declare function isWhatsapp(session: Session): boolean;
|
|
15
|
-
export declare function isTelegram(session: Session): boolean;
|
|
16
|
-
export declare function isFacebook(session: Session): boolean;
|
|
17
|
-
export declare function isInstagram(session: Session): boolean;
|
|
18
|
-
export declare function isTwitter(session: Session): boolean;
|
package/lib/cjs/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/utils.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type Session } from './models/legacy-types';
|
|
2
|
-
export declare const isNode: () => boolean;
|
|
3
|
-
export declare const isBrowser: () => boolean;
|
|
4
|
-
export declare const isMobile: (mobileBreakpoint?: number) => boolean;
|
|
5
|
-
export declare function isFunction(o: any): boolean;
|
|
6
|
-
export declare function cloneObject(object: any): any;
|
|
7
|
-
export declare const params2queryString: (params: {
|
|
8
|
-
[key: string]: string;
|
|
9
|
-
}) => string;
|
|
10
|
-
export declare const join: (...segments: string[]) => string;
|
|
11
|
-
export declare const dirname: (path: string) => string;
|
|
12
|
-
export declare function isDev(session: Session): boolean;
|
|
13
|
-
export declare function isWebchat(session: Session): boolean;
|
|
14
|
-
export declare function isWhatsapp(session: Session): boolean;
|
|
15
|
-
export declare function isTelegram(session: Session): boolean;
|
|
16
|
-
export declare function isFacebook(session: Session): boolean;
|
|
17
|
-
export declare function isInstagram(session: Session): boolean;
|
|
18
|
-
export declare function isTwitter(session: Session): boolean;
|
package/lib/esm/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|