js-redis-server 0.0.1 → 0.0.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 (470) hide show
  1. package/README.md +235 -30
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +191 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cluster.d.ts +30 -0
  7. package/dist/cluster.d.ts.map +1 -0
  8. package/dist/cluster.js +131 -0
  9. package/dist/cluster.js.map +1 -0
  10. package/dist/commands/cluster.d.ts +8 -0
  11. package/dist/commands/cluster.d.ts.map +1 -0
  12. package/dist/commands/cluster.js +190 -0
  13. package/dist/commands/cluster.js.map +1 -0
  14. package/dist/commands/command.d.ts +6 -0
  15. package/dist/commands/command.d.ts.map +1 -0
  16. package/dist/commands/command.js +381 -0
  17. package/dist/commands/command.js.map +1 -0
  18. package/dist/commands/connection.d.ts +24 -0
  19. package/dist/commands/connection.d.ts.map +1 -0
  20. package/dist/commands/connection.js +406 -0
  21. package/dist/commands/connection.js.map +1 -0
  22. package/dist/commands/hashes.d.ts +64 -0
  23. package/dist/commands/hashes.d.ts.map +1 -0
  24. package/dist/commands/hashes.js +276 -0
  25. package/dist/commands/hashes.js.map +1 -0
  26. package/dist/commands/helpers.d.ts +16 -0
  27. package/dist/commands/helpers.d.ts.map +1 -0
  28. package/dist/commands/helpers.js +77 -0
  29. package/dist/commands/helpers.js.map +1 -0
  30. package/dist/commands/index.d.ts +23 -0
  31. package/dist/commands/index.d.ts.map +1 -0
  32. package/dist/commands/index.js +177 -0
  33. package/dist/commands/index.js.map +1 -0
  34. package/dist/commands/introspection.d.ts +17 -0
  35. package/dist/commands/introspection.d.ts.map +1 -0
  36. package/dist/commands/introspection.js +54 -0
  37. package/dist/commands/introspection.js.map +1 -0
  38. package/dist/commands/keys.d.ts +47 -0
  39. package/dist/commands/keys.d.ts.map +1 -0
  40. package/dist/commands/keys.js +238 -0
  41. package/dist/commands/keys.js.map +1 -0
  42. package/dist/commands/lists.d.ts +60 -0
  43. package/dist/commands/lists.d.ts.map +1 -0
  44. package/dist/commands/lists.js +333 -0
  45. package/dist/commands/lists.js.map +1 -0
  46. package/dist/commands/scan.d.ts +24 -0
  47. package/dist/commands/scan.d.ts.map +1 -0
  48. package/dist/commands/scan.js +316 -0
  49. package/dist/commands/scan.js.map +1 -0
  50. package/dist/commands/scripts.d.ts +22 -0
  51. package/dist/commands/scripts.d.ts.map +1 -0
  52. package/dist/commands/scripts.js +195 -0
  53. package/dist/commands/scripts.js.map +1 -0
  54. package/dist/commands/sets.d.ts +61 -0
  55. package/dist/commands/sets.d.ts.map +1 -0
  56. package/dist/commands/sets.js +411 -0
  57. package/dist/commands/sets.js.map +1 -0
  58. package/dist/commands/strings.d.ts +91 -0
  59. package/dist/commands/strings.d.ts.map +1 -0
  60. package/dist/commands/strings.js +537 -0
  61. package/dist/commands/strings.js.map +1 -0
  62. package/dist/commands/transactions.d.ts +9 -0
  63. package/dist/commands/transactions.d.ts.map +1 -0
  64. package/dist/commands/transactions.js +89 -0
  65. package/dist/commands/transactions.js.map +1 -0
  66. package/dist/commands/zsets.d.ts +72 -0
  67. package/dist/commands/zsets.d.ts.map +1 -0
  68. package/dist/commands/zsets.js +360 -0
  69. package/dist/commands/zsets.js.map +1 -0
  70. package/dist/core/client-session.d.ts +60 -0
  71. package/dist/core/client-session.d.ts.map +1 -0
  72. package/dist/core/client-session.js +210 -0
  73. package/dist/core/client-session.js.map +1 -0
  74. package/dist/core/command-definition.d.ts +64 -0
  75. package/dist/core/command-definition.d.ts.map +1 -0
  76. package/dist/core/command-definition.js +10 -0
  77. package/dist/core/command-definition.js.map +1 -0
  78. package/dist/core/command-executor.d.ts +24 -0
  79. package/dist/core/command-executor.d.ts.map +1 -0
  80. package/dist/core/command-executor.js +168 -0
  81. package/dist/core/command-executor.js.map +1 -0
  82. package/dist/core/command-registry.d.ts +16 -0
  83. package/dist/core/command-registry.d.ts.map +1 -0
  84. package/dist/core/command-registry.js +35 -0
  85. package/dist/core/command-registry.js.map +1 -0
  86. package/dist/core/command-schema.d.ts +40 -0
  87. package/dist/core/command-schema.d.ts.map +1 -0
  88. package/dist/core/command-schema.js +188 -0
  89. package/dist/core/command-schema.js.map +1 -0
  90. package/dist/core/execution-policies/cluster-policy.d.ts +8 -0
  91. package/dist/core/execution-policies/cluster-policy.d.ts.map +1 -0
  92. package/dist/core/execution-policies/cluster-policy.js +61 -0
  93. package/dist/core/execution-policies/cluster-policy.js.map +1 -0
  94. package/dist/core/execution-policies/index.d.ts +16 -0
  95. package/dist/core/execution-policies/index.d.ts.map +1 -0
  96. package/dist/core/execution-policies/index.js +8 -0
  97. package/dist/core/execution-policies/index.js.map +1 -0
  98. package/dist/core/execution-policies/transaction-policy.d.ts +3 -0
  99. package/dist/core/execution-policies/transaction-policy.d.ts.map +1 -0
  100. package/dist/core/execution-policies/transaction-policy.js +25 -0
  101. package/dist/core/execution-policies/transaction-policy.js.map +1 -0
  102. package/dist/core/lua-runtime.d.ts +15 -0
  103. package/dist/core/lua-runtime.d.ts.map +1 -0
  104. package/dist/core/lua-runtime.js +173 -0
  105. package/dist/core/lua-runtime.js.map +1 -0
  106. package/dist/core/redis-context.d.ts +41 -0
  107. package/dist/core/redis-context.d.ts.map +1 -0
  108. package/dist/core/redis-context.js +46 -0
  109. package/dist/core/redis-context.js.map +1 -0
  110. package/dist/core/redis-error.d.ts +83 -0
  111. package/dist/core/redis-error.d.ts.map +1 -0
  112. package/dist/core/redis-error.js +186 -0
  113. package/dist/core/redis-error.js.map +1 -0
  114. package/dist/core/redis-result.d.ts +15 -0
  115. package/dist/core/redis-result.d.ts.map +1 -0
  116. package/dist/core/redis-result.js +26 -0
  117. package/dist/core/redis-result.js.map +1 -0
  118. package/dist/core/redis-value.d.ts +61 -0
  119. package/dist/core/redis-value.d.ts.map +1 -0
  120. package/dist/core/redis-value.js +41 -0
  121. package/dist/core/redis-value.js.map +1 -0
  122. package/dist/core/resp-encoder.d.ts +9 -0
  123. package/dist/core/resp-encoder.d.ts.map +1 -0
  124. package/dist/core/resp-encoder.js +159 -0
  125. package/dist/core/resp-encoder.js.map +1 -0
  126. package/dist/core/response-stream.d.ts +17 -0
  127. package/dist/core/response-stream.d.ts.map +1 -0
  128. package/dist/core/response-stream.js +10 -0
  129. package/dist/core/response-stream.js.map +1 -0
  130. package/dist/core/transports/connection-transport.d.ts +12 -0
  131. package/dist/core/transports/connection-transport.d.ts.map +1 -0
  132. package/dist/core/transports/connection-transport.js +3 -0
  133. package/dist/core/transports/connection-transport.js.map +1 -0
  134. package/dist/core/transports/in-memory-connection-transport.d.ts +28 -0
  135. package/dist/core/transports/in-memory-connection-transport.d.ts.map +1 -0
  136. package/dist/core/transports/in-memory-connection-transport.js +111 -0
  137. package/dist/core/transports/in-memory-connection-transport.js.map +1 -0
  138. package/dist/core/transports/resp2/decoder.d.ts +15 -0
  139. package/dist/core/transports/resp2/decoder.d.ts.map +1 -0
  140. package/dist/core/transports/resp2/decoder.js +209 -0
  141. package/dist/core/transports/resp2/decoder.js.map +1 -0
  142. package/dist/core/transports/resp2/index.d.ts +2 -12
  143. package/dist/core/transports/resp2/index.d.ts.map +1 -1
  144. package/dist/core/transports/resp2/index.js +9 -0
  145. package/dist/core/transports/resp2/index.js.map +1 -0
  146. package/dist/core/transports/resp2/server.d.ts +26 -0
  147. package/dist/core/transports/resp2/server.d.ts.map +1 -0
  148. package/dist/core/transports/resp2/server.js +83 -0
  149. package/dist/core/transports/resp2/server.js.map +1 -0
  150. package/dist/core/transports/resp2/session-adapter.d.ts +24 -0
  151. package/dist/core/transports/resp2/session-adapter.d.ts.map +1 -0
  152. package/dist/core/transports/resp2/session-adapter.js +86 -0
  153. package/dist/core/transports/resp2/session-adapter.js.map +1 -0
  154. package/dist/core/transports/socket-connection-transport.d.ts +20 -0
  155. package/dist/core/transports/socket-connection-transport.d.ts.map +1 -0
  156. package/dist/core/transports/socket-connection-transport.js +64 -0
  157. package/dist/core/transports/socket-connection-transport.js.map +1 -0
  158. package/dist/core/turn-queue.d.ts +15 -0
  159. package/dist/core/turn-queue.d.ts.map +1 -0
  160. package/dist/core/turn-queue.js +51 -0
  161. package/dist/core/turn-queue.js.map +1 -0
  162. package/dist/index.d.ts +35 -347
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +141 -0
  165. package/dist/index.js.map +1 -0
  166. package/dist/logger.d.ts +6 -0
  167. package/dist/logger.d.ts.map +1 -0
  168. package/dist/logger.js +3 -0
  169. package/dist/logger.js.map +1 -0
  170. package/dist/state/cluster-topology.d.ts +30 -0
  171. package/dist/state/cluster-topology.d.ts.map +1 -0
  172. package/dist/state/cluster-topology.js +88 -0
  173. package/dist/state/cluster-topology.js.map +1 -0
  174. package/dist/state/data-types.d.ts +40 -0
  175. package/dist/state/data-types.d.ts.map +1 -0
  176. package/dist/state/data-types.js +67 -0
  177. package/dist/state/data-types.js.map +1 -0
  178. package/dist/state/database.d.ts +44 -0
  179. package/dist/state/database.d.ts.map +1 -0
  180. package/dist/state/database.js +116 -0
  181. package/dist/state/database.js.map +1 -0
  182. package/dist/state/index.d.ts +14 -0
  183. package/dist/state/index.d.ts.map +1 -0
  184. package/dist/state/index.js +27 -0
  185. package/dist/state/index.js.map +1 -0
  186. package/dist/state/keyspace.d.ts +45 -0
  187. package/dist/state/keyspace.d.ts.map +1 -0
  188. package/dist/state/keyspace.js +180 -0
  189. package/dist/state/keyspace.js.map +1 -0
  190. package/dist/state/mutation-events.d.ts +37 -0
  191. package/dist/state/mutation-events.d.ts.map +1 -0
  192. package/dist/state/mutation-events.js +74 -0
  193. package/dist/state/mutation-events.js.map +1 -0
  194. package/dist/state/pubsub-broker.d.ts +4 -0
  195. package/dist/state/pubsub-broker.d.ts.map +1 -0
  196. package/dist/state/pubsub-broker.js +10 -0
  197. package/dist/state/pubsub-broker.js.map +1 -0
  198. package/dist/state/script-cache.d.ts +10 -0
  199. package/dist/state/script-cache.d.ts.map +1 -0
  200. package/dist/state/script-cache.js +33 -0
  201. package/dist/state/script-cache.js.map +1 -0
  202. package/dist/state/server-state.d.ts +24 -0
  203. package/dist/state/server-state.d.ts.map +1 -0
  204. package/dist/state/server-state.js +42 -0
  205. package/dist/state/server-state.js.map +1 -0
  206. package/package.json +18 -22
  207. package/dist/cli.mjs +0 -5923
  208. package/dist/cli.mjs.map +0 -1
  209. package/dist/commanders/custom/base-commander.d.ts +0 -19
  210. package/dist/commanders/custom/base-commander.d.ts.map +0 -1
  211. package/dist/commanders/custom/cluster-router.d.ts +0 -57
  212. package/dist/commanders/custom/cluster-router.d.ts.map +0 -1
  213. package/dist/commanders/custom/clusterCommander.d.ts +0 -39
  214. package/dist/commanders/custom/clusterCommander.d.ts.map +0 -1
  215. package/dist/commanders/custom/commander.d.ts +0 -12
  216. package/dist/commanders/custom/commander.d.ts.map +0 -1
  217. package/dist/commanders/custom/commands/metadata.d.ts +0 -101
  218. package/dist/commanders/custom/commands/metadata.d.ts.map +0 -1
  219. package/dist/commanders/custom/commands/redis/client/clientSetName.d.ts +0 -8
  220. package/dist/commanders/custom/commands/redis/client/clientSetName.d.ts.map +0 -1
  221. package/dist/commanders/custom/commands/redis/client/index.d.ts +0 -9
  222. package/dist/commanders/custom/commands/redis/client/index.d.ts.map +0 -1
  223. package/dist/commanders/custom/commands/redis/cluster/clusterInfo.d.ts +0 -7
  224. package/dist/commanders/custom/commands/redis/cluster/clusterInfo.d.ts.map +0 -1
  225. package/dist/commanders/custom/commands/redis/cluster/clusterNodes.d.ts +0 -7
  226. package/dist/commanders/custom/commands/redis/cluster/clusterNodes.d.ts.map +0 -1
  227. package/dist/commanders/custom/commands/redis/cluster/clusterShards.d.ts +0 -7
  228. package/dist/commanders/custom/commands/redis/cluster/clusterShards.d.ts.map +0 -1
  229. package/dist/commanders/custom/commands/redis/cluster/clusterSlots.d.ts +0 -7
  230. package/dist/commanders/custom/commands/redis/cluster/clusterSlots.d.ts.map +0 -1
  231. package/dist/commanders/custom/commands/redis/cluster/index.d.ts +0 -8
  232. package/dist/commanders/custom/commands/redis/cluster/index.d.ts.map +0 -1
  233. package/dist/commanders/custom/commands/redis/command/index.d.ts +0 -6
  234. package/dist/commanders/custom/commands/redis/command/index.d.ts.map +0 -1
  235. package/dist/commanders/custom/commands/redis/data/hashes/hdel.d.ts +0 -9
  236. package/dist/commanders/custom/commands/redis/data/hashes/hdel.d.ts.map +0 -1
  237. package/dist/commanders/custom/commands/redis/data/hashes/hexists.d.ts +0 -8
  238. package/dist/commanders/custom/commands/redis/data/hashes/hexists.d.ts.map +0 -1
  239. package/dist/commanders/custom/commands/redis/data/hashes/hget.d.ts +0 -8
  240. package/dist/commanders/custom/commands/redis/data/hashes/hget.d.ts.map +0 -1
  241. package/dist/commanders/custom/commands/redis/data/hashes/hgetall.d.ts +0 -5
  242. package/dist/commanders/custom/commands/redis/data/hashes/hgetall.d.ts.map +0 -1
  243. package/dist/commanders/custom/commands/redis/data/hashes/hincrby.d.ts +0 -9
  244. package/dist/commanders/custom/commands/redis/data/hashes/hincrby.d.ts.map +0 -1
  245. package/dist/commanders/custom/commands/redis/data/hashes/hincrbyfloat.d.ts +0 -9
  246. package/dist/commanders/custom/commands/redis/data/hashes/hincrbyfloat.d.ts.map +0 -1
  247. package/dist/commanders/custom/commands/redis/data/hashes/hkeys.d.ts +0 -5
  248. package/dist/commanders/custom/commands/redis/data/hashes/hkeys.d.ts.map +0 -1
  249. package/dist/commanders/custom/commands/redis/data/hashes/hlen.d.ts +0 -5
  250. package/dist/commanders/custom/commands/redis/data/hashes/hlen.d.ts.map +0 -1
  251. package/dist/commanders/custom/commands/redis/data/hashes/hmget.d.ts +0 -9
  252. package/dist/commanders/custom/commands/redis/data/hashes/hmget.d.ts.map +0 -1
  253. package/dist/commanders/custom/commands/redis/data/hashes/hmset.d.ts +0 -10
  254. package/dist/commanders/custom/commands/redis/data/hashes/hmset.d.ts.map +0 -1
  255. package/dist/commanders/custom/commands/redis/data/hashes/hset.d.ts +0 -10
  256. package/dist/commanders/custom/commands/redis/data/hashes/hset.d.ts.map +0 -1
  257. package/dist/commanders/custom/commands/redis/data/hashes/hvals.d.ts +0 -5
  258. package/dist/commanders/custom/commands/redis/data/hashes/hvals.d.ts.map +0 -1
  259. package/dist/commanders/custom/commands/redis/data/hashes/index.d.ts +0 -13
  260. package/dist/commanders/custom/commands/redis/data/hashes/index.d.ts.map +0 -1
  261. package/dist/commanders/custom/commands/redis/data/index.d.ts +0 -7
  262. package/dist/commanders/custom/commands/redis/data/index.d.ts.map +0 -1
  263. package/dist/commanders/custom/commands/redis/data/keys/dbsize.d.ts +0 -5
  264. package/dist/commanders/custom/commands/redis/data/keys/dbsize.d.ts.map +0 -1
  265. package/dist/commanders/custom/commands/redis/data/keys/del.d.ts +0 -8
  266. package/dist/commanders/custom/commands/redis/data/keys/del.d.ts.map +0 -1
  267. package/dist/commanders/custom/commands/redis/data/keys/exists.d.ts +0 -8
  268. package/dist/commanders/custom/commands/redis/data/keys/exists.d.ts.map +0 -1
  269. package/dist/commanders/custom/commands/redis/data/keys/expire.d.ts +0 -8
  270. package/dist/commanders/custom/commands/redis/data/keys/expire.d.ts.map +0 -1
  271. package/dist/commanders/custom/commands/redis/data/keys/expireat.d.ts +0 -8
  272. package/dist/commanders/custom/commands/redis/data/keys/expireat.d.ts.map +0 -1
  273. package/dist/commanders/custom/commands/redis/data/keys/flushall.d.ts +0 -5
  274. package/dist/commanders/custom/commands/redis/data/keys/flushall.d.ts.map +0 -1
  275. package/dist/commanders/custom/commands/redis/data/keys/flushdb.d.ts +0 -5
  276. package/dist/commanders/custom/commands/redis/data/keys/flushdb.d.ts.map +0 -1
  277. package/dist/commanders/custom/commands/redis/data/keys/index.d.ts +0 -11
  278. package/dist/commanders/custom/commands/redis/data/keys/index.d.ts.map +0 -1
  279. package/dist/commanders/custom/commands/redis/data/keys/pttl.d.ts +0 -5
  280. package/dist/commanders/custom/commands/redis/data/keys/pttl.d.ts.map +0 -1
  281. package/dist/commanders/custom/commands/redis/data/keys/ttl.d.ts +0 -5
  282. package/dist/commanders/custom/commands/redis/data/keys/ttl.d.ts.map +0 -1
  283. package/dist/commanders/custom/commands/redis/data/keys/type.d.ts +0 -5
  284. package/dist/commanders/custom/commands/redis/data/keys/type.d.ts.map +0 -1
  285. package/dist/commanders/custom/commands/redis/data/lists/index.d.ts +0 -11
  286. package/dist/commanders/custom/commands/redis/data/lists/index.d.ts.map +0 -1
  287. package/dist/commanders/custom/commands/redis/data/lists/lindex.d.ts +0 -8
  288. package/dist/commanders/custom/commands/redis/data/lists/lindex.d.ts.map +0 -1
  289. package/dist/commanders/custom/commands/redis/data/lists/llen.d.ts +0 -5
  290. package/dist/commanders/custom/commands/redis/data/lists/llen.d.ts.map +0 -1
  291. package/dist/commanders/custom/commands/redis/data/lists/lpop.d.ts +0 -5
  292. package/dist/commanders/custom/commands/redis/data/lists/lpop.d.ts.map +0 -1
  293. package/dist/commanders/custom/commands/redis/data/lists/lpush.d.ts +0 -9
  294. package/dist/commanders/custom/commands/redis/data/lists/lpush.d.ts.map +0 -1
  295. package/dist/commanders/custom/commands/redis/data/lists/lrange.d.ts +0 -9
  296. package/dist/commanders/custom/commands/redis/data/lists/lrange.d.ts.map +0 -1
  297. package/dist/commanders/custom/commands/redis/data/lists/lrem.d.ts +0 -9
  298. package/dist/commanders/custom/commands/redis/data/lists/lrem.d.ts.map +0 -1
  299. package/dist/commanders/custom/commands/redis/data/lists/lset.d.ts +0 -9
  300. package/dist/commanders/custom/commands/redis/data/lists/lset.d.ts.map +0 -1
  301. package/dist/commanders/custom/commands/redis/data/lists/ltrim.d.ts +0 -9
  302. package/dist/commanders/custom/commands/redis/data/lists/ltrim.d.ts.map +0 -1
  303. package/dist/commanders/custom/commands/redis/data/lists/rpop.d.ts +0 -5
  304. package/dist/commanders/custom/commands/redis/data/lists/rpop.d.ts.map +0 -1
  305. package/dist/commanders/custom/commands/redis/data/lists/rpush.d.ts +0 -9
  306. package/dist/commanders/custom/commands/redis/data/lists/rpush.d.ts.map +0 -1
  307. package/dist/commanders/custom/commands/redis/data/sets/index.d.ts +0 -12
  308. package/dist/commanders/custom/commands/redis/data/sets/index.d.ts.map +0 -1
  309. package/dist/commanders/custom/commands/redis/data/sets/sadd.d.ts +0 -9
  310. package/dist/commanders/custom/commands/redis/data/sets/sadd.d.ts.map +0 -1
  311. package/dist/commanders/custom/commands/redis/data/sets/scard.d.ts +0 -5
  312. package/dist/commanders/custom/commands/redis/data/sets/scard.d.ts.map +0 -1
  313. package/dist/commanders/custom/commands/redis/data/sets/sdiff.d.ts +0 -8
  314. package/dist/commanders/custom/commands/redis/data/sets/sdiff.d.ts.map +0 -1
  315. package/dist/commanders/custom/commands/redis/data/sets/sinter.d.ts +0 -8
  316. package/dist/commanders/custom/commands/redis/data/sets/sinter.d.ts.map +0 -1
  317. package/dist/commanders/custom/commands/redis/data/sets/sismember.d.ts +0 -8
  318. package/dist/commanders/custom/commands/redis/data/sets/sismember.d.ts.map +0 -1
  319. package/dist/commanders/custom/commands/redis/data/sets/smembers.d.ts +0 -5
  320. package/dist/commanders/custom/commands/redis/data/sets/smembers.d.ts.map +0 -1
  321. package/dist/commanders/custom/commands/redis/data/sets/smove.d.ts +0 -9
  322. package/dist/commanders/custom/commands/redis/data/sets/smove.d.ts.map +0 -1
  323. package/dist/commanders/custom/commands/redis/data/sets/spop.d.ts +0 -5
  324. package/dist/commanders/custom/commands/redis/data/sets/spop.d.ts.map +0 -1
  325. package/dist/commanders/custom/commands/redis/data/sets/srandmember.d.ts +0 -8
  326. package/dist/commanders/custom/commands/redis/data/sets/srandmember.d.ts.map +0 -1
  327. package/dist/commanders/custom/commands/redis/data/sets/srem.d.ts +0 -9
  328. package/dist/commanders/custom/commands/redis/data/sets/srem.d.ts.map +0 -1
  329. package/dist/commanders/custom/commands/redis/data/sets/sunion.d.ts +0 -8
  330. package/dist/commanders/custom/commands/redis/data/sets/sunion.d.ts.map +0 -1
  331. package/dist/commanders/custom/commands/redis/data/strings/append.d.ts +0 -8
  332. package/dist/commanders/custom/commands/redis/data/strings/append.d.ts.map +0 -1
  333. package/dist/commanders/custom/commands/redis/data/strings/decr.d.ts +0 -5
  334. package/dist/commanders/custom/commands/redis/data/strings/decr.d.ts.map +0 -1
  335. package/dist/commanders/custom/commands/redis/data/strings/decrby.d.ts +0 -8
  336. package/dist/commanders/custom/commands/redis/data/strings/decrby.d.ts.map +0 -1
  337. package/dist/commanders/custom/commands/redis/data/strings/get.d.ts +0 -5
  338. package/dist/commanders/custom/commands/redis/data/strings/get.d.ts.map +0 -1
  339. package/dist/commanders/custom/commands/redis/data/strings/getset.d.ts +0 -8
  340. package/dist/commanders/custom/commands/redis/data/strings/getset.d.ts.map +0 -1
  341. package/dist/commanders/custom/commands/redis/data/strings/incr.d.ts +0 -5
  342. package/dist/commanders/custom/commands/redis/data/strings/incr.d.ts.map +0 -1
  343. package/dist/commanders/custom/commands/redis/data/strings/incrby.d.ts +0 -8
  344. package/dist/commanders/custom/commands/redis/data/strings/incrby.d.ts.map +0 -1
  345. package/dist/commanders/custom/commands/redis/data/strings/incrbyfloat.d.ts +0 -8
  346. package/dist/commanders/custom/commands/redis/data/strings/incrbyfloat.d.ts.map +0 -1
  347. package/dist/commanders/custom/commands/redis/data/strings/index.d.ts +0 -14
  348. package/dist/commanders/custom/commands/redis/data/strings/index.d.ts.map +0 -1
  349. package/dist/commanders/custom/commands/redis/data/strings/mget.d.ts +0 -8
  350. package/dist/commanders/custom/commands/redis/data/strings/mget.d.ts.map +0 -1
  351. package/dist/commanders/custom/commands/redis/data/strings/mset.d.ts +0 -9
  352. package/dist/commanders/custom/commands/redis/data/strings/mset.d.ts.map +0 -1
  353. package/dist/commanders/custom/commands/redis/data/strings/msetnx.d.ts +0 -9
  354. package/dist/commanders/custom/commands/redis/data/strings/msetnx.d.ts.map +0 -1
  355. package/dist/commanders/custom/commands/redis/data/strings/set.d.ts +0 -29
  356. package/dist/commanders/custom/commands/redis/data/strings/set.d.ts.map +0 -1
  357. package/dist/commanders/custom/commands/redis/data/strings/strlen.d.ts +0 -5
  358. package/dist/commanders/custom/commands/redis/data/strings/strlen.d.ts.map +0 -1
  359. package/dist/commanders/custom/commands/redis/data/zsets/index.d.ts +0 -12
  360. package/dist/commanders/custom/commands/redis/data/zsets/index.d.ts.map +0 -1
  361. package/dist/commanders/custom/commands/redis/data/zsets/zadd.d.ts +0 -10
  362. package/dist/commanders/custom/commands/redis/data/zsets/zadd.d.ts.map +0 -1
  363. package/dist/commanders/custom/commands/redis/data/zsets/zcard.d.ts +0 -5
  364. package/dist/commanders/custom/commands/redis/data/zsets/zcard.d.ts.map +0 -1
  365. package/dist/commanders/custom/commands/redis/data/zsets/zincrby.d.ts +0 -9
  366. package/dist/commanders/custom/commands/redis/data/zsets/zincrby.d.ts.map +0 -1
  367. package/dist/commanders/custom/commands/redis/data/zsets/zrange.d.ts +0 -10
  368. package/dist/commanders/custom/commands/redis/data/zsets/zrange.d.ts.map +0 -1
  369. package/dist/commanders/custom/commands/redis/data/zsets/zrangebyscore.d.ts +0 -9
  370. package/dist/commanders/custom/commands/redis/data/zsets/zrangebyscore.d.ts.map +0 -1
  371. package/dist/commanders/custom/commands/redis/data/zsets/zrank.d.ts +0 -8
  372. package/dist/commanders/custom/commands/redis/data/zsets/zrank.d.ts.map +0 -1
  373. package/dist/commanders/custom/commands/redis/data/zsets/zrem.d.ts +0 -9
  374. package/dist/commanders/custom/commands/redis/data/zsets/zrem.d.ts.map +0 -1
  375. package/dist/commanders/custom/commands/redis/data/zsets/zremrangebyscore.d.ts +0 -9
  376. package/dist/commanders/custom/commands/redis/data/zsets/zremrangebyscore.d.ts.map +0 -1
  377. package/dist/commanders/custom/commands/redis/data/zsets/zrevrange.d.ts +0 -10
  378. package/dist/commanders/custom/commands/redis/data/zsets/zrevrange.d.ts.map +0 -1
  379. package/dist/commanders/custom/commands/redis/data/zsets/zrevrank.d.ts +0 -8
  380. package/dist/commanders/custom/commands/redis/data/zsets/zrevrank.d.ts.map +0 -1
  381. package/dist/commanders/custom/commands/redis/data/zsets/zscore.d.ts +0 -8
  382. package/dist/commanders/custom/commands/redis/data/zsets/zscore.d.ts.map +0 -1
  383. package/dist/commanders/custom/commands/redis/index.d.ts +0 -39
  384. package/dist/commanders/custom/commands/redis/index.d.ts.map +0 -1
  385. package/dist/commanders/custom/commands/redis/info.d.ts +0 -7
  386. package/dist/commanders/custom/commands/redis/info.d.ts.map +0 -1
  387. package/dist/commanders/custom/commands/redis/monitor.d.ts +0 -5
  388. package/dist/commanders/custom/commands/redis/monitor.d.ts.map +0 -1
  389. package/dist/commanders/custom/commands/redis/ping.d.ts +0 -7
  390. package/dist/commanders/custom/commands/redis/ping.d.ts.map +0 -1
  391. package/dist/commanders/custom/commands/redis/quit.d.ts +0 -5
  392. package/dist/commanders/custom/commands/redis/quit.d.ts.map +0 -1
  393. package/dist/commanders/custom/commands/redis/script/debug.d.ts +0 -7
  394. package/dist/commanders/custom/commands/redis/script/debug.d.ts.map +0 -1
  395. package/dist/commanders/custom/commands/redis/script/eval.d.ts +0 -7
  396. package/dist/commanders/custom/commands/redis/script/eval.d.ts.map +0 -1
  397. package/dist/commanders/custom/commands/redis/script/evalsha.d.ts +0 -7
  398. package/dist/commanders/custom/commands/redis/script/evalsha.d.ts.map +0 -1
  399. package/dist/commanders/custom/commands/redis/script/exists.d.ts +0 -8
  400. package/dist/commanders/custom/commands/redis/script/exists.d.ts.map +0 -1
  401. package/dist/commanders/custom/commands/redis/script/flush.d.ts +0 -7
  402. package/dist/commanders/custom/commands/redis/script/flush.d.ts.map +0 -1
  403. package/dist/commanders/custom/commands/redis/script/help.d.ts +0 -5
  404. package/dist/commanders/custom/commands/redis/script/help.d.ts.map +0 -1
  405. package/dist/commanders/custom/commands/redis/script/index.d.ts +0 -8
  406. package/dist/commanders/custom/commands/redis/script/index.d.ts.map +0 -1
  407. package/dist/commanders/custom/commands/redis/script/kill.d.ts +0 -5
  408. package/dist/commanders/custom/commands/redis/script/kill.d.ts.map +0 -1
  409. package/dist/commanders/custom/commands/redis/script/load.d.ts +0 -5
  410. package/dist/commanders/custom/commands/redis/script/load.d.ts.map +0 -1
  411. package/dist/commanders/custom/commands/redis/script/lua-reply.d.ts +0 -8
  412. package/dist/commanders/custom/commands/redis/script/lua-reply.d.ts.map +0 -1
  413. package/dist/commanders/custom/commands/registry.d.ts +0 -84
  414. package/dist/commanders/custom/commands/registry.d.ts.map +0 -1
  415. package/dist/commanders/custom/data-structures/hash.d.ts +0 -16
  416. package/dist/commanders/custom/data-structures/hash.d.ts.map +0 -1
  417. package/dist/commanders/custom/data-structures/list.d.ts +0 -15
  418. package/dist/commanders/custom/data-structures/list.d.ts.map +0 -1
  419. package/dist/commanders/custom/data-structures/set.d.ts +0 -16
  420. package/dist/commanders/custom/data-structures/set.d.ts.map +0 -1
  421. package/dist/commanders/custom/data-structures/stream.d.ts +0 -3
  422. package/dist/commanders/custom/data-structures/stream.d.ts.map +0 -1
  423. package/dist/commanders/custom/data-structures/string.d.ts +0 -5
  424. package/dist/commanders/custom/data-structures/string.d.ts.map +0 -1
  425. package/dist/commanders/custom/data-structures/zset.d.ts +0 -17
  426. package/dist/commanders/custom/data-structures/zset.d.ts.map +0 -1
  427. package/dist/commanders/custom/db.d.ts +0 -67
  428. package/dist/commanders/custom/db.d.ts.map +0 -1
  429. package/dist/commanders/custom/execution-context.d.ts +0 -12
  430. package/dist/commanders/custom/execution-context.d.ts.map +0 -1
  431. package/dist/commanders/custom/lua-runtime.d.ts +0 -16
  432. package/dist/commanders/custom/lua-runtime.d.ts.map +0 -1
  433. package/dist/commanders/custom/redis-kernel.d.ts +0 -46
  434. package/dist/commanders/custom/redis-kernel.d.ts.map +0 -1
  435. package/dist/commanders/custom/schema/builder.d.ts +0 -24
  436. package/dist/commanders/custom/schema/builder.d.ts.map +0 -1
  437. package/dist/commanders/custom/schema/command-adapter.d.ts +0 -25
  438. package/dist/commanders/custom/schema/command-adapter.d.ts.map +0 -1
  439. package/dist/commanders/custom/schema/index.d.ts +0 -7
  440. package/dist/commanders/custom/schema/index.d.ts.map +0 -1
  441. package/dist/commanders/custom/schema/input-mapper.d.ts +0 -28
  442. package/dist/commanders/custom/schema/input-mapper.d.ts.map +0 -1
  443. package/dist/commanders/custom/schema/registry.d.ts +0 -13
  444. package/dist/commanders/custom/schema/registry.d.ts.map +0 -1
  445. package/dist/commanders/custom/schema/resp-input-mapper.d.ts +0 -20
  446. package/dist/commanders/custom/schema/resp-input-mapper.d.ts.map +0 -1
  447. package/dist/commanders/custom/schema/types.d.ts +0 -43
  448. package/dist/commanders/custom/schema/types.d.ts.map +0 -1
  449. package/dist/core/cluster/network.d.ts +0 -24
  450. package/dist/core/cluster/network.d.ts.map +0 -1
  451. package/dist/core/errors.d.ts +0 -87
  452. package/dist/core/errors.d.ts.map +0 -1
  453. package/dist/core/transports/buffered-transport.d.ts +0 -14
  454. package/dist/core/transports/buffered-transport.d.ts.map +0 -1
  455. package/dist/core/transports/capturing-transport.d.ts +0 -19
  456. package/dist/core/transports/capturing-transport.d.ts.map +0 -1
  457. package/dist/core/transports/command-validator.d.ts +0 -12
  458. package/dist/core/transports/command-validator.d.ts.map +0 -1
  459. package/dist/core/transports/resp2/adapter.d.ts +0 -32
  460. package/dist/core/transports/resp2/adapter.d.ts.map +0 -1
  461. package/dist/core/transports/session-state.d.ts +0 -76
  462. package/dist/core/transports/session-state.d.ts.map +0 -1
  463. package/dist/core/transports/session.d.ts +0 -36
  464. package/dist/core/transports/session.d.ts.map +0 -1
  465. package/dist/index.cjs +0 -5759
  466. package/dist/index.cjs.map +0 -1
  467. package/dist/index.mjs +0 -5749
  468. package/dist/index.mjs.map +0 -1
  469. package/dist/types.d.ts +0 -54
  470. package/dist/types.d.ts.map +0 -1
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisCluster = void 0;
4
+ exports.buildRedisCluster = buildRedisCluster;
5
+ exports.computeSlotRange = computeSlotRange;
6
+ const commands_1 = require("./commands");
7
+ const cluster_1 = require("./commands/cluster");
8
+ const execution_policies_1 = require("./core/execution-policies");
9
+ const server_1 = require("./core/transports/resp2/server");
10
+ const state_1 = require("./state");
11
+ class RedisCluster {
12
+ topology;
13
+ nodes;
14
+ servers;
15
+ constructor(topology, nodes, servers) {
16
+ this.topology = topology;
17
+ this.nodes = nodes;
18
+ this.servers = [...servers];
19
+ }
20
+ async listen() {
21
+ await Promise.all(this.servers.map((server, index) => server.listen(this.nodes[index].port)));
22
+ // Backfill actual ports — when basePort is 0 the OS assigns random ports
23
+ // and the handles/topology need to reflect what was actually bound.
24
+ this.servers.forEach((server, index) => {
25
+ const actualPort = server.getPort();
26
+ this.nodes[index].port = actualPort;
27
+ this.topology.nodes[index].port = actualPort;
28
+ });
29
+ }
30
+ async close() {
31
+ await Promise.all(this.servers.map(server => server.close()));
32
+ }
33
+ getAddresses() {
34
+ return this.nodes.map(node => `${node.host}:${node.port}`);
35
+ }
36
+ }
37
+ exports.RedisCluster = RedisCluster;
38
+ function buildRedisCluster(options) {
39
+ validateOptions(options);
40
+ const host = options.host ?? '127.0.0.1';
41
+ const replicas = options.replicasPerMaster ?? 0;
42
+ const totalNodes = options.masters * (replicas + 1);
43
+ if (options.basePort + totalNodes - 1 > 65535) {
44
+ throw new Error('Cluster base-port range exceeds 65535');
45
+ }
46
+ const topologyNodes = [];
47
+ let portOffset = 0;
48
+ // When basePort is 0 the OS assigns each server a random free port. Holding
49
+ // all topology entries at 0 keeps listen() consistent across all nodes;
50
+ // listen() backfills the real bound ports afterwards.
51
+ const allocatePort = () => options.basePort === 0 ? 0 : options.basePort + portOffset++;
52
+ for (let i = 0; i < options.masters; i++) {
53
+ const masterId = `master-${i}`;
54
+ topologyNodes.push({
55
+ id: masterId,
56
+ role: 'master',
57
+ host,
58
+ port: allocatePort(),
59
+ slots: [computeSlotRange(i, options.masters)],
60
+ });
61
+ }
62
+ for (let i = 0; i < options.masters; i++) {
63
+ const masterId = `master-${i}`;
64
+ for (let r = 0; r < replicas; r++) {
65
+ topologyNodes.push({
66
+ id: `replica-${r}-${masterId}`,
67
+ role: 'replica',
68
+ host,
69
+ port: allocatePort(),
70
+ masterId,
71
+ slots: topologyNodes[i].slots,
72
+ });
73
+ }
74
+ }
75
+ const topology = new state_1.RedisClusterTopology(topologyNodes);
76
+ const handles = [];
77
+ const servers = [];
78
+ for (const node of topologyNodes) {
79
+ const state = new state_1.RedisServerState({
80
+ databaseCount: options.databasesPerNode ?? 1,
81
+ clusterTopology: topology,
82
+ });
83
+ const executor = (0, commands_1.createRedisCommandExecutor)({
84
+ extraCommands: [(0, cluster_1.createClusterCommand)(node.id)],
85
+ policies: [(0, execution_policies_1.createClusterPolicy)({ localNodeId: node.id, topology })],
86
+ });
87
+ const server = new server_1.Resp2Server({
88
+ server: state,
89
+ executor,
90
+ logger: options.logger,
91
+ });
92
+ handles.push({
93
+ id: node.id,
94
+ role: node.role,
95
+ host: node.host,
96
+ port: node.port,
97
+ server: state,
98
+ });
99
+ servers.push(server);
100
+ }
101
+ return new RedisCluster(topology, handles, servers);
102
+ }
103
+ function computeSlotRange(masterIndex, masters) {
104
+ if (!Number.isInteger(masters) || masters < 1) {
105
+ throw new Error(`Invalid masters count ${masters}`);
106
+ }
107
+ if (!Number.isInteger(masterIndex) ||
108
+ masterIndex < 0 ||
109
+ masterIndex >= masters) {
110
+ throw new Error(`Invalid master index ${masterIndex}`);
111
+ }
112
+ const start = Math.floor((state_1.REDIS_CLUSTER_SLOT_COUNT * masterIndex) / masters);
113
+ const end = Math.floor((state_1.REDIS_CLUSTER_SLOT_COUNT * (masterIndex + 1)) / masters) - 1;
114
+ return [start, end];
115
+ }
116
+ function validateOptions(options) {
117
+ if (!Number.isInteger(options.masters) || options.masters < 1) {
118
+ throw new Error(`Invalid masters count ${options.masters}`);
119
+ }
120
+ if (options.replicasPerMaster !== undefined &&
121
+ (!Number.isInteger(options.replicasPerMaster) ||
122
+ options.replicasPerMaster < 0)) {
123
+ throw new Error(`Invalid replicasPerMaster ${options.replicasPerMaster}`);
124
+ }
125
+ if (!Number.isInteger(options.basePort) ||
126
+ options.basePort < 0 ||
127
+ options.basePort > 65535) {
128
+ throw new Error(`Invalid basePort ${options.basePort}`);
129
+ }
130
+ }
131
+ //# sourceMappingURL=cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type CommandDefinition } from '../core/command-definition';
2
+ /**
3
+ * Builds the CLUSTER command bound to a specific node id. Each cluster node
4
+ * gets its own definition so that subcommands like NODES/MYID can report the
5
+ * "myself" marker correctly. Topology is read from ctx.server at execute time.
6
+ */
7
+ export declare function createClusterCommand(localNodeId: string): CommandDefinition;
8
+ //# sourceMappingURL=cluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../src/commands/cluster.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAA;AAenC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA8D3E"}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createClusterCommand = createClusterCommand;
4
+ const command_definition_1 = require("../core/command-definition");
5
+ const command_schema_1 = require("../core/command-schema");
6
+ const redis_error_1 = require("../core/redis-error");
7
+ const redis_result_1 = require("../core/redis-result");
8
+ const redis_value_1 = require("../core/redis-value");
9
+ const state_1 = require("../state");
10
+ const introspection_1 = require("./introspection");
11
+ /**
12
+ * Builds the CLUSTER command bound to a specific node id. Each cluster node
13
+ * gets its own definition so that subcommands like NODES/MYID can report the
14
+ * "myself" marker correctly. Topology is read from ctx.server at execute time.
15
+ */
16
+ function createClusterCommand(localNodeId) {
17
+ return (0, command_definition_1.defineCommand)({
18
+ name: 'cluster',
19
+ schema: command_schema_1.t.object({
20
+ subcommand: command_schema_1.t.string(),
21
+ rest: command_schema_1.t.variadic(command_schema_1.t.bulk()),
22
+ }),
23
+ flags: ['admin'],
24
+ introspection: {
25
+ arity: -2,
26
+ flags: ['admin'],
27
+ firstKey: 0,
28
+ lastKey: 0,
29
+ keyStep: 0,
30
+ categories: ['@admin', '@slow', '@dangerous'],
31
+ keySpecs: [],
32
+ subcommands: [
33
+ (0, introspection_1.commandSubcommandInfo)('cluster|info', 2, {
34
+ categories: ['@admin', '@slow', '@dangerous'],
35
+ }),
36
+ (0, introspection_1.commandSubcommandInfo)('cluster|nodes', 2, {
37
+ categories: ['@admin', '@slow', '@dangerous'],
38
+ }),
39
+ (0, introspection_1.commandSubcommandInfo)('cluster|slots', 2, {
40
+ categories: ['@admin', '@slow', '@dangerous'],
41
+ }),
42
+ (0, introspection_1.commandSubcommandInfo)('cluster|shards', 2, {
43
+ categories: ['@admin', '@slow', '@dangerous'],
44
+ }),
45
+ (0, introspection_1.commandSubcommandInfo)('cluster|myid', 2, {
46
+ categories: ['@admin', '@slow', '@dangerous'],
47
+ }),
48
+ ],
49
+ },
50
+ keys: () => [],
51
+ execute: (args, ctx) => {
52
+ const topology = ctx.server.clusterTopology;
53
+ const subcommand = args.subcommand.toLowerCase();
54
+ switch (subcommand) {
55
+ case 'slots':
56
+ expectClusterRestLength(args.rest, 'cluster|slots');
57
+ return clusterSlots(topology);
58
+ case 'shards':
59
+ expectClusterRestLength(args.rest, 'cluster|shards');
60
+ return clusterShards(topology);
61
+ case 'nodes':
62
+ expectClusterRestLength(args.rest, 'cluster|nodes');
63
+ return clusterNodes(topology, localNodeId);
64
+ case 'info':
65
+ expectClusterRestLength(args.rest, 'cluster|info');
66
+ return clusterInfo(topology, localNodeId);
67
+ case 'myid':
68
+ expectClusterRestLength(args.rest, 'cluster|myid');
69
+ return redis_result_1.RedisResult.create(redis_value_1.RedisValue.bulkString(Buffer.from(localNodeId)));
70
+ default:
71
+ throw new redis_error_1.UnknownClusterSubcommandError(args.subcommand);
72
+ }
73
+ },
74
+ });
75
+ }
76
+ function expectClusterRestLength(rest, commandName) {
77
+ if (rest.length !== 0) {
78
+ throw new redis_error_1.WrongNumberOfArgumentsError(commandName);
79
+ }
80
+ }
81
+ function masters(topology) {
82
+ return topology.nodes.filter(node => node.role === 'master');
83
+ }
84
+ function replicasOf(topology, masterId) {
85
+ return topology.nodes.filter(node => node.role === 'replica' && node.masterId === masterId);
86
+ }
87
+ function nodeEntry(node) {
88
+ return redis_value_1.RedisValue.array([
89
+ redis_value_1.RedisValue.bulkString(Buffer.from(node.host)),
90
+ redis_value_1.RedisValue.integer(node.port),
91
+ redis_value_1.RedisValue.bulkString(Buffer.from(node.id)),
92
+ redis_value_1.RedisValue.array([]),
93
+ ]);
94
+ }
95
+ function clusterSlots(topology) {
96
+ const slots = [];
97
+ for (const master of masters(topology)) {
98
+ const master_ = nodeEntry(master);
99
+ const replicas = replicasOf(topology, master.id).map(nodeEntry);
100
+ for (const [min, max] of master.slots) {
101
+ slots.push(redis_value_1.RedisValue.array([
102
+ redis_value_1.RedisValue.integer(min),
103
+ redis_value_1.RedisValue.integer(max),
104
+ master_,
105
+ ...replicas,
106
+ ]));
107
+ }
108
+ }
109
+ return redis_result_1.RedisResult.create(redis_value_1.RedisValue.array(slots));
110
+ }
111
+ function clusterShards(topology) {
112
+ const shards = [];
113
+ for (const master of masters(topology)) {
114
+ const slotRanges = [];
115
+ for (const [min, max] of master.slots) {
116
+ slotRanges.push(redis_value_1.RedisValue.integer(min), redis_value_1.RedisValue.integer(max));
117
+ }
118
+ const shardNodes = [master, ...replicasOf(topology, master.id)].map(node => redis_value_1.RedisValue.array([
119
+ redis_value_1.RedisValue.bulkString(Buffer.from('id')),
120
+ redis_value_1.RedisValue.bulkString(Buffer.from(node.id)),
121
+ redis_value_1.RedisValue.bulkString(Buffer.from('port')),
122
+ redis_value_1.RedisValue.integer(node.port),
123
+ redis_value_1.RedisValue.bulkString(Buffer.from('ip')),
124
+ redis_value_1.RedisValue.bulkString(Buffer.from(node.host)),
125
+ redis_value_1.RedisValue.bulkString(Buffer.from('endpoint')),
126
+ redis_value_1.RedisValue.bulkString(Buffer.from(node.host)),
127
+ redis_value_1.RedisValue.bulkString(Buffer.from('role')),
128
+ redis_value_1.RedisValue.bulkString(Buffer.from(node.role)),
129
+ redis_value_1.RedisValue.bulkString(Buffer.from('replication-offset')),
130
+ redis_value_1.RedisValue.integer(0),
131
+ redis_value_1.RedisValue.bulkString(Buffer.from('health')),
132
+ redis_value_1.RedisValue.bulkString(Buffer.from('online')),
133
+ ]));
134
+ shards.push(redis_value_1.RedisValue.array([
135
+ redis_value_1.RedisValue.bulkString(Buffer.from('slots')),
136
+ redis_value_1.RedisValue.array(slotRanges),
137
+ redis_value_1.RedisValue.bulkString(Buffer.from('nodes')),
138
+ redis_value_1.RedisValue.array(shardNodes),
139
+ ]));
140
+ }
141
+ return redis_result_1.RedisResult.create(redis_value_1.RedisValue.array(shards));
142
+ }
143
+ function clusterNodes(topology, localNodeId) {
144
+ const masterList = masters(topology);
145
+ const epochs = new Map();
146
+ masterList.forEach((master, index) => epochs.set(master.id, index + 1));
147
+ const lines = [];
148
+ for (const node of topology.nodes) {
149
+ const epoch = node.role === 'master'
150
+ ? (epochs.get(node.id) ?? 0)
151
+ : (epochs.get(node.masterId ?? '') ?? 0);
152
+ lines.push(formatNodeLine(node, localNodeId, epoch));
153
+ }
154
+ return redis_result_1.RedisResult.create(redis_value_1.RedisValue.bulkString(Buffer.from(lines.join(''))));
155
+ }
156
+ function formatNodeLine(node, localNodeId, configEpoch) {
157
+ const connection = `${node.host}:${node.port}@${node.port}`;
158
+ const myself = node.id === localNodeId ? 'myself,' : '';
159
+ const roleField = node.role === 'master' ? 'master -' : `slave ${node.masterId}`;
160
+ const ping = `0 ${Date.now()}`;
161
+ const slots = node.role === 'master'
162
+ ? node.slots.map(([min, max]) => ` ${min}-${max}`).join('')
163
+ : '';
164
+ return `${node.id} ${connection} ${myself}${roleField} ${ping} ${configEpoch} connected${slots}\n`;
165
+ }
166
+ function clusterInfo(topology, localNodeId) {
167
+ const masterList = masters(topology);
168
+ const knownNodes = topology.nodes.length;
169
+ const size = masterList.length;
170
+ const local = topology.getNode(localNodeId);
171
+ const myMasterId = local?.role === 'replica' ? (local.masterId ?? localNodeId) : localNodeId;
172
+ const myEpoch = masterList.findIndex(master => master.id === myMasterId) + 1;
173
+ const lines = [
174
+ 'cluster_enabled:1',
175
+ 'cluster_state:ok',
176
+ `cluster_slots_assigned:${state_1.REDIS_CLUSTER_SLOT_COUNT}`,
177
+ `cluster_slots_ok:${state_1.REDIS_CLUSTER_SLOT_COUNT}`,
178
+ 'cluster_slots_pfail:0',
179
+ 'cluster_slots_fail:0',
180
+ `cluster_known_nodes:${knownNodes}`,
181
+ `cluster_size:${size}`,
182
+ `cluster_current_epoch:${size}`,
183
+ `cluster_my_epoch:${myEpoch}`,
184
+ 'cluster_stats_messages_sent:0',
185
+ 'cluster_stats_messages_received:0',
186
+ 'total_cluster_links_buffer_limit_exceeded:0',
187
+ ];
188
+ return redis_result_1.RedisResult.create(redis_value_1.RedisValue.bulkString(Buffer.from(`${lines.join('\r\n')}\r\n`)));
189
+ }
190
+ //# sourceMappingURL=cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/commands/cluster.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type CommandDefinition } from '../core/command-definition';
2
+ export declare const commandCommand: CommandDefinition<{
3
+ subcommand: string | undefined;
4
+ args: Buffer<ArrayBufferLike>[];
5
+ }>;
6
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/commands/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EAKvB,MAAM,4BAA4B,CAAA;AA6DnC,eAAO,MAAM,cAAc;;;EAoCzB,CAAA"}