@neuralinnovations/dataisland-sdk 0.0.1-dev8 → 0.0.1-dev80

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 (513) hide show
  1. package/README.md +209 -7
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/package.json +103 -0
  7. package/dist/src/appBuilder.d.ts +44 -0
  8. package/dist/src/appBuilder.d.ts.map +1 -0
  9. package/dist/src/appBuilder.js +10 -0
  10. package/dist/src/appBuilder.js.map +1 -0
  11. package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
  12. package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
  13. package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
  14. package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
  15. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  16. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  17. package/dist/src/commands/startCommandHandler.js +33 -0
  18. package/dist/src/commands/startCommandHandler.js.map +1 -0
  19. package/dist/src/context.d.ts +24 -0
  20. package/dist/src/context.d.ts.map +1 -0
  21. package/dist/src/context.js +31 -0
  22. package/dist/src/context.js.map +1 -0
  23. package/dist/src/credentials.d.ts +39 -0
  24. package/dist/src/credentials.d.ts.map +1 -0
  25. package/dist/src/credentials.js +105 -0
  26. package/dist/src/credentials.js.map +1 -0
  27. package/dist/src/dataIslandApp.d.ts +60 -0
  28. package/dist/src/dataIslandApp.d.ts.map +1 -0
  29. package/dist/src/dataIslandApp.js +10 -0
  30. package/dist/src/dataIslandApp.js.map +1 -0
  31. package/dist/src/disposable.d.ts +84 -0
  32. package/dist/src/disposable.d.ts.map +1 -0
  33. package/dist/src/disposable.js +147 -0
  34. package/dist/src/disposable.js.map +1 -0
  35. package/dist/src/dto/accessGroupResponse.d.ts +27 -0
  36. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  37. package/dist/src/dto/accessGroupResponse.js +3 -0
  38. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  39. package/dist/src/dto/acquiringResponse.d.ts +46 -0
  40. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  41. package/dist/src/dto/acquiringResponse.js +11 -0
  42. package/dist/src/dto/acquiringResponse.js.map +1 -0
  43. package/dist/src/dto/apiKeyResponse.d.ts +24 -0
  44. package/dist/src/dto/apiKeyResponse.d.ts.map +1 -0
  45. package/dist/src/dto/apiKeyResponse.js +3 -0
  46. package/dist/src/dto/apiKeyResponse.js.map +1 -0
  47. package/dist/src/dto/badRequestResponse.d.ts +6 -0
  48. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  49. package/dist/src/dto/badRequestResponse.js +3 -0
  50. package/dist/src/dto/badRequestResponse.js.map +1 -0
  51. package/dist/src/dto/chatResponse.d.ts +99 -0
  52. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  53. package/dist/src/dto/chatResponse.js +56 -0
  54. package/dist/src/dto/chatResponse.js.map +1 -0
  55. package/dist/src/dto/invitesResponse.d.ts +21 -0
  56. package/dist/src/dto/invitesResponse.d.ts.map +1 -0
  57. package/dist/src/dto/invitesResponse.js +3 -0
  58. package/dist/src/dto/invitesResponse.js.map +1 -0
  59. package/dist/src/dto/libraryResponse.d.ts +42 -0
  60. package/dist/src/dto/libraryResponse.d.ts.map +1 -0
  61. package/dist/src/dto/libraryResponse.js +3 -0
  62. package/dist/src/dto/libraryResponse.js.map +1 -0
  63. package/dist/src/dto/limitsResponse.d.ts +29 -0
  64. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  65. package/dist/src/dto/limitsResponse.js +13 -0
  66. package/dist/src/dto/limitsResponse.js.map +1 -0
  67. package/dist/src/dto/queryFlowResponse.d.ts +20 -0
  68. package/dist/src/dto/queryFlowResponse.d.ts.map +1 -0
  69. package/dist/src/dto/queryFlowResponse.js +10 -0
  70. package/dist/src/dto/queryFlowResponse.js.map +1 -0
  71. package/dist/src/dto/quizResponse.d.ts +11 -0
  72. package/dist/src/dto/quizResponse.d.ts.map +1 -0
  73. package/dist/src/dto/quizResponse.js +3 -0
  74. package/dist/src/dto/quizResponse.js.map +1 -0
  75. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  76. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  77. package/dist/src/dto/statisticsResponse.js +3 -0
  78. package/dist/src/dto/statisticsResponse.js.map +1 -0
  79. package/dist/src/dto/userInfoResponse.d.ts +93 -0
  80. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  81. package/dist/src/dto/userInfoResponse.js +3 -0
  82. package/dist/src/dto/userInfoResponse.js.map +1 -0
  83. package/dist/src/dto/workspacesResponse.d.ts +79 -0
  84. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  85. package/dist/src/dto/workspacesResponse.js +31 -0
  86. package/dist/src/dto/workspacesResponse.js.map +1 -0
  87. package/dist/src/events.d.ts +17 -0
  88. package/dist/src/events.d.ts.map +1 -0
  89. package/dist/src/events.js +52 -0
  90. package/dist/src/events.js.map +1 -0
  91. package/dist/src/index.d.ts +88 -0
  92. package/dist/src/index.d.ts.map +1 -0
  93. package/dist/src/index.js +140 -0
  94. package/dist/src/index.js.map +1 -0
  95. package/dist/src/internal/app.impl.d.ts +32 -0
  96. package/dist/src/internal/app.impl.d.ts.map +1 -0
  97. package/dist/src/internal/app.impl.js +187 -0
  98. package/dist/src/internal/app.impl.js.map +1 -0
  99. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  100. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  101. package/dist/src/internal/appBuilder.impl.js +71 -0
  102. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  103. package/dist/src/internal/createApp.impl.d.ts +4 -0
  104. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  105. package/dist/src/internal/createApp.impl.js +11 -0
  106. package/dist/src/internal/createApp.impl.js.map +1 -0
  107. package/dist/src/internal/registry.d.ts +66 -0
  108. package/dist/src/internal/registry.d.ts.map +1 -0
  109. package/dist/src/internal/registry.js +114 -0
  110. package/dist/src/internal/registry.js.map +1 -0
  111. package/dist/src/middleware.d.ts +6 -0
  112. package/dist/src/middleware.d.ts.map +1 -0
  113. package/dist/src/middleware.js +3 -0
  114. package/dist/src/middleware.js.map +1 -0
  115. package/dist/src/services/acquiringService.d.ts +9 -0
  116. package/dist/src/services/acquiringService.d.ts.map +1 -0
  117. package/dist/src/services/acquiringService.js +19 -0
  118. package/dist/src/services/acquiringService.js.map +1 -0
  119. package/dist/src/services/anonymousService.d.ts +8 -0
  120. package/dist/src/services/anonymousService.d.ts.map +1 -0
  121. package/dist/src/services/anonymousService.js +41 -0
  122. package/dist/src/services/anonymousService.js.map +1 -0
  123. package/dist/src/services/commandService.d.ts +18 -0
  124. package/dist/src/services/commandService.d.ts.map +1 -0
  125. package/dist/src/services/commandService.js +40 -0
  126. package/dist/src/services/commandService.js.map +1 -0
  127. package/dist/src/services/cookieService.d.ts +7 -0
  128. package/dist/src/services/cookieService.d.ts.map +1 -0
  129. package/dist/src/services/cookieService.js +18 -0
  130. package/dist/src/services/cookieService.js.map +1 -0
  131. package/dist/src/services/credentialService.d.ts +9 -0
  132. package/dist/src/services/credentialService.d.ts.map +1 -0
  133. package/dist/src/services/credentialService.js +26 -0
  134. package/dist/src/services/credentialService.js.map +1 -0
  135. package/dist/src/services/httpMethod.d.ts +2 -0
  136. package/dist/src/services/httpMethod.d.ts.map +1 -0
  137. package/dist/src/services/httpMethod.js +3 -0
  138. package/dist/src/services/httpMethod.js.map +1 -0
  139. package/dist/src/services/librariesService.d.ts +9 -0
  140. package/dist/src/services/librariesService.d.ts.map +1 -0
  141. package/dist/src/services/librariesService.js +19 -0
  142. package/dist/src/services/librariesService.js.map +1 -0
  143. package/dist/src/services/middlewareService.d.ts +10 -0
  144. package/dist/src/services/middlewareService.d.ts.map +1 -0
  145. package/dist/src/services/middlewareService.js +34 -0
  146. package/dist/src/services/middlewareService.js.map +1 -0
  147. package/dist/src/services/organizationService.d.ts +10 -0
  148. package/dist/src/services/organizationService.d.ts.map +1 -0
  149. package/dist/src/services/organizationService.js +19 -0
  150. package/dist/src/services/organizationService.js.map +1 -0
  151. package/dist/src/services/requestBuilder.d.ts +19 -0
  152. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  153. package/dist/src/services/requestBuilder.js +133 -0
  154. package/dist/src/services/requestBuilder.js.map +1 -0
  155. package/dist/src/services/responseUtils.d.ts +8 -0
  156. package/dist/src/services/responseUtils.d.ts.map +1 -0
  157. package/dist/src/services/responseUtils.js +40 -0
  158. package/dist/src/services/responseUtils.js.map +1 -0
  159. package/dist/src/services/rpcService.d.ts +77 -0
  160. package/dist/src/services/rpcService.d.ts.map +1 -0
  161. package/dist/src/services/rpcService.js +125 -0
  162. package/dist/src/services/rpcService.js.map +1 -0
  163. package/dist/src/services/service.d.ts +21 -0
  164. package/dist/src/services/service.d.ts.map +1 -0
  165. package/dist/src/services/service.js +41 -0
  166. package/dist/src/services/service.js.map +1 -0
  167. package/dist/src/services/userProfileService.d.ts +10 -0
  168. package/dist/src/services/userProfileService.d.ts.map +1 -0
  169. package/dist/src/services/userProfileService.js +59 -0
  170. package/dist/src/services/userProfileService.js.map +1 -0
  171. package/dist/src/storages/acquirings/acquiring.d.ts +41 -0
  172. package/dist/src/storages/acquirings/acquiring.d.ts.map +1 -0
  173. package/dist/src/storages/acquirings/acquiring.impl.d.ts +20 -0
  174. package/dist/src/storages/acquirings/acquiring.impl.d.ts.map +1 -0
  175. package/dist/src/storages/acquirings/acquiring.impl.js +92 -0
  176. package/dist/src/storages/acquirings/acquiring.impl.js.map +1 -0
  177. package/dist/src/storages/acquirings/acquiring.js +10 -0
  178. package/dist/src/storages/acquirings/acquiring.js.map +1 -0
  179. package/dist/src/storages/chats/answer.d.ts +41 -0
  180. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  181. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  182. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  183. package/dist/src/storages/chats/answer.impl.js +134 -0
  184. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  185. package/dist/src/storages/chats/answer.js +15 -0
  186. package/dist/src/storages/chats/answer.js.map +1 -0
  187. package/dist/src/storages/chats/chat.d.ts +52 -0
  188. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  189. package/dist/src/storages/chats/chat.impl.d.ts +27 -0
  190. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  191. package/dist/src/storages/chats/chat.impl.js +102 -0
  192. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  193. package/dist/src/storages/chats/chat.js +12 -0
  194. package/dist/src/storages/chats/chat.js.map +1 -0
  195. package/dist/src/storages/chats/chats.d.ts +63 -0
  196. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  197. package/dist/src/storages/chats/chats.impl.d.ts +22 -0
  198. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  199. package/dist/src/storages/chats/chats.impl.js +252 -0
  200. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  201. package/dist/src/storages/chats/chats.js +16 -0
  202. package/dist/src/storages/chats/chats.js.map +1 -0
  203. package/dist/src/storages/files/file.d.ts +59 -0
  204. package/dist/src/storages/files/file.d.ts.map +1 -0
  205. package/dist/src/storages/files/file.impl.d.ts +27 -0
  206. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  207. package/dist/src/storages/files/file.impl.js +104 -0
  208. package/dist/src/storages/files/file.impl.js.map +1 -0
  209. package/dist/src/storages/files/file.js +11 -0
  210. package/dist/src/storages/files/file.js.map +1 -0
  211. package/dist/src/storages/files/files.d.ts +39 -0
  212. package/dist/src/storages/files/files.d.ts.map +1 -0
  213. package/dist/src/storages/files/files.impl.d.ts +26 -0
  214. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  215. package/dist/src/storages/files/files.impl.js +199 -0
  216. package/dist/src/storages/files/files.impl.js.map +1 -0
  217. package/dist/src/storages/files/files.js +20 -0
  218. package/dist/src/storages/files/files.js.map +1 -0
  219. package/dist/src/storages/files/filesPage.d.ts +28 -0
  220. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  221. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  222. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  223. package/dist/src/storages/files/filesPage.impl.js +38 -0
  224. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  225. package/dist/src/storages/files/filesPage.js +10 -0
  226. package/dist/src/storages/files/filesPage.js.map +1 -0
  227. package/dist/src/storages/groups/group.d.ts +63 -0
  228. package/dist/src/storages/groups/group.d.ts.map +1 -0
  229. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  230. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  231. package/dist/src/storages/groups/group.impl.js +210 -0
  232. package/dist/src/storages/groups/group.impl.js.map +1 -0
  233. package/dist/src/storages/groups/group.js +15 -0
  234. package/dist/src/storages/groups/group.js.map +1 -0
  235. package/dist/src/storages/groups/groups.d.ts +43 -0
  236. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  237. package/dist/src/storages/groups/groups.impl.d.ts +31 -0
  238. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  239. package/dist/src/storages/groups/groups.impl.js +136 -0
  240. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  241. package/dist/src/storages/groups/groups.js +20 -0
  242. package/dist/src/storages/groups/groups.js.map +1 -0
  243. package/dist/src/storages/library/folderId.d.ts +2 -0
  244. package/dist/src/storages/library/folderId.d.ts.map +1 -0
  245. package/dist/src/storages/library/folderId.js +3 -0
  246. package/dist/src/storages/library/folderId.js.map +1 -0
  247. package/dist/src/storages/library/libraries.d.ts +48 -0
  248. package/dist/src/storages/library/libraries.d.ts.map +1 -0
  249. package/dist/src/storages/library/libraries.impl.d.ts +26 -0
  250. package/dist/src/storages/library/libraries.impl.d.ts.map +1 -0
  251. package/dist/src/storages/library/libraries.impl.js +148 -0
  252. package/dist/src/storages/library/libraries.impl.js.map +1 -0
  253. package/dist/src/storages/library/libraries.js +16 -0
  254. package/dist/src/storages/library/libraries.js.map +1 -0
  255. package/dist/src/storages/library/library.d.ts +26 -0
  256. package/dist/src/storages/library/library.d.ts.map +1 -0
  257. package/dist/src/storages/library/library.impl.d.ts +19 -0
  258. package/dist/src/storages/library/library.impl.d.ts.map +1 -0
  259. package/dist/src/storages/library/library.impl.js +98 -0
  260. package/dist/src/storages/library/library.impl.js.map +1 -0
  261. package/dist/src/storages/library/library.js +10 -0
  262. package/dist/src/storages/library/library.js.map +1 -0
  263. package/dist/src/storages/library/libraryFolder.d.ts +16 -0
  264. package/dist/src/storages/library/libraryFolder.d.ts.map +1 -0
  265. package/dist/src/storages/library/libraryFolder.impl.d.ts +22 -0
  266. package/dist/src/storages/library/libraryFolder.impl.d.ts.map +1 -0
  267. package/dist/src/storages/library/libraryFolder.impl.js +104 -0
  268. package/dist/src/storages/library/libraryFolder.impl.js.map +1 -0
  269. package/dist/src/storages/library/libraryFolder.js +7 -0
  270. package/dist/src/storages/library/libraryFolder.js.map +1 -0
  271. package/dist/src/storages/library/libraryId.d.ts +2 -0
  272. package/dist/src/storages/library/libraryId.d.ts.map +1 -0
  273. package/dist/src/storages/library/libraryId.js +3 -0
  274. package/dist/src/storages/library/libraryId.js.map +1 -0
  275. package/dist/src/storages/library/libraryPage.d.ts +45 -0
  276. package/dist/src/storages/library/libraryPage.d.ts.map +1 -0
  277. package/dist/src/storages/library/libraryPage.impl.d.ts +26 -0
  278. package/dist/src/storages/library/libraryPage.impl.d.ts.map +1 -0
  279. package/dist/src/storages/library/libraryPage.impl.js +29 -0
  280. package/dist/src/storages/library/libraryPage.impl.js.map +1 -0
  281. package/dist/src/storages/library/libraryPage.js +10 -0
  282. package/dist/src/storages/library/libraryPage.js.map +1 -0
  283. package/dist/src/storages/organizations/organization.d.ts +146 -0
  284. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  285. package/dist/src/storages/organizations/organization.impl.d.ts +59 -0
  286. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  287. package/dist/src/storages/organizations/organization.impl.js +372 -0
  288. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  289. package/dist/src/storages/organizations/organization.js +18 -0
  290. package/dist/src/storages/organizations/organization.js.map +1 -0
  291. package/dist/src/storages/organizations/organizations.d.ts +77 -0
  292. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  293. package/dist/src/storages/organizations/organizations.impl.d.ts +45 -0
  294. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  295. package/dist/src/storages/organizations/organizations.impl.js +242 -0
  296. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  297. package/dist/src/storages/organizations/organizations.js +20 -0
  298. package/dist/src/storages/organizations/organizations.js.map +1 -0
  299. package/dist/src/storages/queryFlows/queryFlow.d.ts +13 -0
  300. package/dist/src/storages/queryFlows/queryFlow.d.ts.map +1 -0
  301. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts +17 -0
  302. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts.map +1 -0
  303. package/dist/src/storages/queryFlows/queryFlow.impl.js +65 -0
  304. package/dist/src/storages/queryFlows/queryFlow.impl.js.map +1 -0
  305. package/dist/src/storages/queryFlows/queryFlow.js +12 -0
  306. package/dist/src/storages/queryFlows/queryFlow.js.map +1 -0
  307. package/dist/src/storages/queryFlows/queryFlows.d.ts +21 -0
  308. package/dist/src/storages/queryFlows/queryFlows.d.ts.map +1 -0
  309. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts +17 -0
  310. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts.map +1 -0
  311. package/dist/src/storages/queryFlows/queryFlows.impl.js +112 -0
  312. package/dist/src/storages/queryFlows/queryFlows.impl.js.map +1 -0
  313. package/dist/src/storages/queryFlows/queryFlows.js +16 -0
  314. package/dist/src/storages/queryFlows/queryFlows.js.map +1 -0
  315. package/dist/src/storages/user/userProfile.d.ts +64 -0
  316. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  317. package/dist/src/storages/user/userProfile.impl.d.ts +24 -0
  318. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  319. package/dist/src/storages/user/userProfile.impl.js +129 -0
  320. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  321. package/dist/src/storages/user/userProfile.js +12 -0
  322. package/dist/src/storages/user/userProfile.js.map +1 -0
  323. package/dist/src/storages/workspaces/workspace.d.ts +50 -0
  324. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  325. package/dist/src/storages/workspaces/workspace.impl.d.ts +25 -0
  326. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  327. package/dist/src/storages/workspaces/workspace.impl.js +133 -0
  328. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  329. package/dist/src/storages/workspaces/workspace.js +18 -0
  330. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  331. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  332. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  333. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  334. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  335. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  336. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  337. package/dist/src/storages/workspaces/workspaces.js +19 -0
  338. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  339. package/dist/src/unitTest.d.ts +12 -0
  340. package/dist/src/unitTest.d.ts.map +1 -0
  341. package/dist/src/unitTest.js +44 -0
  342. package/dist/src/unitTest.js.map +1 -0
  343. package/dist/src/utils/browserUtils.d.ts +4 -0
  344. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  345. package/dist/src/utils/browserUtils.js +64 -0
  346. package/dist/src/utils/browserUtils.js.map +1 -0
  347. package/dist/src/utils/request.d.ts +6 -0
  348. package/dist/src/utils/request.d.ts.map +1 -0
  349. package/dist/src/utils/request.js +3 -0
  350. package/dist/src/utils/request.js.map +1 -0
  351. package/dist/src/utils/utils.d.ts +3 -0
  352. package/dist/src/utils/utils.d.ts.map +1 -0
  353. package/dist/src/utils/utils.js +13 -0
  354. package/dist/src/utils/utils.js.map +1 -0
  355. package/index.d.ts +1 -0
  356. package/index.js +1 -0
  357. package/package.json +44 -5
  358. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  359. package/src/commands/startCommandHandler.ts +22 -5
  360. package/src/context.ts +4 -2
  361. package/src/credentials.ts +46 -0
  362. package/src/dataIslandApp.ts +14 -2
  363. package/src/disposable.ts +18 -5
  364. package/src/dto/accessGroupResponse.ts +17 -16
  365. package/src/dto/acquiringResponse.ts +54 -0
  366. package/src/dto/apiKeyResponse.ts +29 -0
  367. package/src/dto/badRequestResponse.ts +6 -0
  368. package/src/dto/chatResponse.ts +78 -54
  369. package/src/dto/invitesResponse.ts +25 -0
  370. package/src/dto/libraryResponse.ts +51 -0
  371. package/src/dto/limitsResponse.ts +32 -0
  372. package/src/dto/queryFlowResponse.ts +28 -0
  373. package/src/dto/quizResponse.ts +12 -0
  374. package/src/dto/statisticsResponse.ts +12 -0
  375. package/src/dto/userInfoResponse.ts +65 -2
  376. package/src/dto/workspacesResponse.ts +55 -7
  377. package/src/index.ts +73 -16
  378. package/src/internal/app.impl.ts +63 -12
  379. package/src/internal/registry.ts +54 -6
  380. package/src/middleware.ts +2 -0
  381. package/src/services/acquiringService.ts +21 -0
  382. package/src/services/anonymousService.ts +43 -0
  383. package/src/services/commandService.ts +4 -2
  384. package/src/services/cookieService.ts +16 -0
  385. package/src/services/httpMethod.ts +1 -0
  386. package/src/services/librariesService.ts +22 -0
  387. package/src/services/middlewareService.ts +1 -0
  388. package/src/services/organizationService.ts +2 -2
  389. package/src/services/requestBuilder.ts +48 -8
  390. package/src/services/responseUtils.ts +12 -0
  391. package/src/services/rpcService.ts +1 -0
  392. package/src/services/userProfileService.ts +36 -4
  393. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  394. package/src/storages/acquirings/acquiring.ts +54 -0
  395. package/src/storages/chats/answer.impl.ts +178 -0
  396. package/src/storages/chats/answer.ts +53 -0
  397. package/src/storages/chats/chat.impl.ts +135 -0
  398. package/src/storages/chats/chat.ts +66 -0
  399. package/src/storages/chats/chats.impl.ts +347 -0
  400. package/src/storages/chats/chats.ts +74 -0
  401. package/src/storages/files/file.impl.ts +126 -0
  402. package/src/storages/files/file.ts +78 -0
  403. package/src/storages/files/files.impl.ts +280 -0
  404. package/src/storages/{files.ts → files/files.ts} +14 -7
  405. package/src/storages/files/filesPage.impl.ts +37 -0
  406. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  407. package/src/storages/groups/group.impl.ts +276 -0
  408. package/src/storages/groups/group.ts +73 -0
  409. package/src/storages/groups/groups.impl.ts +180 -0
  410. package/src/storages/groups/groups.ts +50 -0
  411. package/src/storages/library/folderId.ts +1 -0
  412. package/src/storages/library/libraries.impl.ts +209 -0
  413. package/src/storages/library/libraries.ts +56 -0
  414. package/src/storages/library/library.impl.ts +151 -0
  415. package/src/storages/library/library.ts +30 -0
  416. package/src/storages/library/libraryFolder.impl.ts +144 -0
  417. package/src/storages/library/libraryFolder.ts +23 -0
  418. package/src/storages/library/libraryId.ts +1 -0
  419. package/src/storages/library/libraryPage.impl.ts +39 -0
  420. package/src/storages/library/libraryPage.ts +56 -0
  421. package/src/storages/organizations/organization.impl.ts +568 -0
  422. package/src/storages/organizations/organization.ts +179 -0
  423. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +161 -12
  424. package/src/storages/organizations/organizations.ts +93 -0
  425. package/src/storages/queryFlows/queryFlow.impl.ts +81 -0
  426. package/src/storages/queryFlows/queryFlow.ts +22 -0
  427. package/src/storages/queryFlows/queryFlows.impl.ts +154 -0
  428. package/src/storages/queryFlows/queryFlows.ts +31 -0
  429. package/src/storages/user/userProfile.impl.ts +157 -0
  430. package/src/storages/user/userProfile.ts +81 -0
  431. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +72 -12
  432. package/src/storages/{workspace.ts → workspaces/workspace.ts} +16 -3
  433. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +29 -32
  434. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  435. package/src/unitTest.ts +3 -3
  436. package/src/utils/browserUtils.ts +68 -0
  437. package/src/utils/request.ts +6 -0
  438. package/src/utils/utils.ts +8 -0
  439. package/.browserslistrc +0 -5
  440. package/.editorconfig +0 -25
  441. package/.eslintrc.json +0 -44
  442. package/.github/workflows/docs.yml +0 -32
  443. package/.github/workflows/format.yml +0 -42
  444. package/.github/workflows/publish-npm.yml +0 -33
  445. package/.github/workflows/tests.yml +0 -34
  446. package/.github/workflows/version.yml +0 -40
  447. package/.prettierignore +0 -1
  448. package/.prettierrc +0 -11
  449. package/.yarnrc +0 -2
  450. package/babel.config.js +0 -6
  451. package/docs/.nojekyll +0 -1
  452. package/docs/classes/BasicCredential.md +0 -80
  453. package/docs/classes/BearerCredential.md +0 -72
  454. package/docs/classes/Chat.md +0 -69
  455. package/docs/classes/Chats.md +0 -90
  456. package/docs/classes/CredentialBase.md +0 -54
  457. package/docs/classes/DataIslandApp.md +0 -168
  458. package/docs/classes/DebugCredential.md +0 -72
  459. package/docs/classes/DefaultCredential.md +0 -56
  460. package/docs/classes/DisposableContainer.md +0 -177
  461. package/docs/classes/EventDispatcher.md +0 -109
  462. package/docs/classes/File.md +0 -79
  463. package/docs/classes/Files.md +0 -136
  464. package/docs/classes/FilesPage.md +0 -76
  465. package/docs/classes/Group.md +0 -191
  466. package/docs/classes/Groups.md +0 -130
  467. package/docs/classes/Lifetime.md +0 -108
  468. package/docs/classes/Organization.md +0 -89
  469. package/docs/classes/Organizations.md +0 -195
  470. package/docs/classes/UserProfile.md +0 -156
  471. package/docs/classes/Workspace.md +0 -165
  472. package/docs/classes/Workspaces.md +0 -189
  473. package/docs/enums/ChatAnswer.md +0 -22
  474. package/docs/enums/ChatsEvent.md +0 -22
  475. package/docs/enums/FilesEvent.md +0 -24
  476. package/docs/enums/GroupEvent.md +0 -29
  477. package/docs/enums/OrganizationsEvent.md +0 -31
  478. package/docs/enums/UserEvent.md +0 -15
  479. package/docs/enums/WorkspaceEvent.md +0 -17
  480. package/docs/enums/WorkspacesEvent.md +0 -24
  481. package/docs/interfaces/Disposable.md +0 -25
  482. package/docs/interfaces/Event.md +0 -58
  483. package/docs/interfaces/EventSubscriber.md +0 -41
  484. package/docs/interfaces/Input.md +0 -35
  485. package/docs/modules.md +0 -205
  486. package/jest.config.ts +0 -199
  487. package/jest.setup.ts +0 -2
  488. package/scripts/docs/index.js +0 -15
  489. package/src/storages/chat.ts +0 -21
  490. package/src/storages/chats.ts +0 -17
  491. package/src/storages/file.impl.ts +0 -69
  492. package/src/storages/file.ts +0 -28
  493. package/src/storages/files.impl.ts +0 -213
  494. package/src/storages/groups.impl.ts +0 -337
  495. package/src/storages/groups.ts +0 -43
  496. package/src/storages/organization.impl.ts +0 -68
  497. package/src/storages/organization.ts +0 -33
  498. package/src/storages/organizations.ts +0 -56
  499. package/src/storages/userProfile.impl.ts +0 -56
  500. package/src/storages/userProfile.ts +0 -42
  501. package/test/commands.test.ts +0 -24
  502. package/test/data/test_file.pdf +0 -0
  503. package/test/disposable.test.ts +0 -39
  504. package/test/events.test.ts +0 -151
  505. package/test/files.test.ts +0 -52
  506. package/test/index.test.ts +0 -122
  507. package/test/organization.test.ts +0 -57
  508. package/test/registry.test.ts +0 -44
  509. package/test/services.test.ts +0 -56
  510. package/test/setup.ts +0 -54
  511. package/test/unitTest.test.ts +0 -21
  512. package/test/workspace.test.ts +0 -71
  513. package/tsconfig.json +0 -31
@@ -0,0 +1,135 @@
1
+ import { Chat, ChatAnswerType } from "./chat"
2
+ import { Disposable } from "../../disposable"
3
+ import { Answer, AnswerId } from "./answer"
4
+ import {ChatDto, ChatResourceDto} from "../../dto/chatResponse"
5
+ import { Context } from "../../context"
6
+ import { AnswerImpl } from "./answer.impl"
7
+ import { RpcService } from "../../services/rpcService"
8
+ import { ResponseUtils } from "../../services/responseUtils"
9
+ import { Organization } from "../organizations/organization"
10
+
11
+ export class ChatImpl extends Chat implements Disposable {
12
+ private _isDisposed: boolean = false
13
+ private _answers: AnswerImpl[] = []
14
+
15
+ private _content?: ChatDto
16
+
17
+ constructor(
18
+ private readonly context: Context,
19
+ public readonly organization: Organization
20
+ ) {
21
+ super()
22
+ }
23
+
24
+ async initFrom(chat: ChatDto): Promise<ChatImpl> {
25
+ this._content = chat
26
+
27
+ this._answers = []
28
+ // init answers
29
+ for (const ans of chat.answers) {
30
+ // create answer implementation
31
+ const answer = new AnswerImpl(this, this.context).initFromHistory(ans)
32
+
33
+ // add answer to the collection
34
+ this._answers.push(answer)
35
+ }
36
+
37
+ return this
38
+ }
39
+
40
+ async update(): Promise<void> {
41
+ const response = await this.context
42
+ .resolve(RpcService)
43
+ ?.requestBuilder("api/v1/Chats")
44
+ .searchParam("id", this.id)
45
+ .sendGet()
46
+
47
+ // check response status
48
+ if (ResponseUtils.isFail(response)) {
49
+ await ResponseUtils.throwError(
50
+ `Get chat for id ${this.id} is failed`,
51
+ response
52
+ )
53
+ }
54
+
55
+ // parse chat from the server's response
56
+ const chat = (await response!.json() as { chat: ChatDto }).chat as ChatDto
57
+
58
+ await this.initFrom(chat)
59
+ }
60
+
61
+ get id(): string {
62
+ return <string>this._content?.id
63
+ }
64
+
65
+ get name(): string {
66
+ return <string>this._content?.name
67
+ }
68
+
69
+ get resource(): ChatResourceDto {
70
+ return <ChatResourceDto>this._content?.resources
71
+ }
72
+
73
+ get model(): string {
74
+ return <string>this._content?.model
75
+ }
76
+
77
+ get clientContext(): string {
78
+ return <string>this._content?.clientContext
79
+ }
80
+
81
+ get collection(): readonly Answer[] {
82
+ return <Answer[]>this._answers
83
+ }
84
+
85
+ get isDisposed(): boolean {
86
+ return this._isDisposed
87
+ }
88
+
89
+ public getAnswer(id: AnswerId): Answer {
90
+ const answer = this._answers.find(answer => answer.id === id)
91
+ if (answer) {
92
+ return answer
93
+ }
94
+ throw new Error(`Answer with id ${id} is not found`)
95
+ }
96
+
97
+ async ask(message: string, answerType: ChatAnswerType): Promise<Answer | undefined> {
98
+
99
+ // send request to the server
100
+ const response = await this.context
101
+ .resolve(RpcService)
102
+ ?.requestBuilder("api/v1/Chats/question")
103
+ .sendPutJson({
104
+ chatId: this.id,
105
+ questionMessage: message,
106
+ isLongAnswer: (answerType === ChatAnswerType.LONG)
107
+ })
108
+
109
+ // check response status
110
+ if (ResponseUtils.isFail(response)) {
111
+ if (await ResponseUtils.isLimitReached()){
112
+ return undefined
113
+ }
114
+ await ResponseUtils.throwError(`Failed to ask a question, organization: ${this.organization.id}`, response)
115
+ }
116
+
117
+ // parse answer id from the server's response
118
+ const id = (await response!.json() as { id: string }).id
119
+
120
+ // create answer implementation
121
+ const answer = await new AnswerImpl(this, this.context).initNew(id, message)
122
+
123
+ // add answer to the collection
124
+ this._answers.push(answer)
125
+
126
+ return answer
127
+ }
128
+
129
+
130
+
131
+ dispose(): void {
132
+ this._isDisposed = true
133
+ }
134
+
135
+ }
@@ -0,0 +1,66 @@
1
+ import { Answer } from "./answer"
2
+ import { Organization } from "../organizations/organization"
3
+ import {ChatResourceDto} from "../../dto/chatResponse"
4
+
5
+ export type ChatId = string
6
+
7
+ export enum ChatAnswerType {
8
+ SHORT = "short",
9
+ LONG = "long"
10
+ }
11
+
12
+ export abstract class Chat {
13
+
14
+ /**
15
+ * Organization.
16
+ */
17
+ abstract get organization(): Organization
18
+
19
+ /**
20
+ * Chat id.
21
+ */
22
+ abstract get id(): ChatId
23
+
24
+ /**
25
+ * Chat name.
26
+ */
27
+ abstract get name(): string
28
+
29
+ /**
30
+ * Chat resource info : type ChatType, related entities Ids.
31
+ */
32
+ abstract get resource(): ChatResourceDto
33
+
34
+ /**
35
+ * Model.
36
+ */
37
+ abstract get model(): string
38
+
39
+ /**
40
+ * Added client context.
41
+ */
42
+ abstract get clientContext(): string
43
+
44
+ /**
45
+ * Answers list.
46
+ */
47
+ abstract get collection(): ReadonlyArray<Answer>
48
+
49
+ /**
50
+ * Get answer by id
51
+ * @param id answer id
52
+ */
53
+ abstract getAnswer(id: string): Answer
54
+
55
+ /**
56
+ * Update chat
57
+ */
58
+ abstract update(): Promise<void>
59
+
60
+ /**
61
+ * Ask new question in chat.
62
+ */
63
+ abstract ask(message: string, answerType: ChatAnswerType): Promise<Answer | undefined>
64
+
65
+ }
66
+
@@ -0,0 +1,347 @@
1
+ import { Context } from "../../context"
2
+ import { ChatDto, ChatListResponse } from "../../dto/chatResponse"
3
+ import { ResponseUtils } from "../../services/responseUtils"
4
+ import { RpcService } from "../../services/rpcService"
5
+ import { OrganizationImpl } from "../organizations/organization.impl"
6
+ import { OrganizationId } from "../organizations/organizations"
7
+ import { Chat } from "./chat"
8
+ import { ChatImpl } from "./chat.impl"
9
+ import { Chats, ChatsEvent } from "./chats"
10
+
11
+ export class ChatsImpl extends Chats {
12
+ private readonly _chats: Chat[] = []
13
+
14
+ constructor(
15
+ public readonly organization: OrganizationImpl,
16
+ private readonly context: Context
17
+ ) {
18
+ super()
19
+ }
20
+
21
+ async initFrom(organizationId: OrganizationId): Promise<void> {
22
+ // init chats from the server's response
23
+ const limit = 100
24
+ const page = 0
25
+ const response = await this.context
26
+ .resolve(RpcService)
27
+ ?.requestBuilder("api/v1/Chats/list")
28
+ .searchParam("organizationId", organizationId)
29
+ .searchParam("limit", limit.toString())
30
+ .searchParam("page", page.toString())
31
+ .sendGet()
32
+
33
+ // check response status
34
+ if (ResponseUtils.isFail(response)) {
35
+ await ResponseUtils.throwError(
36
+ `Chats list org id:${organizationId}, page:${page}, limit:${limit}, failed`,
37
+ response
38
+ )
39
+ }
40
+
41
+ // parse chats from the server's response
42
+ const chats = (await response!.json()) as ChatListResponse
43
+
44
+ // init chats
45
+ for (const cht of chats.chats) {
46
+ // create chat implementation
47
+ const chat = await new ChatImpl(this.context, this.organization).initFrom(cht)
48
+
49
+ // add chat to the collection
50
+ this._chats.push(chat)
51
+
52
+ // dispatch event
53
+ this.dispatch({
54
+ type: ChatsEvent.ADDED,
55
+ data: chat
56
+ })
57
+ }
58
+
59
+ }
60
+
61
+ get collection(): readonly Chat[] {
62
+ return this._chats
63
+ }
64
+
65
+ get(id: string): Chat {
66
+ return <Chat>this.tryGet(id)
67
+ }
68
+
69
+ tryGet(id: string): Chat | undefined {
70
+ return this._chats.find(chat => chat.id === id)
71
+ }
72
+
73
+ async create(model: string, clientContext: string = ""): Promise<Chat | undefined> {
74
+ if (model === undefined || model === null) {
75
+ throw new Error("Create chat, model is undefined or null")
76
+ }
77
+
78
+ if (model.length === 0) {
79
+ throw new Error("Create chat, model is empty")
80
+ }
81
+
82
+ // send create request to the server
83
+ const response = await this.context
84
+ .resolve(RpcService)
85
+ ?.requestBuilder("api/v1/Chats/workspaces")
86
+ .sendPostJson({ organizationId: this.organization.id, model: model, clientContext: clientContext })
87
+
88
+ // check response status
89
+ if (ResponseUtils.isFail(response)) {
90
+ if (await ResponseUtils.isLimitReached()){
91
+ return undefined
92
+ }
93
+
94
+ await ResponseUtils.throwError(`Failed to create chat, organization: ${this.organization.id}`, response)
95
+ }
96
+
97
+ // parse workspace from the server's response
98
+ const content = (await response!.json() as {
99
+ chat: ChatDto
100
+ }).chat as ChatDto
101
+
102
+ // create workspace implementation
103
+ const chat = new ChatImpl(this.context, this.organization)
104
+ await chat.initFrom(content)
105
+
106
+ // add chat to the collection
107
+ this._chats.push(chat)
108
+
109
+ // dispatch event
110
+ this.dispatch({
111
+ type: ChatsEvent.ADDED,
112
+ data: chat
113
+ })
114
+
115
+ return chat
116
+ }
117
+
118
+ async createWithFile(fileId: string): Promise<Chat | undefined> {
119
+ if (fileId === undefined || fileId === null) {
120
+ throw new Error("Create chat with file, id is undefined or null")
121
+ }
122
+ if (fileId.length === 0 || fileId.trim().length === 0) {
123
+ throw new Error("Create chat with file, id is empty")
124
+ }
125
+
126
+ // send create request to the server
127
+ const response = await this.context
128
+ .resolve(RpcService)
129
+ ?.requestBuilder("api/v1/Chats/file")
130
+ .sendPostJson({
131
+ organizationId: this.organization.id,
132
+ fileId: fileId,
133
+ model: "search"
134
+ })
135
+
136
+ // check response status
137
+ if (ResponseUtils.isFail(response)) {
138
+ if (await ResponseUtils.isLimitReached()){
139
+ return undefined
140
+ }
141
+
142
+ await ResponseUtils.throwError(`Failed to create chat, organization: ${this.organization.id}`, response)
143
+ }
144
+
145
+ // parse workspace from the server's response
146
+ const content = (await response!.json() as {
147
+ chat: ChatDto
148
+ }).chat as ChatDto
149
+
150
+ // create workspace implementation
151
+ const chat = new ChatImpl(this.context, this.organization)
152
+ await chat.initFrom(content)
153
+
154
+ // add chat to the collection
155
+ this._chats.push(chat)
156
+
157
+ // dispatch event
158
+ this.dispatch({
159
+ type: ChatsEvent.ADDED,
160
+ data: chat
161
+ })
162
+
163
+ return chat
164
+ }
165
+
166
+ async createWithWorkspace(workspaceIds: string[], clientContext: string = ""): Promise<Chat | undefined> {
167
+ if (workspaceIds === undefined || workspaceIds === null) {
168
+ throw new Error("Create chat with workspace, ids are undefined or null")
169
+ }
170
+ if (workspaceIds.length === 0) {
171
+ throw new Error("Create chat with workspace, ids are empty")
172
+ }
173
+
174
+ // send create request to the server
175
+ const response = await this.context
176
+ .resolve(RpcService)
177
+ ?.requestBuilder("api/v1/Chats/workspaces")
178
+ .sendPostJson({
179
+ organizationId: this.organization.id,
180
+ model: "search",
181
+ clientContext: clientContext,
182
+ workspaceIds: workspaceIds
183
+ })
184
+
185
+ // check response status
186
+ if (ResponseUtils.isFail(response)) {
187
+ if (await ResponseUtils.isLimitReached()){
188
+ return undefined
189
+ }
190
+
191
+ await ResponseUtils.throwError(`Failed to create chat in workspace, organization: ${this.organization.id}`, response)
192
+ }
193
+
194
+ // parse workspace from the server's response
195
+ const content = (await response!.json() as {
196
+ chat: ChatDto
197
+ }).chat as ChatDto
198
+
199
+ // create workspace implementation
200
+ const chat = new ChatImpl(this.context, this.organization)
201
+ await chat.initFrom(content)
202
+
203
+ // add chat to the collection
204
+ this._chats.push(chat)
205
+
206
+ // dispatch event
207
+ this.dispatch({
208
+ type: ChatsEvent.ADDED,
209
+ data: chat
210
+ })
211
+
212
+ return chat
213
+ }
214
+
215
+ async createWithLibraryFolder(libraryId: string, folderIds: string[] | null = null): Promise<Chat | undefined>{
216
+ if (libraryId === undefined || libraryId === null || libraryId.trim() === "") {
217
+ throw new Error("Create chat with library folder, library id is undefined, null or empty")
218
+ }
219
+
220
+ // send create request to the server
221
+ const response = await this.context
222
+ .resolve(RpcService)
223
+ ?.requestBuilder("api/v1/chats/library/folders")
224
+ .sendPostJson({
225
+ libraryId: libraryId,
226
+ folderIds: folderIds,
227
+ model: "search",
228
+ clientContext: "",
229
+ })
230
+
231
+ // check response status
232
+ if (ResponseUtils.isFail(response)) {
233
+ if (await ResponseUtils.isLimitReached()){
234
+ return undefined
235
+ }
236
+
237
+ await ResponseUtils.throwError(`Failed to create chat in library with folder, library: ${libraryId}`, response)
238
+ }
239
+
240
+ // parse workspace from the server's response
241
+ const content = (await response!.json() as {
242
+ chat: ChatDto
243
+ }).chat as ChatDto
244
+
245
+ // create workspace implementation
246
+ const chat = new ChatImpl(this.context, this.organization)
247
+ await chat.initFrom(content)
248
+
249
+ // add chat to the collection
250
+ this._chats.push(chat)
251
+
252
+ // dispatch event
253
+ this.dispatch({
254
+ type: ChatsEvent.ADDED,
255
+ data: chat
256
+ })
257
+
258
+ return chat
259
+ }
260
+
261
+ async createWithLibraryFile(libraryId: string, fileId: string): Promise<Chat | undefined>{
262
+ if (libraryId === undefined || libraryId === null || libraryId.trim() === "") {
263
+ throw new Error("Create chat with library file, library id is undefined, null or empty")
264
+ }
265
+
266
+ // send create request to the server
267
+ const response = await this.context
268
+ .resolve(RpcService)
269
+ ?.requestBuilder("api/v1/chats/library/file")
270
+ .sendPostJson({
271
+ libraryId: libraryId,
272
+ fileId: fileId,
273
+ model: "search",
274
+ clientContext: "",
275
+ })
276
+
277
+ // check response status
278
+ if (ResponseUtils.isFail(response)) {
279
+ if (await ResponseUtils.isLimitReached()){
280
+ return undefined
281
+ }
282
+
283
+ await ResponseUtils.throwError(`Failed to create chat in library with file, library: ${libraryId}`, response)
284
+ }
285
+
286
+ // parse workspace from the server's response
287
+ const content = (await response!.json() as {
288
+ chat: ChatDto
289
+ }).chat as ChatDto
290
+
291
+ // create workspace implementation
292
+ const chat = new ChatImpl(this.context, this.organization)
293
+ await chat.initFrom(content)
294
+
295
+ // add chat to the collection
296
+ this._chats.push(chat)
297
+
298
+ // dispatch event
299
+ this.dispatch({
300
+ type: ChatsEvent.ADDED,
301
+ data: chat
302
+ })
303
+
304
+ return chat
305
+ }
306
+
307
+
308
+
309
+
310
+ async delete(id: string): Promise<void> {
311
+ // get chat by id
312
+ const chat = <ChatImpl>this.tryGet(id)
313
+
314
+ // check if chat is found
315
+ if (!chat) {
316
+ throw new Error(`Chat ${id} is not found, organization: ${this.organization.id}`)
317
+ }
318
+
319
+ // send delete request to the server
320
+ const response = await this.context
321
+ .resolve(RpcService)
322
+ ?.requestBuilder("api/v1/Chats")
323
+ .searchParam("id", id)
324
+ .sendDelete()
325
+
326
+ // check response status
327
+ if (ResponseUtils.isFail(response)) {
328
+ await ResponseUtils.throwError(
329
+ `Failed to delete chat: ${id}, organization: ${this.organization.id}`,
330
+ response
331
+ )
332
+ }
333
+
334
+ // remove chat from the collection
335
+ const index = this._chats.indexOf(<ChatImpl>chat)
336
+ if (index < 0) {
337
+ throw new Error(`Chat ${id} is not found, organization: ${this.organization.id}`)
338
+ }
339
+ this._chats.splice(index, 1)
340
+
341
+ // dispatch event
342
+ this.dispatch({
343
+ type: ChatsEvent.REMOVED,
344
+ data: chat
345
+ })
346
+ }
347
+ }
@@ -0,0 +1,74 @@
1
+ import { EventDispatcher } from "../../events"
2
+ import { Chat, ChatId } from "./chat"
3
+ import { Organization } from "../organizations/organization"
4
+
5
+ export enum ChatsEvent {
6
+ ADDED = "added",
7
+ REMOVED = "removed"
8
+ }
9
+
10
+ /**
11
+ * Chats storage.
12
+ */
13
+ export abstract class Chats extends EventDispatcher<ChatsEvent, Chat> {
14
+
15
+ /**
16
+ * Organization.
17
+ */
18
+ abstract get organization(): Organization
19
+
20
+ /**
21
+ * Chats list.
22
+ */
23
+ abstract get collection(): ReadonlyArray<Chat>
24
+
25
+ /**
26
+ * Create new chat.
27
+ */
28
+ abstract create(model: string, clientContext: string): Promise<Chat | undefined>
29
+
30
+ /**
31
+ * Create chat with specific file
32
+ * @param fileId
33
+ */
34
+ abstract createWithFile(fileId: string): Promise<Chat | undefined>
35
+
36
+ /**
37
+ * Create chat with specific workspace
38
+ * @param workspaceIds
39
+ * @param clientContext
40
+ */
41
+ abstract createWithWorkspace(workspaceIds: string[], clientContext: string): Promise<Chat | undefined>
42
+
43
+ /**
44
+ * Create chat with library folders
45
+ * @param libraryId
46
+ * @param folderIds
47
+ */
48
+ abstract createWithLibraryFolder(libraryId: string, folderIds: string[]): Promise<Chat | undefined>
49
+
50
+ /**
51
+ * Create chat with library file
52
+ * @param libraryId
53
+ * @param fileId
54
+ */
55
+ abstract createWithLibraryFile(libraryId: string, fileId: string): Promise<Chat | undefined>
56
+
57
+ /**
58
+ * Get chat by id.
59
+ * @param id
60
+ */
61
+ abstract get(id: ChatId): Chat
62
+
63
+ /**
64
+ * Try to get chat by id.
65
+ * @param id
66
+ */
67
+ abstract tryGet(id: ChatId): Chat | undefined
68
+
69
+ /**
70
+ * Delete chat.
71
+ * @param id
72
+ */
73
+ abstract delete(id: ChatId): Promise<void>
74
+ }