@tiledesk/tiledesk-tybot-connector 0.2.137 → 0.2.138-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.
- package/CHANGELOG.md +4 -0
- package/TdCache.js +56 -190
- package/TdCache_v3.js +261 -0
- package/index.js +1 -1
- package/package.json +2 -2
- package/tiledeskChatbotPlugs/directives/DirAskGPTV2.js +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,10 @@ available on:
|
|
|
17
17
|
- Added flowError on JSONCondition when result = null
|
|
18
18
|
- Added fix on Filler -->
|
|
19
19
|
|
|
20
|
+
# v0.2.138-rc1
|
|
21
|
+
- Updated redis to 4.7.0
|
|
22
|
+
- Updated tdCache
|
|
23
|
+
|
|
20
24
|
# v0.2.137
|
|
21
25
|
- Updated: hidden message is enabled only in dev mode for dratf requests
|
|
22
26
|
- Bug-fixed: flows variables is not updated with attributes.payload
|
package/TdCache.js
CHANGED
|
@@ -7,6 +7,7 @@ class TdCache {
|
|
|
7
7
|
this.redis_port = config.port;
|
|
8
8
|
this.redis_password = config.password;
|
|
9
9
|
this.client = null;
|
|
10
|
+
this.redis_sub = null;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
async connect(callback) {
|
|
@@ -24,17 +25,22 @@ class TdCache {
|
|
|
24
25
|
callback(err);
|
|
25
26
|
}
|
|
26
27
|
});
|
|
27
|
-
// this.client.on('connect', function() {
|
|
28
|
-
// console.log('Redis Connected!');
|
|
29
|
-
// });
|
|
30
28
|
this.client.on('ready',function() {
|
|
31
|
-
// console.log("connected")
|
|
32
29
|
resolve();
|
|
33
30
|
if (callback) {
|
|
34
31
|
callback();
|
|
35
32
|
}
|
|
36
33
|
//console.log("Redis is ready.");
|
|
37
34
|
});
|
|
35
|
+
await this.client.connect();
|
|
36
|
+
this.redis_sub = redis.createClient(
|
|
37
|
+
{
|
|
38
|
+
host: this.redis_host,
|
|
39
|
+
port: this.redis_port,
|
|
40
|
+
password: this.redis_password
|
|
41
|
+
});
|
|
42
|
+
// console.log("redis is:", this.redis_sub)
|
|
43
|
+
await this.redis_sub.connect();
|
|
38
44
|
});
|
|
39
45
|
}
|
|
40
46
|
|
|
@@ -43,202 +49,59 @@ class TdCache {
|
|
|
43
49
|
if (!options) {
|
|
44
50
|
options = {EX: 86400}
|
|
45
51
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.client.set(
|
|
51
|
-
key,
|
|
52
|
-
value,
|
|
53
|
-
'EX', options.EX,
|
|
54
|
-
(err) => {
|
|
55
|
-
if (err) {
|
|
56
|
-
reject(err);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
return resolve();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
catch(error) {
|
|
65
|
-
reject(error)
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
try {
|
|
70
|
-
//console.log("setting here...key", key, value)
|
|
71
|
-
await this.client.set(
|
|
72
|
-
key,
|
|
73
|
-
value,
|
|
74
|
-
(err) => {
|
|
75
|
-
if (err) {
|
|
76
|
-
reject(err);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
return resolve();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
catch(error) {
|
|
85
|
-
console.error("TdCache Error:", error);
|
|
86
|
-
reject(error)
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
// if (options && options.callback) {
|
|
90
|
-
// options.callback();
|
|
91
|
-
// }
|
|
92
|
-
//console.log("resolving...", key);
|
|
93
|
-
// return resolve();
|
|
94
|
-
});
|
|
52
|
+
await this.client.set(
|
|
53
|
+
key,
|
|
54
|
+
value,
|
|
55
|
+
options);
|
|
95
56
|
}
|
|
96
57
|
|
|
97
58
|
async incr(key) {
|
|
98
|
-
|
|
99
|
-
return new Promise( async (resolve, reject) => {
|
|
100
|
-
try {
|
|
101
|
-
// console.log("incr here...key", key)
|
|
102
|
-
await this.client.incr(key);
|
|
103
|
-
}
|
|
104
|
-
catch(error) {
|
|
105
|
-
console.error("Error on incr:", error);
|
|
106
|
-
reject(error)
|
|
107
|
-
}
|
|
108
|
-
return resolve();
|
|
109
|
-
});
|
|
59
|
+
await this.client.incr(key);
|
|
110
60
|
}
|
|
111
61
|
|
|
112
62
|
async hset(dict_key, key, value, options) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
catch(error) {
|
|
125
|
-
reject(error)
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
try {
|
|
130
|
-
//console.log("setting here...key", key, value)
|
|
131
|
-
await this.client.hset(
|
|
132
|
-
dict_key,
|
|
133
|
-
key,
|
|
134
|
-
value);
|
|
135
|
-
}
|
|
136
|
-
catch(error) {
|
|
137
|
-
console.error("Error", error);
|
|
138
|
-
reject(error)
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
if (options && options.callback) {
|
|
142
|
-
options.callback();
|
|
143
|
-
}
|
|
144
|
-
return resolve();
|
|
145
|
-
});
|
|
63
|
+
if (!value) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (!options) {
|
|
67
|
+
options = {EX: 86400}
|
|
68
|
+
}
|
|
69
|
+
await this.client.HSET(
|
|
70
|
+
dict_key,
|
|
71
|
+
key,
|
|
72
|
+
value,
|
|
73
|
+
options);
|
|
146
74
|
}
|
|
147
75
|
|
|
148
|
-
async hdel(dict_key, key
|
|
149
|
-
|
|
150
|
-
return new Promise( async (resolve, reject) => {
|
|
151
|
-
if (options && options.EX) {
|
|
152
|
-
//console.log("expires:", options.EX)
|
|
153
|
-
try {
|
|
154
|
-
await this.client.hdel(
|
|
155
|
-
dict_key,
|
|
156
|
-
key,
|
|
157
|
-
'EX', options.EX);
|
|
158
|
-
}
|
|
159
|
-
catch(error) {
|
|
160
|
-
reject(error)
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
try {
|
|
165
|
-
//console.log("setting here...key", key, value)
|
|
166
|
-
await this.client.hdel(
|
|
167
|
-
dict_key,
|
|
168
|
-
key);
|
|
169
|
-
}
|
|
170
|
-
catch(error) {
|
|
171
|
-
console.error("Error", error);
|
|
172
|
-
reject(error);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
if (options && options.callback) {
|
|
176
|
-
options.callback();
|
|
177
|
-
}
|
|
178
|
-
return resolve();
|
|
179
|
-
});
|
|
76
|
+
async hdel(dict_key, key) {
|
|
77
|
+
await this.client.HDEL(dict_key, key);
|
|
180
78
|
}
|
|
181
79
|
|
|
182
80
|
async setJSON(key, value, options) {
|
|
81
|
+
if (!value) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (!options) {
|
|
85
|
+
options = {EX: 86400}
|
|
86
|
+
}
|
|
183
87
|
const _string = JSON.stringify(value);
|
|
184
88
|
return await this.set(key, _string, options);
|
|
185
89
|
}
|
|
186
90
|
|
|
187
|
-
async get(key
|
|
188
|
-
|
|
189
|
-
return
|
|
190
|
-
this.client.get(key, (err, value) => {
|
|
191
|
-
if (err) {
|
|
192
|
-
reject(err);
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
if (callback) {
|
|
196
|
-
callback(value);
|
|
197
|
-
}
|
|
198
|
-
return resolve(value);
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
});
|
|
91
|
+
async get(key) {
|
|
92
|
+
const value = await this.client.GET(key);
|
|
93
|
+
return value;
|
|
202
94
|
}
|
|
203
95
|
|
|
204
|
-
async hgetall(dict_key
|
|
205
|
-
|
|
206
|
-
return
|
|
207
|
-
this.client.hgetall(dict_key, (err, value) => {
|
|
208
|
-
if (err) {
|
|
209
|
-
reject(err);
|
|
210
|
-
if (callback) {
|
|
211
|
-
callback(err, null);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
if (callback) {
|
|
216
|
-
callback(null, value);
|
|
217
|
-
}
|
|
218
|
-
resolve(value);
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
});
|
|
96
|
+
async hgetall(dict_key) {
|
|
97
|
+
const all = await this.client.HGETALL(dict_key);
|
|
98
|
+
return all;
|
|
222
99
|
}
|
|
223
100
|
|
|
224
|
-
async hget(dict_key, key
|
|
225
|
-
//console.log("hgetting dics", dict_key);
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
if (err) {
|
|
229
|
-
reject(err);
|
|
230
|
-
if (callback) {
|
|
231
|
-
callback(err, null);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
if (callback) {
|
|
236
|
-
callback(null, value);
|
|
237
|
-
}
|
|
238
|
-
resolve(value);
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
});
|
|
101
|
+
async hget(dict_key, key) {
|
|
102
|
+
// console.log("hgetting dics", dict_key);
|
|
103
|
+
const value = await this.client.HGET(dict_key, key);
|
|
104
|
+
return value;
|
|
242
105
|
}
|
|
243
106
|
|
|
244
107
|
async getJSON(key, callback) {
|
|
@@ -246,16 +109,19 @@ class TdCache {
|
|
|
246
109
|
return JSON.parse(value);
|
|
247
110
|
}
|
|
248
111
|
|
|
249
|
-
async del(key
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
return resolve();
|
|
256
|
-
});
|
|
257
|
-
})
|
|
112
|
+
async del(key) {
|
|
113
|
+
await this.client.del(key);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
async publish(key, value) {
|
|
117
|
+
await this.redis_sub.publish(key, value);
|
|
258
118
|
}
|
|
119
|
+
|
|
120
|
+
// subscribe(key, callback) {
|
|
121
|
+
// this.redis_sub.subscribe(key, (message) => {
|
|
122
|
+
// callback(message);
|
|
123
|
+
// });
|
|
124
|
+
// }
|
|
259
125
|
}
|
|
260
126
|
|
|
261
127
|
module.exports = { TdCache };
|
package/TdCache_v3.js
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
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
|
+
this.client.set(
|
|
51
|
+
key,
|
|
52
|
+
value,
|
|
53
|
+
'EX', options.EX,
|
|
54
|
+
(err) => {
|
|
55
|
+
if (err) {
|
|
56
|
+
reject(err);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return resolve();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
catch(error) {
|
|
65
|
+
reject(error)
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
try {
|
|
70
|
+
//console.log("setting here...key", key, value)
|
|
71
|
+
await this.client.set(
|
|
72
|
+
key,
|
|
73
|
+
value,
|
|
74
|
+
(err) => {
|
|
75
|
+
if (err) {
|
|
76
|
+
reject(err);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return resolve();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
catch(error) {
|
|
85
|
+
console.error("TdCache Error:", error);
|
|
86
|
+
reject(error)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// if (options && options.callback) {
|
|
90
|
+
// options.callback();
|
|
91
|
+
// }
|
|
92
|
+
//console.log("resolving...", key);
|
|
93
|
+
// return resolve();
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
async incr(key) {
|
|
98
|
+
// console.log("incr key:", key)
|
|
99
|
+
return new Promise( async (resolve, reject) => {
|
|
100
|
+
try {
|
|
101
|
+
// console.log("incr here...key", key)
|
|
102
|
+
await this.client.incr(key);
|
|
103
|
+
}
|
|
104
|
+
catch(error) {
|
|
105
|
+
console.error("Error on incr:", error);
|
|
106
|
+
reject(error)
|
|
107
|
+
}
|
|
108
|
+
return resolve();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async hset(dict_key, key, value, options) {
|
|
113
|
+
//console.log("hsetting dict_key key value", dict_key, key, value)
|
|
114
|
+
return new Promise( async (resolve, reject) => {
|
|
115
|
+
if (options && options.EX) {
|
|
116
|
+
//console.log("expires:", options.EX)
|
|
117
|
+
try {
|
|
118
|
+
await this.client.hset(
|
|
119
|
+
dict_key,
|
|
120
|
+
key,
|
|
121
|
+
value,
|
|
122
|
+
'EX', options.EX);
|
|
123
|
+
}
|
|
124
|
+
catch(error) {
|
|
125
|
+
reject(error)
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
try {
|
|
130
|
+
//console.log("setting here...key", key, value)
|
|
131
|
+
await this.client.hset(
|
|
132
|
+
dict_key,
|
|
133
|
+
key,
|
|
134
|
+
value);
|
|
135
|
+
}
|
|
136
|
+
catch(error) {
|
|
137
|
+
console.error("Error", error);
|
|
138
|
+
reject(error)
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (options && options.callback) {
|
|
142
|
+
options.callback();
|
|
143
|
+
}
|
|
144
|
+
return resolve();
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
async hdel(dict_key, key, options) {
|
|
149
|
+
//console.log("hsetting dict_key key value", dict_key, key, value)
|
|
150
|
+
return new Promise( async (resolve, reject) => {
|
|
151
|
+
if (options && options.EX) {
|
|
152
|
+
//console.log("expires:", options.EX)
|
|
153
|
+
try {
|
|
154
|
+
await this.client.hdel(
|
|
155
|
+
dict_key,
|
|
156
|
+
key,
|
|
157
|
+
'EX', options.EX);
|
|
158
|
+
}
|
|
159
|
+
catch(error) {
|
|
160
|
+
reject(error)
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
try {
|
|
165
|
+
//console.log("setting here...key", key, value)
|
|
166
|
+
await this.client.hdel(
|
|
167
|
+
dict_key,
|
|
168
|
+
key);
|
|
169
|
+
}
|
|
170
|
+
catch(error) {
|
|
171
|
+
console.error("Error", error);
|
|
172
|
+
reject(error);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (options && options.callback) {
|
|
176
|
+
options.callback();
|
|
177
|
+
}
|
|
178
|
+
return resolve();
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
async setJSON(key, value, options) {
|
|
183
|
+
const _string = JSON.stringify(value);
|
|
184
|
+
return await this.set(key, _string, options);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
async get(key, callback) {
|
|
188
|
+
//console.log("getting key", key)
|
|
189
|
+
return new Promise( async (resolve, reject) => {
|
|
190
|
+
this.client.get(key, (err, value) => {
|
|
191
|
+
if (err) {
|
|
192
|
+
reject(err);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
if (callback) {
|
|
196
|
+
callback(value);
|
|
197
|
+
}
|
|
198
|
+
return resolve(value);
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
async hgetall(dict_key, callback) {
|
|
205
|
+
//console.log("hgetting dics", dict_key);
|
|
206
|
+
return new Promise( async (resolve, reject) => {
|
|
207
|
+
this.client.hgetall(dict_key, (err, value) => {
|
|
208
|
+
if (err) {
|
|
209
|
+
reject(err);
|
|
210
|
+
if (callback) {
|
|
211
|
+
callback(err, null);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
if (callback) {
|
|
216
|
+
callback(null, value);
|
|
217
|
+
}
|
|
218
|
+
resolve(value);
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
async hget(dict_key, key, callback) {
|
|
225
|
+
//console.log("hgetting dics", dict_key);
|
|
226
|
+
return new Promise( async (resolve, reject) => {
|
|
227
|
+
this.client.hget(dict_key, key, (err, value) => {
|
|
228
|
+
if (err) {
|
|
229
|
+
reject(err);
|
|
230
|
+
if (callback) {
|
|
231
|
+
callback(err, null);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
if (callback) {
|
|
236
|
+
callback(null, value);
|
|
237
|
+
}
|
|
238
|
+
resolve(value);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
async getJSON(key, callback) {
|
|
245
|
+
const value = await this.get(key);
|
|
246
|
+
return JSON.parse(value);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
async del(key, callback) {
|
|
250
|
+
return new Promise( async (resolve, reject) => {
|
|
251
|
+
this.client.del(key, () => {
|
|
252
|
+
if (callback) {
|
|
253
|
+
callback();
|
|
254
|
+
}
|
|
255
|
+
return resolve();
|
|
256
|
+
});
|
|
257
|
+
})
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
module.exports = { TdCache };
|
package/index.js
CHANGED
|
@@ -609,7 +609,7 @@ router.post('/block/:project_id/:bot_id/:block_id', async (req, res) => {
|
|
|
609
609
|
|
|
610
610
|
async function startApp(settings, completionCallback) {
|
|
611
611
|
console.log("Starting Tilebot...");
|
|
612
|
-
|
|
612
|
+
console.log("Starting Tilebot with Settings:", settings);
|
|
613
613
|
if (settings.bots) { // static bots data source
|
|
614
614
|
staticBots = settings.bots;
|
|
615
615
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tiledesk/tiledesk-tybot-connector",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.138-rc2",
|
|
4
4
|
"description": "Tiledesk Tybot connector",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"mongoose": "^6.3.5",
|
|
30
30
|
"multer": "^1.4.5-lts.1",
|
|
31
31
|
"nanoid": "^3.1.25",
|
|
32
|
-
"redis": "^
|
|
32
|
+
"redis": "^4.7.0",
|
|
33
33
|
"uuid": "^3.3.3",
|
|
34
34
|
"vm2": "^3.9.13"
|
|
35
35
|
},
|
|
@@ -174,6 +174,7 @@ class DirAskGPTV2 {
|
|
|
174
174
|
return;
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
+
|
|
177
178
|
let ns;
|
|
178
179
|
|
|
179
180
|
if (action.namespaceAsName) {
|
|
@@ -186,6 +187,11 @@ class DirAskGPTV2 {
|
|
|
186
187
|
ns = await this.getNamespace(null, namespace);
|
|
187
188
|
}
|
|
188
189
|
|
|
190
|
+
if (!ns) {
|
|
191
|
+
await this.chatbot.addParameter("flowError", "AskGPT Error: tokens quota exceeded");
|
|
192
|
+
await this.#executeCondition(false, trueIntent, trueIntentAttributes, falseIntent, falseIntentAttributes);
|
|
193
|
+
}
|
|
194
|
+
|
|
189
195
|
if (ns.engine) {
|
|
190
196
|
engine = ns.engine;
|
|
191
197
|
} else {
|