diff --git a/package-lock.json b/package-lock.json index 50f8735..a159815 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "quickblox-react-ui-kit", - "version": "0.4.0-beta.1", + "version": "0.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "quickblox-react-ui-kit", - "version": "0.4.0-beta.1", + "version": "0.4.0", "license": "MIT", "dependencies": { "@types/node": "^16.18.6", @@ -17,7 +17,7 @@ "qb-ai-core": "^0.1.3", "qb-ai-rephrase": "^0.1.2", "qb-ai-translate": "^0.1.2", - "quickblox": "^2.17.0-beta.1", + "quickblox": "^2.17.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.11.1", @@ -25893,9 +25893,9 @@ } }, "node_modules/quickblox": { - "version": "2.17.0-beta.1", - "resolved": "https://registry.npmjs.org/quickblox/-/quickblox-2.17.0-beta.1.tgz", - "integrity": "sha512-7k6j+5naqQetQKDJr7PMeWWRmciRnScqGJde2iyO5MZgr6fqQzoqeUpaF1jYywvLzmbsRiu3Gd9KPyuEEQe10A==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/quickblox/-/quickblox-2.17.0.tgz", + "integrity": "sha512-XzABjTEQX9GNiwIuDiT8cM8TqFlT7HeWVPw4KxwHqBVAGnxAGj9itsBpc+tZuQMgQFtj+NeWCuna4xjw6vsgdA==", "dependencies": { "crypto-js": "3.1.2-2", "form-data": "^2.3.1", diff --git a/package.json b/package.json index 00d26cf..2861688 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "quickblox-react-ui-kit", - "version": "0.4.0-beta.1", + "version": "0.4.0", "main": "dist/index-ui.js", "license": "MIT", "dependencies": { @@ -12,7 +12,7 @@ "qb-ai-core": "^0.1.3", "qb-ai-rephrase": "^0.1.2", "qb-ai-translate": "^0.1.2", - "quickblox": "^2.17.0-beta.1", + "quickblox": "^2.17.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.11.1", diff --git a/src/Data/DefaultConfigurations.ts b/src/Data/DefaultConfigurations.ts index 3997aec..fbdf6c3 100644 --- a/src/Data/DefaultConfigurations.ts +++ b/src/Data/DefaultConfigurations.ts @@ -181,7 +181,7 @@ export class DefaultConfigurations { organizationName: 'Quickblox', openAIModel: 'gpt-3.5-turbo', smartChatAssistantId: '', - apiKey: '6633a1300fea600001bd6e71', + apiKey: '', maxTokens: 3584, useDefault: true, defaultTone: 'Professional', diff --git a/src/Data/source/remote/IRemoteDataSource.ts b/src/Data/source/remote/IRemoteDataSource.ts index ca79a33..e4885af 100644 --- a/src/Data/source/remote/IRemoteDataSource.ts +++ b/src/Data/source/remote/IRemoteDataSource.ts @@ -1,7 +1,4 @@ -import { ChatMessage } from 'qb-ai-core'; -import { AIAnswerAssistantSettings } from 'qb-ai-answer-assistant'; -import { AITranslateSettings } from 'qb-ai-translate'; -import {AIChatHistory, AIChatMessage} from 'quickblox'; +import { AIChatHistory, AIAnswerResponse } from 'quickblox'; import { RemoteDialogDTO } from '../../dto/dialog/RemoteDialogDTO'; import { RemoteDialogsDTO } from '../../dto/dialog/RemoteDialogsDTO'; import { RemoteUserDTO } from '../../dto/user/RemoteUserDTO'; @@ -12,7 +9,6 @@ import { RemoteFileDTO } from '../../dto/file/RemoteFileDTO'; import { Pagination } from '../../../Domain/repository/Pagination'; import { CallBackFunction } from '../../../Domain/use_cases/base/IUseCase'; import { NotificationTypes } from '../../../Domain/entity/NotificationTypes'; -import {AIAnswerResponse} from "../../../qb-api-calls"; // todo list of all actions - for what we need to create tests /* 0!!! не реализованы эксепшены для createDialog RemouteDataSource и diff --git a/src/Data/source/remote/RemoteDataSource.ts b/src/Data/source/remote/RemoteDataSource.ts index e1861f1..c35e6c1 100644 --- a/src/Data/source/remote/RemoteDataSource.ts +++ b/src/Data/source/remote/RemoteDataSource.ts @@ -15,6 +15,7 @@ import QB, { QBUser, QBMessageStatusParams, AIChatHistory, + AIAnswerResponse, } from 'quickblox/quickblox'; import { RemoteDialogDTO } from '../../dto/dialog/RemoteDialogDTO'; import { @@ -35,7 +36,6 @@ import { DialogDTOMapper } from './Mapper/DialogDTOMapper'; import { IDTOMapper } from './Mapper/IDTOMapper'; import { Stubs } from '../../Stubs'; import { - AIAnswerResponse, QBAnswerAssist, QBChatConnect, QBChatDisconnect, diff --git a/src/Domain/use_cases/ai/AIAnswerAssistWithSDKUseCase.ts b/src/Domain/use_cases/ai/AIAnswerAssistWithSDKUseCase.ts index 6043a38..d9e937d 100644 --- a/src/Domain/use_cases/ai/AIAnswerAssistWithSDKUseCase.ts +++ b/src/Domain/use_cases/ai/AIAnswerAssistWithSDKUseCase.ts @@ -1,13 +1,12 @@ // eslint-disable-next-line import/extensions -import { AIChatMessage, AIRole } from 'quickblox'; +import { AIAnswerResponse, AIChatMessage, AIRole } from 'quickblox'; import { IChatMessage } from '../../../Data/source/AISource'; import { IUseCase } from '../base/IUseCase'; import { IRemoteDataSource } from '../../../Data/source/remote/IRemoteDataSource'; -import { AIAnswerResponse } from '../../../qb-api-calls'; -interface AIChatMessageEx extends AIChatMessage { - content: string; -} +// interface AIChatMessageEx extends AIChatMessage { +// content: string; +// } // artik 19.05.2024 export class AIAnswerAssistWithSDKUseCase implements IUseCase { private textToSend: string; @@ -32,13 +31,12 @@ export class AIAnswerAssistWithSDKUseCase implements IUseCase { async execute(): Promise { console.log('execute AIAnswerAssistWithSDKUseCase'); - const history: AIChatMessageEx[] = this.dialogMessages.map( + const history: AIChatMessage[] = this.dialogMessages.map( (msg: IChatMessage) => { return { role: msg.role as AIRole, message: msg.content, - content: msg.content, - } as AIChatMessageEx; + } as AIChatMessage; }, ); const response: AIAnswerResponse = await this.dataSource.createAnswer( diff --git a/src/Domain/use_cases/ai/AITranslateWithSDKUseCase.ts b/src/Domain/use_cases/ai/AITranslateWithSDKUseCase.ts index 08e6360..fe43153 100644 --- a/src/Domain/use_cases/ai/AITranslateWithSDKUseCase.ts +++ b/src/Domain/use_cases/ai/AITranslateWithSDKUseCase.ts @@ -1,7 +1,7 @@ // eslint-disable-next-line import/extensions +import { AIAnswerResponse } from 'quickblox/quickblox'; import { IUseCase } from '../base/IUseCase'; import { IRemoteDataSource } from '../../../Data/source/remote/IRemoteDataSource'; -import { AIAnswerResponse } from '../../../qb-api-calls'; export class AITranslateWithSDKUseCase implements IUseCase { private languageCodes: { [key: string]: string } = { diff --git a/src/Presentation/Views/Dialog/AIWidgets/UseDefaultAIAssistAnswerWidgetWithSDK.tsx b/src/Presentation/Views/Dialog/AIWidgets/UseDefaultAIAssistAnswerWidgetWithSDK.tsx index c34fd30..13e95b4 100644 --- a/src/Presentation/Views/Dialog/AIWidgets/UseDefaultAIAssistAnswerWidgetWithSDK.tsx +++ b/src/Presentation/Views/Dialog/AIWidgets/UseDefaultAIAssistAnswerWidgetWithSDK.tsx @@ -48,11 +48,19 @@ export default function UseDefaultAIAssistAnswerWidgetWithSDK( ); // eslint-disable-next-line no-return-await - return await useCaseAIAnswerAssist.execute().then((data) => { - setTextFromWidgetToContent(data); + return await useCaseAIAnswerAssist + .execute() + .then((data) => { + setTextFromWidgetToContent(data); - return data; - }); + return data; + }) + .catch((reason) => { + console.log('SDK: ai answer assist error: ', reason); + setTextFromWidgetToContent(JSON.stringify(reason)); + + return reason; + }); } return ''; diff --git a/src/qb-api-calls/index.ts b/src/qb-api-calls/index.ts index 1e4cb19..4fd63e2 100644 --- a/src/qb-api-calls/index.ts +++ b/src/qb-api-calls/index.ts @@ -1,4 +1,5 @@ import QB, { + AIAnswerResponse, AIChatHistory, ChatConnectParams, GetMessagesResult, @@ -620,9 +621,9 @@ export function QBWebRTCSessionGetUserMedia( }); }); } -export interface AIAnswerResponse { - answer: string; -} +// export interface AIAnswerResponse { +// answer: string; +// } // artim 19.05.2024 export function QBAnswerAssist( smartChatAssistantId: string,