@neuralinnovations/dataisland-sdk 0.0.1-dev4 → 0.0.1-dev40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +271 -36
  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 +27 -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 +50 -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/badRequestResponse.d.ts +6 -0
  41. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  42. package/dist/src/dto/badRequestResponse.js +3 -0
  43. package/dist/src/dto/badRequestResponse.js.map +1 -0
  44. package/dist/src/dto/chatResponse.d.ts +83 -0
  45. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  46. package/dist/src/dto/chatResponse.js +45 -0
  47. package/dist/src/dto/chatResponse.js.map +1 -0
  48. package/dist/src/dto/limitsResponse.d.ts +29 -0
  49. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  50. package/dist/src/dto/limitsResponse.js +13 -0
  51. package/dist/src/dto/limitsResponse.js.map +1 -0
  52. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  53. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  54. package/dist/src/dto/statisticsResponse.js +3 -0
  55. package/dist/src/dto/statisticsResponse.js.map +1 -0
  56. package/dist/src/dto/userInfoResponse.d.ts +88 -0
  57. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  58. package/dist/src/dto/userInfoResponse.js +3 -0
  59. package/dist/src/dto/userInfoResponse.js.map +1 -0
  60. package/dist/src/dto/workspacesResponse.d.ts +45 -0
  61. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  62. package/dist/src/dto/workspacesResponse.js +3 -0
  63. package/dist/src/dto/workspacesResponse.js.map +1 -0
  64. package/dist/src/events.d.ts +17 -0
  65. package/dist/src/events.d.ts.map +1 -0
  66. package/dist/src/events.js +52 -0
  67. package/dist/src/events.js.map +1 -0
  68. package/dist/src/index.d.ts +66 -0
  69. package/dist/src/index.d.ts.map +1 -0
  70. package/dist/src/index.js +113 -0
  71. package/dist/src/index.js.map +1 -0
  72. package/dist/src/internal/app.impl.d.ts +28 -0
  73. package/dist/src/internal/app.impl.d.ts.map +1 -0
  74. package/dist/src/internal/app.impl.js +173 -0
  75. package/dist/src/internal/app.impl.js.map +1 -0
  76. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  77. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  78. package/dist/src/internal/appBuilder.impl.js +71 -0
  79. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  80. package/dist/src/internal/createApp.impl.d.ts +4 -0
  81. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  82. package/dist/src/internal/createApp.impl.js +11 -0
  83. package/dist/src/internal/createApp.impl.js.map +1 -0
  84. package/dist/src/internal/registry.d.ts +66 -0
  85. package/dist/src/internal/registry.d.ts.map +1 -0
  86. package/dist/src/internal/registry.js +114 -0
  87. package/dist/src/internal/registry.js.map +1 -0
  88. package/dist/src/middleware.d.ts +6 -0
  89. package/dist/src/middleware.d.ts.map +1 -0
  90. package/dist/src/middleware.js +3 -0
  91. package/dist/src/middleware.js.map +1 -0
  92. package/dist/src/services/anonymousService.d.ts +8 -0
  93. package/dist/src/services/anonymousService.d.ts.map +1 -0
  94. package/dist/src/services/anonymousService.js +41 -0
  95. package/dist/src/services/anonymousService.js.map +1 -0
  96. package/dist/src/services/commandService.d.ts +18 -0
  97. package/dist/src/services/commandService.d.ts.map +1 -0
  98. package/dist/src/services/commandService.js +40 -0
  99. package/dist/src/services/commandService.js.map +1 -0
  100. package/dist/src/services/cookieService.d.ts +7 -0
  101. package/dist/src/services/cookieService.d.ts.map +1 -0
  102. package/dist/src/services/cookieService.js +18 -0
  103. package/dist/src/services/cookieService.js.map +1 -0
  104. package/dist/src/services/credentialService.d.ts +9 -0
  105. package/dist/src/services/credentialService.d.ts.map +1 -0
  106. package/dist/src/services/credentialService.js +26 -0
  107. package/dist/src/services/credentialService.js.map +1 -0
  108. package/dist/src/services/httpMethod.d.ts +2 -0
  109. package/dist/src/services/httpMethod.d.ts.map +1 -0
  110. package/dist/src/services/httpMethod.js +3 -0
  111. package/dist/src/services/httpMethod.js.map +1 -0
  112. package/dist/src/services/middlewareService.d.ts +10 -0
  113. package/dist/src/services/middlewareService.d.ts.map +1 -0
  114. package/dist/src/services/middlewareService.js +34 -0
  115. package/dist/src/services/middlewareService.js.map +1 -0
  116. package/dist/src/services/organizationService.d.ts +10 -0
  117. package/dist/src/services/organizationService.d.ts.map +1 -0
  118. package/dist/src/services/organizationService.js +19 -0
  119. package/dist/src/services/organizationService.js.map +1 -0
  120. package/dist/src/services/requestBuilder.d.ts +17 -0
  121. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  122. package/dist/src/services/requestBuilder.js +105 -0
  123. package/dist/src/services/requestBuilder.js.map +1 -0
  124. package/dist/src/services/responseUtils.d.ts +8 -0
  125. package/dist/src/services/responseUtils.d.ts.map +1 -0
  126. package/dist/src/services/responseUtils.js +40 -0
  127. package/dist/src/services/responseUtils.js.map +1 -0
  128. package/dist/src/services/rpcService.d.ts +77 -0
  129. package/dist/src/services/rpcService.d.ts.map +1 -0
  130. package/dist/src/services/rpcService.js +125 -0
  131. package/dist/src/services/rpcService.js.map +1 -0
  132. package/dist/src/services/service.d.ts +21 -0
  133. package/dist/src/services/service.d.ts.map +1 -0
  134. package/dist/src/services/service.js +41 -0
  135. package/dist/src/services/service.js.map +1 -0
  136. package/dist/src/services/userProfileService.d.ts +9 -0
  137. package/dist/src/services/userProfileService.d.ts.map +1 -0
  138. package/dist/src/services/userProfileService.js +43 -0
  139. package/dist/src/services/userProfileService.js.map +1 -0
  140. package/dist/src/storages/chats/answer.d.ts +41 -0
  141. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  142. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  143. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  144. package/dist/src/storages/chats/answer.impl.js +116 -0
  145. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  146. package/dist/src/storages/chats/answer.js +15 -0
  147. package/dist/src/storages/chats/answer.js.map +1 -0
  148. package/dist/src/storages/chats/chat.d.ts +43 -0
  149. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  150. package/dist/src/storages/chats/chat.impl.d.ts +25 -0
  151. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  152. package/dist/src/storages/chats/chat.impl.js +85 -0
  153. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  154. package/dist/src/storages/chats/chat.js +12 -0
  155. package/dist/src/storages/chats/chat.js.map +1 -0
  156. package/dist/src/storages/chats/chats.d.ts +45 -0
  157. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  158. package/dist/src/storages/chats/chats.impl.d.ts +19 -0
  159. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  160. package/dist/src/storages/chats/chats.impl.js +147 -0
  161. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  162. package/dist/src/storages/chats/chats.js +16 -0
  163. package/dist/src/storages/chats/chats.js.map +1 -0
  164. package/dist/src/storages/files/file.d.ts +47 -0
  165. package/dist/src/storages/files/file.d.ts.map +1 -0
  166. package/dist/src/storages/files/file.impl.d.ts +25 -0
  167. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  168. package/dist/src/storages/files/file.impl.js +93 -0
  169. package/dist/src/storages/files/file.impl.js.map +1 -0
  170. package/dist/src/storages/files/file.js +17 -0
  171. package/dist/src/storages/files/file.js.map +1 -0
  172. package/dist/src/storages/files/files.d.ts +39 -0
  173. package/dist/src/storages/files/files.d.ts.map +1 -0
  174. package/dist/src/storages/files/files.impl.d.ts +24 -0
  175. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  176. package/dist/src/storages/files/files.impl.js +168 -0
  177. package/dist/src/storages/files/files.impl.js.map +1 -0
  178. package/dist/src/storages/files/files.js +20 -0
  179. package/dist/src/storages/files/files.js.map +1 -0
  180. package/dist/src/storages/files/filesPage.d.ts +28 -0
  181. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  182. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  183. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  184. package/dist/src/storages/files/filesPage.impl.js +38 -0
  185. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  186. package/dist/src/storages/files/filesPage.js +10 -0
  187. package/dist/src/storages/files/filesPage.js.map +1 -0
  188. package/dist/src/storages/groups/group.d.ts +63 -0
  189. package/dist/src/storages/groups/group.d.ts.map +1 -0
  190. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  191. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  192. package/dist/src/storages/groups/group.impl.js +210 -0
  193. package/dist/src/storages/groups/group.impl.js.map +1 -0
  194. package/dist/src/storages/groups/group.js +15 -0
  195. package/dist/src/storages/groups/group.js.map +1 -0
  196. package/dist/src/storages/groups/groups.d.ts +39 -0
  197. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  198. package/dist/src/storages/groups/groups.impl.d.ts +30 -0
  199. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  200. package/dist/src/storages/groups/groups.impl.js +132 -0
  201. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  202. package/dist/src/storages/groups/groups.js +20 -0
  203. package/dist/src/storages/groups/groups.js.map +1 -0
  204. package/dist/src/storages/organizations/organization.d.ts +95 -0
  205. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  206. package/dist/src/storages/organizations/organization.impl.d.ts +42 -0
  207. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  208. package/dist/src/storages/organizations/organization.impl.js +240 -0
  209. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  210. package/dist/src/storages/organizations/organization.js +18 -0
  211. package/dist/src/storages/organizations/organization.js.map +1 -0
  212. package/dist/src/storages/organizations/organizations.d.ts +46 -0
  213. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  214. package/dist/src/storages/organizations/organizations.impl.d.ts +38 -0
  215. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  216. package/dist/src/storages/organizations/organizations.impl.js +158 -0
  217. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  218. package/dist/src/storages/organizations/organizations.js +20 -0
  219. package/dist/src/storages/organizations/organizations.js.map +1 -0
  220. package/dist/src/storages/user/userProfile.d.ts +54 -0
  221. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  222. package/dist/src/storages/user/userProfile.impl.d.ts +21 -0
  223. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  224. package/dist/src/storages/user/userProfile.impl.js +114 -0
  225. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  226. package/dist/src/storages/user/userProfile.js +12 -0
  227. package/dist/src/storages/user/userProfile.js.map +1 -0
  228. package/dist/src/storages/workspaces/workspace.d.ts +44 -0
  229. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  230. package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
  231. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  232. package/dist/src/storages/workspaces/workspace.impl.js +98 -0
  233. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  234. package/dist/src/storages/workspaces/workspace.js +18 -0
  235. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  236. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  237. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  238. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  239. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  240. package/dist/src/storages/workspaces/workspaces.impl.js +152 -0
  241. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  242. package/dist/src/storages/workspaces/workspaces.js +19 -0
  243. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  244. package/dist/src/unitTest.d.ts +12 -0
  245. package/dist/src/unitTest.d.ts.map +1 -0
  246. package/dist/src/unitTest.js +44 -0
  247. package/dist/src/unitTest.js.map +1 -0
  248. package/dist/src/utils/browserUtils.d.ts +4 -0
  249. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  250. package/dist/src/utils/browserUtils.js +64 -0
  251. package/dist/src/utils/browserUtils.js.map +1 -0
  252. package/dist/src/utils/request.d.ts +6 -0
  253. package/dist/src/utils/request.d.ts.map +1 -0
  254. package/dist/src/utils/request.js +3 -0
  255. package/dist/src/utils/request.js.map +1 -0
  256. package/dist/src/utils/utils.d.ts +3 -0
  257. package/dist/src/utils/utils.d.ts.map +1 -0
  258. package/dist/src/utils/utils.js +13 -0
  259. package/dist/src/utils/utils.js.map +1 -0
  260. package/index.d.ts +1 -0
  261. package/index.js +1 -0
  262. package/package.json +46 -5
  263. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  264. package/src/commands/startCommandHandler.ts +16 -5
  265. package/src/context.ts +4 -2
  266. package/src/credentials.ts +22 -0
  267. package/src/{appSdk.ts → dataIslandApp.ts} +3 -3
  268. package/src/disposable.ts +18 -5
  269. package/src/dto/accessGroupResponse.ts +19 -16
  270. package/src/dto/badRequestResponse.ts +6 -0
  271. package/src/dto/chatResponse.ts +59 -54
  272. package/src/dto/limitsResponse.ts +33 -0
  273. package/src/dto/statisticsResponse.ts +12 -0
  274. package/src/dto/userInfoResponse.ts +59 -2
  275. package/src/dto/workspacesResponse.ts +5 -3
  276. package/src/index.ts +46 -24
  277. package/src/internal/app.impl.ts +42 -9
  278. package/src/internal/createApp.impl.ts +4 -4
  279. package/src/internal/registry.ts +54 -6
  280. package/src/middleware.ts +2 -0
  281. package/src/services/anonymousService.ts +43 -0
  282. package/src/services/commandService.ts +4 -2
  283. package/src/services/cookieService.ts +16 -0
  284. package/src/services/httpMethod.ts +1 -0
  285. package/src/services/middlewareService.ts +1 -0
  286. package/src/services/organizationService.ts +2 -2
  287. package/src/services/requestBuilder.ts +10 -8
  288. package/src/services/responseUtils.ts +12 -0
  289. package/src/services/rpcService.ts +1 -0
  290. package/src/services/userProfileService.ts +18 -4
  291. package/src/storages/chats/answer.impl.ts +160 -0
  292. package/src/storages/chats/answer.ts +53 -0
  293. package/src/storages/chats/chat.impl.ts +107 -0
  294. package/src/storages/chats/chat.ts +55 -0
  295. package/src/storages/chats/chats.impl.ts +204 -0
  296. package/src/storages/chats/chats.ts +53 -0
  297. package/src/storages/files/file.impl.ts +111 -0
  298. package/src/storages/files/file.ts +58 -0
  299. package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
  300. package/src/storages/{files.ts → files/files.ts} +14 -7
  301. package/src/storages/files/filesPage.impl.ts +37 -0
  302. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  303. package/src/storages/groups/group.impl.ts +276 -0
  304. package/src/storages/groups/group.ts +73 -0
  305. package/src/storages/groups/groups.impl.ts +175 -0
  306. package/src/storages/groups/groups.ts +45 -0
  307. package/src/storages/organizations/organization.impl.ts +357 -0
  308. package/src/storages/organizations/organization.ts +118 -0
  309. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +31 -13
  310. package/src/storages/{organizations.ts → organizations/organizations.ts} +1 -1
  311. package/src/storages/user/userProfile.impl.ts +136 -0
  312. package/src/storages/user/userProfile.ts +69 -0
  313. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
  314. package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
  315. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +27 -32
  316. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  317. package/src/unitTest.ts +14 -3
  318. package/src/utils/browserUtils.ts +68 -0
  319. package/src/utils/request.ts +6 -0
  320. package/src/utils/utils.ts +8 -0
  321. package/.browserslistrc +0 -5
  322. package/.editorconfig +0 -25
  323. package/.eslintrc.json +0 -44
  324. package/.github/workflows/publish-npm.yml +0 -28
  325. package/.prettierignore +0 -1
  326. package/.prettierrc +0 -11
  327. package/.yarnrc +0 -2
  328. package/babel.config.js +0 -6
  329. package/jest.config.ts +0 -199
  330. package/jest.setup.ts +0 -2
  331. package/src/storages/chat.ts +0 -21
  332. package/src/storages/chats.ts +0 -17
  333. package/src/storages/file.impl.ts +0 -69
  334. package/src/storages/file.ts +0 -28
  335. package/src/storages/groups.impl.ts +0 -337
  336. package/src/storages/groups.ts +0 -43
  337. package/src/storages/organization.impl.ts +0 -68
  338. package/src/storages/organization.ts +0 -33
  339. package/src/storages/userProfile.impl.ts +0 -56
  340. package/src/storages/userProfile.ts +0 -42
  341. package/test/commands.test.ts +0 -24
  342. package/test/data/test_file.pdf +0 -0
  343. package/test/disposable.test.ts +0 -39
  344. package/test/events.test.ts +0 -151
  345. package/test/files.test.ts +0 -52
  346. package/test/index.test.ts +0 -122
  347. package/test/organization.test.ts +0 -57
  348. package/test/registry.test.ts +0 -44
  349. package/test/services.test.ts +0 -56
  350. package/test/setup.ts +0 -54
  351. package/test/unitTest.test.ts +0 -21
  352. package/test/workspace.test.ts +0 -71
  353. package/tsconfig.json +0 -31
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.0.1-dev4",
3
+ "version": "0.0.1-dev40",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
@@ -8,17 +8,54 @@
8
8
  "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
9
9
  }
10
10
  ],
11
- "publishConfig": {
12
- "access": "public"
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/NeuralInnovations/dataisland-client-js-sdk.git"
13
14
  },
14
15
  "scripts": {
15
16
  "build": "tsc",
16
17
  "test": "jest",
17
18
  "lint": "eslint --ext .ts,.tsx src test",
18
- "lint:fix": "eslint --fix --ext .ts,.tsx src test"
19
+ "lint:fix": "eslint --fix --ext .ts,.tsx src test",
20
+ "docs": "typedoc --disableSources --includeVersion --plugin typedoc-plugin-markdown --out docs src/index.ts && node scripts/docs/index.js",
21
+ "version-up-dev": "node scripts/version/up-dev.js && rm package-lock.json && npm install && npm run build && npm run lint:fix && npm run docs",
22
+ "release": "rm package-lock.json && npm install && npm run build && npm run lint:fix && npm run docs"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "exports": {
28
+ ".": "./dist/index.js"
19
29
  },
30
+ "main": "dist/index.js",
31
+ "types": "dist/index.d.ts",
32
+ "browser": "dist/index.js",
33
+ "directories": {
34
+ "test": "test"
35
+ },
36
+ "files": [
37
+ "dist",
38
+ "src",
39
+ "index.js",
40
+ "index.d.ts"
41
+ ],
42
+ "engines": {
43
+ "node": ">=16"
44
+ },
45
+ "keywords": [
46
+ "dataisland",
47
+ "sdk",
48
+ "neuralinnovations",
49
+ "neural innovations",
50
+ "neural-innovations",
51
+ "neural"
52
+ ],
20
53
  "author": "Neural Innovations LTD",
21
54
  "license": "Apache-2.0",
55
+ "bugs": {
56
+ "url": "https://github.com/NeuralInnovations/dataisland-client-js-sdk/issues"
57
+ },
58
+ "homepage": "https://github.com/NeuralInnovations/dataisland-client-js-sdk#readme",
22
59
  "devDependencies": {
23
60
  "@babel/core": "^7.22.11",
24
61
  "@babel/plugin-transform-modules-commonjs": "7.22.11",
@@ -27,6 +64,8 @@
27
64
  "@babel/register": "7.22.5",
28
65
  "@jest/globals": "^29.7.0",
29
66
  "@types/jest": "^29.5.11",
67
+ "@types/node": "^20.11.27",
68
+ "@types/node-fetch": "^2.6.11",
30
69
  "@typescript-eslint/eslint-plugin": "^6.19.0",
31
70
  "@typescript-eslint/parser": "^6.19.0",
32
71
  "babel-jest": "^29.7.0",
@@ -43,6 +82,7 @@
43
82
  "eslint-plugin-react": "^7.33.2",
44
83
  "glob": "7.2.3",
45
84
  "jest": "^29.7.0",
85
+ "jest-environment-jsdom": "^29.7.0",
46
86
  "prettier": "2.8.7",
47
87
  "ts-jest": "^29.1.1",
48
88
  "ts-loader": "8.4.0",
@@ -50,6 +90,7 @@
50
90
  "tslib": "^2.6.2",
51
91
  "tslint": "6.1.3",
52
92
  "typedoc": "^0.25.7",
93
+ "typedoc-plugin-markdown": "^3.17.1",
53
94
  "typescript": "^5.3.3",
54
95
  "watch": "^0.13.0",
55
96
  "webpack": "5.76.0",
@@ -59,4 +100,4 @@
59
100
  "dotenv": "^16.3.2",
60
101
  "jsdom": "^23.2.0"
61
102
  }
62
- }
103
+ }
@@ -0,0 +1,19 @@
1
+ import { Command, CommandHandler } from "../services/commandService"
2
+ import { RpcService } from "../services/rpcService"
3
+ import { ResponseUtils } from "../services/responseUtils"
4
+
5
+ export class DeleteUserFullCommand extends Command {
6
+
7
+ }
8
+
9
+ export class DeleteUserFullCommandHandler extends CommandHandler<DeleteUserFullCommand> {
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ async execute(message: DeleteUserFullCommand): Promise<void> {
12
+ const response = await this.resolve(RpcService)?.requestBuilder("/api/v1/Users/self/full")
13
+ .sendDelete()
14
+
15
+ if (ResponseUtils.isFail(response)) {
16
+ await ResponseUtils.throwError("Failed to delete user", response)
17
+ }
18
+ }
19
+ }
@@ -1,14 +1,25 @@
1
1
  import { CommandHandler, Command } from "../services/commandService"
2
2
  import { UserProfileService } from "../services/userProfileService"
3
+ import { CookieService } from "../services/cookieService"
4
+ import { AnonymousCredential } from "../credentials"
3
5
 
4
- export class StartCommand extends Command {}
6
+ export class StartCommand extends Command {
7
+ }
5
8
 
6
9
  export class StartCommandHandler extends CommandHandler<StartCommand> {
7
10
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
11
  async execute(message: StartCommand): Promise<void> {
9
- const service = this.context.resolve(
10
- UserProfileService
11
- ) as UserProfileService
12
- await service.fetch()
12
+ const userService = this.resolve(UserProfileService)!
13
+
14
+ // Merge anonymous user if needed
15
+ if (!(this.context.app.credential instanceof AnonymousCredential)) {
16
+ const cookie = this.resolve(CookieService)!
17
+ if (cookie.anonymousTokenIsValid) {
18
+ await userService.merge(cookie.anonymousToken!)
19
+ cookie.anonymousToken = undefined
20
+ }
21
+ }
22
+
23
+ await userService.fetch()
13
24
  }
14
25
  }
package/src/context.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type Constructor, type Registry } from "./internal/registry"
2
2
  import { type Lifetime } from "./disposable"
3
3
  import { Command, CommandService } from "./services/commandService"
4
+ import { DataIslandApp } from "./dataIslandApp"
4
5
 
5
6
  /**
6
7
  * DataIsland App context.
@@ -9,8 +10,9 @@ export class Context {
9
10
  constructor(
10
11
  private readonly registry: Registry,
11
12
  public readonly lifetime: Lifetime,
12
- public readonly appName: string
13
- ) {}
13
+ public readonly app: DataIslandApp
14
+ ) {
15
+ }
14
16
 
15
17
  /**
16
18
  * Resolve a service from the context.
@@ -83,3 +83,25 @@ export class BearerCredential extends CredentialBase {
83
83
  )
84
84
  }
85
85
  }
86
+
87
+ export class AnonymousCredential extends CredentialBase {
88
+ readonly token: string
89
+
90
+ constructor(token: string) {
91
+ super()
92
+ this.token = token
93
+ }
94
+
95
+ onRegister(lifetime: Lifetime, context: Context): void {
96
+ const service = context.resolve(MiddlewareService)
97
+ if (service === undefined) {
98
+ throw new Error("MiddlewareService is not registered.")
99
+ }
100
+ lifetime.add(
101
+ service.useMiddleware(async (req, next) => {
102
+ req.headers.set("Authorization", `InternalJWT ${this.token}`)
103
+ return await next(req)
104
+ })
105
+ )
106
+ }
107
+ }
@@ -2,13 +2,13 @@ import type { Lifetime } from "./disposable"
2
2
  import type { CredentialBase } from "./credentials"
3
3
  import { Context } from "./context"
4
4
  import type { Constructor } from "./internal/registry"
5
- import { Organizations } from "./storages/organizations"
6
- import { UserProfile } from "./storages/userProfile"
5
+ import { Organizations } from "./storages/organizations/organizations"
6
+ import { UserProfile } from "./storages/user/userProfile"
7
7
 
8
8
  /**
9
9
  * DataIsland App instance.
10
10
  */
11
- export abstract class AppSdk {
11
+ export abstract class DataIslandApp {
12
12
  /**
13
13
  * The name of this app.
14
14
  */
package/src/disposable.ts CHANGED
@@ -77,7 +77,8 @@ export class DisposableContainer implements Disposable {
77
77
  * @returns The disposable container.
78
78
  */
79
79
  public add(disposable: Disposable): Disposable {
80
- this._throwIfDisposed()
80
+ this._throwIfDisposed("Cannot add disposable to disposed container.")
81
+
81
82
  this._disposables.push(disposable)
82
83
  return disposable
83
84
  }
@@ -89,7 +90,8 @@ export class DisposableContainer implements Disposable {
89
90
  * @returns The disposable container.
90
91
  */
91
92
  public addCallback(callback: () => void, target?: unknown): Disposable {
92
- this._throwIfDisposed()
93
+ this._throwIfDisposed("Cannot add callback to disposed container.")
94
+
93
95
  return this.add({
94
96
  dispose() {
95
97
  callback.call(target)
@@ -101,6 +103,8 @@ export class DisposableContainer implements Disposable {
101
103
  * Defines a nested disposable container.
102
104
  */
103
105
  defineNested(): DisposableContainer {
106
+ this._throwIfDisposed("Cannot define nested disposable for disposed container.")
107
+
104
108
  const nested = new DisposableContainer()
105
109
  this._disposables.push(nested)
106
110
  nested.addCallback(() => {
@@ -116,23 +120,32 @@ export class DisposableContainer implements Disposable {
116
120
  * Disposes all disposables in this container. Last added, first disposed.
117
121
  */
118
122
  public dispose(): void {
119
- this._throwIfDisposed()
123
+ // return if already disposed
124
+ if (this._isDisposed) {
125
+ return
126
+ }
127
+
128
+ // mark as disposed
120
129
  this._isDisposed = true
130
+
131
+ // dispose all disposables
121
132
  this._disposables
122
133
  .slice()
123
134
  .reverse()
124
135
  .forEach(it => {
125
136
  it.dispose()
126
137
  })
138
+
139
+ // clear disposables
127
140
  this._disposables = []
128
141
  }
129
142
 
130
143
  /**
131
144
  * Throws an error if this container is disposed.
132
145
  */
133
- private _throwIfDisposed(): void {
146
+ private _throwIfDisposed(message: string): void {
134
147
  if (this._isDisposed) {
135
- throw new Error("Object disposed")
148
+ throw new Error("Object disposed, but you try to use it: " + message)
136
149
  }
137
150
  }
138
151
  }
@@ -1,34 +1,37 @@
1
1
  import { UserDto } from "./userInfoResponse"
2
2
 
3
-
4
3
  export interface PermitsDto {
5
- isAdmin: boolean;
4
+ isAdmin: boolean;
6
5
  }
7
6
 
8
7
  export interface RegulationDto {
9
- isRegulateOrganization: boolean;
10
- regulateWorkspaceIds: string[];
8
+ isRegulateOrganization: boolean;
9
+ regulateWorkspaceIds: string[];
11
10
  }
12
11
 
13
12
  export interface AccessGroupDto {
14
- id: string;
15
- name: string;
16
- type: number;
17
- createdAt: number;
18
- modifiedAt: number;
19
- organizationId: string;
20
- permits: PermitsDto;
21
- regulation: RegulationDto;
22
- membersCount: number;
13
+ id: string;
14
+ name: string;
15
+ type: number;
16
+ createdAt: number;
17
+ modifiedAt: number;
18
+ organizationId: string;
19
+ permits: PermitsDto;
20
+ regulation: RegulationDto;
21
+ membersCount: number;
23
22
  }
24
23
 
25
24
  export interface AccessGroupResponse {
26
- group: AccessGroupDto;
27
- members: UserDto[];
25
+ group: AccessGroupDto;
26
+ members: UserDto[];
28
27
  }
29
28
 
30
29
  export interface AccessGroupsResponse {
31
- groups: AccessGroupDto[];
30
+ groups: AccessGroupDto[];
31
+ }
32
+
33
+ export interface InviteCodeResponse {
34
+ code: string
32
35
  }
33
36
 
34
37
 
@@ -0,0 +1,6 @@
1
+
2
+ export interface BadRequest {
3
+ code: number
4
+ name: string
5
+ desc?: string
6
+ }
@@ -1,88 +1,93 @@
1
+ import { AnswerId, StepId } from "../storages/chats/answer"
2
+ import { ChatId } from "../storages/chats/chat"
3
+ import { UserId } from "../storages/user/userProfile"
1
4
 
2
5
  export interface SourceDto {
3
- id: string;
4
- name: string;
5
- url: string;
6
- content: string;
7
- page: number;
6
+ id: string;
7
+ name: string;
8
+ url: string;
9
+ content: string;
10
+ page: number;
8
11
  }
9
12
 
10
13
  export interface AnswerDto {
11
- id: string;
12
- chatId: string;
13
- question: string;
14
- context: string;
15
- sources: SourceDto[];
16
- timestamp: number;
14
+ id: AnswerId;
15
+ chatId: ChatId;
16
+ question: string;
17
+ context: string;
18
+ sources: SourceDto[];
19
+ timestamp: number;
17
20
  }
18
21
 
19
22
  export interface ChatDto {
20
- id: string;
21
- name: string;
22
- createdAt: number;
23
- modifiedAt: number;
24
- userId: string;
25
- organizationId: string;
26
- workspaceId: string;
27
- answers: AnswerDto[];
23
+ id: ChatId;
24
+ name: string;
25
+ createdAt: number;
26
+ modifiedAt: number;
27
+ userId: UserId;
28
+ organizationId: string;
29
+ workspaceId: string;
30
+ fileId: string;
31
+ model: string;
32
+ answers: AnswerDto[];
28
33
  }
29
34
 
30
35
  export interface ChatListResponse {
31
- chats: ChatDto[]
36
+ chats: ChatDto[]
32
37
  }
33
38
 
34
39
  export enum AnswerStatus {
35
- RUNNING = 0,
36
- SUCCESS = 1,
37
- CANCELED = 2,
38
- FAIL = 3,
40
+ RUNNING = 0,
41
+ SUCCESS = 1,
42
+ CANCELED = 2,
43
+ FAIL = 3,
39
44
  }
40
45
 
41
- export interface AnswerStepDto{
42
- id: string;
43
- type: StepType;
44
- status: StepStatus;
45
- start_at: string;
46
- end_at: string;
47
- tokens: string[];
48
- sources: SourceDto[];
46
+ export interface AnswerStepDto {
47
+ id: StepId;
48
+ type: StepType;
49
+ status: StepStatus;
50
+ start_at: string;
51
+ end_at: string;
52
+ tokens: string[];
53
+ sources: SourceDto[];
49
54
  }
50
55
 
51
56
  export interface FetchAnswerResponse {
52
- id: string;
53
- status: AnswerStatus;
54
- steps: AnswerStepDto[];
57
+ id: AnswerId;
58
+ status: AnswerStatus;
59
+ steps: AnswerStepDto[];
55
60
  }
56
61
 
57
62
  export interface FetchTokensResponse {
58
- id: string;
59
- step_id: string;
60
- step_status: number;
61
- step_tokens: string[];
63
+ id: string;
64
+ step_id: string;
65
+ step_status: number;
66
+ step_tokens: string[];
62
67
  }
63
68
 
64
69
  export interface AnswerSourcesResponse {
65
- chat_uid: string;
66
- uid: string;
67
- step_id: string;
68
- sources: SourceDto[];
70
+ chat_uid: string;
71
+ uid: string;
72
+ step_id: string;
73
+ sources: SourceDto[];
69
74
  }
70
75
 
71
76
  export enum StepStatus {
72
- RUNNING = 0,
73
- SUCCESS = 1,
74
- FAIL = 2,
75
- CANCELED = 3,
77
+ RUNNING = 0,
78
+ SUCCESS = 1,
79
+ FAIL = 2,
80
+ CANCELED = 3,
76
81
  }
77
82
 
78
83
  export enum StepType {
79
- PREPARE = 0,
80
- SOURCES = 1,
81
- GENERATE_ANSWER = 6,
82
- FINALIZE_RESULT = 9,
83
- DONE = 10,
84
+ PREPARE = 0,
85
+ SOURCES = 1,
86
+ GENERATE_ANSWER = 6,
87
+ FINALIZE_RESULT = 9,
88
+ DONE = 10,
84
89
  }
85
-
90
+
86
91
  export class StepTypeInfo {
87
92
  public static hasTokens(type: StepType): boolean {
88
93
  switch (type) {
@@ -101,4 +106,4 @@ export class StepTypeInfo {
101
106
  }
102
107
  return false
103
108
  }
104
- }
109
+ }
@@ -0,0 +1,33 @@
1
+
2
+ export interface SegmentsData {
3
+ segments: SegmentData[]
4
+ }
5
+
6
+ export interface SegmentData {
7
+ key: string
8
+ isRegisteredDefault: boolean
9
+ isAnonymousDefault: boolean
10
+ isAnonymous: boolean
11
+ isRegistered: boolean
12
+ dayItems: SegmentItemData[]
13
+ }
14
+
15
+ export interface SegmentItemData{
16
+ daysCount: number
17
+ actionItems: SegmentActionData[]
18
+ }
19
+
20
+ export interface SegmentActionData {
21
+ type: LimitActionType
22
+ countLimit: number
23
+ tokenLimit?: number
24
+ }
25
+
26
+ export enum LimitActionType {
27
+ UploadFile = 0,
28
+ CreateChat = 1,
29
+ AskQuestion = 2,
30
+ CreateWorkspace = 3,
31
+ CreateOrganization = 4,
32
+ FileSizeKb = 5
33
+ }
@@ -0,0 +1,12 @@
1
+ export interface StatisticsResponse {
2
+ dateFrom: number
3
+ dateTo: number
4
+ data: StatisticsData[]
5
+ }
6
+
7
+ export interface StatisticsData {
8
+ date: number
9
+ promptUsage: number
10
+ completionUsage: number
11
+ }
12
+
@@ -1,4 +1,8 @@
1
1
  import { WorkspaceDto } from "./workspacesResponse"
2
+ import { UserId } from "../storages/user/userProfile"
3
+ import { OrganizationId } from "../storages/organizations/organizations"
4
+ import { StatisticsData } from "./statisticsResponse"
5
+ import { LimitActionType, SegmentData } from "./limitsResponse"
2
6
 
3
7
  export interface UserInfoResponse {
4
8
  adminInOrganization: string[]
@@ -7,8 +11,9 @@ export interface UserInfoResponse {
7
11
  }
8
12
 
9
13
  export interface UserDto {
10
- id: string
14
+ id: UserId
11
15
  isDeleted: boolean
16
+ isAnonymousMode: boolean
12
17
  created_at: number
13
18
  modified_at: number
14
19
  profile: ProfileDto
@@ -18,11 +23,14 @@ export interface UserDto {
18
23
  export interface ProfileDto {
19
24
  name: string
20
25
  email: string
26
+ binanceId: string
27
+ educationalInstitution: string
21
28
  }
22
29
 
23
30
  export interface UserSettings {
24
31
  activeOrganizationId: string
25
32
  activeWorkspaceId: string
33
+ limitSegmentKey: string
26
34
  }
27
35
 
28
36
  export interface OrganizationProfileDto {
@@ -31,7 +39,7 @@ export interface OrganizationProfileDto {
31
39
  }
32
40
 
33
41
  export interface OrganizationDto {
34
- id: string
42
+ id: OrganizationId
35
43
  createdAt: number
36
44
  modifiedAt: number
37
45
  membersCount: number
@@ -45,3 +53,52 @@ export interface OrganizationWorkspaces extends OrganizationDto {
45
53
  export interface MembersResponse {
46
54
  members: UserDto
47
55
  }
56
+
57
+ export interface UsersStatisticsResponse {
58
+ dateFrom: number
59
+ dateTo: number
60
+ membersData: UsetStatisticsData[]
61
+ }
62
+
63
+ export interface UsetStatisticsData {
64
+ userId: UserId
65
+ data: StatisticsData[]
66
+ }
67
+
68
+ export interface OrganizationSegmentData {
69
+ segment: SegmentData
70
+ }
71
+
72
+ export interface UserLimitsData {
73
+ userSegment: SegmentData
74
+ userLimits: UserLimitData[]
75
+ }
76
+
77
+ export interface UserLimitData {
78
+ action: LimitActionType
79
+ records: UserLimitRecordData[]
80
+ }
81
+
82
+ export interface UserLimitRecordData {
83
+ daysCount: number
84
+ countLimit: number
85
+ tokenLimit?: number
86
+ activeTill: number
87
+ }
88
+
89
+ export interface CurrentLimitsData {
90
+ segment: string
91
+ limits: CurrentLimitItem[]
92
+ }
93
+
94
+ export interface CurrentLimitItem {
95
+ action: LimitActionType
96
+ records: CurrentLimitRecordData[]
97
+ }
98
+
99
+ export interface CurrentLimitRecordData {
100
+ daysCount: number
101
+ used: number
102
+ all: number
103
+ activeTill: number
104
+ }
@@ -1,5 +1,5 @@
1
- import { WorkspaceId } from "../storages/workspaces"
2
- import { FileId } from "../storages/file"
1
+ import { WorkspaceId } from "../storages/workspaces/workspaces"
2
+ import { FileId } from "../storages/files/file"
3
3
 
4
4
  export interface WorkspaceProfileDto {
5
5
  name: string
@@ -18,7 +18,8 @@ export interface WorkspacesResponse {
18
18
  }
19
19
 
20
20
  export interface FileUrlDto {
21
- url: string
21
+ url: string,
22
+ previewUrl: string
22
23
  }
23
24
 
24
25
  export interface FileProgressDto {
@@ -36,6 +37,7 @@ export interface FileDto {
36
37
  name: string
37
38
  description: string
38
39
  url: string
40
+ previewUrl: string
39
41
  hash: string
40
42
  organizationId: string
41
43
  workspaceId: string