@tiledesk/tiledesk-tybot-connector 0.5.0 → 2.0.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 (100) hide show
  1. package/ExtApi.js +4 -83
  2. package/ExtUtil.js +0 -1
  3. package/Logger.js +105 -0
  4. package/TdCache.js +5 -3
  5. package/TiledeskClientTest.js +5 -28
  6. package/TiledeskExpression.js +6 -47
  7. package/{models → engine}/IntentForm.js +30 -44
  8. package/{models → engine}/IntentsMachineFactory.js +5 -4
  9. package/{models → engine}/MongodbBotsDataSource.js +31 -55
  10. package/{models → engine}/MongodbIntentsMachine.js +6 -5
  11. package/{models → engine}/TiledeskChatbot.js +82 -259
  12. package/{models → engine}/TiledeskChatbotConst.js +9 -0
  13. package/{models → engine}/TiledeskIntentsMachine.js +5 -15
  14. package/{models → engine/mock}/MockBotsDataSource.js +3 -19
  15. package/{models → engine/mock}/MockTdCache.js +0 -9
  16. package/index.js +103 -380
  17. package/logs/app.log +12723 -277
  18. package/logs/app1.log +62258 -0
  19. package/logs/app2.log +46280 -0
  20. package/logs/app3.log +31686 -0
  21. package/logs/app4.log +46163 -0
  22. package/logs/app5.log +33173 -0
  23. package/models/faq.js +2 -5
  24. package/package.json +5 -2
  25. package/{TiledeskServices → services}/AIService.js +4 -3
  26. package/{models/faqKbService.js → services/FaqKbService.js} +1 -2
  27. package/{models/faqService.js → services/FaqService.js} +4 -3
  28. package/services/IntegrationService.js +43 -0
  29. package/services/TilebotService.js +47 -0
  30. package/tiledeskChatbotPlugs/DirectivesChatbotPlug.js +49 -135
  31. package/tiledeskChatbotPlugs/FillParamsChatbotPlug.js +8 -14
  32. package/tiledeskChatbotPlugs/Filler.js +0 -1
  33. package/tiledeskChatbotPlugs/MarkbotChatbotPlug.js +12 -20
  34. package/tiledeskChatbotPlugs/MessagePipeline.js +5 -15
  35. package/tiledeskChatbotPlugs/SplitsChatbotPlug.js +4 -13
  36. package/tiledeskChatbotPlugs/TiledeskRequestVariables.js +1 -1
  37. package/tiledeskChatbotPlugs/WebhookChatbotPlug.js +21 -89
  38. package/tiledeskChatbotPlugs/directives/DEPRECATED_DirSetAttribute.js +1 -1
  39. package/tiledeskChatbotPlugs/directives/DirAddTags.js +23 -140
  40. package/tiledeskChatbotPlugs/directives/DirAiPrompt.js +42 -128
  41. package/tiledeskChatbotPlugs/directives/DirAskGPT.js +37 -127
  42. package/tiledeskChatbotPlugs/directives/DirAskGPTV2.js +52 -145
  43. package/tiledeskChatbotPlugs/directives/DirAssign.js +12 -23
  44. package/tiledeskChatbotPlugs/directives/DirAssignFromFunction.js +16 -12
  45. package/tiledeskChatbotPlugs/directives/DirAssistant.js +56 -198
  46. package/tiledeskChatbotPlugs/directives/DirBrevo.js +41 -101
  47. package/tiledeskChatbotPlugs/directives/DirCaptureUserReply.js +9 -19
  48. package/tiledeskChatbotPlugs/directives/DirClearTranscript.js +1 -1
  49. package/tiledeskChatbotPlugs/directives/DirClose.js +4 -2
  50. package/tiledeskChatbotPlugs/directives/DirCode.js +16 -23
  51. package/tiledeskChatbotPlugs/directives/DirCondition.js +19 -25
  52. package/tiledeskChatbotPlugs/directives/DirConnectBlock.js +9 -82
  53. package/tiledeskChatbotPlugs/directives/DirContactUpdate.js +10 -22
  54. package/tiledeskChatbotPlugs/directives/DirCustomerio.js +34 -89
  55. package/tiledeskChatbotPlugs/directives/DirDeflectToHelpCenter.js +17 -22
  56. package/tiledeskChatbotPlugs/directives/DirDeleteVariable.js +8 -8
  57. package/tiledeskChatbotPlugs/directives/DirDepartment.js +13 -12
  58. package/tiledeskChatbotPlugs/directives/DirDisableInputText.js +2 -6
  59. package/tiledeskChatbotPlugs/directives/DirFireTiledeskEvent.js +4 -4
  60. package/tiledeskChatbotPlugs/directives/DirForm.js +17 -24
  61. package/tiledeskChatbotPlugs/directives/DirGptTask.js +49 -139
  62. package/tiledeskChatbotPlugs/directives/DirGptTask_OLD.js +8 -53
  63. package/tiledeskChatbotPlugs/directives/DirHubspot.js +31 -91
  64. package/tiledeskChatbotPlugs/directives/DirIfOnlineAgents.js +19 -26
  65. package/tiledeskChatbotPlugs/directives/DirIfOnlineAgentsV2.js +24 -78
  66. package/tiledeskChatbotPlugs/directives/DirIfOpenHours.js +17 -68
  67. package/tiledeskChatbotPlugs/directives/DirIntent.js +6 -100
  68. package/tiledeskChatbotPlugs/directives/DirJSONCondition.js +15 -14
  69. package/tiledeskChatbotPlugs/directives/DirLockIntent.js +7 -12
  70. package/tiledeskChatbotPlugs/directives/DirMake.js +21 -53
  71. package/tiledeskChatbotPlugs/directives/DirMessage.js +35 -28
  72. package/tiledeskChatbotPlugs/directives/DirMessageToBot.js +8 -87
  73. package/tiledeskChatbotPlugs/directives/DirMoveToAgent.js +6 -4
  74. package/tiledeskChatbotPlugs/directives/DirMoveToUnassigned.js +6 -4
  75. package/tiledeskChatbotPlugs/directives/DirQapla.js +26 -120
  76. package/tiledeskChatbotPlugs/directives/DirRandomReply.js +11 -19
  77. package/tiledeskChatbotPlugs/directives/DirRemoveCurrentBot.js +4 -0
  78. package/tiledeskChatbotPlugs/directives/DirReplaceBot.js +5 -2
  79. package/tiledeskChatbotPlugs/directives/DirReplaceBotV2.js +12 -58
  80. package/tiledeskChatbotPlugs/directives/DirReplaceBotV3.js +11 -57
  81. package/tiledeskChatbotPlugs/directives/DirReply.js +36 -30
  82. package/tiledeskChatbotPlugs/directives/DirReplyV2.js +30 -72
  83. package/tiledeskChatbotPlugs/directives/DirSendEmail.js +9 -10
  84. package/tiledeskChatbotPlugs/directives/DirSendWhatsapp.js +15 -40
  85. package/tiledeskChatbotPlugs/directives/DirSetAttribute.js +8 -5
  86. package/tiledeskChatbotPlugs/directives/DirSetAttributeV2.js +25 -113
  87. package/tiledeskChatbotPlugs/directives/DirSetConversationTags.js +14 -13
  88. package/tiledeskChatbotPlugs/directives/DirUnlockIntent.js +3 -3
  89. package/tiledeskChatbotPlugs/directives/DirWait.js +5 -6
  90. package/tiledeskChatbotPlugs/directives/DirWebRequest.js +14 -49
  91. package/tiledeskChatbotPlugs/directives/DirWebRequestV2.js +22 -77
  92. package/tiledeskChatbotPlugs/directives/DirWebRequestV2_old.js +1 -1
  93. package/tiledeskChatbotPlugs/directives/DirWebResponse.js +11 -14
  94. package/tiledeskChatbotPlugs/directives/DirWhatsappByAttribute.js +13 -42
  95. package/tiledeskChatbotPlugs/directives/Directives.js +0 -3
  96. package/utils/HttpUtils.js +128 -0
  97. package/{models → utils}/TiledeskChatbotUtil.js +164 -234
  98. package/utils/winston.js +42 -0
  99. package/TiledeskServices/utils.js +0 -99
  100. /package/{models → engine/mock}/MockIntentsMachine.js +0 -0
@@ -0,0 +1,128 @@
1
+ let axios = require('axios');
2
+ let https = require("https");
3
+ const winston = require('./winston');
4
+
5
+ class HttpUtils {
6
+
7
+ constructor() { }
8
+
9
+ request(options, callback) {
10
+ let axios_options = {
11
+ url: options.url,
12
+ method: options.method,
13
+ params: options.params,
14
+ headers: options.headers
15
+ }
16
+ if (options.json !== null) {
17
+ axios_options.data = options.json
18
+ }
19
+ if (options.url.startsWith("https:")) {
20
+ const httpsAgent = new https.Agent({
21
+ rejectUnauthorized: false,
22
+ });
23
+ axios_options.httpsAgent = httpsAgent;
24
+ }
25
+ axios(axios_options)
26
+ .then((res) => {
27
+ if (res && res.status == 200 && res.data) {
28
+ if (callback) {
29
+ callback(null, res.data);
30
+ }
31
+ }
32
+ else {
33
+ if (callback) {
34
+ callback(new Error("Response status is not 200"), null);
35
+ }
36
+ }
37
+ })
38
+ .catch((error) => {
39
+ if (error.response.data) {
40
+ if (typeof error.response.data === 'string') {
41
+ winston.error("Axios error response data: " + error.response.data);
42
+ } else {
43
+ winston.error("Axios error response data: ", error.response.data);
44
+ }
45
+ } else if (error.response) {
46
+ winston.error("Axios error response: ", error.response);
47
+ } else {
48
+ winston.error("Axios error: ", error);
49
+ }
50
+ if (callback) {
51
+ callback(error, null);
52
+ }
53
+ });
54
+ }
55
+
56
+ // static myrequest(options, callback, log) {
57
+ // winston.verbose("** API URL: " + options.url);
58
+ // winston.debug("** Options: ", options);
59
+ // let axios_settings = {
60
+ // url: options.url,
61
+ // method: options.method,
62
+ // data: options.json,
63
+ // params: options.params,
64
+ // headers: options.headers
65
+ // }
66
+
67
+ // if (options.url.startsWith("https:") && options.httpsOptions) {
68
+ // const httpsAgent = new https.Agent(options.httpsOptions);
69
+ // axios_settings.httpsAgent = httpsAgent;
70
+ // }
71
+ // else if (options.url.startsWith("https:") && !options.httpsOptions) {
72
+ // // HTTPS default is rejectUnauthorized: false
73
+ // const httpsAgent = new https.Agent({
74
+ // rejectUnauthorized: false,
75
+ // });
76
+ // axios_settings.httpsAgent = httpsAgent;
77
+ // }
78
+
79
+ // axios(axios_settings)
80
+ // .then(function (res) {
81
+ // winston.debug("Response for url: " + options.url);
82
+ // winston.debug("Response headers: ", res.headers);
83
+
84
+ // if (res && res.status == 200 && res.data) {
85
+ // if (callback) {
86
+ // callback(null, res.data);
87
+ // }
88
+ // }
89
+ // else {
90
+
91
+ // if (callback) {
92
+ // callback(Utils.getErr({message: "Response status not 200"}, options, res), null, null);
93
+ // }
94
+ // }
95
+ // })
96
+ // .catch(function (error) {
97
+ // winston.error("Request Error: ", error);
98
+ // if (callback) {
99
+ // callback(error, null, null);
100
+ // }
101
+ // });
102
+ // }
103
+
104
+ static getErr(err, request, response) {
105
+ let res_err = {}
106
+ res_err.http_err = err;
107
+ res_err.http_request = request;
108
+ res_err.http_response = response;
109
+ return res_err;
110
+ }
111
+
112
+ fixToken(token) {
113
+ if (token.startsWith('JWT ')) {
114
+ return token;
115
+ }
116
+ else {
117
+ return 'JWT ' + token;
118
+ }
119
+ }
120
+
121
+
122
+
123
+
124
+ }
125
+
126
+ const httpUtils = new HttpUtils();
127
+
128
+ module.exports = httpUtils;