@tiledesk/tiledesk-server 2.10.80 → 2.10.81
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/package.json +2 -2
- package/routes/faq_kb.js +5 -0
- package/services/faqService.js +10 -3
- package/test/example-webhook-json.txt +1 -0
- package/test/faqkbRoute.js +90 -0
package/CHANGELOG.md
CHANGED
@@ -5,6 +5,10 @@
|
|
5
5
|
🚀 IN PRODUCTION 🚀
|
6
6
|
(https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
|
7
7
|
|
8
|
+
# 2.10.81
|
9
|
+
- Fix bug on webhook import and fork (wrong blank template)
|
10
|
+
- Updated whatsapp-connector to 0.1.82
|
11
|
+
|
8
12
|
# 2.10.80
|
9
13
|
- Updated tybot-connector to 2.0.9
|
10
14
|
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@tiledesk/tiledesk-server",
|
3
3
|
"description": "The Tiledesk server module",
|
4
|
-
"version": "2.10.
|
4
|
+
"version": "2.10.81",
|
5
5
|
"scripts": {
|
6
6
|
"start": "node ./bin/www",
|
7
7
|
"pretest": "mongodb-runner start",
|
@@ -48,7 +48,7 @@
|
|
48
48
|
"@tiledesk/tiledesk-rasa-connector": "^1.0.10",
|
49
49
|
"@tiledesk/tiledesk-telegram-connector": "^0.1.14",
|
50
50
|
"@tiledesk/tiledesk-tybot-connector": "^2.0.9",
|
51
|
-
"@tiledesk/tiledesk-whatsapp-connector": "^0.1.
|
51
|
+
"@tiledesk/tiledesk-whatsapp-connector": "^0.1.82",
|
52
52
|
"@tiledesk/tiledesk-whatsapp-jobworker": "^0.0.12",
|
53
53
|
"@tiledesk/tiledesk-sms-connector": "^0.1.11",
|
54
54
|
"@tiledesk/tiledesk-vxml-connector": "^0.1.76",
|
package/routes/faq_kb.js
CHANGED
@@ -643,6 +643,8 @@ router.post('/fork/:id_faq_kb', roleChecker.hasRole('admin'), async (req, res) =
|
|
643
643
|
}
|
644
644
|
}
|
645
645
|
|
646
|
+
chatbot.template = "empty";
|
647
|
+
|
646
648
|
let savedChatbot = await cs.createBot(api_url, token, chatbot, landing_project_id);
|
647
649
|
winston.debug("savedChatbot: ", savedChatbot)
|
648
650
|
|
@@ -685,6 +687,9 @@ router.post('/importjson/:id_faq_kb', roleChecker.hasRole('admin'), upload.singl
|
|
685
687
|
// **** CREATE TRUE option ****
|
686
688
|
// ****************************
|
687
689
|
if (req.query.create === 'true') {
|
690
|
+
if (json.subtype && (json.subtype === 'webhook' || json.subtype === 'copilot')) {
|
691
|
+
json.template = 'empty';
|
692
|
+
}
|
688
693
|
let savedChatbot = await faqService.create(req.projectid, req.user.id, json)
|
689
694
|
.catch((err) => {
|
690
695
|
winston.error("Error creating new chatbot")
|
package/services/faqService.js
CHANGED
@@ -50,12 +50,19 @@ class FaqService {
|
|
50
50
|
let template = "empty";
|
51
51
|
|
52
52
|
if (data.type === "internal" || data.type === "tilebot") {
|
53
|
-
|
54
53
|
if (data.subtype) {
|
55
54
|
if (data.subtype === chatbotTypes.WEBHOOK) {
|
56
|
-
template
|
55
|
+
if (data.template && data.template !== 'blank') {
|
56
|
+
template = data.template;
|
57
|
+
} else {
|
58
|
+
template = "blank_webhook"
|
59
|
+
}
|
57
60
|
} else if (data.subtype === chatbotTypes.COPILOT) {
|
58
|
-
template
|
61
|
+
if (data.template && data.template !== 'blank') {
|
62
|
+
template = data.template;
|
63
|
+
} else {
|
64
|
+
template = "blank_copilot"
|
65
|
+
}
|
59
66
|
} else if (data.subtype === chatbotTypes.CHATBOT) {
|
60
67
|
if (data.template) {
|
61
68
|
template = data.template;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"webhook_enabled":false,"language":"en","name":"Flow 1","slug":"flow-1","type":"tilebot","subtype":"webhook","intents":[{"webhook_enabled":false,"enabled":true,"actions":[{"_tdActionType":"intent","intentName":"#5da40c2c-8711-47b0-98c7-744c253fa255","_tdActionId":"5f54ccf7328a4f6e9ac2e6cf06374595"}],"intent_id":"93882faf-e0b7-4fab-8816-70ecea96d70d","question":"","intent_display_name":"webhook","language":"en","attributes":{"position":{"x":172,"y":384},"readonly":true,"nextBlockAction":{"_tdActionTitle":"","_tdActionId":"bdc317fa-9372-49ac-8373-b922210292e9","_tdActionType":"intent"},"connectors":{}},"agents_available":false},{"webhook_enabled":false,"enabled":true,"actions":[{"_tdActionTitle":"","_tdActionId":"0eeee924-7b2b-41a4-8c10-731d1c28ee6c","_tdActionType":"gpt_task","max_tokens":256,"temperature":0.7,"model":"gpt-4o","assignReplyTo":"gpt_reply","preview":[],"formatType":"none","question":"Quanto fa 2+2? Rispondi solo con il risultato.","context":"","trueIntent":"#f38844ea-c490-40ee-b32a-6a59e77410fc","falseIntent":null}],"language":"en","intent_display_name":"untitled_block_1","intent_id":"5da40c2c-8711-47b0-98c7-744c253fa255","agents_available":false,"attributes":{"position":{"x":560,"y":281},"nextBlockAction":{"_tdActionId":"8f98f384-adb2-4b6b-a31a-de5f751cd658","_tdActionType":"intent","intentName":""},"connectors":{},"color":"156,163,205","readonly":false}},{"webhook_enabled":false,"enabled":true,"actions":[{"_tdActionTitle":"","_tdActionId":"f046856f-afbd-47b3-9f23-f6d109ce25f4","payload":"{\n\"success\": true,\n\"result\": {{gpt_reply}}\n}","headersString":{"Content-Type":"*/*","Cache-Control":"no-cache","User-Agent":"TiledeskBotRuntime","Accept":"*/*"},"bodyType":"json","assignTo":"","_tdActionType":"web_response","status":"200"}],"language":"en","intent_display_name":"untitled_block_2","intent_id":"f38844ea-c490-40ee-b32a-6a59e77410fc","agents_available":false,"attributes":{"position":{"x":1001,"y":296},"nextBlockAction":{"_tdActionId":"db01c4fd-f14a-413a-8d4d-12a53da49267","_tdActionType":"intent","intentName":""},"color":"156,163,205","readonly":false}}]}
|
package/test/faqkbRoute.js
CHANGED
@@ -369,6 +369,50 @@ describe('FaqKBRoute', () => {
|
|
369
369
|
})
|
370
370
|
})
|
371
371
|
|
372
|
+
it('create-new-webhook', (done) => {
|
373
|
+
|
374
|
+
var email = "test-signup-" + Date.now() + "@email.com";
|
375
|
+
var pwd = "pwd";
|
376
|
+
|
377
|
+
userService.signup(email, pwd, "Test Firstname", "Test lastname").then(function (savedUser) {
|
378
|
+
projectService.create("test-faqkb-create", savedUser._id).then(function (savedProject) {
|
379
|
+
|
380
|
+
chai.request(server)
|
381
|
+
.post('/' + savedProject._id + '/faq_kb')
|
382
|
+
.auth(email, pwd)
|
383
|
+
.send({ name: "testflow", type: "tilebot", subtype: "webhook", language: 'en' })
|
384
|
+
.end((err, res) => {
|
385
|
+
|
386
|
+
if (err) { console.error("err: ", err); }
|
387
|
+
if (log) { console.log("res.body", res.body); }
|
388
|
+
|
389
|
+
res.should.have.status(200);
|
390
|
+
res.body.should.be.a('object');
|
391
|
+
expect(res.body.name).to.equal("testflow");
|
392
|
+
expect(res.body.language).to.equal("en");
|
393
|
+
expect(res.body.type).to.equal("tilebot");
|
394
|
+
expect(res.body.subtype).to.equal("webhook")
|
395
|
+
|
396
|
+
|
397
|
+
chai.request(server)
|
398
|
+
.get('/' + savedProject._id + '/faq/?id_faq_kb=' + res.body._id)
|
399
|
+
.auth(email, pwd)
|
400
|
+
.end((err, res) => {
|
401
|
+
|
402
|
+
if (err) { console.error("err: ", err); }
|
403
|
+
if (log) { console.log("res.body", res.body); }
|
404
|
+
console.log("res.body", res.body);
|
405
|
+
res.should.have.status(200);
|
406
|
+
|
407
|
+
done();
|
408
|
+
|
409
|
+
});
|
410
|
+
});
|
411
|
+
});
|
412
|
+
});
|
413
|
+
|
414
|
+
})
|
415
|
+
|
372
416
|
});
|
373
417
|
|
374
418
|
|
@@ -1021,6 +1065,52 @@ describe('FaqKBRoute', () => {
|
|
1021
1065
|
|
1022
1066
|
}).timeout(20000);
|
1023
1067
|
|
1068
|
+
it('import-webhook-json', (done) => {
|
1069
|
+
|
1070
|
+
var email = "test-signup-" + Date.now() + "@email.com";
|
1071
|
+
var pwd = "pwd";
|
1072
|
+
|
1073
|
+
userService.signup(email, pwd, "Test Firstname", "Test lastname").then(function (savedUser) {
|
1074
|
+
projectService.create("test-faqkb-create", savedUser._id).then(function (savedProject) {
|
1075
|
+
|
1076
|
+
chai.request(server)
|
1077
|
+
.post('/' + savedProject._id + '/faq_kb/importjson/null?create=true')
|
1078
|
+
.auth(email, pwd)
|
1079
|
+
.set('Content-Type', 'text/plain')
|
1080
|
+
.attach('uploadFile', fs.readFileSync(path.resolve(__dirname, './example-webhook-json.txt')), 'example-webhook-json.txt')
|
1081
|
+
.end((err, res) => {
|
1082
|
+
|
1083
|
+
if (err) { console.error("err: ", err) };
|
1084
|
+
if (log) { console.log("res.body: ", res.body) };
|
1085
|
+
console.log("res.body: ", res.body)
|
1086
|
+
res.should.have.status(200);
|
1087
|
+
res.should.be.a('object');
|
1088
|
+
expect(res.body.name).to.equal("Flow 1");
|
1089
|
+
expect(res.body.language).to.equal("en");
|
1090
|
+
|
1091
|
+
let id_faq_kb = res.body._id
|
1092
|
+
|
1093
|
+
chai.request(server)
|
1094
|
+
.get('/' + savedProject._id + '/faq?id_faq_kb=' + id_faq_kb)
|
1095
|
+
.auth(email, pwd)
|
1096
|
+
.end((err, res) => {
|
1097
|
+
|
1098
|
+
if (err) { console.error("err: ", err) };
|
1099
|
+
if (log) { console.log("res.body: ", res.body) };
|
1100
|
+
|
1101
|
+
res.should.have.status(200);
|
1102
|
+
res.body.should.be.an('array').that.is.not.empty;
|
1103
|
+
expect(res.body.length).to.equal(3);
|
1104
|
+
|
1105
|
+
done();
|
1106
|
+
|
1107
|
+
})
|
1108
|
+
})
|
1109
|
+
})
|
1110
|
+
})
|
1111
|
+
})
|
1112
|
+
|
1113
|
+
|
1024
1114
|
})
|
1025
1115
|
|
1026
1116
|
// describe('Train', () => {
|