kuzzle 2.56.0 → 2.57.0-beta.2

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 (408) hide show
  1. package/dist/bin/copy-binaries.js +71 -4
  2. package/dist/bin/start-kuzzle-server +191 -97
  3. package/dist/index.d.ts +31 -1
  4. package/dist/index.js +45 -2
  5. package/dist/lib/api/controllers/adminController.d.ts +4 -3
  6. package/dist/lib/api/controllers/adminController.js +1 -2
  7. package/dist/lib/api/controllers/authController.d.ts +37 -16
  8. package/dist/lib/api/controllers/authController.js +88 -39
  9. package/dist/lib/api/controllers/baseController.d.ts +10 -5
  10. package/dist/lib/api/controllers/baseController.js +36 -15
  11. package/dist/lib/api/controllers/bulkController.d.ts +11 -7
  12. package/dist/lib/api/controllers/bulkController.js +28 -5
  13. package/dist/lib/api/controllers/clusterController.d.ts +2 -2
  14. package/dist/lib/api/controllers/clusterController.js +3 -3
  15. package/dist/lib/api/controllers/collectionController.d.ts +57 -21
  16. package/dist/lib/api/controllers/collectionController.js +40 -11
  17. package/dist/lib/api/controllers/debugController.d.ts +1 -1
  18. package/dist/lib/api/controllers/documentController.d.ts +137 -28
  19. package/dist/lib/api/controllers/documentController.js +156 -125
  20. package/dist/lib/api/controllers/index.d.ts +27 -12
  21. package/dist/lib/api/controllers/index.js +28 -13
  22. package/dist/lib/api/controllers/indexController.d.ts +17 -10
  23. package/dist/lib/api/controllers/indexController.js +13 -11
  24. package/dist/lib/api/controllers/memoryStorageController.d.ts +2 -5
  25. package/dist/lib/api/controllers/memoryStorageController.js +199 -127
  26. package/dist/lib/api/controllers/realtimeController.d.ts +19 -9
  27. package/dist/lib/api/controllers/realtimeController.js +8 -4
  28. package/dist/lib/api/controllers/securityController.d.ts +42 -29
  29. package/dist/lib/api/controllers/securityController.js +35 -19
  30. package/dist/lib/api/controllers/serverController.d.ts +114 -19
  31. package/dist/lib/api/controllers/serverController.js +69 -29
  32. package/dist/lib/api/documentExtractor.d.ts +9 -7
  33. package/dist/lib/api/documentExtractor.js +105 -41
  34. package/dist/lib/api/funnel.d.ts +131 -29
  35. package/dist/lib/api/funnel.js +436 -225
  36. package/dist/lib/api/httpRoutes.d.ts +16 -11
  37. package/dist/lib/api/httpRoutes.js +272 -2
  38. package/dist/lib/api/openapi/OpenApiManager.d.ts +1 -1
  39. package/dist/lib/api/openapi/openApiGenerator.d.ts +1 -1
  40. package/dist/lib/api/rateLimiter.d.ts +15 -5
  41. package/dist/lib/api/rateLimiter.js +42 -14
  42. package/dist/lib/api/request/kuzzleRequest.d.ts +83 -12
  43. package/dist/lib/api/request/kuzzleRequest.js +88 -23
  44. package/dist/lib/api/request/requestContext.d.ts +20 -5
  45. package/dist/lib/api/request/requestContext.js +14 -4
  46. package/dist/lib/api/request/requestInput.d.ts +37 -6
  47. package/dist/lib/api/request/requestInput.js +22 -9
  48. package/dist/lib/api/request/requestResponse.d.ts +45 -9
  49. package/dist/lib/api/request/requestResponse.js +34 -3
  50. package/dist/lib/cluster/command.d.ts +131 -37
  51. package/dist/lib/cluster/command.js +243 -71
  52. package/dist/lib/cluster/idCardHandler.d.ts +18 -5
  53. package/dist/lib/cluster/idCardHandler.js +52 -19
  54. package/dist/lib/cluster/index.d.ts +8 -2
  55. package/dist/lib/cluster/index.js +6 -2
  56. package/dist/lib/cluster/node.d.ts +127 -49
  57. package/dist/lib/cluster/node.js +412 -179
  58. package/dist/lib/cluster/protobuf/command.proto +18 -0
  59. package/dist/lib/cluster/protobuf/commandMessages.d.ts +104 -0
  60. package/dist/lib/cluster/protobuf/commandMessages.js +30 -0
  61. package/dist/lib/cluster/protobuf/syncMessages.d.ts +184 -0
  62. package/dist/lib/cluster/protobuf/syncMessages.js +23 -0
  63. package/dist/lib/cluster/publisher.d.ts +118 -78
  64. package/dist/lib/cluster/publisher.js +174 -72
  65. package/dist/lib/cluster/state.d.ts +15 -9
  66. package/dist/lib/cluster/state.js +12 -8
  67. package/dist/lib/cluster/subscriber.d.ts +185 -131
  68. package/dist/lib/cluster/subscriber.js +357 -95
  69. package/dist/lib/cluster/workers/IDCardRenewer.d.ts +39 -8
  70. package/dist/lib/cluster/workers/IDCardRenewer.js +88 -23
  71. package/dist/lib/config/default.config.d.ts +2 -2
  72. package/dist/lib/config/default.config.js +10 -3
  73. package/dist/lib/config/documentEventAliases.d.ts +1 -1
  74. package/dist/lib/config/index.d.ts +2 -5
  75. package/dist/lib/config/index.js +30 -17
  76. package/dist/lib/core/auth/formatProcessing.d.ts +3 -3
  77. package/dist/lib/core/auth/passportResponse.d.ts +1 -1
  78. package/dist/lib/core/auth/passportWrapper.d.ts +1 -1
  79. package/dist/lib/core/auth/passportWrapper.js +14 -13
  80. package/dist/lib/core/auth/tokenManager.d.ts +24 -3
  81. package/dist/lib/core/auth/tokenManager.js +47 -19
  82. package/dist/lib/core/backend/applicationManager.d.ts +2 -2
  83. package/dist/lib/core/backend/backend.d.ts +16 -5
  84. package/dist/lib/core/backend/backend.js +14 -6
  85. package/dist/lib/core/backend/backendCluster.d.ts +1 -1
  86. package/dist/lib/core/backend/backendConfig.d.ts +17 -5
  87. package/dist/lib/core/backend/backendConfig.js +1 -0
  88. package/dist/lib/core/backend/backendController.d.ts +1 -1
  89. package/dist/lib/core/backend/backendController.js +8 -1
  90. package/dist/lib/core/backend/backendErrors.d.ts +15 -8
  91. package/dist/lib/core/backend/backendErrors.js +5 -0
  92. package/dist/lib/core/backend/backendHook.d.ts +1 -1
  93. package/dist/lib/core/backend/backendImport.d.ts +1 -1
  94. package/dist/lib/core/backend/backendOpenApi.d.ts +3 -2
  95. package/dist/lib/core/backend/backendPipe.d.ts +1 -1
  96. package/dist/lib/core/backend/backendPipe.js +9 -1
  97. package/dist/lib/core/backend/backendPlugin.d.ts +2 -2
  98. package/dist/lib/core/backend/backendSubscription.d.ts +2 -2
  99. package/dist/lib/core/backend/backendVault.d.ts +1 -1
  100. package/dist/lib/core/backend/backendVault.js +8 -1
  101. package/dist/lib/core/cache/cacheEngine.d.ts +7 -4
  102. package/dist/lib/core/cache/cacheEngine.js +25 -8
  103. package/dist/lib/core/debug/kuzzleDebugger.d.ts +2 -1
  104. package/dist/lib/core/debug/kuzzleDebugger.js +31 -17
  105. package/dist/lib/core/network/accessLogger.d.ts +33 -18
  106. package/dist/lib/core/network/accessLogger.js +135 -73
  107. package/dist/lib/core/network/clientConnection.d.ts +13 -11
  108. package/dist/lib/core/network/clientConnection.js +33 -9
  109. package/dist/lib/core/network/context.d.ts +17 -22
  110. package/dist/lib/core/network/context.js +43 -26
  111. package/dist/lib/core/network/entryPoint.d.ts +38 -16
  112. package/dist/lib/core/network/entryPoint.js +119 -48
  113. package/dist/lib/core/network/httpRouter/index.d.ts +20 -50
  114. package/dist/lib/core/network/httpRouter/index.js +61 -75
  115. package/dist/lib/core/network/httpRouter/routeHandler.d.ts +17 -32
  116. package/dist/lib/core/network/httpRouter/routeHandler.js +26 -36
  117. package/dist/lib/core/network/httpRouter/routePart.d.ts +9 -18
  118. package/dist/lib/core/network/httpRouter/routePart.js +61 -43
  119. package/dist/lib/core/network/httpRouter/routeTypes.d.ts +3 -0
  120. package/dist/lib/core/network/httpRouter/routeTypes.js +23 -0
  121. package/dist/lib/core/network/networkEntryPoint.d.ts +20 -0
  122. package/dist/lib/core/network/networkEntryPoint.js +23 -0
  123. package/dist/lib/core/network/protocolManifest.d.ts +5 -4
  124. package/dist/lib/core/network/protocolManifest.js +6 -3
  125. package/dist/lib/core/network/protocols/httpMessage.d.ts +25 -18
  126. package/dist/lib/core/network/protocols/httpMessage.js +14 -11
  127. package/dist/lib/core/network/protocols/httpwsProtocol.d.ts +84 -93
  128. package/dist/lib/core/network/protocols/httpwsProtocol.js +284 -129
  129. package/dist/lib/core/network/protocols/internalProtocol.d.ts +26 -15
  130. package/dist/lib/core/network/protocols/internalProtocol.js +17 -16
  131. package/dist/lib/core/network/protocols/mqttProtocol.d.ts +56 -32
  132. package/dist/lib/core/network/protocols/mqttProtocol.js +91 -44
  133. package/dist/lib/core/network/protocols/protocol.d.ts +85 -21
  134. package/dist/lib/core/network/protocols/protocol.js +83 -27
  135. package/dist/lib/core/network/router.d.ts +13 -22
  136. package/dist/lib/core/network/router.js +59 -46
  137. package/dist/lib/core/plugin/plugin.d.ts +57 -51
  138. package/dist/lib/core/plugin/plugin.js +218 -103
  139. package/dist/lib/core/plugin/pluginContext.d.ts +54 -11
  140. package/dist/lib/core/plugin/pluginContext.js +99 -58
  141. package/dist/lib/core/plugin/pluginManifest.d.ts +6 -2
  142. package/dist/lib/core/plugin/pluginManifest.js +18 -11
  143. package/dist/lib/core/plugin/pluginRepository.d.ts +35 -44
  144. package/dist/lib/core/plugin/pluginRepository.js +35 -50
  145. package/dist/lib/core/plugin/pluginsManager.d.ts +128 -46
  146. package/dist/lib/core/plugin/pluginsManager.js +468 -231
  147. package/dist/lib/core/plugin/privilegedContext.d.ts +4 -9
  148. package/dist/lib/core/plugin/privilegedContext.js +5 -10
  149. package/dist/lib/core/realtime/actionEnum.d.ts +12 -21
  150. package/dist/lib/core/realtime/actionEnum.js +6 -7
  151. package/dist/lib/core/realtime/channel.d.ts +11 -5
  152. package/dist/lib/core/realtime/channel.js +17 -2
  153. package/dist/lib/core/realtime/connectionRooms.d.ts +2 -2
  154. package/dist/lib/core/realtime/hotelClerk.d.ts +12 -6
  155. package/dist/lib/core/realtime/hotelClerk.js +29 -11
  156. package/dist/lib/core/realtime/index.d.ts +8 -3
  157. package/dist/lib/core/realtime/index.js +12 -5
  158. package/dist/lib/core/realtime/notification/document.d.ts +54 -25
  159. package/dist/lib/core/realtime/notification/document.js +10 -13
  160. package/dist/lib/core/realtime/notification/index.d.ts +9 -3
  161. package/dist/lib/core/realtime/notification/index.js +10 -4
  162. package/dist/lib/core/realtime/notification/server.d.ts +7 -10
  163. package/dist/lib/core/realtime/notification/server.js +4 -7
  164. package/dist/lib/core/realtime/notification/user.d.ts +45 -21
  165. package/dist/lib/core/realtime/notification/user.js +8 -9
  166. package/dist/lib/core/realtime/notifier.d.ts +52 -40
  167. package/dist/lib/core/realtime/notifier.js +60 -25
  168. package/dist/lib/core/realtime/room.d.ts +1 -1
  169. package/dist/lib/core/realtime/subscription.d.ts +11 -6
  170. package/dist/lib/core/realtime/subscription.js +5 -1
  171. package/dist/lib/core/security/index.d.ts +14 -6
  172. package/dist/lib/core/security/index.js +27 -13
  173. package/dist/lib/core/security/profileRepository.d.ts +24 -19
  174. package/dist/lib/core/security/profileRepository.js +23 -10
  175. package/dist/lib/core/security/roleRepository.d.ts +60 -23
  176. package/dist/lib/core/security/roleRepository.js +122 -53
  177. package/dist/lib/core/security/securityLoader.d.ts +33 -18
  178. package/dist/lib/core/security/securityLoader.js +43 -16
  179. package/dist/lib/core/security/tokenRepository.d.ts +21 -7
  180. package/dist/lib/core/security/tokenRepository.js +50 -23
  181. package/dist/lib/core/security/userRepository.d.ts +44 -21
  182. package/dist/lib/core/security/userRepository.js +59 -19
  183. package/dist/lib/core/shared/KoncordeWrapper.d.ts +1 -1
  184. package/dist/lib/core/shared/ObjectRepository.d.ts +80 -18
  185. package/dist/lib/core/shared/ObjectRepository.js +57 -29
  186. package/dist/lib/core/shared/abstractManifest.d.ts +21 -8
  187. package/dist/lib/core/shared/abstractManifest.js +57 -17
  188. package/dist/lib/core/shared/sdk/embeddedSdk.d.ts +3 -1
  189. package/dist/lib/core/shared/sdk/embeddedSdk.js +8 -7
  190. package/dist/lib/core/shared/sdk/funnelProtocol.d.ts +2 -1
  191. package/dist/lib/core/shared/sdk/funnelProtocol.js +12 -3
  192. package/dist/lib/core/shared/sdk/impersonatedSdk.d.ts +11 -5
  193. package/dist/lib/core/shared/sdk/impersonatedSdk.js +22 -9
  194. package/dist/lib/core/shared/store.d.ts +45 -29
  195. package/dist/lib/core/shared/store.js +48 -27
  196. package/dist/lib/core/statistics/statistics.d.ts +1 -1
  197. package/dist/lib/core/storage/clientAdapter.d.ts +39 -21
  198. package/dist/lib/core/storage/clientAdapter.js +88 -48
  199. package/dist/lib/core/storage/indexCache.d.ts +8 -0
  200. package/dist/lib/core/storage/indexCache.js +16 -7
  201. package/dist/lib/core/storage/storageEngine.d.ts +7 -6
  202. package/dist/lib/core/storage/storageEngine.js +11 -8
  203. package/dist/lib/core/validation/baseType.d.ts +22 -22
  204. package/dist/lib/core/validation/baseType.js +11 -26
  205. package/dist/lib/core/validation/specification.d.ts +148 -0
  206. package/dist/lib/core/validation/specification.js +34 -0
  207. package/dist/lib/core/validation/typeOptions.d.ts +62 -0
  208. package/dist/lib/core/validation/typeOptions.js +23 -0
  209. package/dist/lib/core/validation/types/anything.d.ts +3 -6
  210. package/dist/lib/core/validation/types/anything.js +7 -7
  211. package/dist/lib/core/validation/types/boolean.d.ts +5 -12
  212. package/dist/lib/core/validation/types/boolean.js +7 -12
  213. package/dist/lib/core/validation/types/date.d.ts +19 -11
  214. package/dist/lib/core/validation/types/date.js +212 -161
  215. package/dist/lib/core/validation/types/email.d.ts +7 -11
  216. package/dist/lib/core/validation/types/email.js +13 -17
  217. package/dist/lib/core/validation/types/enum.d.ts +7 -11
  218. package/dist/lib/core/validation/types/enum.js +39 -20
  219. package/dist/lib/core/validation/types/geoPoint.d.ts +5 -13
  220. package/dist/lib/core/validation/types/geoPoint.js +10 -15
  221. package/dist/lib/core/validation/types/geoShape.d.ts +22 -21
  222. package/dist/lib/core/validation/types/geoShape.js +113 -129
  223. package/dist/lib/core/validation/types/geoShapeUtils.d.ts +15 -0
  224. package/dist/lib/core/validation/types/geoShapeUtils.js +75 -0
  225. package/dist/lib/core/validation/types/integer.d.ts +7 -5
  226. package/dist/lib/core/validation/types/integer.js +7 -13
  227. package/dist/lib/core/validation/types/ipAddress.d.ts +7 -11
  228. package/dist/lib/core/validation/types/ipAddress.js +13 -17
  229. package/dist/lib/core/validation/types/numeric.d.ts +7 -11
  230. package/dist/lib/core/validation/types/numeric.js +22 -29
  231. package/dist/lib/core/validation/types/object.d.ts +8 -15
  232. package/dist/lib/core/validation/types/object.js +12 -21
  233. package/dist/lib/core/validation/types/string.d.ts +7 -11
  234. package/dist/lib/core/validation/types/string.js +22 -29
  235. package/dist/lib/core/validation/types/url.d.ts +7 -11
  236. package/dist/lib/core/validation/types/url.js +14 -18
  237. package/dist/lib/core/validation/validation.d.ts +119 -80
  238. package/dist/lib/core/validation/validation.js +470 -412
  239. package/dist/lib/core/validation/validationUtils.d.ts +31 -0
  240. package/dist/lib/core/validation/validationUtils.js +190 -0
  241. package/dist/lib/kerror/codes/4-plugin.json +0 -12
  242. package/dist/lib/kerror/codes/index.d.ts +12 -2
  243. package/dist/lib/kerror/codes/index.js +5 -4
  244. package/dist/lib/kerror/errors/badRequestError.d.ts +1 -1
  245. package/dist/lib/kerror/errors/badRequestError.js +1 -1
  246. package/dist/lib/kerror/errors/externalServiceError.d.ts +1 -1
  247. package/dist/lib/kerror/errors/externalServiceError.js +1 -1
  248. package/dist/lib/kerror/errors/forbiddenError.d.ts +1 -1
  249. package/dist/lib/kerror/errors/forbiddenError.js +1 -1
  250. package/dist/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
  251. package/dist/lib/kerror/errors/gatewayTimeoutError.js +1 -1
  252. package/dist/lib/kerror/errors/internalError.d.ts +1 -1
  253. package/dist/lib/kerror/errors/internalError.js +1 -1
  254. package/dist/lib/kerror/errors/kuzzleError.d.ts +32 -3
  255. package/dist/lib/kerror/errors/kuzzleError.js +21 -7
  256. package/dist/lib/kerror/errors/multipleErrorsError.d.ts +2 -2
  257. package/dist/lib/kerror/errors/multipleErrorsError.js +2 -2
  258. package/dist/lib/kerror/errors/notFoundError.d.ts +1 -1
  259. package/dist/lib/kerror/errors/notFoundError.js +1 -1
  260. package/dist/lib/kerror/errors/partialError.d.ts +8 -2
  261. package/dist/lib/kerror/errors/partialError.js +22 -9
  262. package/dist/lib/kerror/errors/pluginImplementationError.d.ts +9 -1
  263. package/dist/lib/kerror/errors/pluginImplementationError.js +9 -3
  264. package/dist/lib/kerror/errors/preconditionError.d.ts +1 -1
  265. package/dist/lib/kerror/errors/preconditionError.js +1 -1
  266. package/dist/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
  267. package/dist/lib/kerror/errors/serviceUnavailableError.js +1 -1
  268. package/dist/lib/kerror/errors/sizeLimitError.d.ts +1 -1
  269. package/dist/lib/kerror/errors/sizeLimitError.js +1 -1
  270. package/dist/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
  271. package/dist/lib/kerror/errors/tooManyRequestsError.js +1 -1
  272. package/dist/lib/kerror/errors/unauthorizedError.d.ts +1 -1
  273. package/dist/lib/kerror/errors/unauthorizedError.js +1 -1
  274. package/dist/lib/kerror/index.d.ts +19 -13
  275. package/dist/lib/kerror/index.js +60 -19
  276. package/dist/lib/kuzzle/Logger.d.ts +2 -2
  277. package/dist/lib/kuzzle/dumpGenerator.d.ts +12 -8
  278. package/dist/lib/kuzzle/dumpGenerator.js +130 -62
  279. package/dist/lib/kuzzle/event/KuzzleEventEmitter.d.ts +18 -9
  280. package/dist/lib/kuzzle/event/KuzzleEventEmitter.js +45 -18
  281. package/dist/lib/kuzzle/event/pipeRunner.d.ts +37 -16
  282. package/dist/lib/kuzzle/event/pipeRunner.js +73 -26
  283. package/dist/lib/kuzzle/event/waterfall.d.ts +11 -1
  284. package/dist/lib/kuzzle/event/waterfall.js +38 -13
  285. package/dist/lib/kuzzle/internalIndexHandler.d.ts +11 -174
  286. package/dist/lib/kuzzle/internalIndexHandler.js +58 -29
  287. package/dist/lib/kuzzle/kuzzle.d.ts +25 -10
  288. package/dist/lib/kuzzle/kuzzle.js +74 -17
  289. package/dist/lib/kuzzle/kuzzleStateEnum.d.ts +16 -12
  290. package/dist/lib/kuzzle/kuzzleStateEnum.js +5 -7
  291. package/dist/lib/kuzzle/vault.d.ts +5 -1
  292. package/dist/lib/kuzzle/vault.js +29 -17
  293. package/dist/lib/model/security/profile.d.ts +34 -5
  294. package/dist/lib/model/security/profile.js +6 -5
  295. package/dist/lib/model/security/rights.d.ts +12 -4
  296. package/dist/lib/model/security/rights.js +7 -6
  297. package/dist/lib/model/security/role.d.ts +8 -4
  298. package/dist/lib/model/security/role.js +12 -6
  299. package/dist/lib/model/security/token.d.ts +8 -0
  300. package/dist/lib/model/security/user.d.ts +8 -2
  301. package/dist/lib/model/security/user.js +7 -4
  302. package/dist/lib/model/storage/apiKey.d.ts +55 -26
  303. package/dist/lib/model/storage/apiKey.js +97 -24
  304. package/dist/lib/model/storage/baseModel.d.ts +77 -66
  305. package/dist/lib/model/storage/baseModel.js +21 -34
  306. package/dist/lib/service/cache/redis.d.ts +53 -36
  307. package/dist/lib/service/cache/redis.js +148 -71
  308. package/dist/lib/service/service.d.ts +14 -19
  309. package/dist/lib/service/service.js +41 -22
  310. package/dist/lib/service/storage/7/elasticsearch.d.ts +136 -93
  311. package/dist/lib/service/storage/7/elasticsearch.js +218 -165
  312. package/dist/lib/service/storage/7/esWrapper.d.ts +30 -13
  313. package/dist/lib/service/storage/7/esWrapper.js +58 -37
  314. package/dist/lib/service/storage/8/elasticsearch.d.ts +153 -119
  315. package/dist/lib/service/storage/8/elasticsearch.js +286 -213
  316. package/dist/lib/service/storage/8/esWrapper.d.ts +30 -13
  317. package/dist/lib/service/storage/8/esWrapper.js +59 -38
  318. package/dist/lib/service/storage/commons/queryTranslator.d.ts +3 -3
  319. package/dist/lib/service/storage/commons/queryTranslator.js +71 -35
  320. package/dist/lib/types/ApiRoute.d.ts +12 -0
  321. package/dist/lib/types/ApiRoute.js +23 -0
  322. package/dist/lib/types/ClientConnection.d.ts +1 -1
  323. package/dist/lib/types/EventHandler.d.ts +10 -0
  324. package/dist/lib/types/Global.d.ts +8 -3
  325. package/dist/lib/types/HttpMessage.d.ts +2 -2
  326. package/dist/lib/types/HttpStream.d.ts +1 -1
  327. package/dist/lib/types/HttpStream.js +3 -1
  328. package/dist/lib/types/JSONObject.d.ts +9 -0
  329. package/dist/lib/types/JSONObject.js +23 -0
  330. package/dist/lib/types/Kuzzle.d.ts +5 -3
  331. package/dist/lib/types/KuzzleDocument.d.ts +1 -1
  332. package/dist/lib/types/KuzzleWebSocket.d.ts +24 -0
  333. package/dist/lib/types/KuzzleWebSocket.js +23 -0
  334. package/dist/lib/types/OpenApiDefinition.d.ts +1 -1
  335. package/dist/lib/types/Plugin.d.ts +33 -8
  336. package/dist/lib/types/PluginInstance.d.ts +67 -0
  337. package/dist/lib/types/PluginInstance.js +23 -0
  338. package/dist/lib/types/Policy.d.ts +1 -1
  339. package/dist/lib/types/Target.d.ts +8 -0
  340. package/dist/lib/types/Token.d.ts +14 -2
  341. package/dist/lib/types/config/HttpConfiguration.d.ts +5 -0
  342. package/dist/lib/types/config/KuzzleConfiguration.d.ts +102 -1
  343. package/dist/lib/types/config/PluginsConfiguration.d.ts +3 -2
  344. package/dist/lib/types/config/SecurityConfiguration.d.ts +6 -2
  345. package/dist/lib/types/config/ServerConfiguration.d.ts +2 -2
  346. package/dist/lib/types/config/ServicesConfiguration.d.ts +1 -1
  347. package/dist/lib/types/config/cache/BaseCacheRedisConfiguration.d.ts +131 -0
  348. package/dist/lib/types/config/cache/BaseCacheRedisConfiguration.js +3 -0
  349. package/dist/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +2 -106
  350. package/dist/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +2 -26
  351. package/dist/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +3 -0
  352. package/dist/lib/types/controllers/Controller.d.ts +12 -3
  353. package/dist/lib/types/controllers/ControllerDefinition.d.ts +2 -2
  354. package/dist/lib/types/controllers/{adminControlller.type.js → adminController.type.js} +1 -1
  355. package/dist/lib/types/controllers/authController.type.d.ts +2 -2
  356. package/dist/lib/types/core/auth/formatProcessing.type.d.ts +7 -1
  357. package/dist/lib/types/errors/ErrorDomains.d.ts +1 -1
  358. package/dist/lib/types/events/EventGenericDocument.d.ts +10 -9
  359. package/dist/lib/types/events/EventProtocol.d.ts +4 -4
  360. package/dist/lib/types/index.d.ts +7 -0
  361. package/dist/lib/types/index.js +7 -0
  362. package/dist/lib/types/shared/StoreCollectionsDefinition.d.ts +1 -1
  363. package/dist/lib/types/storage/7/Elasticsearch.d.ts +62 -13
  364. package/dist/lib/types/storage/8/Elasticsearch.d.ts +62 -13
  365. package/dist/lib/util/Inflector.d.ts +4 -1
  366. package/dist/lib/util/Inflector.js +0 -3
  367. package/dist/lib/util/assertType.d.ts +24 -27
  368. package/dist/lib/util/assertType.js +28 -39
  369. package/dist/lib/util/async.js +19 -6
  370. package/dist/lib/util/asyncStore.js +1 -1
  371. package/dist/lib/util/bufferedPassThrough.d.ts +9 -0
  372. package/dist/lib/util/bufferedPassThrough.js +27 -13
  373. package/dist/lib/util/bytes.d.ts +1 -1
  374. package/dist/lib/util/bytes.js +6 -2
  375. package/dist/lib/util/debug.d.ts +3 -1
  376. package/dist/lib/util/debug.js +42 -10
  377. package/dist/lib/util/deprecate.d.ts +9 -1
  378. package/dist/lib/util/deprecate.js +10 -6
  379. package/dist/lib/util/didYouMean.d.ts +2 -1
  380. package/dist/lib/util/didYouMean.js +8 -4
  381. package/dist/lib/util/distributedLock.d.ts +56 -0
  382. package/dist/lib/util/distributedLock.js +166 -0
  383. package/dist/lib/util/dump-collection.d.ts +1 -1
  384. package/dist/lib/util/dump-collection.js +4 -5
  385. package/dist/lib/util/extractFields.d.ts +15 -11
  386. package/dist/lib/util/extractFields.js +8 -9
  387. package/dist/lib/util/koncordeCompat.d.ts +2 -2
  388. package/dist/lib/util/koncordeCompat.js +33 -0
  389. package/dist/lib/util/memoize.d.ts +7 -6
  390. package/dist/lib/util/memoize.js +3 -3
  391. package/dist/lib/util/mutex.d.ts +22 -2
  392. package/dist/lib/util/mutex.js +39 -1
  393. package/dist/lib/util/name-generator.js +14 -2
  394. package/dist/lib/util/promback.d.ts +20 -11
  395. package/dist/lib/util/promback.js +14 -7
  396. package/dist/lib/util/requestAssertions.d.ts +30 -10
  397. package/dist/lib/util/requestAssertions.js +125 -121
  398. package/dist/lib/util/safeObject.d.ts +3 -3
  399. package/dist/lib/util/safeObject.js +7 -3
  400. package/dist/lib/util/stackTrace.d.ts +13 -5
  401. package/dist/lib/util/stackTrace.js +17 -12
  402. package/dist/lib/util/thrown.d.ts +13 -0
  403. package/dist/lib/util/thrown.js +46 -0
  404. package/dist/package.json +26 -19
  405. package/package.json +26 -19
  406. package/dist/lib/util/wildcard.d.ts +0 -1
  407. package/dist/lib/util/wildcard.js +0 -46
  408. /package/dist/lib/types/controllers/{adminControlller.type.d.ts → adminController.type.d.ts} +0 -0
@@ -1,10 +1,30 @@
1
- export function assertArgsHasAttribute(request: Request, attribute: any): void;
2
- export function assertBodyAttributeType(request: Request, attribute: string, type: any): boolean;
3
- export function assertBodyHasAttribute(request: Request, attribute: string): void;
4
- export function assertBodyHasNotAttribute(request: Request, attribute: string): void;
5
- export function assertHasBody(request: Request): void;
6
- export function assertHasId(request: Request): void;
7
- export function assertHasIndex(request: Request): void;
8
- export function assertHasIndexAndCollection(request: Request): void;
9
- export function assertIsAuthenticated(anonymousId: any, request: Request): void;
10
- export function assertIsObject(value: any): void;
1
+ import type { JSONObject } from "../types/JSONObject";
2
+ import type { KuzzleRequest } from "../api/request";
3
+ export declare function assertArgsHasAttribute(request: KuzzleRequest, attribute: string): void;
4
+ /**
5
+ * Note: Assumes assertHasBody has been called first
6
+ */
7
+ export declare function assertBodyAttributeType(request: KuzzleRequest, attribute: string, type: string): boolean;
8
+ export declare function assertBodyHasAttribute(request: KuzzleRequest, attribute: string): void;
9
+ export declare function assertBodyHasNotAttribute(request: KuzzleRequest, attribute: string): void;
10
+ /**
11
+ * A request whose body this module has checked. `input.body` is
12
+ * `JSONObject | null` on every request — a GET carries none — and the
13
+ * controllers read it straight after asserting it, dozens of times per file.
14
+ * The assertion signature is what carries that check to those reads instead
15
+ * of each one restating it.
16
+ */
17
+ export type RequestWithBody = KuzzleRequest & {
18
+ input: KuzzleRequest["input"] & {
19
+ body: JSONObject;
20
+ };
21
+ };
22
+ /**
23
+ * Note: Assumes content exists
24
+ */
25
+ export declare function assertHasBody(request: KuzzleRequest): asserts request is RequestWithBody;
26
+ export declare function assertHasId(request: KuzzleRequest): void;
27
+ export declare function assertHasIndex(request: KuzzleRequest): void;
28
+ export declare function assertHasIndexAndCollection(request: KuzzleRequest): void;
29
+ export declare function assertIsAuthenticated(anonymousId: string, request: KuzzleRequest): void;
30
+ export declare function assertIsObject(value: unknown): void;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Kuzzle, a backend software, self-hostable and ready to use
3
4
  * to power modern apps
@@ -18,126 +19,129 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
- const _ = require("lodash");
23
- const { get, isPlainObject } = require("./safeObject");
24
- const kerror = require("../kerror");
25
- const assertionError = kerror.wrap("api", "assert");
26
- module.exports = {
27
- /**
28
- * @param {Request} request
29
- */
30
- assertArgsHasAttribute: (request, attribute) => {
31
- if (_.isNil(get(request.input.args, attribute))) {
32
- throw assertionError.get("missing_argument", attribute);
33
- }
34
- },
35
- /**
36
- * Note: Assumes assertHasBody has been called first
37
- *
38
- * @param {Request} request
39
- * @param {string} attribute
40
- */
41
- assertBodyAttributeType: (request, attribute, type) => {
42
- switch (type) {
43
- case "number":
44
- case "boolean":
45
- case "string":
46
- // The body should always be passed as JSON, we don't consider type conversion possibilities
47
- if (typeof get(request.input.body, attribute) === type) {
48
- return true;
49
- }
50
- break;
51
- case "array":
52
- if (Array.isArray(get(request.input.body, attribute))) {
53
- return true;
54
- }
55
- break;
56
- case "object":
57
- if (isPlainObject(get(request.input.body, attribute))) {
58
- return true;
59
- }
60
- break;
61
- default:
62
- throw assertionError.get("unexpected_type_assertion", type, attribute);
63
- }
64
- throw assertionError.get("invalid_type", `body.${attribute}`, type);
65
- },
66
- /**
67
- *
68
- * @param {Request} request
69
- * @param {string} attribute
70
- */
71
- assertBodyHasAttribute: (request, attribute) => {
72
- if (_.isNil(get(request.input.body, attribute))) {
73
- throw assertionError.get("missing_argument", `body.${attribute}`);
74
- }
75
- },
76
- /**
77
- * @param {Request} request
78
- * @param {string} attribute
79
- */
80
- assertBodyHasNotAttribute: (request, attribute) => {
81
- if (!_.isNil(get(request.input.body, attribute))) {
82
- throw assertionError.get("forbidden_argument", `body.${attribute}`);
83
- }
84
- },
85
- /**
86
- * Note: Assumes content exists
87
- *
88
- * @param {Request} request
89
- * @param {string} attribute
90
- * @param {string} type
91
- */
92
- assertHasBody: (request) => {
93
- if (_.isNil(request.input.body)) {
94
- throw assertionError.get("body_required");
95
- }
96
- },
97
- /**
98
- * @param {Request} request
99
- */
100
- assertHasId: (request) => {
101
- if (!request.input.args._id) {
102
- throw assertionError.get("missing_argument", "_id");
103
- }
104
- },
105
- /**
106
- * @param {Request} request
107
- */
108
- assertHasIndex: (request) => {
109
- if (!request.input.args.index) {
110
- throw assertionError.get("missing_argument", "index");
111
- }
112
- },
113
- /**
114
- * @param {Request} request
115
- */
116
- assertHasIndexAndCollection: (request) => {
117
- if (!request.input.args.index) {
118
- throw assertionError.get("missing_argument", "index");
119
- }
120
- if (!request.input.args.collection) {
121
- throw assertionError.get("missing_argument", "collection");
122
- }
123
- },
124
- /**
125
- * @param {Kuzzle} kuzzle
126
- * @param {Request} request
127
- */
128
- assertIsAuthenticated: (anonymousId, request) => {
129
- if (request.context.user._id === anonymousId) {
130
- throw kerror.get("security", "rights", "unauthorized");
131
- }
132
- },
133
- /**
134
- * @param {Kuzzle} kuzzle
135
- * @param {Request} request
136
- */
137
- assertIsObject: (value) => {
138
- if (!isPlainObject(value)) {
139
- throw assertionError.get("invalid_argument", value, "object");
140
- }
141
- },
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
35
+ }) : function(o, v) {
36
+ o["default"] = v;
37
+ });
38
+ var __importStar = (this && this.__importStar) || function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ var __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
142
47
  };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.assertIsObject = exports.assertIsAuthenticated = exports.assertHasIndexAndCollection = exports.assertHasIndex = exports.assertHasId = exports.assertHasBody = exports.assertBodyHasNotAttribute = exports.assertBodyHasAttribute = exports.assertBodyAttributeType = exports.assertArgsHasAttribute = void 0;
50
+ const isNil_1 = __importDefault(require("lodash/isNil"));
51
+ const kerror = __importStar(require("../kerror"));
52
+ const safeObject_1 = require("./safeObject");
53
+ const assertionError = kerror.wrap("api", "assert");
54
+ function assertArgsHasAttribute(request, attribute) {
55
+ if ((0, isNil_1.default)((0, safeObject_1.get)(request.input.args, attribute))) {
56
+ throw assertionError.get("missing_argument", attribute);
57
+ }
58
+ }
59
+ exports.assertArgsHasAttribute = assertArgsHasAttribute;
60
+ /**
61
+ * Note: Assumes assertHasBody has been called first
62
+ */
63
+ function assertBodyAttributeType(request, attribute, type) {
64
+ switch (type) {
65
+ case "number":
66
+ case "boolean":
67
+ case "string":
68
+ // The body should always be passed as JSON, we don't consider type conversion possibilities
69
+ if (typeof (0, safeObject_1.get)(request.input.body, attribute) === type) {
70
+ return true;
71
+ }
72
+ break;
73
+ case "array":
74
+ if (Array.isArray((0, safeObject_1.get)(request.input.body, attribute))) {
75
+ return true;
76
+ }
77
+ break;
78
+ case "object":
79
+ if ((0, safeObject_1.isPlainObject)((0, safeObject_1.get)(request.input.body, attribute))) {
80
+ return true;
81
+ }
82
+ break;
83
+ default:
84
+ throw assertionError.get("unexpected_type_assertion", type, attribute);
85
+ }
86
+ throw assertionError.get("invalid_type", `body.${attribute}`, type);
87
+ }
88
+ exports.assertBodyAttributeType = assertBodyAttributeType;
89
+ function assertBodyHasAttribute(request, attribute) {
90
+ if ((0, isNil_1.default)((0, safeObject_1.get)(request.input.body, attribute))) {
91
+ throw assertionError.get("missing_argument", `body.${attribute}`);
92
+ }
93
+ }
94
+ exports.assertBodyHasAttribute = assertBodyHasAttribute;
95
+ function assertBodyHasNotAttribute(request, attribute) {
96
+ if (!(0, isNil_1.default)((0, safeObject_1.get)(request.input.body, attribute))) {
97
+ throw assertionError.get("forbidden_argument", `body.${attribute}`);
98
+ }
99
+ }
100
+ exports.assertBodyHasNotAttribute = assertBodyHasNotAttribute;
101
+ /**
102
+ * Note: Assumes content exists
103
+ */
104
+ function assertHasBody(request) {
105
+ if ((0, isNil_1.default)(request.input.body)) {
106
+ throw assertionError.get("body_required");
107
+ }
108
+ }
109
+ exports.assertHasBody = assertHasBody;
110
+ function assertHasId(request) {
111
+ if (!request.input.args._id) {
112
+ throw assertionError.get("missing_argument", "_id");
113
+ }
114
+ }
115
+ exports.assertHasId = assertHasId;
116
+ function assertHasIndex(request) {
117
+ if (!request.input.args.index) {
118
+ throw assertionError.get("missing_argument", "index");
119
+ }
120
+ }
121
+ exports.assertHasIndex = assertHasIndex;
122
+ function assertHasIndexAndCollection(request) {
123
+ if (!request.input.args.index) {
124
+ throw assertionError.get("missing_argument", "index");
125
+ }
126
+ if (!request.input.args.collection) {
127
+ throw assertionError.get("missing_argument", "collection");
128
+ }
129
+ }
130
+ exports.assertHasIndexAndCollection = assertHasIndexAndCollection;
131
+ function assertIsAuthenticated(anonymousId, request) {
132
+ // `context.user` is null until the request has been authenticated, which is
133
+ // precisely the case this assertion exists to reject — reading `_id` off it
134
+ // threw a TypeError instead of the intended error.
135
+ if (request.context.user === null ||
136
+ request.context.user._id === anonymousId) {
137
+ throw kerror.get("security", "rights", "unauthorized");
138
+ }
139
+ }
140
+ exports.assertIsAuthenticated = assertIsAuthenticated;
141
+ function assertIsObject(value) {
142
+ if (!(0, safeObject_1.isPlainObject)(value)) {
143
+ throw assertionError.get("invalid_argument", value, "object");
144
+ }
145
+ }
146
+ exports.assertIsObject = assertIsObject;
143
147
  //# sourceMappingURL=requestAssertions.js.map
@@ -1,3 +1,3 @@
1
- export function get(o: any, prop: any): any;
2
- export function has(o: any, prop: any): any;
3
- export function isPlainObject(o: any): boolean;
1
+ export declare function has(o: unknown, prop: PropertyKey): boolean;
2
+ export declare function get(o: unknown, prop: PropertyKey): unknown;
3
+ export declare function isPlainObject(o: unknown): o is Record<string, unknown>;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Kuzzle, a backend software, self-hostable and ready to use
3
4
  * to power modern apps
@@ -18,19 +19,22 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.isPlainObject = exports.get = exports.has = void 0;
22
24
  // Simple utility functions for safe (and fast) object manipulations
23
25
  function has(o, prop) {
24
- return Object.prototype.hasOwnProperty.call(o, prop);
26
+ return Object.hasOwn(o, prop);
25
27
  }
28
+ exports.has = has;
26
29
  function get(o, prop) {
27
30
  if (has(o, prop)) {
28
31
  return o[prop];
29
32
  }
30
33
  return undefined;
31
34
  }
35
+ exports.get = get;
32
36
  function isPlainObject(o) {
33
37
  return Object.prototype.toString.call(o) === "[object Object]";
34
38
  }
35
- module.exports = { get, has, isPlainObject };
39
+ exports.isPlainObject = isPlainObject;
36
40
  //# sourceMappingURL=safeObject.js.map
@@ -1,3 +1,4 @@
1
+ import "../types/Global";
1
2
  /**
2
3
  * Hilight user code
3
4
  *
@@ -8,12 +9,19 @@
8
9
  * >>>> at init (/home/aschen/projets/app/test.ts:8:3)
9
10
  * at Module._compile (internal/modules/cjs/loader.js:1133:30)
10
11
  */
11
- export function hilightUserCode(line: any): any;
12
+ export declare function hilightUserCode(line: string): string;
13
+ interface SerializedRequestResponse {
14
+ content?: {
15
+ error?: {
16
+ stack?: string;
17
+ };
18
+ };
19
+ }
12
20
  /**
13
21
  * utility method: must be invoked by all protocols to remove stack traces
14
22
  * from payloads before sending them
15
- * @param {Error|Object} data - expected: plain error object or serialized
16
- * request response
17
- * @returns {*} return the data minus the stack trace
23
+ * @param data - expected: plain error object or serialized request response
24
+ * @returns return the data minus the stack trace
18
25
  */
19
- export function removeStacktrace(data: Error | any): any;
26
+ export declare function removeStacktrace<T extends Error | SerializedRequestResponse>(data: T): T;
27
+ export {};
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Kuzzle, a backend software, self-hostable and ready to use
3
4
  * to power modern apps
@@ -18,8 +19,9 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
- const util = require("util");
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.removeStacktrace = exports.hilightUserCode = void 0;
24
+ require("../types/Global");
23
25
  const MARKER = ">";
24
26
  const PADDING = " ";
25
27
  /**
@@ -48,23 +50,29 @@ function hilightUserCode(line) {
48
50
  // hilight user code
49
51
  return MARKER + line;
50
52
  }
53
+ exports.hilightUserCode = hilightUserCode;
51
54
  /**
52
55
  * utility method: must be invoked by all protocols to remove stack traces
53
56
  * from payloads before sending them
54
- * @param {Error|Object} data - expected: plain error object or serialized
55
- * request response
56
- * @returns {*} return the data minus the stack trace
57
+ * @param data - expected: plain error object or serialized request response
58
+ * @returns return the data minus the stack trace
57
59
  */
58
60
  function removeStacktrace(data) {
59
- if (util.types.isNativeError(data)) {
61
+ if (data instanceof Error) {
60
62
  if (global.NODE_ENV !== "development") {
61
63
  data.stack = undefined;
62
64
  }
63
65
  else {
64
- data.stack = data.stack.split("\n").map(hilightUserCode).join("\n");
66
+ // `KuzzleError` sets `stack` to undefined in its own constructor before
67
+ // deciding what to put there, so an Error with no stack is not a
68
+ // hypothetical here — the branch below already spelled this out for the
69
+ // serialized-response case.
70
+ data.stack = data.stack
71
+ ? data.stack.split("\n").map(hilightUserCode).join("\n")
72
+ : undefined;
65
73
  }
66
74
  }
67
- else if (data && data.content && data.content.error) {
75
+ else if (data?.content?.error) {
68
76
  // @todo v3: stack should be removed only for "production" env
69
77
  if (global.NODE_ENV !== "development") {
70
78
  data.content.error.stack = undefined;
@@ -77,8 +85,5 @@ function removeStacktrace(data) {
77
85
  }
78
86
  return data;
79
87
  }
80
- module.exports = {
81
- hilightUserCode,
82
- removeStacktrace,
83
- };
88
+ exports.removeStacktrace = removeStacktrace;
84
89
  //# sourceMappingURL=stackTrace.js.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Whatever was thrown, as an `Error`.
3
+ *
4
+ * `catch` answers `unknown`, and a plugin may throw or reject with anything.
5
+ * The message is the thrown value's own `message`, read the way the
6
+ * JavaScript read it: `{ message: "x" }` gives "x", and a value without one
7
+ * (a string, a number, `null`) gives "undefined" — where the JavaScript
8
+ * crashed on `null`.
9
+ *
10
+ * Never `util.inspect`: this message ends up in the error a client receives,
11
+ * and inspecting a plugin's object would copy its whole content there.
12
+ */
13
+ export declare function causeOf(thrown: unknown): Error;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /*
3
+ * Kuzzle, a backend software, self-hostable and ready to use
4
+ * to power modern apps
5
+ *
6
+ * Copyright 2015-2022 Kuzzle
7
+ * mailto: support AT kuzzle.io
8
+ * website: http://kuzzle.io
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * https://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.causeOf = void 0;
24
+ /**
25
+ * Whatever was thrown, as an `Error`.
26
+ *
27
+ * `catch` answers `unknown`, and a plugin may throw or reject with anything.
28
+ * The message is the thrown value's own `message`, read the way the
29
+ * JavaScript read it: `{ message: "x" }` gives "x", and a value without one
30
+ * (a string, a number, `null`) gives "undefined" — where the JavaScript
31
+ * crashed on `null`.
32
+ *
33
+ * Never `util.inspect`: this message ends up in the error a client receives,
34
+ * and inspecting a plugin's object would copy its whole content there.
35
+ */
36
+ function causeOf(thrown) {
37
+ if (thrown instanceof Error) {
38
+ return thrown;
39
+ }
40
+ const message = thrown === null || thrown === undefined
41
+ ? undefined
42
+ : Reflect.get(Object(thrown), "message");
43
+ return new Error(String(message));
44
+ }
45
+ exports.causeOf = causeOf;
46
+ //# sourceMappingURL=thrown.js.map
package/dist/package.json CHANGED
@@ -1,24 +1,30 @@
1
1
  {
2
2
  "name": "kuzzle",
3
3
  "author": "The Kuzzle Team <support@kuzzle.io>",
4
- "version": "2.56.0",
4
+ "version": "2.57.0-beta.2",
5
5
  "description": "Kuzzle is an open-source solution that handles all the data management through a secured API, with a large choice of protocols.",
6
6
  "scripts": {
7
- "build": "rm -Rf ./dist && tsc && node ./bin/copy-binaries.js",
7
+ "build": "rm -Rf ./dist && tsc && node -r ts-node/register/transpile-only ./bin/copy-binaries.ts",
8
8
  "cucumber": "cucumber.js --fail-fast",
9
9
  "dev": "tsx watch start-kuzzle-dev.ts",
10
10
  "doc-error-codes": "node -r ts-node/register doc/build-error-codes",
11
- "prepublishOnly": "npm run build",
12
- "prettier": "prettier ./lib ./test ./features --write",
11
+ "prepublishOnly": "npm run build && ./.ci/scripts/check-build-payload.sh",
12
+ "prettier": "prettier ./lib ./tests ./features ./features-legacy --write",
13
+ "prettier:check": "prettier ./lib ./tests ./features ./features-legacy --check",
14
+ "ratchet": "npm run ratchet:js && npm run ratchet:any && npm run ratchet:casts && npm run ratchet:cpd-exclusions",
15
+ "ratchet:any": "bash scripts/ratchet.sh any",
16
+ "ratchet:casts": "bash scripts/ratchet.sh casts",
17
+ "ratchet:cpd-exclusions": "bash scripts/ratchet.sh cpd-exclusions",
18
+ "ratchet:js": "bash scripts/ratchet.sh js",
13
19
  "test:functional:legacy:http": "cucumber-js --format progress-bar --profile httpLegacy --config cucumber.config.cjs",
14
20
  "test:functional:legacy:mqtt": "cucumber-js --format progress-bar --profile mqttLegacy --config cucumber.config.cjs",
15
21
  "test:functional:legacy:websocket": "cucumber-js --format progress-bar --profile websocketLegacy --config cucumber.config.cjs",
16
22
  "test:functional:http": "KUZZLE_PROTOCOL=http cucumber-js --profile http --config cucumber.config.cjs",
17
23
  "test:functional:websocket": "KUZZLE_PROTOCOL=websocket cucumber-js --profile websocket --config cucumber.config.cjs",
18
24
  "test:unit:vitest": "vitest run --fileParallelism false --coverage --bail=1 --passWithNoTests",
19
- "test:unit:mocha": "mocha --exit",
20
- "test:unit:mocha:coverage": "c8 --reporter=lcov --report-dir=coverage mocha --exit",
21
- "test:lint": "eslint ./lib ./test ./bin ./features"
25
+ "test:lint": "eslint ./lib ./tests ./bin ./features ./features-legacy",
26
+ "typecheck:tests": "tsc -p tsconfig.tests.json",
27
+ "typecheck:typings": "tsc -p tests/typings/tsconfig.json && tsc -p tests/typings/tsconfig.loose.json"
22
28
  },
23
29
  "main": "./dist/index.js",
24
30
  "types": "./dist/index.d.ts",
@@ -33,18 +39,18 @@
33
39
  "debug": "4.4.3",
34
40
  "denque": "2.1.0",
35
41
  "didyoumean": "1.2.2",
36
- "dumpme": "2.0.0",
42
+ "dumpme": "2.1.0-dev.1",
37
43
  "eventemitter3": "5.0.1",
38
44
  "inquirer": "13.1.0",
39
45
  "ioredis": "5.8.2",
40
46
  "json-stable-stringify": "1.3.0",
41
47
  "json2yaml": "1.1.0",
42
48
  "jsonwebtoken": "9.0.3",
43
- "koncorde": "4.7.0",
49
+ "koncorde": "4.8.0-beta.2",
44
50
  "kuzzle-logger": "1.4.0",
45
51
  "kuzzle-plugin-auth-passport-local": "6.4.1",
46
- "kuzzle-sdk": ">=7.17.1",
47
- "kuzzle-vault": "2.1.0",
52
+ "kuzzle-sdk": ">=7.17.1 <8.0.0",
53
+ "kuzzle-vault": "2.2.0",
48
54
  "lodash": "4.17.21",
49
55
  "long": "5.3.2",
50
56
  "moment": "2.30.1",
@@ -59,6 +65,7 @@
59
65
  "pino-transport-ecs": "1.1.0",
60
66
  "protobufjs": "7.5.4",
61
67
  "rc": "1.2.8",
68
+ "redis-semaphore": "5.8.0",
62
69
  "sdk-es7": "npm:@elastic/elasticsearch@7.13.0",
63
70
  "sdk-es8": "npm:@elastic/elasticsearch@8.17.1",
64
71
  "semver": "7.7.3",
@@ -75,29 +82,29 @@
75
82
  },
76
83
  "devDependencies": {
77
84
  "@cucumber/cucumber": "12.5.0",
85
+ "@types/async": "^3.2.24",
78
86
  "@types/bluebird": "3.5.42",
79
87
  "@types/cookie": "1.0.0",
80
88
  "@types/lodash": "4.17.21",
81
- "@types/mocha": "10.0.10",
82
89
  "@types/passport": "1.0.17",
90
+ "@types/validator": "^13.15.10",
91
+ "@types/yargs": "17.0.35",
83
92
  "@vitest/coverage-v8": "4.0.16",
84
93
  "async": "3.2.6",
85
- "c8": "^11.0.0",
86
- "eslint-plugin-kuzzle": "0.0.15",
87
- "mocha": "11.7.5",
88
- "mock-require": "3.0.3",
94
+ "eslint": "10.10.0",
95
+ "eslint-plugin-kuzzle": "2.0.0",
96
+ "ioredis-mock": "8.13.1",
89
97
  "mqtt": "5.14.1",
98
+ "prettier": "3.9.7",
90
99
  "request-promise": "4.2.6",
91
- "rewire": "5.0.0",
92
100
  "semantic-release-config-kuzzle": "1.3.0",
93
101
  "should": "13.2.3",
94
- "should-sinon": "0.0.6",
95
- "sinon": "21.0.0",
96
102
  "strip-json-comments": "https://github.com/sindresorhus/strip-json-comments/archive/refs/tags/v3.1.1.tar.gz",
97
103
  "ts-node": "10.9.2",
98
104
  "tsx": "4.21.0",
99
105
  "typescript": "5.4.5",
100
106
  "vitest": "4.0.16",
107
+ "ws": "^8.18.3",
101
108
  "yaml": "2.8.2"
102
109
  },
103
110
  "engines": {