@tiledesk/tiledesk-tybot-connector 0.2.148 → 0.2.149-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 +3 -0
- package/index.js +22 -14
- package/logs/app.log +275 -0
- package/models/MockBotsDataSource.js +14 -10
- package/package.json +1 -1
- package/tiledeskChatbotPlugs/DirectivesChatbotPlug.js +14 -0
- package/tiledeskChatbotPlugs/directives/DirAiPrompt.js +467 -0
- package/tiledeskChatbotPlugs/directives/Directives.js +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,9 @@ available on:
|
|
|
17
17
|
- Added flowError on JSONCondition when result = null
|
|
18
18
|
- Added fix on Filler -->
|
|
19
19
|
|
|
20
|
+
# v0.2.149
|
|
21
|
+
- bug-fixed: botid null or undefined while calling /ext/:boid
|
|
22
|
+
|
|
20
23
|
# v0.2.148
|
|
21
24
|
- bug-fixed: namespace is undefined and "engine" property if noIntent is not specified
|
|
22
25
|
|
package/index.js
CHANGED
|
@@ -37,14 +37,18 @@ let TILEBOT_ENDPOINT = null;
|
|
|
37
37
|
let staticBots;
|
|
38
38
|
|
|
39
39
|
router.post('/ext/:botid', async (req, res) => {
|
|
40
|
+
const botId = req.params.botid;
|
|
41
|
+
if (log) {console.log("(tybotRoute) POST /ext/:botid called: ", botId);}
|
|
42
|
+
if(!botId || botId === "null" || botId === "undefined"){
|
|
43
|
+
return res.status(400).send({"success": false, error: "Required parameters botid not found. Value is 'null' or 'undefined'"})
|
|
44
|
+
}
|
|
45
|
+
|
|
40
46
|
if (req && req.body && req.body.payload && req.body.payload.request && req.body.payload.request.snapshot) {
|
|
41
47
|
delete req.body.payload.request.snapshot;
|
|
42
48
|
console.log("Removed req.body.payload.request.snapshot field");
|
|
43
49
|
}
|
|
44
50
|
if (log) {console.log("REQUEST BODY:", JSON.stringify(req.body));}
|
|
45
51
|
|
|
46
|
-
const botId = req.params.botid;
|
|
47
|
-
if (log) {console.log(" :", botId);}
|
|
48
52
|
const message = req.body.payload;
|
|
49
53
|
const messageId = message._id;
|
|
50
54
|
//const faq_kb = req.body.hook; now it is "bot"
|
|
@@ -111,19 +115,23 @@ router.post('/ext/:botid', async (req, res) => {
|
|
|
111
115
|
}
|
|
112
116
|
|
|
113
117
|
// get the bot metadata
|
|
114
|
-
let bot =
|
|
115
|
-
|
|
116
|
-
// bot = await botsDS.getBotById(botId);
|
|
117
|
-
// bot = await botById(botId, projectId, tdcache, botsDS);
|
|
118
|
-
bot = await botsDS.getBotByIdCache(botId, tdcache);
|
|
119
|
-
// console.log("getBotByIdCache ---> bot: ", JSON.stringify(bot, null, 2))
|
|
120
|
-
}
|
|
121
|
-
catch(error) {
|
|
122
|
-
console.error("Error getting botId:", botId);
|
|
123
|
-
console.error("Error getting bot was:", error);
|
|
118
|
+
let bot = await botsDS.getBotByIdCache(botId, tdcache).catch((err)=> {
|
|
119
|
+
Promise.reject(err);
|
|
124
120
|
return;
|
|
125
|
-
}
|
|
126
|
-
|
|
121
|
+
});
|
|
122
|
+
// let bot = null;
|
|
123
|
+
// try {
|
|
124
|
+
// // bot = await botsDS.getBotById(botId);
|
|
125
|
+
// // bot = await botById(botId, projectId, tdcache, botsDS);
|
|
126
|
+
// bot = await botsDS.getBotByIdCache(botId, tdcache);
|
|
127
|
+
// // console.log("getBotByIdCache ---> bot: ", JSON.stringify(bot, null, 2))
|
|
128
|
+
// }
|
|
129
|
+
// catch(error) {
|
|
130
|
+
// console.error("Error getting botId:", botId);
|
|
131
|
+
// console.error("Error getting bot was:", error);
|
|
132
|
+
// return;
|
|
133
|
+
// }
|
|
134
|
+
// if (log) {console.log("bot found:", JSON.stringify(bot));}
|
|
127
135
|
|
|
128
136
|
let intentsMachine;
|
|
129
137
|
let backupMachine;
|
package/logs/app.log
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
error: uncaughtException: listen EADDRINUSE: address already in use 0.0.0.0:10002
|
|
2
|
+
Error: listen EADDRINUSE: address already in use 0.0.0.0:10002
|
|
3
|
+
at Server.setupListenHandle [as _listen2] (node:net:1463:16)
|
|
4
|
+
at listenInCluster (node:net:1511:12)
|
|
5
|
+
at doListen (node:net:1660:7)
|
|
6
|
+
at processTicksAndRejections (node:internal/process/task_queues:84:21) {"date":"Wed Feb 05 2025 17:52:36 GMT+0100 (Ora standard dell’Europa centrale)","error":{"address":"0.0.0.0","code":"EADDRINUSE","errno":-48,"port":10002,"syscall":"listen"},"exception":true,"os":{"loadavg":[2.41455078125,2.27490234375,2.37451171875],"uptime":2439324},"process":{"argv":["/Users/gabriele95/.nvm/versions/node/v16.19.0/bin/node","/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute/node_modules/.bin/mocha","./test/conversation-gpt_task_test.js","--exit"],"cwd":"/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute","execPath":"/Users/gabriele95/.nvm/versions/node/v16.19.0/bin/node","gid":20,"memoryUsage":{"arrayBuffers":18382421,"external":19502628,"heapTotal":81641472,"heapUsed":34876360,"rss":126107648},"pid":7071,"uid":501,"version":"v16.19.0"},"stack":"Error: listen EADDRINUSE: address already in use 0.0.0.0:10002\n at Server.setupListenHandle [as _listen2] (node:net:1463:16)\n at listenInCluster (node:net:1511:12)\n at doListen (node:net:1660:7)\n at processTicksAndRejections (node:internal/process/task_queues:84:21)","trace":[{"column":16,"file":"node:net","function":"Server.setupListenHandle [as _listen2]","line":1463,"method":"setupListenHandle [as _listen2]","native":false},{"column":12,"file":"node:net","function":"listenInCluster","line":1511,"method":null,"native":false},{"column":7,"file":"node:net","function":"doListen","line":1660,"method":null,"native":false},{"column":21,"file":"node:internal/process/task_queues","function":"processTicksAndRejections","line":84,"method":null,"native":false}]}
|
|
7
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task_no_condition","type":"text"},"token":"XXX"}
|
|
8
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task_response_format_json_object","type":"text"},"token":"XXX"}
|
|
9
|
+
info: REQUEST BODY: {"payload":{"_id":"f22ad0a9-9a3f-4f79-aa18-1008f7939a26","id_project":"projectID","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"id_project":"projectID","request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
10
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task_response_format_none","type":"text"},"token":"XXX"}
|
|
11
|
+
info: REQUEST BODY: {"payload":{"_id":"64257e1b-8003-4b3b-8224-375baf30af23","id_project":"projectID","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"id_project":"projectID","request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
12
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpttask_no_condition_json","type":"text"},"token":"XXX"}
|
|
13
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpttask_no_condition_mixed_json","type":"text"},"token":"XXX"}
|
|
14
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task","type":"text"},"token":"XXX"}
|
|
15
|
+
info: REQUEST BODY: {"payload":{"_id":"c02eb5e7-8f95-4ff6-a32b-37d4d24f747b","id_project":"projectID","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"id_project":"projectID","request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
16
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task","type":"text"},"token":"XXX"}
|
|
17
|
+
info: REQUEST BODY: {"payload":{"_id":"cc2da616-03ea-4073-93f6-b38de623c5f1","id_project":"projectID","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"id_project":"projectID","request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
18
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task","type":"text"},"token":"XXX"}
|
|
19
|
+
info: REQUEST BODY: {"payload":{"_id":"204d35fd-1c14-48c5-8a21-d06e5d8eb25b","id_project":"projectID","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"id_project":"projectID","request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
20
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task_quote_exceeded","type":"text"},"token":"XXX"}
|
|
21
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task","type":"text"},"token":"XXX"}
|
|
22
|
+
info: REQUEST BODY: {"payload":{"_id":"1f7a65ce-f9fa-4c78-b5cb-e4f046557c79","id_project":"projectID","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"id_project":"projectID","request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
23
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task","type":"text"},"token":"XXX"}
|
|
24
|
+
info: REQUEST BODY: {"payload":{"_id":"f04273d6-2621-4b0e-8614-aca19658c50f","id_project":"projectID","recipient":"support-group-projectID-308a0452525544be800dbee8e163c280","request":{"id_project":"projectID","request_id":"support-group-projectID-308a0452525544be800dbee8e163c280"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
25
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-665fd8cd267f407d90e97345c3e45395","request":{"request_id":"support-group-projectID-665fd8cd267f407d90e97345c3e45395"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task_no_question","type":"text"},"token":"XXX"}
|
|
26
|
+
info: REQUEST BODY: {"payload":{"_id":"5aaeb107-8fb9-4002-9daa-ed3c8cad680a","id_project":"projectID","recipient":"support-group-projectID-665fd8cd267f407d90e97345c3e45395","request":{"id_project":"projectID","request_id":"support-group-projectID-665fd8cd267f407d90e97345c3e45395"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
27
|
+
info: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-8f617e9ff5604c63b2e90e876130ad44","request":{"request_id":"support-group-projectID-8f617e9ff5604c63b2e90e876130ad44"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_task_axios_error","type":"text"},"token":"XXX"}
|
|
28
|
+
info: REQUEST BODY: {"payload":{"_id":"3e134629-7fc1-4e1c-8784-e77035293e7d","id_project":"projectID","recipient":"support-group-projectID-8f617e9ff5604c63b2e90e876130ad44","request":{"id_project":"projectID","request_id":"support-group-projectID-8f617e9ff5604c63b2e90e876130ad44"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
29
|
+
error: uncaughtException: listen EADDRINUSE: address already in use 0.0.0.0:10002
|
|
30
|
+
Error: listen EADDRINUSE: address already in use 0.0.0.0:10002
|
|
31
|
+
at Server.setupListenHandle [as _listen2] (node:net:1463:16)
|
|
32
|
+
at listenInCluster (node:net:1511:12)
|
|
33
|
+
at doListen (node:net:1660:7)
|
|
34
|
+
at processTicksAndRejections (node:internal/process/task_queues:84:21) {"date":"Fri Feb 07 2025 15:43:39 GMT+0100 (Ora standard dell’Europa centrale)","error":{"address":"0.0.0.0","code":"EADDRINUSE","errno":-48,"port":10002,"syscall":"listen"},"exception":true,"os":{"loadavg":[2.685546875,4.17041015625,4.92236328125],"uptime":2604387},"process":{"argv":["/Users/gabriele95/.nvm/versions/node/v16.19.0/bin/node","/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute/node_modules/.bin/mocha","./test/conversation-actions-test.js_","--exit"],"cwd":"/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute","execPath":"/Users/gabriele95/.nvm/versions/node/v16.19.0/bin/node","gid":20,"memoryUsage":{"arrayBuffers":18384426,"external":19542499,"heapTotal":84787200,"heapUsed":35846640,"rss":122634240},"pid":27458,"uid":501,"version":"v16.19.0"},"stack":"Error: listen EADDRINUSE: address already in use 0.0.0.0:10002\n at Server.setupListenHandle [as _listen2] (node:net:1463:16)\n at listenInCluster (node:net:1511:12)\n at doListen (node:net:1660:7)\n at processTicksAndRejections (node:internal/process/task_queues:84:21)","trace":[{"column":16,"file":"node:net","function":"Server.setupListenHandle [as _listen2]","line":1463,"method":"setupListenHandle [as _listen2]","native":false},{"column":12,"file":"node:net","function":"listenInCluster","line":1511,"method":null,"native":false},{"column":7,"file":"node:net","function":"doListen","line":1660,"method":null,"native":false},{"column":21,"file":"node:internal/process/task_queues","function":"processTicksAndRejections","line":84,"method":null,"native":false}]}
|
|
35
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
36
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
37
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
38
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
39
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
40
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
41
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
42
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
43
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
44
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
45
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
46
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
47
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
48
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
49
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
50
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
51
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
52
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
53
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
54
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
55
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
56
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
57
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
58
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
59
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
60
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
61
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
62
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
63
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
64
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
65
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
66
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
67
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
68
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
69
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
70
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
71
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
72
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
73
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
74
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
75
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
76
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
77
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
78
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
79
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
80
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
81
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
82
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
83
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
84
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
85
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
86
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
87
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
88
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
89
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
90
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
91
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
92
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
93
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
94
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
95
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
96
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
97
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
98
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
99
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
100
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
101
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
102
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
103
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
104
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
105
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
106
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
107
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
108
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
109
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
110
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
111
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
112
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
113
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
114
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
115
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
116
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
117
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
118
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
119
|
+
error: uncaughtException: botId is not defined
|
|
120
|
+
ReferenceError: botId is not defined
|
|
121
|
+
at Server.<anonymous> (/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute/test/conversation-ext_test.js:74:19)
|
|
122
|
+
at Object.onceWrapper (node:events:627:28)
|
|
123
|
+
at Server.emit (node:events:513:28)
|
|
124
|
+
at emitListeningNT (node:net:1497:10)
|
|
125
|
+
at processTicksAndRejections (node:internal/process/task_queues:82:21) {"date":"Fri Feb 07 2025 15:56:22 GMT+0100 (Ora standard dell’Europa centrale)","error":{},"exception":true,"os":{"loadavg":[2.4521484375,3.34228515625,3.978515625],"uptime":2605150},"process":{"argv":["/Users/gabriele95/.nvm/versions/node/v16.19.0/bin/node","/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute/node_modules/.bin/mocha","./test/conversation-ext_test.js","--exit"],"cwd":"/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute","execPath":"/Users/gabriele95/.nvm/versions/node/v16.19.0/bin/node","gid":20,"memoryUsage":{"arrayBuffers":18287121,"external":19292590,"heapTotal":83214336,"heapUsed":33766376,"rss":127762432},"pid":35570,"uid":501,"version":"v16.19.0"},"stack":"ReferenceError: botId is not defined\n at Server.<anonymous> (/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute/test/conversation-ext_test.js:74:19)\n at Object.onceWrapper (node:events:627:28)\n at Server.emit (node:events:513:28)\n at emitListeningNT (node:net:1497:10)\n at processTicksAndRejections (node:internal/process/task_queues:82:21)","trace":[{"column":19,"file":"/Users/gabriele95/Desktop/Tiledesk/tiledesk-chatbot/tybotRoute/test/conversation-ext_test.js","function":null,"line":74,"method":null,"native":false},{"column":28,"file":"node:events","function":"Object.onceWrapper","line":627,"method":"onceWrapper","native":false},{"column":28,"file":"node:events","function":"Server.emit","line":513,"method":"emit","native":false},{"column":10,"file":"node:net","function":"emitListeningNT","line":1497,"method":null,"native":false},{"column":21,"file":"node:internal/process/task_queues","function":"processTicksAndRejections","line":82,"method":null,"native":false}]}
|
|
126
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
127
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
128
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
129
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
130
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
131
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
132
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
133
|
+
verbose: REQUEST BODY:
|
|
134
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
135
|
+
verbose: REQUEST BODY:
|
|
136
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
137
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_success{\"last_user_message\":\"come ti chiami\"}","type":"text"},"token":"XXX"}
|
|
138
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
139
|
+
verbose: REQUEST BODY: {"payload":{"_id":"202bc605-b926-4155-a44e-20adf62a3b3c","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
140
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
141
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_success_custom_context{\"last_user_message\":\"come ti chiami\", \"custom_context\":\"sei un assistente fantastico\"}","type":"text"},"token":"XXX"}
|
|
142
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
143
|
+
verbose: REQUEST BODY: {"payload":{"_id":"0b4aa10e-b3d1-497e-ba21-7d5aac462112","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
144
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
145
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_success_advanced_context{\"last_user_message\":\"come ti chiami\", \"custom_context\":\"sei un assistente fantastico\"}","type":"text"},"token":"XXX"}
|
|
146
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
147
|
+
verbose: REQUEST BODY: {"payload":{"_id":"c0e28dfb-fe9b-41fb-8b1e-19212f463f2e","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
148
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
149
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_success_namespace_as_name{\"last_user_message\":\"come ti chiami\", \"custom_context\":\"sei un assistente fantastico\"}","type":"text"},"token":"XXX"}
|
|
150
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
151
|
+
verbose: REQUEST BODY: {"payload":{"_id":"33867bea-4a9e-4254-a260-9131da1c9ee8","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
152
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
153
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_success_namespace_as_name_custom_attribute{\"last_user_message\":\"come ti chiami\", \"custom_context\":\"sei un assistente fantastico\", \"ns_name\": \"Namespace\" }","type":"text"},"token":"XXX"}
|
|
154
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
155
|
+
verbose: REQUEST BODY: {"payload":{"_id":"8344f4d1-ed09-4be9-bd74-bccb1daa2403","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
156
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
157
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_success_citations_on{\"last_user_message\":\"come ti chiami\"}","type":"text"},"token":"XXX"}
|
|
158
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
159
|
+
verbose: REQUEST BODY: {"payload":{"_id":"3f6ae876-0c9c-4bf9-9e53-57e25c1ea1f5","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
160
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
161
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_success{\"last_user_message\":\"come ti chiami\"}","type":"text"},"token":"XXX"}
|
|
162
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
163
|
+
verbose: REQUEST BODY: {"payload":{"_id":"6ca69c1e-25a8-492e-938f-1cf9f58ef008","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#SUCCESS","type":"text"},"token":"XXX"}
|
|
164
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
165
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_fail","type":"text"},"token":"XXX"}
|
|
166
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
167
|
+
verbose: REQUEST BODY: {"payload":{"_id":"05423f09-f024-40e9-bed1-48bdc7fe2352","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
168
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
169
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_fail","type":"text"},"token":"XXX"}
|
|
170
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
171
|
+
verbose: REQUEST BODY: {"payload":{"_id":"1e0de672-3ca2-48ae-a122-bbed8e19e7b4","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
172
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
173
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_fail","type":"text"},"token":"XXX"}
|
|
174
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
175
|
+
verbose: REQUEST BODY: {"payload":{"_id":"1570902c-bc8f-4875-a702-e3b21c2e3282","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
176
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
177
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_fail","type":"text"},"token":"XXX"}
|
|
178
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
179
|
+
verbose: REQUEST BODY: {"payload":{"_id":"24dcb146-3d99-494a-857c-9c8496f65c0e","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
180
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
181
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_fail_noquestion","type":"text"},"token":"XXX"}
|
|
182
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
183
|
+
verbose: REQUEST BODY: {"payload":{"_id":"66faa0f7-7a3b-4be6-b0e6-303c70a9cf00","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
184
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
185
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_fail_missing_namespace","type":"text"},"token":"XXX"}
|
|
186
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
187
|
+
verbose: REQUEST BODY: {"payload":{"_id":"765dbf03-70e2-4b96-9d2d-bfa7b1988260","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
188
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
189
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/gpt_fail_missing_namespace_name","type":"text"},"token":"XXX"}
|
|
190
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
191
|
+
verbose: REQUEST BODY: {"payload":{"_id":"da1bf4b4-bc03-454e-9d6a-6354b536c1dd","id_project":"projectID","recipient":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948","request":{"id_project":"projectID","request_id":"support-group-projectID-bc3a818fb75e48a3a43dd66d061f7948"},"sender":"_tdinternal","senderFullname":"_tdinternal","text":"/#FAILURE","type":"text"},"token":"XXX"}
|
|
192
|
+
verbose: [index.js] POST /ext/:botid called: botID
|
|
193
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-cc0c4e6319974fdeb69165e8f022e973","request":{"request_id":"support-group-projectID-cc0c4e6319974fdeb69165e8f022e973"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
194
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
195
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-af67726dfee245f49a462b3e15145bf7","request":{"request_id":"support-group-projectID-af67726dfee245f49a462b3e15145bf7"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
196
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
197
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-988e5f849bd44a79950dc8ee2bb56ea8","request":{"request_id":"support-group-projectID-988e5f849bd44a79950dc8ee2bb56ea8"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
198
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
199
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-d60d816e672f4b71b8bba8b65ef58d29","request":{"request_id":"support-group-projectID-d60d816e672f4b71b8bba8b65ef58d29"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
200
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
201
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-57ecae0b23db4256bf5715bbd5652ac4","request":{"request_id":"support-group-projectID-57ecae0b23db4256bf5715bbd5652ac4"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
202
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
203
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-36f1ebe5a7fd46f9a33312a1c245c6b1","request":{"request_id":"support-group-projectID-36f1ebe5a7fd46f9a33312a1c245c6b1"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
204
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
205
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-c8e39a16584b43f89a72352900d36014","request":{"request_id":"support-group-projectID-c8e39a16584b43f89a72352900d36014"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
206
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
207
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-92c18d800e0c4594b0311c6da0684dd0","request":{"request_id":"support-group-projectID-92c18d800e0c4594b0311c6da0684dd0"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
208
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
209
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-0314796657f040f084a12d18f076f505","request":{"request_id":"support-group-projectID-0314796657f040f084a12d18f076f505"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
210
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
211
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-17fb476cf8d24369bd80d49a1d8e34cc","request":{"request_id":"support-group-projectID-17fb476cf8d24369bd80d49a1d8e34cc"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
212
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
213
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-dc5904af02bb49ab8e6beb5bb24879f4","request":{"request_id":"support-group-projectID-dc5904af02bb49ab8e6beb5bb24879f4"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
214
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
215
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-b6bf284c02c046debc4ea804c2c58cb0","request":{"request_id":"support-group-projectID-b6bf284c02c046debc4ea804c2c58cb0"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
216
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
217
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-775c73028d3244ca80a4283ab3091165","request":{"request_id":"support-group-projectID-775c73028d3244ca80a4283ab3091165"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
218
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
219
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-86c4c57388704827ad25831915a9a833","request":{"request_id":"support-group-projectID-86c4c57388704827ad25831915a9a833"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
220
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
221
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-32252f232191426eafb845809f8c023f","request":{"request_id":"support-group-projectID-32252f232191426eafb845809f8c023f"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
222
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
223
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-ca8104157b814937ab3097ca0a23cfbd","request":{"request_id":"support-group-projectID-ca8104157b814937ab3097ca0a23cfbd"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
224
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
225
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-154a840b7dc748f496c728f44980073b","request":{"request_id":"support-group-projectID-154a840b7dc748f496c728f44980073b"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
226
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
227
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-4f89f4f3bb224ccfa9c127ace488636a","request":{"request_id":"support-group-projectID-4f89f4f3bb224ccfa9c127ace488636a"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
228
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
229
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-1a8c3b7dc05f4a54ab67a18abbdb627c","request":{"request_id":"support-group-projectID-1a8c3b7dc05f4a54ab67a18abbdb627c"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
230
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
231
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-c50a9b4a3ee74c47829ba80a518fd3fe","request":{"request_id":"support-group-projectID-c50a9b4a3ee74c47829ba80a518fd3fe"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
232
|
+
verbose: [index.js] POST /ext/:botid called: null
|
|
233
|
+
verbose: REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-ef85d7e490fd4555a49599d9efed9ed4","request":{"request_id":"support-group-projectID-ef85d7e490fd4555a49599d9efed9ed4"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
234
|
+
verbose: (tybotRoute) REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-aa351340f1b3436699cbe00dd1693e94","request":{"request_id":"support-group-projectID-aa351340f1b3436699cbe00dd1693e94"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
235
|
+
verbose: (tybotRoute) message.id_project:projectID
|
|
236
|
+
verbose: (tybotRoute) REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-f953b5e229a24be29cf3dc29c76e18d0","request":{"request_id":"support-group-projectID-f953b5e229a24be29cf3dc29c76e18d0"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
237
|
+
verbose: (tybotRoute) message.id_project:projectID
|
|
238
|
+
verbose: (tybotRoute) REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-3415216af1a24ebbab9358a757a010c0","request":{"request_id":"support-group-projectID-3415216af1a24ebbab9358a757a010c0"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
239
|
+
verbose: (tybotRoute) message.id_project:projectID
|
|
240
|
+
verbose: (tybotRoute) REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-27158fa49d0f4ab993d31f0aa8751e94","request":{"request_id":"support-group-projectID-27158fa49d0f4ab993d31f0aa8751e94"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
241
|
+
verbose: (tybotRoute) message.id_project:projectID
|
|
242
|
+
verbose: (tybotRoute) REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-2b110425dbfa400c8c2ab8f732386e2b","request":{"request_id":"support-group-projectID-2b110425dbfa400c8c2ab8f732386e2b"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
243
|
+
verbose: (tybotRoute) message.id_project:projectID
|
|
244
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
245
|
+
verbose: (tybotRoute) REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-3e5cd8aaccb6477fb42adb02e97ccf11","request":{"request_id":"support-group-projectID-3e5cd8aaccb6477fb42adb02e97ccf11"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
246
|
+
verbose: (tybotRoute) message.id_project:projectID
|
|
247
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
248
|
+
debug: (tybotRoute) POST /ext/:botid called: string
|
|
249
|
+
verbose: (tybotRoute) REQUEST BODY: {"payload":{"id_project":"projectID","metadata":"","recipient":"support-group-projectID-af0a066b29a54ca9a5336623e32937ba","request":{"request_id":"support-group-projectID-af0a066b29a54ca9a5336623e32937ba"},"sender":"A-SENDER","senderFullname":"guest#367e","text":"/add_tags_complete_for_request","type":"text"},"token":"XXX"}
|
|
250
|
+
verbose: (tybotRoute) message.id_project:projectID
|
|
251
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
252
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
253
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
254
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
255
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
256
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
257
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
258
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
259
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
260
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
261
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
262
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
263
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
264
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
265
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
266
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
267
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
268
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
269
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
270
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
271
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
272
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
273
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
274
|
+
debug: (tybotRoute) POST /ext/:botid called: undefined
|
|
275
|
+
debug: (tybotRoute) POST /ext/:botid called: null
|
|
@@ -12,16 +12,20 @@ class MockBotsDataSource {
|
|
|
12
12
|
// let intents = await this.intentsFinder.find(message.text);
|
|
13
13
|
|
|
14
14
|
async getBotById(botId) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
return new Promise((resolve, reject)=>{
|
|
16
|
+
try{
|
|
17
|
+
const bot = {
|
|
18
|
+
webhook_enabled: this.data.bots[botId].webhook_enabled,
|
|
19
|
+
webhook_url: this.data.bots[botId].webhook_url,
|
|
20
|
+
language: this.data.bots[botId].language,
|
|
21
|
+
name: this.data.bots[botId].name
|
|
22
|
+
}
|
|
23
|
+
resolve(bot)
|
|
24
|
+
}catch(err){
|
|
25
|
+
reject(err);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
})
|
|
25
29
|
}
|
|
26
30
|
|
|
27
31
|
async getBotByIdCache(botId, tdcache) {
|
package/package.json
CHANGED
|
@@ -54,6 +54,7 @@ const { DirMoveToUnassigned } = require('./directives/DirMoveToUnassigned');
|
|
|
54
54
|
const { DirAddTags } = require('./directives/DirAddTags');
|
|
55
55
|
const { DirSendWhatsapp } = require('./directives/DirSendWhatsapp');
|
|
56
56
|
const { DirReplaceBotV3 } = require('./directives/DirReplaceBotV3');
|
|
57
|
+
const { DirAiTask, DirAiPrompt } = require('./directives/DirAiPrompt');
|
|
57
58
|
|
|
58
59
|
class DirectivesChatbotPlug {
|
|
59
60
|
|
|
@@ -637,6 +638,19 @@ class DirectivesChatbotPlug {
|
|
|
637
638
|
}
|
|
638
639
|
});
|
|
639
640
|
}
|
|
641
|
+
else if (directive_name === Directives.AI_PROMPT) {
|
|
642
|
+
new DirAiPrompt(context).execute(directive, async (stop) => {
|
|
643
|
+
if (context.log) { console.log("AiPrompt stop?", stop);}
|
|
644
|
+
if (stop == true) {
|
|
645
|
+
if (context.log) { console.log("Stopping Actions on:", JSON.stringify(directive));}
|
|
646
|
+
this.theend();
|
|
647
|
+
}
|
|
648
|
+
else {
|
|
649
|
+
let next_dir = await this.nextDirective(this.directives);
|
|
650
|
+
this.process(next_dir);
|
|
651
|
+
}
|
|
652
|
+
});
|
|
653
|
+
}
|
|
640
654
|
else if (directive_name === Directives.WHATSAPP_ATTRIBUTE) {
|
|
641
655
|
new DirWhatsappByAttribute(context).execute(directive, async (stop) => {
|
|
642
656
|
let next_dir = await this.nextDirective(this.directives);
|
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
const axios = require("axios").default;
|
|
2
|
+
const { TiledeskChatbot } = require("../../models/TiledeskChatbot");
|
|
3
|
+
const { Filler } = require("../Filler");
|
|
4
|
+
let https = require("https");
|
|
5
|
+
const { DirIntent } = require("./DirIntent");
|
|
6
|
+
const { TiledeskChatbotConst } = require("../../models/TiledeskChatbotConst");
|
|
7
|
+
const { TiledeskChatbotUtil } = require("../../models/TiledeskChatbotUtil");
|
|
8
|
+
require('dotenv').config();
|
|
9
|
+
|
|
10
|
+
class DirAiPrompt {
|
|
11
|
+
|
|
12
|
+
constructor(context) {
|
|
13
|
+
if (!context) {
|
|
14
|
+
throw new Error('context object is mandatory');
|
|
15
|
+
}
|
|
16
|
+
this.context = context;
|
|
17
|
+
this.chatbot = this.context.chatbot;
|
|
18
|
+
this.tdcache = this.context.tdcache;
|
|
19
|
+
this.requestId = this.context.requestId;
|
|
20
|
+
this.intentDir = new DirIntent(context);
|
|
21
|
+
this.API_ENDPOINT = this.context.API_ENDPOINT;
|
|
22
|
+
this.log = context.log;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
execute(directive, callback) {
|
|
26
|
+
if (this.log) { console.log("AiPrompt directive: ", directive); }
|
|
27
|
+
let action;
|
|
28
|
+
if (directive.action) {
|
|
29
|
+
action = directive.action;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
console.error("Incorrect directive: ", JSON.stringify(directive));
|
|
33
|
+
callback();
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this.go(action, (stop) => {
|
|
37
|
+
callback(stop);
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async go(action, callback) {
|
|
42
|
+
if (this.log) { console.log("DirAiPrompt action:", JSON.stringify(action)); }
|
|
43
|
+
if (!this.tdcache) {
|
|
44
|
+
console.error("Error: DirAiPrompt tdcache is mandatory");
|
|
45
|
+
callback();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
let trueIntent = action.trueIntent;
|
|
50
|
+
let falseIntent = action.falseIntent;
|
|
51
|
+
let trueIntentAttributes = action.trueIntentAttributes;
|
|
52
|
+
let falseIntentAttributes = action.falseIntentAttributes;
|
|
53
|
+
let transcript;
|
|
54
|
+
let answer = "No answer"
|
|
55
|
+
|
|
56
|
+
if (this.log) {
|
|
57
|
+
console.log("DirAiPrompt trueIntent", trueIntent)
|
|
58
|
+
console.log("DirAiPrompt falseIntent", falseIntent)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
await this.checkMandatoryParameters(action).catch( async (missing_param) => {
|
|
62
|
+
await this.chatbot.addParameter("flowError", "AiPrompt Error: '" + missing_param + "' attribute is undefined");
|
|
63
|
+
if (falseIntent) {
|
|
64
|
+
await this.#executeCondition(false, trueIntent, trueIntentAttributes, falseIntent, falseIntentAttributes);
|
|
65
|
+
callback(true);
|
|
66
|
+
return Promise.reject();
|
|
67
|
+
}
|
|
68
|
+
callback();
|
|
69
|
+
return Promise.reject();
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
let requestVariables = null;
|
|
73
|
+
requestVariables =
|
|
74
|
+
await TiledeskChatbot.allParametersStatic(
|
|
75
|
+
this.tdcache, this.requestId
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
const filler = new Filler();
|
|
79
|
+
const filled_question = filler.fill(action.question, requestVariables);
|
|
80
|
+
const filled_context = filler.fill(action.context, requestVariables);
|
|
81
|
+
|
|
82
|
+
if (action.history) {
|
|
83
|
+
let transcript_string = await TiledeskChatbot.getParameterStatic(
|
|
84
|
+
this.context.tdcache,
|
|
85
|
+
this.context.requestId,
|
|
86
|
+
TiledeskChatbotConst.REQ_TRANSCRIPT_KEY);
|
|
87
|
+
if (this.log) { console.log("DirAiPrompt transcript string: ", transcript_string) }
|
|
88
|
+
|
|
89
|
+
if (transcript_string) {
|
|
90
|
+
transcript = await TiledeskChatbotUtil.transcriptJSON(transcript_string);
|
|
91
|
+
if (this.log) { console.log("DirAiPrompt transcript: ", transcript) }
|
|
92
|
+
} else {
|
|
93
|
+
if (this.log) { console.log("DirAiPrompt transcript_string is undefined. Skip JSON translation for chat history") }
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const llm_endpoint = process.env.KB_ENDPOINT_QA;
|
|
98
|
+
if (this.log) { console.log("DirAiPrompt llm_endpoint ", llm_endpoint); }
|
|
99
|
+
|
|
100
|
+
let key = await this.getKeyFromIntegrations(action.llm);
|
|
101
|
+
|
|
102
|
+
if (!key) {
|
|
103
|
+
console.error("Error: DirAiPrompt llm key not found in integrations");
|
|
104
|
+
await this.chatbot.addParameter("flowError", "AiPrompt Error: missing key for llm " + action.llm);
|
|
105
|
+
if (falseIntent) {
|
|
106
|
+
await this.#executeCondition(false, trueIntent, trueIntentAttributes, falseIntent, falseIntentAttributes);
|
|
107
|
+
callback(true);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
callback();
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
let json = {
|
|
115
|
+
question: filled_question,
|
|
116
|
+
llm: action.llm,
|
|
117
|
+
model: action.model,
|
|
118
|
+
llm_key: key,
|
|
119
|
+
temperature: action.temperature,
|
|
120
|
+
max_tokens: action.max_tokens,
|
|
121
|
+
system_context: filled_context,
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (transcript) {
|
|
125
|
+
json.chat_history_dict = await this.transcriptToLLM(transcript);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (this.log) { console.log("DirAiPrompt json: ", json) }
|
|
129
|
+
|
|
130
|
+
const HTTPREQUEST = {
|
|
131
|
+
url: llm_endpoint + '/ask',
|
|
132
|
+
headers: {
|
|
133
|
+
'Content-Type': 'application/json'
|
|
134
|
+
},
|
|
135
|
+
json: json,
|
|
136
|
+
method: 'POST'
|
|
137
|
+
}
|
|
138
|
+
if (this.log) { console.log("DirAiPrompt HTTPREQUEST: ", HTTPREQUEST); }
|
|
139
|
+
|
|
140
|
+
this.#myrequest(
|
|
141
|
+
HTTPREQUEST, async (err, resbody) => {
|
|
142
|
+
if (err) {
|
|
143
|
+
if (this.log) {
|
|
144
|
+
console.error("(httprequest) DirAiPrompt openai err:", err);
|
|
145
|
+
console.error("(httprequest) DirAiPrompt openai err:", err.detail[0]?.msg);
|
|
146
|
+
}
|
|
147
|
+
await this.#assignAttributes(action, answer);
|
|
148
|
+
if (falseIntent) {
|
|
149
|
+
await this.chatbot.addParameter("flowError", "AiPrompt Error: " + err.response.data.detail[0]?.msg);
|
|
150
|
+
await this.#executeCondition(false, trueIntent, trueIntentAttributes, falseIntent, falseIntentAttributes);
|
|
151
|
+
callback(true);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
callback();
|
|
155
|
+
return;
|
|
156
|
+
} else {
|
|
157
|
+
|
|
158
|
+
if (this.log) { console.log("DirAiPrompt resbody: ", JSON.stringify(resbody)); }
|
|
159
|
+
answer = resbody.answer;
|
|
160
|
+
|
|
161
|
+
await this.#assignAttributes(action, answer);
|
|
162
|
+
|
|
163
|
+
if (trueIntent) {
|
|
164
|
+
await this.#executeCondition(true, trueIntent, trueIntentAttributes, falseIntent, falseIntentAttributes);
|
|
165
|
+
callback(true);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
callback();
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
async checkMandatoryParameters(action) {
|
|
177
|
+
return new Promise((resolve, reject) => {
|
|
178
|
+
let params = ['question', 'llm', 'model']; // mandatory params
|
|
179
|
+
params.forEach((p) => {
|
|
180
|
+
if (!action[p]) {
|
|
181
|
+
reject(p)
|
|
182
|
+
}
|
|
183
|
+
})
|
|
184
|
+
resolve(true);
|
|
185
|
+
})
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Transforms the transcirpt array in a dictionary like '0': { "question": "xxx", "answer":"xxx"}
|
|
190
|
+
* merging consecutive messages with the same role in a single question or answer.
|
|
191
|
+
* If the first message was sent from assistant, this will be deleted.
|
|
192
|
+
*/
|
|
193
|
+
async transcriptToLLM(transcript) {
|
|
194
|
+
|
|
195
|
+
let objectTranscript = {};
|
|
196
|
+
|
|
197
|
+
if (transcript.length === 0) {
|
|
198
|
+
return objectTranscript;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
let mergedTranscript = [];
|
|
202
|
+
let current = transcript[0];
|
|
203
|
+
|
|
204
|
+
for (let i = 1; i < transcript.length; i++) {
|
|
205
|
+
if (transcript[i].role === current.role) {
|
|
206
|
+
current.content += '\n' + transcript[i].content;
|
|
207
|
+
} else {
|
|
208
|
+
mergedTranscript.push(current);
|
|
209
|
+
current = transcript[i]
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
mergedTranscript.push(current);
|
|
213
|
+
|
|
214
|
+
if (mergedTranscript[0].role === 'assistant') {
|
|
215
|
+
mergedTranscript.splice(0, 1)
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
let counter = 0;
|
|
219
|
+
for (let i = 0; i < mergedTranscript.length - 1; i += 2) {
|
|
220
|
+
// Check if [i] is role user and [i+1] is role assistant??
|
|
221
|
+
assert(mergedTranscript[i].role === 'user');
|
|
222
|
+
assert(mergedTranscript[i+1].role === 'assistant');
|
|
223
|
+
|
|
224
|
+
if (!mergedTranscript[i].content.startsWith('/')) {
|
|
225
|
+
objectTranscript[counter] = {
|
|
226
|
+
question: mergedTranscript[i].content,
|
|
227
|
+
answer: mergedTranscript[i+1].content
|
|
228
|
+
}
|
|
229
|
+
counter++;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
return objectTranscript;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
async #executeCondition(result, trueIntent, trueIntentAttributes, falseIntent, falseIntentAttributes, callback) {
|
|
237
|
+
let trueIntentDirective = null;
|
|
238
|
+
if (trueIntent) {
|
|
239
|
+
trueIntentDirective = DirIntent.intentDirectiveFor(trueIntent, trueIntentAttributes);
|
|
240
|
+
}
|
|
241
|
+
let falseIntentDirective = null;
|
|
242
|
+
if (falseIntent) {
|
|
243
|
+
falseIntentDirective = DirIntent.intentDirectiveFor(falseIntent, falseIntentAttributes);
|
|
244
|
+
}
|
|
245
|
+
if (result === true) {
|
|
246
|
+
if (trueIntentDirective) {
|
|
247
|
+
this.intentDir.execute(trueIntentDirective, () => {
|
|
248
|
+
if (callback) {
|
|
249
|
+
callback();
|
|
250
|
+
}
|
|
251
|
+
})
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
if (this.log) { console.log("No trueIntentDirective specified"); }
|
|
255
|
+
if (callback) {
|
|
256
|
+
callback();
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
if (falseIntentDirective) {
|
|
262
|
+
this.intentDir.execute(falseIntentDirective, () => {
|
|
263
|
+
if (callback) {
|
|
264
|
+
callback();
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
if (this.log) { console.log("No falseIntentDirective specified"); }
|
|
270
|
+
if (callback) {
|
|
271
|
+
callback();
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
async #assignAttributes(action, answer) {
|
|
278
|
+
if (this.log) {
|
|
279
|
+
console.log("assignAttributes action:", action)
|
|
280
|
+
console.log("assignAttributes answer:", answer)
|
|
281
|
+
}
|
|
282
|
+
if (this.context.tdcache) {
|
|
283
|
+
if (action.assignReplyTo && answer) {
|
|
284
|
+
await TiledeskChatbot.addParameterStatic(this.context.tdcache, this.context.requestId, action.assignReplyTo, answer);
|
|
285
|
+
}
|
|
286
|
+
// Debug log
|
|
287
|
+
if (this.log) {
|
|
288
|
+
const all_parameters = await TiledeskChatbot.allParametersStatic(this.context.tdcache, this.context.requestId);
|
|
289
|
+
for (const [key, value] of Object.entries(all_parameters)) {
|
|
290
|
+
if (this.log) { console.log("(gpttask) request parameter:", key, "value:", value, "type:", typeof value) }
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
#myrequest(options, callback) {
|
|
297
|
+
if (this.log) {
|
|
298
|
+
console.log("API URL:", options.url);
|
|
299
|
+
console.log("** Options:", JSON.stringify(options));
|
|
300
|
+
}
|
|
301
|
+
let axios_options = {
|
|
302
|
+
url: options.url,
|
|
303
|
+
method: options.method,
|
|
304
|
+
params: options.params,
|
|
305
|
+
headers: options.headers
|
|
306
|
+
}
|
|
307
|
+
if (options.json !== null) {
|
|
308
|
+
axios_options.data = options.json
|
|
309
|
+
}
|
|
310
|
+
if (this.log) {
|
|
311
|
+
console.log("axios_options:", JSON.stringify(axios_options));
|
|
312
|
+
}
|
|
313
|
+
if (options.url.startsWith("https:")) {
|
|
314
|
+
const httpsAgent = new https.Agent({
|
|
315
|
+
rejectUnauthorized: false,
|
|
316
|
+
});
|
|
317
|
+
axios_options.httpsAgent = httpsAgent;
|
|
318
|
+
}
|
|
319
|
+
axios(axios_options)
|
|
320
|
+
.then((res) => {
|
|
321
|
+
if (this.log) {
|
|
322
|
+
console.log("Response for url:", options.url);
|
|
323
|
+
console.log("Response headers:\n", JSON.stringify(res.headers));
|
|
324
|
+
}
|
|
325
|
+
if (res && res.status == 200 && res.data) {
|
|
326
|
+
if (callback) {
|
|
327
|
+
callback(null, res.data);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
if (callback) {
|
|
332
|
+
callback(new Error("Response status is not 200"), null);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
})
|
|
336
|
+
.catch((error) => {
|
|
337
|
+
console.error("(DirAiPrompt) Axios error: ", JSON.stringify(error));
|
|
338
|
+
if (callback) {
|
|
339
|
+
callback(error, null);
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
async getKeyFromIntegrations(model) {
|
|
345
|
+
return new Promise((resolve) => {
|
|
346
|
+
|
|
347
|
+
const INTEGRATIONS_HTTPREQUEST = {
|
|
348
|
+
url: this.API_ENDPOINT + "/" + this.context.projectId + "/integration/name/" + model,
|
|
349
|
+
headers: {
|
|
350
|
+
'Content-Type': 'application/json',
|
|
351
|
+
'Authorization': 'JWT ' + this.context.token
|
|
352
|
+
},
|
|
353
|
+
method: "GET"
|
|
354
|
+
}
|
|
355
|
+
if (this.log) { console.log("DirAiPrompt INTEGRATIONS_HTTPREQUEST ", INTEGRATIONS_HTTPREQUEST) }
|
|
356
|
+
|
|
357
|
+
this.#myrequest(
|
|
358
|
+
INTEGRATIONS_HTTPREQUEST, async (err, integration) => {
|
|
359
|
+
if (err) {
|
|
360
|
+
resolve(null);
|
|
361
|
+
} else {
|
|
362
|
+
|
|
363
|
+
if (integration &&
|
|
364
|
+
integration.value) {
|
|
365
|
+
resolve(integration.value.apikey)
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
resolve(null)
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
})
|
|
372
|
+
})
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
async getKeyFromKbSettings() {
|
|
376
|
+
return new Promise((resolve) => {
|
|
377
|
+
|
|
378
|
+
const KB_HTTPREQUEST = {
|
|
379
|
+
url: this.API_ENDPOINT + "/" + this.context.projectId + "/kbsettings",
|
|
380
|
+
headers: {
|
|
381
|
+
'Content-Type': 'application/json',
|
|
382
|
+
'Authorization': 'JWT ' + this.context.token
|
|
383
|
+
},
|
|
384
|
+
method: "GET"
|
|
385
|
+
}
|
|
386
|
+
if (this.log) { console.log("DirAiPrompt KB_HTTPREQUEST", KB_HTTPREQUEST); }
|
|
387
|
+
|
|
388
|
+
this.#myrequest(
|
|
389
|
+
KB_HTTPREQUEST, async (err, resbody) => {
|
|
390
|
+
if (err) {
|
|
391
|
+
console.error("(httprequest) DirAiPrompt Get KnowledgeBase err:", err.message);
|
|
392
|
+
if (this.log) {
|
|
393
|
+
console.error("(httprequest) DirAiPrompt Get KnowledgeBase full err", err);
|
|
394
|
+
}
|
|
395
|
+
resolve(null);
|
|
396
|
+
} else {
|
|
397
|
+
if (!resbody.gptkey) {
|
|
398
|
+
resolve(null);
|
|
399
|
+
} else {
|
|
400
|
+
resolve(resbody.gptkey);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
)
|
|
405
|
+
})
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
async checkQuoteAvailability() {
|
|
409
|
+
return new Promise((resolve) => {
|
|
410
|
+
|
|
411
|
+
const HTTPREQUEST = {
|
|
412
|
+
url: this.API_ENDPOINT + "/" + this.context.projectId + "/quotes/tokens",
|
|
413
|
+
headers: {
|
|
414
|
+
'Content-Type': 'application/json',
|
|
415
|
+
'Authorization': 'JWT ' + this.context.token
|
|
416
|
+
},
|
|
417
|
+
method: "GET"
|
|
418
|
+
}
|
|
419
|
+
if (this.log) { console.log("DirAiPrompt check quote availability HTTPREQUEST", HTTPREQUEST); }
|
|
420
|
+
|
|
421
|
+
this.#myrequest(
|
|
422
|
+
HTTPREQUEST, async (err, resbody) => {
|
|
423
|
+
if (err) {
|
|
424
|
+
resolve(true)
|
|
425
|
+
} else {
|
|
426
|
+
if (resbody.isAvailable === true) {
|
|
427
|
+
resolve(true)
|
|
428
|
+
} else {
|
|
429
|
+
resolve(false)
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
)
|
|
434
|
+
})
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
async updateQuote(tokens_usage) {
|
|
438
|
+
return new Promise((resolve, reject) => {
|
|
439
|
+
|
|
440
|
+
const HTTPREQUEST = {
|
|
441
|
+
url: this.API_ENDPOINT + "/" + this.context.projectId + "/quotes/incr/tokens",
|
|
442
|
+
headers: {
|
|
443
|
+
'Content-Type': 'application/json',
|
|
444
|
+
'Authorization': 'JWT ' + this.context.token
|
|
445
|
+
},
|
|
446
|
+
json: tokens_usage,
|
|
447
|
+
method: "POST"
|
|
448
|
+
}
|
|
449
|
+
if (this.log) { console.log("DirAiPrompt check quote availability HTTPREQUEST", HTTPREQUEST); }
|
|
450
|
+
|
|
451
|
+
this.#myrequest(
|
|
452
|
+
HTTPREQUEST, async (err, resbody) => {
|
|
453
|
+
if (err) {
|
|
454
|
+
console.error("(httprequest) DirAiPrompt Increment tokens quote err: ", err);
|
|
455
|
+
reject(false)
|
|
456
|
+
} else {
|
|
457
|
+
if (this.log) { console.log("(httprequest) DirAiPrompt Increment token quote resbody: ", resbody); }
|
|
458
|
+
resolve(true);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
)
|
|
462
|
+
})
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
module.exports = { DirAiPrompt }
|