@tiledesk/tiledesk-tybot-connector 2.0.9 → 2.0.10-rc2

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 (87) hide show
  1. package/CHANGELOG.md +27 -2
  2. package/ExtApi.js +1 -8
  3. package/ExtUtil.js +5 -6
  4. package/Logger.js +27 -17
  5. package/engine/IntentForm.js +0 -1
  6. package/engine/IntentsMachineFactory.js +4 -4
  7. package/engine/MongodbBotsDataSource.js +0 -1
  8. package/engine/MongodbIntentsMachine.js +0 -1
  9. package/engine/TiledeskChatbot.js +11 -16
  10. package/engine/TiledeskIntentsMachine.js +1 -2
  11. package/engine/mock/MockBotsDataSource.js +1 -2
  12. package/index.js +22 -25
  13. package/logs/app.log +11066 -20247
  14. package/logs/app2.log +46280 -0
  15. package/logs/app3.log +31686 -0
  16. package/logs/app4.log +46163 -0
  17. package/logs/app5.log +39983 -0
  18. package/logs/app6.log +5964 -0
  19. package/package.json +3 -2
  20. package/services/AIService.js +1 -1
  21. package/tiledeskChatbotPlugs/DirectivesChatbotPlug.js +31 -18
  22. package/tiledeskChatbotPlugs/FillParamsChatbotPlug.js +1 -2
  23. package/tiledeskChatbotPlugs/MarkbotChatbotPlug.js +1 -3
  24. package/tiledeskChatbotPlugs/SplitsChatbotPlug.js +1 -3
  25. package/tiledeskChatbotPlugs/WebhookChatbotPlug.js +7 -9
  26. package/tiledeskChatbotPlugs/directives/DEPRECATED_DirIfNotOpenHours.js +3 -10
  27. package/tiledeskChatbotPlugs/directives/DEPRECATED_DirIfOpenHours.js +2 -9
  28. package/tiledeskChatbotPlugs/directives/DirAddTags.js +16 -4
  29. package/tiledeskChatbotPlugs/directives/DirAiPrompt.js +16 -0
  30. package/tiledeskChatbotPlugs/directives/DirAskGPT.js +0 -1
  31. package/tiledeskChatbotPlugs/directives/DirAskGPTV2.js +16 -0
  32. package/tiledeskChatbotPlugs/directives/DirAssign.js +5 -8
  33. package/tiledeskChatbotPlugs/directives/DirAssignFromFunction.js +1 -3
  34. package/tiledeskChatbotPlugs/directives/DirAssistant.js +0 -1
  35. package/tiledeskChatbotPlugs/directives/DirBrevo.js +4 -6
  36. package/tiledeskChatbotPlugs/directives/DirCaptureUserReply.js +0 -1
  37. package/tiledeskChatbotPlugs/directives/DirClose.js +0 -2
  38. package/tiledeskChatbotPlugs/directives/DirCode.js +0 -1
  39. package/tiledeskChatbotPlugs/directives/DirCondition.js +0 -1
  40. package/tiledeskChatbotPlugs/directives/DirConnectBlock.js +0 -1
  41. package/tiledeskChatbotPlugs/directives/DirContactUpdate.js +1 -3
  42. package/tiledeskChatbotPlugs/directives/DirCustomerio.js +0 -1
  43. package/tiledeskChatbotPlugs/directives/DirDeflectToHelpCenter.js +2 -5
  44. package/tiledeskChatbotPlugs/directives/DirDeleteVariable.js +0 -1
  45. package/tiledeskChatbotPlugs/directives/DirDepartment.js +1 -3
  46. package/tiledeskChatbotPlugs/directives/DirFireTiledeskEvent.js +1 -3
  47. package/tiledeskChatbotPlugs/directives/DirFlowLog.js +76 -0
  48. package/tiledeskChatbotPlugs/directives/DirForm.js +1 -3
  49. package/tiledeskChatbotPlugs/directives/DirGptTask.js +0 -1
  50. package/tiledeskChatbotPlugs/directives/DirGptTask_OLD.js +36 -55
  51. package/tiledeskChatbotPlugs/directives/DirHubspot.js +0 -1
  52. package/tiledeskChatbotPlugs/directives/DirIfOnlineAgents.js +1 -4
  53. package/tiledeskChatbotPlugs/directives/DirIfOnlineAgentsV2.js +1 -4
  54. package/tiledeskChatbotPlugs/directives/DirIfOpenHours.js +0 -2
  55. package/tiledeskChatbotPlugs/directives/DirIfOpenHours_OLD.js +8 -12
  56. package/tiledeskChatbotPlugs/directives/DirIntent.js +6 -5
  57. package/tiledeskChatbotPlugs/directives/DirJSONCondition.js +0 -1
  58. package/tiledeskChatbotPlugs/directives/DirLockIntent.js +0 -1
  59. package/tiledeskChatbotPlugs/directives/DirMake.js +1 -16
  60. package/tiledeskChatbotPlugs/directives/DirMessage.js +1 -3
  61. package/tiledeskChatbotPlugs/directives/DirMessageToBot.js +0 -1
  62. package/tiledeskChatbotPlugs/directives/DirMoveToAgent.js +1 -4
  63. package/tiledeskChatbotPlugs/directives/DirMoveToUnassigned.js +0 -3
  64. package/tiledeskChatbotPlugs/directives/DirQapla.js +0 -1
  65. package/tiledeskChatbotPlugs/directives/DirRandomReply.js +1 -3
  66. package/tiledeskChatbotPlugs/directives/DirRemoveCurrentBot.js +1 -2
  67. package/tiledeskChatbotPlugs/directives/DirReplaceBot.js +1 -3
  68. package/tiledeskChatbotPlugs/directives/DirReplaceBotV2.js +1 -3
  69. package/tiledeskChatbotPlugs/directives/DirReplaceBotV3.js +1 -3
  70. package/tiledeskChatbotPlugs/directives/DirReply.js +7 -18
  71. package/tiledeskChatbotPlugs/directives/DirReplyV2.js +8 -13
  72. package/tiledeskChatbotPlugs/directives/DirSendEmail.js +1 -3
  73. package/tiledeskChatbotPlugs/directives/DirSendWhatsapp.js +0 -1
  74. package/tiledeskChatbotPlugs/directives/DirSetAttribute.js +0 -1
  75. package/tiledeskChatbotPlugs/directives/DirSetAttributeV2.js +1 -4
  76. package/tiledeskChatbotPlugs/directives/DirSetConversationTags.js +1 -3
  77. package/tiledeskChatbotPlugs/directives/DirUnlockIntent.js +0 -1
  78. package/tiledeskChatbotPlugs/directives/DirWait.js +0 -1
  79. package/tiledeskChatbotPlugs/directives/DirWebRequest.js +0 -1
  80. package/tiledeskChatbotPlugs/directives/DirWebRequestV2.js +14 -15
  81. package/tiledeskChatbotPlugs/directives/DirWebResponse.js +6 -40
  82. package/tiledeskChatbotPlugs/directives/DirWhatsappByAttribute.js +0 -1
  83. package/tiledeskChatbotPlugs/directives/Directives.js +2 -0
  84. package/utils/TiledeskChatbotUtil.js +19 -57
  85. package/TdCache copy.js +0 -242
  86. package/logs/app1.log +0 -16071
  87. package/tiledeskChatbotPlugs/directives/DirWebRequestV2_old.js +0 -417
package/CHANGELOG.md CHANGED
@@ -5,8 +5,6 @@
5
5
  available on:
6
6
  ▶️ https://www.npmjs.com/package/@tiledesk/tiledesk-tybot-connector
7
7
 
8
- # 2.0.9
9
-
10
8
  # 2.0.9-rc1
11
9
  - removed: speech-to-text management
12
10
 
@@ -20,6 +18,8 @@ available on:
20
18
 
21
19
  # v0.5.0
22
20
  - added: AI_ENDPOINT env var
21
+
22
+ # v0.5.0-rc1
23
23
  - added: ability to get 'none' as bodytype in webresponse
24
24
 
25
25
  # v0.4.2
@@ -34,6 +34,19 @@ available on:
34
34
  - changed: refactoring of DIrWebRequestv2
35
35
  - bug-fixed: erro while parsing webrequestv2 body
36
36
 
37
+ # v0.3.5-rc4
38
+ - added: webhook action (same as intent one)
39
+
40
+ # v0.3.5-rc3
41
+ - bug-fixed: jsonBody parse error in web-request-v2
42
+
43
+ # v0.3.5-rc2
44
+ - bug-fixed: cannot set status of undefined reading res.status in DirAssistant
45
+
46
+ # v0.3.5-rc1
47
+ - changed: refactoring web-request-v2
48
+ - bug-fixed: jsonBody parse error in web-request-v2
49
+
37
50
  # v0.3.4
38
51
  -bug-fixed: slit is undefined in TiledeskChatbotUtils
39
52
 
@@ -43,6 +56,18 @@ available on:
43
56
  # v0.3.2
44
57
  - bug-fixed: minor improvement
45
58
 
59
+ # v0.2.153-rc9
60
+ - changed: updated tiledesk-multi-worker to 0.2.1-rc2
61
+
62
+ # v0.2.153-rc8
63
+ - added: fixToken function in TiledeskService utils class
64
+
65
+ # v0.2.153-rc4
66
+ - log added
67
+
68
+ # v0.2.153-rc3
69
+ - added: specchToText function to transcript audio file
70
+
46
71
  # v0.2.153-rc1
47
72
  - changed: context for gpt-40 and gpt-40-mini
48
73
 
package/ExtApi.js CHANGED
@@ -10,12 +10,6 @@ class ExtApi {
10
10
  throw new Error("options.TILEBOT_ENDPOINT is mandatory");
11
11
  //this.extEndpoint = `${options.TILEBOT_ENDPOINT}/;
12
12
  }
13
- if (options.log) {
14
- this.log = options.log;
15
- }
16
- else {
17
- this.log = false;
18
- }
19
13
  this.TILEBOT_ENDPOINT = options.TILEBOT_ENDPOINT;
20
14
  }
21
15
 
@@ -63,8 +57,7 @@ class ExtApi {
63
57
  callback(null, resbody);
64
58
  }
65
59
  }
66
- }, this.log
67
- );
60
+ });
68
61
  }
69
62
 
70
63
  }
package/ExtUtil.js CHANGED
@@ -8,20 +8,19 @@ const { FillParamsChatbotPlug } = require('./tiledeskChatbotPlugs/FillParamsChat
8
8
 
9
9
  // PROD
10
10
  /*const { MessagePipeline } = require('@tiledesk/tiledesk-chatbot-plugs/MessagePipeline');
11
- const { DirectivesChatbotPlug } = require('@tiledesk/tiledesk-chatbot-plugs/DirectivesChatbotPlug');
12
11
  const { SplitsChatbotPlug } = require('@tiledesk/tiledesk-chatbot-plugs/SplitsChatbotPlug');
13
12
  const { MarkbotChatbotPlug } = require('@tiledesk/tiledesk-chatbot-plugs/MarkbotChatbotPlug');
14
13
  const { WebhookChatbotPlug } = require('@tiledesk/tiledesk-chatbot-plugs/WebhookChatbotPlug');*/
15
14
 
16
15
  class ExtUtil {
17
16
 
18
- static async execPipelineExt(request, static_bot_answer, directivesPlug, tdcache, log) {
17
+ static async execPipelineExt(request, static_bot_answer, directivesPlug, tdcache) {
19
18
  const messagePipeline = new MessagePipeline(static_bot_answer, null);
20
19
  messagePipeline.addPlug(directivesPlug);
21
- messagePipeline.addPlug(new FillParamsChatbotPlug(request, tdcache, log)); // in original message
22
- messagePipeline.addPlug(new SplitsChatbotPlug(log));
23
- messagePipeline.addPlug(new MarkbotChatbotPlug(log));
24
- messagePipeline.addPlug(new FillParamsChatbotPlug(request, tdcache, log)); // in splits
20
+ messagePipeline.addPlug(new FillParamsChatbotPlug(request, tdcache)); // in original message
21
+ messagePipeline.addPlug(new SplitsChatbotPlug());
22
+ messagePipeline.addPlug(new MarkbotChatbotPlug());
23
+ messagePipeline.addPlug(new FillParamsChatbotPlug(request, tdcache)); // in splits
25
24
  const bot_answer = await messagePipeline.exec();
26
25
  return bot_answer;
27
26
  }
package/Logger.js CHANGED
@@ -2,13 +2,18 @@ let { Publisher } = require("@tiledesk/tiledesk-multi-worker");
2
2
 
3
3
  const FLOW_LOGS_ENABLED = process.env.FLOW_LOGS_ENABLED;
4
4
  const AMQP_MANAGER_URL = process.env.AMQP_MANAGER_URL;
5
+ const LOGS_BASE_ROUTING_KEY = process.env.LOGS_BASE_ROUTING_KEY || "apps.tilechat.logs";
6
+
7
+ const levels = { error: 0, warn: 1, info: 2, debug: 3 };
8
+
5
9
  let publisher = new Publisher(AMQP_MANAGER_URL, {
6
10
  debug: false,
7
11
  queueName: "logs_queue",
8
- exchange: "tiledesk-multi",
9
- topic: "logs",
12
+ exchange: "amq.topic"
10
13
  })
11
14
 
15
+ console.log("LOGGER publisher: ", publisher);
16
+
12
17
  class Logger {
13
18
 
14
19
  constructor(config) {
@@ -33,17 +38,15 @@ class Logger {
33
38
  }
34
39
 
35
40
  this.request_id = config.request_id;
41
+ console.log("LOGGER for request ", this.request_id);
42
+
36
43
  this.dev = false;
37
44
  if (config.dev && config.dev === true) {
38
45
  this.dev = true;
46
+ } else {
47
+ this._disableDebugMethods()
39
48
  }
40
-
41
- // if (!AMQP_MANAGER_URL) {
42
- // console.error('AMQP_MANAGER_URL is undefined. Logger not available...');
43
- // return;
44
- // //throw new Error("Error starting logger: AMQP_MANAGER_URL is undefined.")
45
- // }
46
-
49
+
47
50
  }
48
51
 
49
52
  error(...args) {
@@ -68,27 +71,29 @@ class Logger {
68
71
 
69
72
  base(level, text) {
70
73
  if (!this.request_id || !publisher) {
71
- //console.log("Return because request or publisher is undefined", this.request_id, publisher);
74
+ console.log("Return because request or publisher is undefined", this.request_id, publisher);
72
75
  return;
73
76
  }
74
77
 
75
78
  let data = {
76
79
  request_id: this.request_id,
80
+ id_project: this.request_id.split("-")[2],
77
81
  text: text,
78
82
  level: level,
83
+ nlevel: levels[level],
79
84
  timestamp: new Date(),
80
85
  dev: this.dev
81
86
  }
82
87
 
83
- publisher.publish(data, (err, ok) => {
84
- if (err) console.warn("publish log fail: ", err);
85
- return;
86
- })
88
+ let topic = LOGS_BASE_ROUTING_KEY + `.${this.request_id}`;
89
+ console.log("LOGGER publishing on topic ", topic)
90
+ publisher.publish(data, topic);
91
+ return;
87
92
  }
88
93
 
89
94
  formatLog(args) {
90
95
  return args
91
- .map(arg => (typeof arg === "object" ? JSON.stringify(arg, null, 2) : arg ))
96
+ .map(arg => (typeof arg === "object" ? JSON.stringify(arg, null, 2) : arg))
92
97
  .join(" ")
93
98
  }
94
99
 
@@ -96,9 +101,14 @@ class Logger {
96
101
  _disableMethods() {
97
102
  const methods = ['error', 'warn', 'info', 'debug'];
98
103
  methods.forEach(method => {
99
- this[method] = () => {};
104
+ this[method] = () => { };
100
105
  });
101
- }
106
+ }
107
+
108
+ _disableDebugMethods() {
109
+ const method = 'debug';
110
+ this[method] = () => { };
111
+ }
102
112
 
103
113
  }
104
114
 
@@ -11,7 +11,6 @@ class IntentForm {
11
11
  this.form = options.form;
12
12
  this.CURRENT_FIELD_INDEX_KEY = "tilebot:requests:" + this.requestId + ":currentFieldIndex"
13
13
  this.CURRENT_FORM_KEY = "tilebot:requests:" + this.requestId + ":currentForm"
14
- this.log = options.log;
15
14
  this.requestParameters = options.requestParameters;
16
15
  }
17
16
 
@@ -4,7 +4,7 @@ const winston = require('../utils/winston.js')
4
4
 
5
5
  class IntentsMachineFactory {
6
6
 
7
- static getMachine(bot, botId, projectId, log) {
7
+ static getMachine(bot, botId, projectId) {
8
8
  let machine;
9
9
  if (bot && bot.intentsEngine === "tiledesk-ai") {
10
10
  winston.verbose("(IntentsMachineFactory) bot.intentsEngine is tiledesk-ai");
@@ -15,7 +15,7 @@ class IntentsMachineFactory {
15
15
  }
16
16
  else if (bot) {
17
17
  winston.verbose("(IntentsMachineFactory) Setting MongodbIntentsMachine with bot:", JSON.stringify(bot));
18
- machine = new MongodbIntentsMachine({projectId: projectId, language: bot.language, log});
18
+ machine = new MongodbIntentsMachine({projectId: projectId, language: bot.language});
19
19
  }
20
20
  else {
21
21
  winston.error("bot is null for: " + botId + " on projectId: " + projectId);
@@ -23,10 +23,10 @@ class IntentsMachineFactory {
23
23
  return machine;
24
24
  }
25
25
 
26
- static getBackupMachine(bot, botId, projectId, log) {
26
+ static getBackupMachine(bot, botId, projectId) {
27
27
  let machine;
28
28
  winston.verbose("(IntentsMachineFactory) Setting MongodbIntentsMachine as Backup Intents Machine on bot:", JSON.stringify(bot));
29
- machine = new MongodbIntentsMachine({projectId: projectId, language: bot.language, log});
29
+ machine = new MongodbIntentsMachine({projectId: projectId, language: bot.language});
30
30
  return machine;
31
31
  }
32
32
  }
@@ -9,7 +9,6 @@ class MongodbBotsDataSource {
9
9
  throw new Error("config.projectId is mandatory");
10
10
  }
11
11
  this.projectId = config.projectId;
12
- this.log = config.log;
13
12
  }
14
13
 
15
14
  async getBotById(botId) {
@@ -10,7 +10,6 @@ class MongodbIntentsMachine {
10
10
  }
11
11
  this.projectId = config.projectId;
12
12
  this.language = config.language;
13
- this.log = config.log;
14
13
  }
15
14
 
16
15
  /**
@@ -1,6 +1,5 @@
1
1
  // let Faq = require('./faq');
2
2
  // let Faq_kb = require('./faq_kb');
3
- // const { DirectivesChatbotPlug } = require('../tiledeskChatbotPlugs/DirectivesChatbotPlug');
4
3
  const { MessagePipeline } = require('../tiledeskChatbotPlugs/MessagePipeline');
5
4
  const { WebhookChatbotPlug } = require('../tiledeskChatbotPlugs/WebhookChatbotPlug');
6
5
  const { TiledeskClient } = require('@tiledesk/tiledesk-client');
@@ -41,7 +40,6 @@ class TiledeskChatbot {
41
40
  this.projectId = config.projectId;
42
41
  this.MAX_STEPS = config.MAX_STEPS;
43
42
  this.MAX_EXECUTION_TIME = config.MAX_EXECUTION_TIME;
44
- this.log = config.log;
45
43
  }
46
44
 
47
45
  async replyToMessage(message, callback) {
@@ -72,13 +70,13 @@ class TiledeskChatbot {
72
70
  winston.verbose("(TiledeskChatbot) Resetting current step by request message: " + message.text);
73
71
  await TiledeskChatbot.resetStep(this.tdcache, this.requestId);
74
72
  await TiledeskChatbot.resetStarted(this.tdcache, this.requestId);
75
- if (this.log) {
76
- if (this.tdcache) {
77
- let currentStep =
78
- await TiledeskChatbot.currentStep(this.tdcache, this.requestId);
79
- winston.verbose("(TiledeskChatbot) After reset currentStep:" + currentStep);
80
- }
73
+
74
+ if (this.tdcache) {
75
+ let currentStep =
76
+ await TiledeskChatbot.currentStep(this.tdcache, this.requestId);
77
+ winston.verbose("(TiledeskChatbot) After reset currentStep:" + currentStep);
81
78
  }
79
+
82
80
  }
83
81
  } catch(error) {
84
82
  winston.error("(TiledeskChatbot) Error resetting locked intent: ", error);
@@ -93,8 +91,7 @@ class TiledeskChatbot {
93
91
  // projectId: this.projectId,
94
92
  // token: this.token,
95
93
  // APIURL: this.APIURL,
96
- // APIKEY: this.APIKEY,
97
- // log: false
94
+ // APIKEY: this.APIKEY
98
95
  // });
99
96
  // it only gets the locked_intent
100
97
  // const faq = await this.botsDataSource.getByIntentDisplayName(this.botId, locked_intent);
@@ -506,7 +503,7 @@ class TiledeskChatbot {
506
503
  TiledeskChatbot.requestCacheKey(requestId) + ":parameters", paramName);
507
504
  }
508
505
 
509
- static async checkStep(_tdcache, requestId, max_steps, max_execution_time, log) {
506
+ static async checkStep(_tdcache, requestId, max_steps, max_execution_time) {
510
507
  winston.verbose("(TiledeskChatbot) Checking on MAX_STEPS: " + max_steps);
511
508
  // let go_on = true; // continue
512
509
  const parameter_key = TiledeskChatbot.requestCacheKey(requestId) + ":step";
@@ -579,7 +576,7 @@ class TiledeskChatbot {
579
576
  }
580
577
  const messagePipeline = new MessagePipeline(static_bot_answer, context);
581
578
  const webhookurl = bot.webhook_url;
582
- messagePipeline.addPlug(new WebhookChatbotPlug(userMessage.request, webhookurl, this.token, this.log));
579
+ messagePipeline.addPlug(new WebhookChatbotPlug(userMessage.request, webhookurl, this.token));
583
580
  const bot_answer = await messagePipeline.exec();
584
581
  return bot_answer;
585
582
  }
@@ -592,8 +589,7 @@ class TiledeskChatbot {
592
589
  form: form,
593
590
  requestId: this.requestId,
594
591
  chatbot: this,
595
- requestParameters: all_parameters,
596
- log: this.log
592
+ requestParameters: all_parameters
597
593
  });
598
594
  let message = await intentForm.getMessage(userInputReply);
599
595
  return message;
@@ -610,8 +606,7 @@ class TiledeskChatbot {
610
606
  projectId: this.projectId,
611
607
  token: this.token,
612
608
  APIURL: this.APIURL,
613
- APIKEY: this.APIKEY,
614
- log: this.log
609
+ APIKEY: this.APIKEY
615
610
  });
616
611
  // const parameters_key = "tilebot:requests:" + requestId + ":parameters";
617
612
  const all_parameters = await this.allParameters();//this.tdcache.hgetall(parameters_key);
@@ -12,7 +12,6 @@ class TiledeskIntentsMachine {
12
12
  else {
13
13
  this.API_ENDPOINT = config.API_ENDPOINT;
14
14
  }
15
- this.log = config.log;
16
15
  }
17
16
 
18
17
  /**
@@ -93,7 +92,7 @@ class TiledeskIntentsMachine {
93
92
  return tiledesk_intents;
94
93
  }
95
94
 
96
- myrequest(options, callback, log) {
95
+ myrequest(options, callback) {
97
96
  axios(
98
97
  {
99
98
  url: options.url,
@@ -24,8 +24,7 @@ class MockBotsDataSource {
24
24
  }catch(err){
25
25
  reject(err);
26
26
  }
27
-
28
- })
27
+ })
29
28
  }
30
29
 
31
30
  async getBotByIdCache(botId, tdcache) {
package/index.js CHANGED
@@ -18,7 +18,6 @@ let axios = require('axios');
18
18
  router.use(bodyParser.json({limit: '50mb'}));
19
19
  router.use(bodyParser.urlencoded({ extended: true , limit: '50mb'}));
20
20
 
21
- let log = false;
22
21
  /** @type {TdCache} */
23
22
  let tdcache = null;
24
23
  let MAX_STEPS = 1000;
@@ -87,7 +86,7 @@ router.post('/ext/:botid', async (req, res) => {
87
86
 
88
87
  let botsDS;
89
88
  if (!staticBots) {
90
- botsDS = new MongodbBotsDataSource({projectId: projectId, botId: botId, log: log});
89
+ botsDS = new MongodbBotsDataSource({projectId: projectId, botId: botId});
91
90
  winston.verbose("(tybotRoute) botsDS created with Mongo");
92
91
  }
93
92
  else {
@@ -99,12 +98,15 @@ router.post('/ext/:botid', async (req, res) => {
99
98
  Promise.reject(err);
100
99
  return;
101
100
  });
101
+
102
+ winston.debug("(tybotRoute) Bot found: ", bot)
103
+
102
104
 
103
105
  let intentsMachine;
104
106
  let backupMachine;
105
107
  if (!staticBots) {
106
- intentsMachine = IntentsMachineFactory.getMachine(bot, botId, projectId, log);
107
- backupMachine = IntentsMachineFactory.getBackupMachine(bot, botId, projectId, log);
108
+ intentsMachine = IntentsMachineFactory.getMachine(bot, botId, projectId);
109
+ backupMachine = IntentsMachineFactory.getBackupMachine(bot, botId, projectId);
108
110
  winston.debug("(tybotRoute) Created backupMachine:", backupMachine)
109
111
  }
110
112
  else {
@@ -124,8 +126,7 @@ router.post('/ext/:botid', async (req, res) => {
124
126
  requestId: requestId,
125
127
  projectId: projectId,
126
128
  MAX_STEPS: MAX_STEPS,
127
- MAX_EXECUTION_TIME: MAX_EXECUTION_TIME,
128
- log: log
129
+ MAX_EXECUTION_TIME: MAX_EXECUTION_TIME
129
130
  });
130
131
  winston.verbose("(tybotRoute) Message text: " + message.text)
131
132
 
@@ -162,7 +163,6 @@ router.post('/ext/:botid', async (req, res) => {
162
163
  API_ENDPOINT: API_ENDPOINT,
163
164
  TILEBOT_ENDPOINT:TILEBOT_ENDPOINT,
164
165
  token: token,
165
- log: log,
166
166
  // HELP_CENTER_API_ENDPOINT: process.env.HELP_CENTER_API_ENDPOINT,
167
167
  cache: tdcache
168
168
  }
@@ -187,8 +187,7 @@ router.post('/ext/:botid', async (req, res) => {
187
187
  reply.attributes.fillParams = true;
188
188
 
189
189
  const apiext = new ExtApi({
190
- TILEBOT_ENDPOINT: TILEBOT_ENDPOINT,
191
- log: false
190
+ TILEBOT_ENDPOINT: TILEBOT_ENDPOINT
192
191
  });
193
192
  apiext.sendSupportMessageExt(reply, projectId, requestId, token, () => {
194
193
  winston.verbose("(tybotRoute) sendSupportMessageExt reply sent: ", reply)
@@ -215,8 +214,7 @@ router.post('/ext/:projectId/requests/:requestId/messages', async (req, res) =>
215
214
  projectId: projectId,
216
215
  token: token,
217
216
  APIURL: API_ENDPOINT,
218
- APIKEY: "___",
219
- log: false
217
+ APIKEY: "___"
220
218
  });
221
219
 
222
220
  let request;
@@ -242,10 +240,10 @@ router.post('/ext/:projectId/requests/:requestId/messages', async (req, res) =>
242
240
  winston.debug("(tybotRoute) API_ENDPOINT: " + API_ENDPOINT);
243
241
  winston.debug("(tybotRoute) request: " + TILEBOT_ENDPOINT);
244
242
 
245
- let directivesPlug = new DirectivesChatbotPlug({supportRequest: request, API_ENDPOINT: API_ENDPOINT, TILEBOT_ENDPOINT: TILEBOT_ENDPOINT, token: token, log: log, HELP_CENTER_API_ENDPOINT: process.env.HELP_CENTER_API_ENDPOINT, cache: tdcache});
243
+ let directivesPlug = new DirectivesChatbotPlug({supportRequest: request, API_ENDPOINT: API_ENDPOINT, TILEBOT_ENDPOINT: TILEBOT_ENDPOINT, token: token, HELP_CENTER_API_ENDPOINT: process.env.HELP_CENTER_API_ENDPOINT, cache: tdcache});
246
244
 
247
245
  const original_answer_text = answer.text;
248
- const bot_answer = await ExtUtil.execPipelineExt(request, answer, directivesPlug, tdcache, log);
246
+ const bot_answer = await ExtUtil.execPipelineExt(request, answer, directivesPlug, tdcache);
249
247
  winston.debug("(tybotRoute) bot_answer: ", bot_answer);
250
248
 
251
249
  if (bot_answer) {
@@ -368,8 +366,7 @@ router.post('/echobot', (req, res) => {
368
366
  projectId: projectId,
369
367
  token: token,
370
368
  APIURL: API_ENDPOINT,
371
- APIKEY: "___",
372
- log: false
369
+ APIKEY: "___"
373
370
  });
374
371
 
375
372
  // instantly reply "success" to TILEDESK
@@ -402,8 +399,14 @@ router.post('/block/:project_id/:bot_id/:block_id', async (req, res) => {
402
399
 
403
400
  // invoke block
404
401
  // unique ID for each execution
405
- const execution_id = uuidv4().replace(/-/g, '');
406
- const request_id = "automation-request-" + project_id + "-" + execution_id;
402
+ let request_id;
403
+ if (body.preloaded_request_id) {
404
+ request_id = body.preloaded_request_id;
405
+ } else {
406
+ const execution_id = uuidv4().replace(/-/g, '');
407
+ request_id = "automation-request-" + project_id + "-" + execution_id;
408
+
409
+ }
407
410
  const command = "/#" + block_id;
408
411
  let message = {
409
412
  payload: {
@@ -497,13 +500,7 @@ async function startApp(settings, completionCallback) {
497
500
  });
498
501
  }
499
502
 
500
- if (!settings.log) {
501
- log = false;
502
- }
503
- else {
504
- log = true;
505
- }
506
- winston.info("(Tilebot) Log: " + log);
503
+ winston.info("(Tilebot) Log Level: " + process.env.LOG_LEVEL);
507
504
 
508
505
  if (process.env.CHATBOT_MAX_STEPS) {
509
506
  MAX_STEPS = Number(process.env.CHATBOT_MAX_STEPS);
@@ -582,7 +579,7 @@ async function checkRequest(request_id, id_project) {
582
579
  // WARNING! Move this function in models/TiledeskChatbotUtil.js
583
580
  }
584
581
 
585
- function myrequest(options, callback, log) {
582
+ function myrequest(options, callback) {
586
583
  winston.verbose("(tybotRoute) myrequest API URL:" + options.url);
587
584
  winston.debug("(tybotRoute) myrequest Options:", options);
588
585