@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 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.80",
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.81",
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")
@@ -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 = "blank_webhook"
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 = "blank_copilot"
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}}]}
@@ -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', () => {