@neuralinnovations/dataisland-sdk 0.0.1-dev4 → 0.0.1-dev40
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/LICENSE +201 -0
- package/README.md +271 -36
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +103 -0
- package/dist/src/appBuilder.d.ts +44 -0
- package/dist/src/appBuilder.d.ts.map +1 -0
- package/dist/src/appBuilder.js +10 -0
- package/dist/src/appBuilder.js.map +1 -0
- package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
- package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
- package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
- package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
- package/dist/src/commands/startCommandHandler.d.ts +7 -0
- package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
- package/dist/src/commands/startCommandHandler.js +27 -0
- package/dist/src/commands/startCommandHandler.js.map +1 -0
- package/dist/src/context.d.ts +24 -0
- package/dist/src/context.d.ts.map +1 -0
- package/dist/src/context.js +31 -0
- package/dist/src/context.js.map +1 -0
- package/dist/src/credentials.d.ts +33 -0
- package/dist/src/credentials.d.ts.map +1 -0
- package/dist/src/credentials.js +87 -0
- package/dist/src/credentials.js.map +1 -0
- package/dist/src/dataIslandApp.d.ts +50 -0
- package/dist/src/dataIslandApp.d.ts.map +1 -0
- package/dist/src/dataIslandApp.js +10 -0
- package/dist/src/dataIslandApp.js.map +1 -0
- package/dist/src/disposable.d.ts +84 -0
- package/dist/src/disposable.d.ts.map +1 -0
- package/dist/src/disposable.js +147 -0
- package/dist/src/disposable.js.map +1 -0
- package/dist/src/dto/accessGroupResponse.d.ts +30 -0
- package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
- package/dist/src/dto/accessGroupResponse.js +3 -0
- package/dist/src/dto/accessGroupResponse.js.map +1 -0
- package/dist/src/dto/badRequestResponse.d.ts +6 -0
- package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
- package/dist/src/dto/badRequestResponse.js +3 -0
- package/dist/src/dto/badRequestResponse.js.map +1 -0
- package/dist/src/dto/chatResponse.d.ts +83 -0
- package/dist/src/dto/chatResponse.d.ts.map +1 -0
- package/dist/src/dto/chatResponse.js +45 -0
- package/dist/src/dto/chatResponse.js.map +1 -0
- package/dist/src/dto/limitsResponse.d.ts +29 -0
- package/dist/src/dto/limitsResponse.d.ts.map +1 -0
- package/dist/src/dto/limitsResponse.js +13 -0
- package/dist/src/dto/limitsResponse.js.map +1 -0
- package/dist/src/dto/statisticsResponse.d.ts +11 -0
- package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
- package/dist/src/dto/statisticsResponse.js +3 -0
- package/dist/src/dto/statisticsResponse.js.map +1 -0
- package/dist/src/dto/userInfoResponse.d.ts +88 -0
- package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
- package/dist/src/dto/userInfoResponse.js +3 -0
- package/dist/src/dto/userInfoResponse.js.map +1 -0
- package/dist/src/dto/workspacesResponse.d.ts +45 -0
- package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
- package/dist/src/dto/workspacesResponse.js +3 -0
- package/dist/src/dto/workspacesResponse.js.map +1 -0
- package/dist/src/events.d.ts +17 -0
- package/dist/src/events.d.ts.map +1 -0
- package/dist/src/events.js +52 -0
- package/dist/src/events.js.map +1 -0
- package/dist/src/index.d.ts +66 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +113 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal/app.impl.d.ts +28 -0
- package/dist/src/internal/app.impl.d.ts.map +1 -0
- package/dist/src/internal/app.impl.js +173 -0
- package/dist/src/internal/app.impl.js.map +1 -0
- package/dist/src/internal/appBuilder.impl.d.ts +27 -0
- package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
- package/dist/src/internal/appBuilder.impl.js +71 -0
- package/dist/src/internal/appBuilder.impl.js.map +1 -0
- package/dist/src/internal/createApp.impl.d.ts +4 -0
- package/dist/src/internal/createApp.impl.d.ts.map +1 -0
- package/dist/src/internal/createApp.impl.js +11 -0
- package/dist/src/internal/createApp.impl.js.map +1 -0
- package/dist/src/internal/registry.d.ts +66 -0
- package/dist/src/internal/registry.d.ts.map +1 -0
- package/dist/src/internal/registry.js +114 -0
- package/dist/src/internal/registry.js.map +1 -0
- package/dist/src/middleware.d.ts +6 -0
- package/dist/src/middleware.d.ts.map +1 -0
- package/dist/src/middleware.js +3 -0
- package/dist/src/middleware.js.map +1 -0
- package/dist/src/services/anonymousService.d.ts +8 -0
- package/dist/src/services/anonymousService.d.ts.map +1 -0
- package/dist/src/services/anonymousService.js +41 -0
- package/dist/src/services/anonymousService.js.map +1 -0
- package/dist/src/services/commandService.d.ts +18 -0
- package/dist/src/services/commandService.d.ts.map +1 -0
- package/dist/src/services/commandService.js +40 -0
- package/dist/src/services/commandService.js.map +1 -0
- package/dist/src/services/cookieService.d.ts +7 -0
- package/dist/src/services/cookieService.d.ts.map +1 -0
- package/dist/src/services/cookieService.js +18 -0
- package/dist/src/services/cookieService.js.map +1 -0
- package/dist/src/services/credentialService.d.ts +9 -0
- package/dist/src/services/credentialService.d.ts.map +1 -0
- package/dist/src/services/credentialService.js +26 -0
- package/dist/src/services/credentialService.js.map +1 -0
- package/dist/src/services/httpMethod.d.ts +2 -0
- package/dist/src/services/httpMethod.d.ts.map +1 -0
- package/dist/src/services/httpMethod.js +3 -0
- package/dist/src/services/httpMethod.js.map +1 -0
- package/dist/src/services/middlewareService.d.ts +10 -0
- package/dist/src/services/middlewareService.d.ts.map +1 -0
- package/dist/src/services/middlewareService.js +34 -0
- package/dist/src/services/middlewareService.js.map +1 -0
- package/dist/src/services/organizationService.d.ts +10 -0
- package/dist/src/services/organizationService.d.ts.map +1 -0
- package/dist/src/services/organizationService.js +19 -0
- package/dist/src/services/organizationService.js.map +1 -0
- package/dist/src/services/requestBuilder.d.ts +17 -0
- package/dist/src/services/requestBuilder.d.ts.map +1 -0
- package/dist/src/services/requestBuilder.js +105 -0
- package/dist/src/services/requestBuilder.js.map +1 -0
- package/dist/src/services/responseUtils.d.ts +8 -0
- package/dist/src/services/responseUtils.d.ts.map +1 -0
- package/dist/src/services/responseUtils.js +40 -0
- package/dist/src/services/responseUtils.js.map +1 -0
- package/dist/src/services/rpcService.d.ts +77 -0
- package/dist/src/services/rpcService.d.ts.map +1 -0
- package/dist/src/services/rpcService.js +125 -0
- package/dist/src/services/rpcService.js.map +1 -0
- package/dist/src/services/service.d.ts +21 -0
- package/dist/src/services/service.d.ts.map +1 -0
- package/dist/src/services/service.js +41 -0
- package/dist/src/services/service.js.map +1 -0
- package/dist/src/services/userProfileService.d.ts +9 -0
- package/dist/src/services/userProfileService.d.ts.map +1 -0
- package/dist/src/services/userProfileService.js +43 -0
- package/dist/src/services/userProfileService.js.map +1 -0
- package/dist/src/storages/chats/answer.d.ts +41 -0
- package/dist/src/storages/chats/answer.d.ts.map +1 -0
- package/dist/src/storages/chats/answer.impl.d.ts +29 -0
- package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/answer.impl.js +116 -0
- package/dist/src/storages/chats/answer.impl.js.map +1 -0
- package/dist/src/storages/chats/answer.js +15 -0
- package/dist/src/storages/chats/answer.js.map +1 -0
- package/dist/src/storages/chats/chat.d.ts +43 -0
- package/dist/src/storages/chats/chat.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.d.ts +25 -0
- package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.js +85 -0
- package/dist/src/storages/chats/chat.impl.js.map +1 -0
- package/dist/src/storages/chats/chat.js +12 -0
- package/dist/src/storages/chats/chat.js.map +1 -0
- package/dist/src/storages/chats/chats.d.ts +45 -0
- package/dist/src/storages/chats/chats.d.ts.map +1 -0
- package/dist/src/storages/chats/chats.impl.d.ts +19 -0
- package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/chats.impl.js +147 -0
- package/dist/src/storages/chats/chats.impl.js.map +1 -0
- package/dist/src/storages/chats/chats.js +16 -0
- package/dist/src/storages/chats/chats.js.map +1 -0
- package/dist/src/storages/files/file.d.ts +47 -0
- package/dist/src/storages/files/file.d.ts.map +1 -0
- package/dist/src/storages/files/file.impl.d.ts +25 -0
- package/dist/src/storages/files/file.impl.d.ts.map +1 -0
- package/dist/src/storages/files/file.impl.js +93 -0
- package/dist/src/storages/files/file.impl.js.map +1 -0
- package/dist/src/storages/files/file.js +17 -0
- package/dist/src/storages/files/file.js.map +1 -0
- package/dist/src/storages/files/files.d.ts +39 -0
- package/dist/src/storages/files/files.d.ts.map +1 -0
- package/dist/src/storages/files/files.impl.d.ts +24 -0
- package/dist/src/storages/files/files.impl.d.ts.map +1 -0
- package/dist/src/storages/files/files.impl.js +168 -0
- package/dist/src/storages/files/files.impl.js.map +1 -0
- package/dist/src/storages/files/files.js +20 -0
- package/dist/src/storages/files/files.js.map +1 -0
- package/dist/src/storages/files/filesPage.d.ts +28 -0
- package/dist/src/storages/files/filesPage.d.ts.map +1 -0
- package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
- package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
- package/dist/src/storages/files/filesPage.impl.js +38 -0
- package/dist/src/storages/files/filesPage.impl.js.map +1 -0
- package/dist/src/storages/files/filesPage.js +10 -0
- package/dist/src/storages/files/filesPage.js.map +1 -0
- package/dist/src/storages/groups/group.d.ts +63 -0
- package/dist/src/storages/groups/group.d.ts.map +1 -0
- package/dist/src/storages/groups/group.impl.d.ts +38 -0
- package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
- package/dist/src/storages/groups/group.impl.js +210 -0
- package/dist/src/storages/groups/group.impl.js.map +1 -0
- package/dist/src/storages/groups/group.js +15 -0
- package/dist/src/storages/groups/group.js.map +1 -0
- package/dist/src/storages/groups/groups.d.ts +39 -0
- package/dist/src/storages/groups/groups.d.ts.map +1 -0
- package/dist/src/storages/groups/groups.impl.d.ts +30 -0
- package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
- package/dist/src/storages/groups/groups.impl.js +132 -0
- package/dist/src/storages/groups/groups.impl.js.map +1 -0
- package/dist/src/storages/groups/groups.js +20 -0
- package/dist/src/storages/groups/groups.js.map +1 -0
- package/dist/src/storages/organizations/organization.d.ts +95 -0
- package/dist/src/storages/organizations/organization.d.ts.map +1 -0
- package/dist/src/storages/organizations/organization.impl.d.ts +42 -0
- package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
- package/dist/src/storages/organizations/organization.impl.js +240 -0
- package/dist/src/storages/organizations/organization.impl.js.map +1 -0
- package/dist/src/storages/organizations/organization.js +18 -0
- package/dist/src/storages/organizations/organization.js.map +1 -0
- package/dist/src/storages/organizations/organizations.d.ts +46 -0
- package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
- package/dist/src/storages/organizations/organizations.impl.d.ts +38 -0
- package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
- package/dist/src/storages/organizations/organizations.impl.js +158 -0
- package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
- package/dist/src/storages/organizations/organizations.js +20 -0
- package/dist/src/storages/organizations/organizations.js.map +1 -0
- package/dist/src/storages/user/userProfile.d.ts +54 -0
- package/dist/src/storages/user/userProfile.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.d.ts +21 -0
- package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.js +114 -0
- package/dist/src/storages/user/userProfile.impl.js.map +1 -0
- package/dist/src/storages/user/userProfile.js +12 -0
- package/dist/src/storages/user/userProfile.js.map +1 -0
- package/dist/src/storages/workspaces/workspace.d.ts +44 -0
- package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
- package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
- package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
- package/dist/src/storages/workspaces/workspace.impl.js +98 -0
- package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
- package/dist/src/storages/workspaces/workspace.js +18 -0
- package/dist/src/storages/workspaces/workspace.js.map +1 -0
- package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
- package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
- package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
- package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
- package/dist/src/storages/workspaces/workspaces.impl.js +152 -0
- package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
- package/dist/src/storages/workspaces/workspaces.js +19 -0
- package/dist/src/storages/workspaces/workspaces.js.map +1 -0
- package/dist/src/unitTest.d.ts +12 -0
- package/dist/src/unitTest.d.ts.map +1 -0
- package/dist/src/unitTest.js +44 -0
- package/dist/src/unitTest.js.map +1 -0
- package/dist/src/utils/browserUtils.d.ts +4 -0
- package/dist/src/utils/browserUtils.d.ts.map +1 -0
- package/dist/src/utils/browserUtils.js +64 -0
- package/dist/src/utils/browserUtils.js.map +1 -0
- package/dist/src/utils/request.d.ts +6 -0
- package/dist/src/utils/request.d.ts.map +1 -0
- package/dist/src/utils/request.js +3 -0
- package/dist/src/utils/request.js.map +1 -0
- package/dist/src/utils/utils.d.ts +3 -0
- package/dist/src/utils/utils.d.ts.map +1 -0
- package/dist/src/utils/utils.js +13 -0
- package/dist/src/utils/utils.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +46 -5
- package/src/commands/deleteUserFullCommandHandler.ts +19 -0
- package/src/commands/startCommandHandler.ts +16 -5
- package/src/context.ts +4 -2
- package/src/credentials.ts +22 -0
- package/src/{appSdk.ts → dataIslandApp.ts} +3 -3
- package/src/disposable.ts +18 -5
- package/src/dto/accessGroupResponse.ts +19 -16
- package/src/dto/badRequestResponse.ts +6 -0
- package/src/dto/chatResponse.ts +59 -54
- package/src/dto/limitsResponse.ts +33 -0
- package/src/dto/statisticsResponse.ts +12 -0
- package/src/dto/userInfoResponse.ts +59 -2
- package/src/dto/workspacesResponse.ts +5 -3
- package/src/index.ts +46 -24
- package/src/internal/app.impl.ts +42 -9
- package/src/internal/createApp.impl.ts +4 -4
- package/src/internal/registry.ts +54 -6
- package/src/middleware.ts +2 -0
- package/src/services/anonymousService.ts +43 -0
- package/src/services/commandService.ts +4 -2
- package/src/services/cookieService.ts +16 -0
- package/src/services/httpMethod.ts +1 -0
- package/src/services/middlewareService.ts +1 -0
- package/src/services/organizationService.ts +2 -2
- package/src/services/requestBuilder.ts +10 -8
- package/src/services/responseUtils.ts +12 -0
- package/src/services/rpcService.ts +1 -0
- package/src/services/userProfileService.ts +18 -4
- package/src/storages/chats/answer.impl.ts +160 -0
- package/src/storages/chats/answer.ts +53 -0
- package/src/storages/chats/chat.impl.ts +107 -0
- package/src/storages/chats/chat.ts +55 -0
- package/src/storages/chats/chats.impl.ts +204 -0
- package/src/storages/chats/chats.ts +53 -0
- package/src/storages/files/file.impl.ts +111 -0
- package/src/storages/files/file.ts +58 -0
- package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
- package/src/storages/{files.ts → files/files.ts} +14 -7
- package/src/storages/files/filesPage.impl.ts +37 -0
- package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
- package/src/storages/groups/group.impl.ts +276 -0
- package/src/storages/groups/group.ts +73 -0
- package/src/storages/groups/groups.impl.ts +175 -0
- package/src/storages/groups/groups.ts +45 -0
- package/src/storages/organizations/organization.impl.ts +357 -0
- package/src/storages/organizations/organization.ts +118 -0
- package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +31 -13
- package/src/storages/{organizations.ts → organizations/organizations.ts} +1 -1
- package/src/storages/user/userProfile.impl.ts +136 -0
- package/src/storages/user/userProfile.ts +69 -0
- package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
- package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
- package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +27 -32
- package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
- package/src/unitTest.ts +14 -3
- package/src/utils/browserUtils.ts +68 -0
- package/src/utils/request.ts +6 -0
- package/src/utils/utils.ts +8 -0
- package/.browserslistrc +0 -5
- package/.editorconfig +0 -25
- package/.eslintrc.json +0 -44
- package/.github/workflows/publish-npm.yml +0 -28
- package/.prettierignore +0 -1
- package/.prettierrc +0 -11
- package/.yarnrc +0 -2
- package/babel.config.js +0 -6
- package/jest.config.ts +0 -199
- package/jest.setup.ts +0 -2
- package/src/storages/chat.ts +0 -21
- package/src/storages/chats.ts +0 -17
- package/src/storages/file.impl.ts +0 -69
- package/src/storages/file.ts +0 -28
- package/src/storages/groups.impl.ts +0 -337
- package/src/storages/groups.ts +0 -43
- package/src/storages/organization.impl.ts +0 -68
- package/src/storages/organization.ts +0 -33
- package/src/storages/userProfile.impl.ts +0 -56
- package/src/storages/userProfile.ts +0 -42
- package/test/commands.test.ts +0 -24
- package/test/data/test_file.pdf +0 -0
- package/test/disposable.test.ts +0 -39
- package/test/events.test.ts +0 -151
- package/test/files.test.ts +0 -52
- package/test/index.test.ts +0 -122
- package/test/organization.test.ts +0 -57
- package/test/registry.test.ts +0 -44
- package/test/services.test.ts +0 -56
- package/test/setup.ts +0 -54
- package/test/unitTest.test.ts +0 -21
- package/test/workspace.test.ts +0 -71
- package/tsconfig.json +0 -31
@@ -0,0 +1,125 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RpcService = void 0;
|
4
|
+
const service_1 = require("./service");
|
5
|
+
const middlewareService_1 = require("./middlewareService");
|
6
|
+
const requestBuilder_1 = require("./requestBuilder");
|
7
|
+
/**
|
8
|
+
* RPC service.
|
9
|
+
*/
|
10
|
+
class RpcService extends service_1.Service {
|
11
|
+
constructor(serviceContext,
|
12
|
+
/**
|
13
|
+
* Host of the RPC service.
|
14
|
+
* It is not used if you use the `urlBuilder` option.
|
15
|
+
*/
|
16
|
+
host,
|
17
|
+
/**
|
18
|
+
* Options for the RpcService.
|
19
|
+
*/
|
20
|
+
options) {
|
21
|
+
super(serviceContext);
|
22
|
+
this.host = host;
|
23
|
+
this.options = options;
|
24
|
+
serviceContext.onRegister = async () => {
|
25
|
+
var _a;
|
26
|
+
(_a = serviceContext.resolve(middlewareService_1.MiddlewareService)) === null || _a === void 0 ? void 0 : _a.useMiddleware((req, next) => {
|
27
|
+
if (!req.headers.has("accept")) {
|
28
|
+
req.headers.set("accept", "text/plain");
|
29
|
+
}
|
30
|
+
if (req.discardContentType) {
|
31
|
+
delete req.discardContentType;
|
32
|
+
}
|
33
|
+
else {
|
34
|
+
req.headers.set("content-type", "application/json");
|
35
|
+
}
|
36
|
+
return next(req);
|
37
|
+
});
|
38
|
+
};
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* Request method.
|
42
|
+
*/
|
43
|
+
async request(req) {
|
44
|
+
var _a, _b, _c;
|
45
|
+
const middlewareService = this.resolve(middlewareService_1.MiddlewareService);
|
46
|
+
if (middlewareService !== undefined) {
|
47
|
+
return await middlewareService.process(req, async (req) => {
|
48
|
+
var _a, _b, _c;
|
49
|
+
return (_c = (await ((_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.fetchMethod) === null || _b === void 0 ? void 0 : _b.call(_a, req)))) !== null && _c !== void 0 ? _c : (await fetch(req));
|
50
|
+
});
|
51
|
+
}
|
52
|
+
return (_c = (await ((_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.fetchMethod) === null || _b === void 0 ? void 0 : _b.call(_a, req)))) !== null && _c !== void 0 ? _c : (await fetch(req));
|
53
|
+
}
|
54
|
+
/**
|
55
|
+
* Build URL.
|
56
|
+
* @param path
|
57
|
+
*/
|
58
|
+
buildUrl(path) {
|
59
|
+
if (this.options !== undefined && this.options.urlBuilder !== undefined) {
|
60
|
+
return this.options.urlBuilder(path);
|
61
|
+
}
|
62
|
+
if (this.host.endsWith("/") && path.startsWith("/")) {
|
63
|
+
return new URL(`${this.host}${path.slice(1)}`);
|
64
|
+
}
|
65
|
+
if (!this.host.endsWith("/") && !path.startsWith("/")) {
|
66
|
+
return new URL(`${this.host}/${path}`);
|
67
|
+
}
|
68
|
+
return new URL(`${this.host}${path}`);
|
69
|
+
}
|
70
|
+
/**
|
71
|
+
* Create a request builder.
|
72
|
+
* @param path
|
73
|
+
*/
|
74
|
+
requestBuilder(path) {
|
75
|
+
return new requestBuilder_1.RequestBuilder(this.buildUrl(path), this.request.bind(this));
|
76
|
+
}
|
77
|
+
/**
|
78
|
+
* Send a GET request.
|
79
|
+
* @param path
|
80
|
+
* @param options
|
81
|
+
*/
|
82
|
+
async get(path, options) {
|
83
|
+
return this.requestBuilder(path)
|
84
|
+
.searchParams(options === null || options === void 0 ? void 0 : options.searchParams)
|
85
|
+
.headers(options === null || options === void 0 ? void 0 : options.headers)
|
86
|
+
.sendGet();
|
87
|
+
}
|
88
|
+
/**
|
89
|
+
* Send a POST request.
|
90
|
+
* @param path
|
91
|
+
* @param body JSON object
|
92
|
+
* @param options
|
93
|
+
*/
|
94
|
+
async post(path, body, options) {
|
95
|
+
return this.requestBuilder(path)
|
96
|
+
.searchParams(options === null || options === void 0 ? void 0 : options.searchParams)
|
97
|
+
.headers(options === null || options === void 0 ? void 0 : options.headers)
|
98
|
+
.sendPostJson(body);
|
99
|
+
}
|
100
|
+
/**
|
101
|
+
* Send a PUT request.
|
102
|
+
* @param path
|
103
|
+
* @param body JSON object
|
104
|
+
* @param options
|
105
|
+
*/
|
106
|
+
async put(path, body, options) {
|
107
|
+
return this.requestBuilder(path)
|
108
|
+
.searchParams(options === null || options === void 0 ? void 0 : options.searchParams)
|
109
|
+
.headers(options === null || options === void 0 ? void 0 : options.headers)
|
110
|
+
.sendPutJson(body);
|
111
|
+
}
|
112
|
+
/**
|
113
|
+
* Send a DELETE request.
|
114
|
+
* @param path
|
115
|
+
* @param options
|
116
|
+
*/
|
117
|
+
async delete(path, options) {
|
118
|
+
return this.requestBuilder(path)
|
119
|
+
.searchParams(options === null || options === void 0 ? void 0 : options.searchParams)
|
120
|
+
.headers(options === null || options === void 0 ? void 0 : options.headers)
|
121
|
+
.sendDelete();
|
122
|
+
}
|
123
|
+
}
|
124
|
+
exports.RpcService = RpcService;
|
125
|
+
//# sourceMappingURL=rpcService.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rpcService.js","sourceRoot":"","sources":["../../../src/services/rpcService.ts"],"names":[],"mappings":";;;AAAA,uCAAwD;AACxD,2DAAuD;AACvD,qDAAiD;AAWjD;;GAEG;AACH,MAAa,UAAW,SAAQ,iBAAO;IAErC,YACE,cAA8B;IAC9B;;;OAGG;IACa,IAAY;IAC5B;;OAEG;IACc,OAKhB;QAED,KAAK,CAAC,cAAc,CAAC,CAAA;QAXL,SAAI,GAAJ,IAAI,CAAQ;QAIX,YAAO,GAAP,OAAO,CAKvB;QAID,cAAc,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE;;YACrC,MAAA,cAAc,CAAC,OAAO,CAAC,qCAAiB,CAAC,0CAAE,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACrE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;gBACzC,CAAC;gBAED,IAAK,GAAW,CAAC,kBAAkB,EAAE,CAAC;oBACpC,OAAQ,GAAW,CAAC,kBAAkB,CAAA;gBACxC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;gBACrD,CAAC;gBAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,GAAY;;QACxB,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,qCAAiB,CAAC,CAAA;QACzD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;;gBACtD,OAAO,MAAA,CAAC,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,mDAAG,GAAG,CAAC,CAAA,CAAC,mCAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YACvE,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAA,CAAC,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,mDAAG,GAAG,CAAC,CAAA,CAAC,mCAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACvE,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACzE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aAC7B,YAAY,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;aACnC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;aACzB,OAAO,EAAE,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,IAA+B,EAC/B,OAAwB;QAExB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aAC7B,YAAY,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;aACnC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;aACzB,YAAY,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,IAA+B,EAC/B,OAAwB;QAExB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aAC7B,YAAY,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;aACnC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;aACzB,WAAW,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aAC7B,YAAY,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;aACnC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;aACzB,UAAU,EAAE,CAAA;IACjB,CAAC;CACF;AArID,gCAqIC"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { type Context } from "../context";
|
2
|
+
import { type Constructor } from "../internal/registry";
|
3
|
+
import { type DisposableContainer, type Lifetime } from "../disposable";
|
4
|
+
export declare class ServiceContext {
|
5
|
+
readonly context: Context;
|
6
|
+
private readonly disposableContainer;
|
7
|
+
constructor(context: Context, disposableContainer: DisposableContainer);
|
8
|
+
get lifetime(): Lifetime;
|
9
|
+
resolve<T>(type: Constructor<T>): T | undefined;
|
10
|
+
onRegister: () => Promise<void>;
|
11
|
+
onStart: () => Promise<void>;
|
12
|
+
onUnregister: () => void;
|
13
|
+
}
|
14
|
+
export declare abstract class Service {
|
15
|
+
private readonly serviceContext;
|
16
|
+
resolve<T>(type: Constructor<T>): T | undefined;
|
17
|
+
get lifetime(): Lifetime;
|
18
|
+
get context(): Context;
|
19
|
+
constructor(serviceContext: ServiceContext);
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=service.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEvE,qBAAa,cAAc;aAEP,OAAO,EAAE,OAAO;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBADpB,OAAO,EAAE,OAAO,EACf,mBAAmB,EAAE,mBAAmB;IAI3D,IAAW,QAAQ,IAAI,QAAQ,CAE9B;IAED,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAIxC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAErC;IAEM,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAElC;IAEM,YAAY,EAAE,MAAM,IAAI,CAE9B;CACF;AAED,8BAAsB,OAAO;IAaR,OAAO,CAAC,QAAQ,CAAC,cAAc;IAZ3C,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAItD,IAAW,QAAQ,IAAI,QAAQ,CAE9B;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;gBAEmC,cAAc,EAAE,cAAc;CAEnE"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Service = exports.ServiceContext = void 0;
|
4
|
+
class ServiceContext {
|
5
|
+
constructor(context, disposableContainer) {
|
6
|
+
this.context = context;
|
7
|
+
this.disposableContainer = disposableContainer;
|
8
|
+
this.onRegister = async () => {
|
9
|
+
await Promise.resolve();
|
10
|
+
};
|
11
|
+
this.onStart = async () => {
|
12
|
+
await Promise.resolve();
|
13
|
+
};
|
14
|
+
this.onUnregister = () => {
|
15
|
+
// do nothing
|
16
|
+
};
|
17
|
+
}
|
18
|
+
get lifetime() {
|
19
|
+
return this.disposableContainer.lifetime;
|
20
|
+
}
|
21
|
+
resolve(type) {
|
22
|
+
return this.context.resolve(type);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
exports.ServiceContext = ServiceContext;
|
26
|
+
class Service {
|
27
|
+
resolve(type) {
|
28
|
+
return this.serviceContext.resolve(type);
|
29
|
+
}
|
30
|
+
get lifetime() {
|
31
|
+
return this.serviceContext.lifetime;
|
32
|
+
}
|
33
|
+
get context() {
|
34
|
+
return this.serviceContext.context;
|
35
|
+
}
|
36
|
+
constructor(serviceContext) {
|
37
|
+
this.serviceContext = serviceContext;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
exports.Service = Service;
|
41
|
+
//# sourceMappingURL=service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/service.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IACzB,YACkB,OAAgB,EACf,mBAAwC;QADzC,YAAO,GAAP,OAAO,CAAS;QACf,wBAAmB,GAAnB,mBAAmB,CAAqB;QAYpD,eAAU,GAAwB,KAAK,IAAmB,EAAE;YACjE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC,CAAA;QAEM,YAAO,GAAwB,KAAK,IAAmB,EAAE;YAC9D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC,CAAA;QAEM,iBAAY,GAAe,GAAS,EAAE;YAC3C,aAAa;QACf,CAAC,CAAA;IApBD,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAA;IAC1C,CAAC;IAED,OAAO,CAAI,IAAoB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CAaF;AA1BD,wCA0BC;AAED,MAAsB,OAAO;IACpB,OAAO,CAAI,IAAoB;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAA;IACrC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAA;IACpC,CAAC;IAED,YAAoC,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAClE,CAAC;CACF;AAfD,0BAeC"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { Service } from "./service";
|
2
|
+
import { UserProfile } from "../storages/user/userProfile";
|
3
|
+
export declare class UserProfileService extends Service {
|
4
|
+
private readonly impl;
|
5
|
+
get userProfile(): UserProfile;
|
6
|
+
merge(anonymous_token: string): Promise<void>;
|
7
|
+
fetch(): Promise<void>;
|
8
|
+
}
|
9
|
+
//# sourceMappingURL=userProfileService.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"userProfileService.d.ts","sourceRoot":"","sources":["../../../src/services/userProfileService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAM1D,qBAAa,kBAAmB,SAAQ,OAAO;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqD;IAE1E,IAAI,WAAW,IAAI,WAAW,CAE7B;IAEK,KAAK,CAAC,eAAe,EAAE,MAAM;IAc7B,KAAK;CAsBZ"}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.UserProfileService = void 0;
|
4
|
+
const service_1 = require("./service");
|
5
|
+
const rpcService_1 = require("./rpcService");
|
6
|
+
const organizationService_1 = require("./organizationService");
|
7
|
+
const userProfile_impl_1 = require("../storages/user/userProfile.impl");
|
8
|
+
const responseUtils_1 = require("./responseUtils");
|
9
|
+
class UserProfileService extends service_1.Service {
|
10
|
+
constructor() {
|
11
|
+
super(...arguments);
|
12
|
+
this.impl = new userProfile_impl_1.UserProfileImpl(this.context);
|
13
|
+
}
|
14
|
+
get userProfile() {
|
15
|
+
return this.impl;
|
16
|
+
}
|
17
|
+
async merge(anonymous_token) {
|
18
|
+
const rpc = this.resolve(rpcService_1.RpcService);
|
19
|
+
const response = await rpc.requestBuilder("api/v1/Users/anonymous/merge")
|
20
|
+
.sendPostJson({
|
21
|
+
anonymousToken: anonymous_token
|
22
|
+
});
|
23
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
24
|
+
await responseUtils_1.ResponseUtils.throwError("Failed to merge anonymous user", response);
|
25
|
+
}
|
26
|
+
await this.fetch();
|
27
|
+
}
|
28
|
+
async fetch() {
|
29
|
+
const rpc = this.resolve(rpcService_1.RpcService);
|
30
|
+
const response = await rpc.requestBuilder("api/v2/Users/self").sendGet();
|
31
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
32
|
+
await responseUtils_1.ResponseUtils.throwError("Failed to fetch user profile", response);
|
33
|
+
}
|
34
|
+
const content = (await response.json());
|
35
|
+
// init user profile from the server's response
|
36
|
+
this.impl.initFrom(content);
|
37
|
+
const organizationService = this.resolve(organizationService_1.OrganizationService);
|
38
|
+
// init organization service from user profile
|
39
|
+
await organizationService.initFrom(content.adminInOrganization, content.organizations, content.user.settings);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
exports.UserProfileService = UserProfileService;
|
43
|
+
//# sourceMappingURL=userProfileService.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"userProfileService.js","sourceRoot":"","sources":["../../../src/services/userProfileService.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,6CAAyC;AAGzC,+DAA2D;AAC3D,wEAAmE;AACnE,mDAA+C;AAE/C,MAAa,kBAAmB,SAAQ,iBAAO;IAA/C;;QACmB,SAAI,GAAoB,IAAI,kCAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IA0C5E,CAAC;IAxCC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,eAAuB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,8BAA8B,CAAC;aACtE,YAAY,CAAC;YACZ,cAAc,EAAE,eAAe;SAChC,CAAC,CAAA;QAEJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAA;QAC5E,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAA;QACxE,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAA;QAE3D,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAE3B,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CACtC,yCAAmB,CACG,CAAA;QAExB,8CAA8C;QAC9C,MAAM,mBAAmB,CAAC,QAAQ,CAChC,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,IAAI,CAAC,QAAQ,CACtB,CAAA;IACH,CAAC;CACF;AA3CD,gDA2CC"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import { AnswerStatus, SourceDto } from "../../dto/chatResponse";
|
2
|
+
import { EventDispatcher } from "../../events";
|
3
|
+
export type AnswerId = string;
|
4
|
+
export type StepId = string;
|
5
|
+
export declare enum AnswerEvent {
|
6
|
+
ADDED = "added",
|
7
|
+
CANCALLED = "cancelled",
|
8
|
+
FAILED = "failed",
|
9
|
+
UPDATED = "updated"
|
10
|
+
}
|
11
|
+
export declare abstract class Answer extends EventDispatcher<AnswerEvent, Answer> {
|
12
|
+
/**
|
13
|
+
* Answer id.
|
14
|
+
*/
|
15
|
+
abstract get id(): AnswerId;
|
16
|
+
/**
|
17
|
+
* Answer data object
|
18
|
+
*/
|
19
|
+
abstract get question(): string;
|
20
|
+
/**
|
21
|
+
* Answer tokens
|
22
|
+
*/
|
23
|
+
abstract get tokens(): string;
|
24
|
+
/**
|
25
|
+
* Answer status.
|
26
|
+
*/
|
27
|
+
abstract get status(): AnswerStatus;
|
28
|
+
/**
|
29
|
+
* Answer sources.
|
30
|
+
*/
|
31
|
+
abstract get sources(): SourceDto[];
|
32
|
+
/**
|
33
|
+
* Answer time.
|
34
|
+
*/
|
35
|
+
abstract get timestamp(): number;
|
36
|
+
/**
|
37
|
+
* Cancel answer
|
38
|
+
*/
|
39
|
+
abstract cancel(): Promise<void>;
|
40
|
+
}
|
41
|
+
//# sourceMappingURL=answer.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"answer.d.ts","sourceRoot":"","sources":["../../../../src/storages/chats/answer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAC7B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,8BAAsB,MAAO,SAAQ,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC;IAEvE;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAA;IAE/B;;OAEG;IACH,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAA;IAE7B;;OAEG;IACH,QAAQ,KAAK,MAAM,IAAI,YAAY,CAAA;IAEnC;;OAEG;IACH,QAAQ,KAAK,OAAO,IAAI,SAAS,EAAE,CAAA;IAEnC;;OAEG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CACjC"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { Context } from "../../context";
|
2
|
+
import { AnswerDto, AnswerStatus, SourceDto } from "../../dto/chatResponse";
|
3
|
+
import { Answer, AnswerId } from "./answer";
|
4
|
+
import { Chat } from "./chat";
|
5
|
+
export declare class AnswerImpl extends Answer {
|
6
|
+
private readonly chat;
|
7
|
+
private readonly context;
|
8
|
+
private _steps?;
|
9
|
+
private _status?;
|
10
|
+
private _id?;
|
11
|
+
private _question?;
|
12
|
+
private _sources?;
|
13
|
+
private _answer?;
|
14
|
+
private _timestamp?;
|
15
|
+
constructor(chat: Chat, context: Context);
|
16
|
+
initFromHistory(answer: AnswerDto): AnswerImpl;
|
17
|
+
initNew(id: AnswerId, question: string): Promise<AnswerImpl>;
|
18
|
+
get id(): AnswerId;
|
19
|
+
get status(): AnswerStatus;
|
20
|
+
get question(): string;
|
21
|
+
get sources(): SourceDto[];
|
22
|
+
get tokens(): string;
|
23
|
+
get timestamp(): number;
|
24
|
+
fetchAfter(): void;
|
25
|
+
private getStep;
|
26
|
+
fetch(): Promise<void>;
|
27
|
+
cancel(): Promise<void>;
|
28
|
+
}
|
29
|
+
//# sourceMappingURL=answer.impl.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"answer.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/chats/answer.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,SAAS,EACT,YAAY,EAGZ,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAE,MAAM,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,qBAAa,UAAW,SAAQ,MAAM;IAWlC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,GAAG,CAAC,CAAU;IACtB,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,UAAU,CAAC,CAAQ;gBAGR,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO;IAInC,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU;IAUxC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAUlE,IAAI,EAAE,IAAI,QAAQ,CAEjB;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,OAAO,IAAI,SAAS,EAAE,CAEzB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAEM,UAAU;IAMjB,OAAO,CAAC,OAAO;IAIT,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB9B"}
|
@@ -0,0 +1,116 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AnswerImpl = void 0;
|
4
|
+
const chatResponse_1 = require("../../dto/chatResponse");
|
5
|
+
const responseUtils_1 = require("../../services/responseUtils");
|
6
|
+
const rpcService_1 = require("../../services/rpcService");
|
7
|
+
const answer_1 = require("./answer");
|
8
|
+
class AnswerImpl extends answer_1.Answer {
|
9
|
+
constructor(chat, context) {
|
10
|
+
super();
|
11
|
+
this.chat = chat;
|
12
|
+
this.context = context;
|
13
|
+
}
|
14
|
+
initFromHistory(answer) {
|
15
|
+
this._id = answer.id;
|
16
|
+
this._question = answer.question;
|
17
|
+
this._answer = answer.context;
|
18
|
+
this._sources = answer.sources;
|
19
|
+
this._timestamp = answer.timestamp;
|
20
|
+
return this;
|
21
|
+
}
|
22
|
+
async initNew(id, question) {
|
23
|
+
this._id = id;
|
24
|
+
this._question = question;
|
25
|
+
this._answer = "";
|
26
|
+
await this.fetch();
|
27
|
+
return this;
|
28
|
+
}
|
29
|
+
get id() {
|
30
|
+
return this._id;
|
31
|
+
}
|
32
|
+
get status() {
|
33
|
+
return this._status;
|
34
|
+
}
|
35
|
+
get question() {
|
36
|
+
return this._question;
|
37
|
+
}
|
38
|
+
get sources() {
|
39
|
+
return this._sources;
|
40
|
+
}
|
41
|
+
get tokens() {
|
42
|
+
return this._answer;
|
43
|
+
}
|
44
|
+
get timestamp() {
|
45
|
+
return this._timestamp;
|
46
|
+
}
|
47
|
+
fetchAfter() {
|
48
|
+
if (this._status === undefined || this._status === chatResponse_1.AnswerStatus.RUNNING) {
|
49
|
+
setTimeout(async () => await this.fetch(), 300);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
getStep(type) {
|
53
|
+
var _a;
|
54
|
+
return (_a = this._steps) === null || _a === void 0 ? void 0 : _a.find(step => step.type === type);
|
55
|
+
}
|
56
|
+
async fetch() {
|
57
|
+
var _a;
|
58
|
+
// fetch answer from position 0
|
59
|
+
const position = 0;
|
60
|
+
// fetch answer
|
61
|
+
const response = await ((_a = this.context
|
62
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats/answer/fetch").searchParam("chatId", this.chat.id).searchParam("questionId", this.id).searchParam("position", position.toString()).sendGet());
|
63
|
+
// check response status
|
64
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
65
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to fetch answer ${this.id}`, response);
|
66
|
+
}
|
67
|
+
// parse answer from the server's response
|
68
|
+
const answer = (await response.json());
|
69
|
+
// update answer
|
70
|
+
this._status = answer.status;
|
71
|
+
this._steps = answer.steps;
|
72
|
+
if (this.getStep(chatResponse_1.StepType.GENERATE_ANSWER) !== undefined) {
|
73
|
+
const step = this.getStep(chatResponse_1.StepType.GENERATE_ANSWER);
|
74
|
+
const step_tokens = step === null || step === void 0 ? void 0 : step.tokens.join("");
|
75
|
+
if (this._answer !== step_tokens) {
|
76
|
+
this._answer = step_tokens;
|
77
|
+
this.dispatch({
|
78
|
+
type: answer_1.AnswerEvent.UPDATED,
|
79
|
+
data: this
|
80
|
+
});
|
81
|
+
}
|
82
|
+
}
|
83
|
+
if (this.getStep(chatResponse_1.StepType.SOURCES) !== undefined && this._sources === undefined) {
|
84
|
+
const sources_step = this.getStep(chatResponse_1.StepType.SOURCES);
|
85
|
+
this._sources = sources_step === null || sources_step === void 0 ? void 0 : sources_step.sources;
|
86
|
+
this.dispatch({
|
87
|
+
type: answer_1.AnswerEvent.UPDATED,
|
88
|
+
data: this
|
89
|
+
});
|
90
|
+
}
|
91
|
+
if (this.getStep(chatResponse_1.StepType.DONE) !== undefined) {
|
92
|
+
const step = this.getStep(chatResponse_1.StepType.DONE);
|
93
|
+
this._timestamp = Date.parse(step.end_at);
|
94
|
+
}
|
95
|
+
this.fetchAfter();
|
96
|
+
}
|
97
|
+
async cancel() {
|
98
|
+
var _a;
|
99
|
+
// send request to the server
|
100
|
+
const response = await ((_a = this.context
|
101
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats/answer/cancel").sendPutJson({
|
102
|
+
chat_id: this.chat.id,
|
103
|
+
uid: this.id
|
104
|
+
}));
|
105
|
+
// check response status
|
106
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
107
|
+
await responseUtils_1.ResponseUtils.throwError("Failed to cancel a question", response);
|
108
|
+
}
|
109
|
+
this.dispatch({
|
110
|
+
type: answer_1.AnswerEvent.CANCALLED,
|
111
|
+
data: this
|
112
|
+
});
|
113
|
+
}
|
114
|
+
}
|
115
|
+
exports.AnswerImpl = AnswerImpl;
|
116
|
+
//# sourceMappingURL=answer.impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"answer.impl.js","sourceRoot":"","sources":["../../../../src/storages/chats/answer.impl.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Answer = exports.AnswerEvent = void 0;
|
4
|
+
const events_1 = require("../../events");
|
5
|
+
var AnswerEvent;
|
6
|
+
(function (AnswerEvent) {
|
7
|
+
AnswerEvent["ADDED"] = "added";
|
8
|
+
AnswerEvent["CANCALLED"] = "cancelled";
|
9
|
+
AnswerEvent["FAILED"] = "failed";
|
10
|
+
AnswerEvent["UPDATED"] = "updated";
|
11
|
+
})(AnswerEvent || (exports.AnswerEvent = AnswerEvent = {}));
|
12
|
+
class Answer extends events_1.EventDispatcher {
|
13
|
+
}
|
14
|
+
exports.Answer = Answer;
|
15
|
+
//# sourceMappingURL=answer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"answer.js","sourceRoot":"","sources":["../../../../src/storages/chats/answer.ts"],"names":[],"mappings":";;;AAIA,yCAA8C;AAK9C,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;AACrB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,MAAsB,MAAO,SAAQ,wBAAoC;CAoCxE;AApCD,wBAoCC"}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { Answer } from "./answer";
|
2
|
+
import { Organization } from "../organizations/organization";
|
3
|
+
export type ChatId = string;
|
4
|
+
export declare enum ChatAnswerType {
|
5
|
+
SHORT = "short",
|
6
|
+
LONG = "long"
|
7
|
+
}
|
8
|
+
export declare abstract class Chat {
|
9
|
+
/**
|
10
|
+
* Organization.
|
11
|
+
*/
|
12
|
+
abstract get organization(): Organization;
|
13
|
+
/**
|
14
|
+
* Chat id.
|
15
|
+
*/
|
16
|
+
abstract get id(): ChatId;
|
17
|
+
/**
|
18
|
+
* Chat name.
|
19
|
+
*/
|
20
|
+
abstract get name(): string;
|
21
|
+
/**
|
22
|
+
* Connected file ID.
|
23
|
+
*/
|
24
|
+
abstract get fileId(): string;
|
25
|
+
/**
|
26
|
+
* Model.
|
27
|
+
*/
|
28
|
+
abstract get model(): string;
|
29
|
+
/**
|
30
|
+
* Answers list.
|
31
|
+
*/
|
32
|
+
abstract get collection(): ReadonlyArray<Answer>;
|
33
|
+
/**
|
34
|
+
* Get answer by id
|
35
|
+
* @param id answer id
|
36
|
+
*/
|
37
|
+
abstract getAnswer(id: string): Answer;
|
38
|
+
/**
|
39
|
+
* Ask new question in chat.
|
40
|
+
*/
|
41
|
+
abstract ask(message: string, answerType: ChatAnswerType): Promise<Answer | undefined>;
|
42
|
+
}
|
43
|
+
//# sourceMappingURL=chat.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/storages/chats/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,8BAAsB,IAAI;IAExB;;OAEG;IACH,QAAQ,KAAK,YAAY,IAAI,YAAY,CAAA;IAEzC;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAA;IAE7B;;OAEG;IACH,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAA;IAE5B;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IAEhD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAEtC;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAEvF"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { Chat, ChatAnswerType } from "./chat";
|
2
|
+
import { Disposable } from "../../disposable";
|
3
|
+
import { Answer, AnswerId } from "./answer";
|
4
|
+
import { ChatDto } from "../../dto/chatResponse";
|
5
|
+
import { Context } from "../../context";
|
6
|
+
import { Organization } from "../organizations/organization";
|
7
|
+
export declare class ChatImpl extends Chat implements Disposable {
|
8
|
+
private readonly context;
|
9
|
+
readonly organization: Organization;
|
10
|
+
private _isDisposed;
|
11
|
+
private readonly _answers;
|
12
|
+
private _content?;
|
13
|
+
constructor(context: Context, organization: Organization);
|
14
|
+
initFrom(chat: ChatDto): Promise<ChatImpl>;
|
15
|
+
get id(): string;
|
16
|
+
get name(): string;
|
17
|
+
get fileId(): string;
|
18
|
+
get model(): string;
|
19
|
+
get collection(): readonly Answer[];
|
20
|
+
get isDisposed(): boolean;
|
21
|
+
getAnswer(id: AnswerId): Answer;
|
22
|
+
ask(message: string, answerType: ChatAnswerType): Promise<Answer | undefined>;
|
23
|
+
dispose(): void;
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=chat.impl.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"chat.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/chats/chat.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,qBAAa,QAAS,SAAQ,IAAK,YAAW,UAAU;IAOpD,OAAO,CAAC,QAAQ,CAAC,OAAO;aACR,YAAY,EAAE,YAAY;IAP5C,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAGP,OAAO,EAAE,OAAO,EACjB,YAAY,EAAE,YAAY;IAKtC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAehD,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,UAAU,IAAI,SAAS,MAAM,EAAE,CAElC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAEM,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM;IAQhC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgCnF,OAAO,IAAI,IAAI;CAIhB"}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ChatImpl = void 0;
|
4
|
+
const chat_1 = require("./chat");
|
5
|
+
const answer_impl_1 = require("./answer.impl");
|
6
|
+
const rpcService_1 = require("../../services/rpcService");
|
7
|
+
const responseUtils_1 = require("../../services/responseUtils");
|
8
|
+
class ChatImpl extends chat_1.Chat {
|
9
|
+
constructor(context, organization) {
|
10
|
+
super();
|
11
|
+
this.context = context;
|
12
|
+
this.organization = organization;
|
13
|
+
this._isDisposed = false;
|
14
|
+
this._answers = [];
|
15
|
+
}
|
16
|
+
async initFrom(chat) {
|
17
|
+
this._content = chat;
|
18
|
+
// init answers
|
19
|
+
for (const ans of chat.answers) {
|
20
|
+
// create answer implementation
|
21
|
+
const answer = new answer_impl_1.AnswerImpl(this, this.context).initFromHistory(ans);
|
22
|
+
// add answer to the collection
|
23
|
+
this._answers.push(answer);
|
24
|
+
}
|
25
|
+
return this;
|
26
|
+
}
|
27
|
+
get id() {
|
28
|
+
var _a;
|
29
|
+
return (_a = this._content) === null || _a === void 0 ? void 0 : _a.id;
|
30
|
+
}
|
31
|
+
get name() {
|
32
|
+
var _a;
|
33
|
+
return (_a = this._content) === null || _a === void 0 ? void 0 : _a.name;
|
34
|
+
}
|
35
|
+
get fileId() {
|
36
|
+
var _a;
|
37
|
+
return (_a = this._content) === null || _a === void 0 ? void 0 : _a.fileId;
|
38
|
+
}
|
39
|
+
get model() {
|
40
|
+
var _a;
|
41
|
+
return (_a = this._content) === null || _a === void 0 ? void 0 : _a.model;
|
42
|
+
}
|
43
|
+
get collection() {
|
44
|
+
return this._answers;
|
45
|
+
}
|
46
|
+
get isDisposed() {
|
47
|
+
return this._isDisposed;
|
48
|
+
}
|
49
|
+
getAnswer(id) {
|
50
|
+
const answer = this._answers.find(answer => answer.id === id);
|
51
|
+
if (answer) {
|
52
|
+
return answer;
|
53
|
+
}
|
54
|
+
throw new Error(`Answer with id ${id} is not found`);
|
55
|
+
}
|
56
|
+
async ask(message, answerType) {
|
57
|
+
var _a;
|
58
|
+
// send request to the server
|
59
|
+
const response = await ((_a = this.context
|
60
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats/question").sendPutJson({
|
61
|
+
chatId: this.id,
|
62
|
+
questionMessage: message,
|
63
|
+
isLongAnswer: (answerType === chat_1.ChatAnswerType.LONG)
|
64
|
+
}));
|
65
|
+
// check response status
|
66
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
67
|
+
if (await responseUtils_1.ResponseUtils.isLimitReached()) {
|
68
|
+
return undefined;
|
69
|
+
}
|
70
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to ask a question, organization: ${this.organization.id}`, response);
|
71
|
+
}
|
72
|
+
// parse answer id from the server's response
|
73
|
+
const id = (await response.json()).id;
|
74
|
+
// create answer implementation
|
75
|
+
const answer = await new answer_impl_1.AnswerImpl(this, this.context).initNew(id, message);
|
76
|
+
// add answer to the collection
|
77
|
+
this._answers.push(answer);
|
78
|
+
return answer;
|
79
|
+
}
|
80
|
+
dispose() {
|
81
|
+
this._isDisposed = true;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
exports.ChatImpl = ChatImpl;
|
85
|
+
//# sourceMappingURL=chat.impl.js.map
|