@neuralinnovations/dataisland-sdk 0.0.1-dev9 → 0.1.1

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 (511) hide show
  1. package/README.md +178 -9
  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 +34 -0
  68. package/dist/src/dto/queryFlowResponse.d.ts.map +1 -0
  69. package/dist/src/dto/queryFlowResponse.js +19 -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 +99 -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 +129 -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 +60 -0
  188. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  189. package/dist/src/storages/chats/chat.impl.d.ts +29 -0
  190. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  191. package/dist/src/storages/chats/chat.impl.js +110 -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 +25 -0
  198. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  199. package/dist/src/storages/chats/chats.impl.js +287 -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 +30 -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 +164 -0
  284. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  285. package/dist/src/storages/organizations/organization.impl.d.ts +63 -0
  286. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  287. package/dist/src/storages/organizations/organization.impl.js +388 -0
  288. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  289. package/dist/src/storages/organizations/organization.js +27 -0
  290. package/dist/src/storages/organizations/organization.js.map +1 -0
  291. package/dist/src/storages/organizations/organizationPrompts.d.ts +33 -0
  292. package/dist/src/storages/organizations/organizationPrompts.d.ts.map +1 -0
  293. package/dist/src/storages/organizations/organizationPrompts.impl.d.ts +17 -0
  294. package/dist/src/storages/organizations/organizationPrompts.impl.d.ts.map +1 -0
  295. package/dist/src/storages/organizations/organizationPrompts.impl.js +71 -0
  296. package/dist/src/storages/organizations/organizationPrompts.impl.js.map +1 -0
  297. package/dist/src/storages/organizations/organizationPrompts.js +7 -0
  298. package/dist/src/storages/organizations/organizationPrompts.js.map +1 -0
  299. package/dist/src/storages/organizations/organizations.d.ts +81 -0
  300. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  301. package/dist/src/storages/organizations/organizations.impl.d.ts +46 -0
  302. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  303. package/dist/src/storages/organizations/organizations.impl.js +256 -0
  304. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  305. package/dist/src/storages/organizations/organizations.js +20 -0
  306. package/dist/src/storages/organizations/organizations.js.map +1 -0
  307. package/dist/src/storages/queryFlows/queryFlow.d.ts +14 -0
  308. package/dist/src/storages/queryFlows/queryFlow.d.ts.map +1 -0
  309. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts +18 -0
  310. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts.map +1 -0
  311. package/dist/src/storages/queryFlows/queryFlow.impl.js +81 -0
  312. package/dist/src/storages/queryFlows/queryFlow.impl.js.map +1 -0
  313. package/dist/src/storages/queryFlows/queryFlow.js +12 -0
  314. package/dist/src/storages/queryFlows/queryFlow.js.map +1 -0
  315. package/dist/src/storages/queryFlows/queryFlows.d.ts +21 -0
  316. package/dist/src/storages/queryFlows/queryFlows.d.ts.map +1 -0
  317. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts +16 -0
  318. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts.map +1 -0
  319. package/dist/src/storages/queryFlows/queryFlows.impl.js +110 -0
  320. package/dist/src/storages/queryFlows/queryFlows.impl.js.map +1 -0
  321. package/dist/src/storages/queryFlows/queryFlows.js +16 -0
  322. package/dist/src/storages/queryFlows/queryFlows.js.map +1 -0
  323. package/dist/src/storages/user/userProfile.d.ts +68 -0
  324. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  325. package/dist/src/storages/user/userProfile.impl.d.ts +25 -0
  326. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  327. package/dist/src/storages/user/userProfile.impl.js +145 -0
  328. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  329. package/dist/src/storages/user/userProfile.js +12 -0
  330. package/dist/src/storages/user/userProfile.js.map +1 -0
  331. package/dist/src/storages/workspaces/workspace.d.ts +50 -0
  332. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  333. package/dist/src/storages/workspaces/workspace.impl.d.ts +25 -0
  334. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  335. package/dist/src/storages/workspaces/workspace.impl.js +133 -0
  336. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  337. package/dist/src/storages/workspaces/workspace.js +18 -0
  338. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  339. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  340. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  341. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  342. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  343. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  344. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  345. package/dist/src/storages/workspaces/workspaces.js +19 -0
  346. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  347. package/dist/src/unitTest.d.ts +12 -0
  348. package/dist/src/unitTest.d.ts.map +1 -0
  349. package/dist/src/unitTest.js +44 -0
  350. package/dist/src/unitTest.js.map +1 -0
  351. package/dist/src/utils/browserUtils.d.ts +4 -0
  352. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  353. package/dist/src/utils/browserUtils.js +64 -0
  354. package/dist/src/utils/browserUtils.js.map +1 -0
  355. package/dist/src/utils/request.d.ts +6 -0
  356. package/dist/src/utils/request.d.ts.map +1 -0
  357. package/dist/src/utils/request.js +3 -0
  358. package/dist/src/utils/request.js.map +1 -0
  359. package/dist/src/utils/utils.d.ts +3 -0
  360. package/dist/src/utils/utils.d.ts.map +1 -0
  361. package/dist/src/utils/utils.js +13 -0
  362. package/dist/src/utils/utils.js.map +1 -0
  363. package/index.d.ts +1 -0
  364. package/index.js +1 -0
  365. package/package.json +42 -7
  366. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  367. package/src/commands/startCommandHandler.ts +22 -5
  368. package/src/context.ts +4 -2
  369. package/src/credentials.ts +46 -0
  370. package/src/dataIslandApp.ts +12 -0
  371. package/src/disposable.ts +18 -5
  372. package/src/dto/accessGroupResponse.ts +17 -16
  373. package/src/dto/acquiringResponse.ts +54 -0
  374. package/src/dto/apiKeyResponse.ts +29 -0
  375. package/src/dto/badRequestResponse.ts +6 -0
  376. package/src/dto/chatResponse.ts +33 -8
  377. package/src/dto/invitesResponse.ts +25 -0
  378. package/src/dto/libraryResponse.ts +51 -0
  379. package/src/dto/limitsResponse.ts +32 -0
  380. package/src/dto/queryFlowResponse.ts +42 -0
  381. package/src/dto/quizResponse.ts +12 -0
  382. package/src/dto/statisticsResponse.ts +12 -0
  383. package/src/dto/userInfoResponse.ts +72 -2
  384. package/src/dto/workspacesResponse.ts +53 -5
  385. package/src/index.ts +71 -14
  386. package/src/internal/app.impl.ts +61 -10
  387. package/src/internal/registry.ts +54 -6
  388. package/src/middleware.ts +2 -0
  389. package/src/services/acquiringService.ts +21 -0
  390. package/src/services/anonymousService.ts +43 -0
  391. package/src/services/commandService.ts +4 -2
  392. package/src/services/cookieService.ts +16 -0
  393. package/src/services/httpMethod.ts +1 -0
  394. package/src/services/librariesService.ts +22 -0
  395. package/src/services/middlewareService.ts +1 -0
  396. package/src/services/requestBuilder.ts +49 -9
  397. package/src/services/responseUtils.ts +12 -0
  398. package/src/services/rpcService.ts +1 -0
  399. package/src/services/userProfileService.ts +34 -2
  400. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  401. package/src/storages/acquirings/acquiring.ts +54 -0
  402. package/src/storages/chats/answer.impl.ts +78 -66
  403. package/src/storages/chats/answer.ts +23 -12
  404. package/src/storages/chats/chat.impl.ts +63 -8
  405. package/src/storages/chats/chat.ts +39 -1
  406. package/src/storages/chats/chats.impl.ts +260 -5
  407. package/src/storages/chats/chats.ts +28 -1
  408. package/src/storages/files/file.impl.ts +83 -26
  409. package/src/storages/files/file.ts +55 -5
  410. package/src/storages/files/files.impl.ts +130 -63
  411. package/src/storages/files/files.ts +12 -5
  412. package/src/storages/files/filesPage.impl.ts +37 -0
  413. package/src/storages/files/filesPage.ts +6 -0
  414. package/src/storages/groups/group.impl.ts +276 -0
  415. package/src/storages/groups/group.ts +73 -0
  416. package/src/storages/groups/groups.impl.ts +31 -177
  417. package/src/storages/groups/groups.ts +9 -60
  418. package/src/storages/library/folderId.ts +1 -0
  419. package/src/storages/library/libraries.impl.ts +209 -0
  420. package/src/storages/library/libraries.ts +56 -0
  421. package/src/storages/library/library.impl.ts +151 -0
  422. package/src/storages/library/library.ts +35 -0
  423. package/src/storages/library/libraryFolder.impl.ts +144 -0
  424. package/src/storages/library/libraryFolder.ts +23 -0
  425. package/src/storages/library/libraryId.ts +1 -0
  426. package/src/storages/library/libraryPage.impl.ts +39 -0
  427. package/src/storages/library/libraryPage.ts +56 -0
  428. package/src/storages/organizations/organization.impl.ts +506 -8
  429. package/src/storages/organizations/organization.ts +167 -5
  430. package/src/storages/organizations/organizationPrompts.impl.ts +109 -0
  431. package/src/storages/organizations/organizationPrompts.ts +41 -0
  432. package/src/storages/organizations/organizations.impl.ts +170 -9
  433. package/src/storages/organizations/organizations.ts +42 -0
  434. package/src/storages/queryFlows/queryFlow.impl.ts +96 -0
  435. package/src/storages/queryFlows/queryFlow.ts +28 -0
  436. package/src/storages/queryFlows/queryFlows.impl.ts +149 -0
  437. package/src/storages/queryFlows/queryFlows.ts +31 -0
  438. package/src/storages/user/userProfile.impl.ts +122 -0
  439. package/src/storages/user/userProfile.ts +44 -0
  440. package/src/storages/workspaces/workspace.impl.ts +65 -5
  441. package/src/storages/workspaces/workspace.ts +13 -0
  442. package/src/storages/workspaces/workspaces.impl.ts +19 -22
  443. package/src/storages/workspaces/workspaces.ts +5 -1
  444. package/src/unitTest.ts +3 -3
  445. package/src/utils/browserUtils.ts +68 -0
  446. package/src/utils/request.ts +6 -0
  447. package/src/utils/utils.ts +8 -0
  448. package/.browserslistrc +0 -5
  449. package/.editorconfig +0 -25
  450. package/.eslintrc.json +0 -44
  451. package/.github/workflows/docs.yml +0 -32
  452. package/.github/workflows/format.yml +0 -42
  453. package/.github/workflows/publish-npm.yml +0 -44
  454. package/.github/workflows/tests.yml +0 -38
  455. package/.github/workflows/version.yml +0 -44
  456. package/.prettierignore +0 -1
  457. package/.prettierrc +0 -11
  458. package/.yarnrc +0 -2
  459. package/babel.config.js +0 -6
  460. package/docs/.nojekyll +0 -1
  461. package/docs/classes/BasicCredential.md +0 -80
  462. package/docs/classes/BearerCredential.md +0 -72
  463. package/docs/classes/Chat.md +0 -97
  464. package/docs/classes/Chats.md +0 -176
  465. package/docs/classes/CredentialBase.md +0 -54
  466. package/docs/classes/DataIslandApp.md +0 -168
  467. package/docs/classes/DebugCredential.md +0 -72
  468. package/docs/classes/DefaultCredential.md +0 -56
  469. package/docs/classes/DisposableContainer.md +0 -177
  470. package/docs/classes/EventDispatcher.md +0 -109
  471. package/docs/classes/File.md +0 -79
  472. package/docs/classes/Files.md +0 -136
  473. package/docs/classes/FilesPage.md +0 -76
  474. package/docs/classes/Group.md +0 -209
  475. package/docs/classes/Groups.md +0 -154
  476. package/docs/classes/Lifetime.md +0 -108
  477. package/docs/classes/Organization.md +0 -125
  478. package/docs/classes/Organizations.md +0 -195
  479. package/docs/classes/UserProfile.md +0 -156
  480. package/docs/classes/Workspace.md +0 -165
  481. package/docs/classes/Workspaces.md +0 -193
  482. package/docs/enums/ChatAnswerType.md +0 -22
  483. package/docs/enums/ChatsEvent.md +0 -22
  484. package/docs/enums/FilesEvent.md +0 -24
  485. package/docs/enums/GroupEvent.md +0 -31
  486. package/docs/enums/OrganizationsEvent.md +0 -31
  487. package/docs/enums/UserEvent.md +0 -15
  488. package/docs/enums/WorkspaceEvent.md +0 -17
  489. package/docs/enums/WorkspacesEvent.md +0 -24
  490. package/docs/interfaces/Disposable.md +0 -25
  491. package/docs/interfaces/Event.md +0 -58
  492. package/docs/interfaces/EventSubscriber.md +0 -41
  493. package/docs/interfaces/Input.md +0 -35
  494. package/docs/modules.md +0 -207
  495. package/jest.config.ts +0 -199
  496. package/jest.setup.ts +0 -2
  497. package/scripts/docs/index.js +0 -15
  498. package/test/chats.test.ts +0 -48
  499. package/test/commands.test.ts +0 -24
  500. package/test/data/test_file.pdf +0 -0
  501. package/test/disposable.test.ts +0 -39
  502. package/test/events.test.ts +0 -151
  503. package/test/files.test.ts +0 -52
  504. package/test/index.test.ts +0 -122
  505. package/test/organization.test.ts +0 -69
  506. package/test/registry.test.ts +0 -44
  507. package/test/services.test.ts +0 -56
  508. package/test/setup.ts +0 -61
  509. package/test/unitTest.test.ts +0 -21
  510. package/test/workspace.test.ts +0 -71
  511. package/tsconfig.json +0 -31
@@ -0,0 +1,22 @@
1
+ import { Service, ServiceContext } from "./service"
2
+ import {LibrariesImpl} from "../storages/library/libraries.impl"
3
+ import {Libraries} from "../storages/library/libraries"
4
+
5
+ export class LibrariesService extends Service {
6
+ private readonly _libraries: LibrariesImpl
7
+
8
+ constructor(serviceContext: ServiceContext) {
9
+ super(serviceContext)
10
+
11
+ this._libraries = new LibrariesImpl(serviceContext.context)
12
+ }
13
+
14
+ async initialize(): Promise<void> {
15
+ return await this._libraries.initialize()
16
+ }
17
+
18
+ get libraries(): Libraries {
19
+ return this._libraries
20
+ }
21
+
22
+ }
@@ -1,6 +1,7 @@
1
1
  import { Service } from "./service"
2
2
  import { type Middleware } from "../middleware"
3
3
  import { type Disposable } from "../disposable"
4
+ import { Request, Response } from "../utils/request"
4
5
 
5
6
  export class MiddlewareService extends Service {
6
7
  private _middlewares: Middleware[] = []
@@ -1,17 +1,19 @@
1
+ // import { Request, Response, Headers, FormData } from "../utils/request"
2
+
1
3
  export class RequestBuilder {
2
- private readonly _headers: Headers
4
+ private readonly _headers: Record<string, string>
3
5
  private readonly _searchParams: URLSearchParams
4
6
 
5
7
  constructor(
6
8
  private readonly _url: URL,
7
9
  private readonly _request: (req: Request) => Promise<Response>
8
10
  ) {
9
- this._headers = new Headers()
11
+ this._headers = {}
10
12
  this._searchParams = new URLSearchParams()
11
13
  }
12
14
 
13
15
  public header(name: string, value: string): RequestBuilder {
14
- this._headers.set(name, value)
16
+ this._headers[name] = value
15
17
  return this
16
18
  }
17
19
 
@@ -23,11 +25,11 @@ export class RequestBuilder {
23
25
  }
24
26
  if (headers instanceof Headers) {
25
27
  headers.forEach((value, name) => {
26
- this._headers.set(name, value)
28
+ this._headers[name] = value
27
29
  })
28
30
  } else {
29
31
  Object.entries(headers).forEach(([name, value]) => {
30
- this._headers.set(name, value)
32
+ this._headers[name] = value
31
33
  })
32
34
  }
33
35
  return this
@@ -58,7 +60,7 @@ export class RequestBuilder {
58
60
  const req = new Request(url, {
59
61
  method: "POST",
60
62
  headers: this._headers,
61
- body
63
+ body: body
62
64
  })
63
65
 
64
66
  // discard content type
@@ -73,7 +75,7 @@ export class RequestBuilder {
73
75
  public async sendPostJson(body: object | null | undefined): Promise<Response> {
74
76
  const url = this._url
75
77
  url.search = this._searchParams.toString()
76
- let json: string | null | undefined = null
78
+ let json: string | undefined = undefined
77
79
  if (body !== undefined && body !== null && typeof body === "object") {
78
80
  json = JSON.stringify(body)
79
81
  }
@@ -109,13 +111,29 @@ export class RequestBuilder {
109
111
  )
110
112
  }
111
113
 
112
- public async sendPutJson(body: object | null | undefined): Promise<Response> {
114
+ public async sendDeleteJson(body: object | null | undefined): Promise<Response> {
113
115
  const url = this._url
114
116
  url.search = this._searchParams.toString()
115
- let json: string | null | undefined = null
117
+ let json: string | undefined = undefined
116
118
  if (body !== undefined && body !== null && typeof body === "object") {
117
119
  json = JSON.stringify(body)
118
120
  }
121
+ return await this._request(
122
+ new Request(url, {
123
+ method: "DELETE",
124
+ headers: this._headers,
125
+ body: json
126
+ })
127
+ )
128
+ }
129
+
130
+ public async sendPutJson(body: object | null | undefined): Promise<Response> {
131
+ const url = this._url
132
+ url.search = this._searchParams.toString()
133
+ let json: string | undefined = undefined
134
+ if (body !== undefined && body !== null && (typeof body === "object" || Array.isArray(body))) {
135
+ json = JSON.stringify(body)
136
+ }
119
137
  return await this._request(
120
138
  new Request(url, {
121
139
  method: "PUT",
@@ -124,4 +142,26 @@ export class RequestBuilder {
124
142
  })
125
143
  )
126
144
  }
145
+
146
+ public async sendPutFormData(body: FormData): Promise<Response> {
147
+ const url = this._url
148
+
149
+ // set search params
150
+ url.search = this._searchParams.toString()
151
+
152
+ // create request
153
+ const req = new Request(url, {
154
+ method: "PUT",
155
+ headers: this._headers,
156
+ body: body
157
+ })
158
+
159
+ // discard content type
160
+ const reqAny = req as any
161
+ reqAny.discardContentType = true
162
+
163
+ return await this._request(
164
+ req
165
+ )
166
+ }
127
167
  }
@@ -1,3 +1,6 @@
1
+ import { BadRequest } from "../dto/badRequestResponse"
2
+ import { Response } from "../utils/request"
3
+
1
4
  export class ResponseUtils {
2
5
  public static isOk(response?: Response | null): boolean {
3
6
  return response !== undefined && response !== null && response.ok
@@ -7,6 +10,15 @@ export class ResponseUtils {
7
10
  return !ResponseUtils.isOk(response)
8
11
  }
9
12
 
13
+ public static async isLimitReached(response?: Response | null): Promise<boolean> {
14
+ if (response?.status == 15){
15
+ if (((await response?.json()) as BadRequest).code == 15){
16
+ return true
17
+ }
18
+ }
19
+ return false
20
+ }
21
+
10
22
  public static async throwError(
11
23
  message: string,
12
24
  response: Response | undefined | null
@@ -1,6 +1,7 @@
1
1
  import { Service, type ServiceContext } from "./service"
2
2
  import { MiddlewareService } from "./middlewareService"
3
3
  import { RequestBuilder } from "./requestBuilder"
4
+ // import { Request, Response, Headers, fetch } from "../utils/request"
4
5
 
5
6
  /**
6
7
  * Options for the RpcService.
@@ -5,17 +5,32 @@ import { UserInfoResponse } from "../dto/userInfoResponse"
5
5
  import { OrganizationService } from "./organizationService"
6
6
  import { UserProfileImpl } from "../storages/user/userProfile.impl"
7
7
  import { ResponseUtils } from "./responseUtils"
8
+ import { OrganizationsEvent } from "../storages/organizations/organizations"
8
9
 
9
10
  export class UserProfileService extends Service {
10
- private readonly impl: UserProfileImpl = new UserProfileImpl()
11
+ private readonly impl: UserProfileImpl = new UserProfileImpl(this.context)
11
12
 
12
13
  get userProfile(): UserProfile {
13
14
  return this.impl
14
15
  }
15
16
 
17
+ async merge(anonymous_token: string) {
18
+ const rpc = this.resolve(RpcService) as RpcService
19
+ const response = await rpc.requestBuilder("api/v1/Users/anonymous/merge")
20
+ .sendPostJson({
21
+ anonymousToken: anonymous_token
22
+ })
23
+
24
+ if (ResponseUtils.isFail(response)) {
25
+ await ResponseUtils.throwError("Failed to merge anonymous user", response)
26
+ }
27
+
28
+ await this.fetch()
29
+ }
30
+
16
31
  async fetch() {
17
32
  const rpc = this.resolve(RpcService) as RpcService
18
- const response = await rpc.requestBuilder("api/v1/Users/self2").sendGet()
33
+ const response = await rpc.requestBuilder("api/v2/Users/self").sendGet()
19
34
  if (ResponseUtils.isFail(response)) {
20
35
  await ResponseUtils.throwError("Failed to fetch user profile", response)
21
36
  }
@@ -34,5 +49,22 @@ export class UserProfileService extends Service {
34
49
  content.organizations,
35
50
  content.user.settings
36
51
  )
52
+
53
+ organizationService.organizations.subscribe(async (event) => {
54
+ this.updateUserSettings(event.data.id)
55
+ }, OrganizationsEvent.CURRENT_CHANGED)
56
+ }
57
+
58
+ async updateUserSettings(activeOrgId?: string, activeWorkspaceId?: string): Promise<void>{
59
+ const rpc = this.resolve(RpcService) as RpcService
60
+ const response = await rpc.requestBuilder("api/v1/Users/settings").sendPutJson({
61
+ settings: {
62
+ activeOrganizationId: activeOrgId,
63
+ activeWorkspaceId: activeWorkspaceId
64
+ }
65
+ })
66
+ if (ResponseUtils.isFail(response)) {
67
+ await ResponseUtils.throwError("Failed to update user settings", response)
68
+ }
37
69
  }
38
70
  }
@@ -0,0 +1,132 @@
1
+ import { RpcService } from "../../services/rpcService"
2
+ import { ResponseUtils } from "../../services/responseUtils"
3
+ import {
4
+ AcquiringPlansResponse,
5
+ OrderResponse,
6
+ OrderData,
7
+ UserAcquiringPlan,
8
+ GetOrderStateResponse,
9
+ AcquiringPlan,
10
+ AcquiringSegmentData,
11
+ UnsubscribeResponse
12
+ } from "../../dto/acquiringResponse"
13
+ import { Acquiring } from "./acquiring"
14
+ import { Context } from "../../context"
15
+
16
+ export class AcquiringImpl implements Acquiring {
17
+ private _userPlan?: UserAcquiringPlan
18
+ private _plans?: AcquiringPlan[]
19
+ private _limitSegments?: AcquiringSegmentData[]
20
+
21
+ constructor(
22
+ private readonly context: Context) {
23
+ }
24
+
25
+ get userPlan(): UserAcquiringPlan {
26
+ return this._userPlan!
27
+ }
28
+
29
+ get plans(): AcquiringPlan[] {
30
+ return this._plans!
31
+ }
32
+
33
+ get limitSegments(): AcquiringSegmentData[] {
34
+ return this._limitSegments!
35
+ }
36
+
37
+ async initialize() {
38
+ const userPlanPromise = this.getUserPlan()
39
+ const plansPromise = this.getPlans()
40
+ const promises = [
41
+ userPlanPromise,
42
+ plansPromise
43
+ ]
44
+ await Promise.all(promises)
45
+
46
+ this._userPlan = await userPlanPromise
47
+ const {
48
+ plans,
49
+ limitSegments
50
+ } = await plansPromise
51
+ this._plans = plans
52
+ this._limitSegments = limitSegments
53
+ }
54
+
55
+ async createOrder(key: string): Promise<OrderData> {
56
+ const rpc = this.context.resolve(RpcService) as RpcService
57
+ const response = await rpc.requestBuilder("api/v1/Acquiring/order")
58
+ .sendPostJson({
59
+ key: key
60
+ })
61
+
62
+ if (ResponseUtils.isFail(response)) {
63
+ await ResponseUtils.throwError("Failed to create order", response)
64
+ }
65
+
66
+ const order = (await response.json()) as OrderResponse
67
+
68
+ return order.data
69
+ }
70
+
71
+ async unsubscribe(): Promise<UnsubscribeResponse> {
72
+ const rpc = this.context.resolve(RpcService) as RpcService
73
+ const response = await rpc.requestBuilder("api/v1/Acquiring/unsubscribe").sendDelete()
74
+
75
+ if (ResponseUtils.isFail(response)) {
76
+ await ResponseUtils.throwError("Failed to unsubscribe", response)
77
+ }
78
+
79
+ const order = (await response.json()) as UnsubscribeResponse
80
+
81
+ return order
82
+ }
83
+
84
+ async getPlans(): Promise<AcquiringPlansResponse> {
85
+ const rpc = this.context.resolve(RpcService) as RpcService
86
+ const response = await rpc
87
+ .requestBuilder("api/v1/Acquiring/plans")
88
+ .sendGet()
89
+
90
+ if (ResponseUtils.isFail(response)) {
91
+ await ResponseUtils.throwError("Failed to get acquiring plans", response)
92
+ }
93
+
94
+ const content = (await response.json()) as AcquiringPlansResponse
95
+ this._plans = content.plans
96
+ this._limitSegments = content.limitSegments
97
+
98
+ return content
99
+ }
100
+
101
+ async getUserPlan(): Promise<UserAcquiringPlan> {
102
+ const rpc = this.context.resolve(RpcService) as RpcService
103
+ const response = await rpc
104
+ .requestBuilder("api/v1/Acquiring/user/subscription")
105
+ .sendGet()
106
+
107
+ if (ResponseUtils.isFail(response)) {
108
+ await ResponseUtils.throwError("Failed to get user subscription", response)
109
+ }
110
+
111
+ const content = (await response.json()) as UserAcquiringPlan
112
+ this._userPlan = content
113
+
114
+ return content
115
+ }
116
+
117
+ async getOrder(orderId: string): Promise<GetOrderStateResponse> {
118
+ const rpc = this.context.resolve(RpcService) as RpcService
119
+ const response = await rpc
120
+ .requestBuilder("api/v1/Acquiring/order/state")
121
+ .searchParam("orderId", orderId)
122
+ .sendGet()
123
+
124
+ if (ResponseUtils.isFail(response)) {
125
+ await ResponseUtils.throwError("Failed to get order", response)
126
+ }
127
+
128
+ const content = (await response.json()) as GetOrderStateResponse
129
+
130
+ return content
131
+ }
132
+ }
@@ -0,0 +1,54 @@
1
+ import {
2
+ AcquiringPlan,
3
+ AcquiringPlansResponse, AcquiringSegmentData,
4
+ OrderData, GetOrderStateResponse,
5
+ UserAcquiringPlan, UnsubscribeResponse
6
+ } from "../../dto/acquiringResponse"
7
+
8
+ /**
9
+ * Acquiring service
10
+ */
11
+ export abstract class Acquiring {
12
+
13
+ /**
14
+ * Plan
15
+ */
16
+ abstract get userPlan(): UserAcquiringPlan
17
+
18
+ /**
19
+ * Plans
20
+ */
21
+ abstract get plans(): AcquiringPlan[]
22
+
23
+ /**
24
+ * Limit segments
25
+ */
26
+ abstract get limitSegments(): AcquiringSegmentData[]
27
+
28
+ /**
29
+ * Create order
30
+ * @param key
31
+ */
32
+ abstract createOrder(key: string): Promise<OrderData>
33
+
34
+ /**
35
+ * Unsubscribe
36
+ */
37
+ abstract unsubscribe(): Promise<UnsubscribeResponse>
38
+
39
+ /**
40
+ * Update plans
41
+ */
42
+ abstract getPlans(): Promise<AcquiringPlansResponse>
43
+
44
+ /**
45
+ * Update user plan
46
+ */
47
+ abstract getUserPlan(): Promise<UserAcquiringPlan>
48
+
49
+ /**
50
+ * Get order
51
+ * @param orderId
52
+ */
53
+ abstract getOrder(orderId: string): Promise<GetOrderStateResponse>
54
+ }
@@ -1,24 +1,26 @@
1
- import { Context } from "../../context"
1
+ import {Context} from "../../context"
2
2
  import {
3
3
  AnswerDto,
4
4
  AnswerStatus,
5
5
  AnswerStepDto,
6
6
  FetchAnswerResponse,
7
- FetchTokensResponse,
8
7
  SourceDto,
9
8
  StepType
10
9
  } from "../../dto/chatResponse"
11
- import { ResponseUtils } from "../../services/responseUtils"
12
- import { RpcService } from "../../services/rpcService"
13
- import { Answer, AnswerId } from "./answer"
14
- import { Chat } from "./chat"
10
+ import {ResponseUtils} from "../../services/responseUtils"
11
+ import {RpcService} from "../../services/rpcService"
12
+ import {Answer, AnswerEvent, AnswerId} from "./answer"
13
+ import {Chat} from "./chat"
15
14
 
16
15
  export class AnswerImpl extends Answer {
17
- private _content?: AnswerDto
18
16
 
19
17
  private _steps?: AnswerStepDto[]
20
18
  private _status?: AnswerStatus
21
19
  private _id?: AnswerId
20
+ private _question?: string
21
+ private _sources?: SourceDto[]
22
+ private _answer?: string
23
+ private _timestamp?: number
22
24
 
23
25
  constructor(
24
26
  private readonly chat: Chat,
@@ -26,66 +28,58 @@ export class AnswerImpl extends Answer {
26
28
  super()
27
29
  }
28
30
 
29
- async initFromData(answer: AnswerDto): Promise<AnswerImpl> {
30
- this._content = answer
31
+ initFromHistory(answer: AnswerDto): AnswerImpl {
31
32
  this._id = answer.id
32
-
33
- // fetch answer
34
- await this.fetch()
33
+ this._question = answer.question
34
+ this._answer = answer.context
35
+ this._sources = answer.sources
36
+ this._timestamp = answer.timestamp
35
37
 
36
38
  return this
37
39
  }
38
40
 
39
- async initFromId(id: AnswerId): Promise<AnswerImpl> {
41
+ async initNew(id: AnswerId, question: string): Promise<AnswerImpl> {
40
42
  this._id = id
43
+ this._question = question
44
+ this._answer = ""
41
45
 
42
- // fetch answer
43
46
  await this.fetch()
44
47
 
45
48
  return this
46
49
  }
47
50
 
48
- get id(): string {
49
- return <string>this._id
51
+ get id(): AnswerId {
52
+ return <AnswerId>this._id
50
53
  }
51
54
 
52
55
  get status(): AnswerStatus {
53
56
  return <AnswerStatus>this._status
54
57
  }
55
58
 
56
- private getStep(type: StepType): AnswerStepDto | undefined {
57
- return this._steps?.find(step => step.type === type)
59
+ get question(): string {
60
+ return <string>this._question
58
61
  }
59
62
 
60
- async sources(type: StepType): Promise<SourceDto[]> {
61
- // fetch answer
62
- await this.fetch()
63
- // get step
64
- const step = this.getStep(type)
63
+ get sources(): SourceDto[] {
64
+ return <SourceDto[]>this._sources
65
+ }
65
66
 
66
- // check step
67
- if (!step) {
68
- throw new Error(`Step with type ${type.toString()} is not found, answer: ${this.id}, organization: ${this.chat.organization.id}`)
69
- }
67
+ get tokens(): string {
68
+ return <string>this._answer
69
+ }
70
70
 
71
- // get sources
72
- const response = await this.context
73
- .resolve(RpcService)
74
- ?.requestBuilder("api/v1/Chats/answer/sources")
75
- .searchParam("chat_uid", this.chat.id)
76
- .searchParam("uid", this.id)
77
- .searchParam("step_id", step.id)
78
- .sendGet()
71
+ get timestamp(): number {
72
+ return <number>this._timestamp
73
+ }
79
74
 
80
- // check response status
81
- if (ResponseUtils.isFail(response)) {
82
- await ResponseUtils.throwError(`Failed to get sources for ${type.toString()}, answer: ${this.id}, organization: ${this.chat.organization.id}`, response)
75
+ public fetchAfter() {
76
+ if (this._status === undefined || this._status === AnswerStatus.RUNNING) {
77
+ setTimeout(async () => await this.fetch(), 300)
83
78
  }
79
+ }
84
80
 
85
- // parse sources from the server's response
86
- const sources = (await response!.json()).sources as SourceDto[]
87
-
88
- return sources
81
+ private getStep(type: StepType): AnswerStepDto | undefined {
82
+ return this._steps?.find(step => step.type === type)
89
83
  }
90
84
 
91
85
  async fetch(): Promise<void> {
@@ -111,38 +105,51 @@ export class AnswerImpl extends Answer {
111
105
  // update answer
112
106
  this._status = <AnswerStatus>answer.status
113
107
  this._steps = <AnswerStepDto[]>answer.steps
114
- }
115
108
 
116
- async fetchTokens(type: StepType, token_start_at: number): Promise<FetchTokensResponse> {
117
- // fetch answer
118
- await this.fetch()
119
- // get step
120
- const step = this.getStep(type)
109
+ if (this.status === AnswerStatus.CANCELED || this.status === AnswerStatus.FAIL){
110
+ this.dispatch({
111
+ type: AnswerEvent.UPDATED,
112
+ data: this
113
+ })
114
+ }
121
115
 
122
- // check step
123
- if (!step) {
124
- throw new Error(`Step with type ${type.toString()} is not found`)
116
+ if (this.getStep(StepType.GENERATE_ANSWER) !== undefined) {
117
+ const step = this.getStep(StepType.GENERATE_ANSWER)
118
+ const step_tokens = step?.tokens.join("")
119
+ if (this._answer !== step_tokens) {
120
+ this._answer = step_tokens
121
+
122
+ this.dispatch({
123
+ type: AnswerEvent.UPDATED,
124
+ data: this
125
+ })
126
+ }
125
127
  }
126
128
 
127
- // get tokens
128
- const response = await this.context
129
- .resolve(RpcService)
130
- ?.requestBuilder("api/v1/Chats/answer/fetch/tokens")
131
- .searchParam("chat_uid", this.chat.id)
132
- .searchParam("uid", this.id)
133
- .searchParam("step_id", step.id)
134
- .searchParam("token_start_at", token_start_at.toString())
135
- .sendGet()
129
+ if (this.getStep(StepType.SOURCES) !== undefined && this._sources === undefined) {
130
+ const sources_step = this.getStep(StepType.SOURCES)
131
+ this._sources = sources_step?.sources
136
132
 
137
- // check response status
138
- if (ResponseUtils.isFail(response)) {
139
- await ResponseUtils.throwError(`Failed to get sources for ${type.toString()}`, response)
133
+ this.dispatch({
134
+ type: AnswerEvent.UPDATED,
135
+ data: this
136
+ })
140
137
  }
141
138
 
142
- // parse tokens from the server's response
143
- const tokens = (await response!.json()) as FetchTokensResponse
139
+ if (this.status === AnswerStatus.SUCCESS) {
140
+ this.dispatch({
141
+ type: AnswerEvent.UPDATED,
142
+ data: this
143
+ })
144
144
 
145
- return tokens
145
+ const step = this.getStep(StepType.DONE)
146
+ this._timestamp = Date.parse(step!.end_at)
147
+
148
+ await this.chat.update()
149
+
150
+ } else {
151
+ this.fetchAfter()
152
+ }
146
153
  }
147
154
 
148
155
  async cancel(): Promise<void> {
@@ -159,5 +166,10 @@ export class AnswerImpl extends Answer {
159
166
  if (ResponseUtils.isFail(response)) {
160
167
  await ResponseUtils.throwError("Failed to cancel a question", response)
161
168
  }
169
+
170
+ this.dispatch({
171
+ type: AnswerEvent.CANCALLED,
172
+ data: this
173
+ })
162
174
  }
163
175
  }