@botonic/core 0.26.0 → 0.27.0-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 (106) 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 +16 -16
  5. package/lib/cjs/handoff.js +9 -2
  6. package/lib/cjs/handoff.js.map +1 -1
  7. package/lib/cjs/index.d.ts +0 -1
  8. package/lib/cjs/index.js +0 -3
  9. package/lib/cjs/index.js.map +1 -1
  10. package/lib/cjs/models/legacy-types.d.ts +44 -39
  11. package/lib/cjs/models/legacy-types.js +15 -32
  12. package/lib/cjs/models/legacy-types.js.map +1 -1
  13. package/lib/cjs/plugins.d.ts +2 -3
  14. package/lib/cjs/plugins.js +2 -4
  15. package/lib/cjs/plugins.js.map +1 -1
  16. package/lib/cjs/utils.d.ts +8 -0
  17. package/lib/cjs/utils.js +32 -1
  18. package/lib/cjs/utils.js.map +1 -1
  19. package/lib/esm/core-bot.d.ts +1 -3
  20. package/lib/esm/core-bot.js +4 -34
  21. package/lib/esm/core-bot.js.map +1 -1
  22. package/lib/esm/handoff.d.ts +16 -16
  23. package/lib/esm/handoff.js +9 -2
  24. package/lib/esm/handoff.js.map +1 -1
  25. package/lib/esm/index.d.ts +0 -1
  26. package/lib/esm/index.js +0 -3
  27. package/lib/esm/index.js.map +1 -1
  28. package/lib/esm/models/legacy-types.d.ts +44 -39
  29. package/lib/esm/models/legacy-types.js +14 -31
  30. package/lib/esm/models/legacy-types.js.map +1 -1
  31. package/lib/esm/plugins.d.ts +2 -3
  32. package/lib/esm/plugins.js +2 -4
  33. package/lib/esm/plugins.js.map +1 -1
  34. package/lib/esm/utils.d.ts +8 -0
  35. package/lib/esm/utils.js +24 -0
  36. package/lib/esm/utils.js.map +1 -1
  37. package/package.json +1 -6
  38. package/src/core-bot.ts +2 -56
  39. package/src/handoff.ts +29 -19
  40. package/src/index.ts +0 -3
  41. package/src/models/legacy-types.ts +78 -76
  42. package/src/plugins.ts +2 -8
  43. package/src/utils.ts +32 -0
  44. package/lib/cjs/data-provider/dynamodb-data-provider.d.ts +0 -26
  45. package/lib/cjs/data-provider/dynamodb-data-provider.js +0 -107
  46. package/lib/cjs/data-provider/dynamodb-data-provider.js.map +0 -1
  47. package/lib/cjs/data-provider/dynamodb-utils.d.ts +0 -11
  48. package/lib/cjs/data-provider/dynamodb-utils.js +0 -121
  49. package/lib/cjs/data-provider/dynamodb-utils.js.map +0 -1
  50. package/lib/cjs/data-provider/factory.d.ts +0 -25
  51. package/lib/cjs/data-provider/factory.js +0 -31
  52. package/lib/cjs/data-provider/factory.js.map +0 -1
  53. package/lib/cjs/data-provider/index.d.ts +0 -4
  54. package/lib/cjs/data-provider/index.js +0 -8
  55. package/lib/cjs/data-provider/index.js.map +0 -1
  56. package/lib/cjs/data-provider/local-data-provider.d.ts +0 -26
  57. package/lib/cjs/data-provider/local-data-provider.js +0 -137
  58. package/lib/cjs/data-provider/local-data-provider.js.map +0 -1
  59. package/lib/cjs/output-parser/botonic-output-parser.d.ts +0 -16
  60. package/lib/cjs/output-parser/botonic-output-parser.js +0 -37
  61. package/lib/cjs/output-parser/botonic-output-parser.js.map +0 -1
  62. package/lib/cjs/output-parser/factory.d.ts +0 -4
  63. package/lib/cjs/output-parser/factory.js +0 -36
  64. package/lib/cjs/output-parser/factory.js.map +0 -1
  65. package/lib/cjs/output-parser/index.d.ts +0 -3
  66. package/lib/cjs/output-parser/index.js +0 -7
  67. package/lib/cjs/output-parser/index.js.map +0 -1
  68. package/lib/cjs/output-parser/parsers.d.ts +0 -26
  69. package/lib/cjs/output-parser/parsers.js +0 -171
  70. package/lib/cjs/output-parser/parsers.js.map +0 -1
  71. package/lib/esm/data-provider/dynamodb-data-provider.d.ts +0 -26
  72. package/lib/esm/data-provider/dynamodb-data-provider.js +0 -103
  73. package/lib/esm/data-provider/dynamodb-data-provider.js.map +0 -1
  74. package/lib/esm/data-provider/dynamodb-utils.d.ts +0 -11
  75. package/lib/esm/data-provider/dynamodb-utils.js +0 -113
  76. package/lib/esm/data-provider/dynamodb-utils.js.map +0 -1
  77. package/lib/esm/data-provider/factory.d.ts +0 -25
  78. package/lib/esm/data-provider/factory.js +0 -27
  79. package/lib/esm/data-provider/factory.js.map +0 -1
  80. package/lib/esm/data-provider/index.d.ts +0 -4
  81. package/lib/esm/data-provider/index.js +0 -5
  82. package/lib/esm/data-provider/index.js.map +0 -1
  83. package/lib/esm/data-provider/local-data-provider.d.ts +0 -26
  84. package/lib/esm/data-provider/local-data-provider.js +0 -133
  85. package/lib/esm/data-provider/local-data-provider.js.map +0 -1
  86. package/lib/esm/output-parser/botonic-output-parser.d.ts +0 -16
  87. package/lib/esm/output-parser/botonic-output-parser.js +0 -33
  88. package/lib/esm/output-parser/botonic-output-parser.js.map +0 -1
  89. package/lib/esm/output-parser/factory.d.ts +0 -4
  90. package/lib/esm/output-parser/factory.js +0 -32
  91. package/lib/esm/output-parser/factory.js.map +0 -1
  92. package/lib/esm/output-parser/index.d.ts +0 -3
  93. package/lib/esm/output-parser/index.js +0 -4
  94. package/lib/esm/output-parser/index.js.map +0 -1
  95. package/lib/esm/output-parser/parsers.d.ts +0 -26
  96. package/lib/esm/output-parser/parsers.js +0 -151
  97. package/lib/esm/output-parser/parsers.js.map +0 -1
  98. package/src/data-provider/dynamodb-data-provider.ts +0 -105
  99. package/src/data-provider/dynamodb-utils.ts +0 -149
  100. package/src/data-provider/factory.ts +0 -60
  101. package/src/data-provider/index.ts +0 -4
  102. package/src/data-provider/local-data-provider.ts +0 -154
  103. package/src/output-parser/botonic-output-parser.ts +0 -38
  104. package/src/output-parser/factory.ts +0 -45
  105. package/src/output-parser/index.ts +0 -3
  106. package/src/output-parser/parsers.ts +0 -237
@@ -1,6 +1,5 @@
1
1
  import { Inspector } from './debug';
2
2
  import { BotRequest, BotResponse, Locales, ResolvedPlugins, Route, Routes, Session } from './models';
3
- import { BotonicOutputParser } from './output-parser';
4
3
  import { Router } from './routing';
5
4
  export interface CoreBotConfig {
6
5
  appId?: string;
@@ -27,9 +26,8 @@ export declare class CoreBot {
27
26
  router: Router | null;
28
27
  routes: Routes;
29
28
  theme?: any;
30
- botonicOutputParser: BotonicOutputParser;
31
29
  constructor({ renderer, routes, locales, theme, plugins, appId, defaultTyping, defaultDelay, defaultRoutes, inspector, }: CoreBotConfig);
32
30
  getString(id: string, session: Session): string;
33
31
  setLocale(locale: string, session: Session): void;
34
- input({ input, session, lastRoutePath, dataProvider, }: BotRequest): Promise<BotResponse>;
32
+ input({ input, session, lastRoutePath, }: BotRequest): Promise<BotResponse>;
35
33
  }
@@ -2,18 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoreBot = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const ulid_1 = require("ulid");
6
5
  const debug_1 = require("./debug");
7
6
  const i18n_1 = require("./i18n");
8
7
  const models_1 = require("./models");
9
- const output_parser_1 = require("./output-parser");
10
8
  const plugins_1 = require("./plugins");
11
9
  const routing_1 = require("./routing");
12
10
  class CoreBot {
13
11
  constructor({
14
12
  // TODO: Receives dataProvider
15
13
  renderer, routes, locales, theme, plugins, appId, defaultTyping, defaultDelay, defaultRoutes, inspector, }) {
16
- this.botonicOutputParser = new output_parser_1.BotonicOutputParser();
17
14
  this.renderer = renderer;
18
15
  this.plugins = (0, plugins_1.loadPlugins)(plugins);
19
16
  this.theme = theme || {};
@@ -41,7 +38,7 @@ class CoreBot {
41
38
  setLocale(locale, session) {
42
39
  session.__locale = locale;
43
40
  }
44
- input({ input, session, lastRoutePath, dataProvider, }) {
41
+ input({ input, session, lastRoutePath, }) {
45
42
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
43
  session = session || {};
47
44
  if (!session.__locale)
@@ -51,20 +48,11 @@ class CoreBot {
51
48
  input,
52
49
  session,
53
50
  lastRoutePath,
54
- dataProvider,
55
51
  response: [],
56
- messageEvents: null,
57
52
  };
58
53
  }
59
- const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input);
60
- const userId = session.user.id;
61
- if (dataProvider) {
62
- // TODO: Next iterations. Review cycle of commited events to DB when messages change their ACK
63
- // @ts-ignore
64
- const userEvent = yield dataProvider.saveEvent(Object.assign(Object.assign({}, parsedUserEvent), { userId, eventId: (0, ulid_1.ulid)(), createdAt: new Date().toISOString(), from: models_1.MessageEventFrom.USER, ack: models_1.MessageEventAck.RECEIVED }));
65
- }
66
54
  if (this.plugins) {
67
- yield (0, plugins_1.runPlugins)(this.plugins, 'pre', input, session, lastRoutePath, undefined, undefined, dataProvider);
55
+ yield (0, plugins_1.runPlugins)(this.plugins, 'pre', input, session, lastRoutePath, undefined);
68
56
  }
69
57
  if (this.routes instanceof Function) {
70
58
  this.router = new routing_1.Router([
@@ -87,39 +75,21 @@ class CoreBot {
87
75
  defaultTyping: this.defaultTyping,
88
76
  defaultDelay: this.defaultDelay,
89
77
  lastRoutePath,
90
- dataProvider,
91
78
  };
92
79
  const response = yield this.renderer({
93
80
  request,
94
81
  actions: [output.fallbackAction, output.action, output.emptyAction],
95
82
  });
96
- let messageEvents = [];
97
- try {
98
- messageEvents = this.botonicOutputParser.xmlToMessageEvents(response);
99
- }
100
- catch (e) {
101
- // Disabling Botonic 1.0 error log for LTS version:
102
- // console.error(e)
103
- }
104
83
  lastRoutePath = output.lastRoutePath;
105
84
  if (this.plugins) {
106
- yield (0, plugins_1.runPlugins)(this.plugins, 'post', input, session, lastRoutePath, response, messageEvents, dataProvider);
107
- }
108
- if (dataProvider) {
109
- // TODO: save bot responses to db and update user with new session and new params
110
- for (const messageEvent of messageEvents) {
111
- // @ts-ignore
112
- const botEvent = yield dataProvider.saveEvent(Object.assign(Object.assign({}, messageEvent), { userId, eventId: (0, ulid_1.ulid)(), createdAt: new Date().toISOString(), from: models_1.MessageEventFrom.BOT, ack: models_1.MessageEventAck.SENT }));
113
- }
85
+ yield (0, plugins_1.runPlugins)(this.plugins, 'post', input, session, lastRoutePath, response);
114
86
  }
115
87
  session.is_first_interaction = false;
116
88
  return {
117
89
  input,
118
90
  response,
119
- messageEvents,
120
91
  session,
121
92
  lastRoutePath,
122
- dataProvider,
123
93
  };
124
94
  });
125
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,6 @@ export interface HubtypeAgentsInfo {
6
6
  last_message_sent: string;
7
7
  status: string;
8
8
  }
9
- export interface HubtypeSession extends Session {
10
- _hubtype_api?: string;
11
- _access_token: string;
12
- }
13
- export interface SessionWithBotonicAction extends Session {
14
- _botonic_action: string;
15
- }
16
9
  export interface BackendContext {
17
10
  timeoutMs: number;
18
11
  }
@@ -26,11 +19,15 @@ export type HandoffExtraData = {
26
19
  url?: string;
27
20
  location?: string;
28
21
  };
29
- export declare function getOpenQueues(session: HubtypeSession, context?: {}): Promise<{
22
+ interface BotEventData {
23
+ language: string;
24
+ country: string;
25
+ }
26
+ export declare function getOpenQueues(session: Session, context?: {}): Promise<{
30
27
  queues: string[];
31
28
  }>;
32
29
  export declare class HandOffBuilder {
33
- _session: SessionWithBotonicAction;
30
+ _session: Session;
34
31
  _queue: string;
35
32
  _onFinish: string;
36
33
  _email: string;
@@ -42,7 +39,8 @@ export declare class HandOffBuilder {
42
39
  _autoIdleMessage: string;
43
40
  _shadowing: boolean;
44
41
  _extraData: HandoffExtraData;
45
- constructor(session: SessionWithBotonicAction);
42
+ _bot_event: BotEventData;
43
+ constructor(session: Session);
46
44
  withQueue(queueNameOrId: string): this;
47
45
  withOnFinishPayload(payload: string): this;
48
46
  withOnFinishPath(path: string): this;
@@ -55,26 +53,28 @@ export declare class HandOffBuilder {
55
53
  withAutoIdleMessage(message: string): this;
56
54
  withShadowing(shadowing?: boolean): this;
57
55
  withExtraData(extraData: HandoffExtraData): this;
56
+ withBotEvent(botEvent: BotEventData): this;
58
57
  handOff(): Promise<void>;
59
58
  }
60
59
  /**
61
60
  * @deprecated use {@link HandOffBuilder} class instead
62
61
  */
63
62
  export declare function humanHandOff(session: any, queueNameOrId: string | undefined, onFinish: any): Promise<void>;
64
- export declare function storeCaseRating(session: HubtypeSession, rating: number, context?: any): Promise<{
63
+ export declare function storeCaseRating(session: Session, rating: number, context?: any): Promise<{
65
64
  status: string;
66
65
  }>;
67
- export declare function getAvailableAgentsByQueue(session: HubtypeSession, queueId: string): Promise<{
66
+ export declare function getAvailableAgentsByQueue(session: Session, queueId: string): Promise<{
68
67
  agents: string[];
69
68
  }>;
70
- export declare function getAvailableAgents(session: HubtypeSession): Promise<{
69
+ export declare function getAvailableAgents(session: Session): Promise<{
71
70
  agents: HubtypeAgentsInfo[];
72
71
  }>;
73
- export declare function getAgentVacationRanges(session: HubtypeSession, { agentId, agentEmail }: {
72
+ export declare function getAgentVacationRanges(session: Session, { agentId, agentEmail }: {
74
73
  agentId?: string;
75
74
  agentEmail?: string;
76
75
  }): Promise<{
77
76
  vacation_ranges: VacationRange[];
78
77
  }>;
79
- export declare function cancelHandoff(session: SessionWithBotonicAction, typification?: string | null): void;
80
- export declare function deleteUser(session: SessionWithBotonicAction): void;
78
+ export declare function cancelHandoff(session: Session, typification?: string | null): void;
79
+ export declare function deleteUser(session: Session): void;
80
+ export {};
@@ -81,9 +81,13 @@ class HandOffBuilder {
81
81
  this._extraData = extraData;
82
82
  return this;
83
83
  }
84
+ withBotEvent(botEvent) {
85
+ this._bot_event = botEvent;
86
+ return this;
87
+ }
84
88
  handOff() {
85
89
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
86
- return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._forceAssignIfNotAvailable, this._autoAssignOnWaiting, this._caseInfo, this._note, this._autoIdleMessage, this._shadowing, this._extraData);
90
+ return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._forceAssignIfNotAvailable, this._autoAssignOnWaiting, this._caseInfo, this._note, this._autoIdleMessage, this._shadowing, this._extraData, this._bot_event);
87
91
  });
88
92
  }
89
93
  }
@@ -112,7 +116,7 @@ function humanHandOff(session, queueNameOrId = '', onFinish) {
112
116
  });
113
117
  }
114
118
  exports.humanHandOff = humanHandOff;
115
- function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', forceAssignIfNotAvailable = true, autoAssignOnWaiting = false, caseInfo = '', note = '', autoIdleMessage = '', shadowing = false, extraData = undefined) {
119
+ function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', forceAssignIfNotAvailable = true, autoAssignOnWaiting = false, caseInfo = '', note = '', autoIdleMessage = '', shadowing = false, extraData = undefined, botEvent) {
116
120
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
117
121
  const params = {};
118
122
  params.force_assign_if_not_available = forceAssignIfNotAvailable;
@@ -146,6 +150,9 @@ function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', a
146
150
  if (extraData) {
147
151
  params.case_extra_data = extraData;
148
152
  }
153
+ if (botEvent) {
154
+ params.bot_event = botEvent;
155
+ }
149
156
  session._botonic_action = `create_case:${JSON.stringify(params)}`;
150
157
  });
151
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAEzB,2CAAqD;AAGrD,MAAM,eAAe,GAAG,yBAAyB,CAAA;AAiCjD,SAAS,eAAe,CAAC,OAAY;IACnC,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAA;AACH,CAAC;AAED,SAAsB,aAAa,CACjC,OAAuB,EACvB,OAAO,GAAG,EAAE;;QAEZ,wDAAwD;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAA;QACvD,MAAM,WAAW,GAAG,GAAG,OAAO,6BAA6B,CAAA;QAC3D,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC;YACvB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,OAAO,CAAC,aAAa,EAAE;aACjD;YACD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;YAChC,OAAO,EAAG,OAA0B,CAAC,SAAS;SAC/C,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;CAAA;AAlBD,sCAkBC;AAED,MAAa,cAAc;IAczB,YAAY,OAAiC;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,aAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC3B,IAAI,CAAC,SAAS,GAAG,GAAG,mCAAuB,GAAG,IAAI,EAAE,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,6BAA6B,CAAC,WAAoB;QAChD,IAAI,CAAC,0BAA0B,GAAG,WAAW,CAAA;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uBAAuB,CAAC,mBAA4B;QAClD,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAA;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,SAAS,GAAG,IAAI;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,SAA2B;QACvC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAEK,OAAO;;YACX,OAAO,aAAa,CAClB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,CAChB,CAAA;QACH,CAAC;KAAA;CACF;AA9FD,wCA8FC;AAED;;GAEG;AACH,SAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,EAAE,EAAE,QAAQ;;QACtE,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,aAAa,EAAE;YACjB,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;SACjC;QACD,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;aACxC;iBAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAC3B,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;aAC9C;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;aAC3D;SACF;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CAAA;AAfD,oCAeC;AAeD,SAAe,aAAa,CAC1B,OAAiC,EACjC,aAAa,GAAG,EAAE,EAClB,QAAgB,EAChB,UAAU,GAAG,EAAE,EACf,OAAO,GAAG,EAAE,EACZ,yBAAyB,GAAG,IAAI,EAChC,mBAAmB,GAAG,KAAK,EAC3B,QAAQ,GAAG,EAAE,EACb,IAAI,GAAG,EAAE,EACT,eAAe,GAAG,EAAE,EACpB,SAAS,GAAG,KAAK,EACjB,YAA0C,SAAS;;QAEnD,MAAM,MAAM,GAAyB,EAAE,CAAA;QAEvC,MAAM,CAAC,6BAA6B,GAAG,yBAAyB,CAAA;QAEhE,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,KAAK,GAAG,aAAa,CAAA;SAC7B;QACD,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,WAAW,GAAG,UAAU,CAAA;SAChC;QACD,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAA;SAC1B;QACD,IAAI,mBAAmB,EAAE;YACvB,MAAM,CAAC,sBAAsB,GAAG,mBAAmB,CAAA;SACpD;QACD,IAAI,QAAQ,EAAE;YACZ,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAA;SAC5B;QACD,IAAI,IAAI,EAAE;YACR,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;SACnB;QACD,IAAI,eAAe,EAAE;YACnB,MAAM,CAAC,iBAAiB,GAAG,eAAe,CAAA;SAC3C;QACD,IAAI,SAAS,EAAE;YACb,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;SAC7B;QACD,IAAI,QAAQ,EAAE;YACZ,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAA;SAC5B;QACD,IAAI,SAAS,EAAE;YACb,MAAM,CAAC,eAAe,GAAG,SAAS,CAAA;SACnC;QACD,OAAO,CAAC,eAAe,GAAG,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IACnE,CAAC;CAAA;AAED,SAAsB,eAAe,CACnC,OAAuB,EACvB,MAAc,EACd,UAAe,EAAE;;QAEjB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAA;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;QAC9B,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC;YACvB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,OAAO,CAAC,aAAa,EAAE;aACjD;YACD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,OAAO,aAAa,MAAM,qBAAqB;YACvD,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;YACjC,OAAO,EAAG,OAA0B,CAAC,SAAS;SAC/C,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;CAAA;AAlBD,0CAkBC;AAED,SAAsB,yBAAyB,CAC7C,OAAuB,EACvB,OAAe;;QAEf,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC;YACvB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,OAAO,CAAC,aAAa,EAAE;aACjD;YACD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,OAAO,cAAc,OAAO,wBAAwB;SAC7D,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;CAAA;AAbD,8DAaC;AAED,SAAsB,kBAAkB,CACtC,OAAuB;;QAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAA;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC;YACvB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,OAAO,CAAC,aAAa,EAAE;aACjD;YACD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,OAAO,YAAY,KAAK,cAAc;SAC/C,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;CAAA;AAbD,gDAaC;AAED,SAAsB,sBAAsB,CAC1C,OAAuB,EACvB,EAAE,OAAO,EAAE,UAAU,EAA6C;;QAElE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAA;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC;YACvB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,OAAO,CAAC,aAAa,EAAE;aACjD;YACD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,OAAO,YAAY,KAAK,6BAA6B;YAC7D,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE;SACvD,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;CAAA;AAfD,wDAeC;AAED,SAAgB,aAAa,CAC3B,OAAiC,EACjC,eAA8B,IAAI;IAElC,IAAI,MAAM,GAAG,cAAc,CAAA;IAC3B,IAAI,YAAY;QAAE,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;IAC1E,OAAO,CAAC,eAAe,GAAG,MAAM,CAAA;AAClC,CAAC;AAPD,sCAOC;AAED,SAAgB,UAAU,CAAC,OAAiC;IAC1D,OAAO,CAAC,eAAe,GAAG,aAAa,CAAA;AACzC,CAAC;AAFD,gCAEC"}
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":"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"}
@@ -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/cjs/index.js CHANGED
@@ -3,14 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./constants"), exports);
5
5
  tslib_1.__exportStar(require("./core-bot"), exports);
6
- // TODO: Review @botonic/react's tree-shaking to remove dataProvider from bundle
7
- // export * from './data-provider'
8
6
  tslib_1.__exportStar(require("./debug"), exports);
9
7
  tslib_1.__exportStar(require("./handoff"), exports);
10
8
  tslib_1.__exportStar(require("./hubtype-service"), exports);
11
9
  tslib_1.__exportStar(require("./i18n"), exports);
12
10
  tslib_1.__exportStar(require("./models"), exports);
13
- tslib_1.__exportStar(require("./output-parser"), exports);
14
11
  tslib_1.__exportStar(require("./plugins"), exports);
15
12
  tslib_1.__exportStar(require("./routing"), exports);
16
13
  tslib_1.__exportStar(require("./utils"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,qDAA0B;AAC1B,gFAAgF;AAChF,kCAAkC;AAClC,kDAAuB;AACvB,oDAAyB;AACzB,4DAAiC;AACjC,iDAAsB;AACtB,mDAAwB;AACxB,0DAA+B;AAC/B,oDAAyB;AACzB,oDAAyB;AACzB,kDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB,4DAAiC;AACjC,iDAAsB;AACtB,mDAAwB;AACxB,oDAAyB;AACzB,oDAAyB;AACzB,kDAAuB"}
@@ -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",
@@ -35,18 +46,6 @@ export declare enum INPUT {
35
46
  WHATSAPP_BUTTON_LIST = "whatsapp-button-list",
36
47
  WHATSAPP_CTA_URL_BUTTON = "whatsapp-cta-url-button"
37
48
  }
38
- export declare enum CASE_STATUS {
39
- WAITING = "status_waiting",
40
- ATTENDING = "status_attending",
41
- IDLE = "status_idle",
42
- RESOLVED = "status_resolved"
43
- }
44
- export declare enum CASE_RESOLUTION {
45
- OK = "result_ok",
46
- NOK = "result_nok",
47
- NOT_SOLVED = "result_not_solved",
48
- BANNED = "result_banned"
49
- }
50
49
  export interface Locales {
51
50
  [id: string]: string | string[] | Locales;
52
51
  }
@@ -66,7 +65,7 @@ export interface ResolvedPlugin extends Plugin {
66
65
  config: any;
67
66
  }
68
67
  export type ResolvedPlugins = Record<string, ResolvedPlugin>;
69
- 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 | typeof INPUT.WHATSAPP_CTA_URL_BUTTON;
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;
70
69
  export interface IntentResult {
71
70
  intent: string;
72
71
  confidence: number;
@@ -91,9 +90,22 @@ export interface Input extends Partial<NluResult> {
91
90
  data?: string;
92
91
  path?: string;
93
92
  payload?: string;
93
+ referral?: string;
94
94
  type: InputType;
95
+ context?: {
96
+ campaign?: Campaign;
97
+ };
98
+ message_id?: string;
99
+ }
100
+ export interface Campaign {
101
+ id: string;
102
+ name: string;
103
+ status: string;
104
+ start_date: string;
105
+ end_date: string;
106
+ bot_path: string;
107
+ template_name: string;
95
108
  }
96
- 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;
97
109
  export interface SessionUser {
98
110
  id: string;
99
111
  username?: string;
@@ -103,6 +115,11 @@ export interface SessionUser {
103
115
  imp_id?: string;
104
116
  provider_id?: string;
105
117
  }
118
+ export interface HubtypeCaseContactReason {
119
+ id: string;
120
+ name: string;
121
+ project_id: string;
122
+ }
106
123
  export interface Session {
107
124
  bot: {
108
125
  id: string;
@@ -110,15 +127,22 @@ export interface Session {
110
127
  };
111
128
  __locale?: string;
112
129
  __retries: number;
130
+ _access_token: string;
131
+ _hubtype_api: string;
113
132
  is_first_interaction: boolean;
114
133
  last_session?: any;
115
- organization: string;
116
134
  organization_id: string;
135
+ organization: string;
117
136
  user: SessionUser;
137
+ _botonic_action?: string;
118
138
  _hubtype_case_status?: CaseStatusType;
139
+ _hubtype_case_id?: string;
119
140
  _hubtype_case_typification?: string;
141
+ _hubtype_case_contact_reasons?: HubtypeCaseContactReason[];
120
142
  _shadowing?: boolean;
121
- _access_token?: string;
143
+ external?: any;
144
+ zendesk_ticket_id?: string;
145
+ flow_thread_id?: string;
122
146
  }
123
147
  export type InputMatcher = (input: Input) => boolean;
124
148
  export type ParamsMatcher = {
@@ -153,7 +177,6 @@ export interface BotRequest {
153
177
  input: Input;
154
178
  lastRoutePath: RoutePath;
155
179
  session: Session;
156
- dataProvider?: DataProvider;
157
180
  }
158
181
  /** The response of the bot for the triggered actions, which can be
159
182
  * the one matched by the routes, the default action and the retry actions.
@@ -161,7 +184,6 @@ export interface BotRequest {
161
184
  * */
162
185
  export interface BotResponse extends BotRequest {
163
186
  response: any;
164
- messageEvents: Partial<BotonicEvent>[] | null;
165
187
  }
166
188
  export interface PluginPreRequest extends BotRequest {
167
189
  plugins: ResolvedPlugins;
@@ -176,23 +198,6 @@ export interface Plugin {
176
198
  export interface Params {
177
199
  [key: string]: any;
178
200
  }
179
- export declare const Providers: Readonly<{
180
- Messaging: {
181
- APPLE: string;
182
- FACEBOOK: string;
183
- GENERIC: string;
184
- IMBEE: string;
185
- INSTAGRAM: string;
186
- INTERCOM: string;
187
- SMOOCH_WEB: string;
188
- SMOOCH: string;
189
- TELEGRAM: string;
190
- TWITTER: string;
191
- WEBCHAT: string;
192
- WECHAT: string;
193
- WHATSAPP: string;
194
- };
195
- }>;
196
201
  export type Nullable<T> = T | null;
197
202
  export type Action = Nullable<() => any>;
198
203
  export type RoutePath = Nullable<string>;
@@ -1,7 +1,21 @@
1
1
  "use strict";
2
2
  // 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.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Providers = exports.CASE_RESOLUTION = exports.CASE_STATUS = exports.INPUT = exports.PROVIDER = void 0;
4
+ exports.INPUT = exports.PROVIDER = exports.CASE_RESOLUTION = exports.CASE_STATUS = void 0;
5
+ var CASE_STATUS;
6
+ (function (CASE_STATUS) {
7
+ CASE_STATUS["WAITING"] = "status_waiting";
8
+ CASE_STATUS["ATTENDING"] = "status_attending";
9
+ CASE_STATUS["IDLE"] = "status_idle";
10
+ CASE_STATUS["RESOLVED"] = "status_resolved";
11
+ })(CASE_STATUS = exports.CASE_STATUS || (exports.CASE_STATUS = {}));
12
+ var CASE_RESOLUTION;
13
+ (function (CASE_RESOLUTION) {
14
+ CASE_RESOLUTION["OK"] = "result_ok";
15
+ CASE_RESOLUTION["NOK"] = "result_nok";
16
+ CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
17
+ CASE_RESOLUTION["BANNED"] = "result_banned";
18
+ })(CASE_RESOLUTION = exports.CASE_RESOLUTION || (exports.CASE_RESOLUTION = {}));
5
19
  var PROVIDER;
6
20
  (function (PROVIDER) {
7
21
  PROVIDER["APPLE"] = "apple";
@@ -37,35 +51,4 @@ var INPUT;
37
51
  INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
38
52
  INPUT["WHATSAPP_CTA_URL_BUTTON"] = "whatsapp-cta-url-button";
39
53
  })(INPUT = exports.INPUT || (exports.INPUT = {}));
40
- var CASE_STATUS;
41
- (function (CASE_STATUS) {
42
- CASE_STATUS["WAITING"] = "status_waiting";
43
- CASE_STATUS["ATTENDING"] = "status_attending";
44
- CASE_STATUS["IDLE"] = "status_idle";
45
- CASE_STATUS["RESOLVED"] = "status_resolved";
46
- })(CASE_STATUS = exports.CASE_STATUS || (exports.CASE_STATUS = {}));
47
- var CASE_RESOLUTION;
48
- (function (CASE_RESOLUTION) {
49
- CASE_RESOLUTION["OK"] = "result_ok";
50
- CASE_RESOLUTION["NOK"] = "result_nok";
51
- CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
52
- CASE_RESOLUTION["BANNED"] = "result_banned";
53
- })(CASE_RESOLUTION = exports.CASE_RESOLUTION || (exports.CASE_RESOLUTION = {}));
54
- exports.Providers = Object.freeze({
55
- Messaging: {
56
- APPLE: 'apple',
57
- FACEBOOK: 'facebook',
58
- GENERIC: 'generic',
59
- IMBEE: 'imbee',
60
- INSTAGRAM: 'instagram',
61
- INTERCOM: 'intercom',
62
- SMOOCH_WEB: 'smooch_web',
63
- SMOOCH: 'smooch',
64
- TELEGRAM: 'telegram',
65
- TWITTER: 'twitter',
66
- WEBCHAT: 'webchat',
67
- WECHAT: 'wechat',
68
- WHATSAPP: 'whatsapp',
69
- },
70
- });
71
54
  //# 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,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,GAAR,gBAAQ,KAAR,gBAAQ,QAanB;AAED,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,GAAL,aAAK,KAAL,aAAK,QAkBhB;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AA+LY,QAAA,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,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAQD,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAQD,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,GAAR,gBAAQ,KAAR,gBAAQ,QAanB;AAeD,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,GAAL,aAAK,KAAL,aAAK,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 {};
@@ -21,13 +21,13 @@ function loadPlugins(plugins) {
21
21
  return _plugins;
22
22
  }
23
23
  exports.loadPlugins = loadPlugins;
24
- function runPlugins(plugins, mode, input, session, lastRoutePath, response = null, messageEvents = null, dataProvider) {
24
+ function runPlugins(plugins, mode, input, session, lastRoutePath, response = null) {
25
25
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
26
26
  for (const key in plugins) {
27
27
  const p = yield plugins[key];
28
28
  try {
29
29
  if (mode === 'pre' && p.pre) {
30
- yield p.pre({ input, session, lastRoutePath, dataProvider, plugins });
30
+ yield p.pre({ input, session, lastRoutePath, plugins });
31
31
  }
32
32
  if (mode === 'post' && p.post) {
33
33
  yield p.post({
@@ -35,8 +35,6 @@ function runPlugins(plugins, mode, input, session, lastRoutePath, response = nul
35
35
  session,
36
36
  lastRoutePath,
37
37
  response,
38
- messageEvents,
39
- dataProvider,
40
38
  plugins,
41
39
  });
42
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":";;;;AAYA,SAAgB,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;AAhBD,kCAgBC;AAED,SAAsB,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;AA/BD,gCA+BC"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":";;;;AAUA,SAAgB,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;AAhBD,kCAgBC;AAED,SAAsB,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;AA3BD,gCA2BC"}
@@ -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/cjs/utils.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
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;
3
+ exports.isTwitter = exports.isInstagram = exports.isFacebook = exports.isTelegram = exports.isWhatsapp = exports.isWebchat = exports.isDev = exports.dirname = exports.join = exports.params2queryString = exports.cloneObject = exports.isFunction = exports.isMobile = exports.isBrowser = exports.isNode = void 0;
4
+ const legacy_types_1 = require("./models/legacy-types");
4
5
  const isNode = () => {
5
6
  // @ts-ignore
6
7
  return typeof IS_NODE !== 'undefined'
@@ -82,4 +83,34 @@ exports.join = join;
82
83
  // Trailing slashes are ignored. Leading slash is preserved.
83
84
  const dirname = (path) => (0, exports.join)(path, '..');
84
85
  exports.dirname = dirname;
86
+ // To check Provider in session
87
+ function isDev(session) {
88
+ return session.user.provider === legacy_types_1.PROVIDER.DEV;
89
+ }
90
+ exports.isDev = isDev;
91
+ function isWebchat(session) {
92
+ // When the provider is DEV should we return true because it is a webchat?
93
+ return session.user.provider === legacy_types_1.PROVIDER.WEBCHAT;
94
+ }
95
+ exports.isWebchat = isWebchat;
96
+ function isWhatsapp(session) {
97
+ return session.user.provider === legacy_types_1.PROVIDER.WHATSAPP;
98
+ }
99
+ exports.isWhatsapp = isWhatsapp;
100
+ function isTelegram(session) {
101
+ return session.user.provider === legacy_types_1.PROVIDER.TELEGRAM;
102
+ }
103
+ exports.isTelegram = isTelegram;
104
+ function isFacebook(session) {
105
+ return session.user.provider === legacy_types_1.PROVIDER.FACEBOOK;
106
+ }
107
+ exports.isFacebook = isFacebook;
108
+ function isInstagram(session) {
109
+ return session.user.provider === legacy_types_1.PROVIDER.INSTAGRAM;
110
+ }
111
+ exports.isInstagram = isInstagram;
112
+ function isTwitter(session) {
113
+ return session.user.provider === legacy_types_1.PROVIDER.TWITTER;
114
+ }
115
+ exports.isTwitter = isTwitter;
85
116
  //# sourceMappingURL=utils.js.map