@botonic/core 0.26.0-beta.0 → 0.26.1-alpha.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 (102) hide show
  1. package/lib/cjs/core-bot.d.ts +1 -3
  2. package/lib/cjs/core-bot.js +3 -33
  3. package/lib/cjs/core-bot.js.map +1 -1
  4. package/lib/cjs/handoff.d.ts +1 -1
  5. package/lib/cjs/index.d.ts +0 -1
  6. package/lib/cjs/index.js +0 -3
  7. package/lib/cjs/index.js.map +1 -1
  8. package/lib/cjs/models/legacy-types.d.ts +44 -40
  9. package/lib/cjs/models/legacy-types.js +16 -32
  10. package/lib/cjs/models/legacy-types.js.map +1 -1
  11. package/lib/cjs/plugins.d.ts +2 -3
  12. package/lib/cjs/plugins.js +2 -4
  13. package/lib/cjs/plugins.js.map +1 -1
  14. package/lib/cjs/utils.d.ts +8 -0
  15. package/lib/cjs/utils.js +32 -1
  16. package/lib/cjs/utils.js.map +1 -1
  17. package/lib/esm/core-bot.d.ts +1 -3
  18. package/lib/esm/core-bot.js +4 -34
  19. package/lib/esm/core-bot.js.map +1 -1
  20. package/lib/esm/handoff.d.ts +1 -1
  21. package/lib/esm/index.d.ts +0 -1
  22. package/lib/esm/index.js +0 -3
  23. package/lib/esm/index.js.map +1 -1
  24. package/lib/esm/models/legacy-types.d.ts +44 -40
  25. package/lib/esm/models/legacy-types.js +15 -31
  26. package/lib/esm/models/legacy-types.js.map +1 -1
  27. package/lib/esm/plugins.d.ts +2 -3
  28. package/lib/esm/plugins.js +2 -4
  29. package/lib/esm/plugins.js.map +1 -1
  30. package/lib/esm/utils.d.ts +8 -0
  31. package/lib/esm/utils.js +24 -0
  32. package/lib/esm/utils.js.map +1 -1
  33. package/package.json +1 -6
  34. package/src/core-bot.ts +2 -56
  35. package/src/handoff.ts +1 -1
  36. package/src/index.ts +0 -3
  37. package/src/models/legacy-types.ts +77 -75
  38. package/src/plugins.ts +2 -8
  39. package/src/utils.ts +32 -0
  40. package/lib/cjs/data-provider/dynamodb-data-provider.d.ts +0 -26
  41. package/lib/cjs/data-provider/dynamodb-data-provider.js +0 -107
  42. package/lib/cjs/data-provider/dynamodb-data-provider.js.map +0 -1
  43. package/lib/cjs/data-provider/dynamodb-utils.d.ts +0 -11
  44. package/lib/cjs/data-provider/dynamodb-utils.js +0 -121
  45. package/lib/cjs/data-provider/dynamodb-utils.js.map +0 -1
  46. package/lib/cjs/data-provider/factory.d.ts +0 -25
  47. package/lib/cjs/data-provider/factory.js +0 -31
  48. package/lib/cjs/data-provider/factory.js.map +0 -1
  49. package/lib/cjs/data-provider/index.d.ts +0 -4
  50. package/lib/cjs/data-provider/index.js +0 -8
  51. package/lib/cjs/data-provider/index.js.map +0 -1
  52. package/lib/cjs/data-provider/local-data-provider.d.ts +0 -26
  53. package/lib/cjs/data-provider/local-data-provider.js +0 -137
  54. package/lib/cjs/data-provider/local-data-provider.js.map +0 -1
  55. package/lib/cjs/output-parser/botonic-output-parser.d.ts +0 -16
  56. package/lib/cjs/output-parser/botonic-output-parser.js +0 -37
  57. package/lib/cjs/output-parser/botonic-output-parser.js.map +0 -1
  58. package/lib/cjs/output-parser/factory.d.ts +0 -4
  59. package/lib/cjs/output-parser/factory.js +0 -36
  60. package/lib/cjs/output-parser/factory.js.map +0 -1
  61. package/lib/cjs/output-parser/index.d.ts +0 -3
  62. package/lib/cjs/output-parser/index.js +0 -7
  63. package/lib/cjs/output-parser/index.js.map +0 -1
  64. package/lib/cjs/output-parser/parsers.d.ts +0 -26
  65. package/lib/cjs/output-parser/parsers.js +0 -171
  66. package/lib/cjs/output-parser/parsers.js.map +0 -1
  67. package/lib/esm/data-provider/dynamodb-data-provider.d.ts +0 -26
  68. package/lib/esm/data-provider/dynamodb-data-provider.js +0 -103
  69. package/lib/esm/data-provider/dynamodb-data-provider.js.map +0 -1
  70. package/lib/esm/data-provider/dynamodb-utils.d.ts +0 -11
  71. package/lib/esm/data-provider/dynamodb-utils.js +0 -113
  72. package/lib/esm/data-provider/dynamodb-utils.js.map +0 -1
  73. package/lib/esm/data-provider/factory.d.ts +0 -25
  74. package/lib/esm/data-provider/factory.js +0 -27
  75. package/lib/esm/data-provider/factory.js.map +0 -1
  76. package/lib/esm/data-provider/index.d.ts +0 -4
  77. package/lib/esm/data-provider/index.js +0 -5
  78. package/lib/esm/data-provider/index.js.map +0 -1
  79. package/lib/esm/data-provider/local-data-provider.d.ts +0 -26
  80. package/lib/esm/data-provider/local-data-provider.js +0 -133
  81. package/lib/esm/data-provider/local-data-provider.js.map +0 -1
  82. package/lib/esm/output-parser/botonic-output-parser.d.ts +0 -16
  83. package/lib/esm/output-parser/botonic-output-parser.js +0 -33
  84. package/lib/esm/output-parser/botonic-output-parser.js.map +0 -1
  85. package/lib/esm/output-parser/factory.d.ts +0 -4
  86. package/lib/esm/output-parser/factory.js +0 -32
  87. package/lib/esm/output-parser/factory.js.map +0 -1
  88. package/lib/esm/output-parser/index.d.ts +0 -3
  89. package/lib/esm/output-parser/index.js +0 -4
  90. package/lib/esm/output-parser/index.js.map +0 -1
  91. package/lib/esm/output-parser/parsers.d.ts +0 -26
  92. package/lib/esm/output-parser/parsers.js +0 -151
  93. package/lib/esm/output-parser/parsers.js.map +0 -1
  94. package/src/data-provider/dynamodb-data-provider.ts +0 -105
  95. package/src/data-provider/dynamodb-utils.ts +0 -149
  96. package/src/data-provider/factory.ts +0 -60
  97. package/src/data-provider/index.ts +0 -4
  98. package/src/data-provider/local-data-provider.ts +0 -154
  99. package/src/output-parser/botonic-output-parser.ts +0 -38
  100. package/src/output-parser/factory.ts +0 -45
  101. package/src/output-parser/index.ts +0 -3
  102. package/src/output-parser/parsers.ts +0 -237
@@ -7,7 +7,7 @@ export interface HubtypeAgentsInfo {
7
7
  status: string;
8
8
  }
9
9
  export interface HubtypeSession extends Session {
10
- _hubtype_api?: string;
10
+ _hubtype_api: string;
11
11
  _access_token: string;
12
12
  }
13
13
  export interface SessionWithBotonicAction extends Session {
@@ -5,7 +5,6 @@ export * from './handoff';
5
5
  export * from './hubtype-service';
6
6
  export * from './i18n';
7
7
  export * from './models';
8
- export * from './output-parser';
9
8
  export * from './plugins';
10
9
  export * from './routing';
11
10
  export * from './utils';
package/lib/esm/index.js CHANGED
@@ -1,13 +1,10 @@
1
1
  export * from './constants';
2
2
  export * from './core-bot';
3
- // TODO: Review @botonic/react's tree-shaking to remove dataProvider from bundle
4
- // export * from './data-provider'
5
3
  export * from './debug';
6
4
  export * from './handoff';
7
5
  export * from './hubtype-service';
8
6
  export * from './i18n';
9
7
  export * from './models';
10
- export * from './output-parser';
11
8
  export * from './plugins';
12
9
  export * from './routing';
13
10
  export * from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,gFAAgF;AAChF,kCAAkC;AAClC,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
@@ -1,7 +1,17 @@
1
- import { DataProvider } from '../data-provider';
2
- import { BotonicEvent } from './events';
3
- export type CaseStatusType = typeof CASE_STATUS.ATTENDING | typeof CASE_STATUS.IDLE | typeof CASE_STATUS.RESOLVED | typeof CASE_STATUS.WAITING;
4
- export type CaseResolution = typeof CASE_RESOLUTION.BANNED | typeof CASE_RESOLUTION.NOK | typeof CASE_RESOLUTION.NOT_SOLVED | typeof CASE_RESOLUTION.OK;
1
+ export declare enum CASE_STATUS {
2
+ WAITING = "status_waiting",
3
+ ATTENDING = "status_attending",
4
+ IDLE = "status_idle",
5
+ RESOLVED = "status_resolved"
6
+ }
7
+ export type CaseStatusType = CASE_STATUS.ATTENDING | CASE_STATUS.IDLE | CASE_STATUS.RESOLVED | CASE_STATUS.WAITING;
8
+ export declare enum CASE_RESOLUTION {
9
+ OK = "result_ok",
10
+ NOK = "result_nok",
11
+ NOT_SOLVED = "result_not_solved",
12
+ BANNED = "result_banned"
13
+ }
14
+ export type CaseResolution = CASE_RESOLUTION.BANNED | CASE_RESOLUTION.NOK | CASE_RESOLUTION.NOT_SOLVED | CASE_RESOLUTION.OK;
5
15
  export declare enum PROVIDER {
6
16
  APPLE = "apple",
7
17
  DEV = "dev",
@@ -16,6 +26,7 @@ export declare enum PROVIDER {
16
26
  WECHAT = "wechat",
17
27
  WHATSAPP = "whatsapp"
18
28
  }
29
+ export type ProviderType = PROVIDER.DEV | PROVIDER.FACEBOOK | PROVIDER.GENERIC | PROVIDER.INSTAGRAM | PROVIDER.INTERCOM | PROVIDER.SMOOCH | PROVIDER.TELEGRAM | PROVIDER.TWITTER | PROVIDER.WEBCHAT | PROVIDER.WECHAT | PROVIDER.WHATSAPP;
19
30
  export declare enum INPUT {
20
31
  TEXT = "text",
21
32
  POSTBACK = "postback",
@@ -32,19 +43,8 @@ export declare enum INPUT {
32
43
  WHATSAPP_TEMPLATE = "whatsapptemplate",
33
44
  RAW = "raw",
34
45
  CHAT_EVENT = "chatevent",
35
- WHATSAPP_BUTTON_LIST = "whatsapp-button-list"
36
- }
37
- export declare enum CASE_STATUS {
38
- WAITING = "status_waiting",
39
- ATTENDING = "status_attending",
40
- IDLE = "status_idle",
41
- RESOLVED = "status_resolved"
42
- }
43
- export declare enum CASE_RESOLUTION {
44
- OK = "result_ok",
45
- NOK = "result_nok",
46
- NOT_SOLVED = "result_not_solved",
47
- BANNED = "result_banned"
46
+ WHATSAPP_BUTTON_LIST = "whatsapp-button-list",
47
+ WHATSAPP_CTA_URL_BUTTON = "whatsapp-cta-url-button"
48
48
  }
49
49
  export interface Locales {
50
50
  [id: string]: string | string[] | Locales;
@@ -65,7 +65,7 @@ export interface ResolvedPlugin extends Plugin {
65
65
  config: any;
66
66
  }
67
67
  export type ResolvedPlugins = Record<string, ResolvedPlugin>;
68
- export 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 | typeof INPUT.CHAT_EVENT | typeof INPUT.WHATSAPP_BUTTON_LIST;
68
+ export type InputType = INPUT.AUDIO | INPUT.BUTTON_MESSAGE | INPUT.CAROUSEL | INPUT.CONTACT | INPUT.CUSTOM | INPUT.DOCUMENT | INPUT.IMAGE | INPUT.LOCATION | INPUT.POSTBACK | INPUT.TEXT | INPUT.VIDEO | INPUT.WEBCHAT_SETTINGS | INPUT.WHATSAPP_TEMPLATE | INPUT.CHAT_EVENT | INPUT.WHATSAPP_BUTTON_LIST | INPUT.WHATSAPP_CTA_URL_BUTTON;
69
69
  export interface IntentResult {
70
70
  intent: string;
71
71
  confidence: number;
@@ -90,9 +90,21 @@ export interface Input extends Partial<NluResult> {
90
90
  data?: string;
91
91
  path?: string;
92
92
  payload?: string;
93
+ referral?: string;
93
94
  type: InputType;
95
+ context?: {
96
+ campaign?: Campaign;
97
+ };
98
+ }
99
+ export interface Campaign {
100
+ id: string;
101
+ name: string;
102
+ status: string;
103
+ start_date: string;
104
+ end_date: string;
105
+ bot_path: string;
106
+ template_name: string;
94
107
  }
95
- export type ProviderType = typeof PROVIDER.DEV | typeof PROVIDER.FACEBOOK | typeof PROVIDER.GENERIC | typeof PROVIDER.INSTAGRAM | typeof PROVIDER.INTERCOM | typeof PROVIDER.SMOOCH | typeof PROVIDER.TELEGRAM | typeof PROVIDER.TWITTER | typeof PROVIDER.WEBCHAT | typeof PROVIDER.WECHAT | typeof PROVIDER.WHATSAPP;
96
108
  export interface SessionUser {
97
109
  id: string;
98
110
  username?: string;
@@ -102,6 +114,11 @@ export interface SessionUser {
102
114
  imp_id?: string;
103
115
  provider_id?: string;
104
116
  }
117
+ export interface HubtypeCaseContactReason {
118
+ id: string;
119
+ name: string;
120
+ project_id: string;
121
+ }
105
122
  export interface Session {
106
123
  bot: {
107
124
  id: string;
@@ -109,15 +126,21 @@ export interface Session {
109
126
  };
110
127
  __locale?: string;
111
128
  __retries: number;
129
+ _access_token: string;
130
+ _hubtype_api: string;
112
131
  is_first_interaction: boolean;
113
132
  last_session?: any;
114
- organization: string;
115
133
  organization_id: string;
134
+ organization: string;
116
135
  user: SessionUser;
136
+ _botonic_action?: string;
117
137
  _hubtype_case_status?: CaseStatusType;
138
+ _hubtype_case_id?: string;
118
139
  _hubtype_case_typification?: string;
140
+ _hubtype_case_contact_reasons?: HubtypeCaseContactReason[];
119
141
  _shadowing?: boolean;
120
- _access_token?: string;
142
+ external?: any;
143
+ zendesk_ticket_id?: string;
121
144
  }
122
145
  export type InputMatcher = (input: Input) => boolean;
123
146
  export type ParamsMatcher = {
@@ -152,7 +175,6 @@ export interface BotRequest {
152
175
  input: Input;
153
176
  lastRoutePath: RoutePath;
154
177
  session: Session;
155
- dataProvider?: DataProvider;
156
178
  }
157
179
  /** The response of the bot for the triggered actions, which can be
158
180
  * the one matched by the routes, the default action and the retry actions.
@@ -160,7 +182,6 @@ export interface BotRequest {
160
182
  * */
161
183
  export interface BotResponse extends BotRequest {
162
184
  response: any;
163
- messageEvents: Partial<BotonicEvent>[] | null;
164
185
  }
165
186
  export interface PluginPreRequest extends BotRequest {
166
187
  plugins: ResolvedPlugins;
@@ -175,23 +196,6 @@ export interface Plugin {
175
196
  export interface Params {
176
197
  [key: string]: any;
177
198
  }
178
- export declare const Providers: Readonly<{
179
- Messaging: {
180
- APPLE: string;
181
- FACEBOOK: string;
182
- GENERIC: string;
183
- IMBEE: string;
184
- INSTAGRAM: string;
185
- INTERCOM: string;
186
- SMOOCH_WEB: string;
187
- SMOOCH: string;
188
- TELEGRAM: string;
189
- TWITTER: string;
190
- WEBCHAT: string;
191
- WECHAT: string;
192
- WHATSAPP: string;
193
- };
194
- }>;
195
199
  export type Nullable<T> = T | null;
196
200
  export type Action = Nullable<() => any>;
197
201
  export type RoutePath = Nullable<string>;
@@ -1,4 +1,18 @@
1
1
  // TODO: This file contains all the legacy types we had in index.ts. After some refactors, we should be able to get rid of many of them.
2
+ export var CASE_STATUS;
3
+ (function (CASE_STATUS) {
4
+ CASE_STATUS["WAITING"] = "status_waiting";
5
+ CASE_STATUS["ATTENDING"] = "status_attending";
6
+ CASE_STATUS["IDLE"] = "status_idle";
7
+ CASE_STATUS["RESOLVED"] = "status_resolved";
8
+ })(CASE_STATUS || (CASE_STATUS = {}));
9
+ export var CASE_RESOLUTION;
10
+ (function (CASE_RESOLUTION) {
11
+ CASE_RESOLUTION["OK"] = "result_ok";
12
+ CASE_RESOLUTION["NOK"] = "result_nok";
13
+ CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
14
+ CASE_RESOLUTION["BANNED"] = "result_banned";
15
+ })(CASE_RESOLUTION || (CASE_RESOLUTION = {}));
2
16
  export var PROVIDER;
3
17
  (function (PROVIDER) {
4
18
  PROVIDER["APPLE"] = "apple";
@@ -32,36 +46,6 @@ export var INPUT;
32
46
  INPUT["RAW"] = "raw";
33
47
  INPUT["CHAT_EVENT"] = "chatevent";
34
48
  INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
49
+ INPUT["WHATSAPP_CTA_URL_BUTTON"] = "whatsapp-cta-url-button";
35
50
  })(INPUT || (INPUT = {}));
36
- export var CASE_STATUS;
37
- (function (CASE_STATUS) {
38
- CASE_STATUS["WAITING"] = "status_waiting";
39
- CASE_STATUS["ATTENDING"] = "status_attending";
40
- CASE_STATUS["IDLE"] = "status_idle";
41
- CASE_STATUS["RESOLVED"] = "status_resolved";
42
- })(CASE_STATUS || (CASE_STATUS = {}));
43
- export var CASE_RESOLUTION;
44
- (function (CASE_RESOLUTION) {
45
- CASE_RESOLUTION["OK"] = "result_ok";
46
- CASE_RESOLUTION["NOK"] = "result_nok";
47
- CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
48
- CASE_RESOLUTION["BANNED"] = "result_banned";
49
- })(CASE_RESOLUTION || (CASE_RESOLUTION = {}));
50
- export const Providers = Object.freeze({
51
- Messaging: {
52
- APPLE: 'apple',
53
- FACEBOOK: 'facebook',
54
- GENERIC: 'generic',
55
- IMBEE: 'imbee',
56
- INSTAGRAM: 'instagram',
57
- INTERCOM: 'intercom',
58
- SMOOCH_WEB: 'smooch_web',
59
- SMOOCH: 'smooch',
60
- TELEGRAM: 'telegram',
61
- TWITTER: 'twitter',
62
- WEBCHAT: 'webchat',
63
- WECHAT: 'wechat',
64
- WHATSAPP: 'whatsapp',
65
- },
66
- });
67
51
  //# sourceMappingURL=legacy-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":"AAAA,wIAAwI;AAiBxI,MAAM,CAAN,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACvB,CAAC,EAbW,QAAQ,KAAR,QAAQ,QAanB;AAED,MAAM,CAAN,IAAY,KAiBX;AAjBD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,8BAAqB,CAAA;IACrB,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,4BAAmB,CAAA;IACnB,yCAAgC,CAAA;IAChC,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,6CAAoC,CAAA;IACpC,+CAAsC,CAAA;IACtC,oBAAW,CAAA;IACX,iCAAwB,CAAA;IACxB,sDAA6C,CAAA;AAC/C,CAAC,EAjBW,KAAK,KAAL,KAAK,QAiBhB;AAED,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AA8LD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE;QACT,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":"AAAA,wIAAwI;AAExI,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAQD,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAQD,MAAM,CAAN,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACvB,CAAC,EAbW,QAAQ,KAAR,QAAQ,QAanB;AAeD,MAAM,CAAN,IAAY,KAkBX;AAlBD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,8BAAqB,CAAA;IACrB,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,4BAAmB,CAAA;IACnB,yCAAgC,CAAA;IAChC,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,6CAAoC,CAAA;IACpC,+CAAsC,CAAA;IACtC,oBAAW,CAAA;IACX,iCAAwB,CAAA;IACxB,sDAA6C,CAAA;IAC7C,4DAAmD,CAAA;AACrD,CAAC,EAlBW,KAAK,KAAL,KAAK,QAkBhB"}
@@ -1,6 +1,5 @@
1
- import { DataProvider } from './data-provider';
2
- import { BotonicEvent, Input, PluginConfig, ResolvedPlugins, RoutePath, Session } from './models';
1
+ import { Input, PluginConfig, ResolvedPlugins, RoutePath, Session } from './models';
3
2
  type PluginMode = 'pre' | 'post';
4
3
  export declare function loadPlugins(plugins: PluginConfig<any>[]): ResolvedPlugins;
5
- export declare function runPlugins(plugins: ResolvedPlugins, mode: PluginMode, input: Input, session: Session, lastRoutePath: RoutePath, response?: string | null, messageEvents?: Partial<BotonicEvent>[] | null, dataProvider?: DataProvider): Promise<void>;
4
+ export declare function runPlugins(plugins: ResolvedPlugins, mode: PluginMode, input: Input, session: Session, lastRoutePath: RoutePath, response?: string | null): Promise<void>;
6
5
  export {};
@@ -17,13 +17,13 @@ export function loadPlugins(plugins) {
17
17
  }
18
18
  return _plugins;
19
19
  }
20
- export function runPlugins(plugins, mode, input, session, lastRoutePath, response = null, messageEvents = null, dataProvider) {
20
+ export function runPlugins(plugins, mode, input, session, lastRoutePath, response = null) {
21
21
  return __awaiter(this, void 0, void 0, function* () {
22
22
  for (const key in plugins) {
23
23
  const p = yield plugins[key];
24
24
  try {
25
25
  if (mode === 'pre' && p.pre) {
26
- yield p.pre({ input, session, lastRoutePath, dataProvider, plugins });
26
+ yield p.pre({ input, session, lastRoutePath, plugins });
27
27
  }
28
28
  if (mode === 'post' && p.post) {
29
29
  yield p.post({
@@ -31,8 +31,6 @@ export function runPlugins(plugins, mode, input, session, lastRoutePath, respons
31
31
  session,
32
32
  lastRoutePath,
33
33
  response,
34
- messageEvents,
35
- dataProvider,
36
34
  plugins,
37
35
  });
38
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":";AAYA,MAAM,UAAU,WAAW,CAAC,OAA4B;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAC1D,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;QACvB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAA;QACpB,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAA;QAC7B,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;KACnD;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAgB,UAAU,CAC9B,OAAwB,EACxB,IAAgB,EAChB,KAAY,EACZ,OAAgB,EAChB,aAAwB,EACxB,WAA0B,IAAI,EAC9B,gBAAgD,IAAI,EACpD,YAA2B;;QAE3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACzB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI;gBACF,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE;oBAC3B,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAA;iBACtE;gBACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE;oBAC7B,MAAM,CAAC,CAAC,IAAI,CAAC;wBACX,KAAK;wBACL,OAAO;wBACP,aAAa;wBACb,QAAQ;wBACR,aAAa;wBACb,YAAY;wBACZ,OAAO;qBACR,CAAC,CAAA;iBACH;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;aACf;SACF;IACH,CAAC;CAAA"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":";AAUA,MAAM,UAAU,WAAW,CAAC,OAA4B;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAC1D,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;QACvB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAA;QACpB,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAA;QAC7B,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;KACnD;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAgB,UAAU,CAC9B,OAAwB,EACxB,IAAgB,EAChB,KAAY,EACZ,OAAgB,EAChB,aAAwB,EACxB,WAA0B,IAAI;;QAE9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACzB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI;gBACF,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE;oBAC3B,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAA;iBACxD;gBACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE;oBAC7B,MAAM,CAAC,CAAC,IAAI,CAAC;wBACX,KAAK;wBACL,OAAO;wBACP,aAAa;wBACb,QAAQ;wBACR,OAAO;qBACR,CAAC,CAAA;iBACH;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;aACf;SACF;IACH,CAAC;CAAA"}
@@ -1,3 +1,4 @@
1
+ import { Session } from './models/legacy-types';
1
2
  export declare const isNode: () => boolean;
2
3
  export declare const isBrowser: () => boolean;
3
4
  export declare const isMobile: (mobileBreakpoint?: number) => boolean;
@@ -8,3 +9,10 @@ export declare const params2queryString: (params: {
8
9
  }) => string;
9
10
  export declare const join: (...segments: string[]) => string;
10
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 CHANGED
@@ -1,3 +1,4 @@
1
+ import { PROVIDER } from './models/legacy-types';
1
2
  export const isNode = () => {
2
3
  // @ts-ignore
3
4
  return typeof IS_NODE !== 'undefined'
@@ -71,4 +72,27 @@ export const join = (...segments) => {
71
72
  // A simple function to get the dirname of a path
72
73
  // Trailing slashes are ignored. Leading slash is preserved.
73
74
  export const dirname = (path) => join(path, '..');
75
+ // To check Provider in session
76
+ export function isDev(session) {
77
+ return session.user.provider === PROVIDER.DEV;
78
+ }
79
+ export function isWebchat(session) {
80
+ // When the provider is DEV should we return true because it is a webchat?
81
+ return session.user.provider === PROVIDER.WEBCHAT;
82
+ }
83
+ export function isWhatsapp(session) {
84
+ return session.user.provider === PROVIDER.WHATSAPP;
85
+ }
86
+ export function isTelegram(session) {
87
+ return session.user.provider === PROVIDER.TELEGRAM;
88
+ }
89
+ export function isFacebook(session) {
90
+ return session.user.provider === PROVIDER.FACEBOOK;
91
+ }
92
+ export function isInstagram(session) {
93
+ return session.user.provider === PROVIDER.INSTAGRAM;
94
+ }
95
+ export function isTwitter(session) {
96
+ return session.user.provider === PROVIDER.TWITTER;
97
+ }
74
98
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
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.26.0-beta.0",
3
+ "version": "0.26.1-alpha.0",
4
4
  "license": "MIT",
5
5
  "description": "Build Chatbots using React",
6
6
  "main": "./lib/cjs/index.js",
@@ -30,13 +30,8 @@
30
30
  ],
31
31
  "dependencies": {
32
32
  "@babel/plugin-transform-runtime": "^7.23.9",
33
- "aws-sdk": "^2.1404.0",
34
33
  "axios": "^1.6.8",
35
34
  "decode": "^0.3.0",
36
- "dynamodb-toolbox": "^0.3.4",
37
- "fast-xml-parser": "3.19.0",
38
- "html-entities": "^2.4.0",
39
- "node-json-db": "^1.6.0",
40
35
  "pako": "^2.1.0",
41
36
  "process": "^0.11.10",
42
37
  "pusher-js": "^5.1.1",
package/src/core-bot.ts CHANGED
@@ -1,21 +1,15 @@
1
- import { ulid } from 'ulid'
2
-
3
1
  import { Inspector } from './debug'
4
2
  import { getString } from './i18n'
5
3
  import {
6
- BotonicEvent,
7
4
  BotRequest,
8
5
  BotResponse,
9
6
  INPUT,
10
7
  Locales,
11
- MessageEventAck,
12
- MessageEventFrom,
13
8
  ResolvedPlugins,
14
9
  Route,
15
10
  Routes,
16
11
  Session,
17
12
  } from './models'
18
- import { BotonicOutputParser } from './output-parser'
19
13
  import { loadPlugins, runPlugins } from './plugins'
20
14
  import { getComputedRoutes, Router } from './routing'
21
15
 
@@ -44,7 +38,6 @@ export class CoreBot {
44
38
  router: Router | null
45
39
  routes: Routes
46
40
  theme?: any
47
- botonicOutputParser = new BotonicOutputParser()
48
41
 
49
42
  constructor({
50
43
  // TODO: Receives dataProvider
@@ -96,7 +89,6 @@ export class CoreBot {
96
89
  input,
97
90
  session,
98
91
  lastRoutePath,
99
- dataProvider,
100
92
  }: BotRequest): Promise<BotResponse> {
101
93
  session = session || {}
102
94
  if (!session.__locale) session.__locale = 'en'
@@ -106,27 +98,10 @@ export class CoreBot {
106
98
  input,
107
99
  session,
108
100
  lastRoutePath,
109
- dataProvider,
110
101
  response: [],
111
- messageEvents: null,
112
102
  }
113
103
  }
114
104
 
115
- const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input)
116
- const userId = session.user.id
117
- if (dataProvider) {
118
- // TODO: Next iterations. Review cycle of commited events to DB when messages change their ACK
119
- // @ts-ignore
120
- const userEvent = await dataProvider.saveEvent({
121
- ...parsedUserEvent,
122
- userId,
123
- eventId: ulid(),
124
- createdAt: new Date().toISOString(),
125
- from: MessageEventFrom.USER,
126
- ack: MessageEventAck.RECEIVED,
127
- })
128
- }
129
-
130
105
  if (this.plugins) {
131
106
  await runPlugins(
132
107
  this.plugins,
@@ -134,9 +109,7 @@ export class CoreBot {
134
109
  input,
135
110
  session,
136
111
  lastRoutePath,
137
- undefined,
138
- undefined,
139
- dataProvider
112
+ undefined
140
113
  )
141
114
  }
142
115
 
@@ -169,20 +142,12 @@ export class CoreBot {
169
142
  defaultTyping: this.defaultTyping,
170
143
  defaultDelay: this.defaultDelay,
171
144
  lastRoutePath,
172
- dataProvider,
173
145
  }
174
146
 
175
147
  const response = await this.renderer({
176
148
  request,
177
149
  actions: [output.fallbackAction, output.action, output.emptyAction],
178
150
  })
179
- let messageEvents: Partial<BotonicEvent>[] = []
180
- try {
181
- messageEvents = this.botonicOutputParser.xmlToMessageEvents(response)
182
- } catch (e) {
183
- // Disabling Botonic 1.0 error log for LTS version:
184
- // console.error(e)
185
- }
186
151
 
187
152
  lastRoutePath = output.lastRoutePath
188
153
  if (this.plugins) {
@@ -192,35 +157,16 @@ export class CoreBot {
192
157
  input,
193
158
  session,
194
159
  lastRoutePath,
195
- response,
196
- messageEvents,
197
- dataProvider
160
+ response
198
161
  )
199
162
  }
200
163
 
201
- if (dataProvider) {
202
- // TODO: save bot responses to db and update user with new session and new params
203
- for (const messageEvent of messageEvents) {
204
- // @ts-ignore
205
- const botEvent = await dataProvider.saveEvent({
206
- ...messageEvent,
207
- userId,
208
- eventId: ulid(),
209
- createdAt: new Date().toISOString(),
210
- from: MessageEventFrom.BOT,
211
- ack: MessageEventAck.SENT,
212
- })
213
- }
214
- }
215
-
216
164
  session.is_first_interaction = false
217
165
  return {
218
166
  input,
219
167
  response,
220
- messageEvents,
221
168
  session,
222
169
  lastRoutePath,
223
- dataProvider,
224
170
  }
225
171
  }
226
172
  }
package/src/handoff.ts CHANGED
@@ -13,7 +13,7 @@ export interface HubtypeAgentsInfo {
13
13
  status: string
14
14
  }
15
15
  export interface HubtypeSession extends Session {
16
- _hubtype_api?: string
16
+ _hubtype_api: string
17
17
  _access_token: string
18
18
  }
19
19
 
package/src/index.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  export * from './constants'
2
2
  export * from './core-bot'
3
- // TODO: Review @botonic/react's tree-shaking to remove dataProvider from bundle
4
- // export * from './data-provider'
5
3
  export * from './debug'
6
4
  export * from './handoff'
7
5
  export * from './hubtype-service'
8
6
  export * from './i18n'
9
7
  export * from './models'
10
- export * from './output-parser'
11
8
  export * from './plugins'
12
9
  export * from './routing'
13
10
  export * from './utils'