@platformatic/kafka 2.1.0 → 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 (753) 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 +77 -20
  493. package/dist/clients/consumer/consumer.d.ts +2 -1
  494. package/dist/clients/consumer/consumer.js +386 -77
  495. package/dist/clients/consumer/messages-stream.js +228 -43
  496. package/dist/clients/consumer/options.d.ts +38 -0
  497. package/dist/clients/consumer/options.js +3 -0
  498. package/dist/clients/consumer/types.d.ts +40 -2
  499. package/dist/clients/consumer/types.js +5 -0
  500. package/dist/clients/consumer/utils.d.ts +1 -0
  501. package/dist/clients/consumer/utils.js +6 -0
  502. package/dist/clients/producer/producer.js +112 -54
  503. package/dist/clients/serde.d.ts +1 -1
  504. package/dist/errors.d.ts +4 -0
  505. package/dist/errors.js +22 -0
  506. package/dist/network/connection-pool.js +12 -2
  507. package/dist/network/connection.js +100 -22
  508. package/dist/network/utils.js +26 -8
  509. package/dist/protocol/definitions.js +1 -1
  510. package/dist/protocol/reader.js +11 -6
  511. package/dist/protocol/records.d.ts +4 -0
  512. package/dist/protocol/writer.js +17 -4
  513. package/dist/registries/abstract.d.ts +2 -2
  514. package/dist/registries/abstract.js +27 -8
  515. package/dist/registries/confluent-schema-registry.d.ts +57 -4
  516. package/dist/registries/confluent-schema-registry.js +253 -41
  517. package/dist/symbols.d.ts +1 -0
  518. package/dist/symbols.js +1 -0
  519. package/dist/typescript-4/dist/apis/admin/alter-client-quotas-v0.d.ts +40 -0
  520. package/dist/typescript-4/dist/apis/admin/alter-client-quotas-v1.d.ts +6 -5
  521. package/dist/typescript-4/dist/apis/admin/alter-configs-v0.d.ts +7 -0
  522. package/dist/typescript-4/dist/apis/admin/alter-configs-v1.d.ts +2 -0
  523. package/dist/typescript-4/dist/apis/admin/alter-partition-reassignments-v0.d.ts +3 -2
  524. package/dist/typescript-4/dist/apis/admin/alter-partition-reassignments-v1.d.ts +6 -4
  525. package/dist/typescript-4/dist/apis/admin/alter-partition-v0.d.ts +40 -0
  526. package/dist/typescript-4/dist/apis/admin/alter-partition-v1.d.ts +37 -0
  527. package/dist/typescript-4/dist/apis/admin/alter-partition-v2.d.ts +36 -0
  528. package/dist/typescript-4/dist/apis/admin/alter-partition-v3.d.ts +6 -35
  529. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v0.d.ts +23 -0
  530. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v1.d.ts +4 -0
  531. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v2.d.ts +1 -1
  532. package/dist/typescript-4/dist/apis/admin/client-quotas.d.ts +2 -0
  533. package/dist/typescript-4/dist/apis/admin/consumer-group-describe-v0.d.ts +2 -1
  534. package/dist/typescript-4/dist/apis/admin/create-acls-v0.d.ts +16 -0
  535. package/dist/typescript-4/dist/apis/admin/create-acls-v1.d.ts +15 -0
  536. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v0.d.ts +24 -0
  537. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v1.d.ts +4 -0
  538. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v2.d.ts +9 -0
  539. package/dist/typescript-4/dist/apis/admin/create-partitions-v0.d.ts +2 -0
  540. package/dist/typescript-4/dist/apis/admin/create-partitions-v1.d.ts +2 -2
  541. package/dist/typescript-4/dist/apis/admin/create-partitions-v2.d.ts +2 -2
  542. package/dist/typescript-4/dist/apis/admin/create-topics-v0.d.ts +42 -0
  543. package/dist/typescript-4/dist/apis/admin/create-topics-v1.d.ts +42 -0
  544. package/dist/typescript-4/dist/apis/admin/create-topics-v2.d.ts +42 -0
  545. package/dist/typescript-4/dist/apis/admin/create-topics-v3.d.ts +42 -0
  546. package/dist/typescript-4/dist/apis/admin/create-topics-v4.d.ts +42 -0
  547. package/dist/typescript-4/dist/apis/admin/create-topics-v5.d.ts +42 -0
  548. package/dist/typescript-4/dist/apis/admin/create-topics-v6.d.ts +42 -0
  549. package/dist/typescript-4/dist/apis/admin/create-topics-v7.d.ts +2 -1
  550. package/dist/typescript-4/dist/apis/admin/delete-acls-v0.d.ts +28 -0
  551. package/dist/typescript-4/dist/apis/admin/delete-acls-v1.d.ts +27 -0
  552. package/dist/typescript-4/dist/apis/admin/delete-groups-v0.d.ts +14 -0
  553. package/dist/typescript-4/dist/apis/admin/delete-groups-v1.d.ts +14 -0
  554. package/dist/typescript-4/dist/apis/admin/delete-records-v0.d.ts +27 -0
  555. package/dist/typescript-4/dist/apis/admin/delete-records-v1.d.ts +27 -0
  556. package/dist/typescript-4/dist/apis/admin/delete-topics-v0.d.ts +19 -0
  557. package/dist/typescript-4/dist/apis/admin/delete-topics-v1.d.ts +19 -0
  558. package/dist/typescript-4/dist/apis/admin/delete-topics-v2.d.ts +19 -0
  559. package/dist/typescript-4/dist/apis/admin/delete-topics-v3.d.ts +19 -0
  560. package/dist/typescript-4/dist/apis/admin/delete-topics-v4.d.ts +19 -0
  561. package/dist/typescript-4/dist/apis/admin/delete-topics-v5.d.ts +19 -0
  562. package/dist/typescript-4/dist/apis/admin/delete-topics-v6.d.ts +1 -1
  563. package/dist/typescript-4/dist/apis/admin/describe-acls-v0.d.ts +21 -0
  564. package/dist/typescript-4/dist/apis/admin/describe-acls-v1.d.ts +21 -0
  565. package/dist/typescript-4/dist/apis/admin/describe-client-quotas-v0.d.ts +8 -7
  566. package/dist/typescript-4/dist/apis/admin/describe-client-quotas-v1.d.ts +9 -0
  567. package/dist/typescript-4/dist/apis/admin/describe-cluster-v0.d.ts +4 -3
  568. package/dist/typescript-4/dist/apis/admin/describe-cluster-v1.d.ts +4 -3
  569. package/dist/typescript-4/dist/apis/admin/describe-configs-v0.d.ts +41 -0
  570. package/dist/typescript-4/dist/apis/admin/describe-configs-v1.d.ts +39 -0
  571. package/dist/typescript-4/dist/apis/admin/describe-configs-v2.d.ts +9 -8
  572. package/dist/typescript-4/dist/apis/admin/describe-configs-v3.d.ts +9 -8
  573. package/dist/typescript-4/dist/apis/admin/describe-configs-v4.d.ts +2 -2
  574. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v0.d.ts +31 -0
  575. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v1.d.ts +4 -0
  576. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v2.d.ts +8 -0
  577. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v3.d.ts +4 -27
  578. package/dist/typescript-4/dist/apis/admin/describe-groups-v0.d.ts +28 -0
  579. package/dist/typescript-4/dist/apis/admin/describe-groups-v1.d.ts +28 -0
  580. package/dist/typescript-4/dist/apis/admin/describe-groups-v2.d.ts +28 -0
  581. package/dist/typescript-4/dist/apis/admin/describe-groups-v3.d.ts +28 -0
  582. package/dist/typescript-4/dist/apis/admin/describe-groups-v4.d.ts +28 -0
  583. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v0.d.ts +30 -0
  584. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v1.d.ts +4 -0
  585. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v2.d.ts +3 -2
  586. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v3.d.ts +3 -2
  587. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v4.d.ts +3 -2
  588. package/dist/typescript-4/dist/apis/admin/describe-quorum-v0.d.ts +13 -0
  589. package/dist/typescript-4/dist/apis/admin/describe-quorum-v1.d.ts +13 -0
  590. package/dist/typescript-4/dist/apis/admin/describe-topic-partitions-v0.d.ts +3 -3
  591. package/dist/typescript-4/dist/apis/admin/describe-user-scram-credentials-v0.d.ts +4 -3
  592. package/dist/typescript-4/dist/apis/admin/expire-delegation-token-v0.d.ts +11 -0
  593. package/dist/typescript-4/dist/apis/admin/expire-delegation-token-v1.d.ts +4 -0
  594. package/dist/typescript-4/dist/apis/admin/incremental-alter-configs-v0.d.ts +26 -0
  595. package/dist/typescript-4/dist/apis/admin/index.d.ts +60 -0
  596. package/dist/typescript-4/dist/apis/admin/list-groups-v0.d.ts +18 -0
  597. package/dist/typescript-4/dist/apis/admin/list-groups-v1.d.ts +18 -0
  598. package/dist/typescript-4/dist/apis/admin/list-groups-v2.d.ts +18 -0
  599. package/dist/typescript-4/dist/apis/admin/list-groups-v3.d.ts +18 -0
  600. package/dist/typescript-4/dist/apis/admin/list-groups-v4.d.ts +4 -3
  601. package/dist/typescript-4/dist/apis/admin/list-groups-v5.d.ts +3 -3
  602. package/dist/typescript-4/dist/apis/admin/list-partition-reassignments-v0.d.ts +3 -3
  603. package/dist/typescript-4/dist/apis/admin/list-transactions-v0.d.ts +5 -3
  604. package/dist/typescript-4/dist/apis/admin/list-transactions-v1.d.ts +5 -3
  605. package/dist/typescript-4/dist/apis/admin/list-transactions-v2.d.ts +5 -4
  606. package/dist/typescript-4/dist/apis/admin/renew-delegation-token-v0.d.ts +11 -0
  607. package/dist/typescript-4/dist/apis/admin/renew-delegation-token-v1.d.ts +4 -0
  608. package/dist/typescript-4/dist/apis/admin/update-features-v0.d.ts +24 -0
  609. package/dist/typescript-4/dist/apis/admin/update-features-v1.d.ts +2 -1
  610. package/dist/typescript-4/dist/apis/callbacks.d.ts +1 -3
  611. package/dist/typescript-4/dist/apis/consumer/consumer-group-heartbeat-v0.d.ts +2 -2
  612. package/dist/typescript-4/dist/apis/consumer/consumer-group-heartbeat-v1.d.ts +2 -2
  613. package/dist/typescript-4/dist/apis/consumer/fetch-v10.d.ts +51 -0
  614. package/dist/typescript-4/dist/apis/consumer/fetch-v11.d.ts +51 -0
  615. package/dist/typescript-4/dist/apis/consumer/fetch-v12.d.ts +20 -4
  616. package/dist/typescript-4/dist/apis/consumer/fetch-v13.d.ts +20 -4
  617. package/dist/typescript-4/dist/apis/consumer/fetch-v14.d.ts +20 -4
  618. package/dist/typescript-4/dist/apis/consumer/fetch-v15.d.ts +20 -4
  619. package/dist/typescript-4/dist/apis/consumer/fetch-v16.d.ts +27 -4
  620. package/dist/typescript-4/dist/apis/consumer/fetch-v17.d.ts +28 -4
  621. package/dist/typescript-4/dist/apis/consumer/fetch-v4.d.ts +51 -0
  622. package/dist/typescript-4/dist/apis/consumer/fetch-v5.d.ts +51 -0
  623. package/dist/typescript-4/dist/apis/consumer/fetch-v6.d.ts +51 -0
  624. package/dist/typescript-4/dist/apis/consumer/fetch-v7.d.ts +51 -0
  625. package/dist/typescript-4/dist/apis/consumer/fetch-v8.d.ts +51 -0
  626. package/dist/typescript-4/dist/apis/consumer/fetch-v9.d.ts +51 -0
  627. package/dist/typescript-4/dist/apis/consumer/heartbeat-v0.d.ts +11 -0
  628. package/dist/typescript-4/dist/apis/consumer/heartbeat-v1.d.ts +11 -0
  629. package/dist/typescript-4/dist/apis/consumer/heartbeat-v2.d.ts +11 -0
  630. package/dist/typescript-4/dist/apis/consumer/heartbeat-v3.d.ts +11 -0
  631. package/dist/typescript-4/dist/apis/consumer/index.d.ts +51 -0
  632. package/dist/typescript-4/dist/apis/consumer/join-group-v0.d.ts +27 -0
  633. package/dist/typescript-4/dist/apis/consumer/join-group-v1.d.ts +8 -0
  634. package/dist/typescript-4/dist/apis/consumer/join-group-v2.d.ts +27 -0
  635. package/dist/typescript-4/dist/apis/consumer/join-group-v3.d.ts +27 -0
  636. package/dist/typescript-4/dist/apis/consumer/join-group-v4.d.ts +27 -0
  637. package/dist/typescript-4/dist/apis/consumer/join-group-v5.d.ts +27 -0
  638. package/dist/typescript-4/dist/apis/consumer/join-group-v6.d.ts +2 -2
  639. package/dist/typescript-4/dist/apis/consumer/join-group-v7.d.ts +2 -2
  640. package/dist/typescript-4/dist/apis/consumer/join-group-v8.d.ts +2 -2
  641. package/dist/typescript-4/dist/apis/consumer/join-group-v9.d.ts +2 -2
  642. package/dist/typescript-4/dist/apis/consumer/leave-group-v0.d.ts +22 -0
  643. package/dist/typescript-4/dist/apis/consumer/leave-group-v1.d.ts +22 -0
  644. package/dist/typescript-4/dist/apis/consumer/leave-group-v2.d.ts +22 -0
  645. package/dist/typescript-4/dist/apis/consumer/leave-group-v3.d.ts +22 -0
  646. package/dist/typescript-4/dist/apis/consumer/leave-group-v4.d.ts +1 -1
  647. package/dist/typescript-4/dist/apis/consumer/leave-group-v5.d.ts +1 -1
  648. package/dist/typescript-4/dist/apis/consumer/list-offsets-v0.d.ts +30 -0
  649. package/dist/typescript-4/dist/apis/consumer/list-offsets-v1.d.ts +12 -0
  650. package/dist/typescript-4/dist/apis/consumer/list-offsets-v2.d.ts +30 -0
  651. package/dist/typescript-4/dist/apis/consumer/list-offsets-v3.d.ts +30 -0
  652. package/dist/typescript-4/dist/apis/consumer/list-offsets-v4.d.ts +30 -0
  653. package/dist/typescript-4/dist/apis/consumer/offset-commit-v0.d.ts +29 -0
  654. package/dist/typescript-4/dist/apis/consumer/offset-commit-v1.d.ts +7 -0
  655. package/dist/typescript-4/dist/apis/consumer/offset-commit-v2.d.ts +8 -0
  656. package/dist/typescript-4/dist/apis/consumer/offset-commit-v3.d.ts +29 -0
  657. package/dist/typescript-4/dist/apis/consumer/offset-commit-v4.d.ts +29 -0
  658. package/dist/typescript-4/dist/apis/consumer/offset-commit-v5.d.ts +29 -0
  659. package/dist/typescript-4/dist/apis/consumer/offset-commit-v6.d.ts +29 -0
  660. package/dist/typescript-4/dist/apis/consumer/offset-commit-v7.d.ts +29 -0
  661. package/dist/typescript-4/dist/apis/consumer/offset-commit-v8.d.ts +2 -2
  662. package/dist/typescript-4/dist/apis/consumer/offset-commit-v9.d.ts +2 -2
  663. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v0.d.ts +40 -0
  664. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v1.d.ts +6 -0
  665. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v2.d.ts +7 -0
  666. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v3.d.ts +39 -0
  667. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v4.d.ts +39 -0
  668. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v5.d.ts +39 -0
  669. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v6.d.ts +39 -0
  670. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v7.d.ts +39 -0
  671. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v0.d.ts +29 -0
  672. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v1.d.ts +29 -0
  673. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v2.d.ts +29 -0
  674. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v3.d.ts +29 -0
  675. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v4.d.ts +1 -1
  676. package/dist/typescript-4/dist/apis/consumer/sync-group-v0.d.ts +18 -0
  677. package/dist/typescript-4/dist/apis/consumer/sync-group-v1.d.ts +18 -0
  678. package/dist/typescript-4/dist/apis/consumer/sync-group-v2.d.ts +18 -0
  679. package/dist/typescript-4/dist/apis/consumer/sync-group-v3.d.ts +18 -0
  680. package/dist/typescript-4/dist/apis/enumerations.d.ts +21 -6
  681. package/dist/typescript-4/dist/apis/index.d.ts +1 -0
  682. package/dist/typescript-4/dist/apis/metadata/api-versions-v0.d.ts +17 -0
  683. package/dist/typescript-4/dist/apis/metadata/api-versions-v1.d.ts +17 -0
  684. package/dist/typescript-4/dist/apis/metadata/api-versions-v2.d.ts +17 -0
  685. package/dist/typescript-4/dist/apis/metadata/api-versions-v3.d.ts +16 -2
  686. package/dist/typescript-4/dist/apis/metadata/api-versions-v4.d.ts +16 -2
  687. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v0.d.ts +18 -0
  688. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v1.d.ts +18 -0
  689. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v2.d.ts +18 -0
  690. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v3.d.ts +18 -0
  691. package/dist/typescript-4/dist/apis/metadata/index.d.ts +16 -0
  692. package/dist/typescript-4/dist/apis/metadata/metadata-v0.d.ts +38 -0
  693. package/dist/typescript-4/dist/apis/metadata/metadata-v1.d.ts +38 -0
  694. package/dist/typescript-4/dist/apis/metadata/metadata-v10.d.ts +4 -2
  695. package/dist/typescript-4/dist/apis/metadata/metadata-v11.d.ts +3 -2
  696. package/dist/typescript-4/dist/apis/metadata/metadata-v12.d.ts +9 -2
  697. package/dist/typescript-4/dist/apis/metadata/metadata-v2.d.ts +38 -0
  698. package/dist/typescript-4/dist/apis/metadata/metadata-v3.d.ts +38 -0
  699. package/dist/typescript-4/dist/apis/metadata/metadata-v4.d.ts +38 -0
  700. package/dist/typescript-4/dist/apis/metadata/metadata-v5.d.ts +38 -0
  701. package/dist/typescript-4/dist/apis/metadata/metadata-v6.d.ts +38 -0
  702. package/dist/typescript-4/dist/apis/metadata/metadata-v7.d.ts +38 -0
  703. package/dist/typescript-4/dist/apis/metadata/metadata-v8.d.ts +39 -0
  704. package/dist/typescript-4/dist/apis/metadata/metadata-v9.d.ts +5 -3
  705. package/dist/typescript-4/dist/apis/producer/add-offsets-to-txn-v0.d.ts +10 -0
  706. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v0.d.ts +34 -0
  707. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v1.d.ts +5 -0
  708. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v2.d.ts +5 -0
  709. package/dist/typescript-4/dist/apis/producer/end-txn-v0.d.ts +10 -0
  710. package/dist/typescript-4/dist/apis/producer/end-txn-v1.d.ts +5 -0
  711. package/dist/typescript-4/dist/apis/producer/end-txn-v2.d.ts +5 -0
  712. package/dist/typescript-4/dist/apis/producer/index.d.ts +17 -0
  713. package/dist/typescript-4/dist/apis/producer/init-producer-id-v0.d.ts +13 -0
  714. package/dist/typescript-4/dist/apis/producer/init-producer-id-v1.d.ts +5 -0
  715. package/dist/typescript-4/dist/apis/producer/init-producer-id-v2.d.ts +13 -0
  716. package/dist/typescript-4/dist/apis/producer/init-producer-id-v3.d.ts +2 -2
  717. package/dist/typescript-4/dist/apis/producer/init-producer-id-v4.d.ts +2 -2
  718. package/dist/typescript-4/dist/apis/producer/init-producer-id-v5.d.ts +2 -2
  719. package/dist/typescript-4/dist/apis/producer/produce-v10.d.ts +12 -0
  720. package/dist/typescript-4/dist/apis/producer/produce-v11.d.ts +12 -0
  721. package/dist/typescript-4/dist/apis/producer/produce-v3.d.ts +29 -0
  722. package/dist/typescript-4/dist/apis/producer/produce-v4.d.ts +29 -0
  723. package/dist/typescript-4/dist/apis/producer/produce-v5.d.ts +29 -0
  724. package/dist/typescript-4/dist/apis/producer/produce-v6.d.ts +29 -0
  725. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v0.d.ts +29 -0
  726. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v1.d.ts +29 -0
  727. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v2.d.ts +29 -0
  728. package/dist/typescript-4/dist/apis/security/index.d.ts +3 -0
  729. package/dist/typescript-4/dist/apis/security/sasl-authenticate-v0.d.ts +15 -0
  730. package/dist/typescript-4/dist/apis/security/sasl-authenticate-v1.d.ts +15 -0
  731. package/dist/typescript-4/dist/apis/security/sasl-handshake-v0.d.ts +10 -0
  732. package/dist/typescript-4/dist/apis/tagged-fields.d.ts +7 -0
  733. package/dist/typescript-4/dist/apis/telemetry/compression-types.d.ts +8 -0
  734. package/dist/typescript-4/dist/apis/telemetry/get-telemetry-subscriptions-v0.d.ts +2 -1
  735. package/dist/typescript-4/dist/apis/telemetry/index.d.ts +3 -0
  736. package/dist/typescript-4/dist/apis/telemetry/list-client-metrics-resources-v0.d.ts +6 -4
  737. package/dist/typescript-4/dist/apis/telemetry/list-config-resources-v1.d.ts +16 -0
  738. package/dist/typescript-4/dist/apis/telemetry/push-telemetry-v0.d.ts +3 -2
  739. package/dist/typescript-4/dist/clients/admin/options.d.ts +62 -6
  740. package/dist/typescript-4/dist/clients/admin/types.d.ts +8 -2
  741. package/dist/typescript-4/dist/clients/base/base.d.ts +3 -3
  742. package/dist/typescript-4/dist/clients/consumer/consumer.d.ts +2 -1
  743. package/dist/typescript-4/dist/clients/consumer/options.d.ts +38 -0
  744. package/dist/typescript-4/dist/clients/consumer/types.d.ts +40 -2
  745. package/dist/typescript-4/dist/clients/consumer/utils.d.ts +2 -1
  746. package/dist/typescript-4/dist/clients/serde.d.ts +1 -1
  747. package/dist/typescript-4/dist/errors.d.ts +4 -0
  748. package/dist/typescript-4/dist/protocol/records.d.ts +4 -0
  749. package/dist/typescript-4/dist/registries/abstract.d.ts +2 -2
  750. package/dist/typescript-4/dist/registries/confluent-schema-registry.d.ts +57 -4
  751. package/dist/typescript-4/dist/symbols.d.ts +1 -0
  752. package/dist/version.js +1 -1
  753. package/package.json +4 -2
@@ -2,14 +2,14 @@ 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, kGetFetchNode, 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
13
  import { partitionKey } from "./utils.js";
14
14
  // Don't move this function as being in the same file will enable V8 to remove.
15
15
  // For futher info, ask Matteo.
@@ -24,11 +24,12 @@ function messageToJSON() {
24
24
  return {
25
25
  key: this.key,
26
26
  value: this.value,
27
- headers: Array.from(this.headers.entries()),
27
+ headers: this.headerEntries.map(([key, value]) => [key, value]),
28
28
  topic: this.topic,
29
29
  partition: this.partition,
30
30
  timestamp: this.timestamp.toString(),
31
31
  offset: this.offset.toString(),
32
+ leaderEpoch: this.leaderEpoch,
32
33
  metadata: this.metadata
33
34
  };
34
35
  }
@@ -61,6 +62,7 @@ export class MessagesStream extends Readable {
61
62
  #closeCallbacks;
62
63
  #metricsConsumedMessages;
63
64
  #corruptedMessageHandler;
65
+ #deserializationErrorHandler;
64
66
  #context;
65
67
  #onConsumerGroupJoin;
66
68
  #onBrokerDisconnect;
@@ -83,9 +85,12 @@ export class MessagesStream extends Readable {
83
85
  */
84
86
  [kConnections];
85
87
  constructor(consumer, options) {
86
- const { autocommit, mode, fallbackMode, maxFetches, offsets, context, deserializers, onCorruptedMessage, registry, beforeDeserialization,
88
+ const { autocommit, mode, fallbackMode, maxFetches, offsets, context, deserializers, onCorruptedMessage, onDeserializationError, registry, beforeDeserialization,
87
89
  // The options below are only destructured to avoid being part of structuredClone below
88
- 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
+ }
89
94
  if (offsets && mode !== MessagesStreamModes.MANUAL) {
90
95
  throw new UserError('Cannot specify offsets when the stream mode is not MANUAL.');
91
96
  }
@@ -124,6 +129,7 @@ export class MessagesStream extends Readable {
124
129
  this.#closed = false;
125
130
  this.#closeCallbacks = [];
126
131
  this.#corruptedMessageHandler = onCorruptedMessage ?? defaultCorruptedMessageHandler;
132
+ this.#deserializationErrorHandler = onDeserializationError;
127
133
  this.#context = context;
128
134
  this.#onConsumerGroupJoin = () => {
129
135
  this.#offsetsCommitted.clear();
@@ -302,7 +308,16 @@ export class MessagesStream extends Readable {
302
308
  return super[Symbol.asyncIterator]();
303
309
  }
304
310
  _construct(callback) {
305
- 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
+ });
306
321
  }
307
322
  _destroy(error, callback) {
308
323
  if (this.#autocommitInterval) {
@@ -409,10 +424,22 @@ export class MessagesStream extends Readable {
409
424
  this.push(null);
410
425
  return;
411
426
  }
412
- if (this.#fallbackMode !== MessagesStreamFallbackModes.FAIL &&
413
- this.#handleOffsetOutOfRange(error, topicIds)) {
414
- process.nextTick(() => {
415
- 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);
416
443
  });
417
444
  return;
418
445
  }
@@ -432,34 +459,81 @@ export class MessagesStream extends Readable {
432
459
  }
433
460
  });
434
461
  }
435
- #handleOffsetOutOfRange(error, topicIds) {
436
- if (!error.findBy?.('apiId', 'OFFSET_OUT_OF_RANGE')) {
437
- return false;
462
+ #handleOffsetOutOfRange(error, topicIds, callback) {
463
+ if (!findErrorBy(error, 'apiId', 'OFFSET_OUT_OF_RANGE')) {
464
+ callback(null, false);
465
+ return;
438
466
  }
439
467
  const response = error.response;
440
468
  if (!response || response.errorCode !== 0) {
441
- return false;
469
+ callback(null, false);
470
+ return;
442
471
  }
443
472
  const recoveredOffsets = [];
473
+ const partitionsToRefresh = new Map();
444
474
  for (const topicResponse of response.responses) {
445
475
  const topic = topicIds.get(topicResponse.topicId);
446
476
  if (!topic) {
447
- return false;
477
+ callback(null, false);
478
+ return;
448
479
  }
449
480
  for (const partitionResponse of topicResponse.partitions) {
450
481
  if (partitionResponse.errorCode === 0) {
451
482
  continue;
452
483
  }
453
484
  if (partitionResponse.errorCode !== protocolErrors.OFFSET_OUT_OF_RANGE.code) {
454
- return false;
485
+ callback(null, false);
486
+ return;
455
487
  }
456
- const key = `${topic}:${partitionResponse.partitionIndex}`;
457
488
  const offset = this.#fallbackMode === MessagesStreamFallbackModes.EARLIEST
458
489
  ? partitionResponse.logStartOffset
459
490
  : partitionResponse.highWatermark;
460
- 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);
461
501
  }
462
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) {
463
537
  for (const [key, offset] of recoveredOffsets) {
464
538
  this.#offsetsToFetch.set(key, offset);
465
539
  this.#offsetsCommitted.set(key, offset);
@@ -490,6 +564,11 @@ export class MessagesStream extends Readable {
490
564
  const topic = topicIds.get(topicResponse.topicId);
491
565
  for (const { records: recordsBatches, partitionIndex: partition } of topicResponse.partitions) {
492
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
+ }
493
572
  if (!recordsBatches) {
494
573
  continue;
495
574
  }
@@ -537,25 +616,111 @@ export class MessagesStream extends Readable {
537
616
  : this.#commit.bind(this, topic, partition, offset + 1n, leaderEpoch);
538
617
  try {
539
618
  const headers = new Map();
540
- for (const [headerKey, headerValue] of record.headers) {
541
- headers.set(
542
- /* c8 ignore next 2 - Hard to test */
543
- 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
+ }
544
703
  }
545
- /* c8 ignore next 2 - Hard to test */
546
- const key = keyDeserializer(record.key ?? undefined, headers, messageToConsume);
547
- const value = valueDeserializer(record.value ?? undefined, headers, messageToConsume);
548
704
  this.#metricsConsumedMessages?.inc();
549
705
  const message = {
550
- key,
551
- value,
706
+ key: deserializedKey,
707
+ value: deserializedValue,
552
708
  headers,
709
+ headerEntries,
553
710
  topic,
554
711
  partition,
555
712
  timestamp: firstTimestamp + record.timestampDelta,
556
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,
557
717
  commit,
558
- 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,
559
724
  toJSON: messageToJSON
560
725
  };
561
726
  diagnosticContext.result = message;
@@ -564,13 +729,10 @@ export class MessagesStream extends Readable {
564
729
  consumerReceivesChannel.asyncEnd.publish(diagnosticContext);
565
730
  }
566
731
  catch (error) {
567
- const shouldDestroy = this.#corruptedMessageHandler(record, topic, partition, firstTimestamp, firstOffset, commit);
568
- if (shouldDestroy) {
569
- diagnosticContext.error = error;
570
- consumerReceivesChannel.error.publish(diagnosticContext);
571
- this.destroy(new UserError('Failed to deserialize a message.', { cause: error }));
572
- return;
573
- }
732
+ diagnosticContext.error = error;
733
+ consumerReceivesChannel.error.publish(diagnosticContext);
734
+ this.destroy(new UserError('Failed to process a message.', { cause: error }));
735
+ return;
574
736
  }
575
737
  finally {
576
738
  consumerReceivesChannel.end.publish(diagnosticContext);
@@ -644,7 +806,7 @@ export class MessagesStream extends Readable {
644
806
  // Only destroy the stream when the broker requires a group rejoin
645
807
  // (ILLEGAL_GENERATION, UNKNOWN_MEMBER_ID, REBALANCE_IN_PROGRESS).
646
808
  // Transient coordinator errors must not tear down the consumption loop.
647
- if (error.findBy?.('needsRejoin', true)) {
809
+ if (findErrorBy(error, 'needsRejoin', true)) {
648
810
  this.destroy(error);
649
811
  }
650
812
  return;
@@ -692,7 +854,10 @@ export class MessagesStream extends Readable {
692
854
  topics.push(assignment);
693
855
  }
694
856
  if (!topics.length) {
695
- 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);
696
861
  return;
697
862
  }
698
863
  this.#consumer.listCommittedOffsets({ topics }, (error, commits) => {
@@ -719,6 +884,7 @@ export class MessagesStream extends Readable {
719
884
  this.#refreshOffsetsInflight = true;
720
885
  this.#refreshOffsets(error => {
721
886
  const shouldDestroyOnError = this.#refreshOffsetsDestroyOnError;
887
+ const wasPending = this.#refreshOffsetsPending;
722
888
  this.#refreshOffsetsInflight = false;
723
889
  this.#refreshOffsetsDestroyOnError = false;
724
890
  this.#refreshOffsetsPending = false;
@@ -730,8 +896,7 @@ export class MessagesStream extends Readable {
730
896
  return;
731
897
  }
732
898
  // A new one was scheduled while the previous one was inflight, we need to run it immediately
733
- /* c8 ignore next 4 - Hard to test */
734
- if (this.#refreshOffsetsPending) {
899
+ if (wasPending) {
735
900
  this.#scheduleRefreshOffsetsAndFetch(shouldDestroyOnError);
736
901
  return;
737
902
  }
@@ -797,7 +962,13 @@ export class MessagesStream extends Readable {
797
962
  const requests = [];
798
963
  // Create the pre-deserialization requests
799
964
  for (const topicResponse of response.responses) {
965
+ const topic = topicIds.get(topicResponse.topicId);
800
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
+ }
801
972
  /* c8 ignore next 3 - Hard to test */
802
973
  if (!recordsBatches) {
803
974
  continue;
@@ -809,7 +980,7 @@ export class MessagesStream extends Readable {
809
980
  continue;
810
981
  }
811
982
  for (const message of batch.records) {
812
- message.topic = topicIds.get(topicResponse.topicId);
983
+ message.topic = topic;
813
984
  message.partition = partition;
814
985
  requests.push([message.key, 'key', message]);
815
986
  requests.push([message.value, 'value', message]);
@@ -827,9 +998,23 @@ export class MessagesStream extends Readable {
827
998
  }
828
999
  runAsyncSeries((request, cb) => {
829
1000
  const [data, type, message] = request;
830
- 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);
831
1016
  if (typeof result?.then === 'function') {
832
- result.then(() => cb(null), cb);
1017
+ result.then(() => onHookSettled(null), onHookSettled);
833
1018
  }
834
1019
  }, requests, 0, error => {
835
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
  };
@@ -8,6 +8,7 @@ export const groupOptionsProperties = {
8
8
  sessionTimeout: { type: 'number', minimum: 0 },
9
9
  rebalanceTimeout: { type: 'number', minimum: 0 },
10
10
  heartbeatInterval: { type: 'number', minimum: 0 },
11
+ heartbeatStallTimeout: { type: 'number', minimum: 0 },
11
12
  groupProtocol: { type: 'string', enum: allowedGroupProtocols },
12
13
  groupRemoteAssignor: { type: 'string' },
13
14
  protocols: {
@@ -25,6 +26,7 @@ export const groupOptionsProperties = {
25
26
  }
26
27
  }
27
28
  },
29
+ protocolsMetadata: { function: true },
28
30
  partitionAssigner: { function: true }
29
31
  };
30
32
  export const groupOptionsAdditionalValidations = {
@@ -89,6 +91,7 @@ export const consumeOptionsSchema = {
89
91
  }
90
92
  },
91
93
  onCorruptedMessage: { function: true },
94
+ onDeserializationError: { function: true },
92
95
  ...groupOptionsProperties,
93
96
  ...consumeOptionsProperties
94
97
  },
@@ -1,10 +1,11 @@
1
+ import { type Callback } from '../../apis/definitions.ts';
1
2
  import { type FetchRequestTopic } from '../../apis/consumer/fetch-v17.ts';
2
3
  import { type GroupProtocols } from '../../apis/enumerations.ts';
3
4
  import { type ConnectionPool } from '../../network/connection-pool.ts';
4
5
  import { type KafkaRecord, type Message } from '../../protocol/records.ts';
5
6
  import { type SchemaRegistry } from '../../registries/abstract.ts';
6
7
  import { type BaseOptions, type ClusterMetadata, type TopicWithPartitionAndOffset } from '../base/types.ts';
7
- import { type BeforeDeserializationHook, type Deserializers } from '../serde.ts';
8
+ import { type BeforeDeserializationHook, type BeforeHookPayloadType, type Deserializers } from '../serde.ts';
8
9
  export interface GroupProtocolSubscription {
9
10
  name: string;
10
11
  version: number;
@@ -31,8 +32,33 @@ export interface PreferredReadReplica {
31
32
  node: number;
32
33
  expiresAt: number;
33
34
  }
34
- export type CorruptedMessageHandler = (record: KafkaRecord, topic: string, partition: number, firstTimestamp: bigint, firstOffset: bigint, commit: Message['commit']) => boolean;
35
+ export declare const DeserializationErrorActions: {
36
+ readonly FAIL: "fail";
37
+ readonly SKIP: "skip";
38
+ readonly CONTINUE: "continue";
39
+ };
40
+ export type DeserializationErrorAction = (typeof DeserializationErrorActions)[keyof typeof DeserializationErrorActions];
41
+ export interface DeserializationErrorContext {
42
+ error: unknown;
43
+ payloadType: BeforeHookPayloadType;
44
+ record: KafkaRecord;
45
+ topic: string;
46
+ partition: number;
47
+ offset: bigint;
48
+ timestamp: bigint;
49
+ commit: Message['commit'];
50
+ }
51
+ export interface MessageDeserializationError {
52
+ error: unknown;
53
+ payloadType: BeforeHookPayloadType;
54
+ }
55
+ export type DeserializationErrorHandler = (context: DeserializationErrorContext) => DeserializationErrorAction;
56
+ /**
57
+ * @deprecated Use `DeserializationErrorHandler` instead.
58
+ */
59
+ export type CorruptedMessageHandler = (record: KafkaRecord, topic: string, partition: number, firstTimestamp: bigint, firstOffset: bigint, commit: Message['commit'], error: unknown) => boolean;
35
60
  export type GroupPartitionsAssigner = (current: string, members: Map<string, ExtendedGroupProtocolSubscription>, topics: Set<string>, metadata: ClusterMetadata) => GroupPartitionsAssignments[];
61
+ export type GroupProtocolsMetadataCallback = (protocols: GroupProtocolSubscription[], topics: string[], metadata: ClusterMetadata, callback: Callback<Buffer>) => Buffer | Promise<Buffer> | undefined;
36
62
  export declare const MessagesStreamModes: {
37
63
  readonly LATEST: "latest";
38
64
  readonly EARLIEST: "earliest";
@@ -56,7 +82,9 @@ export interface GroupOptions {
56
82
  sessionTimeout?: number;
57
83
  rebalanceTimeout?: number;
58
84
  heartbeatInterval?: number;
85
+ heartbeatStallTimeout?: number;
59
86
  protocols?: GroupProtocolSubscription[];
87
+ protocolsMetadata?: GroupProtocolsMetadataCallback;
60
88
  partitionAssigner?: GroupPartitionsAssigner;
61
89
  assignmentUserData?: Buffer;
62
90
  }
@@ -65,6 +93,7 @@ export interface ConsumerGroupOptions {
65
93
  groupInstanceId?: string;
66
94
  groupRemoteAssignor?: string;
67
95
  rebalanceTimeout?: number;
96
+ heartbeatStallTimeout?: number;
68
97
  assignmentUserData?: Buffer;
69
98
  }
70
99
  export interface ConsumeBaseOptions<Key, Value, HeaderKey, HeaderValue> {
@@ -86,6 +115,10 @@ export interface StreamOptions {
86
115
  fallbackMode?: MessagesStreamFallbackModeValue;
87
116
  maxFetches?: number;
88
117
  offsets?: TopicWithPartitionAndOffset[];
118
+ onDeserializationError?: DeserializationErrorHandler;
119
+ /**
120
+ * @deprecated Use `onDeserializationError` instead.
121
+ */
89
122
  onCorruptedMessage?: CorruptedMessageHandler;
90
123
  }
91
124
  export type ConsumeOptions<Key, Value, HeaderKey, HeaderValue> = StreamOptions & ConsumeBaseOptions<Key, Value, HeaderKey, HeaderValue> & GroupOptions;
@@ -138,3 +171,8 @@ export interface ConsumerHeartbeatPayload {
138
171
  export interface ConsumerHeartbeatErrorPayload extends ConsumerHeartbeatPayload {
139
172
  error: Error;
140
173
  }
174
+ export interface ConsumerHeartbeatStalledPayload {
175
+ lastError?: Error;
176
+ lastHeartbeat: Date | null;
177
+ stalledFor: number;
178
+ }
@@ -1,3 +1,8 @@
1
+ export const DeserializationErrorActions = {
2
+ FAIL: 'fail',
3
+ SKIP: 'skip',
4
+ CONTINUE: 'continue'
5
+ };
1
6
  export const MessagesStreamModes = {
2
7
  LATEST: 'latest',
3
8
  EARLIEST: 'earliest',
@@ -1 +1,2 @@
1
1
  export declare function partitionKey(topic: string, partition: number): string;
2
+ export declare function nextFetchEpoch(epoch: number): number;