@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
@@ -4,7 +4,8 @@ import { createConnection } from 'node:net';
4
4
  import { connect as createTLSConnection } from 'node:tls';
5
5
  import { createPromisifiedCallback, kCallbackPromise } from "../apis/callbacks.js";
6
6
  import { allowedSASLMechanisms, SASLMechanisms } from "../apis/enumerations.js";
7
- import { saslAuthenticateV2, saslHandshakeV1 } from "../apis/index.js";
7
+ import { clientSoftwareName, clientSoftwareVersion } from "../clients/base/options.js";
8
+ import { apiVersionsV1, saslAuthenticateV0, saslAuthenticateV1, saslAuthenticateV2, saslHandshakeV1 } from "../apis/index.js";
8
9
  import { connectionsApiChannel, connectionsConnectsChannel, createDiagnosticContext, notifyCreation } from "../diagnostic.js";
9
10
  import { AuthenticationError, NetworkError, TimeoutError, UnexpectedCorrelationIdError, UserError } from "../errors.js";
10
11
  import { TypedEventEmitter } from "../events.js";
@@ -50,12 +51,20 @@ export class Connection extends TypedEventEmitter {
50
51
  #responseReader;
51
52
  #socket;
52
53
  #socketMustBeDrained;
54
+ #detectMissingTLS;
53
55
  #reauthenticationTimeout;
56
+ // Negotiated once per connection: reauthentication runs the same path again.
57
+ #saslAuthenticateApi;
54
58
  constructor(clientId, options = {}) {
55
59
  super();
56
60
  this.setMaxListeners(0);
57
61
  this.#instanceId = currentInstance++;
58
- this.#options = Object.assign({}, defaultOptions, options);
62
+ this.#options = Object.assign({}, defaultOptions);
63
+ for (const [key, value] of Object.entries(options)) {
64
+ if (value !== undefined) {
65
+ this.#options[key] = value;
66
+ }
67
+ }
59
68
  this.#options.tls ??= this.#options.ssl;
60
69
  this.#status = ConnectionStatuses.NONE;
61
70
  this.#clientId = clientId;
@@ -70,6 +79,7 @@ export class Connection extends TypedEventEmitter {
70
79
  this.#responseBuffer = new DynamicBuffer();
71
80
  this.#responseReader = new Reader(this.#responseBuffer);
72
81
  this.#socketMustBeDrained = false;
82
+ this.#detectMissingTLS = !this.#options.tls;
73
83
  notifyCreation('connection', this);
74
84
  }
75
85
  /* c8 ignore next 3 - Simple getter */
@@ -115,6 +125,7 @@ export class Connection extends TypedEventEmitter {
115
125
  return callback[kCallbackPromise];
116
126
  }
117
127
  this.#status = ConnectionStatuses.CONNECTING;
128
+ this.#detectMissingTLS = !this.#options.tls;
118
129
  const connectionOptions = {
119
130
  timeout: this.#options.connectTimeout
120
131
  };
@@ -124,7 +135,7 @@ export class Connection extends TypedEventEmitter {
124
135
  }
125
136
  /* c8 ignore next 13 - Hard to test */
126
137
  const connectingSocketTimeoutHandler = () => {
127
- const error = new TimeoutError(`Connection to ${host}:${port} timed out.`);
138
+ const error = new TimeoutError(`Connection to ${host}:${port} timed out.`, { canRetry: true });
128
139
  diagnosticContext.error = error;
129
140
  this.#socket.destroy();
130
141
  this.#status = ConnectionStatuses.ERROR;
@@ -214,7 +225,7 @@ export class Connection extends TypedEventEmitter {
214
225
  this.#socket?.destroy();
215
226
  callback(new TimeoutError(this.#host
216
227
  ? `Connection to ${this.#host}:${this.#port} timed out.`
217
- : `Connection ready timed out after ${this.#options.connectTimeout}ms.`));
228
+ : `Connection ready timed out after ${this.#options.connectTimeout}ms.`, { canRetry: true }));
218
229
  }, this.#options.connectTimeout);
219
230
  this.once('connect', onConnect);
220
231
  this.once('error', onError);
@@ -253,7 +264,9 @@ export class Connection extends TypedEventEmitter {
253
264
  return callback[kCallbackPromise];
254
265
  }
255
266
  send(apiKey, apiVersion, createPayload, responseParser, hasRequestHeaderTaggedFields, hasResponseHeaderTaggedFields, callback) {
256
- const correlationId = ++this.#correlationId;
267
+ // Correlation ID is a 32-bit integer in the protocol, so we need to wrap around after 2^31 - 1
268
+ const correlationId = (this.#correlationId + 1) & 0x7fffffff;
269
+ this.#correlationId = correlationId;
257
270
  const diagnostic = createDiagnosticContext({
258
271
  connection: this,
259
272
  operation: 'send',
@@ -330,28 +343,71 @@ export class Connection extends TypedEventEmitter {
330
343
  this.#onConnectionError(host, port, diagnosticContext, new UserError(`SASL mechanism ${mechanism} not supported.`));
331
344
  return;
332
345
  }
333
- saslHandshakeV1.api(this, mechanism, (error, response) => {
346
+ this.#negotiateSaslAuthenticate(saslAuthenticate => {
347
+ saslHandshakeV1.api(this, mechanism, (error, response) => {
348
+ if (error) {
349
+ this.#onConnectionError(host, port, diagnosticContext, new AuthenticationError('Cannot find a suitable SASL mechanism.', { cause: error }));
350
+ return;
351
+ }
352
+ this.emit('sasl:handshake', response.mechanisms);
353
+ const callback = this.#onSaslAuthenticate.bind(this, host, port, diagnosticContext);
354
+ if (authenticate) {
355
+ authenticate(mechanism, this, saslAuthenticate, username, password, token, callback);
356
+ }
357
+ else if (mechanism === SASLMechanisms.PLAIN) {
358
+ saslPlain.authenticate(saslAuthenticate, this, username, password, callback);
359
+ }
360
+ else if (mechanism === SASLMechanisms.OAUTHBEARER) {
361
+ saslOAuthBearer.authenticate(saslAuthenticate, this, token, oauthBearerExtensions, callback);
362
+ }
363
+ else if (mechanism === SASLMechanisms.GSSAPI) {
364
+ callback(new UserError('No custom SASL/GSSAPI authenticator provided.'));
365
+ }
366
+ else {
367
+ saslScramSha.authenticate(saslAuthenticate, this, mechanism.substring(6), username, password, defaultCrypto, callback);
368
+ }
369
+ });
370
+ });
371
+ }
372
+ /**
373
+ * Chooses the SaslAuthenticate version to authenticate with.
374
+ *
375
+ * The version cannot be assumed: v1 arrived in Apache Kafka 2.0 and v2 in 2.4, so pinning the
376
+ * newest makes authentication fail outright on older brokers, which answer an unparseable request
377
+ * with InvalidRequestException and drop the connection.
378
+ *
379
+ * Brokers accept ApiVersions before authentication precisely so that clients can ask, and it has
380
+ * to happen before SaslHandshake: once the handshake is sent the connection only accepts
381
+ * SaslAuthenticate. The result is cached because reauthentication runs this path again.
382
+ *
383
+ * SaslHandshake itself stays at v1. v0 signals the pre-1.0 flow, where the SASL tokens are written
384
+ * raw on the wire rather than wrapped in SaslAuthenticate requests, which this package does not
385
+ * implement.
386
+ */
387
+ #negotiateSaslAuthenticate(callback) {
388
+ if (this.#saslAuthenticateApi) {
389
+ callback(this.#saslAuthenticateApi);
390
+ return;
391
+ }
392
+ const candidates = [
393
+ [2, saslAuthenticateV2.api],
394
+ [1, saslAuthenticateV1.api],
395
+ [0, saslAuthenticateV0.api]
396
+ ];
397
+ apiVersionsV1.api(this, clientSoftwareName, clientSoftwareVersion, (error, response) => {
398
+ let selected;
399
+ /* c8 ignore next 3 - Only reachable against a broker which refuses ApiVersions before authentication */
334
400
  if (error) {
335
- this.#onConnectionError(host, port, diagnosticContext, new AuthenticationError('Cannot find a suitable SASL mechanism.', { cause: error }));
336
- return;
337
- }
338
- this.emit('sasl:handshake', response.mechanisms);
339
- const callback = this.#onSaslAuthenticate.bind(this, host, port, diagnosticContext);
340
- if (authenticate) {
341
- authenticate(mechanism, this, saslAuthenticateV2.api, username, password, token, callback);
342
- }
343
- else if (mechanism === SASLMechanisms.PLAIN) {
344
- saslPlain.authenticate(saslAuthenticateV2.api, this, username, password, callback);
345
- }
346
- else if (mechanism === SASLMechanisms.OAUTHBEARER) {
347
- saslOAuthBearer.authenticate(saslAuthenticateV2.api, this, token, oauthBearerExtensions, callback);
348
- }
349
- else if (mechanism === SASLMechanisms.GSSAPI) {
350
- callback(new UserError('No custom SASL/GSSAPI authenticator provided.'));
401
+ selected = undefined;
351
402
  }
352
403
  else {
353
- saslScramSha.authenticate(saslAuthenticateV2.api, this, mechanism.substring(6), username, password, defaultCrypto, callback);
404
+ const advertised = response.apiKeys.find(api => api.apiKey === saslAuthenticateV2.api.key);
405
+ selected = candidates.find(([version]) => advertised && version >= advertised.minVersion && version <= advertised.maxVersion)?.[1];
354
406
  }
407
+ // Falling back to the newest version keeps the previous behaviour for brokers which do not
408
+ // answer the probe, rather than failing a connection which would otherwise have worked.
409
+ this.#saslAuthenticateApi = selected ?? saslAuthenticateV2.api;
410
+ callback(this.#saslAuthenticateApi);
355
411
  });
356
412
  }
357
413
  /*
@@ -460,6 +516,27 @@ export class Connection extends TypedEventEmitter {
460
516
  correlation_id => INT32
461
517
  */
462
518
  #onData(chunk) {
519
+ if (this.#detectMissingTLS) {
520
+ this.#detectMissingTLS = false;
521
+ if (this.#isTLSRecord(chunk)) {
522
+ const error = new UserError('Broker requires TLS.');
523
+ this.#status = ConnectionStatuses.ERROR;
524
+ for (const request of this.#afterDrainRequests) {
525
+ if (!request.noResponse) {
526
+ clearTimeout(request.timeoutHandle);
527
+ request.callback(error, undefined);
528
+ }
529
+ }
530
+ this.#afterDrainRequests = [];
531
+ for (const request of this.#inflightRequests.values()) {
532
+ clearTimeout(request.timeoutHandle);
533
+ request.callback(error, undefined);
534
+ }
535
+ this.#inflightRequests.clear();
536
+ this.#socket.destroy();
537
+ return;
538
+ }
539
+ }
463
540
  this.#responseBuffer.append(chunk);
464
541
  // There is at least one message size to add
465
542
  // Note that here the initial position is always 0
@@ -540,6 +617,12 @@ export class Connection extends TypedEventEmitter {
540
617
  this.#socketMustBeDrained = false;
541
618
  this.emit('drain');
542
619
  }
620
+ #isTLSRecord(chunk) {
621
+ return (chunk.length >= 3 &&
622
+ (chunk[0] === 0x14 || chunk[0] === 0x15 || chunk[0] === 0x16 || chunk[0] === 0x17) &&
623
+ chunk[1] === 0x03 &&
624
+ chunk[2] <= 0x04);
625
+ }
543
626
  #onClose() {
544
627
  this.#status = ConnectionStatuses.CLOSED;
545
628
  this.emit('close');
@@ -1,12 +1,30 @@
1
+ const BRACKETED_BROKER_RE = /^\[([^\]]+)](?::(\d*))?$/;
1
2
  export function parseBroker(broker, defaultPort = 9092) {
2
- if (typeof broker === 'string') {
3
- if (broker.includes(':')) {
4
- const [host, port] = broker.split(':');
5
- return { host, port: Number(port) };
6
- }
7
- else {
8
- return { host: broker, port: defaultPort };
3
+ if (typeof broker !== 'string') {
4
+ const host = stripBrackets(broker.host);
5
+ if (host === broker.host) {
6
+ return broker;
9
7
  }
8
+ return { ...broker, host };
9
+ }
10
+ const bracketed = BRACKETED_BROKER_RE.exec(broker);
11
+ if (bracketed) {
12
+ return { host: bracketed[1], port: parsePort(bracketed[2], defaultPort) };
13
+ }
14
+ const separator = broker.lastIndexOf(':');
15
+ // Bare IPv6 addresses contain multiple colons and no port. The host:port form
16
+ // is unambiguous only with a single colon, or with brackets around the host.
17
+ if (separator === -1 || broker.indexOf(':') !== separator) {
18
+ return { host: broker, port: defaultPort };
19
+ }
20
+ return { host: broker.slice(0, separator), port: parsePort(broker.slice(separator + 1), defaultPort) };
21
+ }
22
+ function parsePort(port, defaultPort) {
23
+ return port === undefined || port.length === 0 ? defaultPort : Number(port);
24
+ }
25
+ function stripBrackets(host) {
26
+ if (host.startsWith('[') && host.endsWith(']')) {
27
+ return host.slice(1, -1);
10
28
  }
11
- return broker;
29
+ return host;
12
30
  }
@@ -7,5 +7,5 @@ export const EMPTY_BUFFER = Buffer.alloc(0);
7
7
  export const EMPTY_UUID = Buffer.alloc(UUID_SIZE);
8
8
  // Since it is serialized at either 0 (for nullable) or 1 (since length is stored as length + 1), it always uses a single byte
9
9
  export const EMPTY_OR_SINGLE_COMPACT_LENGTH_SIZE = INT8_SIZE;
10
- // TODO: Tagged fields are not supported yet
10
+ // Flexible-version messages use this zero-length tagged-field section.
11
11
  export const EMPTY_TAGGED_FIELDS_BUFFER = Buffer.from([0]);
@@ -187,9 +187,13 @@ export class Reader {
187
187
  return this.readNullableString(compact, encoding) || '';
188
188
  }
189
189
  readUUID() {
190
- const value = this.peekUUID();
190
+ const hex = this.peekUUID();
191
191
  this.position += UUID_SIZE;
192
- return value.replace(/(.{8})(.{4})(.{4})(.{4})(.{12})/, '$1-$2-$3-$4-$5');
192
+ // Hyphenated by slicing rather than by a capture group regex. This runs once per topic per
193
+ // Fetch response from v13 up, and the regex form measured about fourteen times the cost, which
194
+ // made the newest Fetch versions measurably slower to decode than the ones identifying topics
195
+ // by name.
196
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
193
197
  }
194
198
  readNullableBytes(compact = true) {
195
199
  let length;
@@ -300,11 +304,12 @@ export class Reader {
300
304
  }
301
305
  return reader();
302
306
  }
303
- // TODO: Tagged fields are not supported yet
307
+ // Skip unknown tagged fields because codecs do not expose them to callers.
304
308
  readTaggedFields() {
305
- const length = this.readVarInt();
306
- if (length > 0) {
307
- this.skip(length);
309
+ const length = this.readUnsignedVarInt();
310
+ for (let i = 0; i < length; i++) {
311
+ this.readUnsignedVarInt();
312
+ this.skip(this.readUnsignedVarInt());
308
313
  }
309
314
  }
310
315
  }
@@ -33,11 +33,14 @@ export interface MessageJSON<Key = unknown, Value = unknown, HeaderKey = unknown
33
33
  partition: number;
34
34
  timestamp: string;
35
35
  offset: string;
36
+ leaderEpoch: number;
36
37
  metadata: Record<string, unknown>;
37
38
  }
38
39
  export interface Message<Key = Buffer, Value = Buffer, HeaderKey = Buffer, HeaderValue = Buffer> extends Required<MessageBase<Key, Value>> {
39
40
  headers: Map<HeaderKey, HeaderValue>;
41
+ headerEntries: Array<[HeaderKey, HeaderValue]>;
40
42
  offset: bigint;
43
+ leaderEpoch: number;
41
44
  metadata: Record<string, unknown>;
42
45
  commit(callback?: (error?: Error) => void): void | Promise<void>;
43
46
  toJSON(): MessageJSON<Key, Value, HeaderKey, HeaderValue>;
@@ -71,6 +74,7 @@ export interface KafkaRecord {
71
74
  export interface MessageToConsume extends KafkaRecord {
72
75
  topic: string;
73
76
  partition: number;
77
+ metadata?: Record<string, unknown>;
74
78
  }
75
79
  export interface RecordsBatch {
76
80
  firstOffset: bigint;
@@ -1,6 +1,6 @@
1
1
  import { DynamicBuffer } from '@platformatic/dynamic-buffer';
2
2
  import { humanize } from "../utils.js";
3
- import { EMPTY_TAGGED_FIELDS_BUFFER, EMPTY_UUID } from "./definitions.js";
3
+ import { EMPTY_TAGGED_FIELDS_BUFFER, EMPTY_UUID, UUID_SIZE } from "./definitions.js";
4
4
  const instanceIdentifier = Symbol('plt.kafka.writer.instanceIdentifier');
5
5
  export class Writer {
6
6
  context;
@@ -125,6 +125,12 @@ export class Writer {
125
125
  return this.append(EMPTY_UUID);
126
126
  }
127
127
  const buffer = Buffer.from(value.replaceAll('-', ''), 'hex');
128
+ // UUIDs are fixed width and carry no length prefix, so anything that is not exactly 16 bytes
129
+ // would silently desync the rest of the request. Buffer.from() stops at the first non hex
130
+ // character, so a topic name used as a topic id would append nothing at all here.
131
+ if (buffer.length !== UUID_SIZE) {
132
+ throw new RangeError(`Expected a UUID, got ${JSON.stringify(value)}.`);
133
+ }
128
134
  this.#buffer.append(buffer);
129
135
  return this;
130
136
  }
@@ -138,7 +144,9 @@ export class Writer {
138
144
  else {
139
145
  this.appendInt32(value.length);
140
146
  }
141
- this.#buffer.append(value);
147
+ if (value.length > 0) {
148
+ this.#buffer.append(value);
149
+ }
142
150
  return this;
143
151
  }
144
152
  // Note that this does not follow the wire protocol specification and thus the length is not +1ed
@@ -147,7 +155,12 @@ export class Writer {
147
155
  return this.appendVarInt(-1);
148
156
  }
149
157
  this.appendVarInt(value.length);
150
- this.#buffer.append(value);
158
+ // Appending an empty buffer corrupts DynamicBuffer's positional reads, so it must be skipped:
159
+ // see https://github.com/platformatic/dynamic-buffer/issues/12. Record keys and values are
160
+ // allowed to be empty without being null, so this is reachable.
161
+ if (value.length > 0) {
162
+ this.#buffer.append(value);
163
+ }
151
164
  return this;
152
165
  }
153
166
  appendArray(value, entryWriter, compact = true, appendTrailingTaggedFields = true) {
@@ -210,7 +223,7 @@ export class Writer {
210
223
  }
211
224
  return this;
212
225
  }
213
- // TODO: Tagged fields are not supported yet
226
+ // This client emits only empty tagged-field sections; it does not expose tagged fields to callers.
214
227
  appendTaggedFields(_ = []) {
215
228
  return this.append(EMPTY_TAGGED_FIELDS_BUFFER);
216
229
  }
@@ -4,7 +4,7 @@ import { type MessageToProduce } from '../protocol/records.ts';
4
4
  export interface SchemaRegistry<Id = unknown, Schema = unknown, Key = Buffer, Value = Buffer, HeaderKey = Buffer, HeaderValue = Buffer> {
5
5
  get(id: Id): Schema | undefined;
6
6
  fetch(id: Id, callback?: (error?: Error) => void): void | Promise<void>;
7
- getSchemaId(payload: Buffer | MessageToProduce<Key, Value, HeaderKey, HeaderValue>, type?: BeforeHookPayloadType): Id;
7
+ getSchemaId(payload: Buffer | null | MessageToProduce<Key, Value, HeaderKey, HeaderValue>, type?: BeforeHookPayloadType): Id;
8
8
  getSerializers(): Serializers<Key, Value, HeaderKey, HeaderValue>;
9
9
  getDeserializers(): Deserializers<Key, Value, HeaderKey, HeaderValue>;
10
10
  getBeforeSerializationHook(): BeforeSerializationHook<Key, Value, HeaderKey, HeaderValue>;
@@ -14,7 +14,7 @@ export declare function runAsyncSeries<V>(operation: (item: V, cb: Callback<void
14
14
  export declare class AbstractSchemaRegistry<Id = unknown, Schema = unknown, Key = Buffer, Value = Buffer, HeaderKey = Buffer, HeaderValue = Buffer> implements SchemaRegistry<Id, Schema, Key, Value, HeaderKey, HeaderValue> {
15
15
  get(_: Id): Schema | undefined;
16
16
  fetch(_i: unknown, _c?: (error?: Error) => void): void | Promise<void>;
17
- getSchemaId(_p: Buffer | MessageToProduce<Key, Value, HeaderKey, HeaderValue>, _t?: BeforeHookPayloadType): Id;
17
+ getSchemaId(_p: Buffer | null | MessageToProduce<Key, Value, HeaderKey, HeaderValue>, _t?: BeforeHookPayloadType): Id;
18
18
  getSerializers(): Serializers<Key, Value, HeaderKey, HeaderValue>;
19
19
  getDeserializers(): Deserializers<Key, Value, HeaderKey, HeaderValue>;
20
20
  getBeforeSerializationHook(): BeforeSerializationHook<Key, Value, HeaderKey, HeaderValue>;
@@ -1,19 +1,38 @@
1
1
  export function runAsyncSeries(operation, collection, index, callback) {
2
- if (collection.length === 0 || index >= collection.length) {
2
+ const length = collection.length;
3
+ if (length === 0 || index >= length) {
3
4
  callback(null);
4
5
  return;
5
6
  }
6
- operation(collection[index], error => {
7
- if (error) {
8
- callback(error);
7
+ while (index < length) {
8
+ let invocationReturned = false;
9
+ let cbCalled = false;
10
+ let cbError;
11
+ operation(collection[index], error => {
12
+ if (invocationReturned) {
13
+ // The callback was invoked asynchronously, so continuing recursively does not grow the current stack.
14
+ if (error) {
15
+ callback(error);
16
+ return;
17
+ }
18
+ runAsyncSeries(operation, collection, index + 1, callback);
19
+ return;
20
+ }
21
+ cbCalled = true;
22
+ cbError = error;
23
+ });
24
+ invocationReturned = true;
25
+ if (!cbCalled) {
26
+ // Wait for the async callback to continue the series.
9
27
  return;
10
28
  }
11
- else if (index === collection.length - 1) {
12
- callback(null);
29
+ if (cbError) {
30
+ callback(cbError);
13
31
  return;
14
32
  }
15
- runAsyncSeries(operation, collection, index + 1, callback);
16
- });
33
+ index++;
34
+ }
35
+ callback(null);
17
36
  }
18
37
  /* c8 ignore start */
19
38
  export class AbstractSchemaRegistry {
@@ -1,16 +1,32 @@
1
- import { type ValidateFunction } from 'ajv';
1
+ import { type ErrorObject, type Options, type ValidateFunction } from 'ajv';
2
2
  import { type Type } from 'avsc';
3
+ import { type ConnectionOptions as TLSConnectionOptions } from 'node:tls';
3
4
  import { type Root } from 'protobufjs';
4
5
  import { type Callback } from '../apis/definitions.ts';
5
6
  import { type BeforeDeserializationHook, type BeforeHookPayloadType, type BeforeSerializationHook, type Deserializers, type Serializers } from '../clients/serde.ts';
6
- import { type CredentialProvider } from '../index.ts';
7
+ import { type CredentialProvider, UserError } from '../index.ts';
7
8
  import { type MessageToConsume, type MessageToProduce } from '../protocol/records.ts';
8
9
  import { AbstractSchemaRegistry } from './abstract.ts';
9
10
  type ConfluentSchemaRegistryMessageToProduce = MessageToProduce<unknown, unknown, unknown, unknown>;
11
+ export type UndiciDispatcher = NonNullable<RequestInit['dispatcher']>;
12
+ export interface UndiciAgentOptions {
13
+ connect: TLSConnectionOptions;
14
+ }
15
+ export type UndiciAgentConstructor = new (options: UndiciAgentOptions) => UndiciDispatcher;
16
+ export declare function createUndiciAgent(options: UndiciAgentOptions): UndiciDispatcher;
10
17
  export interface ConfluentSchemaRegistryMetadata {
11
- schemas?: Record<BeforeHookPayloadType, number>;
18
+ schemas?: Partial<Record<BeforeHookPayloadType, number>>;
19
+ }
20
+ export interface ConfluentSchemaRegistryConsumedMetadata {
21
+ lengths?: {
22
+ key?: number;
23
+ value?: number;
24
+ };
12
25
  }
13
26
  export type ConfluentSchemaRegistryProtobufTypeMapper = (id: number, type: BeforeHookPayloadType, context: ConfluentSchemaRegistryMessageToProduce | MessageToConsume) => string;
27
+ export type ConfluentSchemaRegistryHeaders = Record<string, string>;
28
+ export type ConfluentSchemaRegistryHeadersProvider = () => ConfluentSchemaRegistryHeaders | Promise<ConfluentSchemaRegistryHeaders>;
29
+ export type ConfluentSchemaRegistryRetryDelayGetter = (attempt: number, retries: number, error: Error) => number;
14
30
  export interface ConfluentSchemaRegistryOptions {
15
31
  url: string;
16
32
  auth?: {
@@ -18,19 +34,56 @@ export interface ConfluentSchemaRegistryOptions {
18
34
  password?: string | CredentialProvider;
19
35
  token?: string | CredentialProvider;
20
36
  };
37
+ headers?: ConfluentSchemaRegistryHeaders | ConfluentSchemaRegistryHeadersProvider;
38
+ timeout?: number;
39
+ retries?: number;
40
+ retryDelay?: number | ConfluentSchemaRegistryRetryDelayGetter;
41
+ tls?: TLSConnectionOptions;
42
+ ssl?: TLSConnectionOptions;
21
43
  protobufTypeMapper?: ConfluentSchemaRegistryProtobufTypeMapper;
22
44
  jsonValidateSend?: boolean;
45
+ jsonAjvOptions?: Options;
46
+ }
47
+ export declare const defaultConfluentSchemaRegistryOptions: {
48
+ timeout: number;
49
+ retries: number;
50
+ retryDelay: number;
51
+ };
52
+ export declare const retriableSchemaRegistryStatuses: number[];
53
+ export type SchemaValidationPhase = 'serialization' | 'deserialization';
54
+ export interface SchemaValidationErrorProperties {
55
+ schemaId: number;
56
+ schemaType: 'json';
57
+ phase: SchemaValidationPhase;
58
+ payloadType: BeforeHookPayloadType;
59
+ type: BeforeHookPayloadType;
60
+ data: unknown;
61
+ headers?: ReadonlyMap<unknown, unknown>;
62
+ validationErrors: ErrorObject[] | null | undefined;
63
+ }
64
+ export declare class SchemaValidationError extends UserError {
65
+ readonly schemaId: number;
66
+ readonly schemaType: 'json';
67
+ readonly phase: SchemaValidationPhase;
68
+ readonly payloadType: BeforeHookPayloadType;
69
+ readonly type: BeforeHookPayloadType;
70
+ readonly data: unknown;
71
+ readonly headers?: ReadonlyMap<unknown, unknown>;
72
+ readonly validationErrors: ErrorObject[] | null | undefined;
73
+ constructor(message: string, properties: SchemaValidationErrorProperties);
23
74
  }
24
75
  export interface Schema {
25
76
  id: number;
26
77
  type: 'avro' | 'protobuf' | 'json';
27
78
  schema: Type | Root | ValidateFunction;
28
79
  }
80
+ export declare function trackConsumedSchemaId(message: MessageToConsume | undefined, type: BeforeHookPayloadType, schemaId: number): void;
81
+ export declare function trackConsumedPayloadLength(message: MessageToConsume | undefined, type: 'key' | 'value', data: Buffer): void;
29
82
  export declare function defaultProtobufTypeMapper(_: number, type: BeforeHookPayloadType, context: ConfluentSchemaRegistryMessageToProduce | MessageToConsume): string;
30
83
  export declare class ConfluentSchemaRegistry<Key = Buffer, Value = Buffer, HeaderKey = Buffer, HeaderValue = Buffer> extends AbstractSchemaRegistry<number | undefined, Schema, Key, Value, HeaderKey, HeaderValue> {
31
84
  #private;
32
85
  constructor(options: ConfluentSchemaRegistryOptions);
33
- getSchemaId(message: Buffer | MessageToProduce<Key, Value, HeaderKey, HeaderValue>, type?: BeforeHookPayloadType): number | undefined;
86
+ getSchemaId(message: Buffer | null | MessageToProduce<Key, Value, HeaderKey, HeaderValue>, type?: BeforeHookPayloadType): number | undefined;
34
87
  get(id: number): Schema | undefined;
35
88
  fetchSchema(id: number, callback: Callback<void>): Promise<void>;
36
89
  getSerializers(): Serializers<Key, Value, HeaderKey, HeaderValue>;