@neuralinnovations/dataisland-sdk 0.0.1-dev10 → 0.0.1-dev11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +3 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/package.json +98 -0
  6. package/dist/src/appBuilder.d.ts +44 -0
  7. package/dist/src/appBuilder.d.ts.map +1 -0
  8. package/dist/src/appBuilder.js +10 -0
  9. package/dist/src/appBuilder.js.map +1 -0
  10. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  11. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  12. package/dist/src/commands/startCommandHandler.js +17 -0
  13. package/dist/src/commands/startCommandHandler.js.map +1 -0
  14. package/dist/src/context.d.ts +23 -0
  15. package/dist/src/context.d.ts.map +1 -0
  16. package/dist/src/context.js +31 -0
  17. package/dist/src/context.js.map +1 -0
  18. package/dist/src/credentials.d.ts +28 -0
  19. package/dist/src/credentials.d.ts.map +1 -0
  20. package/dist/src/credentials.js +70 -0
  21. package/dist/src/credentials.js.map +1 -0
  22. package/dist/src/dataIslandApp.d.ts +50 -0
  23. package/dist/src/dataIslandApp.d.ts.map +1 -0
  24. package/dist/src/dataIslandApp.js +10 -0
  25. package/dist/src/dataIslandApp.js.map +1 -0
  26. package/dist/src/disposable.d.ts +84 -0
  27. package/dist/src/disposable.d.ts.map +1 -0
  28. package/dist/src/disposable.js +140 -0
  29. package/dist/src/disposable.js.map +1 -0
  30. package/dist/src/dto/accessGroupResponse.d.ts +27 -0
  31. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  32. package/dist/src/dto/accessGroupResponse.js +3 -0
  33. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  34. package/dist/src/dto/chatResponse.d.ts +78 -0
  35. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  36. package/dist/src/dto/chatResponse.js +45 -0
  37. package/dist/src/dto/chatResponse.js.map +1 -0
  38. package/dist/src/dto/userInfoResponse.d.ts +40 -0
  39. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  40. package/dist/src/dto/userInfoResponse.js +3 -0
  41. package/dist/src/dto/userInfoResponse.js.map +1 -0
  42. package/dist/src/dto/workspacesResponse.d.ts +43 -0
  43. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  44. package/dist/src/dto/workspacesResponse.js +3 -0
  45. package/dist/src/dto/workspacesResponse.js.map +1 -0
  46. package/dist/src/events.d.ts +17 -0
  47. package/dist/src/events.d.ts.map +1 -0
  48. package/dist/src/events.js +52 -0
  49. package/dist/src/events.js.map +1 -0
  50. package/dist/src/index.d.ts +56 -0
  51. package/dist/src/index.d.ts.map +1 -0
  52. package/dist/src/index.js +89 -0
  53. package/dist/src/index.js.map +1 -0
  54. package/dist/src/internal/app.impl.d.ts +28 -0
  55. package/dist/src/internal/app.impl.d.ts.map +1 -0
  56. package/dist/src/internal/app.impl.js +151 -0
  57. package/dist/src/internal/app.impl.js.map +1 -0
  58. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  59. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  60. package/dist/src/internal/appBuilder.impl.js +71 -0
  61. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  62. package/dist/src/internal/createApp.impl.d.ts +4 -0
  63. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  64. package/dist/src/internal/createApp.impl.js +11 -0
  65. package/dist/src/internal/createApp.impl.js.map +1 -0
  66. package/dist/src/internal/registry.d.ts +22 -0
  67. package/dist/src/internal/registry.d.ts.map +1 -0
  68. package/dist/src/internal/registry.js +69 -0
  69. package/dist/src/internal/registry.js.map +1 -0
  70. package/dist/src/middleware.d.ts +5 -0
  71. package/dist/src/middleware.d.ts.map +1 -0
  72. package/dist/src/middleware.js +3 -0
  73. package/dist/src/middleware.js.map +1 -0
  74. package/dist/src/services/commandService.d.ts +18 -0
  75. package/dist/src/services/commandService.d.ts.map +1 -0
  76. package/dist/src/services/commandService.js +40 -0
  77. package/dist/src/services/commandService.js.map +1 -0
  78. package/dist/src/services/credentialService.d.ts +9 -0
  79. package/dist/src/services/credentialService.d.ts.map +1 -0
  80. package/dist/src/services/credentialService.js +26 -0
  81. package/dist/src/services/credentialService.js.map +1 -0
  82. package/dist/src/services/middlewareService.d.ts +9 -0
  83. package/dist/src/services/middlewareService.d.ts.map +1 -0
  84. package/dist/src/services/middlewareService.js +34 -0
  85. package/dist/src/services/middlewareService.js.map +1 -0
  86. package/dist/src/services/organizationService.d.ts +10 -0
  87. package/dist/src/services/organizationService.d.ts.map +1 -0
  88. package/dist/src/services/organizationService.js +19 -0
  89. package/dist/src/services/organizationService.js.map +1 -0
  90. package/dist/src/services/requestBuilder.d.ts +17 -0
  91. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  92. package/dist/src/services/requestBuilder.js +104 -0
  93. package/dist/src/services/requestBuilder.js.map +1 -0
  94. package/dist/src/services/responseUtils.d.ts +6 -0
  95. package/dist/src/services/responseUtils.d.ts.map +1 -0
  96. package/dist/src/services/responseUtils.js +32 -0
  97. package/dist/src/services/responseUtils.js.map +1 -0
  98. package/dist/src/services/rpcService.d.ts +77 -0
  99. package/dist/src/services/rpcService.d.ts.map +1 -0
  100. package/dist/src/services/rpcService.js +125 -0
  101. package/dist/src/services/rpcService.js.map +1 -0
  102. package/dist/src/services/service.d.ts +21 -0
  103. package/dist/src/services/service.d.ts.map +1 -0
  104. package/dist/src/services/service.js +41 -0
  105. package/dist/src/services/service.js.map +1 -0
  106. package/dist/src/services/userProfileService.d.ts +8 -0
  107. package/dist/src/services/userProfileService.d.ts.map +1 -0
  108. package/dist/src/services/userProfileService.js +32 -0
  109. package/dist/src/services/userProfileService.js.map +1 -0
  110. package/dist/src/storages/chats/answer.d.ts +30 -0
  111. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  112. package/dist/src/storages/chats/answer.impl.d.ts +23 -0
  113. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  114. package/dist/src/storages/chats/answer.impl.js +110 -0
  115. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  116. package/dist/src/storages/chats/answer.js +7 -0
  117. package/dist/src/storages/chats/answer.js.map +1 -0
  118. package/dist/src/storages/chats/chat.d.ts +30 -0
  119. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  120. package/dist/src/storages/chats/chat.impl.d.ts +22 -0
  121. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  122. package/dist/src/storages/chats/chat.impl.js +67 -0
  123. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  124. package/dist/src/storages/chats/chat.js +12 -0
  125. package/dist/src/storages/chats/chat.js.map +1 -0
  126. package/dist/src/storages/chats/chats.d.ts +40 -0
  127. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  128. package/dist/src/storages/chats/chats.impl.d.ts +18 -0
  129. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  130. package/dist/src/storages/chats/chats.impl.js +102 -0
  131. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  132. package/dist/src/storages/chats/chats.js +16 -0
  133. package/dist/src/storages/chats/chats.js.map +1 -0
  134. package/dist/src/storages/files/file.d.ts +24 -0
  135. package/dist/src/storages/files/file.d.ts.map +1 -0
  136. package/dist/src/storages/files/file.impl.d.ts +18 -0
  137. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  138. package/dist/src/storages/files/file.impl.js +52 -0
  139. package/dist/src/storages/files/file.impl.js.map +1 -0
  140. package/dist/src/storages/files/file.js +10 -0
  141. package/dist/src/storages/files/file.js.map +1 -0
  142. package/dist/src/storages/files/files.d.ts +33 -0
  143. package/dist/src/storages/files/files.d.ts.map +1 -0
  144. package/dist/src/storages/files/files.impl.d.ts +33 -0
  145. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  146. package/dist/src/storages/files/files.impl.js +159 -0
  147. package/dist/src/storages/files/files.impl.js.map +1 -0
  148. package/dist/src/storages/files/files.js +19 -0
  149. package/dist/src/storages/files/files.js.map +1 -0
  150. package/dist/src/storages/files/filesPage.d.ts +23 -0
  151. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  152. package/dist/src/storages/files/filesPage.js +10 -0
  153. package/dist/src/storages/files/filesPage.js.map +1 -0
  154. package/dist/src/storages/groups/groups.d.ts +87 -0
  155. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  156. package/dist/src/storages/groups/groups.impl.d.ts +55 -0
  157. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  158. package/dist/src/storages/groups/groups.impl.js +245 -0
  159. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  160. package/dist/src/storages/groups/groups.js +26 -0
  161. package/dist/src/storages/groups/groups.js.map +1 -0
  162. package/dist/src/storages/organizations/organization.d.ts +38 -0
  163. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  164. package/dist/src/storages/organizations/organization.impl.d.ts +30 -0
  165. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  166. package/dist/src/storages/organizations/organization.impl.js +71 -0
  167. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  168. package/dist/src/storages/organizations/organization.js +10 -0
  169. package/dist/src/storages/organizations/organization.js.map +1 -0
  170. package/dist/src/storages/organizations/organizations.d.ts +46 -0
  171. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  172. package/dist/src/storages/organizations/organizations.impl.d.ts +38 -0
  173. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  174. package/dist/src/storages/organizations/organizations.impl.js +151 -0
  175. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  176. package/dist/src/storages/organizations/organizations.js +20 -0
  177. package/dist/src/storages/organizations/organizations.js.map +1 -0
  178. package/dist/src/storages/user/userProfile.d.ts +32 -0
  179. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  180. package/dist/src/storages/user/userProfile.impl.d.ts +13 -0
  181. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  182. package/dist/src/storages/user/userProfile.impl.js +51 -0
  183. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  184. package/dist/src/storages/user/userProfile.js +12 -0
  185. package/dist/src/storages/user/userProfile.js.map +1 -0
  186. package/dist/src/storages/workspaces/workspace.d.ts +40 -0
  187. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  188. package/dist/src/storages/workspaces/workspace.impl.d.ts +22 -0
  189. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  190. package/dist/src/storages/workspaces/workspace.impl.js +87 -0
  191. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  192. package/dist/src/storages/workspaces/workspace.js +18 -0
  193. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  194. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  195. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  196. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  197. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  198. package/dist/src/storages/workspaces/workspaces.impl.js +157 -0
  199. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  200. package/dist/src/storages/workspaces/workspaces.js +19 -0
  201. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  202. package/dist/src/unitTest.d.ts +12 -0
  203. package/dist/src/unitTest.d.ts.map +1 -0
  204. package/dist/src/unitTest.js +44 -0
  205. package/dist/src/unitTest.js.map +1 -0
  206. package/index.d.ts +1 -1
  207. package/index.js +1 -1
  208. package/package.json +1 -1
  209. package/src/context.ts +2 -1
  210. package/dist/dataisland-sdk.d.ts +0 -1594
  211. package/dist/dataisland-sdk.js +0 -2890
  212. package/dist/dataisland-sdk.js.map +0 -1
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnswerImpl = void 0;
4
+ const responseUtils_1 = require("../../services/responseUtils");
5
+ const rpcService_1 = require("../../services/rpcService");
6
+ const answer_1 = require("./answer");
7
+ class AnswerImpl extends answer_1.Answer {
8
+ constructor(chat, context) {
9
+ super();
10
+ this.chat = chat;
11
+ this.context = context;
12
+ }
13
+ async initFromData(answer) {
14
+ this._content = answer;
15
+ this._id = answer.id;
16
+ // fetch answer
17
+ await this.fetch();
18
+ return this;
19
+ }
20
+ async initFromId(id) {
21
+ this._id = id;
22
+ // fetch answer
23
+ await this.fetch();
24
+ return this;
25
+ }
26
+ get id() {
27
+ return this._id;
28
+ }
29
+ get status() {
30
+ return this._status;
31
+ }
32
+ getStep(type) {
33
+ var _a;
34
+ return (_a = this._steps) === null || _a === void 0 ? void 0 : _a.find(step => step.type === type);
35
+ }
36
+ async sources(type) {
37
+ var _a;
38
+ // fetch answer
39
+ await this.fetch();
40
+ // get step
41
+ const step = this.getStep(type);
42
+ // check step
43
+ if (!step) {
44
+ throw new Error(`Step with type ${type.toString()} is not found, answer: ${this.id}, organization: ${this.chat.organization.id}`);
45
+ }
46
+ // get sources
47
+ const response = await ((_a = this.context
48
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats/answer/sources").searchParam("chat_uid", this.chat.id).searchParam("uid", this.id).searchParam("step_id", step.id).sendGet());
49
+ // check response status
50
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
51
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get sources for ${type.toString()}, answer: ${this.id}, organization: ${this.chat.organization.id}`, response);
52
+ }
53
+ // parse sources from the server's response
54
+ const sources = (await response.json()).sources;
55
+ return sources;
56
+ }
57
+ async fetch() {
58
+ var _a;
59
+ // fetch answer from position 0
60
+ const position = 0;
61
+ // fetch answer
62
+ const response = await ((_a = this.context
63
+ .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());
64
+ // check response status
65
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
66
+ await responseUtils_1.ResponseUtils.throwError(`Failed to fetch answer ${this.id}`, response);
67
+ }
68
+ // parse answer from the server's response
69
+ const answer = (await response.json());
70
+ // update answer
71
+ this._status = answer.status;
72
+ this._steps = answer.steps;
73
+ }
74
+ async fetchTokens(type, token_start_at) {
75
+ var _a;
76
+ // fetch answer
77
+ await this.fetch();
78
+ // get step
79
+ const step = this.getStep(type);
80
+ // check step
81
+ if (!step) {
82
+ throw new Error(`Step with type ${type.toString()} is not found`);
83
+ }
84
+ // get tokens
85
+ const response = await ((_a = this.context
86
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats/answer/fetch/tokens").searchParam("chat_uid", this.chat.id).searchParam("uid", this.id).searchParam("step_id", step.id).searchParam("token_start_at", token_start_at.toString()).sendGet());
87
+ // check response status
88
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
89
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get sources for ${type.toString()}`, response);
90
+ }
91
+ // parse tokens from the server's response
92
+ const tokens = (await response.json());
93
+ return tokens;
94
+ }
95
+ async cancel() {
96
+ var _a;
97
+ // send request to the server
98
+ const response = await ((_a = this.context
99
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats/answer/cancel").sendPutJson({
100
+ chat_id: this.chat.id,
101
+ uid: this.id
102
+ }));
103
+ // check response status
104
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
105
+ await responseUtils_1.ResponseUtils.throwError("Failed to cancel a question", response);
106
+ }
107
+ }
108
+ }
109
+ exports.AnswerImpl = AnswerImpl;
110
+ //# 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,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Answer = void 0;
4
+ class Answer {
5
+ }
6
+ exports.Answer = Answer;
7
+ //# sourceMappingURL=answer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer.js","sourceRoot":"","sources":["../../../../src/storages/chats/answer.ts"],"names":[],"mappings":";;;AAUA,MAAsB,MAAM;CA+B3B;AA/BD,wBA+BC"}
@@ -0,0 +1,30 @@
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
+ * Answers list.
23
+ */
24
+ abstract get collection(): ReadonlyArray<Answer>;
25
+ /**
26
+ * Ask new question in chat.
27
+ */
28
+ abstract ask(message: string, answerType: ChatAnswerType): Promise<Answer>;
29
+ }
30
+ //# 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,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAC3E"}
@@ -0,0 +1,22 @@
1
+ import { Chat, ChatAnswerType } from "./chat";
2
+ import { Disposable } from "../../disposable";
3
+ import { Answer } 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 collection(): readonly Answer[];
18
+ get isDisposed(): boolean;
19
+ ask(message: string, answerType: ChatAnswerType): Promise<Answer>;
20
+ dispose(): void;
21
+ }
22
+ //# 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,MAAM,UAAU,CAAA;AACjC,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,CAAe;IAExC,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,UAAU,IAAI,SAAS,MAAM,EAAE,CAElC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAEK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BvE,OAAO,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,67 @@
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 = await new answer_impl_1.AnswerImpl(this, this.context).initFromData(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 collection() {
36
+ return this._answers;
37
+ }
38
+ get isDisposed() {
39
+ return this._isDisposed;
40
+ }
41
+ async ask(message, answerType) {
42
+ var _a;
43
+ // send request to the server
44
+ const response = await ((_a = this.context
45
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats/question").sendPutJson({
46
+ chatId: this.id,
47
+ questionMessage: message,
48
+ isLongAnswer: (answerType === chat_1.ChatAnswerType.LONG)
49
+ }));
50
+ // check response status
51
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
52
+ await responseUtils_1.ResponseUtils.throwError(`Failed to ask a question, organization: ${this.organization.id}`, response);
53
+ }
54
+ // parse answer id from the server's response
55
+ const id = (await response.json()).id;
56
+ // create answer implementation
57
+ const answer = await new answer_impl_1.AnswerImpl(this, this.context).initFromId(id);
58
+ // add answer to the collection
59
+ this._answers.push(answer);
60
+ return answer;
61
+ }
62
+ dispose() {
63
+ this._isDisposed = true;
64
+ }
65
+ }
66
+ exports.ChatImpl = ChatImpl;
67
+ //# sourceMappingURL=chat.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.impl.js","sourceRoot":"","sources":["../../../../src/storages/chats/chat.impl.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAK7C,+CAA0C;AAC1C,0DAAsD;AACtD,gEAA4D;AAG5D,MAAa,QAAS,SAAQ,WAAI;IAMhC,YACmB,OAAgB,EACjB,YAA0B;QAE1C,KAAK,EAAE,CAAA;QAHU,YAAO,GAAP,OAAO,CAAS;QACjB,iBAAY,GAAZ,YAAY,CAAc;QAPpC,gBAAW,GAAY,KAAK,CAAA;QACnB,aAAQ,GAAa,EAAE,CAAA;IASxC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAa;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,eAAe;QACf,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,wBAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;YAEzE,+BAA+B;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,EAAE;;QACJ,OAAe,MAAA,IAAI,CAAC,QAAQ,0CAAE,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,IAAI;;QACN,OAAe,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAA;IACpC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,UAA0B;;QACnD,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,uBAAuB,EACvC,WAAW,CAAC;YACX,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,eAAe,EAAE,OAAO;YACxB,YAAY,EAAE,CAAC,UAAU,KAAK,qBAAc,CAAC,IAAI,CAAC;SACnD,CAAC,CAAA,CAAA;QAEJ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,2CAA2C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC7G,CAAC;QAED,6CAA6C;QAC7C,MAAM,EAAE,GAAG,CAAC,MAAM,QAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;QAEtC,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,wBAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAEtE,+BAA+B;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE1B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;CAEF;AA5ED,4BA4EC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chat = exports.ChatAnswerType = void 0;
4
+ var ChatAnswerType;
5
+ (function (ChatAnswerType) {
6
+ ChatAnswerType["SHORT"] = "short";
7
+ ChatAnswerType["LONG"] = "long";
8
+ })(ChatAnswerType || (exports.ChatAnswerType = ChatAnswerType = {}));
9
+ class Chat {
10
+ }
11
+ exports.Chat = Chat;
12
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../../src/storages/chats/chat.ts"],"names":[],"mappings":";;;AAKA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,MAAsB,IAAI;CA0BzB;AA1BD,oBA0BC"}
@@ -0,0 +1,40 @@
1
+ import { EventDispatcher } from "../../events";
2
+ import { Chat, ChatId } from "./chat";
3
+ import { Organization } from "../organizations/organization";
4
+ export declare enum ChatsEvent {
5
+ ADDED = "added",
6
+ REMOVED = "removed"
7
+ }
8
+ /**
9
+ * Chats storage.
10
+ */
11
+ export declare abstract class Chats extends EventDispatcher<ChatsEvent, Chat> {
12
+ /**
13
+ * Organization.
14
+ */
15
+ abstract get organization(): Organization;
16
+ /**
17
+ * Chats list.
18
+ */
19
+ abstract get collection(): ReadonlyArray<Chat>;
20
+ /**
21
+ * Create new chat.
22
+ */
23
+ abstract create(): Promise<Chat>;
24
+ /**
25
+ * Get chat by id.
26
+ * @param id
27
+ */
28
+ abstract get(id: ChatId): Chat;
29
+ /**
30
+ * Try to get chat by id.
31
+ * @param id
32
+ */
33
+ abstract tryGet(id: ChatId): Chat | undefined;
34
+ /**
35
+ * Delete chat.
36
+ * @param id
37
+ */
38
+ abstract delete(id: ChatId): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=chats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../../src/storages/chats/chats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,8BAAsB,KAAM,SAAQ,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC;IAEnE;;OAEG;IACH,QAAQ,KAAK,YAAY,IAAI,YAAY,CAAA;IAEzC;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,CAAA;IAE9C;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAE9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAE7C;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAC3C"}
@@ -0,0 +1,18 @@
1
+ import { Context } from "../../context";
2
+ import { OrganizationImpl } from "../organizations/organization.impl";
3
+ import { OrganizationId } from "../organizations/organizations";
4
+ import { Chat } from "./chat";
5
+ import { Chats } from "./chats";
6
+ export declare class ChatsImpl extends Chats {
7
+ readonly organization: OrganizationImpl;
8
+ private readonly context;
9
+ private readonly _chats;
10
+ constructor(organization: OrganizationImpl, context: Context);
11
+ initFrom(organizationId: OrganizationId): Promise<void>;
12
+ get collection(): readonly Chat[];
13
+ get(id: string): Chat;
14
+ tryGet(id: string): Chat | undefined;
15
+ create(): Promise<Chat>;
16
+ delete(id: string): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=chats.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chats.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/chats/chats.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAE3C,qBAAa,SAAU,SAAQ,KAAK;aAIhB,YAAY,EAAE,gBAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAGlB,YAAY,EAAE,gBAAgB,EAC7B,OAAO,EAAE,OAAO;IAK7B,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC7D,IAAI,UAAU,IAAI,SAAS,IAAI,EAAE,CAEhC;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAI9B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqCxC"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatsImpl = void 0;
4
+ const responseUtils_1 = require("../../services/responseUtils");
5
+ const rpcService_1 = require("../../services/rpcService");
6
+ const chat_impl_1 = require("./chat.impl");
7
+ const chats_1 = require("./chats");
8
+ class ChatsImpl extends chats_1.Chats {
9
+ constructor(organization, context) {
10
+ super();
11
+ this.organization = organization;
12
+ this.context = context;
13
+ this._chats = [];
14
+ }
15
+ async initFrom(organizationId) {
16
+ var _a;
17
+ // init chats from the server's response
18
+ const limit = 100;
19
+ const page = 0;
20
+ const response = await ((_a = this.context
21
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats/list").searchParam("organizationId", organizationId).searchParam("limit", limit.toString()).searchParam("page", page.toString()).sendGet());
22
+ // check response status
23
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
24
+ await responseUtils_1.ResponseUtils.throwError(`Chats list org id:${organizationId}, page:${page}, limit:${limit}, failed`, response);
25
+ }
26
+ // parse chats from the server's response
27
+ const chats = (await response.json());
28
+ // init chats
29
+ for (const cht of chats.chats) {
30
+ // create chat implementation
31
+ const chat = await new chat_impl_1.ChatImpl(this.context, this.organization).initFrom(cht);
32
+ // add chat to the collection
33
+ this._chats.push(chat);
34
+ // dispatch event
35
+ this.dispatch({
36
+ type: chats_1.ChatsEvent.ADDED,
37
+ data: chat
38
+ });
39
+ }
40
+ }
41
+ get collection() {
42
+ return this._chats;
43
+ }
44
+ get(id) {
45
+ return this.tryGet(id);
46
+ }
47
+ tryGet(id) {
48
+ return this._chats.find(chat => chat.id === id);
49
+ }
50
+ async create() {
51
+ var _a;
52
+ // send create request to the server
53
+ const response = await ((_a = this.context
54
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats").sendPostJson({ organizationId: this.organization.id }));
55
+ // check response status
56
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
57
+ await responseUtils_1.ResponseUtils.throwError(`Failed to create chat, organization: ${this.organization.id}`, response);
58
+ }
59
+ // parse workspace from the server's response
60
+ const content = (await response.json()).chat;
61
+ // create workspace implementation
62
+ const chat = new chat_impl_1.ChatImpl(this.context, this.organization);
63
+ await chat.initFrom(content);
64
+ // add chat to the collection
65
+ this._chats.push(chat);
66
+ // dispatch event
67
+ this.dispatch({
68
+ type: chats_1.ChatsEvent.ADDED,
69
+ data: chat
70
+ });
71
+ return chat;
72
+ }
73
+ async delete(id) {
74
+ var _a;
75
+ // get chat by id
76
+ const chat = this.tryGet(id);
77
+ // check if chat is found
78
+ if (!chat) {
79
+ throw new Error(`Chat ${id} is not found, organization: ${this.organization.id}`);
80
+ }
81
+ // send delete request to the server
82
+ const response = await ((_a = this.context
83
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Chats").searchParam("id", id).sendDelete());
84
+ // check response status
85
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
86
+ await responseUtils_1.ResponseUtils.throwError(`Failed to delete chat: ${id}, organization: ${this.organization.id}`, response);
87
+ }
88
+ // remove chat from the collection
89
+ const index = this._chats.indexOf(chat);
90
+ if (index < 0) {
91
+ throw new Error(`Chat ${id} is not found, organization: ${this.organization.id}`);
92
+ }
93
+ this._chats.splice(index, 1);
94
+ // dispatch event
95
+ this.dispatch({
96
+ type: chats_1.ChatsEvent.REMOVED,
97
+ data: chat
98
+ });
99
+ }
100
+ }
101
+ exports.ChatsImpl = ChatsImpl;
102
+ //# sourceMappingURL=chats.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chats.impl.js","sourceRoot":"","sources":["../../../../src/storages/chats/chats.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chats = exports.ChatsEvent = void 0;
4
+ const events_1 = require("../../events");
5
+ var ChatsEvent;
6
+ (function (ChatsEvent) {
7
+ ChatsEvent["ADDED"] = "added";
8
+ ChatsEvent["REMOVED"] = "removed";
9
+ })(ChatsEvent || (exports.ChatsEvent = ChatsEvent = {}));
10
+ /**
11
+ * Chats storage.
12
+ */
13
+ class Chats extends events_1.EventDispatcher {
14
+ }
15
+ exports.Chats = Chats;
16
+ //# sourceMappingURL=chats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../../src/storages/chats/chats.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAI9C,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,iCAAmB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;GAEG;AACH,MAAsB,KAAM,SAAQ,wBAAiC;CAkCpE;AAlCD,sBAkCC"}
@@ -0,0 +1,24 @@
1
+ import { FileProgressDto } from "../../dto/workspacesResponse";
2
+ export type FileId = string;
3
+ /**
4
+ * File.
5
+ */
6
+ export declare abstract class File {
7
+ /**
8
+ * File id.
9
+ */
10
+ abstract get id(): FileId;
11
+ /**
12
+ * File name.
13
+ */
14
+ abstract get name(): string;
15
+ /**
16
+ * Get temporary url.
17
+ */
18
+ abstract url(): Promise<string>;
19
+ /**
20
+ * Get file status.
21
+ */
22
+ abstract status(): Promise<FileProgressDto>;
23
+ }
24
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/storages/files/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B;;GAEG;AACH,8BAAsB,IAAI;IACxB;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;CAC5C"}
@@ -0,0 +1,18 @@
1
+ import { Context } from "../../context";
2
+ import { Disposable } from "../../disposable";
3
+ import { FileDto, FileProgressDto } from "../../dto/workspacesResponse";
4
+ import { File } from "./file";
5
+ export declare class FileImpl extends File implements Disposable {
6
+ private readonly context;
7
+ private _isDisposed;
8
+ private _content?;
9
+ constructor(context: Context);
10
+ initFrom(file: FileDto): File;
11
+ get isDisposed(): boolean;
12
+ dispose(): void;
13
+ get id(): string;
14
+ get name(): string;
15
+ url(): Promise<string>;
16
+ status(): Promise<FileProgressDto>;
17
+ }
18
+ //# sourceMappingURL=file.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/files/file.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAGvE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,qBAAa,QAAS,SAAQ,IAAK,YAAW,UAAU;IAI1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAEG,OAAO,EAAE,OAAO;IAItC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMpC,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,IAAI,IAAI;IAIf,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBtB,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;CAczC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileImpl = void 0;
4
+ const rpcService_1 = require("../../services/rpcService");
5
+ const responseUtils_1 = require("../../services/responseUtils");
6
+ const file_1 = require("./file");
7
+ class FileImpl extends file_1.File {
8
+ constructor(context) {
9
+ super();
10
+ this.context = context;
11
+ this._isDisposed = false;
12
+ }
13
+ initFrom(file) {
14
+ this._content = file;
15
+ return this;
16
+ }
17
+ get isDisposed() {
18
+ return this._isDisposed;
19
+ }
20
+ dispose() {
21
+ this._isDisposed = true;
22
+ }
23
+ get id() {
24
+ var _a;
25
+ return (_a = this._content) === null || _a === void 0 ? void 0 : _a.id;
26
+ }
27
+ get name() {
28
+ var _a;
29
+ return (_a = this._content) === null || _a === void 0 ? void 0 : _a.name;
30
+ }
31
+ async url() {
32
+ var _a;
33
+ const response = await ((_a = this.context
34
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Files/url").searchParam("id", this.id).sendGet());
35
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
36
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get file ${this.id} url`, response);
37
+ }
38
+ return (await response.json()).url;
39
+ }
40
+ async status() {
41
+ var _a;
42
+ const response = await ((_a = this.context
43
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Files/fetch").searchParam("id", this.id).sendGet());
44
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
45
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get file ${this.id}`, response);
46
+ }
47
+ const content = await response.json();
48
+ return content.progress;
49
+ }
50
+ }
51
+ exports.FileImpl = FileImpl;
52
+ //# sourceMappingURL=file.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.impl.js","sourceRoot":"","sources":["../../../../src/storages/files/file.impl.ts"],"names":[],"mappings":";;;AAGA,0DAAsD;AACtD,gEAA4D;AAC5D,iCAA6B;AAE7B,MAAa,QAAS,SAAQ,WAAI;IAIhC,YAA6B,OAAgB;QAC3C,KAAK,EAAE,CAAA;QADoB,YAAO,GAAP,OAAO,CAAS;QAHrC,gBAAW,GAAY,KAAK,CAAA;IAKpC,CAAC;IAEM,QAAQ,CAAC,IAAa;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,EAAE;;QACJ,OAAe,MAAA,IAAI,CAAC,QAAQ,0CAAE,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,IAAI;;QACN,OAAe,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,GAAG;;QACP,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,kBAAkB,EAClC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EACzB,OAAO,EAAE,CAAA,CAAA;QAEZ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAC5B,sBAAsB,IAAI,CAAC,EAAE,MAAM,EACnC,QAAQ,CACT,CAAA;QACH,CAAC;QAED,OAAO,CAAC,MAAM,QAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,MAAM;;QACV,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,oBAAoB,EACpC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EACzB,OAAO,EAAE,CAAA,CAAA;QAEZ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAS,CAAC,IAAI,EAAE,CAAA;QACtC,OAAO,OAAO,CAAC,QAA2B,CAAA;IAC5C,CAAC;CACF;AA7DD,4BA6DC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.File = void 0;
4
+ /**
5
+ * File.
6
+ */
7
+ class File {
8
+ }
9
+ exports.File = File;
10
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/storages/files/file.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,MAAsB,IAAI;CAoBzB;AApBD,oBAoBC"}
@@ -0,0 +1,33 @@
1
+ import { EventDispatcher } from "../../events";
2
+ import { File, FileId } from "./file";
3
+ import { FilesPage } from "./filesPage";
4
+ /**
5
+ * Files event.
6
+ */
7
+ export declare enum FilesEvent {
8
+ ADDED = "added",
9
+ REMOVED = "removed"
10
+ }
11
+ /**
12
+ * Upload file.
13
+ */
14
+ export type UploadFile = globalThis.File;
15
+ /**
16
+ * Files storage.
17
+ */
18
+ export declare abstract class Files extends EventDispatcher<FilesEvent, File> {
19
+ /**
20
+ * Upload file.
21
+ */
22
+ abstract upload(file: UploadFile): Promise<File>;
23
+ /**
24
+ * Delete file.
25
+ * @param id
26
+ */
27
+ abstract delete(id: FileId): Promise<void>;
28
+ /**
29
+ * Query files.
30
+ */
31
+ abstract query(query: string, page: number, limit: number): Promise<FilesPage>;
32
+ }
33
+ //# sourceMappingURL=files.d.ts.map