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,7 +1,9 @@
1
1
  import _ from "lodash";
2
- import { Client, RequestParams } from "sdk-es7";
3
- import { TypeMapping } from "sdk-es7/api/types";
4
- import { InfoResult, JSONObject, KRequestBody, KRequestParams } from "../../../types/storage/7/Elasticsearch";
2
+ import type { RequestParams } from "sdk-es7";
3
+ import { Client } from "sdk-es7";
4
+ import type { TypeMapping } from "sdk-es7/api/types";
5
+ import type { AliasToTargets, CatAliasRecord, InfoResult, JSONObject, KImportError, KImportResult, KMExecuteResult, KRequestBody, KRequestParams } from "../../../types/storage/7/Elasticsearch";
6
+ import type { ValidatedTarget } from "../../../types/Target";
5
7
  import { storeScopeEnum } from "../../../core/storage/storeScopeEnum";
6
8
  import { QueryTranslator } from "../commons/queryTranslator";
7
9
  import ESWrapper from "./esWrapper";
@@ -12,6 +14,10 @@ import ESWrapper from "./esWrapper";
12
14
  * @constructor
13
15
  */
14
16
  export declare class ES7 {
17
+ /**
18
+ * Built by `init()`, and read nowhere before it — the `null` the constructor
19
+ * used to write was never observed. See TD-62.
20
+ */
15
21
  _client: Client;
16
22
  _scope: storeScopeEnum;
17
23
  _indexPrefix: string;
@@ -40,7 +46,7 @@ export declare class ES7 {
40
46
  * @param {Object} filters - Set of valid Koncorde filters
41
47
  * @returns {Object} Equivalent Elasticsearch query
42
48
  */
43
- translateKoncordeFilters(filters: any): any;
49
+ translateKoncordeFilters(filters: JSONObject): any;
44
50
  /**
45
51
  * Returns some basic information about this service
46
52
  * @override
@@ -54,7 +60,11 @@ export declare class ES7 {
54
60
  * @returns {Promise.<Object>}
55
61
  */
56
62
  stats(): Promise<{
57
- indexes: unknown[];
63
+ indexes: {
64
+ collections: JSONObject[];
65
+ name: string;
66
+ size: number;
67
+ }[];
58
68
  size: number;
59
69
  }>;
60
70
  /**
@@ -78,7 +88,7 @@ export declare class ES7 {
78
88
  collection: any;
79
89
  highlight: any;
80
90
  index: any;
81
- inner_hits: {};
91
+ inner_hits: JSONObject | undefined;
82
92
  }[];
83
93
  remaining: any;
84
94
  scrollId: any;
@@ -113,20 +123,26 @@ export declare class ES7 {
113
123
  collection: any;
114
124
  highlight: any;
115
125
  index: any;
116
- inner_hits: {};
126
+ inner_hits: JSONObject | undefined;
117
127
  }[];
118
128
  remaining: any;
119
129
  scrollId: any;
120
130
  suggest: any;
121
131
  total: any;
122
132
  }>;
133
+ /**
134
+ * The comma-separated alias list a multi-target search is run against.
135
+ *
136
+ * @param targets - targets already through `assertTargetsAreValid`
137
+ */
138
+ _targetsToIndexes(targets: ValidatedTarget[]): string;
123
139
  /**
124
140
  * Generate a map that associate an alias to a pair of index and collection
125
141
  *
126
142
  * @param {*} targets
127
143
  * @returns
128
144
  */
129
- _mapTargetsToAlias(targets: any): {};
145
+ _mapTargetsToAlias(targets: ValidatedTarget[]): AliasToTargets;
130
146
  _formatSearchResult(body: any, searchInfo?: any): Promise<{
131
147
  aggregations: any;
132
148
  hits: {
@@ -136,7 +152,7 @@ export declare class ES7 {
136
152
  collection: any;
137
153
  highlight: any;
138
154
  index: any;
139
- inner_hits: {};
155
+ inner_hits: JSONObject | undefined;
140
156
  }[];
141
157
  remaining: any;
142
158
  scrollId: any;
@@ -152,7 +168,7 @@ export declare class ES7 {
152
168
  *
153
169
  * @returns {Promise.<{ _id, _version, _source }>}
154
170
  */
155
- get(index: any, collection: any, id: any): Promise<any>;
171
+ get(index: string, collection: string, id: string): Promise<any>;
156
172
  /**
157
173
  * Returns the list of documents matching the ids given in the body param
158
174
  * NB: Due to internal Kuzzle mechanism, can only be called on a single
@@ -166,12 +182,11 @@ export declare class ES7 {
166
182
  */
167
183
  mGet(index: string, collection: string, ids: string[]): Promise<{
168
184
  errors: any[];
169
- item: any[];
170
- items?: undefined;
171
- } | {
172
- errors: any[];
173
- items: any[];
174
- item?: undefined;
185
+ items: {
186
+ _id: any;
187
+ _source: any;
188
+ _version: any;
189
+ }[];
175
190
  }>;
176
191
  /**
177
192
  * Counts how many documents match the filter given in body
@@ -197,7 +212,7 @@ export declare class ES7 {
197
212
  create(index: string, collection: string, content: JSONObject, { id, refresh, userId, injectKuzzleMeta, }?: {
198
213
  id?: string;
199
214
  refresh?: boolean | "wait_for";
200
- userId?: string;
215
+ userId?: string | null;
201
216
  injectKuzzleMeta?: boolean;
202
217
  }): Promise<{
203
218
  _id: any;
@@ -215,13 +230,13 @@ export declare class ES7 {
215
230
  *
216
231
  * @returns {Promise.<Object>} { _id, _version, _source, created }
217
232
  */
218
- createOrReplace(index: any, collection: any, id: any, content: any, { refresh, userId, injectKuzzleMeta, }?: {
233
+ createOrReplace(index: string, collection: string, id: string, content: JSONObject, { refresh, userId, injectKuzzleMeta, }?: {
219
234
  refresh?: boolean | "wait_for";
220
- userId?: string;
235
+ userId?: string | null;
221
236
  injectKuzzleMeta?: boolean;
222
237
  }): Promise<{
223
238
  _id: any;
224
- _source: any;
239
+ _source: JSONObject;
225
240
  _version: any;
226
241
  created: boolean;
227
242
  }>;
@@ -238,7 +253,7 @@ export declare class ES7 {
238
253
  */
239
254
  update(index: string, collection: string, id: string, content: JSONObject, { refresh, userId, retryOnConflict, injectKuzzleMeta, }?: {
240
255
  refresh?: boolean | "wait_for";
241
- userId?: string;
256
+ userId?: string | null;
242
257
  retryOnConflict?: number;
243
258
  injectKuzzleMeta?: boolean;
244
259
  }): Promise<{
@@ -261,7 +276,7 @@ export declare class ES7 {
261
276
  upsert(index: string, collection: string, id: string, content: JSONObject, { defaultValues, refresh, userId, retryOnConflict, injectKuzzleMeta, }?: {
262
277
  defaultValues?: JSONObject;
263
278
  refresh?: boolean | "wait_for";
264
- userId?: string;
279
+ userId?: string | null;
265
280
  retryOnConflict?: number;
266
281
  injectKuzzleMeta?: boolean;
267
282
  }): Promise<{
@@ -283,7 +298,7 @@ export declare class ES7 {
283
298
  */
284
299
  replace(index: string, collection: string, id: string, content: JSONObject, { refresh, userId, injectKuzzleMeta, }?: {
285
300
  refresh?: boolean | "wait_for";
286
- userId?: string;
301
+ userId?: string | null;
287
302
  injectKuzzleMeta?: boolean;
288
303
  }): Promise<{
289
304
  _id: string;
@@ -302,7 +317,7 @@ export declare class ES7 {
302
317
  */
303
318
  delete(index: string, collection: string, id: string, { refresh, }?: {
304
319
  refresh?: boolean | "wait_for";
305
- }): Promise<any>;
320
+ }): Promise<null>;
306
321
  /**
307
322
  * Deletes all documents matching the provided filters.
308
323
  * If fetch=false, the max documents write limit is not applied.
@@ -325,7 +340,7 @@ export declare class ES7 {
325
340
  fetch?: boolean;
326
341
  }): Promise<{
327
342
  deleted: any;
328
- documents: any[];
343
+ documents: any;
329
344
  failures: any;
330
345
  total: any;
331
346
  }>;
@@ -342,7 +357,7 @@ export declare class ES7 {
342
357
  */
343
358
  deleteFields(index: string, collection: string, id: string, fields: string, { refresh, userId, }?: {
344
359
  refresh?: boolean | "wait_for";
345
- userId?: string;
360
+ userId?: string | null;
346
361
  }): Promise<{
347
362
  _id: string;
348
363
  _source: any;
@@ -362,10 +377,10 @@ export declare class ES7 {
362
377
  updateByQuery(index: string, collection: string, query: JSONObject, changes: JSONObject, { refresh, size, userId, }?: {
363
378
  refresh?: boolean | "wait_for";
364
379
  size?: number;
365
- userId?: string;
380
+ userId?: string | null;
366
381
  }): Promise<{
367
- errors: any;
368
- successes: any;
382
+ errors: JSONObject[];
383
+ successes: JSONObject[];
369
384
  }>;
370
385
  /**
371
386
  * Updates all documents matching the provided filters
@@ -411,7 +426,7 @@ export declare class ES7 {
411
426
  *
412
427
  * @returns {Promise}
413
428
  */
414
- createIndex(index: string): Promise<any>;
429
+ createIndex(index: string): Promise<null>;
415
430
  /**
416
431
  * Creates an empty collection.
417
432
  * Mappings and settings will be applied if supplied.
@@ -425,7 +440,7 @@ export declare class ES7 {
425
440
  createCollection(index: string, collection: string, { mappings, settings, }?: {
426
441
  mappings?: TypeMapping;
427
442
  settings?: Record<string, any>;
428
- }): Promise<any>;
443
+ }): Promise<null>;
429
444
  /**
430
445
  * Retrieves settings definition for index/type
431
446
  *
@@ -464,14 +479,14 @@ export declare class ES7 {
464
479
  mappings?: TypeMapping;
465
480
  reindexCollection?: boolean;
466
481
  settings?: Record<string, any>;
467
- }): Promise<any>;
482
+ }): Promise<null>;
468
483
  /**
469
484
  * Given index settings we return a new version of index settings
470
485
  * only with allowed settings that can be set (during update or create index).
471
486
  * @param indexSettings the index settings
472
487
  * @returns {{index: *}} a new index settings with only allowed settings.
473
488
  */
474
- getAllowedIndexSettings(indexSettings: any): {
489
+ getAllowedIndexSettings(indexSettings: JSONObject): {
475
490
  index: _.Omit<any, "version" | "creation_date" | "provided_name" | "uuid">;
476
491
  };
477
492
  /**
@@ -505,7 +520,7 @@ export declare class ES7 {
505
520
  *
506
521
  * @returns {Promise}
507
522
  */
508
- updateSettings(index: any, collection: any, settings?: {}): Promise<any>;
523
+ updateSettings(index: string, collection: string, settings?: JSONObject): Promise<null>;
509
524
  /**
510
525
  * Empties the content of a collection. Keep the existing mapping and settings.
511
526
  *
@@ -514,7 +529,7 @@ export declare class ES7 {
514
529
  *
515
530
  * @returns {Promise}
516
531
  */
517
- truncateCollection(index: string, collection: string): Promise<any>;
532
+ truncateCollection(index: string, collection: string): Promise<null>;
518
533
  /**
519
534
  * Runs several action and document
520
535
  *
@@ -528,11 +543,16 @@ export declare class ES7 {
528
543
  import(index: string, collection: string, documents: JSONObject[], { refresh, timeout, userId, }?: {
529
544
  refresh?: boolean | "wait_for";
530
545
  timeout?: string;
531
- userId?: string;
532
- }): Promise<{
533
- errors: any[];
534
- items: any[];
535
- }>;
546
+ userId?: string | null;
547
+ }): Promise<KImportResult>;
548
+ /**
549
+ * The error entry `import` reports for one rejected bulk row.
550
+ *
551
+ * @param action - the bulk action Elasticsearch echoed back
552
+ * @param item - that action's answer
553
+ * @param payload - the action's payload, absent for a delete
554
+ */
555
+ _importError(action: string, item: JSONObject, payload: JSONObject | undefined): KImportError;
536
556
  /**
537
557
  * Retrieves the complete list of existing collections in the current index
538
558
  *
@@ -541,9 +561,9 @@ export declare class ES7 {
541
561
  *
542
562
  * @returns {Promise.<Array>} Collection names
543
563
  */
544
- listCollections(index: any, { includeHidden }?: {
545
- includeHidden?: boolean;
546
- }): Promise<any>;
564
+ listCollections(index: string, { includeHidden }?: {
565
+ includeHidden?: boolean | undefined;
566
+ }): Promise<string[]>;
547
567
  /**
548
568
  * Retrieves the complete list of indexes
549
569
  *
@@ -555,13 +575,18 @@ export declare class ES7 {
555
575
  *
556
576
  * @returns {Object.<String, String[]>} Object<index, collections>
557
577
  */
558
- getSchema(): Promise<{}>;
578
+ getSchema(): Promise<Record<string, string[]>>;
559
579
  /**
560
580
  * Retrieves the complete list of aliases
561
581
  *
562
582
  * @returns {Promise.<Object[]>} [ { alias, index, collection, indice } ]
563
583
  */
564
- listAliases(): Promise<any[]>;
584
+ listAliases(): Promise<{
585
+ alias: string;
586
+ collection: string;
587
+ index: string;
588
+ indice: string;
589
+ }[]>;
565
590
  /**
566
591
  * Deletes a collection
567
592
  *
@@ -570,7 +595,7 @@ export declare class ES7 {
570
595
  *
571
596
  * @returns {Promise}
572
597
  */
573
- deleteCollection(index: string, collection: string): Promise<void>;
598
+ deleteCollection(index: string, collection: string): Promise<null>;
574
599
  /**
575
600
  * Deletes multiple indexes
576
601
  *
@@ -578,7 +603,7 @@ export declare class ES7 {
578
603
  *
579
604
  * @returns {Promise.<String[]>}
580
605
  */
581
- deleteIndexes(indexes?: string[]): Promise<any[]>;
606
+ deleteIndexes(indexes?: string[]): Promise<unknown[]>;
582
607
  /**
583
608
  * Deletes an index
584
609
  *
@@ -586,7 +611,7 @@ export declare class ES7 {
586
611
  *
587
612
  * @returns {Promise}
588
613
  */
589
- deleteIndex(index: string): Promise<void>;
614
+ deleteIndex(index: string): Promise<null>;
590
615
  /**
591
616
  * Forces a refresh on the collection.
592
617
  *
@@ -623,13 +648,8 @@ export declare class ES7 {
623
648
  * @returns {Promise.<{ items: Array<{ _id, _source, _version }>, errors }>}
624
649
  */
625
650
  mExists(index: string, collection: string, ids: string[]): Promise<{
626
- errors: any[];
627
- item: any[];
628
- items?: undefined;
629
- } | {
630
651
  errors: any[];
631
652
  items: any[];
632
- item?: undefined;
633
653
  }>;
634
654
  /**
635
655
  * Returns true if the index exists
@@ -655,7 +675,7 @@ export declare class ES7 {
655
675
  *
656
676
  * @returns {Promise.<boolean>}
657
677
  */
658
- _hasHiddenCollection(index: any): Promise<any>;
678
+ _hasHiddenCollection(index: string): Promise<boolean>;
659
679
  /**
660
680
  * Creates multiple documents at once.
661
681
  * If a content has no id, one is automatically generated and assigned to it.
@@ -671,8 +691,8 @@ export declare class ES7 {
671
691
  mCreate(index: string, collection: string, documents: JSON[], { refresh, timeout, userId, }?: {
672
692
  refresh?: boolean | "wait_for";
673
693
  timeout?: string;
674
- userId?: string;
675
- }): Promise<any>;
694
+ userId?: string | null;
695
+ }): Promise<KMExecuteResult>;
676
696
  /**
677
697
  * Creates or replaces multiple documents at once.
678
698
  *
@@ -683,7 +703,7 @@ export declare class ES7 {
683
703
  *
684
704
  * @returns {Promise.<{ items, errors }>
685
705
  */
686
- mCreateOrReplace(index: string, collection: string, documents: JSONObject[], { refresh, timeout, userId, injectKuzzleMeta, limits, source, }?: KRequestParams): Promise<any>;
706
+ mCreateOrReplace(index: string, collection: string, documents: JSONObject[], { refresh, timeout, userId, injectKuzzleMeta, limits, source, }?: KRequestParams): Promise<KMExecuteResult>;
687
707
  /**
688
708
  * Updates multiple documents with one request
689
709
  * Replacements are rejected if targeted documents do not exist
@@ -697,11 +717,11 @@ export declare class ES7 {
697
717
  * @returns {Promise.<Object>} { items, errors }
698
718
  */
699
719
  mUpdate(index: string, collection: string, documents: JSONObject[], { refresh, retryOnConflict, timeout, userId, }?: {
700
- refresh?: any;
720
+ refresh?: boolean | "wait_for";
701
721
  retryOnConflict?: number;
702
- timeout?: any;
703
- userId?: any;
704
- }): Promise<any>;
722
+ timeout?: string;
723
+ userId?: string | null;
724
+ }): Promise<KMExecuteResult>;
705
725
  /**
706
726
  * Creates or replaces multiple documents at once.
707
727
  *
@@ -716,8 +736,8 @@ export declare class ES7 {
716
736
  refresh?: boolean | "wait_for";
717
737
  retryOnConflict?: number;
718
738
  timeout?: string;
719
- userId?: string;
720
- }): Promise<any>;
739
+ userId?: string | null;
740
+ }): Promise<KMExecuteResult>;
721
741
  /**
722
742
  * Replaces multiple documents at once.
723
743
  * Replacements are rejected if targeted documents do not exist
@@ -733,8 +753,8 @@ export declare class ES7 {
733
753
  mReplace(index: string, collection: string, documents: JSONObject[], { refresh, timeout, userId, }?: {
734
754
  refresh?: boolean | "wait_for";
735
755
  timeout?: string;
736
- userId?: string;
737
- }): Promise<any>;
756
+ userId?: string | null;
757
+ }): Promise<KMExecuteResult>;
738
758
  /**
739
759
  * Deletes multiple documents with one request
740
760
  *
@@ -749,8 +769,16 @@ export declare class ES7 {
749
769
  refresh?: boolean | "wait_for";
750
770
  timeout?: number;
751
771
  }): Promise<{
752
- documents: any[];
753
- errors: any[];
772
+ documents: any;
773
+ errors: ({
774
+ _id: undefined;
775
+ reason: string;
776
+ status: number;
777
+ } | {
778
+ _id: string;
779
+ reason: string;
780
+ status: number;
781
+ })[];
754
782
  }>;
755
783
  /**
756
784
  * Executes an ES request prepared by mcreate, mupdate, mreplace, mdelete or mwriteDocuments
@@ -765,9 +793,16 @@ export declare class ES7 {
765
793
  * @returns {Promise.<Object[]>} results
766
794
  */
767
795
  _mExecute(esRequest: RequestParams.Bulk, documents: JSONObject[], partialErrors?: JSONObject[], { limits, source }?: {
768
- limits?: boolean;
769
- source?: boolean;
770
- }): Promise<any>;
796
+ limits?: boolean | undefined;
797
+ source?: boolean | undefined;
798
+ }): Promise<KMExecuteResult>;
799
+ /**
800
+ * The partial-error entry `_mExecute` reports for one rejected bulk row.
801
+ *
802
+ * A 404 answers no reason of its own, and reports the document by id and
803
+ * body rather than whole, which is what the m* callers read back.
804
+ */
805
+ _mExecuteRejection(result: JSONObject, document: JSONObject): JSONObject;
771
806
  /**
772
807
  * Extracts, injects metadata and validates documents contained
773
808
  * in a Request
@@ -781,13 +816,13 @@ export declare class ES7 {
781
816
  * @returns {Object} { rejected, extractedDocuments, documentsToGet }
782
817
  */
783
818
  _extractMDocuments(documents: JSONObject[], metadata: JSONObject, { prepareMGet, requireId, prepareMUpsert }?: {
784
- prepareMGet?: boolean;
785
- requireId?: boolean;
786
- prepareMUpsert?: boolean;
819
+ prepareMGet?: boolean | undefined;
820
+ requireId?: boolean | undefined;
821
+ prepareMUpsert?: boolean | undefined;
787
822
  }): {
788
- documentsToGet: any[];
789
- extractedDocuments: any[];
790
- rejected: any[];
823
+ documentsToGet: JSONObject[];
824
+ extractedDocuments: JSONObject[];
825
+ rejected: JSONObject[];
791
826
  };
792
827
  private _hasExceededLimit;
793
828
  private _processExtract;
@@ -797,7 +832,7 @@ export declare class ES7 {
797
832
  * @param {Object} mapping
798
833
  * @throws
799
834
  */
800
- _checkMappings(mapping: JSONObject, path?: any[], check?: boolean): void;
835
+ _checkMappings(mapping: JSONObject, path?: string[], check?: boolean): void;
801
836
  /**
802
837
  * Given index + collection, returns the associated alias name.
803
838
  * Prefer this function to `_getIndice` and `_getAvailableIndice` whenever it is possible.
@@ -807,11 +842,11 @@ export declare class ES7 {
807
842
  *
808
843
  * @returns {String} Alias name (eg: '@&nepali.liia')
809
844
  */
810
- _getAlias(index: any, collection: any): string;
845
+ _getAlias(index: string, collection?: string): string;
811
846
  /**
812
847
  * Given an alias name, returns the associated index name.
813
848
  */
814
- _checkIfAliasExists(aliasName: any): Promise<boolean>;
849
+ _checkIfAliasExists(aliasName: string): Promise<boolean>;
815
850
  /**
816
851
  * Given index + collection, returns the associated indice name.
817
852
  * Use this function if ES does not accept aliases in the request. Otherwise use `_getAlias`.
@@ -849,7 +884,15 @@ export declare class ES7 {
849
884
  * @returns {String} Alias name (eg: '@&nepali.liia')
850
885
  * @throws If there is not exactly one alias associated that is prefixed with @
851
886
  */
852
- _getAliasFromIndice(indice: string): Promise<string[]>;
887
+ /**
888
+ * `cat.aliases` answers untyped rows whose `alias` and `index` the client
889
+ * declares as optional. Defaulting them once here is what lets every caller
890
+ * index into an alias without repeating the check — and an empty alias fails
891
+ * the index-prefix test every caller applies, which is what a row without one
892
+ * used to throw on.
893
+ */
894
+ _catAliases(name?: string): Promise<CatAliasRecord[]>;
895
+ _getAliasFromIndice(indice: string): Promise<[string, ...string[]]>;
853
896
  /**
854
897
  * Check for each indice whether it has an alias or not.
855
898
  * When the latter is missing, create one based on the indice name.
@@ -864,7 +907,7 @@ export declare class ES7 {
864
907
  * @param {String} index
865
908
  * @param {String} collection
866
909
  */
867
- _assertValidIndexAndCollection(index: any, collection?: any): void;
910
+ _assertValidIndexAndCollection(index: string, collection?: string | null): void;
868
911
  /**
869
912
  * Given an alias, extract the associated index.
870
913
  *
@@ -872,7 +915,7 @@ export declare class ES7 {
872
915
  *
873
916
  * @returns {String} Index name
874
917
  */
875
- _extractIndex(alias: any): any;
918
+ _extractIndex(alias: string): string;
876
919
  /**
877
920
  * Given an alias, extract the associated collection.
878
921
  *
@@ -880,7 +923,7 @@ export declare class ES7 {
880
923
  *
881
924
  * @returns {String} Collection name
882
925
  */
883
- _extractCollection(alias: any): any;
926
+ _extractCollection(alias: string): string;
884
927
  /**
885
928
  * Given aliases, extract indexes and collections.
886
929
  *
@@ -890,15 +933,15 @@ export declare class ES7 {
890
933
  * @returns {Object.<String, String[]>} Indexes as key and an array of their collections as value
891
934
  */
892
935
  _extractSchema(aliases: string[], { includeHidden }?: {
893
- includeHidden?: boolean;
894
- }): {};
936
+ includeHidden?: boolean | undefined;
937
+ }): Record<string, string[]>;
895
938
  /**
896
939
  * Creates the hidden collection on the provided index if it does not already
897
940
  * exists
898
941
  *
899
942
  * @param {String} index Index name
900
943
  */
901
- _createHiddenCollection(index: any): Promise<void>;
944
+ _createHiddenCollection(index: string): Promise<void>;
902
945
  /**
903
946
  * We need to always wait for a minimal number of shards to be available
904
947
  * before answering to the client. This is to avoid Elasticsearch node
@@ -924,7 +967,7 @@ export declare class ES7 {
924
967
  *
925
968
  * @param {Object} searchBody - ES search body (with query, aggregations, sort, etc)
926
969
  */
927
- _sanitizeSearchBody(searchBody: any): any;
970
+ _sanitizeSearchBody(searchBody?: JSONObject): JSONObject;
928
971
  /**
929
972
  * Throw if a script is used in the query.
930
973
  *
@@ -932,19 +975,19 @@ export declare class ES7 {
932
975
  *
933
976
  * @param {Object} object
934
977
  */
935
- _scriptCheck(object: any): void;
978
+ _scriptCheck(object: JSONObject): void;
936
979
  /**
937
980
  * Checks if a collection name is valid
938
981
  * @param {string} name
939
982
  * @returns {Boolean}
940
983
  */
941
- isCollectionNameValid(name: any): boolean;
984
+ isCollectionNameValid(name: string): boolean;
942
985
  /**
943
986
  * Checks if a collection name is valid
944
987
  * @param {string} name
945
988
  * @returns {Boolean}
946
989
  */
947
- isIndexNameValid(name: any): boolean;
990
+ isIndexNameValid(name: string): boolean;
948
991
  /**
949
992
  * Clears an allocated scroll
950
993
  * @param {[type]} id [description]
@@ -959,17 +1002,17 @@ export declare class ES7 {
959
1002
  *
960
1003
  * @returns {Number} milliseconds
961
1004
  */
962
- _loadMsConfig(key: any): number;
1005
+ _loadMsConfig(key: string): number;
963
1006
  /**
964
1007
  * Returns true if one of the mappings dynamic property changes value from
965
1008
  * false to true
966
1009
  */
967
- _dynamicChanges(previousMappings: any, newMappings: any): boolean;
1010
+ _dynamicChanges(previousMappings: JSONObject, newMappings: JSONObject): boolean;
968
1011
  waitForElasticsearch(): Promise<void>;
969
1012
  /**
970
1013
  * Checks if the dynamic properties are correct
971
1014
  */
972
- _checkDynamicProperty(mappings: any): void;
1015
+ _checkDynamicProperty(mappings: JSONObject): void;
973
1016
  _setLastActionToKuzzleMeta(esRequest: JSONObject, alias: string, kuzzleMeta: JSONObject): void;
974
1017
  _setLastActionToKuzzleMetaUpdate(item: JSONObject, kuzzleMeta: JSONObject): void;
975
1018
  _getRandomNumber(number: number): number;