@tiledesk/tiledesk-tybot-connector 0.4.1 → 0.5.0-rc1

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,12 @@
5
5
  available on:
6
6
  ▶️ https://www.npmjs.com/package/@tiledesk/tiledesk-tybot-connector
7
7
 
8
+ # v0.5.0-rc1
9
+ - added: ability to get 'none' as bodytype in webresponse
10
+
11
+ # v0.4.2
12
+ - bug-fixed: minor log fix
13
+
8
14
  # v0.4.1
9
15
  - fix: wrong key for web_response
10
16
 
@@ -14,6 +20,19 @@ available on:
14
20
  - changed: refactoring of DIrWebRequestv2
15
21
  - bug-fixed: erro while parsing webrequestv2 body
16
22
 
23
+ # v0.3.5-rc4
24
+ - added: webhook action (same as intent one)
25
+
26
+ # v0.3.5-rc3
27
+ - bug-fixed: jsonBody parse error in web-request-v2
28
+
29
+ # v0.3.5-rc2
30
+ - bug-fixed: cannot set status of undefined reading res.status in DirAssistant
31
+
32
+ # v0.3.5-rc1
33
+ - changed: refactoring web-request-v2
34
+ - bug-fixed: jsonBody parse error in web-request-v2
35
+
17
36
  # v0.3.4
18
37
  -bug-fixed: slit is undefined in TiledeskChatbotUtils
19
38
 
@@ -23,6 +42,18 @@ available on:
23
42
  # v0.3.2
24
43
  - bug-fixed: minor improvement
25
44
 
45
+ # v0.2.153-rc9
46
+ - changed: updated tiledesk-multi-worker to 0.2.1-rc2
47
+
48
+ # v0.2.153-rc8
49
+ - added: fixToken function in TiledeskService utils class
50
+
51
+ # v0.2.153-rc4
52
+ - log added
53
+
54
+ # v0.2.153-rc3
55
+ - added: specchToText function to transcript audio file
56
+
26
57
  # v0.2.153-rc1
27
58
  - changed: context for gpt-40 and gpt-40-mini
28
59
 
package/Logger.js ADDED
@@ -0,0 +1,86 @@
1
+ let { Publisher } = require("@tiledesk/tiledesk-multi-worker");
2
+
3
+ const AMQP_MANAGER_URL = process.env.AMQP_MANAGER_URL;
4
+ let publisher = new Publisher(AMQP_MANAGER_URL, {
5
+ debug: false,
6
+ queueName: "logs_queue",
7
+ exchange: "tiledesk-multi",
8
+ topic: "logs",
9
+ })
10
+
11
+ class Logger {
12
+
13
+ constructor(config) {
14
+
15
+ if (!config) {
16
+ throw new Error('config is mandatory');
17
+ }
18
+
19
+ if (!config.request_id) {
20
+ console.error('config.request_id is mandatory');
21
+ //throw new Error('config.request_id is mandatory');
22
+ }
23
+
24
+ this.request_id = config.request_id;
25
+ this.dev = false;
26
+ if (config.dev && config.dev === true) {
27
+ this.dev = true;
28
+ }
29
+
30
+ if (!AMQP_MANAGER_URL) {
31
+ console.error('AMQP_MANAGER_URL is undefined. Logger not available...');
32
+ return;
33
+ //throw new Error("Error starting logger: AMQP_MANAGER_URL is undefined.")
34
+ }
35
+
36
+ }
37
+
38
+ error(...args) {
39
+ let log = this.formatLog(args);
40
+ return this.base('error', log);
41
+ }
42
+
43
+ warn(...args) {
44
+ let log = this.formatLog(args);
45
+ return this.base('warn', log);
46
+ }
47
+
48
+ info(...args) {
49
+ let log = this.formatLog(args);
50
+ return this.base('info', log);
51
+ }
52
+
53
+ debug(...args) {
54
+ let log = this.formatLog(args);
55
+ return this.base('debug', log);
56
+ }
57
+
58
+ base(level, text) {
59
+ if (!this.request_id || !publisher) {
60
+ console.log("Return because request or publisher is undefined", this.request_id, publisher);
61
+ return;
62
+ }
63
+
64
+ let data = {
65
+ request_id: this.request_id,
66
+ text: text,
67
+ level: level,
68
+ timestamp: new Date(),
69
+ dev: this.dev
70
+ }
71
+
72
+ publisher.publish(data, (err, ok) => {
73
+ if (err) console.warn("publish log fail: ", err);
74
+ return;
75
+ })
76
+ }
77
+
78
+ formatLog(args) {
79
+ return args
80
+ .map(arg => (typeof arg === "object" ? JSON.stringify(arg, null, 2) : arg ))
81
+ .join(" ")
82
+ }
83
+
84
+ }
85
+
86
+ module.exports = { Logger }