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

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 (363) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +283 -37
  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 +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 +38 -0
  41. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  42. package/dist/src/dto/acquiringResponse.js +12 -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 +83 -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/statisticsResponse.d.ts +11 -0
  57. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  58. package/dist/src/dto/statisticsResponse.js +3 -0
  59. package/dist/src/dto/statisticsResponse.js.map +1 -0
  60. package/dist/src/dto/userInfoResponse.d.ts +88 -0
  61. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  62. package/dist/src/dto/userInfoResponse.js +3 -0
  63. package/dist/src/dto/userInfoResponse.js.map +1 -0
  64. package/dist/src/dto/workspacesResponse.d.ts +45 -0
  65. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  66. package/dist/src/dto/workspacesResponse.js +3 -0
  67. package/dist/src/dto/workspacesResponse.js.map +1 -0
  68. package/dist/src/events.d.ts +17 -0
  69. package/dist/src/events.d.ts.map +1 -0
  70. package/dist/src/events.js +52 -0
  71. package/dist/src/events.js.map +1 -0
  72. package/dist/src/index.d.ts +66 -0
  73. package/dist/src/index.d.ts.map +1 -0
  74. package/dist/src/index.js +113 -0
  75. package/dist/src/index.js.map +1 -0
  76. package/dist/src/internal/app.impl.d.ts +30 -0
  77. package/dist/src/internal/app.impl.d.ts.map +1 -0
  78. package/dist/src/internal/app.impl.js +180 -0
  79. package/dist/src/internal/app.impl.js.map +1 -0
  80. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  81. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  82. package/dist/src/internal/appBuilder.impl.js +71 -0
  83. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  84. package/dist/src/internal/createApp.impl.d.ts +4 -0
  85. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  86. package/dist/src/internal/createApp.impl.js +11 -0
  87. package/dist/src/internal/createApp.impl.js.map +1 -0
  88. package/dist/src/internal/registry.d.ts +66 -0
  89. package/dist/src/internal/registry.d.ts.map +1 -0
  90. package/dist/src/internal/registry.js +114 -0
  91. package/dist/src/internal/registry.js.map +1 -0
  92. package/dist/src/middleware.d.ts +6 -0
  93. package/dist/src/middleware.d.ts.map +1 -0
  94. package/dist/src/middleware.js +3 -0
  95. package/dist/src/middleware.js.map +1 -0
  96. package/dist/src/services/acquiringService.d.ts +8 -0
  97. package/dist/src/services/acquiringService.d.ts.map +1 -0
  98. package/dist/src/services/acquiringService.js +40 -0
  99. package/dist/src/services/acquiringService.js.map +1 -0
  100. package/dist/src/services/anonymousService.d.ts +8 -0
  101. package/dist/src/services/anonymousService.d.ts.map +1 -0
  102. package/dist/src/services/anonymousService.js +41 -0
  103. package/dist/src/services/anonymousService.js.map +1 -0
  104. package/dist/src/services/commandService.d.ts +18 -0
  105. package/dist/src/services/commandService.d.ts.map +1 -0
  106. package/dist/src/services/commandService.js +40 -0
  107. package/dist/src/services/commandService.js.map +1 -0
  108. package/dist/src/services/cookieService.d.ts +7 -0
  109. package/dist/src/services/cookieService.d.ts.map +1 -0
  110. package/dist/src/services/cookieService.js +18 -0
  111. package/dist/src/services/cookieService.js.map +1 -0
  112. package/dist/src/services/credentialService.d.ts +9 -0
  113. package/dist/src/services/credentialService.d.ts.map +1 -0
  114. package/dist/src/services/credentialService.js +26 -0
  115. package/dist/src/services/credentialService.js.map +1 -0
  116. package/dist/src/services/httpMethod.d.ts +2 -0
  117. package/dist/src/services/httpMethod.d.ts.map +1 -0
  118. package/dist/src/services/httpMethod.js +3 -0
  119. package/dist/src/services/httpMethod.js.map +1 -0
  120. package/dist/src/services/middlewareService.d.ts +10 -0
  121. package/dist/src/services/middlewareService.d.ts.map +1 -0
  122. package/dist/src/services/middlewareService.js +34 -0
  123. package/dist/src/services/middlewareService.js.map +1 -0
  124. package/dist/src/services/organizationService.d.ts +10 -0
  125. package/dist/src/services/organizationService.d.ts.map +1 -0
  126. package/dist/src/services/organizationService.js +19 -0
  127. package/dist/src/services/organizationService.js.map +1 -0
  128. package/dist/src/services/requestBuilder.d.ts +17 -0
  129. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  130. package/dist/src/services/requestBuilder.js +105 -0
  131. package/dist/src/services/requestBuilder.js.map +1 -0
  132. package/dist/src/services/responseUtils.d.ts +8 -0
  133. package/dist/src/services/responseUtils.d.ts.map +1 -0
  134. package/dist/src/services/responseUtils.js +40 -0
  135. package/dist/src/services/responseUtils.js.map +1 -0
  136. package/dist/src/services/rpcService.d.ts +77 -0
  137. package/dist/src/services/rpcService.d.ts.map +1 -0
  138. package/dist/src/services/rpcService.js +125 -0
  139. package/dist/src/services/rpcService.js.map +1 -0
  140. package/dist/src/services/service.d.ts +21 -0
  141. package/dist/src/services/service.d.ts.map +1 -0
  142. package/dist/src/services/service.js +41 -0
  143. package/dist/src/services/service.js.map +1 -0
  144. package/dist/src/services/userProfileService.d.ts +9 -0
  145. package/dist/src/services/userProfileService.d.ts.map +1 -0
  146. package/dist/src/services/userProfileService.js +43 -0
  147. package/dist/src/services/userProfileService.js.map +1 -0
  148. package/dist/src/storages/chats/answer.d.ts +41 -0
  149. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  150. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  151. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  152. package/dist/src/storages/chats/answer.impl.js +116 -0
  153. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  154. package/dist/src/storages/chats/answer.js +15 -0
  155. package/dist/src/storages/chats/answer.js.map +1 -0
  156. package/dist/src/storages/chats/chat.d.ts +43 -0
  157. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  158. package/dist/src/storages/chats/chat.impl.d.ts +25 -0
  159. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  160. package/dist/src/storages/chats/chat.impl.js +85 -0
  161. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  162. package/dist/src/storages/chats/chat.js +12 -0
  163. package/dist/src/storages/chats/chat.js.map +1 -0
  164. package/dist/src/storages/chats/chats.d.ts +45 -0
  165. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  166. package/dist/src/storages/chats/chats.impl.d.ts +19 -0
  167. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  168. package/dist/src/storages/chats/chats.impl.js +147 -0
  169. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  170. package/dist/src/storages/chats/chats.js +16 -0
  171. package/dist/src/storages/chats/chats.js.map +1 -0
  172. package/dist/src/storages/files/file.d.ts +47 -0
  173. package/dist/src/storages/files/file.d.ts.map +1 -0
  174. package/dist/src/storages/files/file.impl.d.ts +25 -0
  175. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  176. package/dist/src/storages/files/file.impl.js +93 -0
  177. package/dist/src/storages/files/file.impl.js.map +1 -0
  178. package/dist/src/storages/files/file.js +17 -0
  179. package/dist/src/storages/files/file.js.map +1 -0
  180. package/dist/src/storages/files/files.d.ts +39 -0
  181. package/dist/src/storages/files/files.d.ts.map +1 -0
  182. package/dist/src/storages/files/files.impl.d.ts +24 -0
  183. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  184. package/dist/src/storages/files/files.impl.js +168 -0
  185. package/dist/src/storages/files/files.impl.js.map +1 -0
  186. package/dist/src/storages/files/files.js +20 -0
  187. package/dist/src/storages/files/files.js.map +1 -0
  188. package/dist/src/storages/files/filesPage.d.ts +28 -0
  189. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  190. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  191. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  192. package/dist/src/storages/files/filesPage.impl.js +38 -0
  193. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  194. package/dist/src/storages/files/filesPage.js +10 -0
  195. package/dist/src/storages/files/filesPage.js.map +1 -0
  196. package/dist/src/storages/groups/group.d.ts +63 -0
  197. package/dist/src/storages/groups/group.d.ts.map +1 -0
  198. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  199. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  200. package/dist/src/storages/groups/group.impl.js +210 -0
  201. package/dist/src/storages/groups/group.impl.js.map +1 -0
  202. package/dist/src/storages/groups/group.js +15 -0
  203. package/dist/src/storages/groups/group.js.map +1 -0
  204. package/dist/src/storages/groups/groups.d.ts +39 -0
  205. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  206. package/dist/src/storages/groups/groups.impl.d.ts +30 -0
  207. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  208. package/dist/src/storages/groups/groups.impl.js +132 -0
  209. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  210. package/dist/src/storages/groups/groups.js +20 -0
  211. package/dist/src/storages/groups/groups.js.map +1 -0
  212. package/dist/src/storages/organizations/organization.d.ts +95 -0
  213. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  214. package/dist/src/storages/organizations/organization.impl.d.ts +42 -0
  215. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  216. package/dist/src/storages/organizations/organization.impl.js +240 -0
  217. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  218. package/dist/src/storages/organizations/organization.js +18 -0
  219. package/dist/src/storages/organizations/organization.js.map +1 -0
  220. package/dist/src/storages/organizations/organizations.d.ts +46 -0
  221. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  222. package/dist/src/storages/organizations/organizations.impl.d.ts +38 -0
  223. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  224. package/dist/src/storages/organizations/organizations.impl.js +158 -0
  225. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  226. package/dist/src/storages/organizations/organizations.js +20 -0
  227. package/dist/src/storages/organizations/organizations.js.map +1 -0
  228. package/dist/src/storages/user/userProfile.d.ts +54 -0
  229. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  230. package/dist/src/storages/user/userProfile.impl.d.ts +21 -0
  231. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  232. package/dist/src/storages/user/userProfile.impl.js +114 -0
  233. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  234. package/dist/src/storages/user/userProfile.js +12 -0
  235. package/dist/src/storages/user/userProfile.js.map +1 -0
  236. package/dist/src/storages/workspaces/workspace.d.ts +44 -0
  237. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  238. package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
  239. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  240. package/dist/src/storages/workspaces/workspace.impl.js +98 -0
  241. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  242. package/dist/src/storages/workspaces/workspace.js +18 -0
  243. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  244. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  245. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  246. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  247. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  248. package/dist/src/storages/workspaces/workspaces.impl.js +152 -0
  249. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  250. package/dist/src/storages/workspaces/workspaces.js +19 -0
  251. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  252. package/dist/src/unitTest.d.ts +12 -0
  253. package/dist/src/unitTest.d.ts.map +1 -0
  254. package/dist/src/unitTest.js +44 -0
  255. package/dist/src/unitTest.js.map +1 -0
  256. package/dist/src/utils/browserUtils.d.ts +4 -0
  257. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  258. package/dist/src/utils/browserUtils.js +64 -0
  259. package/dist/src/utils/browserUtils.js.map +1 -0
  260. package/dist/src/utils/request.d.ts +6 -0
  261. package/dist/src/utils/request.d.ts.map +1 -0
  262. package/dist/src/utils/request.js +3 -0
  263. package/dist/src/utils/request.js.map +1 -0
  264. package/dist/src/utils/utils.d.ts +3 -0
  265. package/dist/src/utils/utils.d.ts.map +1 -0
  266. package/dist/src/utils/utils.js +13 -0
  267. package/dist/src/utils/utils.js.map +1 -0
  268. package/index.d.ts +1 -0
  269. package/index.js +1 -0
  270. package/package.json +46 -5
  271. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  272. package/src/commands/startCommandHandler.ts +16 -5
  273. package/src/context.ts +4 -2
  274. package/src/credentials.ts +22 -0
  275. package/src/{appSdk.ts → dataIslandApp.ts} +9 -3
  276. package/src/disposable.ts +18 -5
  277. package/src/dto/accessGroupResponse.ts +19 -16
  278. package/src/dto/acquiringResponse.ts +45 -0
  279. package/src/dto/badRequestResponse.ts +6 -0
  280. package/src/dto/chatResponse.ts +59 -54
  281. package/src/dto/limitsResponse.ts +33 -0
  282. package/src/dto/statisticsResponse.ts +12 -0
  283. package/src/dto/userInfoResponse.ts +59 -2
  284. package/src/dto/workspacesResponse.ts +5 -3
  285. package/src/index.ts +46 -24
  286. package/src/internal/app.impl.ts +52 -10
  287. package/src/internal/createApp.impl.ts +4 -4
  288. package/src/internal/registry.ts +54 -6
  289. package/src/middleware.ts +2 -0
  290. package/src/services/acquiringService.ts +50 -0
  291. package/src/services/anonymousService.ts +43 -0
  292. package/src/services/commandService.ts +4 -2
  293. package/src/services/cookieService.ts +16 -0
  294. package/src/services/httpMethod.ts +1 -0
  295. package/src/services/middlewareService.ts +1 -0
  296. package/src/services/organizationService.ts +2 -2
  297. package/src/services/requestBuilder.ts +10 -8
  298. package/src/services/responseUtils.ts +12 -0
  299. package/src/services/rpcService.ts +1 -0
  300. package/src/services/userProfileService.ts +18 -4
  301. package/src/storages/chats/answer.impl.ts +160 -0
  302. package/src/storages/chats/answer.ts +53 -0
  303. package/src/storages/chats/chat.impl.ts +107 -0
  304. package/src/storages/chats/chat.ts +55 -0
  305. package/src/storages/chats/chats.impl.ts +204 -0
  306. package/src/storages/chats/chats.ts +53 -0
  307. package/src/storages/files/file.impl.ts +111 -0
  308. package/src/storages/files/file.ts +58 -0
  309. package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
  310. package/src/storages/{files.ts → files/files.ts} +14 -7
  311. package/src/storages/files/filesPage.impl.ts +37 -0
  312. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  313. package/src/storages/groups/group.impl.ts +276 -0
  314. package/src/storages/groups/group.ts +73 -0
  315. package/src/storages/groups/groups.impl.ts +175 -0
  316. package/src/storages/groups/groups.ts +45 -0
  317. package/src/storages/organizations/organization.impl.ts +357 -0
  318. package/src/storages/organizations/organization.ts +118 -0
  319. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +31 -13
  320. package/src/storages/{organizations.ts → organizations/organizations.ts} +1 -1
  321. package/src/storages/user/userProfile.impl.ts +136 -0
  322. package/src/storages/user/userProfile.ts +69 -0
  323. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
  324. package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
  325. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +27 -32
  326. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  327. package/src/unitTest.ts +14 -3
  328. package/src/utils/browserUtils.ts +68 -0
  329. package/src/utils/request.ts +6 -0
  330. package/src/utils/utils.ts +8 -0
  331. package/.browserslistrc +0 -5
  332. package/.editorconfig +0 -25
  333. package/.eslintrc.json +0 -44
  334. package/.github/workflows/publish-npm.yml +0 -28
  335. package/.prettierignore +0 -1
  336. package/.prettierrc +0 -11
  337. package/.yarnrc +0 -2
  338. package/babel.config.js +0 -6
  339. package/jest.config.ts +0 -199
  340. package/jest.setup.ts +0 -2
  341. package/src/storages/chat.ts +0 -21
  342. package/src/storages/chats.ts +0 -17
  343. package/src/storages/file.impl.ts +0 -69
  344. package/src/storages/file.ts +0 -28
  345. package/src/storages/groups.impl.ts +0 -337
  346. package/src/storages/groups.ts +0 -43
  347. package/src/storages/organization.impl.ts +0 -68
  348. package/src/storages/organization.ts +0 -33
  349. package/src/storages/userProfile.impl.ts +0 -56
  350. package/src/storages/userProfile.ts +0 -42
  351. package/test/commands.test.ts +0 -24
  352. package/test/data/test_file.pdf +0 -0
  353. package/test/disposable.test.ts +0 -39
  354. package/test/events.test.ts +0 -151
  355. package/test/files.test.ts +0 -52
  356. package/test/index.test.ts +0 -122
  357. package/test/organization.test.ts +0 -57
  358. package/test/registry.test.ts +0 -44
  359. package/test/services.test.ts +0 -56
  360. package/test/setup.ts +0 -54
  361. package/test/unitTest.test.ts +0 -21
  362. package/test/workspace.test.ts +0 -71
  363. package/tsconfig.json +0 -31
@@ -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
package/src/index.ts CHANGED
@@ -1,26 +1,48 @@
1
1
  import { version } from "../package.json"
2
2
  import { _createApp } from "./internal/createApp.impl"
3
3
  import { type AppBuilder } from "./appBuilder"
4
- import { type AppSdk } from "./appSdk"
4
+ import { type DataIslandApp } from "./dataIslandApp"
5
5
 
6
6
  export * from "./events"
7
7
  export * from "./disposable"
8
8
  export * from "./credentials"
9
- export * from "./appSdk"
10
- export * from "./storages/organizations"
11
- export * from "./storages/organization"
12
- export * from "./storages/workspaces"
13
- export * from "./storages/workspace"
14
- export * from "./storages/groups"
15
- export * from "./storages/userProfile"
16
- export * from "./storages/files"
17
- export * from "./storages/file"
18
- export * from "./storages/filesPage"
19
- export * from "./storages/chats"
20
- export * from "./storages/chat"
9
+ export * from "./dataIslandApp"
10
+ export * from "./appBuilder"
11
+ export * from "./context"
12
+ export * from "./middleware"
13
+ export * from "./dto/chatResponse"
14
+ export * from "./dto/accessGroupResponse"
15
+ export * from "./dto/userInfoResponse"
16
+ export * from "./dto/workspacesResponse"
17
+ export * from "./storages/organizations/organizations"
18
+ export * from "./storages/organizations/organization"
19
+ export * from "./storages/workspaces/workspaces"
20
+ export * from "./storages/workspaces/workspace"
21
+ export * from "./storages/groups/groups"
22
+ export * from "./storages/user/userProfile"
23
+ export * from "./storages/files/files"
24
+ export * from "./storages/files/file"
25
+ export * from "./storages/files/filesPage"
26
+ export * from "./storages/chats/chats"
27
+ export * from "./storages/chats/chat"
28
+ export * from "./storages/chats/answer"
21
29
 
22
- const _appsNotReady = new Map<string, Promise<AppSdk>>()
23
- const _appsReady = new Map<string, AppSdk>()
30
+ export {
31
+ OrganizationId, Organizations, OrganizationsEvent
32
+ } from "./storages/organizations/organizations"
33
+ export {
34
+ WorkspaceId, Workspaces, WorkspacesEvent
35
+ } from "./storages/workspaces/workspaces"
36
+ export { FileId, File, FileStatus } from "./storages/files/file"
37
+ export { UploadFile, Files, FilesEvent } from "./storages/files/files"
38
+ export { Group, GroupEvent, GroupId } from "./storages/groups/group"
39
+ export { AnswerId, Answer, StepId, AnswerEvent } from "./storages/chats/answer"
40
+ export { isNullOrUndefined, isEmptyNullOrUndefined } from "./utils/utils"
41
+
42
+ // map of apps that are not ready to be used
43
+ const _appsNotReady = new Map<string, Promise<DataIslandApp>>()
44
+ // map of apps that are ready to be used
45
+ const _appsReady = new Map<string, DataIslandApp>()
24
46
 
25
47
  /**
26
48
  * Current SDK version.
@@ -37,7 +59,10 @@ export const DEFAULT_NAME = "[DEFAULT]"
37
59
  */
38
60
  export const DEFAULT_HOST = "https://api.dataisland.com.ua"
39
61
 
40
- export function sdks(): AppSdk[] {
62
+ /**
63
+ * Returns a list of DataIsland App instances.
64
+ */
65
+ export function dataIslandInstances(): DataIslandApp[] {
41
66
  return Array.from(_appsReady.values())
42
67
  }
43
68
 
@@ -48,19 +73,19 @@ export function sdks(): AppSdk[] {
48
73
  * @returns A DataIsland App instance.
49
74
  * @example
50
75
  * ```js
51
- * import { appSdk } from 'data-island'
76
+ * import { dataIslandApp, DEFAULT_NAME } from '@neuralinnovations/dataisland-sdk'
52
77
  *
53
- * const app = await appSdk("my-app", builder => {
78
+ * const app = await dataIslandApp(DEFAULT_NAME, builder => {
54
79
  * builder.useHost("https://dataisland.com.ua")
55
80
  * builder.useAutomaticDataCollectionEnabled(true)
56
81
  * builder.useCredential(new BasicCredential("email", "password"))
57
82
  * })
58
83
  * ```
59
84
  */
60
- export async function appSdk(
85
+ export async function dataIslandApp(
61
86
  name?: string,
62
87
  setup?: (builder: AppBuilder) => Promise<void>
63
- ): Promise<AppSdk> {
88
+ ): Promise<DataIslandApp> {
64
89
  name = name ?? DEFAULT_NAME
65
90
 
66
91
  let appPromise = _appsNotReady.get(name)
@@ -78,12 +103,9 @@ export async function appSdk(
78
103
  } else {
79
104
  if (setup !== undefined) {
80
105
  throw new Error(
81
- `App ${name} is initializing. You can't setup the same again.`
106
+ `DataIsland ${name} is initializing. You can't setup the same again.`
82
107
  )
83
108
  }
84
109
  }
85
110
  return await appPromise
86
111
  }
87
-
88
- export { File } from "./storages/file"
89
- export { FilesPage } from "./storages/filesPage"
@@ -7,8 +7,12 @@ import { DisposableContainer, type Lifetime } from "../disposable"
7
7
  import { type Service, ServiceContext } from "../services/service"
8
8
  import { CredentialService } from "../services/credentialService"
9
9
  import { MiddlewareService } from "../services/middlewareService"
10
- import { type CredentialBase } from "../credentials"
11
- import { AppSdk } from "../appSdk"
10
+ import {
11
+ DefaultCredential,
12
+ type CredentialBase,
13
+ AnonymousCredential
14
+ } from "../credentials"
15
+ import { DataIslandApp } from "../dataIslandApp"
12
16
  import { RpcService } from "../services/rpcService"
13
17
  import { CommandService } from "../services/commandService"
14
18
  import {
@@ -17,11 +21,18 @@ import {
17
21
  } from "../commands/startCommandHandler"
18
22
  import { UserProfileService } from "../services/userProfileService"
19
23
  import { OrganizationService } from "../services/organizationService"
20
- import { Organizations } from "../storages/organizations"
21
- import { UserProfile } from "../storages/userProfile"
24
+ import { Organizations } from "../storages/organizations/organizations"
25
+ import { UserProfile } from "../storages/user/userProfile"
22
26
  import { isUnitTest, UnitTest } from "../unitTest"
23
-
24
- export class AppImplementation extends AppSdk {
27
+ import {
28
+ DeleteUserFullCommand,
29
+ DeleteUserFullCommandHandler
30
+ } from "../commands/deleteUserFullCommandHandler"
31
+ import { CookieService } from "../services/cookieService"
32
+ import { AnonymousService } from "../services/anonymousService"
33
+ import { AcquiringService } from "../services/acquiringService"
34
+
35
+ export class DataIslandAppImpl extends DataIslandApp {
25
36
  readonly name: string
26
37
  private _host: string = DEFAULT_HOST
27
38
  private _automaticDataCollectionEnabled: boolean = true
@@ -34,7 +45,7 @@ export class AppImplementation extends AppSdk {
34
45
  this.name = name
35
46
  this._registry = new Registry()
36
47
  this._disposable = new DisposableContainer()
37
- this._context = new Context(this._registry, this._disposable.lifetime, name)
48
+ this._context = new Context(this._registry, this._disposable.lifetime, this)
38
49
 
39
50
  this._registry.map(Context).asValue(this._context)
40
51
  }
@@ -73,6 +84,10 @@ export class AppImplementation extends AppSdk {
73
84
  return this.resolve(UserProfileService)?.userProfile as UserProfile
74
85
  }
75
86
 
87
+ get acquiring(): AcquiringService {
88
+ return this.resolve(AcquiringService) as AcquiringService
89
+ }
90
+
76
91
  async initialize(
77
92
  setup: ((builder: AppBuilder) => Promise<void>) | undefined
78
93
  ): Promise<void> {
@@ -83,8 +98,14 @@ export class AppImplementation extends AppSdk {
83
98
  builder.registerCommand(StartCommand, (context: Context) => {
84
99
  return new StartCommandHandler(context)
85
100
  })
101
+ builder.registerCommand(DeleteUserFullCommand, (context: Context) => {
102
+ return new DeleteUserFullCommandHandler(context)
103
+ })
86
104
 
87
105
  // register services
106
+ builder.registerService(CookieService, (context: ServiceContext) => {
107
+ return new CookieService(context)
108
+ })
88
109
  builder.registerService(CredentialService, (context: ServiceContext) => {
89
110
  return new CredentialService(context)
90
111
  })
@@ -103,6 +124,13 @@ export class AppImplementation extends AppSdk {
103
124
  builder.registerService(OrganizationService, (context: ServiceContext) => {
104
125
  return new OrganizationService(context)
105
126
  })
127
+ builder.registerService(AnonymousService, (context: ServiceContext) => {
128
+ return new AnonymousService(context)
129
+ })
130
+ builder.registerService(AcquiringService, (context: ServiceContext) => {
131
+ return new AcquiringService(context)
132
+ })
133
+
106
134
 
107
135
  // call customer setup
108
136
  if (setup !== undefined) {
@@ -139,8 +167,6 @@ export class AppImplementation extends AppSdk {
139
167
  this.resolve(CommandService)?.register(command[0], command[1])
140
168
  })
141
169
 
142
- this.credential = builder.credential
143
-
144
170
  //-------------------------------------------------------------------------
145
171
  // register services
146
172
  //-------------------------------------------------------------------------
@@ -171,6 +197,22 @@ export class AppImplementation extends AppSdk {
171
197
  await Promise.all(waitList)
172
198
  //-------------------------------------------------------------------------
173
199
 
200
+ // set credential
201
+ this.credential = builder.credential
202
+
203
+ // Check anonymous authorization
204
+ if (!isUnitTest(UnitTest.DO_NOT_START) && builder.credential instanceof DefaultCredential) {
205
+ const anonymous = this.resolve(AnonymousService)!
206
+ const {
207
+ token,
208
+ isValid
209
+ } = await anonymous.getToken()
210
+
211
+ if (isValid) {
212
+ this.credential = new AnonymousCredential(token)
213
+ }
214
+ }
215
+
174
216
  // start app, execute start command
175
217
  if (!isUnitTest(UnitTest.DO_NOT_START)) {
176
218
  await this.context.execute(new StartCommand())
@@ -178,7 +220,7 @@ export class AppImplementation extends AppSdk {
178
220
 
179
221
  // log app initialized
180
222
  if (!isUnitTest(UnitTest.DO_NOT_PRINT_INITIALIZED_LOG)) {
181
- console.log(`AppSDK ${this.name} initialized`)
223
+ console.log(`DataIsland ${this.name} initialized`)
182
224
  }
183
225
  }
184
226
  }
@@ -1,12 +1,12 @@
1
- import { AppImplementation } from "./app.impl"
1
+ import { DataIslandAppImpl } from "./app.impl"
2
2
  import { type AppBuilder } from "../appBuilder"
3
- import { AppSdk } from "../appSdk"
3
+ import { DataIslandApp } from "../dataIslandApp"
4
4
 
5
5
  export async function _createApp(
6
6
  name: string,
7
7
  setup?: (builder: AppBuilder) => Promise<void>
8
- ): Promise<AppSdk> {
9
- const app = new AppImplementation(name)
8
+ ): Promise<DataIslandApp> {
9
+ const app = new DataIslandAppImpl(name)
10
10
  await app.initialize(setup)
11
11
  return app
12
12
  }
@@ -1,9 +1,21 @@
1
+ /**
2
+ * Constructor type.
3
+ */
1
4
  export type Constructor<T> = new (...args: any[]) => T
2
5
 
6
+ /**
7
+ * Provider interface.
8
+ */
3
9
  abstract class Provider {
10
+ /**
11
+ * Provide method.
12
+ */
4
13
  abstract provide(): any | undefined
5
14
  }
6
15
 
16
+ /**
17
+ * MethodProvider class.
18
+ */
7
19
  class MethodProvider<T> extends Provider {
8
20
  private instance?: T
9
21
  private provided: boolean = false
@@ -25,6 +37,9 @@ class MethodProvider<T> extends Provider {
25
37
  }
26
38
  }
27
39
 
40
+ /**
41
+ * ValueProvider class.
42
+ */
28
43
  class ValueProvider<T> extends Provider {
29
44
  constructor(private readonly value: T | undefined) {
30
45
  super()
@@ -35,44 +50,77 @@ class ValueProvider<T> extends Provider {
35
50
  }
36
51
  }
37
52
 
53
+ /**
54
+ * RegistryItem class.
55
+ */
38
56
  export class RegistryItem<T> {
39
57
  constructor(
40
58
  private readonly registry: Map<Constructor<any>, Provider>,
41
59
  private readonly type: Constructor<T>
42
- ) {}
60
+ ) {
61
+ }
43
62
 
63
+ /**
64
+ * As value method.
65
+ * @param value
66
+ */
44
67
  asValue(value: T): void {
45
68
  this.registry.set(this.type, new ValueProvider<T>(value))
46
69
  }
47
70
 
71
+ /**
72
+ * As provider method.
73
+ * @param provider
74
+ * @param oneTime
75
+ */
48
76
  asProvider<T>(provider: () => T, oneTime: boolean = false): void {
49
77
  this.registry.set(this.type, new MethodProvider<T>(provider, oneTime))
50
78
  }
51
79
 
80
+ /**
81
+ * As factory method.
82
+ * @param provider
83
+ */
52
84
  asFactory<T>(provider: () => T): void {
53
85
  this.registry.set(this.type, new MethodProvider<T>(provider, false))
54
86
  }
55
87
 
88
+ /**
89
+ * As singleton method.
90
+ * @param provider
91
+ */
56
92
  asSingleton<T>(provider: () => T): void {
57
93
  this.registry.set(this.type, new MethodProvider<T>(provider, true))
58
94
  }
59
95
  }
60
96
 
97
+ /**
98
+ * Registry class.
99
+ */
61
100
  export class Registry {
62
- private readonly services: Map<Constructor<any>, Provider>
63
-
64
- constructor() {
65
- this.services = new Map()
66
- }
101
+ private readonly services: Map<Constructor<any>, Provider> = new Map()
67
102
 
103
+ /**
104
+ * Map method.
105
+ * @param type
106
+ */
68
107
  map<T>(type: Constructor<T>): RegistryItem<T> {
69
108
  return new RegistryItem<T>(this.services, type)
70
109
  }
71
110
 
111
+ /**
112
+ * Set method.
113
+ * @param type
114
+ * @param provider
115
+ */
72
116
  set<T>(type: Constructor<T>, provider: Provider): void {
73
117
  this.services.set(type, provider)
74
118
  }
75
119
 
120
+ /**
121
+ * Get method.
122
+ * @param type
123
+ */
76
124
  get<T>(type: Constructor<T>): T | undefined {
77
125
  const provider = this.services.get(type)
78
126
  if (provider === undefined) {