@platformatic/kafka 2.0.1 → 2.2.0

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 (760) hide show
  1. package/README.md +4 -1
  2. package/dist/apis/admin/alter-client-quotas-v0.d.ts +40 -0
  3. package/dist/apis/admin/alter-client-quotas-v0.js +60 -0
  4. package/dist/apis/admin/alter-client-quotas-v1.d.ts +6 -5
  5. package/dist/apis/admin/alter-client-quotas-v1.js +3 -1
  6. package/dist/apis/admin/alter-configs-v0.d.ts +7 -0
  7. package/dist/apis/admin/alter-configs-v0.js +10 -0
  8. package/dist/apis/admin/alter-configs-v1.d.ts +2 -0
  9. package/dist/apis/admin/alter-configs-v1.js +5 -0
  10. package/dist/apis/admin/alter-configs-v2.js +3 -1
  11. package/dist/apis/admin/alter-partition-reassignments-v0.d.ts +3 -2
  12. package/dist/apis/admin/alter-partition-reassignments-v0.js +4 -1
  13. package/dist/apis/admin/alter-partition-reassignments-v1.d.ts +6 -4
  14. package/dist/apis/admin/alter-partition-reassignments-v1.js +7 -3
  15. package/dist/apis/admin/alter-partition-v0.d.ts +40 -0
  16. package/dist/apis/admin/alter-partition-v0.js +81 -0
  17. package/dist/apis/admin/alter-partition-v1.d.ts +37 -0
  18. package/dist/apis/admin/alter-partition-v1.js +84 -0
  19. package/dist/apis/admin/alter-partition-v2.d.ts +36 -0
  20. package/dist/apis/admin/alter-partition-v2.js +83 -0
  21. package/dist/apis/admin/alter-partition-v3.d.ts +6 -35
  22. package/dist/apis/admin/alter-partition-v3.js +10 -8
  23. package/dist/apis/admin/alter-replica-log-dirs-v0.d.ts +23 -0
  24. package/dist/apis/admin/alter-replica-log-dirs-v0.js +29 -0
  25. package/dist/apis/admin/alter-replica-log-dirs-v1.d.ts +4 -0
  26. package/dist/apis/admin/alter-replica-log-dirs-v1.js +8 -0
  27. package/dist/apis/admin/alter-replica-log-dirs-v2.d.ts +1 -1
  28. package/dist/apis/admin/alter-replica-log-dirs-v2.js +1 -0
  29. package/dist/apis/admin/alter-user-scram-credentials-v0.js +1 -1
  30. package/dist/apis/admin/client-quotas.d.ts +2 -0
  31. package/dist/apis/admin/client-quotas.js +1 -0
  32. package/dist/apis/admin/consumer-group-describe-v0.d.ts +2 -1
  33. package/dist/apis/admin/consumer-group-describe-v0.js +51 -30
  34. package/dist/apis/admin/create-acls-v0.d.ts +16 -0
  35. package/dist/apis/admin/create-acls-v0.js +10 -0
  36. package/dist/apis/admin/create-acls-v1.d.ts +15 -0
  37. package/dist/apis/admin/create-acls-v1.js +10 -0
  38. package/dist/apis/admin/create-acls-v2.js +1 -0
  39. package/dist/apis/admin/create-acls-v3.js +1 -0
  40. package/dist/apis/admin/create-delegation-token-v0.d.ts +24 -0
  41. package/dist/apis/admin/create-delegation-token-v0.js +47 -0
  42. package/dist/apis/admin/create-delegation-token-v1.d.ts +4 -0
  43. package/dist/apis/admin/create-delegation-token-v1.js +8 -0
  44. package/dist/apis/admin/create-delegation-token-v2.d.ts +9 -0
  45. package/dist/apis/admin/create-delegation-token-v2.js +30 -0
  46. package/dist/apis/admin/create-delegation-token-v3.js +1 -0
  47. package/dist/apis/admin/create-partitions-v0.d.ts +2 -0
  48. package/dist/apis/admin/create-partitions-v0.js +5 -0
  49. package/dist/apis/admin/create-partitions-v1.d.ts +2 -2
  50. package/dist/apis/admin/create-partitions-v1.js +5 -5
  51. package/dist/apis/admin/create-partitions-v2.d.ts +2 -2
  52. package/dist/apis/admin/create-partitions-v2.js +1 -0
  53. package/dist/apis/admin/create-partitions-v3.js +1 -0
  54. package/dist/apis/admin/create-topics-v0.d.ts +42 -0
  55. package/dist/apis/admin/create-topics-v0.js +63 -0
  56. package/dist/apis/admin/create-topics-v1.d.ts +42 -0
  57. package/dist/apis/admin/create-topics-v1.js +65 -0
  58. package/dist/apis/admin/create-topics-v2.d.ts +42 -0
  59. package/dist/apis/admin/create-topics-v2.js +66 -0
  60. package/dist/apis/admin/create-topics-v3.d.ts +42 -0
  61. package/dist/apis/admin/create-topics-v3.js +66 -0
  62. package/dist/apis/admin/create-topics-v4.d.ts +42 -0
  63. package/dist/apis/admin/create-topics-v4.js +66 -0
  64. package/dist/apis/admin/create-topics-v5.d.ts +42 -0
  65. package/dist/apis/admin/create-topics-v5.js +88 -0
  66. package/dist/apis/admin/create-topics-v6.d.ts +42 -0
  67. package/dist/apis/admin/create-topics-v6.js +88 -0
  68. package/dist/apis/admin/create-topics-v7.d.ts +2 -1
  69. package/dist/apis/admin/create-topics-v7.js +20 -5
  70. package/dist/apis/admin/delete-acls-v0.d.ts +28 -0
  71. package/dist/apis/admin/delete-acls-v0.js +12 -0
  72. package/dist/apis/admin/delete-acls-v1.d.ts +27 -0
  73. package/dist/apis/admin/delete-acls-v1.js +11 -0
  74. package/dist/apis/admin/delete-acls-v2.js +5 -2
  75. package/dist/apis/admin/delete-acls-v3.js +1 -0
  76. package/dist/apis/admin/delete-groups-v0.d.ts +14 -0
  77. package/dist/apis/admin/delete-groups-v0.js +38 -0
  78. package/dist/apis/admin/delete-groups-v1.d.ts +14 -0
  79. package/dist/apis/admin/delete-groups-v1.js +38 -0
  80. package/dist/apis/admin/delete-groups-v2.js +1 -0
  81. package/dist/apis/admin/delete-records-v0.d.ts +27 -0
  82. package/dist/apis/admin/delete-records-v0.js +50 -0
  83. package/dist/apis/admin/delete-records-v1.d.ts +27 -0
  84. package/dist/apis/admin/delete-records-v1.js +50 -0
  85. package/dist/apis/admin/delete-records-v2.js +1 -0
  86. package/dist/apis/admin/delete-topics-v0.d.ts +19 -0
  87. package/dist/apis/admin/delete-topics-v0.js +39 -0
  88. package/dist/apis/admin/delete-topics-v1.d.ts +19 -0
  89. package/dist/apis/admin/delete-topics-v1.js +37 -0
  90. package/dist/apis/admin/delete-topics-v2.d.ts +19 -0
  91. package/dist/apis/admin/delete-topics-v2.js +37 -0
  92. package/dist/apis/admin/delete-topics-v3.d.ts +19 -0
  93. package/dist/apis/admin/delete-topics-v3.js +37 -0
  94. package/dist/apis/admin/delete-topics-v4.d.ts +19 -0
  95. package/dist/apis/admin/delete-topics-v4.js +41 -0
  96. package/dist/apis/admin/delete-topics-v5.d.ts +19 -0
  97. package/dist/apis/admin/delete-topics-v5.js +45 -0
  98. package/dist/apis/admin/delete-topics-v6.d.ts +1 -1
  99. package/dist/apis/admin/delete-topics-v6.js +5 -1
  100. package/dist/apis/admin/describe-acls-v0.d.ts +21 -0
  101. package/dist/apis/admin/describe-acls-v0.js +19 -0
  102. package/dist/apis/admin/describe-acls-v1.d.ts +21 -0
  103. package/dist/apis/admin/describe-acls-v1.js +18 -0
  104. package/dist/apis/admin/describe-acls-v2.js +1 -0
  105. package/dist/apis/admin/describe-acls-v3.js +1 -0
  106. package/dist/apis/admin/describe-client-quotas-v0.d.ts +8 -7
  107. package/dist/apis/admin/describe-client-quotas-v0.js +28 -25
  108. package/dist/apis/admin/describe-client-quotas-v1.d.ts +9 -0
  109. package/dist/apis/admin/describe-client-quotas-v1.js +34 -0
  110. package/dist/apis/admin/describe-cluster-v0.d.ts +4 -3
  111. package/dist/apis/admin/describe-cluster-v0.js +3 -1
  112. package/dist/apis/admin/describe-cluster-v1.d.ts +4 -3
  113. package/dist/apis/admin/describe-cluster-v1.js +1 -0
  114. package/dist/apis/admin/describe-configs-v0.d.ts +41 -0
  115. package/dist/apis/admin/describe-configs-v0.js +72 -0
  116. package/dist/apis/admin/describe-configs-v1.d.ts +39 -0
  117. package/dist/apis/admin/describe-configs-v1.js +81 -0
  118. package/dist/apis/admin/describe-configs-v2.d.ts +9 -8
  119. package/dist/apis/admin/describe-configs-v2.js +10 -14
  120. package/dist/apis/admin/describe-configs-v3.d.ts +9 -8
  121. package/dist/apis/admin/describe-configs-v3.js +7 -7
  122. package/dist/apis/admin/describe-configs-v4.d.ts +2 -2
  123. package/dist/apis/admin/describe-configs-v4.js +14 -7
  124. package/dist/apis/admin/describe-delegation-token-v0.d.ts +31 -0
  125. package/dist/apis/admin/describe-delegation-token-v0.js +51 -0
  126. package/dist/apis/admin/describe-delegation-token-v1.d.ts +4 -0
  127. package/dist/apis/admin/describe-delegation-token-v1.js +8 -0
  128. package/dist/apis/admin/describe-delegation-token-v2.d.ts +8 -0
  129. package/dist/apis/admin/describe-delegation-token-v2.js +32 -0
  130. package/dist/apis/admin/describe-delegation-token-v3.d.ts +4 -27
  131. package/dist/apis/admin/describe-delegation-token-v3.js +1 -0
  132. package/dist/apis/admin/describe-groups-v0.d.ts +28 -0
  133. package/dist/apis/admin/describe-groups-v0.js +60 -0
  134. package/dist/apis/admin/describe-groups-v1.d.ts +28 -0
  135. package/dist/apis/admin/describe-groups-v1.js +62 -0
  136. package/dist/apis/admin/describe-groups-v2.d.ts +28 -0
  137. package/dist/apis/admin/describe-groups-v2.js +62 -0
  138. package/dist/apis/admin/describe-groups-v3.d.ts +28 -0
  139. package/dist/apis/admin/describe-groups-v3.js +64 -0
  140. package/dist/apis/admin/describe-groups-v4.d.ts +28 -0
  141. package/dist/apis/admin/describe-groups-v4.js +64 -0
  142. package/dist/apis/admin/describe-groups-v5.js +1 -0
  143. package/dist/apis/admin/describe-log-dirs-v0.d.ts +30 -0
  144. package/dist/apis/admin/describe-log-dirs-v0.js +39 -0
  145. package/dist/apis/admin/describe-log-dirs-v1.d.ts +4 -0
  146. package/dist/apis/admin/describe-log-dirs-v1.js +8 -0
  147. package/dist/apis/admin/describe-log-dirs-v2.d.ts +3 -2
  148. package/dist/apis/admin/describe-log-dirs-v2.js +9 -5
  149. package/dist/apis/admin/describe-log-dirs-v3.d.ts +3 -2
  150. package/dist/apis/admin/describe-log-dirs-v3.js +3 -2
  151. package/dist/apis/admin/describe-log-dirs-v4.d.ts +3 -2
  152. package/dist/apis/admin/describe-log-dirs-v4.js +1 -0
  153. package/dist/apis/admin/describe-producers-v0.js +1 -0
  154. package/dist/apis/admin/describe-quorum-v0.d.ts +13 -0
  155. package/dist/apis/admin/describe-quorum-v0.js +85 -0
  156. package/dist/apis/admin/describe-quorum-v1.d.ts +13 -0
  157. package/dist/apis/admin/describe-quorum-v1.js +84 -0
  158. package/dist/apis/admin/describe-quorum-v2.js +1 -0
  159. package/dist/apis/admin/describe-topic-partitions-v0.d.ts +3 -3
  160. package/dist/apis/admin/describe-topic-partitions-v0.js +5 -2
  161. package/dist/apis/admin/describe-transactions-v0.js +1 -0
  162. package/dist/apis/admin/describe-user-scram-credentials-v0.d.ts +4 -3
  163. package/dist/apis/admin/describe-user-scram-credentials-v0.js +1 -0
  164. package/dist/apis/admin/envelope-v0.js +1 -0
  165. package/dist/apis/admin/expire-delegation-token-v0.d.ts +11 -0
  166. package/dist/apis/admin/expire-delegation-token-v0.js +29 -0
  167. package/dist/apis/admin/expire-delegation-token-v1.d.ts +4 -0
  168. package/dist/apis/admin/expire-delegation-token-v1.js +8 -0
  169. package/dist/apis/admin/expire-delegation-token-v2.js +1 -0
  170. package/dist/apis/admin/incremental-alter-configs-v0.d.ts +26 -0
  171. package/dist/apis/admin/incremental-alter-configs-v0.js +10 -0
  172. package/dist/apis/admin/incremental-alter-configs-v1.js +1 -0
  173. package/dist/apis/admin/index.d.ts +60 -0
  174. package/dist/apis/admin/index.js +60 -0
  175. package/dist/apis/admin/list-groups-v0.d.ts +18 -0
  176. package/dist/apis/admin/list-groups-v0.js +30 -0
  177. package/dist/apis/admin/list-groups-v1.d.ts +18 -0
  178. package/dist/apis/admin/list-groups-v1.js +37 -0
  179. package/dist/apis/admin/list-groups-v2.d.ts +18 -0
  180. package/dist/apis/admin/list-groups-v2.js +37 -0
  181. package/dist/apis/admin/list-groups-v3.d.ts +18 -0
  182. package/dist/apis/admin/list-groups-v3.js +38 -0
  183. package/dist/apis/admin/list-groups-v4.d.ts +4 -3
  184. package/dist/apis/admin/list-groups-v4.js +15 -4
  185. package/dist/apis/admin/list-groups-v5.d.ts +3 -3
  186. package/dist/apis/admin/list-groups-v5.js +25 -3
  187. package/dist/apis/admin/list-partition-reassignments-v0.d.ts +3 -3
  188. package/dist/apis/admin/list-partition-reassignments-v0.js +1 -0
  189. package/dist/apis/admin/list-transactions-v0.d.ts +5 -3
  190. package/dist/apis/admin/list-transactions-v0.js +23 -1
  191. package/dist/apis/admin/list-transactions-v1.d.ts +5 -3
  192. package/dist/apis/admin/list-transactions-v1.js +15 -1
  193. package/dist/apis/admin/list-transactions-v2.d.ts +5 -4
  194. package/dist/apis/admin/list-transactions-v2.js +17 -5
  195. package/dist/apis/admin/renew-delegation-token-v0.d.ts +11 -0
  196. package/dist/apis/admin/renew-delegation-token-v0.js +29 -0
  197. package/dist/apis/admin/renew-delegation-token-v1.d.ts +4 -0
  198. package/dist/apis/admin/renew-delegation-token-v1.js +8 -0
  199. package/dist/apis/admin/renew-delegation-token-v2.js +1 -0
  200. package/dist/apis/admin/unregister-broker-v0.js +1 -0
  201. package/dist/apis/admin/update-features-v0.d.ts +24 -0
  202. package/dist/apis/admin/update-features-v0.js +59 -0
  203. package/dist/apis/admin/update-features-v1.d.ts +2 -1
  204. package/dist/apis/admin/update-features-v1.js +1 -0
  205. package/dist/apis/callbacks.d.ts +1 -3
  206. package/dist/apis/callbacks.js +26 -11
  207. package/dist/apis/consumer/consumer-group-heartbeat-v0.d.ts +2 -2
  208. package/dist/apis/consumer/consumer-group-heartbeat-v0.js +17 -10
  209. package/dist/apis/consumer/consumer-group-heartbeat-v1.d.ts +2 -2
  210. package/dist/apis/consumer/consumer-group-heartbeat-v1.js +17 -10
  211. package/dist/apis/consumer/fetch-v10.d.ts +51 -0
  212. package/dist/apis/consumer/fetch-v10.js +122 -0
  213. package/dist/apis/consumer/fetch-v11.d.ts +51 -0
  214. package/dist/apis/consumer/fetch-v11.js +125 -0
  215. package/dist/apis/consumer/fetch-v12.d.ts +20 -4
  216. package/dist/apis/consumer/fetch-v12.js +29 -12
  217. package/dist/apis/consumer/fetch-v13.d.ts +20 -4
  218. package/dist/apis/consumer/fetch-v13.js +25 -7
  219. package/dist/apis/consumer/fetch-v14.d.ts +20 -4
  220. package/dist/apis/consumer/fetch-v14.js +25 -7
  221. package/dist/apis/consumer/fetch-v15.d.ts +20 -4
  222. package/dist/apis/consumer/fetch-v15.js +25 -7
  223. package/dist/apis/consumer/fetch-v16.d.ts +27 -4
  224. package/dist/apis/consumer/fetch-v16.js +36 -8
  225. package/dist/apis/consumer/fetch-v17.d.ts +28 -4
  226. package/dist/apis/consumer/fetch-v17.js +43 -9
  227. package/dist/apis/consumer/fetch-v4.d.ts +51 -0
  228. package/dist/apis/consumer/fetch-v4.js +87 -0
  229. package/dist/apis/consumer/fetch-v5.d.ts +51 -0
  230. package/dist/apis/consumer/fetch-v5.js +89 -0
  231. package/dist/apis/consumer/fetch-v6.d.ts +51 -0
  232. package/dist/apis/consumer/fetch-v6.js +99 -0
  233. package/dist/apis/consumer/fetch-v7.d.ts +51 -0
  234. package/dist/apis/consumer/fetch-v7.js +117 -0
  235. package/dist/apis/consumer/fetch-v8.d.ts +51 -0
  236. package/dist/apis/consumer/fetch-v8.js +117 -0
  237. package/dist/apis/consumer/fetch-v9.d.ts +51 -0
  238. package/dist/apis/consumer/fetch-v9.js +122 -0
  239. package/dist/apis/consumer/heartbeat-v0.d.ts +11 -0
  240. package/dist/apis/consumer/heartbeat-v0.js +24 -0
  241. package/dist/apis/consumer/heartbeat-v1.d.ts +11 -0
  242. package/dist/apis/consumer/heartbeat-v1.js +31 -0
  243. package/dist/apis/consumer/heartbeat-v2.d.ts +11 -0
  244. package/dist/apis/consumer/heartbeat-v2.js +31 -0
  245. package/dist/apis/consumer/heartbeat-v3.d.ts +11 -0
  246. package/dist/apis/consumer/heartbeat-v3.js +33 -0
  247. package/dist/apis/consumer/heartbeat-v4.js +1 -0
  248. package/dist/apis/consumer/index.d.ts +51 -0
  249. package/dist/apis/consumer/index.js +51 -0
  250. package/dist/apis/consumer/join-group-v0.d.ts +27 -0
  251. package/dist/apis/consumer/join-group-v0.js +51 -0
  252. package/dist/apis/consumer/join-group-v1.d.ts +8 -0
  253. package/dist/apis/consumer/join-group-v1.js +43 -0
  254. package/dist/apis/consumer/join-group-v2.d.ts +27 -0
  255. package/dist/apis/consumer/join-group-v2.js +60 -0
  256. package/dist/apis/consumer/join-group-v3.d.ts +27 -0
  257. package/dist/apis/consumer/join-group-v3.js +60 -0
  258. package/dist/apis/consumer/join-group-v4.d.ts +27 -0
  259. package/dist/apis/consumer/join-group-v4.js +60 -0
  260. package/dist/apis/consumer/join-group-v5.d.ts +27 -0
  261. package/dist/apis/consumer/join-group-v5.js +63 -0
  262. package/dist/apis/consumer/join-group-v6.d.ts +2 -2
  263. package/dist/apis/consumer/join-group-v6.js +10 -7
  264. package/dist/apis/consumer/join-group-v7.d.ts +2 -2
  265. package/dist/apis/consumer/join-group-v7.js +5 -3
  266. package/dist/apis/consumer/join-group-v8.d.ts +2 -2
  267. package/dist/apis/consumer/join-group-v8.js +5 -3
  268. package/dist/apis/consumer/join-group-v9.d.ts +2 -2
  269. package/dist/apis/consumer/join-group-v9.js +5 -3
  270. package/dist/apis/consumer/leave-group-v0.d.ts +22 -0
  271. package/dist/apis/consumer/leave-group-v0.js +23 -0
  272. package/dist/apis/consumer/leave-group-v1.d.ts +22 -0
  273. package/dist/apis/consumer/leave-group-v1.js +30 -0
  274. package/dist/apis/consumer/leave-group-v2.d.ts +22 -0
  275. package/dist/apis/consumer/leave-group-v2.js +30 -0
  276. package/dist/apis/consumer/leave-group-v3.d.ts +22 -0
  277. package/dist/apis/consumer/leave-group-v3.js +54 -0
  278. package/dist/apis/consumer/leave-group-v4.d.ts +1 -1
  279. package/dist/apis/consumer/leave-group-v4.js +4 -2
  280. package/dist/apis/consumer/leave-group-v5.d.ts +1 -1
  281. package/dist/apis/consumer/leave-group-v5.js +4 -2
  282. package/dist/apis/consumer/list-offsets-v0.d.ts +30 -0
  283. package/dist/apis/consumer/list-offsets-v0.js +50 -0
  284. package/dist/apis/consumer/list-offsets-v1.d.ts +12 -0
  285. package/dist/apis/consumer/list-offsets-v1.js +52 -0
  286. package/dist/apis/consumer/list-offsets-v2.d.ts +30 -0
  287. package/dist/apis/consumer/list-offsets-v2.js +64 -0
  288. package/dist/apis/consumer/list-offsets-v3.d.ts +30 -0
  289. package/dist/apis/consumer/list-offsets-v3.js +64 -0
  290. package/dist/apis/consumer/list-offsets-v4.d.ts +30 -0
  291. package/dist/apis/consumer/list-offsets-v4.js +67 -0
  292. package/dist/apis/consumer/list-offsets-v6.js +6 -3
  293. package/dist/apis/consumer/list-offsets-v7.js +6 -3
  294. package/dist/apis/consumer/list-offsets-v8.js +6 -3
  295. package/dist/apis/consumer/list-offsets-v9.js +6 -3
  296. package/dist/apis/consumer/offset-commit-v0.d.ts +29 -0
  297. package/dist/apis/consumer/offset-commit-v0.js +52 -0
  298. package/dist/apis/consumer/offset-commit-v1.d.ts +7 -0
  299. package/dist/apis/consumer/offset-commit-v1.js +30 -0
  300. package/dist/apis/consumer/offset-commit-v2.d.ts +8 -0
  301. package/dist/apis/consumer/offset-commit-v2.js +31 -0
  302. package/dist/apis/consumer/offset-commit-v3.d.ts +29 -0
  303. package/dist/apis/consumer/offset-commit-v3.js +58 -0
  304. package/dist/apis/consumer/offset-commit-v4.d.ts +29 -0
  305. package/dist/apis/consumer/offset-commit-v4.js +58 -0
  306. package/dist/apis/consumer/offset-commit-v5.d.ts +29 -0
  307. package/dist/apis/consumer/offset-commit-v5.js +56 -0
  308. package/dist/apis/consumer/offset-commit-v6.d.ts +29 -0
  309. package/dist/apis/consumer/offset-commit-v6.js +60 -0
  310. package/dist/apis/consumer/offset-commit-v7.d.ts +29 -0
  311. package/dist/apis/consumer/offset-commit-v7.js +62 -0
  312. package/dist/apis/consumer/offset-commit-v8.d.ts +2 -2
  313. package/dist/apis/consumer/offset-commit-v8.js +6 -3
  314. package/dist/apis/consumer/offset-commit-v9.d.ts +2 -2
  315. package/dist/apis/consumer/offset-commit-v9.js +6 -3
  316. package/dist/apis/consumer/offset-fetch-v0.d.ts +40 -0
  317. package/dist/apis/consumer/offset-fetch-v0.js +62 -0
  318. package/dist/apis/consumer/offset-fetch-v1.d.ts +6 -0
  319. package/dist/apis/consumer/offset-fetch-v1.js +41 -0
  320. package/dist/apis/consumer/offset-fetch-v2.d.ts +7 -0
  321. package/dist/apis/consumer/offset-fetch-v2.js +48 -0
  322. package/dist/apis/consumer/offset-fetch-v3.d.ts +39 -0
  323. package/dist/apis/consumer/offset-fetch-v3.js +64 -0
  324. package/dist/apis/consumer/offset-fetch-v4.d.ts +39 -0
  325. package/dist/apis/consumer/offset-fetch-v4.js +64 -0
  326. package/dist/apis/consumer/offset-fetch-v5.d.ts +39 -0
  327. package/dist/apis/consumer/offset-fetch-v5.js +65 -0
  328. package/dist/apis/consumer/offset-fetch-v6.d.ts +39 -0
  329. package/dist/apis/consumer/offset-fetch-v6.js +68 -0
  330. package/dist/apis/consumer/offset-fetch-v7.d.ts +39 -0
  331. package/dist/apis/consumer/offset-fetch-v7.js +70 -0
  332. package/dist/apis/consumer/offset-fetch-v8.js +5 -2
  333. package/dist/apis/consumer/offset-fetch-v9.js +5 -2
  334. package/dist/apis/consumer/offset-for-leader-epoch-v0.d.ts +29 -0
  335. package/dist/apis/consumer/offset-for-leader-epoch-v0.js +48 -0
  336. package/dist/apis/consumer/offset-for-leader-epoch-v1.d.ts +29 -0
  337. package/dist/apis/consumer/offset-for-leader-epoch-v1.js +54 -0
  338. package/dist/apis/consumer/offset-for-leader-epoch-v2.d.ts +29 -0
  339. package/dist/apis/consumer/offset-for-leader-epoch-v2.js +58 -0
  340. package/dist/apis/consumer/offset-for-leader-epoch-v3.d.ts +29 -0
  341. package/dist/apis/consumer/offset-for-leader-epoch-v3.js +59 -0
  342. package/dist/apis/consumer/offset-for-leader-epoch-v4.d.ts +1 -1
  343. package/dist/apis/consumer/offset-for-leader-epoch-v4.js +11 -8
  344. package/dist/apis/consumer/sync-group-v0.d.ts +18 -0
  345. package/dist/apis/consumer/sync-group-v0.js +38 -0
  346. package/dist/apis/consumer/sync-group-v1.d.ts +18 -0
  347. package/dist/apis/consumer/sync-group-v1.js +39 -0
  348. package/dist/apis/consumer/sync-group-v2.d.ts +18 -0
  349. package/dist/apis/consumer/sync-group-v2.js +39 -0
  350. package/dist/apis/consumer/sync-group-v3.d.ts +18 -0
  351. package/dist/apis/consumer/sync-group-v3.js +41 -0
  352. package/dist/apis/consumer/sync-group-v4.js +1 -0
  353. package/dist/apis/consumer/sync-group-v5.js +1 -0
  354. package/dist/apis/enumerations.d.ts +21 -6
  355. package/dist/apis/enumerations.js +57 -5
  356. package/dist/apis/index.d.ts +1 -0
  357. package/dist/apis/index.js +1 -0
  358. package/dist/apis/metadata/api-versions-v0.d.ts +17 -0
  359. package/dist/apis/metadata/api-versions-v0.js +24 -0
  360. package/dist/apis/metadata/api-versions-v1.d.ts +17 -0
  361. package/dist/apis/metadata/api-versions-v1.js +39 -0
  362. package/dist/apis/metadata/api-versions-v2.d.ts +17 -0
  363. package/dist/apis/metadata/api-versions-v2.js +39 -0
  364. package/dist/apis/metadata/api-versions-v3.d.ts +16 -2
  365. package/dist/apis/metadata/api-versions-v3.js +43 -4
  366. package/dist/apis/metadata/api-versions-v4.d.ts +16 -2
  367. package/dist/apis/metadata/api-versions-v4.js +35 -3
  368. package/dist/apis/metadata/find-coordinator-v0.d.ts +18 -0
  369. package/dist/apis/metadata/find-coordinator-v0.js +24 -0
  370. package/dist/apis/metadata/find-coordinator-v1.d.ts +18 -0
  371. package/dist/apis/metadata/find-coordinator-v1.js +41 -0
  372. package/dist/apis/metadata/find-coordinator-v2.d.ts +18 -0
  373. package/dist/apis/metadata/find-coordinator-v2.js +41 -0
  374. package/dist/apis/metadata/find-coordinator-v3.d.ts +18 -0
  375. package/dist/apis/metadata/find-coordinator-v3.js +44 -0
  376. package/dist/apis/metadata/find-coordinator-v4.js +3 -1
  377. package/dist/apis/metadata/find-coordinator-v5.js +3 -1
  378. package/dist/apis/metadata/find-coordinator-v6.js +3 -1
  379. package/dist/apis/metadata/index.d.ts +16 -0
  380. package/dist/apis/metadata/index.js +16 -0
  381. package/dist/apis/metadata/metadata-v0.d.ts +38 -0
  382. package/dist/apis/metadata/metadata-v0.js +47 -0
  383. package/dist/apis/metadata/metadata-v1.d.ts +38 -0
  384. package/dist/apis/metadata/metadata-v1.js +52 -0
  385. package/dist/apis/metadata/metadata-v10.d.ts +4 -2
  386. package/dist/apis/metadata/metadata-v10.js +29 -16
  387. package/dist/apis/metadata/metadata-v11.d.ts +3 -2
  388. package/dist/apis/metadata/metadata-v11.js +23 -15
  389. package/dist/apis/metadata/metadata-v12.d.ts +9 -2
  390. package/dist/apis/metadata/metadata-v12.js +21 -9
  391. package/dist/apis/metadata/metadata-v2.d.ts +38 -0
  392. package/dist/apis/metadata/metadata-v2.js +52 -0
  393. package/dist/apis/metadata/metadata-v3.d.ts +38 -0
  394. package/dist/apis/metadata/metadata-v3.js +52 -0
  395. package/dist/apis/metadata/metadata-v4.d.ts +38 -0
  396. package/dist/apis/metadata/metadata-v4.js +54 -0
  397. package/dist/apis/metadata/metadata-v5.d.ts +38 -0
  398. package/dist/apis/metadata/metadata-v5.js +85 -0
  399. package/dist/apis/metadata/metadata-v6.d.ts +38 -0
  400. package/dist/apis/metadata/metadata-v6.js +85 -0
  401. package/dist/apis/metadata/metadata-v7.d.ts +38 -0
  402. package/dist/apis/metadata/metadata-v7.js +86 -0
  403. package/dist/apis/metadata/metadata-v8.d.ts +39 -0
  404. package/dist/apis/metadata/metadata-v8.js +94 -0
  405. package/dist/apis/metadata/metadata-v9.d.ts +5 -3
  406. package/dist/apis/metadata/metadata-v9.js +28 -21
  407. package/dist/apis/producer/add-offsets-to-txn-v0.d.ts +10 -0
  408. package/dist/apis/producer/add-offsets-to-txn-v0.js +30 -0
  409. package/dist/apis/producer/add-offsets-to-txn-v3.js +1 -0
  410. package/dist/apis/producer/add-offsets-to-txn-v4.js +1 -0
  411. package/dist/apis/producer/add-partitions-to-txn-v0.d.ts +34 -0
  412. package/dist/apis/producer/add-partitions-to-txn-v0.js +62 -0
  413. package/dist/apis/producer/add-partitions-to-txn-v1.d.ts +5 -0
  414. package/dist/apis/producer/add-partitions-to-txn-v1.js +9 -0
  415. package/dist/apis/producer/add-partitions-to-txn-v2.d.ts +5 -0
  416. package/dist/apis/producer/add-partitions-to-txn-v2.js +9 -0
  417. package/dist/apis/producer/add-partitions-to-txn-v3.js +13 -8
  418. package/dist/apis/producer/add-partitions-to-txn-v4.js +11 -5
  419. package/dist/apis/producer/add-partitions-to-txn-v5.js +11 -5
  420. package/dist/apis/producer/end-txn-v0.d.ts +10 -0
  421. package/dist/apis/producer/end-txn-v0.js +30 -0
  422. package/dist/apis/producer/end-txn-v1.d.ts +5 -0
  423. package/dist/apis/producer/end-txn-v1.js +9 -0
  424. package/dist/apis/producer/end-txn-v2.d.ts +5 -0
  425. package/dist/apis/producer/end-txn-v2.js +9 -0
  426. package/dist/apis/producer/end-txn-v3.js +1 -0
  427. package/dist/apis/producer/end-txn-v4.js +1 -0
  428. package/dist/apis/producer/index.d.ts +17 -0
  429. package/dist/apis/producer/index.js +17 -0
  430. package/dist/apis/producer/init-producer-id-v0.d.ts +13 -0
  431. package/dist/apis/producer/init-producer-id-v0.js +31 -0
  432. package/dist/apis/producer/init-producer-id-v1.d.ts +5 -0
  433. package/dist/apis/producer/init-producer-id-v1.js +9 -0
  434. package/dist/apis/producer/init-producer-id-v2.d.ts +13 -0
  435. package/dist/apis/producer/init-producer-id-v2.js +24 -0
  436. package/dist/apis/producer/init-producer-id-v3.d.ts +2 -2
  437. package/dist/apis/producer/init-producer-id-v3.js +9 -1
  438. package/dist/apis/producer/init-producer-id-v4.d.ts +2 -2
  439. package/dist/apis/producer/init-producer-id-v4.js +9 -1
  440. package/dist/apis/producer/init-producer-id-v5.d.ts +2 -2
  441. package/dist/apis/producer/init-producer-id-v5.js +9 -1
  442. package/dist/apis/producer/produce-v10.d.ts +12 -0
  443. package/dist/apis/producer/produce-v10.js +42 -5
  444. package/dist/apis/producer/produce-v11.d.ts +12 -0
  445. package/dist/apis/producer/produce-v11.js +42 -5
  446. package/dist/apis/producer/produce-v3.d.ts +29 -0
  447. package/dist/apis/producer/produce-v3.js +88 -0
  448. package/dist/apis/producer/produce-v4.d.ts +29 -0
  449. package/dist/apis/producer/produce-v4.js +88 -0
  450. package/dist/apis/producer/produce-v5.d.ts +29 -0
  451. package/dist/apis/producer/produce-v5.js +88 -0
  452. package/dist/apis/producer/produce-v6.d.ts +29 -0
  453. package/dist/apis/producer/produce-v6.js +88 -0
  454. package/dist/apis/producer/produce-v7.js +1 -1
  455. package/dist/apis/producer/produce-v9.js +7 -3
  456. package/dist/apis/producer/txn-offset-commit-v0.d.ts +29 -0
  457. package/dist/apis/producer/txn-offset-commit-v0.js +60 -0
  458. package/dist/apis/producer/txn-offset-commit-v1.d.ts +29 -0
  459. package/dist/apis/producer/txn-offset-commit-v1.js +60 -0
  460. package/dist/apis/producer/txn-offset-commit-v2.d.ts +29 -0
  461. package/dist/apis/producer/txn-offset-commit-v2.js +62 -0
  462. package/dist/apis/producer/txn-offset-commit-v3.js +7 -3
  463. package/dist/apis/producer/txn-offset-commit-v4.js +7 -3
  464. package/dist/apis/security/index.d.ts +3 -0
  465. package/dist/apis/security/index.js +3 -0
  466. package/dist/apis/security/sasl-authenticate-v0.d.ts +15 -0
  467. package/dist/apis/security/sasl-authenticate-v0.js +30 -0
  468. package/dist/apis/security/sasl-authenticate-v1.d.ts +15 -0
  469. package/dist/apis/security/sasl-authenticate-v1.js +30 -0
  470. package/dist/apis/security/sasl-authenticate-v2.js +1 -0
  471. package/dist/apis/security/sasl-handshake-v0.d.ts +10 -0
  472. package/dist/apis/security/sasl-handshake-v0.js +28 -0
  473. package/dist/apis/tagged-fields.d.ts +7 -0
  474. package/dist/apis/tagged-fields.js +27 -0
  475. package/dist/apis/telemetry/compression-types.d.ts +8 -0
  476. package/dist/apis/telemetry/compression-types.js +7 -0
  477. package/dist/apis/telemetry/get-telemetry-subscriptions-v0.d.ts +2 -1
  478. package/dist/apis/telemetry/get-telemetry-subscriptions-v0.js +1 -0
  479. package/dist/apis/telemetry/index.d.ts +3 -0
  480. package/dist/apis/telemetry/index.js +3 -0
  481. package/dist/apis/telemetry/list-client-metrics-resources-v0.d.ts +6 -4
  482. package/dist/apis/telemetry/list-client-metrics-resources-v0.js +13 -8
  483. package/dist/apis/telemetry/list-config-resources-v1.d.ts +16 -0
  484. package/dist/apis/telemetry/list-config-resources-v1.js +38 -0
  485. package/dist/apis/telemetry/push-telemetry-v0.d.ts +3 -2
  486. package/dist/apis/telemetry/push-telemetry-v0.js +1 -0
  487. package/dist/clients/admin/admin.js +428 -378
  488. package/dist/clients/admin/options.d.ts +62 -6
  489. package/dist/clients/admin/options.js +41 -10
  490. package/dist/clients/admin/types.d.ts +8 -2
  491. package/dist/clients/base/base.d.ts +3 -3
  492. package/dist/clients/base/base.js +83 -21
  493. package/dist/clients/base/options.d.ts +3 -0
  494. package/dist/clients/base/options.js +1 -0
  495. package/dist/clients/base/types.d.ts +1 -0
  496. package/dist/clients/consumer/consumer.d.ts +5 -1
  497. package/dist/clients/consumer/consumer.js +539 -90
  498. package/dist/clients/consumer/messages-stream.js +254 -65
  499. package/dist/clients/consumer/options.d.ts +38 -0
  500. package/dist/clients/consumer/options.js +3 -0
  501. package/dist/clients/consumer/types.d.ts +44 -2
  502. package/dist/clients/consumer/types.js +5 -0
  503. package/dist/clients/consumer/utils.d.ts +2 -0
  504. package/dist/clients/consumer/utils.js +9 -0
  505. package/dist/clients/producer/producer.d.ts +1 -1
  506. package/dist/clients/producer/producer.js +146 -66
  507. package/dist/clients/serde.d.ts +1 -1
  508. package/dist/errors.d.ts +4 -0
  509. package/dist/errors.js +22 -0
  510. package/dist/network/connection-pool.js +12 -2
  511. package/dist/network/connection.js +106 -23
  512. package/dist/network/utils.js +26 -8
  513. package/dist/protocol/definitions.js +1 -1
  514. package/dist/protocol/reader.js +11 -6
  515. package/dist/protocol/records.d.ts +4 -0
  516. package/dist/protocol/writer.js +17 -4
  517. package/dist/registries/abstract.d.ts +2 -2
  518. package/dist/registries/abstract.js +27 -8
  519. package/dist/registries/confluent-schema-registry.d.ts +57 -4
  520. package/dist/registries/confluent-schema-registry.js +253 -40
  521. package/dist/symbols.d.ts +2 -0
  522. package/dist/symbols.js +2 -0
  523. package/dist/typescript-4/dist/apis/admin/alter-client-quotas-v0.d.ts +40 -0
  524. package/dist/typescript-4/dist/apis/admin/alter-client-quotas-v1.d.ts +6 -5
  525. package/dist/typescript-4/dist/apis/admin/alter-configs-v0.d.ts +7 -0
  526. package/dist/typescript-4/dist/apis/admin/alter-configs-v1.d.ts +2 -0
  527. package/dist/typescript-4/dist/apis/admin/alter-partition-reassignments-v0.d.ts +3 -2
  528. package/dist/typescript-4/dist/apis/admin/alter-partition-reassignments-v1.d.ts +6 -4
  529. package/dist/typescript-4/dist/apis/admin/alter-partition-v0.d.ts +40 -0
  530. package/dist/typescript-4/dist/apis/admin/alter-partition-v1.d.ts +37 -0
  531. package/dist/typescript-4/dist/apis/admin/alter-partition-v2.d.ts +36 -0
  532. package/dist/typescript-4/dist/apis/admin/alter-partition-v3.d.ts +6 -35
  533. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v0.d.ts +23 -0
  534. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v1.d.ts +4 -0
  535. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v2.d.ts +1 -1
  536. package/dist/typescript-4/dist/apis/admin/client-quotas.d.ts +2 -0
  537. package/dist/typescript-4/dist/apis/admin/consumer-group-describe-v0.d.ts +2 -1
  538. package/dist/typescript-4/dist/apis/admin/create-acls-v0.d.ts +16 -0
  539. package/dist/typescript-4/dist/apis/admin/create-acls-v1.d.ts +15 -0
  540. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v0.d.ts +24 -0
  541. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v1.d.ts +4 -0
  542. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v2.d.ts +9 -0
  543. package/dist/typescript-4/dist/apis/admin/create-partitions-v0.d.ts +2 -0
  544. package/dist/typescript-4/dist/apis/admin/create-partitions-v1.d.ts +2 -2
  545. package/dist/typescript-4/dist/apis/admin/create-partitions-v2.d.ts +2 -2
  546. package/dist/typescript-4/dist/apis/admin/create-topics-v0.d.ts +42 -0
  547. package/dist/typescript-4/dist/apis/admin/create-topics-v1.d.ts +42 -0
  548. package/dist/typescript-4/dist/apis/admin/create-topics-v2.d.ts +42 -0
  549. package/dist/typescript-4/dist/apis/admin/create-topics-v3.d.ts +42 -0
  550. package/dist/typescript-4/dist/apis/admin/create-topics-v4.d.ts +42 -0
  551. package/dist/typescript-4/dist/apis/admin/create-topics-v5.d.ts +42 -0
  552. package/dist/typescript-4/dist/apis/admin/create-topics-v6.d.ts +42 -0
  553. package/dist/typescript-4/dist/apis/admin/create-topics-v7.d.ts +2 -1
  554. package/dist/typescript-4/dist/apis/admin/delete-acls-v0.d.ts +28 -0
  555. package/dist/typescript-4/dist/apis/admin/delete-acls-v1.d.ts +27 -0
  556. package/dist/typescript-4/dist/apis/admin/delete-groups-v0.d.ts +14 -0
  557. package/dist/typescript-4/dist/apis/admin/delete-groups-v1.d.ts +14 -0
  558. package/dist/typescript-4/dist/apis/admin/delete-records-v0.d.ts +27 -0
  559. package/dist/typescript-4/dist/apis/admin/delete-records-v1.d.ts +27 -0
  560. package/dist/typescript-4/dist/apis/admin/delete-topics-v0.d.ts +19 -0
  561. package/dist/typescript-4/dist/apis/admin/delete-topics-v1.d.ts +19 -0
  562. package/dist/typescript-4/dist/apis/admin/delete-topics-v2.d.ts +19 -0
  563. package/dist/typescript-4/dist/apis/admin/delete-topics-v3.d.ts +19 -0
  564. package/dist/typescript-4/dist/apis/admin/delete-topics-v4.d.ts +19 -0
  565. package/dist/typescript-4/dist/apis/admin/delete-topics-v5.d.ts +19 -0
  566. package/dist/typescript-4/dist/apis/admin/delete-topics-v6.d.ts +1 -1
  567. package/dist/typescript-4/dist/apis/admin/describe-acls-v0.d.ts +21 -0
  568. package/dist/typescript-4/dist/apis/admin/describe-acls-v1.d.ts +21 -0
  569. package/dist/typescript-4/dist/apis/admin/describe-client-quotas-v0.d.ts +8 -7
  570. package/dist/typescript-4/dist/apis/admin/describe-client-quotas-v1.d.ts +9 -0
  571. package/dist/typescript-4/dist/apis/admin/describe-cluster-v0.d.ts +4 -3
  572. package/dist/typescript-4/dist/apis/admin/describe-cluster-v1.d.ts +4 -3
  573. package/dist/typescript-4/dist/apis/admin/describe-configs-v0.d.ts +41 -0
  574. package/dist/typescript-4/dist/apis/admin/describe-configs-v1.d.ts +39 -0
  575. package/dist/typescript-4/dist/apis/admin/describe-configs-v2.d.ts +9 -8
  576. package/dist/typescript-4/dist/apis/admin/describe-configs-v3.d.ts +9 -8
  577. package/dist/typescript-4/dist/apis/admin/describe-configs-v4.d.ts +2 -2
  578. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v0.d.ts +31 -0
  579. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v1.d.ts +4 -0
  580. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v2.d.ts +8 -0
  581. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v3.d.ts +4 -27
  582. package/dist/typescript-4/dist/apis/admin/describe-groups-v0.d.ts +28 -0
  583. package/dist/typescript-4/dist/apis/admin/describe-groups-v1.d.ts +28 -0
  584. package/dist/typescript-4/dist/apis/admin/describe-groups-v2.d.ts +28 -0
  585. package/dist/typescript-4/dist/apis/admin/describe-groups-v3.d.ts +28 -0
  586. package/dist/typescript-4/dist/apis/admin/describe-groups-v4.d.ts +28 -0
  587. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v0.d.ts +30 -0
  588. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v1.d.ts +4 -0
  589. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v2.d.ts +3 -2
  590. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v3.d.ts +3 -2
  591. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v4.d.ts +3 -2
  592. package/dist/typescript-4/dist/apis/admin/describe-quorum-v0.d.ts +13 -0
  593. package/dist/typescript-4/dist/apis/admin/describe-quorum-v1.d.ts +13 -0
  594. package/dist/typescript-4/dist/apis/admin/describe-topic-partitions-v0.d.ts +3 -3
  595. package/dist/typescript-4/dist/apis/admin/describe-user-scram-credentials-v0.d.ts +4 -3
  596. package/dist/typescript-4/dist/apis/admin/expire-delegation-token-v0.d.ts +11 -0
  597. package/dist/typescript-4/dist/apis/admin/expire-delegation-token-v1.d.ts +4 -0
  598. package/dist/typescript-4/dist/apis/admin/incremental-alter-configs-v0.d.ts +26 -0
  599. package/dist/typescript-4/dist/apis/admin/index.d.ts +60 -0
  600. package/dist/typescript-4/dist/apis/admin/list-groups-v0.d.ts +18 -0
  601. package/dist/typescript-4/dist/apis/admin/list-groups-v1.d.ts +18 -0
  602. package/dist/typescript-4/dist/apis/admin/list-groups-v2.d.ts +18 -0
  603. package/dist/typescript-4/dist/apis/admin/list-groups-v3.d.ts +18 -0
  604. package/dist/typescript-4/dist/apis/admin/list-groups-v4.d.ts +4 -3
  605. package/dist/typescript-4/dist/apis/admin/list-groups-v5.d.ts +3 -3
  606. package/dist/typescript-4/dist/apis/admin/list-partition-reassignments-v0.d.ts +3 -3
  607. package/dist/typescript-4/dist/apis/admin/list-transactions-v0.d.ts +5 -3
  608. package/dist/typescript-4/dist/apis/admin/list-transactions-v1.d.ts +5 -3
  609. package/dist/typescript-4/dist/apis/admin/list-transactions-v2.d.ts +5 -4
  610. package/dist/typescript-4/dist/apis/admin/renew-delegation-token-v0.d.ts +11 -0
  611. package/dist/typescript-4/dist/apis/admin/renew-delegation-token-v1.d.ts +4 -0
  612. package/dist/typescript-4/dist/apis/admin/update-features-v0.d.ts +24 -0
  613. package/dist/typescript-4/dist/apis/admin/update-features-v1.d.ts +2 -1
  614. package/dist/typescript-4/dist/apis/callbacks.d.ts +1 -3
  615. package/dist/typescript-4/dist/apis/consumer/consumer-group-heartbeat-v0.d.ts +2 -2
  616. package/dist/typescript-4/dist/apis/consumer/consumer-group-heartbeat-v1.d.ts +2 -2
  617. package/dist/typescript-4/dist/apis/consumer/fetch-v10.d.ts +51 -0
  618. package/dist/typescript-4/dist/apis/consumer/fetch-v11.d.ts +51 -0
  619. package/dist/typescript-4/dist/apis/consumer/fetch-v12.d.ts +20 -4
  620. package/dist/typescript-4/dist/apis/consumer/fetch-v13.d.ts +20 -4
  621. package/dist/typescript-4/dist/apis/consumer/fetch-v14.d.ts +20 -4
  622. package/dist/typescript-4/dist/apis/consumer/fetch-v15.d.ts +20 -4
  623. package/dist/typescript-4/dist/apis/consumer/fetch-v16.d.ts +27 -4
  624. package/dist/typescript-4/dist/apis/consumer/fetch-v17.d.ts +28 -4
  625. package/dist/typescript-4/dist/apis/consumer/fetch-v4.d.ts +51 -0
  626. package/dist/typescript-4/dist/apis/consumer/fetch-v5.d.ts +51 -0
  627. package/dist/typescript-4/dist/apis/consumer/fetch-v6.d.ts +51 -0
  628. package/dist/typescript-4/dist/apis/consumer/fetch-v7.d.ts +51 -0
  629. package/dist/typescript-4/dist/apis/consumer/fetch-v8.d.ts +51 -0
  630. package/dist/typescript-4/dist/apis/consumer/fetch-v9.d.ts +51 -0
  631. package/dist/typescript-4/dist/apis/consumer/heartbeat-v0.d.ts +11 -0
  632. package/dist/typescript-4/dist/apis/consumer/heartbeat-v1.d.ts +11 -0
  633. package/dist/typescript-4/dist/apis/consumer/heartbeat-v2.d.ts +11 -0
  634. package/dist/typescript-4/dist/apis/consumer/heartbeat-v3.d.ts +11 -0
  635. package/dist/typescript-4/dist/apis/consumer/index.d.ts +51 -0
  636. package/dist/typescript-4/dist/apis/consumer/join-group-v0.d.ts +27 -0
  637. package/dist/typescript-4/dist/apis/consumer/join-group-v1.d.ts +8 -0
  638. package/dist/typescript-4/dist/apis/consumer/join-group-v2.d.ts +27 -0
  639. package/dist/typescript-4/dist/apis/consumer/join-group-v3.d.ts +27 -0
  640. package/dist/typescript-4/dist/apis/consumer/join-group-v4.d.ts +27 -0
  641. package/dist/typescript-4/dist/apis/consumer/join-group-v5.d.ts +27 -0
  642. package/dist/typescript-4/dist/apis/consumer/join-group-v6.d.ts +2 -2
  643. package/dist/typescript-4/dist/apis/consumer/join-group-v7.d.ts +2 -2
  644. package/dist/typescript-4/dist/apis/consumer/join-group-v8.d.ts +2 -2
  645. package/dist/typescript-4/dist/apis/consumer/join-group-v9.d.ts +2 -2
  646. package/dist/typescript-4/dist/apis/consumer/leave-group-v0.d.ts +22 -0
  647. package/dist/typescript-4/dist/apis/consumer/leave-group-v1.d.ts +22 -0
  648. package/dist/typescript-4/dist/apis/consumer/leave-group-v2.d.ts +22 -0
  649. package/dist/typescript-4/dist/apis/consumer/leave-group-v3.d.ts +22 -0
  650. package/dist/typescript-4/dist/apis/consumer/leave-group-v4.d.ts +1 -1
  651. package/dist/typescript-4/dist/apis/consumer/leave-group-v5.d.ts +1 -1
  652. package/dist/typescript-4/dist/apis/consumer/list-offsets-v0.d.ts +30 -0
  653. package/dist/typescript-4/dist/apis/consumer/list-offsets-v1.d.ts +12 -0
  654. package/dist/typescript-4/dist/apis/consumer/list-offsets-v2.d.ts +30 -0
  655. package/dist/typescript-4/dist/apis/consumer/list-offsets-v3.d.ts +30 -0
  656. package/dist/typescript-4/dist/apis/consumer/list-offsets-v4.d.ts +30 -0
  657. package/dist/typescript-4/dist/apis/consumer/offset-commit-v0.d.ts +29 -0
  658. package/dist/typescript-4/dist/apis/consumer/offset-commit-v1.d.ts +7 -0
  659. package/dist/typescript-4/dist/apis/consumer/offset-commit-v2.d.ts +8 -0
  660. package/dist/typescript-4/dist/apis/consumer/offset-commit-v3.d.ts +29 -0
  661. package/dist/typescript-4/dist/apis/consumer/offset-commit-v4.d.ts +29 -0
  662. package/dist/typescript-4/dist/apis/consumer/offset-commit-v5.d.ts +29 -0
  663. package/dist/typescript-4/dist/apis/consumer/offset-commit-v6.d.ts +29 -0
  664. package/dist/typescript-4/dist/apis/consumer/offset-commit-v7.d.ts +29 -0
  665. package/dist/typescript-4/dist/apis/consumer/offset-commit-v8.d.ts +2 -2
  666. package/dist/typescript-4/dist/apis/consumer/offset-commit-v9.d.ts +2 -2
  667. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v0.d.ts +40 -0
  668. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v1.d.ts +6 -0
  669. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v2.d.ts +7 -0
  670. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v3.d.ts +39 -0
  671. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v4.d.ts +39 -0
  672. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v5.d.ts +39 -0
  673. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v6.d.ts +39 -0
  674. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v7.d.ts +39 -0
  675. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v0.d.ts +29 -0
  676. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v1.d.ts +29 -0
  677. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v2.d.ts +29 -0
  678. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v3.d.ts +29 -0
  679. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v4.d.ts +1 -1
  680. package/dist/typescript-4/dist/apis/consumer/sync-group-v0.d.ts +18 -0
  681. package/dist/typescript-4/dist/apis/consumer/sync-group-v1.d.ts +18 -0
  682. package/dist/typescript-4/dist/apis/consumer/sync-group-v2.d.ts +18 -0
  683. package/dist/typescript-4/dist/apis/consumer/sync-group-v3.d.ts +18 -0
  684. package/dist/typescript-4/dist/apis/enumerations.d.ts +21 -6
  685. package/dist/typescript-4/dist/apis/index.d.ts +1 -0
  686. package/dist/typescript-4/dist/apis/metadata/api-versions-v0.d.ts +17 -0
  687. package/dist/typescript-4/dist/apis/metadata/api-versions-v1.d.ts +17 -0
  688. package/dist/typescript-4/dist/apis/metadata/api-versions-v2.d.ts +17 -0
  689. package/dist/typescript-4/dist/apis/metadata/api-versions-v3.d.ts +16 -2
  690. package/dist/typescript-4/dist/apis/metadata/api-versions-v4.d.ts +16 -2
  691. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v0.d.ts +18 -0
  692. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v1.d.ts +18 -0
  693. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v2.d.ts +18 -0
  694. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v3.d.ts +18 -0
  695. package/dist/typescript-4/dist/apis/metadata/index.d.ts +16 -0
  696. package/dist/typescript-4/dist/apis/metadata/metadata-v0.d.ts +38 -0
  697. package/dist/typescript-4/dist/apis/metadata/metadata-v1.d.ts +38 -0
  698. package/dist/typescript-4/dist/apis/metadata/metadata-v10.d.ts +4 -2
  699. package/dist/typescript-4/dist/apis/metadata/metadata-v11.d.ts +3 -2
  700. package/dist/typescript-4/dist/apis/metadata/metadata-v12.d.ts +9 -2
  701. package/dist/typescript-4/dist/apis/metadata/metadata-v2.d.ts +38 -0
  702. package/dist/typescript-4/dist/apis/metadata/metadata-v3.d.ts +38 -0
  703. package/dist/typescript-4/dist/apis/metadata/metadata-v4.d.ts +38 -0
  704. package/dist/typescript-4/dist/apis/metadata/metadata-v5.d.ts +38 -0
  705. package/dist/typescript-4/dist/apis/metadata/metadata-v6.d.ts +38 -0
  706. package/dist/typescript-4/dist/apis/metadata/metadata-v7.d.ts +38 -0
  707. package/dist/typescript-4/dist/apis/metadata/metadata-v8.d.ts +39 -0
  708. package/dist/typescript-4/dist/apis/metadata/metadata-v9.d.ts +5 -3
  709. package/dist/typescript-4/dist/apis/producer/add-offsets-to-txn-v0.d.ts +10 -0
  710. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v0.d.ts +34 -0
  711. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v1.d.ts +5 -0
  712. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v2.d.ts +5 -0
  713. package/dist/typescript-4/dist/apis/producer/end-txn-v0.d.ts +10 -0
  714. package/dist/typescript-4/dist/apis/producer/end-txn-v1.d.ts +5 -0
  715. package/dist/typescript-4/dist/apis/producer/end-txn-v2.d.ts +5 -0
  716. package/dist/typescript-4/dist/apis/producer/index.d.ts +17 -0
  717. package/dist/typescript-4/dist/apis/producer/init-producer-id-v0.d.ts +13 -0
  718. package/dist/typescript-4/dist/apis/producer/init-producer-id-v1.d.ts +5 -0
  719. package/dist/typescript-4/dist/apis/producer/init-producer-id-v2.d.ts +13 -0
  720. package/dist/typescript-4/dist/apis/producer/init-producer-id-v3.d.ts +2 -2
  721. package/dist/typescript-4/dist/apis/producer/init-producer-id-v4.d.ts +2 -2
  722. package/dist/typescript-4/dist/apis/producer/init-producer-id-v5.d.ts +2 -2
  723. package/dist/typescript-4/dist/apis/producer/produce-v10.d.ts +12 -0
  724. package/dist/typescript-4/dist/apis/producer/produce-v11.d.ts +12 -0
  725. package/dist/typescript-4/dist/apis/producer/produce-v3.d.ts +29 -0
  726. package/dist/typescript-4/dist/apis/producer/produce-v4.d.ts +29 -0
  727. package/dist/typescript-4/dist/apis/producer/produce-v5.d.ts +29 -0
  728. package/dist/typescript-4/dist/apis/producer/produce-v6.d.ts +29 -0
  729. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v0.d.ts +29 -0
  730. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v1.d.ts +29 -0
  731. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v2.d.ts +29 -0
  732. package/dist/typescript-4/dist/apis/security/index.d.ts +3 -0
  733. package/dist/typescript-4/dist/apis/security/sasl-authenticate-v0.d.ts +15 -0
  734. package/dist/typescript-4/dist/apis/security/sasl-authenticate-v1.d.ts +15 -0
  735. package/dist/typescript-4/dist/apis/security/sasl-handshake-v0.d.ts +10 -0
  736. package/dist/typescript-4/dist/apis/tagged-fields.d.ts +7 -0
  737. package/dist/typescript-4/dist/apis/telemetry/compression-types.d.ts +8 -0
  738. package/dist/typescript-4/dist/apis/telemetry/get-telemetry-subscriptions-v0.d.ts +2 -1
  739. package/dist/typescript-4/dist/apis/telemetry/index.d.ts +3 -0
  740. package/dist/typescript-4/dist/apis/telemetry/list-client-metrics-resources-v0.d.ts +6 -4
  741. package/dist/typescript-4/dist/apis/telemetry/list-config-resources-v1.d.ts +16 -0
  742. package/dist/typescript-4/dist/apis/telemetry/push-telemetry-v0.d.ts +3 -2
  743. package/dist/typescript-4/dist/clients/admin/options.d.ts +62 -6
  744. package/dist/typescript-4/dist/clients/admin/types.d.ts +8 -2
  745. package/dist/typescript-4/dist/clients/base/base.d.ts +3 -3
  746. package/dist/typescript-4/dist/clients/base/options.d.ts +3 -0
  747. package/dist/typescript-4/dist/clients/base/types.d.ts +1 -0
  748. package/dist/typescript-4/dist/clients/consumer/consumer.d.ts +5 -1
  749. package/dist/typescript-4/dist/clients/consumer/options.d.ts +38 -0
  750. package/dist/typescript-4/dist/clients/consumer/types.d.ts +44 -2
  751. package/dist/typescript-4/dist/clients/consumer/utils.d.ts +2 -0
  752. package/dist/typescript-4/dist/clients/producer/producer.d.ts +1 -1
  753. package/dist/typescript-4/dist/clients/serde.d.ts +1 -1
  754. package/dist/typescript-4/dist/errors.d.ts +4 -0
  755. package/dist/typescript-4/dist/protocol/records.d.ts +4 -0
  756. package/dist/typescript-4/dist/registries/abstract.d.ts +2 -2
  757. package/dist/typescript-4/dist/registries/confluent-schema-registry.d.ts +57 -4
  758. package/dist/typescript-4/dist/symbols.d.ts +2 -0
  759. package/dist/version.js +1 -1
  760. package/package.json +12 -3
@@ -2,14 +2,15 @@ import { Readable } from 'node:stream';
2
2
  import { createPromisifiedCallback, kCallbackPromise, noopCallback } from "../../apis/callbacks.js";
3
3
  import { ListOffsetTimestamps } from "../../apis/enumerations.js";
4
4
  import { consumerReceivesChannel, createDiagnosticContext, notifyCreation } from "../../diagnostic.js";
5
- import { protocolErrors, UserError } from "../../errors.js";
5
+ import { findErrorBy, protocolErrors, UserError } from "../../errors.js";
6
6
  import { IS_CONTROL } from "../../protocol/records.js";
7
7
  import { runAsyncSeries } from "../../registries/abstract.js";
8
- import { kAutocommit, kInstance, kRefreshOffsetsAndFetch } from "../../symbols.js";
8
+ import { kAutocommit, kDeserializationError, kGetFetchNode, kInstance, kRefreshOffsetsAndFetch } from "../../symbols.js";
9
9
  import { kConnections, kCreateConnectionPool, kInspect, kPrometheus } from "../base/base.js";
10
10
  import { ensureMetric } from "../metrics.js";
11
11
  import { defaultConsumerOptions } from "./options.js";
12
- import { MessagesStreamFallbackModes, MessagesStreamModes } from "./types.js";
12
+ import { DeserializationErrorActions, MessagesStreamFallbackModes, MessagesStreamModes } from "./types.js";
13
+ import { partitionKey } from "./utils.js";
13
14
  // Don't move this function as being in the same file will enable V8 to remove.
14
15
  // For futher info, ask Matteo.
15
16
  /* c8 ignore next 3 - Fallback deserializer, nothing to really test */
@@ -23,11 +24,12 @@ function messageToJSON() {
23
24
  return {
24
25
  key: this.key,
25
26
  value: this.value,
26
- headers: Array.from(this.headers.entries()),
27
+ headers: this.headerEntries.map(([key, value]) => [key, value]),
27
28
  topic: this.topic,
28
29
  partition: this.partition,
29
30
  timestamp: this.timestamp.toString(),
30
31
  offset: this.offset.toString(),
32
+ leaderEpoch: this.leaderEpoch,
31
33
  metadata: this.metadata
32
34
  };
33
35
  }
@@ -60,6 +62,7 @@ export class MessagesStream extends Readable {
60
62
  #closeCallbacks;
61
63
  #metricsConsumedMessages;
62
64
  #corruptedMessageHandler;
65
+ #deserializationErrorHandler;
63
66
  #context;
64
67
  #onConsumerGroupJoin;
65
68
  #onBrokerDisconnect;
@@ -82,9 +85,12 @@ export class MessagesStream extends Readable {
82
85
  */
83
86
  [kConnections];
84
87
  constructor(consumer, options) {
85
- const { autocommit, mode, fallbackMode, maxFetches, offsets, context, deserializers, onCorruptedMessage, registry, beforeDeserialization,
88
+ const { autocommit, mode, fallbackMode, maxFetches, offsets, context, deserializers, onCorruptedMessage, onDeserializationError, registry, beforeDeserialization,
86
89
  // The options below are only destructured to avoid being part of structuredClone below
87
- partitionAssigner: _partitionAssigner, ...otherOptions } = options;
90
+ partitionAssigner: _partitionAssigner, protocolsMetadata: _protocolsMetadata, ...otherOptions } = options;
91
+ if (onCorruptedMessage && onDeserializationError) {
92
+ throw new UserError('Cannot specify both onCorruptedMessage and onDeserializationError.');
93
+ }
88
94
  if (offsets && mode !== MessagesStreamModes.MANUAL) {
89
95
  throw new UserError('Cannot specify offsets when the stream mode is not MANUAL.');
90
96
  }
@@ -123,6 +129,7 @@ export class MessagesStream extends Readable {
123
129
  this.#closed = false;
124
130
  this.#closeCallbacks = [];
125
131
  this.#corruptedMessageHandler = onCorruptedMessage ?? defaultCorruptedMessageHandler;
132
+ this.#deserializationErrorHandler = onDeserializationError;
126
133
  this.#context = context;
127
134
  this.#onConsumerGroupJoin = () => {
128
135
  this.#offsetsCommitted.clear();
@@ -145,7 +152,7 @@ export class MessagesStream extends Readable {
145
152
  this.#offsetsToFetch = new Map();
146
153
  if (offsets) {
147
154
  for (const { topic, partition, offset } of offsets) {
148
- this.#offsetsToFetch.set(`${topic}:${partition}`, offset);
155
+ this.#offsetsToFetch.set(partitionKey(topic, partition), offset);
149
156
  }
150
157
  }
151
158
  // Clone the rest of the options so the user can never mutate them
@@ -301,7 +308,16 @@ export class MessagesStream extends Readable {
301
308
  return super[Symbol.asyncIterator]();
302
309
  }
303
310
  _construct(callback) {
304
- this.#refreshOffsets(callback);
311
+ this.#refreshOffsetsInflight = true;
312
+ this.#refreshOffsets(error => {
313
+ const wasPending = this.#refreshOffsetsPending;
314
+ this.#refreshOffsetsInflight = false;
315
+ this.#refreshOffsetsPending = false;
316
+ if (!error && wasPending) {
317
+ this.#scheduleRefreshOffsetsAndFetch();
318
+ }
319
+ callback(error ?? undefined);
320
+ });
305
321
  }
306
322
  _destroy(error, callback) {
307
323
  if (this.#autocommitInterval) {
@@ -364,21 +380,22 @@ export class MessagesStream extends Readable {
364
380
  }
365
381
  const partitions = assignment.partitions;
366
382
  for (const partition of partitions) {
367
- const leader = metadata.topics.get(topic).partitions[partition].leader;
368
- if (this.#inflightNodes.has(leader)) {
383
+ const targetNode = this.#consumer[kGetFetchNode](metadata, topic, partition, now);
384
+ const key = partitionKey(topic, partition);
385
+ if (this.#inflightNodes.has(targetNode)) {
369
386
  continue;
370
387
  }
371
- let leaderRequests = requests.get(leader);
372
- if (!leaderRequests) {
373
- leaderRequests = [];
374
- requests.set(leader, leaderRequests);
388
+ let nodeRequests = requests.get(targetNode);
389
+ if (!nodeRequests) {
390
+ nodeRequests = [];
391
+ requests.set(targetNode, nodeRequests);
375
392
  }
376
393
  const topicId = metadata.topics.get(topic).id;
377
394
  topicIds.set(topicId, topic);
378
- const fetchOffset = this.#offsetsToFetch.get(`${topic}:${partition}`);
379
- requestedOffsets.set(`${topic}:${partition}`, fetchOffset);
380
- const leaderEpoch = this.#partitionsEpochs.get(`${topic}:${partition}`) ?? -1;
381
- leaderRequests.push({
395
+ const fetchOffset = this.#offsetsToFetch.get(key);
396
+ requestedOffsets.set(key, fetchOffset);
397
+ const leaderEpoch = this.#partitionsEpochs.get(key) ?? -1;
398
+ nodeRequests.push({
382
399
  topicId,
383
400
  partitions: [
384
401
  {
@@ -395,10 +412,10 @@ export class MessagesStream extends Readable {
395
412
  if (requests.size === 0) {
396
413
  return;
397
414
  }
398
- for (const [leader, leaderRequests] of requests) {
399
- this.#inflightNodes.set(leader, Date.now());
400
- this.#consumer.fetch({ ...this.#options, node: leader, topics: leaderRequests, connectionPool: this[kConnections] }, (error, response) => {
401
- this.#inflightNodes.delete(leader);
415
+ for (const [node, nodeRequests] of requests) {
416
+ this.#inflightNodes.set(node, Date.now());
417
+ this.#consumer.fetch({ ...this.#options, node, topics: nodeRequests, connectionPool: this[kConnections] }, (error, response) => {
418
+ this.#inflightNodes.delete(node);
402
419
  this.emit('fetch');
403
420
  if (error) {
404
421
  // The stream has been closed, ignore the error
@@ -407,10 +424,22 @@ export class MessagesStream extends Readable {
407
424
  this.push(null);
408
425
  return;
409
426
  }
410
- if (this.#fallbackMode !== MessagesStreamFallbackModes.FAIL &&
411
- this.#handleOffsetOutOfRange(error, topicIds)) {
412
- process.nextTick(() => {
413
- this.#fetch();
427
+ if (this.#fallbackMode !== MessagesStreamFallbackModes.FAIL) {
428
+ this.#handleOffsetOutOfRange(error, topicIds, (recoveryError, recovered) => {
429
+ if (this.#closed || this.closed || this.destroyed) {
430
+ return;
431
+ }
432
+ if (recoveryError) {
433
+ this.destroy(recoveryError);
434
+ return;
435
+ }
436
+ if (recovered) {
437
+ process.nextTick(() => {
438
+ this.#fetch();
439
+ });
440
+ return;
441
+ }
442
+ this.destroy(error);
414
443
  });
415
444
  return;
416
445
  }
@@ -430,34 +459,81 @@ export class MessagesStream extends Readable {
430
459
  }
431
460
  });
432
461
  }
433
- #handleOffsetOutOfRange(error, topicIds) {
434
- if (!error.findBy?.('apiId', 'OFFSET_OUT_OF_RANGE')) {
435
- return false;
462
+ #handleOffsetOutOfRange(error, topicIds, callback) {
463
+ if (!findErrorBy(error, 'apiId', 'OFFSET_OUT_OF_RANGE')) {
464
+ callback(null, false);
465
+ return;
436
466
  }
437
467
  const response = error.response;
438
468
  if (!response || response.errorCode !== 0) {
439
- return false;
469
+ callback(null, false);
470
+ return;
440
471
  }
441
472
  const recoveredOffsets = [];
473
+ const partitionsToRefresh = new Map();
442
474
  for (const topicResponse of response.responses) {
443
475
  const topic = topicIds.get(topicResponse.topicId);
444
476
  if (!topic) {
445
- return false;
477
+ callback(null, false);
478
+ return;
446
479
  }
447
480
  for (const partitionResponse of topicResponse.partitions) {
448
481
  if (partitionResponse.errorCode === 0) {
449
482
  continue;
450
483
  }
451
484
  if (partitionResponse.errorCode !== protocolErrors.OFFSET_OUT_OF_RANGE.code) {
452
- return false;
485
+ callback(null, false);
486
+ return;
453
487
  }
454
- const key = `${topic}:${partitionResponse.partitionIndex}`;
455
488
  const offset = this.#fallbackMode === MessagesStreamFallbackModes.EARLIEST
456
489
  ? partitionResponse.logStartOffset
457
490
  : partitionResponse.highWatermark;
458
- recoveredOffsets.push([key, offset]);
491
+ if (offset >= 0n) {
492
+ recoveredOffsets.push([partitionKey(topic, partitionResponse.partitionIndex), offset]);
493
+ continue;
494
+ }
495
+ let partitions = partitionsToRefresh.get(topic);
496
+ if (!partitions) {
497
+ partitions = [];
498
+ partitionsToRefresh.set(topic, partitions);
499
+ }
500
+ partitions.push(partitionResponse.partitionIndex);
459
501
  }
460
502
  }
503
+ if (partitionsToRefresh.size > 0) {
504
+ this.#refreshOutOfRangeOffsets(partitionsToRefresh, recoveredOffsets, callback);
505
+ return;
506
+ }
507
+ callback(null, this.#applyRecoveredOffsets(recoveredOffsets));
508
+ }
509
+ #refreshOutOfRangeOffsets(partitionsToRefresh, recoveredOffsets, callback) {
510
+ const partitions = Object.fromEntries(partitionsToRefresh);
511
+ this.#consumer.listOffsets({
512
+ topics: Array.from(partitionsToRefresh.keys()),
513
+ partitions,
514
+ timestamp: this.#fallbackMode === MessagesStreamFallbackModes.EARLIEST
515
+ ? ListOffsetTimestamps.EARLIEST
516
+ : ListOffsetTimestamps.LATEST
517
+ }, (error, offsets) => {
518
+ if (error) {
519
+ callback(error);
520
+ return;
521
+ }
522
+ for (const [topic, refreshedPartitions] of partitionsToRefresh) {
523
+ const topicOffsets = offsets.get(topic);
524
+ for (const partition of refreshedPartitions) {
525
+ const offset = topicOffsets?.[partition];
526
+ if (typeof offset !== 'bigint' || offset < 0n) {
527
+ callback(new UserError(`Cannot recover offset out of range for topic ${topic} partition ${partition}.`));
528
+ return;
529
+ }
530
+ recoveredOffsets.push([partitionKey(topic, partition), offset]);
531
+ }
532
+ }
533
+ callback(null, this.#applyRecoveredOffsets(recoveredOffsets));
534
+ });
535
+ }
536
+ #applyRecoveredOffsets(recoveredOffsets) {
461
537
  for (const [key, offset] of recoveredOffsets) {
462
538
  this.#offsetsToFetch.set(key, offset);
463
539
  this.#offsetsCommitted.set(key, offset);
@@ -487,6 +563,12 @@ export class MessagesStream extends Readable {
487
563
  for (const topicResponse of response.responses) {
488
564
  const topic = topicIds.get(topicResponse.topicId);
489
565
  for (const { records: recordsBatches, partitionIndex: partition } of topicResponse.partitions) {
566
+ const key = partitionKey(topic, partition);
567
+ // The broker can return partitions which were not requested when they linger
568
+ // in an incremental fetch session - their data is stale and must not rewind offsets
569
+ if (!requestedOffsets.has(key)) {
570
+ continue;
571
+ }
490
572
  if (!recordsBatches) {
491
573
  continue;
492
574
  }
@@ -494,15 +576,15 @@ export class MessagesStream extends Readable {
494
576
  const firstTimestamp = batch.firstTimestamp;
495
577
  const firstOffset = batch.firstOffset;
496
578
  const leaderEpoch = metadata.topics.get(topic).partitions[partition].leaderEpoch;
497
- this.#partitionsEpochs.set(`${topic}:${partition}`, leaderEpoch);
579
+ this.#partitionsEpochs.set(key, leaderEpoch);
498
580
  // Track offsets
499
581
  if (batch === recordsBatches[recordsBatches.length - 1]) {
500
582
  // Track the last read offset
501
583
  const lastOffset = batch.firstOffset + BigInt(batch.lastOffsetDelta);
502
- this.#offsetsToFetch.set(`${topic}:${partition}`, lastOffset + 1n);
584
+ this.#offsetsToFetch.set(key, lastOffset + 1n);
503
585
  // Autocommit if needed
504
586
  if (autocommit) {
505
- this.#offsetsToCommit.set(`${topic}:${partition}`, {
587
+ this.#offsetsToCommit.set(key, {
506
588
  topic,
507
589
  partition,
508
590
  offset: lastOffset + 1n,
@@ -518,7 +600,7 @@ export class MessagesStream extends Readable {
518
600
  for (const record of batch.records) {
519
601
  const messageToConsume = { ...record, topic, partition };
520
602
  const offset = batch.firstOffset + BigInt(record.offsetDelta);
521
- if (offset < requestedOffsets.get(`${topic}:${partition}`)) {
603
+ if (offset < requestedOffsets.get(key)) {
522
604
  // Thi is a duplicate message, ignore it
523
605
  continue;
524
606
  }
@@ -534,25 +616,111 @@ export class MessagesStream extends Readable {
534
616
  : this.#commit.bind(this, topic, partition, offset + 1n, leaderEpoch);
535
617
  try {
536
618
  const headers = new Map();
537
- for (const [headerKey, headerValue] of record.headers) {
538
- headers.set(
539
- /* c8 ignore next 2 - Hard to test */
540
- headerKeyDeserializer(headerKey ?? undefined, messageToConsume), headerValueDeserializer(headerValue ?? undefined, messageToConsume));
619
+ const headerEntries = [];
620
+ let payloadType = 'headerKey';
621
+ let deserializedKey;
622
+ let deserializedValue;
623
+ let deserializationError;
624
+ let hookFailed = false;
625
+ try {
626
+ // A before-deserialization hook already failed for this message, report it as is
627
+ const hookError = messageToConsume[kDeserializationError];
628
+ if (hookError) {
629
+ hookFailed = true;
630
+ payloadType = hookError.payloadType;
631
+ throw hookError.error;
632
+ }
633
+ for (const [headerKey, headerValue] of record.headers) {
634
+ payloadType = 'headerKey';
635
+ /* c8 ignore next - Hard to test */
636
+ const deserializedHeaderKey = headerKeyDeserializer(headerKey ?? undefined, messageToConsume);
637
+ payloadType = 'headerValue';
638
+ /* c8 ignore next - Hard to test */
639
+ const deserializedHeaderValue = headerValueDeserializer(headerValue ?? undefined, messageToConsume);
640
+ headers.set(deserializedHeaderKey, deserializedHeaderValue);
641
+ headerEntries.push([deserializedHeaderKey, deserializedHeaderValue]);
642
+ }
643
+ payloadType = 'key';
644
+ /* c8 ignore next - Hard to test */
645
+ deserializedKey = keyDeserializer(record.key ?? undefined, headers, messageToConsume);
646
+ payloadType = 'value';
647
+ deserializedValue = valueDeserializer(record.value ?? undefined, headers, messageToConsume);
648
+ }
649
+ catch (error) {
650
+ const context = {
651
+ error,
652
+ payloadType,
653
+ record,
654
+ topic,
655
+ partition,
656
+ offset,
657
+ timestamp: firstTimestamp + record.timestampDelta,
658
+ commit: commit
659
+ };
660
+ const action = this.#deserializationErrorHandler
661
+ ? this.#deserializationErrorHandler(context)
662
+ : this.#corruptedMessageHandler(record, topic, partition, firstTimestamp, firstOffset, commit, error)
663
+ ? DeserializationErrorActions.FAIL
664
+ : DeserializationErrorActions.SKIP;
665
+ if (action === DeserializationErrorActions.CONTINUE) {
666
+ /*
667
+ Deliver the message in a degraded form, so that nothing is lost: whatever was
668
+ already deserialized is kept, while the payload which failed and the ones which
669
+ were never attempted, since deserialization goes headers, key and then value,
670
+ are delivered as the original bytes.
671
+
672
+ The error is reported on the message metadata and published on the diagnostic
673
+ channel, which is where callers should react to it: logging here would be a log
674
+ storm waiting to happen.
675
+ */
676
+ diagnosticContext.error = error;
677
+ consumerReceivesChannel.error.publish(diagnosticContext);
678
+ // A hook failure happens before anything is deserialized, so nothing can be kept
679
+ const headersFailed = hookFailed || payloadType === 'headerKey' || payloadType === 'headerValue';
680
+ if (headersFailed) {
681
+ headers.clear();
682
+ headerEntries.length = 0;
683
+ for (const [headerKey, headerValue] of record.headers) {
684
+ headers.set(headerKey, headerValue);
685
+ headerEntries.push([headerKey, headerValue]);
686
+ }
687
+ }
688
+ if (headersFailed || payloadType === 'key') {
689
+ deserializedKey = (record.key ?? undefined);
690
+ }
691
+ deserializedValue = (record.value ?? undefined);
692
+ deserializationError = { error, payloadType };
693
+ }
694
+ else if (action === DeserializationErrorActions.SKIP) {
695
+ continue;
696
+ }
697
+ else {
698
+ diagnosticContext.error = error;
699
+ consumerReceivesChannel.error.publish(diagnosticContext);
700
+ this.destroy(hookFailed ? error : new UserError('Failed to deserialize a message.', { cause: error }));
701
+ return;
702
+ }
541
703
  }
542
- /* c8 ignore next 2 - Hard to test */
543
- const key = keyDeserializer(record.key ?? undefined, headers, messageToConsume);
544
- const value = valueDeserializer(record.value ?? undefined, headers, messageToConsume);
545
704
  this.#metricsConsumedMessages?.inc();
546
705
  const message = {
547
- key,
548
- value,
706
+ key: deserializedKey,
707
+ value: deserializedValue,
549
708
  headers,
709
+ headerEntries,
550
710
  topic,
551
711
  partition,
552
712
  timestamp: firstTimestamp + record.timestampDelta,
553
713
  offset,
714
+ // The batch header epoch is the epoch of the record itself, which is what
715
+ // OffsetCommit expects as committedLeaderEpoch (KIP-320).
716
+ leaderEpoch: batch.partitionLeaderEpoch,
554
717
  commit,
555
- metadata: messageMetadata,
718
+ // Deserializers and hooks can enrich the metadata of the message they processed
719
+ metadata: deserializationError
720
+ ? { ...messageMetadata, ...messageToConsume.metadata, deserializationError }
721
+ : messageToConsume.metadata
722
+ ? { ...messageMetadata, ...messageToConsume.metadata }
723
+ : messageMetadata,
556
724
  toJSON: messageToJSON
557
725
  };
558
726
  diagnosticContext.result = message;
@@ -561,13 +729,10 @@ export class MessagesStream extends Readable {
561
729
  consumerReceivesChannel.asyncEnd.publish(diagnosticContext);
562
730
  }
563
731
  catch (error) {
564
- const shouldDestroy = this.#corruptedMessageHandler(record, topic, partition, firstTimestamp, firstOffset, commit);
565
- if (shouldDestroy) {
566
- diagnosticContext.error = error;
567
- consumerReceivesChannel.error.publish(diagnosticContext);
568
- this.destroy(new UserError('Failed to deserialize a message.', { cause: error }));
569
- return;
570
- }
732
+ diagnosticContext.error = error;
733
+ consumerReceivesChannel.error.publish(diagnosticContext);
734
+ this.destroy(new UserError('Failed to process a message.', { cause: error }));
735
+ return;
571
736
  }
572
737
  finally {
573
738
  consumerReceivesChannel.end.publish(diagnosticContext);
@@ -605,7 +770,7 @@ export class MessagesStream extends Readable {
605
770
  }
606
771
  }
607
772
  #updateCommittedOffset(topic, partition, offset) {
608
- const key = `${topic}:${partition}`;
773
+ const key = partitionKey(topic, partition);
609
774
  const previous = this.#offsetsCommitted.get(key);
610
775
  if (typeof previous === 'undefined' || previous < offset) {
611
776
  this.#offsetsCommitted.set(key, offset);
@@ -641,7 +806,7 @@ export class MessagesStream extends Readable {
641
806
  // Only destroy the stream when the broker requires a group rejoin
642
807
  // (ILLEGAL_GENERATION, UNKNOWN_MEMBER_ID, REBALANCE_IN_PROGRESS).
643
808
  // Transient coordinator errors must not tear down the consumption loop.
644
- if (error.findBy?.('needsRejoin', true)) {
809
+ if (findErrorBy(error, 'needsRejoin', true)) {
645
810
  this.destroy(error);
646
811
  }
647
812
  return;
@@ -689,7 +854,10 @@ export class MessagesStream extends Readable {
689
854
  topics.push(assignment);
690
855
  }
691
856
  if (!topics.length) {
692
- this.#assignOffsets(offsets, new Map(), callback);
857
+ // No assignment yet: do not seed fallback offsets for the whole topic.
858
+ // consumer:group:join will refresh once partitions are assigned.
859
+ this.emit('offsets');
860
+ callback(null);
693
861
  return;
694
862
  }
695
863
  this.#consumer.listCommittedOffsets({ topics }, (error, commits) => {
@@ -716,6 +884,7 @@ export class MessagesStream extends Readable {
716
884
  this.#refreshOffsetsInflight = true;
717
885
  this.#refreshOffsets(error => {
718
886
  const shouldDestroyOnError = this.#refreshOffsetsDestroyOnError;
887
+ const wasPending = this.#refreshOffsetsPending;
719
888
  this.#refreshOffsetsInflight = false;
720
889
  this.#refreshOffsetsDestroyOnError = false;
721
890
  this.#refreshOffsetsPending = false;
@@ -727,8 +896,7 @@ export class MessagesStream extends Readable {
727
896
  return;
728
897
  }
729
898
  // A new one was scheduled while the previous one was inflight, we need to run it immediately
730
- /* c8 ignore next 4 - Hard to test */
731
- if (this.#refreshOffsetsPending) {
899
+ if (wasPending) {
732
900
  this.#scheduleRefreshOffsetsAndFetch(shouldDestroyOnError);
733
901
  return;
734
902
  }
@@ -767,8 +935,9 @@ export class MessagesStream extends Readable {
767
935
  }
768
936
  const partitions = assignment.partitions;
769
937
  for (const partition of partitions) {
770
- const committed = this.#offsetsToFetch.get(`${topic}:${partition}`);
771
- this.#offsetsCommitted.set(`${topic}:${partition}`, committed);
938
+ const key = partitionKey(topic, partition);
939
+ const committed = this.#offsetsToFetch.get(key);
940
+ this.#offsetsCommitted.set(key, committed);
772
941
  }
773
942
  }
774
943
  this.emit('offsets');
@@ -793,7 +962,13 @@ export class MessagesStream extends Readable {
793
962
  const requests = [];
794
963
  // Create the pre-deserialization requests
795
964
  for (const topicResponse of response.responses) {
965
+ const topic = topicIds.get(topicResponse.topicId);
796
966
  for (const { records: recordsBatches, partitionIndex: partition } of topicResponse.partitions) {
967
+ // The broker can return partitions which were not requested when they linger
968
+ // in an incremental fetch session - do not run hooks on their stale records
969
+ if (!requestedOffsets.has(partitionKey(topic, partition))) {
970
+ continue;
971
+ }
797
972
  /* c8 ignore next 3 - Hard to test */
798
973
  if (!recordsBatches) {
799
974
  continue;
@@ -805,7 +980,7 @@ export class MessagesStream extends Readable {
805
980
  continue;
806
981
  }
807
982
  for (const message of batch.records) {
808
- message.topic = topicIds.get(topicResponse.topicId);
983
+ message.topic = topic;
809
984
  message.partition = partition;
810
985
  requests.push([message.key, 'key', message]);
811
986
  requests.push([message.value, 'value', message]);
@@ -823,9 +998,23 @@ export class MessagesStream extends Readable {
823
998
  }
824
999
  runAsyncSeries((request, cb) => {
825
1000
  const [data, type, message] = request;
826
- const result = hook(data, type, message, cb);
1001
+ /*
1002
+ Without an error handler a failing hook destroys the stream, as it always did. With one,
1003
+ the failure is recorded on the message it belongs to and reported to the handler in
1004
+ #pushRecords, together with everything else which can fail while deserializing, so that
1005
+ the caller can skip or degrade that single message instead of losing the stream.
1006
+ */
1007
+ const onHookSettled = error => {
1008
+ if (error && this.#deserializationErrorHandler) {
1009
+ message[kDeserializationError] ??= { error, payloadType: type };
1010
+ cb(null);
1011
+ return;
1012
+ }
1013
+ cb(error);
1014
+ };
1015
+ const result = hook(data, type, message, onHookSettled);
827
1016
  if (typeof result?.then === 'function') {
828
- result.then(() => cb(null), cb);
1017
+ result.then(() => onHookSettled(null), onHookSettled);
829
1018
  }
830
1019
  }, requests, 0, error => {
831
1020
  if (error) {
@@ -15,6 +15,10 @@ export declare const groupOptionsProperties: {
15
15
  type: string;
16
16
  minimum: number;
17
17
  };
18
+ heartbeatStallTimeout: {
19
+ type: string;
20
+ minimum: number;
21
+ };
18
22
  groupProtocol: {
19
23
  type: string;
20
24
  enum: ("consumer" | "classic")[];
@@ -53,6 +57,9 @@ export declare const groupOptionsProperties: {
53
57
  };
54
58
  };
55
59
  };
60
+ protocolsMetadata: {
61
+ function: boolean;
62
+ };
56
63
  partitionAssigner: {
57
64
  function: boolean;
58
65
  };
@@ -157,6 +164,10 @@ export declare const groupOptionsSchema: {
157
164
  type: string;
158
165
  minimum: number;
159
166
  };
167
+ heartbeatStallTimeout: {
168
+ type: string;
169
+ minimum: number;
170
+ };
160
171
  groupProtocol: {
161
172
  type: string;
162
173
  enum: ("consumer" | "classic")[];
@@ -195,6 +206,9 @@ export declare const groupOptionsSchema: {
195
206
  };
196
207
  };
197
208
  };
209
+ protocolsMetadata: {
210
+ function: boolean;
211
+ };
198
212
  partitionAssigner: {
199
213
  function: boolean;
200
214
  };
@@ -277,6 +291,10 @@ export declare const consumeOptionsSchema: {
277
291
  type: string;
278
292
  minimum: number;
279
293
  };
294
+ heartbeatStallTimeout: {
295
+ type: string;
296
+ minimum: number;
297
+ };
280
298
  groupProtocol: {
281
299
  type: string;
282
300
  enum: ("consumer" | "classic")[];
@@ -315,6 +333,9 @@ export declare const consumeOptionsSchema: {
315
333
  };
316
334
  };
317
335
  };
336
+ protocolsMetadata: {
337
+ function: boolean;
338
+ };
318
339
  partitionAssigner: {
319
340
  function: boolean;
320
341
  };
@@ -363,6 +384,9 @@ export declare const consumeOptionsSchema: {
363
384
  onCorruptedMessage: {
364
385
  function: boolean;
365
386
  };
387
+ onDeserializationError: {
388
+ function: boolean;
389
+ };
366
390
  };
367
391
  required: string[];
368
392
  additionalProperties: boolean;
@@ -443,6 +467,10 @@ export declare const consumerOptionsSchema: {
443
467
  type: string;
444
468
  minimum: number;
445
469
  };
470
+ heartbeatStallTimeout: {
471
+ type: string;
472
+ minimum: number;
473
+ };
446
474
  groupProtocol: {
447
475
  type: string;
448
476
  enum: ("consumer" | "classic")[];
@@ -481,6 +509,9 @@ export declare const consumerOptionsSchema: {
481
509
  };
482
510
  };
483
511
  };
512
+ protocolsMetadata: {
513
+ function: boolean;
514
+ };
484
515
  partitionAssigner: {
485
516
  function: boolean;
486
517
  };
@@ -570,6 +601,10 @@ export declare const fetchOptionsSchema: {
570
601
  type: string;
571
602
  minimum: number;
572
603
  };
604
+ heartbeatStallTimeout: {
605
+ type: string;
606
+ minimum: number;
607
+ };
573
608
  groupProtocol: {
574
609
  type: string;
575
610
  enum: ("consumer" | "classic")[];
@@ -608,6 +643,9 @@ export declare const fetchOptionsSchema: {
608
643
  };
609
644
  };
610
645
  };
646
+ protocolsMetadata: {
647
+ function: boolean;
648
+ };
611
649
  partitionAssigner: {
612
650
  function: boolean;
613
651
  };