bibot 1.0.22 → 1.0.24
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/dist/hooks/useBiBotChatBot.d.ts +3 -2
- package/dist/index.js +144 -87
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +144 -87
- package/dist/index.modern.js.map +1 -1
- package/dist/services/plugin-api.d.ts +5 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
@@ -3485,16 +3485,33 @@ var AppProvider = function AppProvider(_ref) {
|
|
3485
3485
|
};
|
3486
3486
|
|
3487
3487
|
var getRemoteClientChatPredefinedQuestions = function getRemoteClientChatPredefinedQuestions(params) {
|
3488
|
-
|
3489
|
-
|
3490
|
-
|
3491
|
-
|
3492
|
-
|
3493
|
-
|
3494
|
-
|
3495
|
-
|
3496
|
-
|
3497
|
-
|
3488
|
+
try {
|
3489
|
+
return Promise.resolve(_catch(function () {
|
3490
|
+
var path = "" + domain.inference + resources.predefinedQ;
|
3491
|
+
return Promise.resolve(pluginAxiosInstance.get(path, {
|
3492
|
+
params: params
|
3493
|
+
})).then(function (response) {
|
3494
|
+
console.log(response.data.predefined_questions);
|
3495
|
+
return response.data.predefined_questions;
|
3496
|
+
});
|
3497
|
+
}, function () {
|
3498
|
+
return [{
|
3499
|
+
question: 'These are placeholders',
|
3500
|
+
answer: ''
|
3501
|
+
}, {
|
3502
|
+
question: 'They will be removed in production',
|
3503
|
+
answer: ''
|
3504
|
+
}, {
|
3505
|
+
question: 'This will be empty if there are no predefined questions',
|
3506
|
+
answer: ''
|
3507
|
+
}, {
|
3508
|
+
question: 'So hide if there are no predefined questions',
|
3509
|
+
answer: ''
|
3510
|
+
}];
|
3511
|
+
}));
|
3512
|
+
} catch (e) {
|
3513
|
+
return Promise.reject(e);
|
3514
|
+
}
|
3498
3515
|
};
|
3499
3516
|
var getRemoteClientChatBubbleConfig = function getRemoteClientChatBubbleConfig(params) {
|
3500
3517
|
try {
|
@@ -3517,64 +3534,49 @@ var getRemoteClientChatBubbleConfig = function getRemoteClientChatBubbleConfig(p
|
|
3517
3534
|
return Promise.reject(e);
|
3518
3535
|
}
|
3519
3536
|
};
|
3537
|
+
var handleRetries = function handleRetries(data, attempt) {
|
3538
|
+
try {
|
3539
|
+
var maxAttempts = 30;
|
3540
|
+
var delay = 10000;
|
3541
|
+
if (attempt >= maxAttempts) {
|
3542
|
+
return Promise.resolve("Sorry this is taking longer than usual. Please try again later");
|
3543
|
+
}
|
3544
|
+
return Promise.resolve(new Promise(function (resolve) {
|
3545
|
+
return setTimeout(resolve, delay);
|
3546
|
+
})).then(function () {
|
3547
|
+
return _catch(function () {
|
3548
|
+
return Promise.resolve(askTimedOutBiBot(_extends({}, data, {
|
3549
|
+
tries: attempt + 1
|
3550
|
+
}))).then(function (message) {
|
3551
|
+
if (message === defaultSlacker) {
|
3552
|
+
return Promise.resolve(handleRetries(data, attempt + 1));
|
3553
|
+
} else {
|
3554
|
+
return message;
|
3555
|
+
}
|
3556
|
+
});
|
3557
|
+
}, function (error) {
|
3558
|
+
return error.message;
|
3559
|
+
});
|
3560
|
+
});
|
3561
|
+
} catch (e) {
|
3562
|
+
return Promise.reject(e);
|
3563
|
+
}
|
3564
|
+
};
|
3520
3565
|
var askBiBot = function askBiBot(data) {
|
3521
3566
|
try {
|
3522
3567
|
return Promise.resolve(_catch(function () {
|
3523
3568
|
var path = "" + domain.inference + resources.q;
|
3524
3569
|
return Promise.resolve(pluginAxiosInstance.post(path, data)).then(function (response) {
|
3525
3570
|
if (response.data.message === defaultSlacker) {
|
3526
|
-
return
|
3527
|
-
return Promise.resolve(new Promise(function (resolve) {
|
3528
|
-
return setTimeout(resolve, 6000);
|
3529
|
-
})).then(function () {
|
3530
|
-
return Promise.resolve(askTimedOutBiBot(_extends({}, data, {
|
3531
|
-
tries: 2
|
3532
|
-
})));
|
3533
|
-
});
|
3534
|
-
}, function (error2) {
|
3535
|
-
if (error2.code === 'ECONNABORTED' || error2.message.includes('Endpoint request timed out')) {
|
3536
|
-
return _catch(function () {
|
3537
|
-
return Promise.resolve(new Promise(function (resolve) {
|
3538
|
-
return setTimeout(resolve, 6000);
|
3539
|
-
})).then(function () {
|
3540
|
-
return Promise.resolve(askTimedOutBiBot(_extends({}, data, {
|
3541
|
-
tries: 3
|
3542
|
-
})));
|
3543
|
-
});
|
3544
|
-
}, function (error3) {
|
3545
|
-
return error3.message;
|
3546
|
-
});
|
3547
|
-
} else {
|
3548
|
-
return error2.message;
|
3549
|
-
}
|
3550
|
-
});
|
3571
|
+
return Promise.resolve(handleRetries(data, 1));
|
3551
3572
|
} else {
|
3552
3573
|
return response.data.message;
|
3553
3574
|
}
|
3554
3575
|
});
|
3555
3576
|
}, function (error1) {
|
3577
|
+
console.log('This is the error1 from the endpoint on the 1st try:', error1);
|
3556
3578
|
console.log(error1.message);
|
3557
|
-
|
3558
|
-
return _catch(function () {
|
3559
|
-
return Promise.resolve(askTimedOutBiBot(_extends({}, data, {
|
3560
|
-
tries: 2
|
3561
|
-
})));
|
3562
|
-
}, function (error2) {
|
3563
|
-
if (error2.code === 'ECONNABORTED' || error2.message.includes('Endpoint request timed out')) {
|
3564
|
-
return _catch(function () {
|
3565
|
-
return Promise.resolve(askTimedOutBiBot(_extends({}, data, {
|
3566
|
-
tries: 3
|
3567
|
-
})));
|
3568
|
-
}, function (error3) {
|
3569
|
-
return error3.message;
|
3570
|
-
});
|
3571
|
-
} else {
|
3572
|
-
return error2.message;
|
3573
|
-
}
|
3574
|
-
});
|
3575
|
-
} else {
|
3576
|
-
return error1.message;
|
3577
|
-
}
|
3579
|
+
return error1.message;
|
3578
3580
|
}));
|
3579
3581
|
} catch (e) {
|
3580
3582
|
return Promise.reject(e);
|
@@ -3596,27 +3598,28 @@ var askTimedOutBiBot = function askTimedOutBiBot(data) {
|
|
3596
3598
|
return Promise.reject(e);
|
3597
3599
|
}
|
3598
3600
|
};
|
3599
|
-
var defaultSlacker = "
|
3601
|
+
var defaultSlacker = "BiBot_Retry_Later";
|
3600
3602
|
var pluginAxiosInstance = createPluginAxiosInstance();
|
3601
3603
|
|
3602
3604
|
var useBiBotChatBot = function useBiBotChatBot(_ref) {
|
3603
3605
|
var sendInputInquiry = function sendInputInquiry() {
|
3604
3606
|
try {
|
3605
3607
|
setIsLoading(true);
|
3608
|
+
var input = userInput.trim();
|
3606
3609
|
setUserInput('');
|
3607
3610
|
return Promise.resolve(_finallyRethrows(function () {
|
3608
3611
|
return _catch(function () {
|
3609
3612
|
var _temp2 = function () {
|
3610
|
-
if (
|
3613
|
+
if (input) {
|
3611
3614
|
setMessages(function (messages) {
|
3612
3615
|
return [].concat(messages, [{
|
3613
3616
|
sender: 'user',
|
3614
|
-
text:
|
3617
|
+
text: input
|
3615
3618
|
}]);
|
3616
3619
|
});
|
3617
3620
|
return Promise.resolve(askBiBot({
|
3618
3621
|
client_id: clientId,
|
3619
|
-
q:
|
3622
|
+
q: input,
|
3620
3623
|
session_id: state.sessionId,
|
3621
3624
|
chat_id: v4()
|
3622
3625
|
})).then(function (response) {
|
@@ -3632,7 +3635,7 @@ var useBiBotChatBot = function useBiBotChatBot(_ref) {
|
|
3632
3635
|
if (_temp2 && _temp2.then) return _temp2.then(function () {});
|
3633
3636
|
}, function (error) {
|
3634
3637
|
var _error$message;
|
3635
|
-
|
3638
|
+
console.error((_error$message = error === null || error === void 0 ? void 0 : error.message) != null ? _error$message : 'Failed to get response from server');
|
3636
3639
|
});
|
3637
3640
|
}, function (_wasThrown, _result) {
|
3638
3641
|
setIsLoading(false);
|
@@ -3643,6 +3646,33 @@ var useBiBotChatBot = function useBiBotChatBot(_ref) {
|
|
3643
3646
|
return Promise.reject(e);
|
3644
3647
|
}
|
3645
3648
|
};
|
3649
|
+
var askPredefinedQuestion = function askPredefinedQuestion(question) {
|
3650
|
+
try {
|
3651
|
+
setIsLoading(true);
|
3652
|
+
var input = question.question.trim();
|
3653
|
+
setUserInput('');
|
3654
|
+
if (input === question.question) {
|
3655
|
+
setMessages(function (messages) {
|
3656
|
+
return [].concat(messages, [{
|
3657
|
+
sender: 'user',
|
3658
|
+
text: input
|
3659
|
+
}]);
|
3660
|
+
});
|
3661
|
+
setTimeout(function () {
|
3662
|
+
setMessages(function (messages) {
|
3663
|
+
return [].concat(messages, [{
|
3664
|
+
sender: 'bot',
|
3665
|
+
text: question.answer
|
3666
|
+
}]);
|
3667
|
+
});
|
3668
|
+
setIsLoading(false);
|
3669
|
+
}, 1000);
|
3670
|
+
}
|
3671
|
+
return Promise.resolve();
|
3672
|
+
} catch (e) {
|
3673
|
+
return Promise.reject(e);
|
3674
|
+
}
|
3675
|
+
};
|
3646
3676
|
var clientId = _ref.clientId;
|
3647
3677
|
var _useState = useState([]),
|
3648
3678
|
predefinedQuestions = _useState[0],
|
@@ -3669,9 +3699,10 @@ var useBiBotChatBot = function useBiBotChatBot(_ref) {
|
|
3669
3699
|
chatBubbleConfig = _useState7[0],
|
3670
3700
|
setChatBubbleConfig = _useState7[1];
|
3671
3701
|
var handlePredefinedQuestionSelect = function handlePredefinedQuestionSelect(question) {
|
3672
|
-
setUserInput(question);
|
3673
3702
|
sendInputInquiry();
|
3674
|
-
|
3703
|
+
askPredefinedQuestion(question);
|
3704
|
+
setUserInput('');
|
3705
|
+
setShowPredefinedQuestions(true);
|
3675
3706
|
};
|
3676
3707
|
var getChatBubbleConfig = useCallback(function () {
|
3677
3708
|
try {
|
@@ -3907,38 +3938,61 @@ var useOnlineStatus = function useOnlineStatus() {
|
|
3907
3938
|
|
3908
3939
|
var PredefinedQuestions = function PredefinedQuestions(_ref) {
|
3909
3940
|
var questions = _ref.questions,
|
3910
|
-
onSelect = _ref.onSelect
|
3941
|
+
onSelect = _ref.onSelect,
|
3942
|
+
clientId = _ref.clientId;
|
3943
|
+
var _useBiBotChatBot = useBiBotChatBot({
|
3944
|
+
clientId: clientId
|
3945
|
+
}),
|
3946
|
+
chatBubbleConfig = _useBiBotChatBot.chatBubbleConfig;
|
3911
3947
|
return createElement("div", {
|
3912
|
-
className: styles['predefined-questions']
|
3948
|
+
className: styles['predefined-questions'],
|
3949
|
+
style: {
|
3950
|
+
height: '50%',
|
3951
|
+
color: '#000'
|
3952
|
+
}
|
3913
3953
|
}, questions.map(function (question, index) {
|
3954
|
+
var _chatBubbleConfig$col;
|
3914
3955
|
return createElement("div", {
|
3915
3956
|
key: index,
|
3916
3957
|
className: styles['predefined-questions'],
|
3958
|
+
style: {
|
3959
|
+
backgroundColor: '#fff',
|
3960
|
+
border: "0.5px solid " + (chatBubbleConfig ? (_chatBubbleConfig$col = chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color) != null ? _chatBubbleConfig$col : '#dedede' : '#000'),
|
3961
|
+
fontSize: 16,
|
3962
|
+
margin: 5,
|
3963
|
+
textAlign: 'start',
|
3964
|
+
height: 20,
|
3965
|
+
padding: 10,
|
3966
|
+
display: 'flex',
|
3967
|
+
alignItems: 'center',
|
3968
|
+
borderRadius: 6,
|
3969
|
+
cursor: 'pointer'
|
3970
|
+
},
|
3917
3971
|
onClick: function onClick() {
|
3918
|
-
|
3972
|
+
onSelect(question);
|
3919
3973
|
}
|
3920
|
-
}, question);
|
3974
|
+
}, question.question);
|
3921
3975
|
}));
|
3922
3976
|
};
|
3923
3977
|
var ChatBubbleBiBot = function ChatBubbleBiBot(_ref2) {
|
3924
|
-
var _chatBubbleConfig$
|
3978
|
+
var _chatBubbleConfig$col2, _chatBubbleConfig$col3;
|
3925
3979
|
var clientId = _ref2.clientId;
|
3926
|
-
var
|
3980
|
+
var _useBiBotChatBot2 = useBiBotChatBot({
|
3927
3981
|
clientId: clientId
|
3928
3982
|
}),
|
3929
|
-
chatIsOpen =
|
3930
|
-
messages =
|
3931
|
-
isLoading =
|
3932
|
-
messageEndRef =
|
3933
|
-
userInput =
|
3934
|
-
handleUserInput =
|
3935
|
-
handleKeyPress =
|
3936
|
-
sendInputInquiry =
|
3937
|
-
toggleChat =
|
3938
|
-
chatBubbleConfig =
|
3939
|
-
showPredefinedQuestions =
|
3940
|
-
predefinedQuestions =
|
3941
|
-
handlePredefinedQuestionSelect =
|
3983
|
+
chatIsOpen = _useBiBotChatBot2.chatIsOpen,
|
3984
|
+
messages = _useBiBotChatBot2.messages,
|
3985
|
+
isLoading = _useBiBotChatBot2.isLoading,
|
3986
|
+
messageEndRef = _useBiBotChatBot2.messageEndRef,
|
3987
|
+
userInput = _useBiBotChatBot2.userInput,
|
3988
|
+
handleUserInput = _useBiBotChatBot2.handleUserInput,
|
3989
|
+
handleKeyPress = _useBiBotChatBot2.handleKeyPress,
|
3990
|
+
sendInputInquiry = _useBiBotChatBot2.sendInputInquiry,
|
3991
|
+
toggleChat = _useBiBotChatBot2.toggleChat,
|
3992
|
+
chatBubbleConfig = _useBiBotChatBot2.chatBubbleConfig,
|
3993
|
+
showPredefinedQuestions = _useBiBotChatBot2.showPredefinedQuestions,
|
3994
|
+
predefinedQuestions = _useBiBotChatBot2.predefinedQuestions,
|
3995
|
+
handlePredefinedQuestionSelect = _useBiBotChatBot2.handlePredefinedQuestionSelect;
|
3942
3996
|
var isOnline = useOnlineStatus();
|
3943
3997
|
return createElement("div", {
|
3944
3998
|
className: "chat-bubble " + (chatIsOpen ? 'open' : ''),
|
@@ -3965,7 +4019,7 @@ var ChatBubbleBiBot = function ChatBubbleBiBot(_ref2) {
|
|
3965
4019
|
}, createElement("div", {
|
3966
4020
|
className: styles['chat-header'],
|
3967
4021
|
style: {
|
3968
|
-
backgroundColor: (_chatBubbleConfig$
|
4022
|
+
backgroundColor: (_chatBubbleConfig$col2 = chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color) != null ? _chatBubbleConfig$col2 : '#dedede',
|
3969
4023
|
height: 50,
|
3970
4024
|
borderTopLeftRadius: 8,
|
3971
4025
|
borderTopRightRadius: 8,
|
@@ -4062,8 +4116,9 @@ var ChatBubbleBiBot = function ChatBubbleBiBot(_ref2) {
|
|
4062
4116
|
}
|
4063
4117
|
}, message.text));
|
4064
4118
|
}), showPredefinedQuestions && predefinedQuestions && predefinedQuestions.length > 0 && createElement(PredefinedQuestions, {
|
4065
|
-
questions: predefinedQuestions,
|
4066
|
-
onSelect: handlePredefinedQuestionSelect
|
4119
|
+
questions: predefinedQuestions.slice(0, 5),
|
4120
|
+
onSelect: handlePredefinedQuestionSelect,
|
4121
|
+
clientId: clientId
|
4067
4122
|
}), isLoading && createElement("div", {
|
4068
4123
|
style: {
|
4069
4124
|
marginLeft: '20px'
|
@@ -4108,14 +4163,16 @@ var ChatBubbleBiBot = function ChatBubbleBiBot(_ref2) {
|
|
4108
4163
|
border: 'none',
|
4109
4164
|
cursor: 'pointer'
|
4110
4165
|
},
|
4111
|
-
onClick:
|
4166
|
+
onClick: function onClick() {
|
4167
|
+
return sendInputInquiry();
|
4168
|
+
}
|
4112
4169
|
}, createElement(SendMessageIcon, {
|
4113
4170
|
color: isLoading ? '#fff' : chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color
|
4114
4171
|
})))), createElement("button", {
|
4115
4172
|
onClick: toggleChat,
|
4116
4173
|
className: styles['chat-toggle'],
|
4117
4174
|
style: {
|
4118
|
-
backgroundColor: (_chatBubbleConfig$
|
4175
|
+
backgroundColor: (_chatBubbleConfig$col3 = chatBubbleConfig === null || chatBubbleConfig === void 0 ? void 0 : chatBubbleConfig.color) != null ? _chatBubbleConfig$col3 : '#dedede',
|
4119
4176
|
color: '#fff',
|
4120
4177
|
borderRadius: '50%',
|
4121
4178
|
cursor: 'pointer',
|