@tiledesk/tiledesk-tybot-connector 2.0.29-rc5 → 2.0.30

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.
package/CHANGELOG.md CHANGED
@@ -5,9 +5,10 @@
5
5
  available on:
6
6
  ▶️ https://www.npmjs.com/package/@tiledesk/tiledesk-tybot-connector
7
7
 
8
- # 2.0.28
8
+ # 2.0.29
9
+ - added: support for reranking in DirAskKBV2
9
10
 
10
- # 2.0.28-rc1
11
+ # 2.0.28
11
12
  - bug-fixed: action-model not filled in dirAiPrompt
12
13
 
13
14
  # 2.0.27
@@ -15,9 +16,6 @@ available on:
15
16
 
16
17
  # 2.0.26
17
18
 
18
- # 2.0.26-rc1
19
- - added: check and skip private message from internal-notes
20
-
21
19
  # 2.0.9
22
20
 
23
21
  # 2.0.9-rc1
@@ -33,8 +31,6 @@ available on:
33
31
 
34
32
  # v0.5.0
35
33
  - added: AI_ENDPOINT env var
36
-
37
- # v0.5.0-rc1
38
34
  - added: ability to get 'none' as bodytype in webresponse
39
35
 
40
36
  # v0.4.2
@@ -49,19 +45,6 @@ available on:
49
45
  - changed: refactoring of DIrWebRequestv2
50
46
  - bug-fixed: erro while parsing webrequestv2 body
51
47
 
52
- # v0.3.5-rc4
53
- - added: webhook action (same as intent one)
54
-
55
- # v0.3.5-rc3
56
- - bug-fixed: jsonBody parse error in web-request-v2
57
-
58
- # v0.3.5-rc2
59
- - bug-fixed: cannot set status of undefined reading res.status in DirAssistant
60
-
61
- # v0.3.5-rc1
62
- - changed: refactoring web-request-v2
63
- - bug-fixed: jsonBody parse error in web-request-v2
64
-
65
48
  # v0.3.4
66
49
  -bug-fixed: slit is undefined in TiledeskChatbotUtils
67
50
 
@@ -71,18 +54,6 @@ available on:
71
54
  # v0.3.2
72
55
  - bug-fixed: minor improvement
73
56
 
74
- # v0.2.153-rc9
75
- - changed: updated tiledesk-multi-worker to 0.2.1-rc2
76
-
77
- # v0.2.153-rc8
78
- - added: fixToken function in TiledeskService utils class
79
-
80
- # v0.2.153-rc4
81
- - log added
82
-
83
- # v0.2.153-rc3
84
- - added: specchToText function to transcript audio file
85
-
86
57
  # v0.2.153-rc1
87
58
  - changed: context for gpt-40 and gpt-40-mini
88
59
 
@@ -0,0 +1,242 @@
1
+ const redis = require('redis');
2
+
3
+ class TdCache {
4
+
5
+ constructor(config) {
6
+ this.redis_host = config.host;
7
+ this.redis_port = config.port;
8
+ this.redis_password = config.password;
9
+ this.client = null;
10
+ }
11
+
12
+ async connect(callback) {
13
+ // client = redis.createClient();
14
+ return new Promise( async (resolve, reject) => {
15
+ this.client = redis.createClient(
16
+ {
17
+ host: this.redis_host,
18
+ port: this.redis_port,
19
+ password: this.redis_password
20
+ });
21
+ this.client.on('error', err => {
22
+ reject(err);
23
+ if (callback) {
24
+ callback(err);
25
+ }
26
+ });
27
+ // this.client.on('connect', function() {
28
+ // console.log('Redis Connected!');
29
+ // });
30
+ this.client.on('ready',function() {
31
+ console.log("connected")
32
+ resolve();
33
+ if (callback) {
34
+ callback();
35
+ }
36
+ //console.log("Redis is ready.");
37
+ });
38
+ });
39
+ }
40
+
41
+ async set(key, value, options) {
42
+ //console.log("setting key value", key, value)
43
+ if (!options) {
44
+ options = {EX: 86400}
45
+ }
46
+ return new Promise( async (resolve, reject) => {
47
+ if (options && options.EX) {
48
+ //console.log("expires:", options.EX)
49
+ try {
50
+ await this.client.set(
51
+ key,
52
+ value,
53
+ 'EX', options.EX);
54
+ }
55
+ catch(error) {
56
+ reject(error)
57
+ }
58
+ }
59
+ else {
60
+ try {
61
+ //console.log("setting here...key", key, value)
62
+ await this.client.set(
63
+ key,
64
+ value);
65
+ }
66
+ catch(error) {
67
+ console.error("Error", error);
68
+ reject(error)
69
+ }
70
+ }
71
+ if (options && options.callback) {
72
+ options.callback();
73
+ }
74
+ //console.log("resolving...", key);
75
+ return resolve();
76
+ });
77
+ }
78
+
79
+ async incr(key) {
80
+ // console.log("incr key:", key)
81
+ return new Promise( async (resolve, reject) => {
82
+ try {
83
+ // console.log("incr here...key", key)
84
+ await this.client.incr(key);
85
+ }
86
+ catch(error) {
87
+ console.error("Error on incr:", error);
88
+ reject(error)
89
+ }
90
+ return resolve();
91
+ });
92
+ }
93
+
94
+ async hset(dict_key, key, value, options) {
95
+ //console.log("hsetting dict_key key value", dict_key, key, value)
96
+ return new Promise( async (resolve, reject) => {
97
+ if (options && options.EX) {
98
+ //console.log("expires:", options.EX)
99
+ try {
100
+ await this.client.hset(
101
+ dict_key,
102
+ key,
103
+ value,
104
+ 'EX', options.EX);
105
+ }
106
+ catch(error) {
107
+ reject(error)
108
+ }
109
+ }
110
+ else {
111
+ try {
112
+ //console.log("setting here...key", key, value)
113
+ await this.client.hset(
114
+ dict_key,
115
+ key,
116
+ value);
117
+ }
118
+ catch(error) {
119
+ console.error("Error", error);
120
+ reject(error)
121
+ }
122
+ }
123
+ if (options && options.callback) {
124
+ options.callback();
125
+ }
126
+ return resolve();
127
+ });
128
+ }
129
+
130
+ async hdel(dict_key, key, options) {
131
+ //console.log("hsetting dict_key key value", dict_key, key, value)
132
+ return new Promise( async (resolve, reject) => {
133
+ if (options && options.EX) {
134
+ //console.log("expires:", options.EX)
135
+ try {
136
+ await this.client.hdel(
137
+ dict_key,
138
+ key,
139
+ 'EX', options.EX);
140
+ }
141
+ catch(error) {
142
+ reject(error)
143
+ }
144
+ }
145
+ else {
146
+ try {
147
+ //console.log("setting here...key", key, value)
148
+ await this.client.hdel(
149
+ dict_key,
150
+ key);
151
+ }
152
+ catch(error) {
153
+ console.error("Error", error);
154
+ reject(error);
155
+ }
156
+ }
157
+ if (options && options.callback) {
158
+ options.callback();
159
+ }
160
+ return resolve();
161
+ });
162
+ }
163
+
164
+ async setJSON(key, value, options) {
165
+ const _string = JSON.stringify(value);
166
+ return await this.set(key, _string, options);
167
+ }
168
+
169
+ async get(key, callback) {
170
+ //console.log("getting key", key)
171
+ return new Promise( async (resolve, reject) => {
172
+ this.client.get(key, (err, value) => {
173
+ if (err) {
174
+ reject(err);
175
+ }
176
+ else {
177
+ if (callback) {
178
+ callback(value);
179
+ }
180
+ return resolve(value);
181
+ }
182
+ });
183
+ });
184
+ }
185
+
186
+ async hgetall(dict_key, callback) {
187
+ //console.log("hgetting dics", dict_key);
188
+ return new Promise( async (resolve, reject) => {
189
+ this.client.hgetall(dict_key, (err, value) => {
190
+ if (err) {
191
+ reject(err);
192
+ if (callback) {
193
+ callback(err, null);
194
+ }
195
+ }
196
+ else {
197
+ if (callback) {
198
+ callback(null, value);
199
+ }
200
+ resolve(value);
201
+ }
202
+ });
203
+ });
204
+ }
205
+
206
+ async hget(dict_key, key, callback) {
207
+ //console.log("hgetting dics", dict_key);
208
+ return new Promise( async (resolve, reject) => {
209
+ this.client.hget(dict_key, key, (err, value) => {
210
+ if (err) {
211
+ reject(err);
212
+ if (callback) {
213
+ callback(err, null);
214
+ }
215
+ }
216
+ else {
217
+ if (callback) {
218
+ callback(null, value);
219
+ }
220
+ resolve(value);
221
+ }
222
+ });
223
+ });
224
+ }
225
+
226
+ async getJSON(key, callback) {
227
+ const value = await this.get(key);
228
+ return JSON.parse(value);
229
+ }
230
+
231
+ async del(key, callback) {
232
+ return new Promise( async (resolve, reject) => {
233
+ await this.client.del(key);
234
+ if (callback) {
235
+ callback();
236
+ }
237
+ return resolve();
238
+ })
239
+ }
240
+ }
241
+
242
+ module.exports = { TdCache };
@@ -42,13 +42,13 @@ class TiledeskChatbotConst {
42
42
  static REQ_LAST_USER_DOCUMENT_URL = 'lastUserDocumentURL';
43
43
  static REQ_LAST_USER_DOCUMENT_NAME = 'lastUserDocumentName';
44
44
  static REQ_LAST_USER_DOCUMENT_TYPE = 'lastUserDocumentType';
45
+ static REQ_EMAIL_ATTACHMENTS_LINK = 'link';
45
46
  static REQ_EMAIL_SUBJECT = 'email_subject';
46
47
  static REQ_EMAIL_TO = 'email_toEmail';
47
48
  static REQ_EMAIL_FROM = 'email_fromEmail';
48
49
  static REQ_EMAIL_MESSAGE_ID = 'email_messageId';
49
50
  static REQ_EMAIL_REPLY_TO = 'email_replyTo';
50
51
  static REQ_EMAIL_EML = 'email_eml';
51
- static REQ_EMAIL_ATTACHMENTS_LINK = 'link';
52
52
  static REQ_EMAIL_ATTACHMENTS_FILES = 'attachments'
53
53
  }
54
54
 
@@ -24,7 +24,8 @@ class MockBotsDataSource {
24
24
  }catch(err){
25
25
  reject(err);
26
26
  }
27
- })
27
+
28
+ })
28
29
  }
29
30
 
30
31
  async getBotByIdCache(botId, tdcache) {
package/index.js CHANGED
@@ -104,9 +104,6 @@ router.post('/ext/:botid', async (req, res) => {
104
104
  Promise.reject(err);
105
105
  return;
106
106
  });
107
-
108
- winston.debug("(tybotRoute) Bot found: ", bot)
109
-
110
107
 
111
108
  let intentsMachine;
112
109
  let backupMachine;
@@ -173,10 +170,7 @@ router.post('/ext/:botid', async (req, res) => {
173
170
  cache: tdcache
174
171
  }
175
172
  );
176
-
177
-
178
173
  directivesPlug.processDirectives( () => {
179
-
180
174
  winston.verbose("(tybotRoute) Actions - Directives executed.");
181
175
  });
182
176
  }
@@ -199,7 +193,6 @@ router.post('/ext/:botid', async (req, res) => {
199
193
  TILEBOT_ENDPOINT: TILEBOT_ENDPOINT
200
194
  });
201
195
  apiext.sendSupportMessageExt(reply, projectId, requestId, token, () => {
202
-
203
196
  winston.verbose("(tybotRoute) sendSupportMessageExt reply sent: ", reply)
204
197
  });
205
198
  }