@neuralinnovations/dataisland-sdk 0.0.1-dev6 → 0.0.1-dev60

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 (377) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +232 -3
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +3 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/package.json +103 -0
  8. package/dist/src/appBuilder.d.ts +44 -0
  9. package/dist/src/appBuilder.d.ts.map +1 -0
  10. package/dist/src/appBuilder.js +10 -0
  11. package/dist/src/appBuilder.js.map +1 -0
  12. package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
  13. package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
  14. package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
  15. package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
  16. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  17. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  18. package/dist/src/commands/startCommandHandler.js +30 -0
  19. package/dist/src/commands/startCommandHandler.js.map +1 -0
  20. package/dist/src/context.d.ts +24 -0
  21. package/dist/src/context.d.ts.map +1 -0
  22. package/dist/src/context.js +31 -0
  23. package/dist/src/context.js.map +1 -0
  24. package/dist/src/credentials.d.ts +33 -0
  25. package/dist/src/credentials.d.ts.map +1 -0
  26. package/dist/src/credentials.js +87 -0
  27. package/dist/src/credentials.js.map +1 -0
  28. package/dist/src/dataIslandApp.d.ts +55 -0
  29. package/dist/src/dataIslandApp.d.ts.map +1 -0
  30. package/dist/src/dataIslandApp.js +10 -0
  31. package/dist/src/dataIslandApp.js.map +1 -0
  32. package/dist/src/disposable.d.ts +84 -0
  33. package/dist/src/disposable.d.ts.map +1 -0
  34. package/dist/src/disposable.js +147 -0
  35. package/dist/src/disposable.js.map +1 -0
  36. package/dist/src/dto/accessGroupResponse.d.ts +30 -0
  37. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  38. package/dist/src/dto/accessGroupResponse.js +3 -0
  39. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  40. package/dist/src/dto/acquiringResponse.d.ts +46 -0
  41. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  42. package/dist/src/dto/acquiringResponse.js +11 -0
  43. package/dist/src/dto/acquiringResponse.js.map +1 -0
  44. package/dist/src/dto/badRequestResponse.d.ts +6 -0
  45. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  46. package/dist/src/dto/badRequestResponse.js +3 -0
  47. package/dist/src/dto/badRequestResponse.js.map +1 -0
  48. package/dist/src/dto/chatResponse.d.ts +84 -0
  49. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  50. package/dist/src/dto/chatResponse.js +45 -0
  51. package/dist/src/dto/chatResponse.js.map +1 -0
  52. package/dist/src/dto/limitsResponse.d.ts +29 -0
  53. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  54. package/dist/src/dto/limitsResponse.js +13 -0
  55. package/dist/src/dto/limitsResponse.js.map +1 -0
  56. package/dist/src/dto/quizResponse.d.ts +11 -0
  57. package/dist/src/dto/quizResponse.d.ts.map +1 -0
  58. package/dist/src/dto/quizResponse.js +3 -0
  59. package/dist/src/dto/quizResponse.js.map +1 -0
  60. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  61. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  62. package/dist/src/dto/statisticsResponse.js +3 -0
  63. package/dist/src/dto/statisticsResponse.js.map +1 -0
  64. package/dist/src/dto/userInfoResponse.d.ts +91 -0
  65. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  66. package/dist/src/dto/userInfoResponse.js +3 -0
  67. package/dist/src/dto/userInfoResponse.js.map +1 -0
  68. package/dist/src/dto/workspacesResponse.d.ts +51 -0
  69. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  70. package/dist/src/dto/workspacesResponse.js +11 -0
  71. package/dist/src/dto/workspacesResponse.js.map +1 -0
  72. package/dist/src/events.d.ts +17 -0
  73. package/dist/src/events.d.ts.map +1 -0
  74. package/dist/src/events.js +52 -0
  75. package/dist/src/events.js.map +1 -0
  76. package/dist/src/index.d.ts +73 -0
  77. package/dist/src/index.d.ts.map +1 -0
  78. package/dist/src/index.js +122 -0
  79. package/dist/src/index.js.map +1 -0
  80. package/dist/src/internal/app.impl.d.ts +30 -0
  81. package/dist/src/internal/app.impl.d.ts.map +1 -0
  82. package/dist/src/internal/app.impl.js +180 -0
  83. package/dist/src/internal/app.impl.js.map +1 -0
  84. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  85. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  86. package/dist/src/internal/appBuilder.impl.js +71 -0
  87. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  88. package/dist/src/internal/createApp.impl.d.ts +4 -0
  89. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  90. package/dist/src/internal/createApp.impl.js +11 -0
  91. package/dist/src/internal/createApp.impl.js.map +1 -0
  92. package/dist/src/internal/registry.d.ts +66 -0
  93. package/dist/src/internal/registry.d.ts.map +1 -0
  94. package/dist/src/internal/registry.js +114 -0
  95. package/dist/src/internal/registry.js.map +1 -0
  96. package/dist/src/middleware.d.ts +6 -0
  97. package/dist/src/middleware.d.ts.map +1 -0
  98. package/dist/src/middleware.js +3 -0
  99. package/dist/src/middleware.js.map +1 -0
  100. package/dist/src/services/acquiringService.d.ts +9 -0
  101. package/dist/src/services/acquiringService.d.ts.map +1 -0
  102. package/dist/src/services/acquiringService.js +19 -0
  103. package/dist/src/services/acquiringService.js.map +1 -0
  104. package/dist/src/services/anonymousService.d.ts +8 -0
  105. package/dist/src/services/anonymousService.d.ts.map +1 -0
  106. package/dist/src/services/anonymousService.js +41 -0
  107. package/dist/src/services/anonymousService.js.map +1 -0
  108. package/dist/src/services/commandService.d.ts +18 -0
  109. package/dist/src/services/commandService.d.ts.map +1 -0
  110. package/dist/src/services/commandService.js +40 -0
  111. package/dist/src/services/commandService.js.map +1 -0
  112. package/dist/src/services/cookieService.d.ts +7 -0
  113. package/dist/src/services/cookieService.d.ts.map +1 -0
  114. package/dist/src/services/cookieService.js +18 -0
  115. package/dist/src/services/cookieService.js.map +1 -0
  116. package/dist/src/services/credentialService.d.ts +9 -0
  117. package/dist/src/services/credentialService.d.ts.map +1 -0
  118. package/dist/src/services/credentialService.js +26 -0
  119. package/dist/src/services/credentialService.js.map +1 -0
  120. package/dist/src/services/httpMethod.d.ts +2 -0
  121. package/dist/src/services/httpMethod.d.ts.map +1 -0
  122. package/dist/src/services/httpMethod.js +3 -0
  123. package/dist/src/services/httpMethod.js.map +1 -0
  124. package/dist/src/services/middlewareService.d.ts +10 -0
  125. package/dist/src/services/middlewareService.d.ts.map +1 -0
  126. package/dist/src/services/middlewareService.js +34 -0
  127. package/dist/src/services/middlewareService.js.map +1 -0
  128. package/dist/src/services/organizationService.d.ts +10 -0
  129. package/dist/src/services/organizationService.d.ts.map +1 -0
  130. package/dist/src/services/organizationService.js +19 -0
  131. package/dist/src/services/organizationService.js.map +1 -0
  132. package/dist/src/services/requestBuilder.d.ts +17 -0
  133. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  134. package/dist/src/services/requestBuilder.js +105 -0
  135. package/dist/src/services/requestBuilder.js.map +1 -0
  136. package/dist/src/services/responseUtils.d.ts +8 -0
  137. package/dist/src/services/responseUtils.d.ts.map +1 -0
  138. package/dist/src/services/responseUtils.js +40 -0
  139. package/dist/src/services/responseUtils.js.map +1 -0
  140. package/dist/src/services/rpcService.d.ts +77 -0
  141. package/dist/src/services/rpcService.d.ts.map +1 -0
  142. package/dist/src/services/rpcService.js +125 -0
  143. package/dist/src/services/rpcService.js.map +1 -0
  144. package/dist/src/services/service.d.ts +21 -0
  145. package/dist/src/services/service.d.ts.map +1 -0
  146. package/dist/src/services/service.js +41 -0
  147. package/dist/src/services/service.js.map +1 -0
  148. package/dist/src/services/userProfileService.d.ts +10 -0
  149. package/dist/src/services/userProfileService.d.ts.map +1 -0
  150. package/dist/src/services/userProfileService.js +59 -0
  151. package/dist/src/services/userProfileService.js.map +1 -0
  152. package/dist/src/storages/acquirings/acquiring.d.ts +41 -0
  153. package/dist/src/storages/acquirings/acquiring.d.ts.map +1 -0
  154. package/dist/src/storages/acquirings/acquiring.impl.d.ts +20 -0
  155. package/dist/src/storages/acquirings/acquiring.impl.d.ts.map +1 -0
  156. package/dist/src/storages/acquirings/acquiring.impl.js +92 -0
  157. package/dist/src/storages/acquirings/acquiring.impl.js.map +1 -0
  158. package/dist/src/storages/acquirings/acquiring.js +10 -0
  159. package/dist/src/storages/acquirings/acquiring.js.map +1 -0
  160. package/dist/src/storages/chats/answer.d.ts +41 -0
  161. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  162. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  163. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  164. package/dist/src/storages/chats/answer.impl.js +116 -0
  165. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  166. package/dist/src/storages/chats/answer.js +15 -0
  167. package/dist/src/storages/chats/answer.js.map +1 -0
  168. package/dist/src/storages/chats/chat.d.ts +51 -0
  169. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  170. package/dist/src/storages/chats/chat.impl.d.ts +27 -0
  171. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  172. package/dist/src/storages/chats/chat.impl.js +93 -0
  173. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  174. package/dist/src/storages/chats/chat.js +12 -0
  175. package/dist/src/storages/chats/chat.js.map +1 -0
  176. package/dist/src/storages/chats/chats.d.ts +51 -0
  177. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  178. package/dist/src/storages/chats/chats.impl.d.ts +20 -0
  179. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  180. package/dist/src/storages/chats/chats.impl.js +184 -0
  181. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  182. package/dist/src/storages/chats/chats.js +16 -0
  183. package/dist/src/storages/chats/chats.js.map +1 -0
  184. package/dist/src/storages/files/file.d.ts +59 -0
  185. package/dist/src/storages/files/file.d.ts.map +1 -0
  186. package/dist/src/storages/files/file.impl.d.ts +28 -0
  187. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  188. package/dist/src/storages/files/file.impl.js +127 -0
  189. package/dist/src/storages/files/file.impl.js.map +1 -0
  190. package/dist/src/storages/files/file.js +17 -0
  191. package/dist/src/storages/files/file.js.map +1 -0
  192. package/dist/src/storages/files/files.d.ts +39 -0
  193. package/dist/src/storages/files/files.d.ts.map +1 -0
  194. package/dist/src/storages/files/files.impl.d.ts +24 -0
  195. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  196. package/dist/src/storages/files/files.impl.js +168 -0
  197. package/dist/src/storages/files/files.impl.js.map +1 -0
  198. package/dist/src/storages/files/files.js +20 -0
  199. package/dist/src/storages/files/files.js.map +1 -0
  200. package/dist/src/storages/files/filesPage.d.ts +28 -0
  201. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  202. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  203. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  204. package/dist/src/storages/files/filesPage.impl.js +38 -0
  205. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  206. package/dist/src/storages/files/filesPage.js +10 -0
  207. package/dist/src/storages/files/filesPage.js.map +1 -0
  208. package/dist/src/storages/groups/group.d.ts +63 -0
  209. package/dist/src/storages/groups/group.d.ts.map +1 -0
  210. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  211. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  212. package/dist/src/storages/groups/group.impl.js +210 -0
  213. package/dist/src/storages/groups/group.impl.js.map +1 -0
  214. package/dist/src/storages/groups/group.js +15 -0
  215. package/dist/src/storages/groups/group.js.map +1 -0
  216. package/dist/src/storages/groups/groups.d.ts +43 -0
  217. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  218. package/dist/src/storages/groups/groups.impl.d.ts +31 -0
  219. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  220. package/dist/src/storages/groups/groups.impl.js +136 -0
  221. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  222. package/dist/src/storages/groups/groups.js +20 -0
  223. package/dist/src/storages/groups/groups.js.map +1 -0
  224. package/dist/src/storages/organizations/organization.d.ts +103 -0
  225. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  226. package/dist/src/storages/organizations/organization.impl.d.ts +44 -0
  227. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  228. package/dist/src/storages/organizations/organization.impl.js +255 -0
  229. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  230. package/dist/src/storages/organizations/organization.js +18 -0
  231. package/dist/src/storages/organizations/organization.js.map +1 -0
  232. package/dist/src/storages/organizations/organizations.d.ts +51 -0
  233. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  234. package/dist/src/storages/organizations/organizations.impl.d.ts +39 -0
  235. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  236. package/dist/src/storages/organizations/organizations.impl.js +173 -0
  237. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  238. package/dist/src/storages/organizations/organizations.js +20 -0
  239. package/dist/src/storages/organizations/organizations.js.map +1 -0
  240. package/dist/src/storages/user/userProfile.d.ts +59 -0
  241. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  242. package/dist/src/storages/user/userProfile.impl.d.ts +22 -0
  243. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  244. package/dist/src/storages/user/userProfile.impl.js +118 -0
  245. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  246. package/dist/src/storages/user/userProfile.js +12 -0
  247. package/dist/src/storages/user/userProfile.js.map +1 -0
  248. package/dist/src/storages/workspaces/workspace.d.ts +44 -0
  249. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  250. package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
  251. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  252. package/dist/src/storages/workspaces/workspace.impl.js +98 -0
  253. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  254. package/dist/src/storages/workspaces/workspace.js +18 -0
  255. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  256. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  257. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  258. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  259. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  260. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  261. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  262. package/dist/src/storages/workspaces/workspaces.js +19 -0
  263. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  264. package/dist/src/unitTest.d.ts +12 -0
  265. package/dist/src/unitTest.d.ts.map +1 -0
  266. package/dist/src/unitTest.js +44 -0
  267. package/dist/src/unitTest.js.map +1 -0
  268. package/dist/src/utils/browserUtils.d.ts +4 -0
  269. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  270. package/dist/src/utils/browserUtils.js +64 -0
  271. package/dist/src/utils/browserUtils.js.map +1 -0
  272. package/dist/src/utils/request.d.ts +6 -0
  273. package/dist/src/utils/request.d.ts.map +1 -0
  274. package/dist/src/utils/request.js +3 -0
  275. package/dist/src/utils/request.js.map +1 -0
  276. package/dist/src/utils/utils.d.ts +3 -0
  277. package/dist/src/utils/utils.d.ts.map +1 -0
  278. package/dist/src/utils/utils.js +13 -0
  279. package/dist/src/utils/utils.js.map +1 -0
  280. package/index.d.ts +1 -0
  281. package/index.js +1 -0
  282. package/package.json +46 -5
  283. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  284. package/src/commands/startCommandHandler.ts +19 -5
  285. package/src/context.ts +4 -2
  286. package/src/credentials.ts +22 -0
  287. package/src/dataIslandApp.ts +8 -2
  288. package/src/disposable.ts +18 -5
  289. package/src/dto/accessGroupResponse.ts +19 -16
  290. package/src/dto/acquiringResponse.ts +54 -0
  291. package/src/dto/badRequestResponse.ts +6 -0
  292. package/src/dto/chatResponse.ts +60 -54
  293. package/src/dto/limitsResponse.ts +32 -0
  294. package/src/dto/quizResponse.ts +12 -0
  295. package/src/dto/statisticsResponse.ts +12 -0
  296. package/src/dto/userInfoResponse.ts +63 -2
  297. package/src/dto/workspacesResponse.ts +17 -3
  298. package/src/index.ts +57 -16
  299. package/src/internal/app.impl.ts +54 -12
  300. package/src/internal/registry.ts +54 -6
  301. package/src/middleware.ts +2 -0
  302. package/src/services/acquiringService.ts +21 -0
  303. package/src/services/anonymousService.ts +43 -0
  304. package/src/services/commandService.ts +4 -2
  305. package/src/services/cookieService.ts +16 -0
  306. package/src/services/httpMethod.ts +1 -0
  307. package/src/services/middlewareService.ts +1 -0
  308. package/src/services/organizationService.ts +2 -2
  309. package/src/services/requestBuilder.ts +10 -8
  310. package/src/services/responseUtils.ts +12 -0
  311. package/src/services/rpcService.ts +1 -0
  312. package/src/services/userProfileService.ts +36 -4
  313. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  314. package/src/storages/acquirings/acquiring.ts +54 -0
  315. package/src/storages/chats/answer.impl.ts +160 -0
  316. package/src/storages/chats/answer.ts +53 -0
  317. package/src/storages/chats/chat.impl.ts +115 -0
  318. package/src/storages/chats/chat.ts +65 -0
  319. package/src/storages/chats/chats.impl.ts +255 -0
  320. package/src/storages/chats/chats.ts +60 -0
  321. package/src/storages/files/file.impl.ts +159 -0
  322. package/src/storages/files/file.ts +74 -0
  323. package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
  324. package/src/storages/{files.ts → files/files.ts} +14 -7
  325. package/src/storages/files/filesPage.impl.ts +37 -0
  326. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  327. package/src/storages/groups/group.impl.ts +276 -0
  328. package/src/storages/groups/group.ts +73 -0
  329. package/src/storages/groups/groups.impl.ts +180 -0
  330. package/src/storages/groups/groups.ts +50 -0
  331. package/src/storages/organizations/organization.impl.ts +387 -0
  332. package/src/storages/organizations/organization.ts +127 -0
  333. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +55 -13
  334. package/src/storages/{organizations.ts → organizations/organizations.ts} +7 -1
  335. package/src/storages/user/userProfile.impl.ts +140 -0
  336. package/src/storages/user/userProfile.ts +75 -0
  337. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
  338. package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
  339. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +29 -32
  340. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  341. package/src/unitTest.ts +3 -3
  342. package/src/utils/browserUtils.ts +68 -0
  343. package/src/utils/request.ts +6 -0
  344. package/src/utils/utils.ts +8 -0
  345. package/.browserslistrc +0 -5
  346. package/.editorconfig +0 -25
  347. package/.eslintrc.json +0 -44
  348. package/.github/workflows/publish-npm.yml +0 -28
  349. package/.prettierignore +0 -1
  350. package/.prettierrc +0 -11
  351. package/.yarnrc +0 -2
  352. package/babel.config.js +0 -6
  353. package/jest.config.ts +0 -199
  354. package/jest.setup.ts +0 -2
  355. package/src/storages/chat.ts +0 -21
  356. package/src/storages/chats.ts +0 -17
  357. package/src/storages/file.impl.ts +0 -69
  358. package/src/storages/file.ts +0 -28
  359. package/src/storages/groups.impl.ts +0 -337
  360. package/src/storages/groups.ts +0 -43
  361. package/src/storages/organization.impl.ts +0 -68
  362. package/src/storages/organization.ts +0 -33
  363. package/src/storages/userProfile.impl.ts +0 -56
  364. package/src/storages/userProfile.ts +0 -42
  365. package/test/commands.test.ts +0 -24
  366. package/test/data/test_file.pdf +0 -0
  367. package/test/disposable.test.ts +0 -39
  368. package/test/events.test.ts +0 -151
  369. package/test/files.test.ts +0 -52
  370. package/test/index.test.ts +0 -122
  371. package/test/organization.test.ts +0 -57
  372. package/test/registry.test.ts +0 -44
  373. package/test/services.test.ts +0 -56
  374. package/test/setup.ts +0 -54
  375. package/test/unitTest.test.ts +0 -21
  376. package/test/workspace.test.ts +0 -71
  377. package/tsconfig.json +0 -31
@@ -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
+ }
@@ -0,0 +1,160 @@
1
+ import { Context } from "../../context"
2
+ import {
3
+ AnswerDto,
4
+ AnswerStatus,
5
+ AnswerStepDto,
6
+ FetchAnswerResponse,
7
+ SourceDto,
8
+ StepType
9
+ } from "../../dto/chatResponse"
10
+ import { ResponseUtils } from "../../services/responseUtils"
11
+ import { RpcService } from "../../services/rpcService"
12
+ import { Answer, AnswerEvent, AnswerId } from "./answer"
13
+ import { Chat } from "./chat"
14
+
15
+ export class AnswerImpl extends Answer {
16
+
17
+ private _steps?: AnswerStepDto[]
18
+ private _status?: AnswerStatus
19
+ private _id?: AnswerId
20
+ private _question?: string
21
+ private _sources?: SourceDto[]
22
+ private _answer?: string
23
+ private _timestamp?: number
24
+
25
+ constructor(
26
+ private readonly chat: Chat,
27
+ private readonly context: Context) {
28
+ super()
29
+ }
30
+
31
+ initFromHistory(answer: AnswerDto): AnswerImpl {
32
+ this._id = answer.id
33
+ this._question = answer.question
34
+ this._answer = answer.context
35
+ this._sources = answer.sources
36
+ this._timestamp = answer.timestamp
37
+
38
+ return this
39
+ }
40
+
41
+ async initNew(id: AnswerId, question: string): Promise<AnswerImpl> {
42
+ this._id = id
43
+ this._question = question
44
+ this._answer = ""
45
+
46
+ await this.fetch()
47
+
48
+ return this
49
+ }
50
+
51
+ get id(): AnswerId {
52
+ return <AnswerId>this._id
53
+ }
54
+
55
+ get status(): AnswerStatus {
56
+ return <AnswerStatus>this._status
57
+ }
58
+
59
+ get question(): string {
60
+ return <string>this._question
61
+ }
62
+
63
+ get sources(): SourceDto[] {
64
+ return <SourceDto[]>this._sources
65
+ }
66
+
67
+ get tokens(): string {
68
+ return <string>this._answer
69
+ }
70
+
71
+ get timestamp(): number {
72
+ return <number>this._timestamp
73
+ }
74
+
75
+ public fetchAfter() {
76
+ if (this._status === undefined || this._status === AnswerStatus.RUNNING) {
77
+ setTimeout(async () => await this.fetch(), 300)
78
+ }
79
+ }
80
+
81
+ private getStep(type: StepType): AnswerStepDto | undefined {
82
+ return this._steps?.find(step => step.type === type)
83
+ }
84
+
85
+ async fetch(): Promise<void> {
86
+ // fetch answer from position 0
87
+ const position = 0
88
+ // fetch answer
89
+ const response = await this.context
90
+ .resolve(RpcService)
91
+ ?.requestBuilder("api/v1/Chats/answer/fetch")
92
+ .searchParam("chatId", this.chat.id)
93
+ .searchParam("questionId", this.id)
94
+ .searchParam("position", position.toString())
95
+ .sendGet()
96
+
97
+ // check response status
98
+ if (ResponseUtils.isFail(response)) {
99
+ await ResponseUtils.throwError(`Failed to fetch answer ${this.id}`, response)
100
+ }
101
+
102
+ // parse answer from the server's response
103
+ const answer = (await response!.json()) as FetchAnswerResponse
104
+
105
+ // update answer
106
+ this._status = <AnswerStatus>answer.status
107
+ this._steps = <AnswerStepDto[]>answer.steps
108
+
109
+ if (this.getStep(StepType.GENERATE_ANSWER) !== undefined) {
110
+ const step = this.getStep(StepType.GENERATE_ANSWER)
111
+ const step_tokens = step?.tokens.join("")
112
+ if (this._answer !== step_tokens) {
113
+ this._answer = step_tokens
114
+
115
+ this.dispatch({
116
+ type: AnswerEvent.UPDATED,
117
+ data: this
118
+ })
119
+ }
120
+ }
121
+
122
+ if (this.getStep(StepType.SOURCES) !== undefined && this._sources === undefined) {
123
+ const sources_step = this.getStep(StepType.SOURCES)
124
+ this._sources = sources_step?.sources
125
+
126
+ this.dispatch({
127
+ type: AnswerEvent.UPDATED,
128
+ data: this
129
+ })
130
+ }
131
+
132
+ if (this.getStep(StepType.DONE) !== undefined) {
133
+ const step = this.getStep(StepType.DONE)
134
+ this._timestamp = Date.parse(step!.end_at)
135
+ }
136
+
137
+ this.fetchAfter()
138
+ }
139
+
140
+ async cancel(): Promise<void> {
141
+ // send request to the server
142
+ const response = await this.context
143
+ .resolve(RpcService)
144
+ ?.requestBuilder("api/v1/Chats/answer/cancel")
145
+ .sendPutJson({
146
+ chat_id: this.chat.id,
147
+ uid: this.id
148
+ })
149
+
150
+ // check response status
151
+ if (ResponseUtils.isFail(response)) {
152
+ await ResponseUtils.throwError("Failed to cancel a question", response)
153
+ }
154
+
155
+ this.dispatch({
156
+ type: AnswerEvent.CANCALLED,
157
+ data: this
158
+ })
159
+ }
160
+ }
@@ -0,0 +1,53 @@
1
+ import {
2
+ AnswerStatus,
3
+ SourceDto
4
+ } from "../../dto/chatResponse"
5
+ import { EventDispatcher } from "../../events"
6
+
7
+ export type AnswerId = string
8
+ export type StepId = string
9
+
10
+ export enum AnswerEvent {
11
+ ADDED = "added",
12
+ CANCALLED = "cancelled",
13
+ FAILED = "failed",
14
+ UPDATED = "updated"
15
+ }
16
+
17
+ export abstract class Answer extends EventDispatcher<AnswerEvent, Answer> {
18
+
19
+ /**
20
+ * Answer id.
21
+ */
22
+ abstract get id(): AnswerId
23
+
24
+ /**
25
+ * Answer data object
26
+ */
27
+ abstract get question(): string
28
+
29
+ /**
30
+ * Answer tokens
31
+ */
32
+ abstract get tokens(): string
33
+
34
+ /**
35
+ * Answer status.
36
+ */
37
+ abstract get status(): AnswerStatus
38
+
39
+ /**
40
+ * Answer sources.
41
+ */
42
+ abstract get sources(): SourceDto[]
43
+
44
+ /**
45
+ * Answer time.
46
+ */
47
+ abstract get timestamp(): number
48
+
49
+ /**
50
+ * Cancel answer
51
+ */
52
+ abstract cancel(): Promise<void>
53
+ }
@@ -0,0 +1,115 @@
1
+ import { Chat, ChatAnswerType } from "./chat"
2
+ import { Disposable } from "../../disposable"
3
+ import { Answer, AnswerId } from "./answer"
4
+ import { ChatDto } from "../../dto/chatResponse"
5
+ import { Context } from "../../context"
6
+ import { 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 readonly _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
+ // init answers
28
+ for (const ans of chat.answers) {
29
+ // create answer implementation
30
+ const answer = new AnswerImpl(this, this.context).initFromHistory(ans)
31
+
32
+ // add answer to the collection
33
+ this._answers.push(answer)
34
+ }
35
+
36
+ return this
37
+ }
38
+
39
+ get id(): string {
40
+ return <string>this._content?.id
41
+ }
42
+
43
+ get name(): string {
44
+ return <string>this._content?.name
45
+ }
46
+
47
+ get fileId(): string {
48
+ return <string>this._content?.fileId
49
+ }
50
+
51
+ get workspaceIds(): string[] {
52
+ return <string[]>this._content?.workspaceIds
53
+ }
54
+
55
+ get model(): string {
56
+ return <string>this._content?.model
57
+ }
58
+
59
+ get clientContext(): string {
60
+ return <string>this._content?.clientContext
61
+ }
62
+
63
+ get collection(): readonly Answer[] {
64
+ return <Answer[]>this._answers
65
+ }
66
+
67
+ get isDisposed(): boolean {
68
+ return this._isDisposed
69
+ }
70
+
71
+ public getAnswer(id: AnswerId): Answer {
72
+ const answer = this._answers.find(answer => answer.id === id)
73
+ if (answer) {
74
+ return answer
75
+ }
76
+ throw new Error(`Answer with id ${id} is not found`)
77
+ }
78
+
79
+ async ask(message: string, answerType: ChatAnswerType): Promise<Answer | undefined> {
80
+
81
+ // send request to the server
82
+ const response = await this.context
83
+ .resolve(RpcService)
84
+ ?.requestBuilder("api/v1/Chats/question")
85
+ .sendPutJson({
86
+ chatId: this.id,
87
+ questionMessage: message,
88
+ isLongAnswer: (answerType === ChatAnswerType.LONG)
89
+ })
90
+
91
+ // check response status
92
+ if (ResponseUtils.isFail(response)) {
93
+ if (await ResponseUtils.isLimitReached()){
94
+ return undefined
95
+ }
96
+ await ResponseUtils.throwError(`Failed to ask a question, organization: ${this.organization.id}`, response)
97
+ }
98
+
99
+ // parse answer id from the server's response
100
+ const id = (await response!.json() as { id: string }).id
101
+
102
+ // create answer implementation
103
+ const answer = await new AnswerImpl(this, this.context).initNew(id, message)
104
+
105
+ // add answer to the collection
106
+ this._answers.push(answer)
107
+
108
+ return answer
109
+ }
110
+
111
+ dispose(): void {
112
+ this._isDisposed = true
113
+ }
114
+
115
+ }
@@ -0,0 +1,65 @@
1
+ import { Answer } from "./answer"
2
+ import { Organization } from "../organizations/organization"
3
+
4
+ export type ChatId = string
5
+
6
+ export enum ChatAnswerType {
7
+ SHORT = "short",
8
+ LONG = "long"
9
+ }
10
+
11
+ export abstract class Chat {
12
+
13
+ /**
14
+ * Organization.
15
+ */
16
+ abstract get organization(): Organization
17
+
18
+ /**
19
+ * Chat id.
20
+ */
21
+ abstract get id(): ChatId
22
+
23
+ /**
24
+ * Chat name.
25
+ */
26
+ abstract get name(): string
27
+
28
+ /**
29
+ * Connected file ID.
30
+ */
31
+ abstract get fileId(): string
32
+
33
+ /**
34
+ * Connected workspace ID.
35
+ */
36
+ abstract get workspaceIds(): string[]
37
+
38
+ /**
39
+ * Model.
40
+ */
41
+ abstract get model(): string
42
+
43
+ /**
44
+ * Added client context.
45
+ */
46
+ abstract get clientContext(): string
47
+
48
+ /**
49
+ * Answers list.
50
+ */
51
+ abstract get collection(): ReadonlyArray<Answer>
52
+
53
+ /**
54
+ * Get answer by id
55
+ * @param id answer id
56
+ */
57
+ abstract getAnswer(id: string): Answer
58
+
59
+ /**
60
+ * Ask new question in chat.
61
+ */
62
+ abstract ask(message: string, answerType: ChatAnswerType): Promise<Answer | undefined>
63
+
64
+ }
65
+
@@ -0,0 +1,255 @@
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(workspaceId: string, clientContext: string = ""): Promise<Chat | undefined> {
167
+ if (workspaceId === undefined || workspaceId === null) {
168
+ throw new Error("Create chat with workspace, id is undefined or null")
169
+ }
170
+ if (workspaceId.length === 0 || workspaceId.trim().length === 0) {
171
+ throw new Error("Create chat with workspace, id is 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: [workspaceId]
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
+
216
+
217
+
218
+ async delete(id: string): Promise<void> {
219
+ // get chat by id
220
+ const chat = <ChatImpl>this.tryGet(id)
221
+
222
+ // check if chat is found
223
+ if (!chat) {
224
+ throw new Error(`Chat ${id} is not found, organization: ${this.organization.id}`)
225
+ }
226
+
227
+ // send delete request to the server
228
+ const response = await this.context
229
+ .resolve(RpcService)
230
+ ?.requestBuilder("api/v1/Chats")
231
+ .searchParam("id", id)
232
+ .sendDelete()
233
+
234
+ // check response status
235
+ if (ResponseUtils.isFail(response)) {
236
+ await ResponseUtils.throwError(
237
+ `Failed to delete chat: ${id}, organization: ${this.organization.id}`,
238
+ response
239
+ )
240
+ }
241
+
242
+ // remove chat from the collection
243
+ const index = this._chats.indexOf(<ChatImpl>chat)
244
+ if (index < 0) {
245
+ throw new Error(`Chat ${id} is not found, organization: ${this.organization.id}`)
246
+ }
247
+ this._chats.splice(index, 1)
248
+
249
+ // dispatch event
250
+ this.dispatch({
251
+ type: ChatsEvent.REMOVED,
252
+ data: chat
253
+ })
254
+ }
255
+ }