@botonic/core 0.55.1 → 0.57.0-rslib-esm.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 (131) hide show
  1. package/lib/esm/constants.js +7 -7
  2. package/lib/esm/constants.js.map +1 -1
  3. package/lib/esm/core-bot.d.ts +3 -3
  4. package/lib/esm/core-bot.js +87 -50
  5. package/lib/esm/core-bot.js.map +1 -1
  6. package/lib/esm/debug/index.d.ts +1 -1
  7. package/lib/esm/debug/index.js +5 -4
  8. package/lib/esm/debug/index.js.map +1 -1
  9. package/lib/esm/debug/inspector.d.ts +1 -1
  10. package/lib/esm/debug/inspector.js +27 -21
  11. package/lib/esm/debug/inspector.js.map +1 -1
  12. package/lib/esm/handoff.d.ts +1 -1
  13. package/lib/esm/handoff.js +82 -53
  14. package/lib/esm/handoff.js.map +1 -1
  15. package/lib/esm/hubtype-service.d.ts +3 -3
  16. package/lib/esm/hubtype-service.js +100 -64
  17. package/lib/esm/hubtype-service.js.map +1 -1
  18. package/lib/esm/index.d.ts +9 -9
  19. package/lib/esm/index.js +21 -12
  20. package/lib/esm/index.js.map +1 -1
  21. package/lib/esm/models/ai-agents.js +15 -15
  22. package/lib/esm/models/ai-agents.js.map +1 -1
  23. package/lib/esm/models/bot-config.js +6 -6
  24. package/lib/esm/models/bot-config.js.map +1 -1
  25. package/lib/esm/models/hubtype-analytics.d.ts +1 -1
  26. package/lib/esm/models/hubtype-analytics.js +10 -10
  27. package/lib/esm/models/hubtype-analytics.js.map +1 -1
  28. package/lib/esm/models/index.d.ts +4 -4
  29. package/lib/esm/models/index.js +11 -7
  30. package/lib/esm/models/index.js.map +1 -1
  31. package/lib/esm/models/legacy-types.d.ts +3 -1
  32. package/lib/esm/models/legacy-types.js +25 -24
  33. package/lib/esm/models/legacy-types.js.map +1 -1
  34. package/lib/esm/package.json +3 -0
  35. package/lib/esm/plugins.d.ts +1 -1
  36. package/lib/esm/plugins.js +7 -8
  37. package/lib/esm/plugins.js.map +1 -1
  38. package/lib/esm/pusher-utils.js +15 -10
  39. package/lib/esm/pusher-utils.js.map +1 -1
  40. package/lib/esm/routing/index.d.ts +2 -2
  41. package/lib/esm/routing/index.js +7 -5
  42. package/lib/esm/routing/index.js.map +1 -1
  43. package/lib/esm/routing/router-utils.d.ts +1 -1
  44. package/lib/esm/routing/router-utils.js +37 -30
  45. package/lib/esm/routing/router-utils.js.map +1 -1
  46. package/lib/esm/routing/router.d.ts +2 -2
  47. package/lib/esm/routing/router.js +152 -149
  48. package/lib/esm/routing/router.js.map +1 -1
  49. package/lib/esm/testing/index.d.ts +1 -1
  50. package/lib/esm/testing/index.js +60 -94
  51. package/lib/esm/testing/index.js.map +1 -1
  52. package/lib/esm/utils/bot-config.d.ts +1 -1
  53. package/lib/esm/utils/bot-config.js +57 -28
  54. package/lib/esm/utils/bot-config.js.map +1 -1
  55. package/lib/esm/utils/check-providers.d.ts +1 -1
  56. package/lib/esm/utils/check-providers.js +14 -17
  57. package/lib/esm/utils/check-providers.js.map +1 -1
  58. package/lib/esm/utils/functional.js +19 -38
  59. package/lib/esm/utils/functional.js.map +1 -1
  60. package/lib/esm/utils/index.d.ts +3 -3
  61. package/lib/esm/utils/index.js +9 -6
  62. package/lib/esm/utils/index.js.map +1 -1
  63. package/package.json +12 -11
  64. package/src/hubtype-service.ts +4 -2
  65. package/src/models/legacy-types.ts +3 -0
  66. package/lib/cjs/constants.d.ts +0 -4
  67. package/lib/cjs/constants.js +0 -8
  68. package/lib/cjs/constants.js.map +0 -1
  69. package/lib/cjs/core-bot.d.ts +0 -43
  70. package/lib/cjs/core-bot.js +0 -205
  71. package/lib/cjs/core-bot.js.map +0 -1
  72. package/lib/cjs/debug/index.d.ts +0 -1
  73. package/lib/cjs/debug/index.js +0 -5
  74. package/lib/cjs/debug/index.js.map +0 -1
  75. package/lib/cjs/debug/inspector.d.ts +0 -24
  76. package/lib/cjs/debug/inspector.js +0 -70
  77. package/lib/cjs/debug/inspector.js.map +0 -1
  78. package/lib/cjs/handoff.d.ts +0 -110
  79. package/lib/cjs/handoff.js +0 -238
  80. package/lib/cjs/handoff.js.map +0 -1
  81. package/lib/cjs/hubtype-service.d.ts +0 -58
  82. package/lib/cjs/hubtype-service.js +0 -205
  83. package/lib/cjs/hubtype-service.js.map +0 -1
  84. package/lib/cjs/index.d.ts +0 -9
  85. package/lib/cjs/index.js +0 -13
  86. package/lib/cjs/index.js.map +0 -1
  87. package/lib/cjs/models/ai-agents.d.ts +0 -140
  88. package/lib/cjs/models/ai-agents.js +0 -30
  89. package/lib/cjs/models/ai-agents.js.map +0 -1
  90. package/lib/cjs/models/bot-config.d.ts +0 -24
  91. package/lib/cjs/models/bot-config.js +0 -10
  92. package/lib/cjs/models/bot-config.js.map +0 -1
  93. package/lib/cjs/models/hubtype-analytics.d.ts +0 -210
  94. package/lib/cjs/models/hubtype-analytics.js +0 -38
  95. package/lib/cjs/models/hubtype-analytics.js.map +0 -1
  96. package/lib/cjs/models/index.d.ts +0 -4
  97. package/lib/cjs/models/index.js +0 -8
  98. package/lib/cjs/models/index.js.map +0 -1
  99. package/lib/cjs/models/legacy-types.d.ts +0 -330
  100. package/lib/cjs/models/legacy-types.js +0 -83
  101. package/lib/cjs/models/legacy-types.js.map +0 -1
  102. package/lib/cjs/plugins.d.ts +0 -9
  103. package/lib/cjs/plugins.js +0 -24
  104. package/lib/cjs/plugins.js.map +0 -1
  105. package/lib/cjs/pusher-utils.d.ts +0 -7
  106. package/lib/cjs/pusher-utils.js +0 -18
  107. package/lib/cjs/pusher-utils.js.map +0 -1
  108. package/lib/cjs/routing/index.d.ts +0 -2
  109. package/lib/cjs/routing/index.js +0 -6
  110. package/lib/cjs/routing/index.js.map +0 -1
  111. package/lib/cjs/routing/router-utils.d.ts +0 -11
  112. package/lib/cjs/routing/router-utils.js +0 -96
  113. package/lib/cjs/routing/router-utils.js.map +0 -1
  114. package/lib/cjs/routing/router.d.ts +0 -54
  115. package/lib/cjs/routing/router.js +0 -330
  116. package/lib/cjs/routing/router.js.map +0 -1
  117. package/lib/cjs/testing/index.d.ts +0 -91
  118. package/lib/cjs/testing/index.js +0 -196
  119. package/lib/cjs/testing/index.js.map +0 -1
  120. package/lib/cjs/utils/bot-config.d.ts +0 -4
  121. package/lib/cjs/utils/bot-config.js +0 -94
  122. package/lib/cjs/utils/bot-config.js.map +0 -1
  123. package/lib/cjs/utils/check-providers.d.ts +0 -8
  124. package/lib/cjs/utils/check-providers.js +0 -34
  125. package/lib/cjs/utils/check-providers.js.map +0 -1
  126. package/lib/cjs/utils/functional.d.ts +0 -10
  127. package/lib/cjs/utils/functional.js +0 -88
  128. package/lib/cjs/utils/functional.js.map +0 -1
  129. package/lib/cjs/utils/index.d.ts +0 -3
  130. package/lib/cjs/utils/index.js +0 -7
  131. package/lib/cjs/utils/index.js.map +0 -1
@@ -1,8 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PATH_PAYLOAD_REGEXP = exports.PATH_PAYLOAD_IDENTIFIER = exports.EMPTY_ACTION_PATH = exports.NOT_FOUND_PATH = void 0;
4
- exports.NOT_FOUND_PATH = '404';
5
- exports.EMPTY_ACTION_PATH = '';
6
- exports.PATH_PAYLOAD_IDENTIFIER = '__PATH_PAYLOAD__';
7
- exports.PATH_PAYLOAD_REGEXP = new RegExp(`\\b^${exports.PATH_PAYLOAD_IDENTIFIER}(.*)\\b`);
1
+ const NOT_FOUND_PATH = '404';
2
+ const EMPTY_ACTION_PATH = '';
3
+ const PATH_PAYLOAD_IDENTIFIER = '__PATH_PAYLOAD__';
4
+ const PATH_PAYLOAD_REGEXP = new RegExp(`\\b^${PATH_PAYLOAD_IDENTIFIER}(.*)\\b`);
5
+
6
+ export { EMPTY_ACTION_PATH, NOT_FOUND_PATH, PATH_PAYLOAD_IDENTIFIER, PATH_PAYLOAD_REGEXP };
7
+
8
8
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,KAAK,CAAA;AACtB,QAAA,iBAAiB,GAAG,EAAE,CAAA;AACtB,QAAA,uBAAuB,GAAG,kBAAkB,CAAA;AAC5C,QAAA,mBAAmB,GAAG,IAAI,MAAM,CAC3C,OAAO,+BAAuB,SAAS,CACxC,CAAA"}
1
+ {"version":3,"file":"constants.js","sources":["../../src/constants.ts"],"sourcesContent":["export const NOT_FOUND_PATH = '404'\nexport const EMPTY_ACTION_PATH = ''\nexport const PATH_PAYLOAD_IDENTIFIER = '__PATH_PAYLOAD__'\nexport const PATH_PAYLOAD_REGEXP = new RegExp(\n `\\\\b^${PATH_PAYLOAD_IDENTIFIER}(.*)\\\\b`\n)\n"],"names":["NOT_FOUND_PATH","EMPTY_ACTION_PATH","PATH_PAYLOAD_IDENTIFIER","PATH_PAYLOAD_REGEXP","RegExp"],"mappings":"AAAO,MAAMA,cAAcA,GAAG,MAAK;AAC5B,MAAMC,iBAAiBA,GAAG,GAAE;AAC5B,MAAMC,uBAAuBA,GAAG,mBAAkB;AAClD,MAAMC,mBAAmBA,GAAG,IAAIC,OACrC,CAAC,IAAI,EAAEF,uBAAuBA,CAAC,OAAO,CAAC,EACxC"}
@@ -1,6 +1,6 @@
1
- import { Inspector } from './debug';
2
- import { type BotRequest, type BotResponse, type ResolvedPlugins, type Route, type Routes, type Session } from './models';
3
- import { Router } from './routing';
1
+ import { Inspector } from './debug/index.js';
2
+ import { type BotRequest, type BotResponse, type ResolvedPlugins, type Route, type Routes, type Session } from './models/index.js';
3
+ import { Router } from './routing/index.js';
4
4
  export interface CoreBotConfig {
5
5
  appId?: string;
6
6
  defaultDelay?: number;
@@ -1,27 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CoreBot = void 0;
4
- const debug_1 = require("./debug");
5
- const models_1 = require("./models");
6
- const plugins_1 = require("./plugins");
7
- const routing_1 = require("./routing");
1
+ import { Inspector } from "./debug/index.js";
2
+ import { BotonicAction, INPUT } from "./models/index.js";
3
+ import { runPlugins } from "./plugins.js";
4
+ import { Router, getComputedRoutes } from "./routing/index.js";
5
+
6
+
7
+
8
+
9
+
10
+ function _define_property(obj, key, value) {
11
+ if (key in obj) {
12
+ Object.defineProperty(obj, key, {
13
+ value: value,
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true
17
+ });
18
+ } else obj[key] = value;
19
+ return obj;
20
+ }
21
+
22
+
23
+
24
+
8
25
  class CoreBot {
9
- constructor({ renderer, routes, theme, plugins, appId, defaultTyping = 0.6, defaultDelay = 0.4, defaultRoutes, inspector, }) {
10
- this.renderer = renderer;
11
- this.plugins = plugins || {};
12
- this.theme = theme || {};
13
- this.defaultTyping = defaultTyping;
14
- this.defaultDelay = defaultDelay;
15
- this.appId = appId || undefined;
16
- this.rootElement = null;
17
- this.inspector = inspector || new debug_1.Inspector();
18
- this.routes = routes;
19
- this.defaultRoutes = defaultRoutes || [];
20
- this.router =
21
- this.routes instanceof Function
22
- ? null
23
- : new routing_1.Router([...this.routes, ...this.defaultRoutes], this.inspector.routeInspector);
24
- }
25
26
  setSystemLocale(locale, session) {
26
27
  session.user.system_locale = locale;
27
28
  }
@@ -34,7 +35,7 @@ class CoreBot {
34
35
  async input(request) {
35
36
  const botContext = this.getBotContext(request);
36
37
  const output = await this.runInput(botContext);
37
- if (botContext.session._botonic_action?.startsWith(models_1.BotonicAction.Redirect)) {
38
+ if (botContext.session._botonic_action?.startsWith(BotonicAction.Redirect)) {
38
39
  return await this.runRedirectAction(output, botContext);
39
40
  }
40
41
  return output;
@@ -51,14 +52,14 @@ class CoreBot {
51
52
  plugins: this.plugins,
52
53
  defaultTyping: this.defaultTyping,
53
54
  defaultDelay: this.defaultDelay,
54
- getUserCountry: () => session.user.country,
55
- getUserLocale: () => session.user.locale,
56
- getSystemLocale: () => session.user.system_locale,
57
- setUserCountry: (country) => this.setUserCountry(country, session),
58
- setUserLocale: (locale) => this.setUserLocale(locale, session),
59
- setSystemLocale: (locale) => this.setSystemLocale(locale, session),
55
+ getUserCountry: ()=>session.user.country,
56
+ getUserLocale: ()=>session.user.locale,
57
+ getSystemLocale: ()=>session.user.system_locale,
58
+ setUserCountry: (country)=>this.setUserCountry(country, session),
59
+ setUserLocale: (locale)=>this.setUserLocale(locale, session),
60
+ setSystemLocale: (locale)=>this.setSystemLocale(locale, session),
60
61
  settings,
61
- secrets,
62
+ secrets
62
63
  };
63
64
  }
64
65
  getSettings(request) {
@@ -72,7 +73,7 @@ class CoreBot {
72
73
  AZURE_OPENAI_API_VERSION: '',
73
74
  CUSTOM_SHORT_URL_HOST: '',
74
75
  LANGUAGE_DETECTION_ENABLED: false,
75
- custom: {},
76
+ custom: {}
76
77
  };
77
78
  }
78
79
  return request.settings;
@@ -84,7 +85,7 @@ class CoreBot {
84
85
  HUBTYPE_ACCESS_TOKEN: '',
85
86
  LITELLM_API_KEY: '',
86
87
  AZURE_OPENAI_API_KEY: '',
87
- custom: {},
88
+ custom: {}
88
89
  };
89
90
  }
90
91
  return request.secrets;
@@ -92,14 +93,14 @@ class CoreBot {
92
93
  async runInput(botContext) {
93
94
  // After first updateSession, user country locale and system_locale are always defined
94
95
  this.updateSession(botContext.session);
95
- if (botContext.input.type === models_1.INPUT.CHAT_EVENT) {
96
+ if (botContext.input.type === INPUT.CHAT_EVENT) {
96
97
  return {
97
98
  input: botContext.input,
98
99
  session: botContext.session,
99
100
  lastRoutePath: botContext.lastRoutePath,
100
101
  settings: botContext.settings,
101
102
  secrets: botContext.secrets,
102
- response: [],
103
+ response: []
103
104
  };
104
105
  }
105
106
  await this.runPrePlugins(botContext);
@@ -107,7 +108,11 @@ class CoreBot {
107
108
  botContext = this.updateRequestFromOutput(botContext, output);
108
109
  const response = await this.renderer({
109
110
  request: botContext,
110
- actions: [output.fallbackAction, output.action, output.emptyAction],
111
+ actions: [
112
+ output.fallbackAction,
113
+ output.action,
114
+ output.emptyAction
115
+ ]
111
116
  });
112
117
  await this.runPostPlugins(botContext, response);
113
118
  botContext.session.is_first_interaction = false;
@@ -117,7 +122,7 @@ class CoreBot {
117
122
  lastRoutePath: botContext.lastRoutePath,
118
123
  settings: botContext.settings,
119
124
  secrets: botContext.secrets,
120
- response,
125
+ response
121
126
  };
122
127
  }
123
128
  updateSession(session) {
@@ -139,7 +144,10 @@ class CoreBot {
139
144
  }
140
145
  async runPrePlugins(botContext) {
141
146
  if (this.plugins) {
142
- await (0, plugins_1.runPlugins)({ botContext, mode: 'pre' });
147
+ await runPlugins({
148
+ botContext,
149
+ mode: 'pre'
150
+ });
143
151
  }
144
152
  }
145
153
  async getOutput(botContext) {
@@ -149,9 +157,9 @@ class CoreBot {
149
157
  }
150
158
  async setRouter(botContext) {
151
159
  if (this.routes instanceof Function) {
152
- this.router = new routing_1.Router([
153
- ...(await (0, routing_1.getComputedRoutes)(this.routes, botContext)),
154
- ...this.defaultRoutes,
160
+ this.router = new Router([
161
+ ...await getComputedRoutes(this.routes, botContext),
162
+ ...this.defaultRoutes
155
163
  ], this.inspector.routeInspector);
156
164
  }
157
165
  }
@@ -159,15 +167,15 @@ class CoreBot {
159
167
  return {
160
168
  ...botContext,
161
169
  params: output.params || {},
162
- lastRoutePath: output.lastRoutePath,
170
+ lastRoutePath: output.lastRoutePath
163
171
  };
164
172
  }
165
173
  async runPostPlugins(botContext, response) {
166
174
  if (this.plugins) {
167
- await (0, plugins_1.runPlugins)({
175
+ await runPlugins({
168
176
  botContext,
169
177
  mode: 'post',
170
- response,
178
+ response
171
179
  });
172
180
  }
173
181
  }
@@ -175,13 +183,13 @@ class CoreBot {
175
183
  if (numOfRedirects > 10) {
176
184
  throw new Error('Maximum BotAction recursive calls reached (10)');
177
185
  }
178
- const nextPayload = botContext.session._botonic_action?.split(`${models_1.BotonicAction.Redirect}:`)[1];
186
+ const nextPayload = botContext.session._botonic_action?.split(`${BotonicAction.Redirect}:`)[1];
179
187
  const inputWithBotActionPayload = {
180
188
  ...botContext.input,
181
189
  payload: nextPayload,
182
- type: models_1.INPUT.POSTBACK,
190
+ type: INPUT.POSTBACK,
183
191
  data: undefined,
184
- text: undefined,
192
+ text: undefined
185
193
  };
186
194
  botContext.session._botonic_action = undefined;
187
195
  botContext.input = inputWithBotActionPayload;
@@ -192,14 +200,43 @@ class CoreBot {
192
200
  session: botContext.session,
193
201
  lastRoutePath: followUp.lastRoutePath,
194
202
  settings: followUp.settings,
195
- secrets: followUp.secrets,
203
+ secrets: followUp.secrets
196
204
  };
197
205
  // Recursive call to handle multiple bot actions in a row
198
- if (response.session._botonic_action?.startsWith(models_1.BotonicAction.Redirect)) {
206
+ if (response.session._botonic_action?.startsWith(BotonicAction.Redirect)) {
199
207
  return await this.runRedirectAction(response, botContext, numOfRedirects + 1);
200
208
  }
201
209
  return response;
202
210
  }
211
+ constructor({ renderer, routes, theme, plugins, appId, defaultTyping = 0.6, defaultDelay = 0.4, defaultRoutes, inspector }){
212
+ _define_property(this, "appId", void 0);
213
+ _define_property(this, "defaultDelay", void 0);
214
+ _define_property(this, "defaultRoutes", void 0);
215
+ _define_property(this, "defaultTyping", void 0);
216
+ _define_property(this, "inspector", void 0);
217
+ _define_property(this, "plugins", void 0);
218
+ _define_property(this, "renderer", void 0); // TODO use a type like ({ request, actions }: RendererArgs) => Promise<any[]>
219
+ _define_property(this, "rootElement", void 0);
220
+ _define_property(this, "router", void 0);
221
+ _define_property(this, "routes", void 0);
222
+ _define_property(this, "theme", void 0);
223
+ this.renderer = renderer;
224
+ this.plugins = plugins || {};
225
+ this.theme = theme || {};
226
+ this.defaultTyping = defaultTyping;
227
+ this.defaultDelay = defaultDelay;
228
+ this.appId = appId || undefined;
229
+ this.rootElement = null;
230
+ this.inspector = inspector || new Inspector();
231
+ this.routes = routes;
232
+ this.defaultRoutes = defaultRoutes || [];
233
+ this.router = this.routes instanceof Function ? null : new Router([
234
+ ...this.routes,
235
+ ...this.defaultRoutes
236
+ ], this.inspector.routeInspector);
237
+ }
203
238
  }
204
- exports.CoreBot = CoreBot;
239
+
240
+ export { CoreBot };
241
+
205
242
  //# sourceMappingURL=core-bot.js.map
@@ -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","sources":["../../src/core-bot.ts"],"sourcesContent":["import { Inspector } from './debug'\nimport {\n type BotContext,\n BotonicAction,\n type BotRequest,\n type BotResponse,\n type BotSecrets,\n type BotSettings,\n INPUT,\n type Input,\n type ProcessInputResult,\n type ResolvedPlugins,\n type Route,\n type Routes,\n type Session,\n} from './models'\nimport { runPlugins } from './plugins'\nimport { getComputedRoutes, Router } from './routing'\n\nexport interface CoreBotConfig {\n appId?: string\n defaultDelay?: number\n defaultRoutes?: Route[]\n defaultTyping?: number\n inspector?: Inspector\n plugins?: ResolvedPlugins\n renderer: any\n routes: Routes\n theme?: any\n}\n\nexport class CoreBot {\n appId?: string\n defaultDelay: number\n defaultRoutes: Route[]\n defaultTyping: number\n inspector: Inspector\n plugins: ResolvedPlugins\n renderer: any // TODO use a type like ({ request, actions }: RendererArgs) => Promise<any[]>\n rootElement: any\n router: Router | null\n routes: Routes\n theme?: any\n\n constructor({\n renderer,\n routes,\n theme,\n plugins,\n appId,\n defaultTyping = 0.6,\n defaultDelay = 0.4,\n defaultRoutes,\n inspector,\n }: CoreBotConfig) {\n this.renderer = renderer\n this.plugins = plugins || {}\n this.theme = theme || {}\n this.defaultTyping = defaultTyping\n this.defaultDelay = defaultDelay\n this.appId = appId || undefined\n this.rootElement = null\n this.inspector = inspector || new Inspector()\n this.routes = routes\n this.defaultRoutes = defaultRoutes || []\n this.router =\n this.routes instanceof Function\n ? null\n : new Router(\n [...this.routes, ...this.defaultRoutes],\n this.inspector.routeInspector\n )\n }\n\n setSystemLocale(locale: string, session: Session): void {\n session.user.system_locale = locale\n }\n\n setUserLocale(locale: string, session: Session): void {\n session.user.locale = locale\n }\n\n setUserCountry(country: string, session: Session): void {\n session.user.country = country\n }\n\n async input(request: BotRequest): Promise<BotResponse> {\n const botContext = this.getBotContext(request)\n\n const output = await this.runInput(botContext)\n\n if (\n botContext.session._botonic_action?.startsWith(BotonicAction.Redirect)\n ) {\n return await this.runRedirectAction(output, botContext)\n }\n\n return output\n }\n\n private getBotContext(request: BotRequest): BotContext {\n const { input, session, lastRoutePath } = request\n const settings = this.getSettings(request)\n const secrets = this.getSecrets(request)\n\n return {\n input,\n session,\n lastRoutePath,\n params: {},\n plugins: this.plugins,\n defaultTyping: this.defaultTyping,\n defaultDelay: this.defaultDelay,\n getUserCountry: () => session.user.country,\n getUserLocale: () => session.user.locale,\n getSystemLocale: () => session.user.system_locale,\n setUserCountry: (country: string) =>\n this.setUserCountry(country, session),\n setUserLocale: (locale: string) => this.setUserLocale(locale, session),\n setSystemLocale: (locale: string) =>\n this.setSystemLocale(locale, session),\n settings,\n secrets,\n }\n }\n\n private getSettings(request: BotRequest): BotSettings {\n if (!request.settings) {\n // This only happens in local development\n return {\n HUBTYPE_API_URL: '',\n STATIC_URL: '',\n LITELLM_API_URL: '',\n AZURE_OPENAI_API_BASE: '',\n AZURE_OPENAI_API_VERSION: '',\n CUSTOM_SHORT_URL_HOST: '',\n LANGUAGE_DETECTION_ENABLED: false,\n custom: {},\n }\n }\n\n return request.settings\n }\n\n private getSecrets(request: BotRequest): BotSecrets {\n if (!request.secrets) {\n // This only happens in local development\n return {\n HUBTYPE_ACCESS_TOKEN: '',\n LITELLM_API_KEY: '',\n AZURE_OPENAI_API_KEY: '',\n custom: {},\n }\n }\n\n return request.secrets\n }\n\n private async runInput(botContext: BotContext): Promise<BotResponse> {\n // After first updateSession, user country locale and system_locale are always defined\n this.updateSession(botContext.session)\n\n if (botContext.input.type === INPUT.CHAT_EVENT) {\n return {\n input: botContext.input,\n session: botContext.session,\n lastRoutePath: botContext.lastRoutePath,\n settings: botContext.settings,\n secrets: botContext.secrets,\n response: [],\n }\n }\n\n await this.runPrePlugins(botContext)\n\n const output = await this.getOutput(botContext)\n botContext = this.updateRequestFromOutput(botContext, output)\n const response = await this.renderer({\n request: botContext,\n actions: [output.fallbackAction, output.action, output.emptyAction],\n })\n\n await this.runPostPlugins(botContext, response)\n\n botContext.session.is_first_interaction = false\n\n return {\n input: botContext.input,\n session: botContext.session,\n lastRoutePath: botContext.lastRoutePath,\n settings: botContext.settings,\n secrets: botContext.secrets,\n response,\n }\n }\n\n private updateSession(session: Session) {\n // set new user fields (country, locale, system_locale) from old fields in extra_data\n if (!session.user.country) {\n const country = session.user.extra_data?.country\n this.setUserCountry(country, session)\n }\n\n if (!session.user.locale) {\n const language = session.user.extra_data?.language\n this.setUserLocale(language, session)\n }\n\n if (!session.user.system_locale) {\n const locale = session.user.locale\n if (locale) {\n this.setSystemLocale(locale, session)\n }\n }\n }\n\n private async runPrePlugins(botContext: BotContext) {\n if (this.plugins) {\n await runPlugins({ botContext, mode: 'pre' })\n }\n }\n\n private async getOutput(botContext: BotContext): Promise<ProcessInputResult> {\n await this.setRouter(botContext)\n\n const output = (this.router as Router).processInput(\n botContext.input,\n botContext.session,\n botContext.lastRoutePath\n )\n return output\n }\n\n private async setRouter(botContext: BotContext) {\n if (this.routes instanceof Function) {\n this.router = new Router(\n [\n ...(await getComputedRoutes(this.routes, botContext)),\n ...this.defaultRoutes,\n ],\n this.inspector.routeInspector\n )\n }\n }\n\n private updateRequestFromOutput(\n botContext: BotContext,\n output: ProcessInputResult\n ): BotContext {\n return {\n ...botContext,\n params: output.params || {},\n lastRoutePath: output.lastRoutePath,\n }\n }\n\n private async runPostPlugins(botContext: BotContext, response: any) {\n if (this.plugins) {\n await runPlugins({\n botContext,\n mode: 'post',\n response,\n })\n }\n }\n\n private async runRedirectAction(\n previousResponse: BotResponse,\n botContext: BotContext,\n numOfRedirects: number = 0\n ) {\n if (numOfRedirects > 10) {\n throw new Error('Maximum BotAction recursive calls reached (10)')\n }\n\n const nextPayload = botContext.session._botonic_action?.split(\n `${BotonicAction.Redirect}:`\n )[1]\n\n const inputWithBotActionPayload: Input = {\n ...botContext.input,\n payload: nextPayload,\n type: INPUT.POSTBACK,\n data: undefined,\n text: undefined,\n }\n\n botContext.session._botonic_action = undefined\n botContext.input = inputWithBotActionPayload\n\n const followUp = await this.runInput(botContext)\n\n const response: BotResponse = {\n input: followUp.input,\n response: previousResponse.response.concat(followUp.response),\n session: botContext.session,\n lastRoutePath: followUp.lastRoutePath,\n settings: followUp.settings,\n secrets: followUp.secrets,\n }\n\n // Recursive call to handle multiple bot actions in a row\n if (response.session._botonic_action?.startsWith(BotonicAction.Redirect)) {\n return await this.runRedirectAction(\n response,\n botContext,\n numOfRedirects + 1\n )\n }\n\n return response\n }\n}\n"],"names":["Inspector","BotonicAction","INPUT","runPlugins","getComputedRoutes","Router","CoreBot","locale","session","country","request","botContext","output","input","lastRoutePath","settings","secrets","response","language","Function","previousResponse","numOfRedirects","Error","nextPayload","inputWithBotActionPayload","undefined","followUp","renderer","routes","theme","plugins","appId","defaultTyping","defaultDelay","defaultRoutes","inspector"],"mappings":"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"}
@@ -1 +1 @@
1
- export * from './inspector';
1
+ export * from './inspector.js';
@@ -1,5 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./inspector"), exports);
1
+ export * from "./inspector.js";
2
+
3
+
4
+ export {};
5
+
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B"}
1
+ {"version":3,"file":"debug/index.js","sources":["../../../src/debug/index.ts"],"sourcesContent":["export * from './inspector'\n"],"names":[],"mappings":";AAA2B"}
@@ -1,4 +1,4 @@
1
- import type { Route, RouteMatcher } from '../models';
1
+ import type { Route, RouteMatcher } from '../models/index.js';
2
2
  export declare class RouteInspector {
3
3
  routeMatched(_route: Route, _routeKey: string, _routeValue: RouteMatcher, _input: any): void;
4
4
  routeNotMatched(_route: Route, _routeKey: string, _routeValue: RouteMatcher, _input: any): void;
@@ -1,17 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Inspector = exports.LogRouteInspector = exports.FocusRouteInspector = exports.RouteInspector = void 0;
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else obj[key] = value;
10
+ return obj;
11
+ }
4
12
  class RouteInspector {
5
- routeMatched(_route, _routeKey, _routeValue, _input) { }
6
- routeNotMatched(_route, _routeKey, _routeValue, _input) { }
13
+ routeMatched(_route, _routeKey, _routeValue, _input) {}
14
+ routeNotMatched(_route, _routeKey, _routeValue, _input) {}
7
15
  }
8
- exports.RouteInspector = RouteInspector;
9
16
  class FocusRouteInspector extends RouteInspector {
10
- constructor() {
11
- super();
12
- this.focusRoutePaths = null;
13
- this.focusOnMatches = false;
14
- }
15
17
  focusOnlyOnRoutes(focusRoutePaths) {
16
18
  this.focusRoutePaths = focusRoutePaths;
17
19
  return this;
@@ -26,22 +28,24 @@ class FocusRouteInspector extends RouteInspector {
26
28
  }
27
29
  return this.focusRoutePaths.includes(route.path);
28
30
  }
31
+ constructor(){
32
+ super(), _define_property(this, "focusRoutePaths", void 0), _define_property(this, "focusOnMatches", void 0);
33
+ this.focusRoutePaths = null;
34
+ this.focusOnMatches = false;
35
+ }
29
36
  }
30
- exports.FocusRouteInspector = FocusRouteInspector;
31
37
  class LogRouteInspector extends FocusRouteInspector {
32
38
  routeMatched(route, routeKey, routeValue, inputValue) {
33
39
  if (!this._isOnFocus(route)) {
34
40
  return;
35
41
  }
36
- this._log(`Route ${this._routeName(route)} selected ` +
37
- `because Input.${routeKey} (${inputValue}) matched '${routeValue}'`);
42
+ this._log(`Route ${this._routeName(route)} selected ` + `because Input.${routeKey} (${inputValue}) matched '${routeValue}'`);
38
43
  }
39
44
  routeNotMatched(route, routeKey, routeValue, inputValue) {
40
45
  if (!this._isOnFocus(route) || this.focusOnMatches) {
41
46
  return;
42
47
  }
43
- this._log(`Route ${this._routeName(route)} not selected ` +
44
- `because Input.${routeKey} (${inputValue}) did not match '${routeValue}'`);
48
+ this._log(`Route ${this._routeName(route)} not selected ` + `because Input.${routeKey} (${inputValue}) did not match '${routeValue}'`);
45
49
  }
46
50
  _routeName(obj) {
47
51
  let name = obj.path || '<<no path defined>>';
@@ -57,14 +61,16 @@ class LogRouteInspector extends FocusRouteInspector {
57
61
  console.log(message, ...optionalParams);
58
62
  }
59
63
  }
60
- exports.LogRouteInspector = LogRouteInspector;
61
64
  class Inspector {
62
- constructor(routeInspector = undefined) {
63
- this.routeInspector = routeInspector || new RouteInspector();
64
- }
65
65
  getRouteInspector() {
66
66
  return this.routeInspector;
67
67
  }
68
+ constructor(routeInspector = undefined){
69
+ _define_property(this, "routeInspector", void 0);
70
+ this.routeInspector = routeInspector || new RouteInspector();
71
+ }
68
72
  }
69
- exports.Inspector = Inspector;
73
+
74
+ export { FocusRouteInspector, Inspector, LogRouteInspector, RouteInspector };
75
+
70
76
  //# sourceMappingURL=inspector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../../src/debug/inspector.ts"],"names":[],"mappings":";;;AACA,MAAa,cAAc;IACzB,YAAY,CACV,MAAa,EACb,SAAiB,EACjB,WAAyB,EACzB,MAAW,IACJ,CAAC;IACV,eAAe,CACb,MAAa,EACb,SAAiB,EACjB,WAAyB,EACzB,MAAW,IACJ,CAAC;CACX;AAbD,wCAaC;AAED,MAAa,mBAAoB,SAAQ,cAAc;IAGrD;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;IAC7B,CAAC;IAED,iBAAiB,CAAC,eAAyB;QACzC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,KAAY;QACrB,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAc,CAAC,CAAA;IAC5D,CAAC;CACF;AAzBD,kDAyBC;AAED,MAAa,iBAAkB,SAAQ,mBAAmB;IAC/C,YAAY,CACnB,KAAY,EACZ,QAAgB,EAChB,UAAwB,EACxB,UAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CACP,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY;YACzC,iBAAiB,QAAQ,KAAK,UAAU,cAAc,UAAU,GAAG,CACtE,CAAA;IACH,CAAC;IAEQ,eAAe,CACtB,KAAY,EACZ,QAAgB,EAChB,UAAwB,EACxB,UAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CACP,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB;YAC7C,iBAAiB,QAAQ,KAAK,UAAU,oBAAoB,UAAU,GAAG,CAC5E,CAAA;IACH,CAAC;IAED,UAAU,CAAC,GAAU;QACnB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,qBAAqB,CAAA;QAC5C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,GAAG,IAAI,IAAI,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA;QACrD,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,IAAI,wBAAwB,GAAG,CAAC,QAAQ,IAAI,CAAA;QACzD,CAAC;QACD,OAAO,IAAc,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,cAAwB;QAC/C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACzC,CAAC;CACF;AA7CD,8CA6CC;AAED,MAAa,SAAS;IAEpB,YAAY,iBAA6C,SAAS;QAChE,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,cAAc,EAAE,CAAA;IAC9D,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;CACF;AATD,8BASC"}
1
+ {"version":3,"file":"debug/inspector.js","sources":["../../../src/debug/inspector.ts"],"sourcesContent":["import type { Route, RouteMatcher } from '../models'\nexport class RouteInspector {\n routeMatched(\n _route: Route,\n _routeKey: string,\n _routeValue: RouteMatcher,\n _input: any\n ): void {}\n routeNotMatched(\n _route: Route,\n _routeKey: string,\n _routeValue: RouteMatcher,\n _input: any\n ): void {}\n}\n\nexport class FocusRouteInspector extends RouteInspector {\n focusRoutePaths: string[] | null\n focusOnMatches: boolean\n constructor() {\n super()\n this.focusRoutePaths = null\n this.focusOnMatches = false\n }\n\n focusOnlyOnRoutes(focusRoutePaths: string[]): this {\n this.focusRoutePaths = focusRoutePaths\n return this\n }\n\n focusOnlyOnMatches(): this {\n this.focusOnMatches = true\n return this\n }\n\n _isOnFocus(route: Route): boolean {\n if (this.focusRoutePaths === null) {\n return true\n }\n return this.focusRoutePaths.includes(route.path as string)\n }\n}\n\nexport class LogRouteInspector extends FocusRouteInspector {\n override routeMatched(\n route: Route,\n routeKey: string,\n routeValue: RouteMatcher,\n inputValue: string\n ): void {\n if (!this._isOnFocus(route)) {\n return\n }\n this._log(\n `Route ${this._routeName(route)} selected ` +\n `because Input.${routeKey} (${inputValue}) matched '${routeValue}'`\n )\n }\n\n override routeNotMatched(\n route: Route,\n routeKey: string,\n routeValue: RouteMatcher,\n inputValue: string\n ): void {\n if (!this._isOnFocus(route) || this.focusOnMatches) {\n return\n }\n this._log(\n `Route ${this._routeName(route)} not selected ` +\n `because Input.${routeKey} (${inputValue}) did not match '${routeValue}'`\n )\n }\n\n _routeName(obj: Route): string {\n let name = obj.path || '<<no path defined>>'\n if (obj.action) {\n name = `'${name}' (to action '${obj.action.name}')`\n }\n if (obj.redirect) {\n name = `'${name}' (with redirect to '${obj.redirect}')`\n }\n return name as string\n }\n\n _log(message: string, ...optionalParams: string[]): void {\n console.log(message, ...optionalParams)\n }\n}\n\nexport class Inspector {\n routeInspector: RouteInspector\n constructor(routeInspector: RouteInspector | undefined = undefined) {\n this.routeInspector = routeInspector || new RouteInspector()\n }\n\n getRouteInspector(): RouteInspector {\n return this.routeInspector\n }\n}\n"],"names":["RouteInspector","_route","_routeKey","_routeValue","_input","FocusRouteInspector","focusRoutePaths","route","LogRouteInspector","routeKey","routeValue","inputValue","obj","name","message","optionalParams","console","Inspector","routeInspector","undefined"],"mappings":";;;;;;;;;;;AACO,MAAMA,cAAcA;IACzB,aACEC,MAAa,EACbC,SAAiB,EACjBC,WAAyB,EACzBC,MAAW,EACL,CAAC;IACT,gBACEH,MAAa,EACbC,SAAiB,EACjBC,WAAyB,EACzBC,MAAW,EACL,CAAC;AACX;AAEO,MAAMC,mBAAmBA,SAASL,cAAcA;IASrD,kBAAkBM,eAAyB,EAAQ;QACjD,IAAI,CAAC,eAAe,GAAGA;QACvB,OAAO,IAAI;IACb;IAEA,qBAA2B;QACzB,IAAI,CAAC,cAAc,GAAG;QACtB,OAAO,IAAI;IACb;IAEA,WAAWC,KAAY,EAAW;QAChC,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM;YACjC,OAAO;QACT;QACA,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAACA,MAAM,IAAI;IACjD;IArBA,aAAc;QACZ,KAAK,IAHP,mDACA;QAGE,IAAI,CAAC,eAAe,GAAG;QACvB,IAAI,CAAC,cAAc,GAAG;IACxB;AAkBF;AAEO,MAAMC,iBAAiBA,SAASH,mBAAmBA;IAC/C,aACPE,KAAY,EACZE,QAAgB,EAChBC,UAAwB,EACxBC,UAAkB,EACZ;QACN,IAAI,CAAC,IAAI,CAAC,UAAU,CAACJ,QAAQ;YAC3B;QACF;QACA,IAAI,CAAC,IAAI,CACP,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAACA,OAAO,UAAU,CAAC,GACzC,CAAC,cAAc,EAAEE,SAAS,EAAE,EAAEE,WAAW,WAAW,EAAED,WAAW,CAAC,CAAC;IAEzE;IAES,gBACPH,KAAY,EACZE,QAAgB,EAChBC,UAAwB,EACxBC,UAAkB,EACZ;QACN,IAAI,CAAC,IAAI,CAAC,UAAU,CAACJ,UAAU,IAAI,CAAC,cAAc,EAAE;YAClD;QACF;QACA,IAAI,CAAC,IAAI,CACP,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAACA,OAAO,cAAc,CAAC,GAC7C,CAAC,cAAc,EAAEE,SAAS,EAAE,EAAEE,WAAW,iBAAiB,EAAED,WAAW,CAAC,CAAC;IAE/E;IAEA,WAAWE,GAAU,EAAU;QAC7B,IAAIC,OAAOD,IAAI,IAAI,IAAI;QACvB,IAAIA,IAAI,MAAM,EAAE;YACdC,OAAO,CAAC,CAAC,EAAEA,KAAK,cAAc,EAAED,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD;QACA,IAAIA,IAAI,QAAQ,EAAE;YAChBC,OAAO,CAAC,CAAC,EAAEA,KAAK,qBAAqB,EAAED,IAAI,QAAQ,CAAC,EAAE,CAAC;QACzD;QACA,OAAOC;IACT;IAEA,KAAKC,OAAe,EAAE,GAAGC,cAAwB,EAAQ;QACvDC,QAAQ,GAAG,CAACF,YAAYC;IAC1B;AACF;AAEO,MAAME,SAASA;IAMpB,oBAAoC;QAClC,OAAO,IAAI,CAAC,cAAc;IAC5B;IANA,YAAYC,iBAA6CC,SAAS,CAAE;QADpE;QAEE,IAAI,CAAC,cAAc,GAAGD,kBAAkB,IAAIlB,cAAcA;IAC5D;AAKF"}
@@ -1,4 +1,4 @@
1
- import { type Session } from './models';
1
+ import { type Session } from './models/index.js';
2
2
  export interface HubtypeAgentsInfo {
3
3
  attending_count: number;
4
4
  email: string;