@botonic/core 0.25.0-alpha.0 → 0.25.0-alpha.2

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.
Files changed (39) hide show
  1. package/lib/cjs/core-bot.js +76 -99
  2. package/lib/cjs/core-bot.js.map +1 -1
  3. package/lib/cjs/data-provider/dynamodb-data-provider.js +69 -52
  4. package/lib/cjs/data-provider/dynamodb-data-provider.js.map +1 -1
  5. package/lib/cjs/data-provider/dynamodb-utils.js +2 -15
  6. package/lib/cjs/data-provider/dynamodb-utils.js.map +1 -1
  7. package/lib/cjs/data-provider/local-data-provider.js +7 -8
  8. package/lib/cjs/data-provider/local-data-provider.js.map +1 -1
  9. package/lib/cjs/debug/inspector.js +0 -3
  10. package/lib/cjs/debug/inspector.js.map +1 -1
  11. package/lib/cjs/handoff.js +124 -120
  12. package/lib/cjs/handoff.js.map +1 -1
  13. package/lib/cjs/hubtype-service.js +37 -47
  14. package/lib/cjs/hubtype-service.js.map +1 -1
  15. package/lib/cjs/output-parser/botonic-output-parser.js +7 -8
  16. package/lib/cjs/output-parser/botonic-output-parser.js.map +1 -1
  17. package/lib/cjs/output-parser/parsers.js +17 -60
  18. package/lib/cjs/output-parser/parsers.js.map +1 -1
  19. package/lib/cjs/plugins.js +23 -20
  20. package/lib/cjs/plugins.js.map +1 -1
  21. package/lib/cjs/routing/router-utils.js +15 -13
  22. package/lib/cjs/routing/router-utils.js.map +1 -1
  23. package/lib/cjs/routing/router.js +16 -22
  24. package/lib/cjs/routing/router.js.map +1 -1
  25. package/lib/cjs/utils.js +3 -2
  26. package/lib/cjs/utils.js.map +1 -1
  27. package/lib/esm/core-bot.js +75 -72
  28. package/lib/esm/core-bot.js.map +1 -1
  29. package/lib/esm/data-provider/dynamodb-data-provider.js +69 -44
  30. package/lib/esm/data-provider/dynamodb-data-provider.js.map +1 -1
  31. package/lib/esm/handoff.js +125 -108
  32. package/lib/esm/handoff.js.map +1 -1
  33. package/lib/esm/hubtype-service.js +34 -25
  34. package/lib/esm/hubtype-service.js.map +1 -1
  35. package/lib/esm/plugins.js +23 -20
  36. package/lib/esm/plugins.js.map +1 -1
  37. package/lib/esm/routing/router-utils.js +14 -11
  38. package/lib/esm/routing/router-utils.js.map +1 -1
  39. package/package.json +3 -2
@@ -1,3 +1,4 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { ulid } from 'ulid';
2
3
  import { Inspector } from './debug';
3
4
  import { getString } from './i18n';
@@ -37,85 +38,87 @@ export class CoreBot {
37
38
  setLocale(locale, session) {
38
39
  session.__locale = locale;
39
40
  }
40
- async input({ input, session, lastRoutePath, dataProvider, }) {
41
- session = session || {};
42
- if (!session.__locale)
43
- session.__locale = 'en';
44
- if (input.type === INPUT.CHAT_EVENT) {
41
+ input({ input, session, lastRoutePath, dataProvider, }) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ session = session || {};
44
+ if (!session.__locale)
45
+ session.__locale = 'en';
46
+ if (input.type === INPUT.CHAT_EVENT) {
47
+ return {
48
+ input,
49
+ session,
50
+ lastRoutePath,
51
+ dataProvider,
52
+ response: [],
53
+ messageEvents: null,
54
+ };
55
+ }
56
+ const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input);
57
+ const userId = session.user.id;
58
+ if (dataProvider) {
59
+ // TODO: Next iterations. Review cycle of commited events to DB when messages change their ACK
60
+ // @ts-ignore
61
+ const userEvent = yield dataProvider.saveEvent(Object.assign(Object.assign({}, parsedUserEvent), { userId, eventId: ulid(), createdAt: new Date().toISOString(), from: MessageEventFrom.USER, ack: MessageEventAck.RECEIVED }));
62
+ }
63
+ if (this.plugins) {
64
+ yield runPlugins(this.plugins, 'pre', input, session, lastRoutePath, undefined, undefined, dataProvider);
65
+ }
66
+ if (this.routes instanceof Function) {
67
+ this.router = new Router([
68
+ ...(yield getComputedRoutes(this.routes, {
69
+ input,
70
+ session,
71
+ lastRoutePath,
72
+ })),
73
+ ...this.defaultRoutes,
74
+ ], this.inspector.routeInspector);
75
+ }
76
+ const output = this.router.processInput(input, session, lastRoutePath);
77
+ const request = {
78
+ getString: stringId => this.getString(stringId, session),
79
+ setLocale: locale => this.setLocale(locale, session),
80
+ session: session || {},
81
+ params: output.params || {},
82
+ input: input,
83
+ plugins: this.plugins,
84
+ defaultTyping: this.defaultTyping,
85
+ defaultDelay: this.defaultDelay,
86
+ lastRoutePath,
87
+ dataProvider,
88
+ };
89
+ const response = yield this.renderer({
90
+ request,
91
+ actions: [output.fallbackAction, output.action, output.emptyAction],
92
+ });
93
+ let messageEvents = [];
94
+ try {
95
+ messageEvents = this.botonicOutputParser.xmlToMessageEvents(response);
96
+ }
97
+ catch (e) {
98
+ // Disabling Botonic 1.0 error log for LTS version:
99
+ // console.error(e)
100
+ }
101
+ lastRoutePath = output.lastRoutePath;
102
+ if (this.plugins) {
103
+ yield runPlugins(this.plugins, 'post', input, session, lastRoutePath, response, messageEvents, dataProvider);
104
+ }
105
+ if (dataProvider) {
106
+ // TODO: save bot responses to db and update user with new session and new params
107
+ for (const messageEvent of messageEvents) {
108
+ // @ts-ignore
109
+ const botEvent = yield dataProvider.saveEvent(Object.assign(Object.assign({}, messageEvent), { userId, eventId: ulid(), createdAt: new Date().toISOString(), from: MessageEventFrom.BOT, ack: MessageEventAck.SENT }));
110
+ }
111
+ }
112
+ session.is_first_interaction = false;
45
113
  return {
46
114
  input,
115
+ response,
116
+ messageEvents,
47
117
  session,
48
118
  lastRoutePath,
49
119
  dataProvider,
50
- response: [],
51
- messageEvents: null,
52
120
  };
53
- }
54
- const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input);
55
- const userId = session.user.id;
56
- if (dataProvider) {
57
- // TODO: Next iterations. Review cycle of commited events to DB when messages change their ACK
58
- // @ts-ignore
59
- const userEvent = await dataProvider.saveEvent(Object.assign(Object.assign({}, parsedUserEvent), { userId, eventId: ulid(), createdAt: new Date().toISOString(), from: MessageEventFrom.USER, ack: MessageEventAck.RECEIVED }));
60
- }
61
- if (this.plugins) {
62
- await runPlugins(this.plugins, 'pre', input, session, lastRoutePath, undefined, undefined, dataProvider);
63
- }
64
- if (this.routes instanceof Function) {
65
- this.router = new Router([
66
- ...(await getComputedRoutes(this.routes, {
67
- input,
68
- session,
69
- lastRoutePath,
70
- })),
71
- ...this.defaultRoutes,
72
- ], this.inspector.routeInspector);
73
- }
74
- const output = this.router.processInput(input, session, lastRoutePath);
75
- const request = {
76
- getString: stringId => this.getString(stringId, session),
77
- setLocale: locale => this.setLocale(locale, session),
78
- session: session || {},
79
- params: output.params || {},
80
- input: input,
81
- plugins: this.plugins,
82
- defaultTyping: this.defaultTyping,
83
- defaultDelay: this.defaultDelay,
84
- lastRoutePath,
85
- dataProvider,
86
- };
87
- const response = await this.renderer({
88
- request,
89
- actions: [output.fallbackAction, output.action, output.emptyAction],
90
121
  });
91
- let messageEvents = [];
92
- try {
93
- messageEvents = this.botonicOutputParser.xmlToMessageEvents(response);
94
- }
95
- catch (e) {
96
- // Disabling Botonic 1.0 error log for LTS version:
97
- // console.error(e)
98
- }
99
- lastRoutePath = output.lastRoutePath;
100
- if (this.plugins) {
101
- await runPlugins(this.plugins, 'post', input, session, lastRoutePath, response, messageEvents, dataProvider);
102
- }
103
- if (dataProvider) {
104
- // TODO: save bot responses to db and update user with new session and new params
105
- for (const messageEvent of messageEvents) {
106
- // @ts-ignore
107
- const botEvent = await dataProvider.saveEvent(Object.assign(Object.assign({}, messageEvent), { userId, eventId: ulid(), createdAt: new Date().toISOString(), from: MessageEventFrom.BOT, ack: MessageEventAck.SENT }));
108
- }
109
- }
110
- session.is_first_interaction = false;
111
- return {
112
- input,
113
- response,
114
- messageEvents,
115
- session,
116
- lastRoutePath,
117
- dataProvider,
118
- };
119
122
  }
120
123
  }
121
124
  //# sourceMappingURL=core-bot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { EventTypes } from '../models';
2
3
  import { getConnectionEventEntity, getMessageEventEntities, getUserEntity, getUserEventsTable, GLOBAL_SECONDARY_INDEX_NAME, SORT_KEY_NAME, USER_PREFIX, } from './dynamodb-utils';
3
4
  export class DynamoDBDataProvider {
@@ -15,63 +16,87 @@ export class DynamoDBDataProvider {
15
16
  }
16
17
  }
17
18
  // @ts-ignore
18
- async getUsers(limit = 10, offset = 0) {
19
- // TODO: finish to implement with offset
20
- const result = await this.userEventsTable.scan({
21
- filters: { attr: SORT_KEY_NAME, beginsWith: USER_PREFIX },
22
- limit,
19
+ getUsers(limit = 10, offset = 0) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ // TODO: finish to implement with offset
22
+ const result = yield this.userEventsTable.scan({
23
+ filters: { attr: SORT_KEY_NAME, beginsWith: USER_PREFIX },
24
+ limit,
25
+ });
26
+ return result.Items;
23
27
  });
24
- return result.Items;
25
28
  }
26
- async getUser(id) {
27
- const userById = {
28
- id: id,
29
- SK: id,
30
- };
31
- const result = await this.userEntity.get(userById);
32
- if (Object.keys(result).length === 0)
33
- return undefined;
34
- return result.Item;
29
+ getUser(id) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const userById = {
32
+ id: id,
33
+ SK: id,
34
+ };
35
+ const result = yield this.userEntity.get(userById);
36
+ if (Object.keys(result).length === 0)
37
+ return undefined;
38
+ return result.Item;
39
+ });
35
40
  }
36
- async getUserByWebsocketId(websocketId) {
37
- const result = await this.userEventsTable.query(websocketId, {
38
- index: GLOBAL_SECONDARY_INDEX_NAME,
41
+ getUserByWebsocketId(websocketId) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ const result = yield this.userEventsTable.query(websocketId, {
44
+ index: GLOBAL_SECONDARY_INDEX_NAME,
45
+ });
46
+ if (result.Count === 0)
47
+ return undefined;
48
+ return result.Items[0];
39
49
  });
40
- if (result.Count === 0)
41
- return undefined;
42
- return result.Items[0];
43
50
  }
44
51
  // @ts-ignore
45
- async getUserByField(field, value) { } //TODO: Implement
46
- async saveUser(user) {
47
- const putUser = Object.assign(Object.assign({}, user), { id: user.id, userId: user.id });
48
- await this.userEntity.put(putUser);
49
- return user;
52
+ getUserByField(field, value) {
53
+ return __awaiter(this, void 0, void 0, function* () { });
54
+ } //TODO: Implement
55
+ saveUser(user) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const putUser = Object.assign(Object.assign({}, user), { id: user.id, userId: user.id });
58
+ yield this.userEntity.put(putUser);
59
+ return user;
60
+ });
50
61
  }
51
- async updateUser(user) {
52
- const updateUser = Object.assign(Object.assign({}, user), { id: user.id, userId: user.id });
53
- const res = await this.userEntity.update(updateUser);
54
- return user;
62
+ updateUser(user) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ const updateUser = Object.assign(Object.assign({}, user), { id: user.id, userId: user.id });
65
+ const res = yield this.userEntity.update(updateUser);
66
+ return user;
67
+ });
55
68
  }
56
69
  // @ts-ignore
57
- async deleteUser(id) { } // TODO: Implement
70
+ deleteUser(id) {
71
+ return __awaiter(this, void 0, void 0, function* () { });
72
+ } // TODO: Implement
58
73
  // @ts-ignore
59
- async getEvents(limit = 10, offset = 0) { } // TODO: Implement
74
+ getEvents(limit = 10, offset = 0) {
75
+ return __awaiter(this, void 0, void 0, function* () { });
76
+ } // TODO: Implement
60
77
  // @ts-ignore
61
- async getEvent(id) { } // TODO: Implement
62
- async saveEvent(event) {
63
- if (event.eventType === EventTypes.CONNECTION) {
64
- await this.connectionEventEntity.put(event);
65
- }
66
- if (event.eventType === EventTypes.MESSAGE) {
67
- await this.messageEventEntities[event.type].put(event);
68
- }
69
- // TODO: Implementation of other event types
70
- return event;
78
+ getEvent(id) {
79
+ return __awaiter(this, void 0, void 0, function* () { });
80
+ } // TODO: Implement
81
+ saveEvent(event) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ if (event.eventType === EventTypes.CONNECTION) {
84
+ yield this.connectionEventEntity.put(event);
85
+ }
86
+ if (event.eventType === EventTypes.MESSAGE) {
87
+ yield this.messageEventEntities[event.type].put(event);
88
+ }
89
+ // TODO: Implementation of other event types
90
+ return event;
91
+ });
71
92
  }
72
93
  // @ts-ignore
73
- async updateEvent(event) { } // TODO: Implement
94
+ updateEvent(event) {
95
+ return __awaiter(this, void 0, void 0, function* () { });
96
+ } // TODO: Implement
74
97
  // @ts-ignore
75
- async deleteEvent(id) { } // TODO: Implement
98
+ deleteEvent(id) {
99
+ return __awaiter(this, void 0, void 0, function* () { });
100
+ } // TODO: Implement
76
101
  }
77
102
  //# sourceMappingURL=dynamodb-data-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamodb-data-provider.js","sourceRoot":"","sources":["../../../src/data-provider/dynamodb-data-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamodb-data-provider.js","sourceRoot":"","sources":["../../../src/data-provider/dynamodb-data-provider.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { __awaiter } from "tslib";
1
2
  import axios from 'axios';
2
3
  import { PATH_PAYLOAD_IDENTIFIER } from './constants';
3
4
  const HUBTYPE_API_URL = 'https://api.hubtype.com';
@@ -6,21 +7,23 @@ function contextDefaults(context) {
6
7
  timeoutMs: context.timeoutMs || 10000,
7
8
  };
8
9
  }
9
- export async function getOpenQueues(session, context = {}) {
10
- //be aware of https://github.com/axios/axios/issues/1543
11
- const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
12
- const endpointUrl = `${baseUrl}/v1/queues/get_open_queues/`;
13
- context = contextDefaults(context);
14
- const resp = await axios({
15
- headers: {
16
- Authorization: `Bearer ${session._access_token}`,
17
- },
18
- method: 'post',
19
- url: endpointUrl,
20
- data: { bot_id: session.bot.id },
21
- timeout: context.timeoutMs,
10
+ export function getOpenQueues(session, context = {}) {
11
+ return __awaiter(this, void 0, void 0, function* () {
12
+ //be aware of https://github.com/axios/axios/issues/1543
13
+ const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
14
+ const endpointUrl = `${baseUrl}/v1/queues/get_open_queues/`;
15
+ context = contextDefaults(context);
16
+ const resp = yield axios({
17
+ headers: {
18
+ Authorization: `Bearer ${session._access_token}`,
19
+ },
20
+ method: 'post',
21
+ url: endpointUrl,
22
+ data: { bot_id: session.bot.id },
23
+ timeout: context.timeoutMs,
24
+ });
25
+ return resp.data;
22
26
  });
23
- return resp.data;
24
27
  }
25
28
  export class HandOffBuilder {
26
29
  constructor(session) {
@@ -74,116 +77,130 @@ export class HandOffBuilder {
74
77
  this._extraData = extraData;
75
78
  return this;
76
79
  }
77
- async handOff() {
78
- return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._forceAssignIfNotAvailable, this._autoAssignOnWaiting, this._caseInfo, this._note, this._autoIdleMessage, this._shadowing, this._extraData);
80
+ handOff() {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._forceAssignIfNotAvailable, this._autoAssignOnWaiting, this._caseInfo, this._note, this._autoIdleMessage, this._shadowing, this._extraData);
83
+ });
79
84
  }
80
85
  }
81
86
  /**
82
87
  * @deprecated use {@link HandOffBuilder} class instead
83
88
  */
84
- export async function humanHandOff(session, queueNameOrId = '', onFinish) {
85
- const builder = new HandOffBuilder(session);
86
- if (queueNameOrId) {
87
- builder.withQueue(queueNameOrId);
88
- }
89
- if (onFinish) {
90
- if (onFinish.path) {
91
- builder.withOnFinishPath(onFinish.path);
92
- }
93
- else if (onFinish.payload) {
94
- builder.withOnFinishPayload(onFinish.payload);
89
+ export function humanHandOff(session, queueNameOrId = '', onFinish) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ const builder = new HandOffBuilder(session);
92
+ if (queueNameOrId) {
93
+ builder.withQueue(queueNameOrId);
95
94
  }
96
- else {
97
- throw new Error('onFinish requires payload or path field');
95
+ if (onFinish) {
96
+ if (onFinish.path) {
97
+ builder.withOnFinishPath(onFinish.path);
98
+ }
99
+ else if (onFinish.payload) {
100
+ builder.withOnFinishPayload(onFinish.payload);
101
+ }
102
+ else {
103
+ throw new Error('onFinish requires payload or path field');
104
+ }
98
105
  }
99
- }
100
- return builder.handOff();
106
+ return builder.handOff();
107
+ });
101
108
  }
102
- async function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', forceAssignIfNotAvailable = true, autoAssignOnWaiting = false, caseInfo = '', note = '', autoIdleMessage = '', shadowing = false, extraData = undefined) {
103
- const params = {};
104
- params.force_assign_if_not_available = forceAssignIfNotAvailable;
105
- if (queueNameOrId) {
106
- params.queue = queueNameOrId;
107
- }
108
- if (agentEmail) {
109
- params.agent_email = agentEmail;
110
- }
111
- if (agentId) {
112
- params.agent_id = agentId;
113
- }
114
- if (autoAssignOnWaiting) {
115
- params.auto_assign_on_waiting = autoAssignOnWaiting;
116
- }
117
- if (caseInfo) {
118
- params.case_info = caseInfo;
119
- }
120
- if (note) {
121
- params.note = note;
122
- }
123
- if (autoIdleMessage) {
124
- params.auto_idle_message = autoIdleMessage;
125
- }
126
- if (shadowing) {
127
- params.shadowing = shadowing;
128
- }
129
- if (onFinish) {
130
- params.on_finish = onFinish;
131
- }
132
- if (extraData) {
133
- params.case_extra_data = extraData;
134
- }
135
- session._botonic_action = `create_case:${JSON.stringify(params)}`;
109
+ function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', forceAssignIfNotAvailable = true, autoAssignOnWaiting = false, caseInfo = '', note = '', autoIdleMessage = '', shadowing = false, extraData = undefined) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ const params = {};
112
+ params.force_assign_if_not_available = forceAssignIfNotAvailable;
113
+ if (queueNameOrId) {
114
+ params.queue = queueNameOrId;
115
+ }
116
+ if (agentEmail) {
117
+ params.agent_email = agentEmail;
118
+ }
119
+ if (agentId) {
120
+ params.agent_id = agentId;
121
+ }
122
+ if (autoAssignOnWaiting) {
123
+ params.auto_assign_on_waiting = autoAssignOnWaiting;
124
+ }
125
+ if (caseInfo) {
126
+ params.case_info = caseInfo;
127
+ }
128
+ if (note) {
129
+ params.note = note;
130
+ }
131
+ if (autoIdleMessage) {
132
+ params.auto_idle_message = autoIdleMessage;
133
+ }
134
+ if (shadowing) {
135
+ params.shadowing = shadowing;
136
+ }
137
+ if (onFinish) {
138
+ params.on_finish = onFinish;
139
+ }
140
+ if (extraData) {
141
+ params.case_extra_data = extraData;
142
+ }
143
+ session._botonic_action = `create_case:${JSON.stringify(params)}`;
144
+ });
136
145
  }
137
- export async function storeCaseRating(session, rating, context = {}) {
138
- const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
139
- const chatId = session.user.id;
140
- context = contextDefaults(context);
141
- const resp = await axios({
142
- headers: {
143
- Authorization: `Bearer ${session._access_token}`,
144
- },
145
- method: 'post',
146
- url: `${baseUrl}/v1/chats/${chatId}/store_case_rating/`,
147
- data: { chat_id: chatId, rating },
148
- timeout: context.timeoutMs,
146
+ export function storeCaseRating(session, rating, context = {}) {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
149
+ const chatId = session.user.id;
150
+ context = contextDefaults(context);
151
+ const resp = yield axios({
152
+ headers: {
153
+ Authorization: `Bearer ${session._access_token}`,
154
+ },
155
+ method: 'post',
156
+ url: `${baseUrl}/v1/chats/${chatId}/store_case_rating/`,
157
+ data: { chat_id: chatId, rating },
158
+ timeout: context.timeoutMs,
159
+ });
160
+ return resp.data;
149
161
  });
150
- return resp.data;
151
162
  }
152
- export async function getAvailableAgentsByQueue(session, queueId) {
153
- const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
154
- const resp = await axios({
155
- headers: {
156
- Authorization: `Bearer ${session._access_token}`,
157
- },
158
- method: 'post',
159
- url: `${baseUrl}/v1/queues/${queueId}/get_available_agents/`,
163
+ export function getAvailableAgentsByQueue(session, queueId) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
166
+ const resp = yield axios({
167
+ headers: {
168
+ Authorization: `Bearer ${session._access_token}`,
169
+ },
170
+ method: 'post',
171
+ url: `${baseUrl}/v1/queues/${queueId}/get_available_agents/`,
172
+ });
173
+ return resp.data;
160
174
  });
161
- return resp.data;
162
175
  }
163
- export async function getAvailableAgents(session) {
164
- const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
165
- const botId = session.bot.id;
166
- const resp = await axios({
167
- headers: {
168
- Authorization: `Bearer ${session._access_token}`,
169
- },
170
- method: 'post',
171
- url: `${baseUrl}/v1/bots/${botId}/get_agents/`,
176
+ export function getAvailableAgents(session) {
177
+ return __awaiter(this, void 0, void 0, function* () {
178
+ const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
179
+ const botId = session.bot.id;
180
+ const resp = yield axios({
181
+ headers: {
182
+ Authorization: `Bearer ${session._access_token}`,
183
+ },
184
+ method: 'post',
185
+ url: `${baseUrl}/v1/bots/${botId}/get_agents/`,
186
+ });
187
+ return resp.data;
172
188
  });
173
- return resp.data;
174
189
  }
175
- export async function getAgentVacationRanges(session, { agentId, agentEmail }) {
176
- const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
177
- const botId = session.bot.id;
178
- const resp = await axios({
179
- headers: {
180
- Authorization: `Bearer ${session._access_token}`,
181
- },
182
- method: 'get',
183
- url: `${baseUrl}/v1/bots/${botId}/get_agent_vacation_ranges/`,
184
- params: { agent_id: agentId, agent_email: agentEmail },
190
+ export function getAgentVacationRanges(session, { agentId, agentEmail }) {
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
193
+ const botId = session.bot.id;
194
+ const resp = yield axios({
195
+ headers: {
196
+ Authorization: `Bearer ${session._access_token}`,
197
+ },
198
+ method: 'get',
199
+ url: `${baseUrl}/v1/bots/${botId}/get_agent_vacation_ranges/`,
200
+ params: { agent_id: agentId, agent_email: agentEmail },
201
+ });
202
+ return resp.data;
185
203
  });
186
- return resp.data;
187
204
  }
188
205
  export function cancelHandoff(session, typification = null) {
189
206
  let action = 'discard_case';