quickblox-react-ui-kit 0.2.3 → 0.2.5
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/README.md +3 -2
- package/dist/CommonTypes/FunctionResult.d.ts +5 -1
- package/dist/Data/DefaultConfigurations.d.ts +2 -2
- package/dist/Data/repository/DialogsRepository.d.ts +1 -0
- package/dist/Data/repository/EventMessagesRepository.d.ts +1 -0
- package/dist/Data/repository/MessagesRepository.d.ts +2 -2
- package/dist/Domain/entity/NotificationTypes.d.ts +1 -0
- package/dist/Domain/repository/IDialogsRepository.d.ts +1 -0
- package/dist/Domain/repository/IMessagesRepository.d.ts +2 -2
- package/dist/Domain/use_cases/CreateDialogUseCase.d.ts +2 -1
- package/dist/Domain/use_cases/LeaveDialogUseCase.d.ts +2 -1
- package/dist/Domain/use_cases/RemoveUsersFromTheDialogUseCase.d.ts +2 -1
- package/dist/Domain/use_cases/SubscribeToDialogEventsUseCase.d.ts +1 -0
- package/dist/Domain/use_cases/UpdateDialogUseCase.d.ts +2 -1
- package/dist/Domain/use_cases/ai/AIAnswerAssistUseCase.d.ts +13 -0
- package/dist/Domain/use_cases/ai/AIAnswerAssistWithProxyUseCase.d.ts +13 -0
- package/dist/Domain/use_cases/ai/AITranslateUseCase.d.ts +14 -0
- package/dist/Domain/use_cases/ai/AITranslateWithProxyUseCase.d.ts +14 -0
- package/dist/Presentation/Views/Base/BaseViewModel.d.ts +3 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget.d.ts +4 -1
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidgetActions/AIWidgetActions.d.ts +3 -2
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone.d.ts +5 -13
- package/dist/Presentation/components/UI/Dialogs/MessagesView/DefaultAttachmentComponent/DefaultAttachmentComponent.d.ts +8 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/ErrorToast/ErrorToast.d.ts +7 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/AvatarContentIncomingUser/AvatarContentIncomingUser.d.ts +3 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.d.ts +12 -3
- package/dist/Presentation/components/UI/Dialogs/MessagesView/MessagesView.d.ts +10 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/MessagesViewModel.d.ts +2 -2
- package/dist/Presentation/components/UI/Dialogs/MessagesView/SystemDateBanner/SystemDateBanner.d.ts +7 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/SystemMessageBanner/SystemMessageBanner.d.ts +7 -0
- package/dist/Presentation/components/UI/Dialogs/PreviewDialog/PreviewAudioFile/PreviewAudioFile.d.ts +7 -0
- package/dist/Presentation/components/UI/Dialogs/PreviewDialog/PreviewDefaultFile/PreviewDefaultFile.d.ts +7 -0
- package/dist/Presentation/components/UI/Dialogs/PreviewDialog/PreviewImageFile/PreviewImageFile.d.ts +8 -0
- package/dist/Presentation/components/UI/Dialogs/PreviewDialog/PreviewVideoFile/PreviewVideoFile.d.ts +7 -0
- package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/BotIcon/BotIcon.d.ts +4 -0
- package/dist/QBconfig.d.ts +14 -3
- package/dist/index-ui.d.ts +5 -1
- package/dist/index-ui.js +410 -61
- package/dist/utils/utils.d.ts +9 -0
- package/global.d.ts +12 -4
- package/package.json +5 -1
- package/src/App.tsx +1 -1
- package/src/CommonTypes/FunctionResult.ts +6 -1
- package/src/Data/DefaultConfigurations.ts +155 -19
- package/src/Data/repository/DialogsRepository.ts +4 -0
- package/src/Data/repository/EventMessagesRepository.ts +34 -0
- package/src/Data/repository/MessagesRepository.ts +16 -10
- package/src/Data/source/exception/MapperDTOException.ts +3 -0
- package/src/Data/source/remote/RemoteDataSource.ts +134 -112
- package/src/Domain/entity/NotificationTypes.ts +2 -0
- package/src/Domain/repository/IDialogsRepository.ts +2 -0
- package/src/Domain/repository/IMessagesRepository.ts +2 -2
- package/src/Domain/use_cases/CreateDialogUseCase.ts +8 -1
- package/src/Domain/use_cases/GetAllDialogsUseCaseWithMock.ts +1 -0
- package/src/Domain/use_cases/LeaveDialogUseCase.ts +8 -1
- package/src/Domain/use_cases/RemoveUsersFromTheDialogUseCase.ts +40 -17
- package/src/Domain/use_cases/SendTextMessageUseCase.ts +3 -2
- package/src/Domain/use_cases/SubscribeToDialogEventsUseCase.ts +21 -0
- package/src/Domain/use_cases/UpdateDialogUseCase.ts +8 -1
- package/src/Domain/use_cases/ai/AIAnswerAssistUseCase.ts +69 -0
- package/src/Domain/use_cases/ai/AIAnswerAssistWithProxyUseCase.ts +71 -0
- package/src/Domain/use_cases/ai/AIRephraseUseCase.ts +38 -36
- package/src/Domain/use_cases/ai/AIRephraseWithProxyUseCase.ts +25 -21
- package/src/Domain/use_cases/ai/AITranslateUseCase.ts +76 -0
- package/src/Domain/use_cases/ai/AITranslateWithProxyUseCase.ts +79 -0
- package/src/Domain/use_cases/base/Subscribable/SubscriptionPerformer.ts +7 -10
- package/src/Presentation/Views/Base/BaseViewModel.ts +3 -0
- package/src/Presentation/Views/Dialogs/Dialogs.scss +3 -0
- package/src/Presentation/Views/Dialogs/Dialogs.tsx +1 -1
- package/src/Presentation/Views/Dialogs/useDialogsViewModel.ts +109 -48
- package/src/Presentation/assets/styles/_variables.scss +19 -0
- package/src/Presentation/components/UI/Buttons/MainButton/MainButton.scss +9 -0
- package/src/Presentation/components/UI/Dialogs/EditDialog/EditDialog.scss +3 -0
- package/src/Presentation/components/UI/Dialogs/InviteMembers/InviteMembers.scss +3 -0
- package/src/Presentation/components/UI/Dialogs/MembersList/MembersList.scss +3 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget.ts +7 -2
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidgetActions/AIWidgetActions.tsx +10 -4
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone.ts +29 -15
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.tsx +10 -6
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.tsx +10 -6
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.tsx +17 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidgetWithProxy.tsx +16 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.tsx +13 -12
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidgetWithProxy.tsx +13 -12
- package/src/Presentation/components/UI/Dialogs/MessagesView/AudioAttachmentComponent/AudioAttachmentComponent.tsx +1 -1
- package/src/Presentation/components/UI/Dialogs/MessagesView/DefaultAttachmentComponent/DefaultAttachmentComponent.scss +76 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/DefaultAttachmentComponent/DefaultAttachmentComponent.tsx +40 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/ErrorToast/ErrorToast.scss +26 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/ErrorToast/ErrorToast.tsx +25 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/ImageAttachmentComponent/ImageAttachmentComponent.tsx +8 -6
- package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/AvatarContentIncomingUser/AvatarContentIncomingUser.tsx +6 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.scss +5 -7
- package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.tsx +138 -405
- package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.scss +14 -26
- package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.tsx +658 -429
- package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesViewModel.ts +2 -2
- package/src/Presentation/components/UI/Dialogs/MessagesView/OutGoingMessage/OutGoingMessage.tsx +1 -1
- package/src/Presentation/components/UI/Dialogs/MessagesView/SystemDateBanner/SystemDateBanner.scss +23 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/SystemDateBanner/SystemDateBanner.tsx +17 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/SystemMessageBanner/SystemMessageBanner.scss +21 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/SystemMessageBanner/SystemMessageBanner.tsx +17 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/useMessagesViewModel.ts +124 -83
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewAudioFile/PreviewAudioFile.scss +62 -0
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewAudioFile/PreviewAudioFile.tsx +25 -0
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewDefaultFile/PreviewDefaultFile.scss +61 -0
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewDefaultFile/PreviewDefaultFile.tsx +32 -0
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewDialog.scss +29 -3
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewDialog.tsx +55 -4
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewImageFile/PreviewImageFile.scss +40 -0
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewImageFile/PreviewImageFile.tsx +26 -0
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewVideoFile/PreviewVideoFile.scss +62 -0
- package/src/Presentation/components/UI/Dialogs/PreviewDialog/PreviewVideoFile/PreviewVideoFile.tsx +25 -0
- package/src/Presentation/components/UI/svgs/Icons/AIWidgets/BotIcon/BotIcon.svg +5 -0
- package/src/Presentation/components/UI/svgs/Icons/AIWidgets/BotIcon/BotIcon.tsx +50 -0
- package/src/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.tsx +3 -15
- package/src/Presentation/components/providers/QuickBloxUIKitProvider/useQbInitializedDataContext.ts +15 -14
- package/src/QBconfig.ts +156 -10
- package/src/index-ui.ts +8 -1
- package/src/index.scss +0 -1
- package/src/package_artan_react_ui.json +13 -9
- package/src/package_original.json +5 -1
- package/src/utils/utils.ts +63 -0
- package/src/Presentation/assets/styles/_reset-styles.scss +0 -435
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// eslint-disable-next-line import/extensions
|
|
2
|
+
import { QBAIAnswerAssistant } from 'qb-ai-answer-assistant';
|
|
3
|
+
import { IChatMessage } from '../../../Data/source/AISource';
|
|
4
|
+
import { IUseCase } from '../base/IUseCase';
|
|
5
|
+
|
|
6
|
+
export class AIAnswerAssistWithProxyUseCase implements IUseCase<void, string> {
|
|
7
|
+
private textToSend: string;
|
|
8
|
+
|
|
9
|
+
private dialogMessages: IChatMessage[];
|
|
10
|
+
|
|
11
|
+
private servername: string;
|
|
12
|
+
|
|
13
|
+
private api: string;
|
|
14
|
+
|
|
15
|
+
private port: string;
|
|
16
|
+
|
|
17
|
+
private sessionToken: string;
|
|
18
|
+
|
|
19
|
+
private openAIModel: string;
|
|
20
|
+
|
|
21
|
+
constructor(
|
|
22
|
+
textToSend: string,
|
|
23
|
+
dialogMessages: IChatMessage[],
|
|
24
|
+
servername: string,
|
|
25
|
+
api: string,
|
|
26
|
+
port: string,
|
|
27
|
+
sessionToken: string,
|
|
28
|
+
openAIModel = 'gpt-3.5-turbo',
|
|
29
|
+
) {
|
|
30
|
+
console.log('CONSTRUCTOR AIRephraseUseCase');
|
|
31
|
+
this.api = api;
|
|
32
|
+
this.openAIModel = openAIModel;
|
|
33
|
+
this.port = port;
|
|
34
|
+
this.sessionToken = sessionToken;
|
|
35
|
+
this.textToSend = textToSend;
|
|
36
|
+
this.servername = servername;
|
|
37
|
+
this.dialogMessages = dialogMessages;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async execute(): Promise<string> {
|
|
41
|
+
console.log('execute AIRephraseUseCase');
|
|
42
|
+
|
|
43
|
+
const settings =
|
|
44
|
+
QBAIAnswerAssistant.createDefaultAIAnswerAssistantSettings();
|
|
45
|
+
|
|
46
|
+
settings.token = this.sessionToken;
|
|
47
|
+
// settings.organization = 'Quickblox';
|
|
48
|
+
settings.model = this.openAIModel;
|
|
49
|
+
settings.serverPath = `${this.servername}:${this.port}/${this.api}`;
|
|
50
|
+
|
|
51
|
+
return QBAIAnswerAssistant.createAnswer(
|
|
52
|
+
this.textToSend,
|
|
53
|
+
this.dialogMessages,
|
|
54
|
+
settings,
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
// const prompt = AIUtils.createAnswerAssistPrompt(this.textToSend);
|
|
58
|
+
//
|
|
59
|
+
// //
|
|
60
|
+
// return AISource.getDataWithProxyServer(
|
|
61
|
+
// prompt,
|
|
62
|
+
// // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
63
|
+
// this.dialogMessages,
|
|
64
|
+
// this.servername,
|
|
65
|
+
// this.api,
|
|
66
|
+
// this.port,
|
|
67
|
+
// this.sessionToken,
|
|
68
|
+
// this.openAIModel,
|
|
69
|
+
// );
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
// eslint-disable-next-line import/extensions
|
|
2
|
-
import {
|
|
2
|
+
import { QBAIRephrase } from 'qb-ai-rephrase';
|
|
3
|
+
import { IChatMessage } from '../../../Data/source/AISource';
|
|
3
4
|
import { IUseCase } from '../base/IUseCase';
|
|
4
|
-
import {
|
|
5
|
-
Tone,
|
|
6
|
-
toneToString,
|
|
7
|
-
} from '../../../Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone';
|
|
5
|
+
import { Tone } from '../../../Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone';
|
|
8
6
|
|
|
9
7
|
export class AIRephraseUseCase implements IUseCase<void, string> {
|
|
10
8
|
private textToSend: string;
|
|
@@ -47,41 +45,45 @@ export class AIRephraseUseCase implements IUseCase<void, string> {
|
|
|
47
45
|
async execute(): Promise<string> {
|
|
48
46
|
console.log('execute AIRephraseUseCase');
|
|
49
47
|
|
|
50
|
-
|
|
48
|
+
const settings = QBAIRephrase.createDefaultAIRephraseSettings();
|
|
51
49
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
this.textToSend
|
|
57
|
-
}"`;
|
|
58
|
-
}
|
|
59
|
-
//
|
|
50
|
+
settings.apiKey = this.sessionToken;
|
|
51
|
+
// settings.organization = 'Quickblox';
|
|
52
|
+
settings.model = this.openAIModel;
|
|
53
|
+
settings.tone = this.tone;
|
|
60
54
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// api,
|
|
67
|
-
// port,
|
|
68
|
-
// apiKeyOrSessionToken,
|
|
69
|
-
// ).then((data) => {
|
|
70
|
-
// setTextFromWidgetToContent(data);
|
|
71
|
-
//
|
|
72
|
-
// return data;
|
|
73
|
-
// });
|
|
55
|
+
return QBAIRephrase.rephrase(
|
|
56
|
+
this.textToSend,
|
|
57
|
+
this.dialogMessages,
|
|
58
|
+
settings,
|
|
59
|
+
);
|
|
74
60
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
61
|
+
/*
|
|
62
|
+
const settings: AITranslateSettings =
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
64
|
+
QBAITranslate.createDefaultAITranslateSettings();
|
|
65
|
+
|
|
66
|
+
settings.apiKey = this.sessionToken;
|
|
67
|
+
settings.language = this.language;
|
|
68
|
+
|
|
69
|
+
return QBAITranslate.translate(
|
|
70
|
+
this.textToSend,
|
|
79
71
|
this.dialogMessages,
|
|
80
|
-
|
|
81
|
-
this.api,
|
|
82
|
-
this.port,
|
|
83
|
-
this.sessionToken,
|
|
84
|
-
this.openAIModel,
|
|
72
|
+
settings,
|
|
85
73
|
);
|
|
74
|
+
*/
|
|
75
|
+
|
|
76
|
+
// const prompt = AIUtils.createRephrasePrompt(this.textToSend, this.tone);
|
|
77
|
+
//
|
|
78
|
+
// return AISource.getData(
|
|
79
|
+
// prompt,
|
|
80
|
+
// // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
81
|
+
// this.dialogMessages,
|
|
82
|
+
// this.servername,
|
|
83
|
+
// this.api,
|
|
84
|
+
// this.port,
|
|
85
|
+
// this.sessionToken,
|
|
86
|
+
// this.openAIModel,
|
|
87
|
+
// );
|
|
86
88
|
}
|
|
87
89
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
// eslint-disable-next-line import/extensions
|
|
2
|
-
import {
|
|
2
|
+
import { QBAIRephrase } from 'qb-ai-rephrase';
|
|
3
|
+
import { IChatMessage } from '../../../Data/source/AISource';
|
|
3
4
|
import { IUseCase } from '../base/IUseCase';
|
|
4
|
-
import {
|
|
5
|
-
Tone,
|
|
6
|
-
toneToString,
|
|
7
|
-
} from '../../../Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone';
|
|
5
|
+
import { Tone } from '../../../Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone';
|
|
8
6
|
|
|
9
7
|
export class AIRephraseWithProxyUseCase implements IUseCase<void, string> {
|
|
10
8
|
private textToSend: string;
|
|
@@ -47,25 +45,31 @@ export class AIRephraseWithProxyUseCase implements IUseCase<void, string> {
|
|
|
47
45
|
async execute(): Promise<string> {
|
|
48
46
|
console.log('execute AIRephraseUseCase');
|
|
49
47
|
|
|
50
|
-
|
|
48
|
+
const settings = QBAIRephrase.createDefaultAIRephraseSettings();
|
|
51
49
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}"`;
|
|
58
|
-
}
|
|
50
|
+
settings.token = this.sessionToken;
|
|
51
|
+
// settings.organization = 'Quickblox';
|
|
52
|
+
settings.model = this.openAIModel;
|
|
53
|
+
settings.tone = this.tone;
|
|
54
|
+
settings.serverPath = `${this.servername}:${this.port}/${this.api}`;
|
|
59
55
|
|
|
60
|
-
return
|
|
61
|
-
|
|
62
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
56
|
+
return QBAIRephrase.rephrase(
|
|
57
|
+
this.textToSend,
|
|
63
58
|
this.dialogMessages,
|
|
64
|
-
|
|
65
|
-
this.api,
|
|
66
|
-
this.port,
|
|
67
|
-
this.sessionToken,
|
|
68
|
-
this.openAIModel,
|
|
59
|
+
settings,
|
|
69
60
|
);
|
|
61
|
+
|
|
62
|
+
// const prompt = AIUtils.createRephrasePrompt(this.textToSend, this.tone);
|
|
63
|
+
//
|
|
64
|
+
// return AISource.getDataWithProxyServer(
|
|
65
|
+
// prompt,
|
|
66
|
+
// // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
67
|
+
// this.dialogMessages,
|
|
68
|
+
// this.servername,
|
|
69
|
+
// this.api,
|
|
70
|
+
// this.port,
|
|
71
|
+
// this.sessionToken,
|
|
72
|
+
// this.openAIModel,
|
|
73
|
+
// );
|
|
70
74
|
}
|
|
71
75
|
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { AITranslateSettings, QBAITranslate } from 'qb-ai-translate';
|
|
2
|
+
import { IChatMessage } from '../../../Data/source/AISource';
|
|
3
|
+
import { IUseCase } from '../base/IUseCase';
|
|
4
|
+
|
|
5
|
+
export class AITranslateUseCase implements IUseCase<void, string> {
|
|
6
|
+
private textToSend: string;
|
|
7
|
+
|
|
8
|
+
private language: string;
|
|
9
|
+
|
|
10
|
+
private dialogMessages: IChatMessage[];
|
|
11
|
+
|
|
12
|
+
private servername: string;
|
|
13
|
+
|
|
14
|
+
private api: string;
|
|
15
|
+
|
|
16
|
+
private port: string;
|
|
17
|
+
|
|
18
|
+
private sessionToken: string;
|
|
19
|
+
|
|
20
|
+
private openAIModel: string;
|
|
21
|
+
|
|
22
|
+
constructor(
|
|
23
|
+
textToSend: string,
|
|
24
|
+
language: string,
|
|
25
|
+
dialogMessages: IChatMessage[],
|
|
26
|
+
servername: string,
|
|
27
|
+
api: string,
|
|
28
|
+
port: string,
|
|
29
|
+
sessionToken: string,
|
|
30
|
+
openAIModel = 'gpt-3.5-turbo',
|
|
31
|
+
) {
|
|
32
|
+
console.log('CONSTRUCTOR AIRephraseUseCase');
|
|
33
|
+
this.api = api;
|
|
34
|
+
this.openAIModel = openAIModel;
|
|
35
|
+
this.port = port;
|
|
36
|
+
this.sessionToken = sessionToken;
|
|
37
|
+
this.textToSend = textToSend;
|
|
38
|
+
this.language = language;
|
|
39
|
+
this.servername = servername;
|
|
40
|
+
this.dialogMessages = dialogMessages;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async execute(): Promise<string> {
|
|
44
|
+
console.log('execute AIRephraseUseCase');
|
|
45
|
+
const settings: AITranslateSettings =
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
47
|
+
QBAITranslate.createDefaultAITranslateSettings();
|
|
48
|
+
|
|
49
|
+
settings.apiKey = this.sessionToken;
|
|
50
|
+
// settings.organization = 'Quickblox';
|
|
51
|
+
settings.model = this.openAIModel;
|
|
52
|
+
settings.language = this.language;
|
|
53
|
+
|
|
54
|
+
return QBAITranslate.translate(
|
|
55
|
+
this.textToSend,
|
|
56
|
+
this.dialogMessages,
|
|
57
|
+
settings,
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
// const prompt = AIUtils.createTranslatePrompt(
|
|
61
|
+
// this.textToSend,
|
|
62
|
+
// this.language,
|
|
63
|
+
// );
|
|
64
|
+
//
|
|
65
|
+
// return AISource.getData(
|
|
66
|
+
// prompt,
|
|
67
|
+
// // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
68
|
+
// this.dialogMessages,
|
|
69
|
+
// this.servername,
|
|
70
|
+
// this.api,
|
|
71
|
+
// this.port,
|
|
72
|
+
// this.sessionToken,
|
|
73
|
+
// this.openAIModel,
|
|
74
|
+
// );
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// eslint-disable-next-line import/extensions
|
|
2
|
+
import { AITranslateSettings, QBAITranslate } from 'qb-ai-translate';
|
|
3
|
+
import { IChatMessage } from '../../../Data/source/AISource';
|
|
4
|
+
import { IUseCase } from '../base/IUseCase';
|
|
5
|
+
|
|
6
|
+
export class AITranslateWithProxyUseCase implements IUseCase<void, string> {
|
|
7
|
+
private textToSend: string;
|
|
8
|
+
|
|
9
|
+
private language: string;
|
|
10
|
+
|
|
11
|
+
private dialogMessages: IChatMessage[];
|
|
12
|
+
|
|
13
|
+
private servername: string;
|
|
14
|
+
|
|
15
|
+
private api: string;
|
|
16
|
+
|
|
17
|
+
private port: string;
|
|
18
|
+
|
|
19
|
+
private sessionToken: string;
|
|
20
|
+
|
|
21
|
+
private openAIModel: string;
|
|
22
|
+
|
|
23
|
+
constructor(
|
|
24
|
+
textToSend: string,
|
|
25
|
+
language: string,
|
|
26
|
+
dialogMessages: IChatMessage[],
|
|
27
|
+
servername: string,
|
|
28
|
+
api: string,
|
|
29
|
+
port: string,
|
|
30
|
+
sessionToken: string,
|
|
31
|
+
openAIModel = 'gpt-3.5-turbo',
|
|
32
|
+
) {
|
|
33
|
+
console.log('CONSTRUCTOR AIRephraseUseCase');
|
|
34
|
+
this.api = api;
|
|
35
|
+
this.openAIModel = openAIModel;
|
|
36
|
+
this.port = port;
|
|
37
|
+
this.sessionToken = sessionToken;
|
|
38
|
+
this.textToSend = textToSend;
|
|
39
|
+
this.language = language;
|
|
40
|
+
this.servername = servername;
|
|
41
|
+
this.dialogMessages = dialogMessages;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async execute(): Promise<string> {
|
|
45
|
+
console.log('execute AIRephraseUseCase');
|
|
46
|
+
|
|
47
|
+
const settings: AITranslateSettings =
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
49
|
+
QBAITranslate.createDefaultAITranslateSettings();
|
|
50
|
+
|
|
51
|
+
settings.token = this.sessionToken;
|
|
52
|
+
// settings.organization = 'Quickblox';
|
|
53
|
+
settings.model = this.openAIModel;
|
|
54
|
+
settings.language = this.language;
|
|
55
|
+
settings.serverPath = `${this.servername}:${this.port}/${this.api}`;
|
|
56
|
+
|
|
57
|
+
return QBAITranslate.translate(
|
|
58
|
+
this.textToSend,
|
|
59
|
+
this.dialogMessages,
|
|
60
|
+
settings,
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// const prompt = AIUtils.createTranslatePrompt(
|
|
64
|
+
// this.textToSend,
|
|
65
|
+
// this.language,
|
|
66
|
+
// );
|
|
67
|
+
//
|
|
68
|
+
// return AISource.getDataWithProxyServer(
|
|
69
|
+
// prompt,
|
|
70
|
+
// // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
71
|
+
// this.dialogMessages,
|
|
72
|
+
// this.servername,
|
|
73
|
+
// this.api,
|
|
74
|
+
// this.port,
|
|
75
|
+
// this.sessionToken,
|
|
76
|
+
// this.openAIModel,
|
|
77
|
+
// );
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -35,20 +35,17 @@ export class SubscriptionPerformer<TArg> implements ISubscribable<TArg> {
|
|
|
35
35
|
|
|
36
36
|
protected EVENT_TYPE: string = EventMessageType.LocalMessage;
|
|
37
37
|
|
|
38
|
+
// eslint-disable-next-line class-methods-use-this
|
|
38
39
|
public release(): void {
|
|
39
|
-
|
|
40
|
-
const eventName = x[0];
|
|
41
|
-
|
|
42
|
-
this.onEventByTypeSubscribers[eventName][this.EVENT_NAME] = () => {
|
|
43
|
-
console.log('ERROR release event in SubscriptionPerformer');
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
return this.onEventByTypeSubscribers[eventName][this.EVENT_NAME];
|
|
47
|
-
});
|
|
40
|
+
console.log('SubscriptionPerformer release actions.');
|
|
48
41
|
// Object.entries(this.onEventByTypeSubscribers).map((x) => {
|
|
49
42
|
// const eventName = x[0];
|
|
50
43
|
//
|
|
51
|
-
//
|
|
44
|
+
// this.onEventByTypeSubscribers[eventName][this.EVENT_NAME] = () => {
|
|
45
|
+
// console.log('ERROR release event in SubscriptionPerformer');
|
|
46
|
+
// };
|
|
47
|
+
//
|
|
48
|
+
// return this.onEventByTypeSubscribers[eventName][this.EVENT_NAME];
|
|
52
49
|
// });
|
|
53
50
|
}
|
|
54
51
|
|
|
@@ -3,6 +3,7 @@ import { GroupDialogEntity } from '../../../Domain/entity/GroupDialogEntity';
|
|
|
3
3
|
import { DialogEntity } from '../../../Domain/entity/DialogEntity';
|
|
4
4
|
import { FileEntity } from '../../../Domain/entity/FileEntity';
|
|
5
5
|
import { IChatMessage } from '../../../Data/source/AISource';
|
|
6
|
+
import { Tone } from '../../components/UI/Dialogs/MessagesView/AIWidgets/Tone';
|
|
6
7
|
|
|
7
8
|
export default class BaseViewModel<TResult> {
|
|
8
9
|
get entity(): TResult {
|
|
@@ -52,6 +53,7 @@ export type EditDialogParams = {
|
|
|
52
53
|
};
|
|
53
54
|
|
|
54
55
|
export type FunctionTypeFileToToVoid = (file: File) => void;
|
|
56
|
+
export type FunctionTypeFileToToBoolean = (file: File) => Promise<boolean>;
|
|
55
57
|
export type FunctionTypePaginationToVoid = (pagination: Pagination) => void;
|
|
56
58
|
export type FunctionTypeVoidToVoid = () => void;
|
|
57
59
|
export type FunctionTypeStringToVoid = (value: string) => void;
|
|
@@ -86,3 +88,4 @@ export type FunctionTypeStringWithContextToString = (
|
|
|
86
88
|
context: IChatMessage[],
|
|
87
89
|
additionalSettings?: { [key: string]: any },
|
|
88
90
|
) => Promise<string>;
|
|
91
|
+
export type FunctionTypeVoidToTones = () => Tone[];
|
|
@@ -213,7 +213,7 @@ const DialogsComponent: React.FC<DialogsProps> = ({
|
|
|
213
213
|
) {
|
|
214
214
|
const imagePhoto = (currentDialog.entity as GroupDialogEntity).photo;
|
|
215
215
|
|
|
216
|
-
console.log('Dialogs: avatar: ', imagePhoto || 'NO FOTO');
|
|
216
|
+
// console.log('Dialogs: avatar: ', imagePhoto || 'NO FOTO');
|
|
217
217
|
AvatarComponent = imagePhoto ? (
|
|
218
218
|
<img
|
|
219
219
|
style={{ width: '55px', height: '55px', borderRadius: '50%' }}
|