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,13 +1,80 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- const fs = require("fs/promises");
4
- const path = require("path");
3
+ /*
4
+ * Kuzzle, a backend software, self-hostable and ready to use
5
+ * to power modern apps
6
+ *
7
+ * Copyright 2015-2022 Kuzzle
8
+ * mailto: support AT kuzzle.io
9
+ * website: http://kuzzle.io
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * https://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License.
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ /**
48
+ * Second half of `npm run build`: `tsc` emits the compiled JavaScript, this
49
+ * copies into `dist/` what the compiler does not — the cluster's `.proto`
50
+ * definitions — and gives the compiled server entrypoint the extensionless,
51
+ * executable name the container and the published package promise.
52
+ *
53
+ * `bin/start-kuzzle-server` used to be JavaScript, copied here verbatim
54
+ * ([step 03](../docs/adr-001/steps/03-sprint-2-bin.md)). It is TypeScript now,
55
+ * so `tsc` emits `dist/bin/start-kuzzle-server.js` and the copy below is what
56
+ * keeps `dist/bin/start-kuzzle-server` — `docker/images/kuzzle/Dockerfile`'s
57
+ * `CMD`, and an entry in `package.json`'s `files` — existing and executable.
58
+ *
59
+ * Run from the source tree, not from `dist/`, so the paths below stay relative
60
+ * to the repository root (`__dirname/..`); from `dist/bin/` they would resolve
61
+ * to `dist/`, and the script would read its sources from `dist/lib/`.
62
+ *
63
+ * Executed through `ts-node/register/transpile-only` rather than `tsx`: `tsx`
64
+ * pulls in esbuild's platform-specific native binary, and this script sits on
65
+ * the release path (`prepublishOnly` → `build`), whose failure mode is a
66
+ * published package silently missing its `.proto` files. `ts-node` is pure
67
+ * JavaScript and cannot fail that way — same idiom as the `doc-error-codes`
68
+ * script.
69
+ */
70
+ const fs = __importStar(require("fs/promises"));
71
+ const path = __importStar(require("path"));
5
72
  async function main() {
6
73
  const projectRoot = path.join(__dirname, "..");
7
74
  const protobufSourceDir = path.join(projectRoot, "lib", "cluster", "protobuf");
8
75
  const protobufTargetDir = path.join(projectRoot, "dist", "lib", "cluster", "protobuf");
9
- const binSourceFile = path.join(projectRoot, "bin", "start-kuzzle-server");
10
76
  const binTargetDir = path.join(projectRoot, "dist", "bin");
77
+ const binSourceFile = path.join(binTargetDir, "start-kuzzle-server.js");
11
78
  const binTargetFile = path.join(binTargetDir, "start-kuzzle-server");
12
79
  await fs.mkdir(protobufTargetDir, { recursive: true });
13
80
  await fs.cp(protobufSourceDir, protobufTargetDir, { recursive: true });
@@ -17,7 +84,7 @@ async function main() {
17
84
  }
18
85
  main().catch((error) => {
19
86
  // eslint-disable-next-line no-console
20
- console.error("Failed to copy protobuf definitions:", error);
87
+ console.error("Failed to copy the build's non-compiled payload:", error);
21
88
  process.exit(1);
22
89
  });
23
90
  //# sourceMappingURL=copy-binaries.js.map
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
-
2
+ "use strict";
3
3
  /*
4
4
  * Kuzzle, a backend software, self-hostable and ready to use
5
5
  * to power modern apps
@@ -20,111 +20,205 @@
20
20
  * See the License for the specific language governing permissions and
21
21
  * limitations under the License.
22
22
  */
23
-
24
- "use strict";
25
-
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ var __importDefault = (this && this.__importDefault) || function (mod) {
47
+ return (mod && mod.__esModule) ? mod : { "default": mod };
48
+ };
26
49
  /* eslint-disable no-console */
27
-
28
- const fs = require("fs");
29
-
30
- const yargs = require("yargs");
31
-
50
+ const fs = __importStar(require("fs"));
51
+ const module_1 = require("module");
52
+ const path_1 = require("path");
53
+ const yargs_1 = __importDefault(require("yargs"));
54
+ const helpers_1 = require("yargs/helpers");
55
+ /**
56
+ * The production container's entrypoint: `docker/images/kuzzle/Dockerfile` runs
57
+ * `node ./bin/start-kuzzle-server` from `dist/`, which is why the import below
58
+ * is relative — from `dist/bin/`, `../index` is `dist/index.js`, the package's
59
+ * own `main`. Keep it that way.
60
+ */
61
+ const index_1 = require("../index");
32
62
  /**
33
- * When builded this file is reachable the bin folder
34
- * Leave it this way on build
63
+ * Parses one of the JSON files the command line points at. The type parameter
64
+ * is a *claim about the file*, not a check: `JSON.parse` answers `any` and this
65
+ * is the boundary where that stops. What each file must actually contain is
66
+ * validated by the `import` method it is handed to, which throws a named
67
+ * assertion error rather than failing later and elsewhere.
35
68
  */
36
- const { Backend } = require("../index");
37
-
69
+ /**
70
+ * Resolves a plugin fixture relative to *this file*, which is what the bare
71
+ * `require("./plugins/available/…")` this replaces did. `createRequire` rather
72
+ * than `require`: the entrypoint is TypeScript now, and a bare `require` call
73
+ * is an error under the repo's ESLint configuration.
74
+ *
75
+ * ⚠️ `--enable-plugins` only has something to load when the entrypoint runs
76
+ * from the source tree: `bin/plugins/` is not part of the published build, so
77
+ * in the container there is nothing under `pluginsDir`. `startKuzzle` checks
78
+ * each plugin's directory first and skips a missing one with a warning:
79
+ * v2.56.0 ignored the option altogether, and fixing its parsing (TD-84) was not
80
+ * meant to turn it into a `MODULE_NOT_FOUND` at boot. See
81
+ * docs/adr-001/type-debt-register.md, TD-84.
82
+ */
83
+ const loadPlugin = (0, module_1.createRequire)(__filename);
84
+ const pluginsDir = (0, path_1.join)(__dirname, "plugins", "available");
38
85
  function loadJson(path) {
39
- if (!path) {
40
- return {};
41
- }
42
-
43
- return JSON.parse(fs.readFileSync(path, "utf8"));
86
+ return JSON.parse(fs.readFileSync(path, "utf8"));
87
+ }
88
+ /**
89
+ * Reads one string option off yargs' answer. Every option this script declares
90
+ * takes a value, so anything else on the command line is a user error rather
91
+ * than a shape to accommodate.
92
+ */
93
+ function stringOption(argv, name) {
94
+ const value = argv[name];
95
+ if (value === undefined) {
96
+ return undefined;
97
+ }
98
+ // yargs reads `--vault-key 12345` as a number and a repeated option as an
99
+ // array: "expects a value" would send the user looking for an argument that
100
+ // is not missing. Named the way it is typed, not yargs' camelCase key.
101
+ const flag = `--${name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)}`;
102
+ if (value === true) {
103
+ throw new Error(`${flag} expects a value`);
104
+ }
105
+ if (typeof value !== "string") {
106
+ throw new Error(`${flag} expects a single string value, got ${JSON.stringify(value)}`);
107
+ }
108
+ return value;
44
109
  }
45
-
46
110
  async function startKuzzle(options = {}) {
47
- const app = new Backend("kuzzle");
48
-
49
- if (options.enablePlugins) {
50
- const additionalPlugins = options.enablePlugins
51
- .trim()
52
- .split(",")
53
- .map((x) => x.trim().replace(/(^")|("$)/g, ""));
54
-
55
- for (const additionalPlugin of additionalPlugins) {
56
- const PluginClass = require(`./plugins/available/${additionalPlugin}`);
57
- const manifest = require(
58
- `./plugins/available/${additionalPlugin}/manifest.json`,
59
- );
60
- const plugin = new PluginClass();
61
-
62
- try {
63
- plugin.version = require(
64
- `./plugins/available/${additionalPlugin}/package.json`,
65
- ).version;
66
- } catch (e) {
67
- // ignore
68
- }
69
-
70
- app.plugin.use(plugin, { manifest, name: manifest.name });
111
+ const app = new index_1.Backend("kuzzle");
112
+ if (options.enablePlugins) {
113
+ const additionalPlugins = options.enablePlugins
114
+ .trim()
115
+ .split(",")
116
+ .map((x) => x.trim().replace(/(^")|("$)/g, ""));
117
+ for (const additionalPlugin of additionalPlugins) {
118
+ if (!fs.existsSync((0, path_1.join)(pluginsDir, additionalPlugin))) {
119
+ app.log.warn(`[!] --enable-plugins: plugin "${additionalPlugin}" not found in ${pluginsDir}, ignored (the option only works from a source checkout)`);
120
+ continue;
121
+ }
122
+ const pluginPath = `./plugins/available/${additionalPlugin}`;
123
+ const PluginClass = loadPlugin(pluginPath);
124
+ const manifest = loadPlugin(`${pluginPath}/manifest.json`);
125
+ const plugin = new PluginClass();
126
+ try {
127
+ plugin.version = loadPlugin(`${pluginPath}/package.json`).version;
128
+ }
129
+ catch {
130
+ // ignore
131
+ }
132
+ app.plugin.use(plugin, { manifest, name: manifest.name });
133
+ }
134
+ }
135
+ // ⚠️ These three used to be *assignments* — `app.import.mappings = json`,
136
+ // `app.import.fixtures = json`, `app.import.securities = json`. `import`
137
+ // exposes methods, and only `mappings` among those names: the first
138
+ // assignment replaced the method, and the other two invented properties
139
+ // nothing reads. So `--mappings`, `--fixtures` and `--securities` had been
140
+ // accepted and ignored. Typing the entrypoint is what said so; see
141
+ // docs/adr-001/type-debt-register.md, TD-84.
142
+ if (options.mappings) {
143
+ app.import.mappings(loadJson(options.mappings));
144
+ }
145
+ if (options.securities) {
146
+ const securities = loadJson(options.securities);
147
+ // The shape `admin:loadSecurities` takes, which is what an admin-console
148
+ // export writes: roles, then profiles, then users.
149
+ if (securities.roles) {
150
+ app.import.roles(securities.roles);
151
+ }
152
+ if (securities.profiles) {
153
+ app.import.profiles(securities.profiles);
154
+ }
155
+ if (securities.users) {
156
+ app.import.users(securities.users);
157
+ }
158
+ }
159
+ // Assigned only when given: the setters take a `string`, and writing `""`
160
+ // for an absent key is a different claim from not setting one at all.
161
+ if (options.vaultKey) {
162
+ app.vault.key = options.vaultKey;
163
+ }
164
+ if (options.secretsFile) {
165
+ app.vault.file = options.secretsFile;
166
+ }
167
+ app.version = "1.0.0";
168
+ await app.start();
169
+ // Data fixtures have no `import` counterpart — they are documents, loaded
170
+ // through the API once the storage layer is up, the way `admin:loadFixtures`
171
+ // does it.
172
+ if (options.fixtures) {
173
+ await app.sdk.query({
174
+ action: "loadFixtures",
175
+ body: loadJson(options.fixtures),
176
+ controller: "admin",
177
+ });
178
+ }
179
+ // `searchUsers` answers a *count* in `total`, not a list: the previous
180
+ // `admins.length === 0` read `.length` off a number, which is `undefined`,
181
+ // so this warning never printed either.
182
+ const { total: admins } = await app.sdk.security.searchUsers({
183
+ query: { term: { profileIds: "admin" } },
184
+ });
185
+ if (admins === 0) {
186
+ app.log.warn("[!] [WARNING] There is no administrator user yet: everyone has administrator rights.");
187
+ app.log.warn("[ℹ] You can use the CLI or the admin console to create the first administrator user.");
188
+ app.log.warn(" For more information: https://docs.kuzzle.io/core/2/guides/essentials/security/");
71
189
  }
72
- }
73
-
74
- app.import.mappings = loadJson(options.mappings);
75
-
76
- app.import.fixtures = loadJson(options.fixtures);
77
-
78
- app.import.securities = loadJson(options.securities);
79
-
80
- app.vault.key = options.vaultKey;
81
-
82
- app.vault.file = options.secretsFile;
83
-
84
- app.version = "1.0.0";
85
-
86
- await app.start();
87
-
88
- const { total: admins } = await app.sdk.security.searchUsers({
89
- query: { term: { profileIds: "admin" } },
90
- });
91
-
92
- if (admins.length === 0) {
93
- app.log(
94
- "[!] [WARNING] There is no administrator user yet: everyone has administrator rights.",
95
- );
96
- app.log(
97
- "[ℹ] You can use the CLI or the admin console to create the first administrator user.",
98
- );
99
- app.log(
100
- " For more information: https://docs.kuzzle.io/core/2/guides/essentials/security/",
101
- );
102
- }
103
190
  }
104
-
105
- const options = yargs()
106
- .scriptName("kuzzle")
107
- .usage("start-kuzzle-server [options]")
108
- .describe("fixtures", "Import data from file")
109
- .describe("mappings", "Apply mappings from file")
110
- .describe("securities", "Import roles, profiles and users from file")
111
- .describe("vault-key", "Vault key used to decrypt secrets")
112
- .describe("secrets-file", "Output file to write decrypted secrets")
113
- .describe(
114
- "enable-plugins",
115
- 'Enable plugins from "plugins/available" directory',
116
- ).argv;
117
-
191
+ // ⚠️ `hideBin(process.argv)`, not `yargs()`. A bare `yargs()` parses an *empty*
192
+ // argument list — it is the ESM factory, and the process arguments have to be
193
+ // handed to it — so every option below was declared, documented in `--help`,
194
+ // and then read off an object that never had them. See
195
+ // docs/adr-001/type-debt-register.md, TD-84.
196
+ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
197
+ .scriptName("kuzzle")
198
+ .usage("start-kuzzle-server [options]")
199
+ .describe("fixtures", "Import data from file")
200
+ .describe("mappings", "Apply mappings from file")
201
+ .describe("securities", "Import roles, profiles and users from file")
202
+ .describe("vault-key", "Vault key used to decrypt secrets")
203
+ .describe("secrets-file", "Encrypted secrets file to decrypt at startup")
204
+ .describe("enable-plugins", 'Enable plugins from "plugins/available" directory').argv;
205
+ const options = {
206
+ enablePlugins: stringOption(argv, "enablePlugins"),
207
+ fixtures: stringOption(argv, "fixtures"),
208
+ mappings: stringOption(argv, "mappings"),
209
+ secretsFile: stringOption(argv, "secretsFile"),
210
+ securities: stringOption(argv, "securities"),
211
+ vaultKey: stringOption(argv, "vaultKey"),
212
+ };
118
213
  const run = async () => {
119
- try {
120
- await startKuzzle(options);
121
- } catch (error) {
122
- console.error(`[x] [ERROR] ${error.stack}`);
123
- process.exit(1);
124
- }
214
+ try {
215
+ await startKuzzle(options);
216
+ }
217
+ catch (error) {
218
+ console.error(`[x] [ERROR] ${error instanceof Error ? error.stack : String(error)}`);
219
+ process.exit(1);
220
+ }
125
221
  };
126
-
127
222
  run();
128
-
129
- // Used for tests only
130
223
  module.exports = startKuzzle;
224
+ //# sourceMappingURL=start-kuzzle-server.js.map
package/dist/index.d.ts CHANGED
@@ -5,9 +5,39 @@ export * from "./lib/core/shared/sdk/embeddedSdk";
5
5
  export * from "./lib/api/request";
6
6
  export * from "./lib/kerror/errors";
7
7
  export * from "./lib/util/mutex";
8
+ export * from "./lib/util/distributedLock";
8
9
  export * from "./lib/util/Inflector";
9
10
  export { NameGenerator } from "./lib/util/name-generator";
10
- export * from "kuzzle-sdk";
11
+ export type {
12
+ /**
13
+ * The server-side user model: the type of `request.context.user` and of
14
+ * `request.getUser()`. Not the SDK's client-side `User`, which is what
15
+ * `app.sdk.security.*` returns.
16
+ */
17
+ User as KuzzleUser, } from "./lib/model/security/user";
18
+ export type {
19
+ /**
20
+ * The server-side authentication token model: the type of
21
+ * `request.context.token`. Its connections are tracked by the token manager,
22
+ * not on the token, so unlike the `Token` interface it has no `connectionId`.
23
+ */
24
+ Token as KuzzleToken, } from "./lib/model/security/token";
25
+ export { AuthController, BaseController, BatchController, CollectionController, Document, DocumentController, DocumentSearchResult,
26
+ /** @deprecated A client transport: import it from "kuzzle-sdk". */
27
+ Http, IndexController,
28
+ /** @deprecated The SDK's client. On the server, `app.sdk` is already one (an `EmbeddedSDK`); to open a client connection, import it from "kuzzle-sdk". */
29
+ Kuzzle,
30
+ /** @deprecated A client transport base class: import it from "kuzzle-sdk". */
31
+ KuzzleAbstractProtocol, KuzzleEventEmitter, Observer,
32
+ /** The SDK's client-side profile, as `app.sdk.security.*` returns it. */
33
+ Profile, ProfileSearchResult, RealtimeController, RealtimeDocument,
34
+ /** The SDK's client-side role, as `app.sdk.security.*` returns it. */
35
+ Role, RoleSearchResult, ScopeOption, SearchResultBase, ServerController, SpecificationsSearchResult,
36
+ /** The SDK's client-side user, as `app.sdk.security.*` returns it — not the type of `request.context.user`, which is `KuzzleUser`. */
37
+ User, UserOption, UserSearchResult,
38
+ /** @deprecated A client transport: import it from "kuzzle-sdk". */
39
+ WebSocket, } from "kuzzle-sdk";
40
+ export type { ApiKey, ArgsAuthControllerCheckRights, ArgsAuthControllerCheckToken, ArgsAuthControllerCreateApiKey, ArgsAuthControllerCreateMyCredentials, ArgsAuthControllerCredentialsExist, ArgsAuthControllerDeleteApiKey, ArgsAuthControllerDeleteMyCredentials, ArgsAuthControllerGetCurrentUser, ArgsAuthControllerGetMyCredentials, ArgsAuthControllerGetMyRights, ArgsAuthControllerGetStrategies, ArgsAuthControllerLogin, ArgsAuthControllerLogout, ArgsAuthControllerRefreshToken, ArgsAuthControllerSearchApiKeys, ArgsAuthControllerUpdateMyCredentials, ArgsAuthControllerUpdateSelf, ArgsAuthControllerValidateMyCredentials, ArgsCollectionControllerCreate, ArgsCollectionControllerDelete, ArgsCollectionControllerDeleteSpecifications, ArgsCollectionControllerExists, ArgsCollectionControllerGetMapping, ArgsCollectionControllerGetSpecifications, ArgsCollectionControllerList, ArgsCollectionControllerRefresh, ArgsCollectionControllerSearchSpecifications, ArgsCollectionControllerTruncate, ArgsCollectionControllerUpdate, ArgsCollectionControllerUpdateMapping, ArgsCollectionControllerUpdateSpecifications, ArgsCollectionControllerValidateSpecifications, ArgsDefault, ArgsDocumentControllerCount, ArgsDocumentControllerCreate, ArgsDocumentControllerCreateOrReplace, ArgsDocumentControllerDelete, ArgsDocumentControllerDeleteByQuery, ArgsDocumentControllerDeleteFields, ArgsDocumentControllerExists, ArgsDocumentControllerGet, ArgsDocumentControllerMCreate, ArgsDocumentControllerMCreateOrReplace, ArgsDocumentControllerMDelete, ArgsDocumentControllerMGet, ArgsDocumentControllerMReplace, ArgsDocumentControllerMUpdate, ArgsDocumentControllerMUpsert, ArgsDocumentControllerReplace, ArgsDocumentControllerSearch, ArgsDocumentControllerUpdate, ArgsDocumentControllerUpdateByQuery, ArgsDocumentControllerUpsert, ArgsDocumentControllerValidate, ArgsIndexControllerCreate, ArgsIndexControllerDelete, ArgsIndexControllerExists, ArgsIndexControllerList, ArgsIndexControllerMDelete, ArgsIndexControllerStats, ArgsRealtimeControllerCount, ArgsRealtimeControllerPublish, ArgsRealtimeControllerSubscribe, ArgsRealtimeControllerUnsubscribe, ArgsServerControllerAdminExists, ArgsServerControllerGetAllStats, ArgsServerControllerGetConfig, ArgsServerControllerGetLastStats, ArgsServerControllerGetStats, ArgsServerControllerInfo, ArgsServerControllerNow, BaseNotification, BaseRequest, CollectionMappings, DocumentContent, DocumentHit, DocumentMetadata, DocumentNotification, HttpRoutes, KDocument, KDocumentContent, KDocumentContentGeneric, KDocumentKuzzleInfo, KHit, MappingsProperties, Notification, NotificationType, ObserverOptions, PrivateAndPublicSDKEvents, ProfilePolicy, PublicKuzzleEvents, RequestPayload, ResponsePayload, RoleRightsDefinition, SearchResult, ServerNotification, UpdateByQueryResponse, UserNotification, mCreateOrReplaceRequest, mCreateOrReplaceResponse, mCreateRequest, mCreateResponse, mDeleteRequest, mDeleteResponse, mReplaceRequest, mReplaceResponse, mUpdateRequest, mUpdateResponse, mUpsertRequest, mUpsertResponse, } from "kuzzle-sdk";
11
41
  export * from "./lib/core/shared/KoncordeWrapper";
12
42
  export * from "./lib/core/shared/ObjectRepository";
13
43
  export * from "./lib/core/shared/store";
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.NameGenerator = void 0;
17
+ exports.WebSocket = exports.UserSearchResult = exports.UserOption = exports.User = exports.SpecificationsSearchResult = exports.ServerController = exports.SearchResultBase = exports.ScopeOption = exports.RoleSearchResult = exports.Role = exports.RealtimeDocument = exports.RealtimeController = exports.ProfileSearchResult = exports.Profile = exports.Observer = exports.KuzzleEventEmitter = exports.KuzzleAbstractProtocol = exports.Kuzzle = exports.IndexController = exports.Http = exports.DocumentSearchResult = exports.DocumentController = exports.Document = exports.CollectionController = exports.BatchController = exports.BaseController = exports.AuthController = exports.NameGenerator = void 0;
18
18
  __exportStar(require("./lib/core/backend"), exports);
19
19
  __exportStar(require("./lib/types"), exports);
20
20
  __exportStar(require("./lib/core/plugin/pluginContext"), exports);
@@ -22,10 +22,53 @@ __exportStar(require("./lib/core/shared/sdk/embeddedSdk"), exports);
22
22
  __exportStar(require("./lib/api/request"), exports);
23
23
  __exportStar(require("./lib/kerror/errors"), exports);
24
24
  __exportStar(require("./lib/util/mutex"), exports);
25
+ __exportStar(require("./lib/util/distributedLock"), exports);
25
26
  __exportStar(require("./lib/util/Inflector"), exports);
26
27
  var name_generator_1 = require("./lib/util/name-generator");
27
28
  Object.defineProperty(exports, "NameGenerator", { enumerable: true, get: function () { return name_generator_1.NameGenerator; } });
28
- __exportStar(require("kuzzle-sdk"), exports);
29
+ // The SDK names this package has always re-exported (it was `export * from
30
+ // "kuzzle-sdk"`), listed so that the SDK's next additions no longer become part
31
+ // of Kuzzle's API unannounced — ADR-0002 step 01
32
+ // (docs/adr-002/ADR-0002-own-api-contract-types.md). The typings gate asserts
33
+ // every one of them is still here (tests/typings/consumer/sdkReexports.ts).
34
+ //
35
+ // Values (classes and enums) — the SDK's client runtime, and the result classes
36
+ // `app.sdk.*` answers with:
37
+ var kuzzle_sdk_1 = require("kuzzle-sdk");
38
+ Object.defineProperty(exports, "AuthController", { enumerable: true, get: function () { return kuzzle_sdk_1.AuthController; } });
39
+ Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return kuzzle_sdk_1.BaseController; } });
40
+ Object.defineProperty(exports, "BatchController", { enumerable: true, get: function () { return kuzzle_sdk_1.BatchController; } });
41
+ Object.defineProperty(exports, "CollectionController", { enumerable: true, get: function () { return kuzzle_sdk_1.CollectionController; } });
42
+ Object.defineProperty(exports, "Document", { enumerable: true, get: function () { return kuzzle_sdk_1.Document; } });
43
+ Object.defineProperty(exports, "DocumentController", { enumerable: true, get: function () { return kuzzle_sdk_1.DocumentController; } });
44
+ Object.defineProperty(exports, "DocumentSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.DocumentSearchResult; } });
45
+ /** @deprecated A client transport: import it from "kuzzle-sdk". */
46
+ Object.defineProperty(exports, "Http", { enumerable: true, get: function () { return kuzzle_sdk_1.Http; } });
47
+ Object.defineProperty(exports, "IndexController", { enumerable: true, get: function () { return kuzzle_sdk_1.IndexController; } });
48
+ /** @deprecated The SDK's client. On the server, `app.sdk` is already one (an `EmbeddedSDK`); to open a client connection, import it from "kuzzle-sdk". */
49
+ Object.defineProperty(exports, "Kuzzle", { enumerable: true, get: function () { return kuzzle_sdk_1.Kuzzle; } });
50
+ /** @deprecated A client transport base class: import it from "kuzzle-sdk". */
51
+ Object.defineProperty(exports, "KuzzleAbstractProtocol", { enumerable: true, get: function () { return kuzzle_sdk_1.KuzzleAbstractProtocol; } });
52
+ Object.defineProperty(exports, "KuzzleEventEmitter", { enumerable: true, get: function () { return kuzzle_sdk_1.KuzzleEventEmitter; } });
53
+ Object.defineProperty(exports, "Observer", { enumerable: true, get: function () { return kuzzle_sdk_1.Observer; } });
54
+ /** The SDK's client-side profile, as `app.sdk.security.*` returns it. */
55
+ Object.defineProperty(exports, "Profile", { enumerable: true, get: function () { return kuzzle_sdk_1.Profile; } });
56
+ Object.defineProperty(exports, "ProfileSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.ProfileSearchResult; } });
57
+ Object.defineProperty(exports, "RealtimeController", { enumerable: true, get: function () { return kuzzle_sdk_1.RealtimeController; } });
58
+ Object.defineProperty(exports, "RealtimeDocument", { enumerable: true, get: function () { return kuzzle_sdk_1.RealtimeDocument; } });
59
+ /** The SDK's client-side role, as `app.sdk.security.*` returns it. */
60
+ Object.defineProperty(exports, "Role", { enumerable: true, get: function () { return kuzzle_sdk_1.Role; } });
61
+ Object.defineProperty(exports, "RoleSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.RoleSearchResult; } });
62
+ Object.defineProperty(exports, "ScopeOption", { enumerable: true, get: function () { return kuzzle_sdk_1.ScopeOption; } });
63
+ Object.defineProperty(exports, "SearchResultBase", { enumerable: true, get: function () { return kuzzle_sdk_1.SearchResultBase; } });
64
+ Object.defineProperty(exports, "ServerController", { enumerable: true, get: function () { return kuzzle_sdk_1.ServerController; } });
65
+ Object.defineProperty(exports, "SpecificationsSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.SpecificationsSearchResult; } });
66
+ /** The SDK's client-side user, as `app.sdk.security.*` returns it — not the type of `request.context.user`, which is `KuzzleUser`. */
67
+ Object.defineProperty(exports, "User", { enumerable: true, get: function () { return kuzzle_sdk_1.User; } });
68
+ Object.defineProperty(exports, "UserOption", { enumerable: true, get: function () { return kuzzle_sdk_1.UserOption; } });
69
+ Object.defineProperty(exports, "UserSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.UserSearchResult; } });
70
+ /** @deprecated A client transport: import it from "kuzzle-sdk". */
71
+ Object.defineProperty(exports, "WebSocket", { enumerable: true, get: function () { return kuzzle_sdk_1.WebSocket; } });
29
72
  __exportStar(require("./lib/core/shared/KoncordeWrapper"), exports);
30
73
  __exportStar(require("./lib/core/shared/ObjectRepository"), exports);
31
74
  __exportStar(require("./lib/core/shared/store"), exports);
@@ -1,10 +1,10 @@
1
1
  import { NativeController } from "./baseController";
2
- import { KuzzleRequest } from "../request";
3
- import { ResetSecurityResult } from "../../types/controllers/adminControlller.type";
2
+ import type { KuzzleRequest } from "../request";
3
+ import type { ResetSecurityResult } from "../../types/controllers/adminController.type";
4
4
  /**
5
5
  * @class AdminController
6
6
  */
7
- export default class AdminController extends NativeController {
7
+ declare class AdminController extends NativeController {
8
8
  protected shuttingDown: boolean;
9
9
  protected logger: any;
10
10
  constructor();
@@ -49,3 +49,4 @@ export default class AdminController extends NativeController {
49
49
  acknowledge: boolean;
50
50
  }>;
51
51
  }
52
+ export = AdminController;
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
28
  /*
30
29
  * Kuzzle, a backend software, self-hostable and ready to use
31
30
  * to power modern apps
@@ -187,5 +186,5 @@ class AdminController extends baseController_1.NativeController {
187
186
  return promise.then(() => result);
188
187
  }
189
188
  }
190
- exports.default = AdminController;
189
+ module.exports = AdminController;
191
190
  //# sourceMappingURL=adminController.js.map