@platformatic/kafka 2.7.0 → 2.9.0-alpha.1

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 (730) hide show
  1. package/README.md +1 -0
  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 +19 -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/consumer/consumer-group-heartbeat-v0.d.ts +2 -2
  206. package/dist/apis/consumer/consumer-group-heartbeat-v0.js +17 -10
  207. package/dist/apis/consumer/consumer-group-heartbeat-v1.d.ts +2 -2
  208. package/dist/apis/consumer/consumer-group-heartbeat-v1.js +17 -10
  209. package/dist/apis/consumer/fetch-v10.d.ts +51 -0
  210. package/dist/apis/consumer/fetch-v10.js +122 -0
  211. package/dist/apis/consumer/fetch-v11.d.ts +51 -0
  212. package/dist/apis/consumer/fetch-v11.js +125 -0
  213. package/dist/apis/consumer/fetch-v12.d.ts +20 -4
  214. package/dist/apis/consumer/fetch-v12.js +29 -12
  215. package/dist/apis/consumer/fetch-v13.d.ts +20 -4
  216. package/dist/apis/consumer/fetch-v13.js +25 -7
  217. package/dist/apis/consumer/fetch-v14.d.ts +20 -4
  218. package/dist/apis/consumer/fetch-v14.js +25 -7
  219. package/dist/apis/consumer/fetch-v15.d.ts +20 -4
  220. package/dist/apis/consumer/fetch-v15.js +25 -7
  221. package/dist/apis/consumer/fetch-v16.d.ts +27 -4
  222. package/dist/apis/consumer/fetch-v16.js +36 -8
  223. package/dist/apis/consumer/fetch-v17.d.ts +28 -4
  224. package/dist/apis/consumer/fetch-v17.js +43 -9
  225. package/dist/apis/consumer/fetch-v4.d.ts +51 -0
  226. package/dist/apis/consumer/fetch-v4.js +87 -0
  227. package/dist/apis/consumer/fetch-v5.d.ts +51 -0
  228. package/dist/apis/consumer/fetch-v5.js +89 -0
  229. package/dist/apis/consumer/fetch-v6.d.ts +51 -0
  230. package/dist/apis/consumer/fetch-v6.js +99 -0
  231. package/dist/apis/consumer/fetch-v7.d.ts +51 -0
  232. package/dist/apis/consumer/fetch-v7.js +117 -0
  233. package/dist/apis/consumer/fetch-v8.d.ts +51 -0
  234. package/dist/apis/consumer/fetch-v8.js +117 -0
  235. package/dist/apis/consumer/fetch-v9.d.ts +51 -0
  236. package/dist/apis/consumer/fetch-v9.js +122 -0
  237. package/dist/apis/consumer/heartbeat-v0.d.ts +11 -0
  238. package/dist/apis/consumer/heartbeat-v0.js +24 -0
  239. package/dist/apis/consumer/heartbeat-v1.d.ts +11 -0
  240. package/dist/apis/consumer/heartbeat-v1.js +31 -0
  241. package/dist/apis/consumer/heartbeat-v2.d.ts +11 -0
  242. package/dist/apis/consumer/heartbeat-v2.js +31 -0
  243. package/dist/apis/consumer/heartbeat-v3.d.ts +11 -0
  244. package/dist/apis/consumer/heartbeat-v3.js +33 -0
  245. package/dist/apis/consumer/heartbeat-v4.js +1 -0
  246. package/dist/apis/consumer/index.d.ts +51 -0
  247. package/dist/apis/consumer/index.js +51 -0
  248. package/dist/apis/consumer/join-group-v0.d.ts +27 -0
  249. package/dist/apis/consumer/join-group-v0.js +51 -0
  250. package/dist/apis/consumer/join-group-v1.d.ts +8 -0
  251. package/dist/apis/consumer/join-group-v1.js +43 -0
  252. package/dist/apis/consumer/join-group-v2.d.ts +27 -0
  253. package/dist/apis/consumer/join-group-v2.js +60 -0
  254. package/dist/apis/consumer/join-group-v3.d.ts +27 -0
  255. package/dist/apis/consumer/join-group-v3.js +60 -0
  256. package/dist/apis/consumer/join-group-v4.d.ts +27 -0
  257. package/dist/apis/consumer/join-group-v4.js +60 -0
  258. package/dist/apis/consumer/join-group-v5.d.ts +27 -0
  259. package/dist/apis/consumer/join-group-v5.js +63 -0
  260. package/dist/apis/consumer/join-group-v6.d.ts +2 -2
  261. package/dist/apis/consumer/join-group-v6.js +10 -7
  262. package/dist/apis/consumer/join-group-v7.d.ts +2 -2
  263. package/dist/apis/consumer/join-group-v7.js +5 -3
  264. package/dist/apis/consumer/join-group-v8.d.ts +2 -2
  265. package/dist/apis/consumer/join-group-v8.js +5 -3
  266. package/dist/apis/consumer/join-group-v9.d.ts +2 -2
  267. package/dist/apis/consumer/join-group-v9.js +5 -3
  268. package/dist/apis/consumer/leave-group-v0.d.ts +22 -0
  269. package/dist/apis/consumer/leave-group-v0.js +23 -0
  270. package/dist/apis/consumer/leave-group-v1.d.ts +22 -0
  271. package/dist/apis/consumer/leave-group-v1.js +30 -0
  272. package/dist/apis/consumer/leave-group-v2.d.ts +22 -0
  273. package/dist/apis/consumer/leave-group-v2.js +30 -0
  274. package/dist/apis/consumer/leave-group-v3.d.ts +22 -0
  275. package/dist/apis/consumer/leave-group-v3.js +54 -0
  276. package/dist/apis/consumer/leave-group-v4.d.ts +1 -1
  277. package/dist/apis/consumer/leave-group-v4.js +4 -2
  278. package/dist/apis/consumer/leave-group-v5.d.ts +1 -1
  279. package/dist/apis/consumer/leave-group-v5.js +4 -2
  280. package/dist/apis/consumer/list-offsets-v0.d.ts +30 -0
  281. package/dist/apis/consumer/list-offsets-v0.js +50 -0
  282. package/dist/apis/consumer/list-offsets-v1.d.ts +12 -0
  283. package/dist/apis/consumer/list-offsets-v1.js +52 -0
  284. package/dist/apis/consumer/list-offsets-v2.d.ts +30 -0
  285. package/dist/apis/consumer/list-offsets-v2.js +64 -0
  286. package/dist/apis/consumer/list-offsets-v3.d.ts +30 -0
  287. package/dist/apis/consumer/list-offsets-v3.js +64 -0
  288. package/dist/apis/consumer/list-offsets-v4.d.ts +30 -0
  289. package/dist/apis/consumer/list-offsets-v4.js +67 -0
  290. package/dist/apis/consumer/list-offsets-v6.js +6 -3
  291. package/dist/apis/consumer/list-offsets-v7.js +6 -3
  292. package/dist/apis/consumer/list-offsets-v8.js +6 -3
  293. package/dist/apis/consumer/list-offsets-v9.js +6 -3
  294. package/dist/apis/consumer/offset-commit-v0.d.ts +29 -0
  295. package/dist/apis/consumer/offset-commit-v0.js +52 -0
  296. package/dist/apis/consumer/offset-commit-v1.d.ts +7 -0
  297. package/dist/apis/consumer/offset-commit-v1.js +30 -0
  298. package/dist/apis/consumer/offset-commit-v2.d.ts +8 -0
  299. package/dist/apis/consumer/offset-commit-v2.js +31 -0
  300. package/dist/apis/consumer/offset-commit-v3.d.ts +29 -0
  301. package/dist/apis/consumer/offset-commit-v3.js +58 -0
  302. package/dist/apis/consumer/offset-commit-v4.d.ts +29 -0
  303. package/dist/apis/consumer/offset-commit-v4.js +58 -0
  304. package/dist/apis/consumer/offset-commit-v5.d.ts +29 -0
  305. package/dist/apis/consumer/offset-commit-v5.js +56 -0
  306. package/dist/apis/consumer/offset-commit-v6.d.ts +29 -0
  307. package/dist/apis/consumer/offset-commit-v6.js +60 -0
  308. package/dist/apis/consumer/offset-commit-v7.d.ts +29 -0
  309. package/dist/apis/consumer/offset-commit-v7.js +62 -0
  310. package/dist/apis/consumer/offset-commit-v8.d.ts +2 -2
  311. package/dist/apis/consumer/offset-commit-v8.js +6 -3
  312. package/dist/apis/consumer/offset-commit-v9.d.ts +2 -2
  313. package/dist/apis/consumer/offset-commit-v9.js +6 -3
  314. package/dist/apis/consumer/offset-fetch-v0.d.ts +40 -0
  315. package/dist/apis/consumer/offset-fetch-v0.js +62 -0
  316. package/dist/apis/consumer/offset-fetch-v1.d.ts +6 -0
  317. package/dist/apis/consumer/offset-fetch-v1.js +41 -0
  318. package/dist/apis/consumer/offset-fetch-v2.d.ts +7 -0
  319. package/dist/apis/consumer/offset-fetch-v2.js +48 -0
  320. package/dist/apis/consumer/offset-fetch-v3.d.ts +39 -0
  321. package/dist/apis/consumer/offset-fetch-v3.js +64 -0
  322. package/dist/apis/consumer/offset-fetch-v4.d.ts +39 -0
  323. package/dist/apis/consumer/offset-fetch-v4.js +64 -0
  324. package/dist/apis/consumer/offset-fetch-v5.d.ts +39 -0
  325. package/dist/apis/consumer/offset-fetch-v5.js +65 -0
  326. package/dist/apis/consumer/offset-fetch-v6.d.ts +39 -0
  327. package/dist/apis/consumer/offset-fetch-v6.js +68 -0
  328. package/dist/apis/consumer/offset-fetch-v7.d.ts +39 -0
  329. package/dist/apis/consumer/offset-fetch-v7.js +70 -0
  330. package/dist/apis/consumer/offset-fetch-v8.js +5 -2
  331. package/dist/apis/consumer/offset-fetch-v9.js +5 -2
  332. package/dist/apis/consumer/offset-for-leader-epoch-v0.d.ts +29 -0
  333. package/dist/apis/consumer/offset-for-leader-epoch-v0.js +48 -0
  334. package/dist/apis/consumer/offset-for-leader-epoch-v1.d.ts +29 -0
  335. package/dist/apis/consumer/offset-for-leader-epoch-v1.js +54 -0
  336. package/dist/apis/consumer/offset-for-leader-epoch-v2.d.ts +29 -0
  337. package/dist/apis/consumer/offset-for-leader-epoch-v2.js +58 -0
  338. package/dist/apis/consumer/offset-for-leader-epoch-v3.d.ts +29 -0
  339. package/dist/apis/consumer/offset-for-leader-epoch-v3.js +59 -0
  340. package/dist/apis/consumer/offset-for-leader-epoch-v4.d.ts +1 -1
  341. package/dist/apis/consumer/offset-for-leader-epoch-v4.js +11 -8
  342. package/dist/apis/consumer/sync-group-v0.d.ts +18 -0
  343. package/dist/apis/consumer/sync-group-v0.js +38 -0
  344. package/dist/apis/consumer/sync-group-v1.d.ts +18 -0
  345. package/dist/apis/consumer/sync-group-v1.js +39 -0
  346. package/dist/apis/consumer/sync-group-v2.d.ts +18 -0
  347. package/dist/apis/consumer/sync-group-v2.js +39 -0
  348. package/dist/apis/consumer/sync-group-v3.d.ts +18 -0
  349. package/dist/apis/consumer/sync-group-v3.js +41 -0
  350. package/dist/apis/consumer/sync-group-v4.js +1 -0
  351. package/dist/apis/consumer/sync-group-v5.js +1 -0
  352. package/dist/apis/enumerations.d.ts +20 -5
  353. package/dist/apis/enumerations.js +57 -5
  354. package/dist/apis/index.d.ts +1 -0
  355. package/dist/apis/index.js +1 -0
  356. package/dist/apis/metadata/api-versions-v0.d.ts +17 -0
  357. package/dist/apis/metadata/api-versions-v0.js +24 -0
  358. package/dist/apis/metadata/api-versions-v1.d.ts +17 -0
  359. package/dist/apis/metadata/api-versions-v1.js +39 -0
  360. package/dist/apis/metadata/api-versions-v2.d.ts +17 -0
  361. package/dist/apis/metadata/api-versions-v2.js +39 -0
  362. package/dist/apis/metadata/api-versions-v3.d.ts +16 -2
  363. package/dist/apis/metadata/api-versions-v3.js +35 -3
  364. package/dist/apis/metadata/api-versions-v4.d.ts +16 -2
  365. package/dist/apis/metadata/api-versions-v4.js +35 -3
  366. package/dist/apis/metadata/find-coordinator-v0.d.ts +18 -0
  367. package/dist/apis/metadata/find-coordinator-v0.js +24 -0
  368. package/dist/apis/metadata/find-coordinator-v1.d.ts +18 -0
  369. package/dist/apis/metadata/find-coordinator-v1.js +41 -0
  370. package/dist/apis/metadata/find-coordinator-v2.d.ts +18 -0
  371. package/dist/apis/metadata/find-coordinator-v2.js +41 -0
  372. package/dist/apis/metadata/find-coordinator-v3.d.ts +18 -0
  373. package/dist/apis/metadata/find-coordinator-v3.js +44 -0
  374. package/dist/apis/metadata/find-coordinator-v4.js +3 -1
  375. package/dist/apis/metadata/find-coordinator-v5.js +3 -1
  376. package/dist/apis/metadata/find-coordinator-v6.js +3 -1
  377. package/dist/apis/metadata/index.d.ts +16 -0
  378. package/dist/apis/metadata/index.js +16 -0
  379. package/dist/apis/metadata/metadata-v0.d.ts +38 -0
  380. package/dist/apis/metadata/metadata-v0.js +47 -0
  381. package/dist/apis/metadata/metadata-v1.d.ts +38 -0
  382. package/dist/apis/metadata/metadata-v1.js +52 -0
  383. package/dist/apis/metadata/metadata-v10.d.ts +4 -2
  384. package/dist/apis/metadata/metadata-v10.js +29 -16
  385. package/dist/apis/metadata/metadata-v11.d.ts +3 -2
  386. package/dist/apis/metadata/metadata-v11.js +23 -15
  387. package/dist/apis/metadata/metadata-v12.d.ts +9 -2
  388. package/dist/apis/metadata/metadata-v12.js +21 -9
  389. package/dist/apis/metadata/metadata-v2.d.ts +38 -0
  390. package/dist/apis/metadata/metadata-v2.js +52 -0
  391. package/dist/apis/metadata/metadata-v3.d.ts +38 -0
  392. package/dist/apis/metadata/metadata-v3.js +52 -0
  393. package/dist/apis/metadata/metadata-v4.d.ts +38 -0
  394. package/dist/apis/metadata/metadata-v4.js +54 -0
  395. package/dist/apis/metadata/metadata-v5.d.ts +38 -0
  396. package/dist/apis/metadata/metadata-v5.js +85 -0
  397. package/dist/apis/metadata/metadata-v6.d.ts +38 -0
  398. package/dist/apis/metadata/metadata-v6.js +85 -0
  399. package/dist/apis/metadata/metadata-v7.d.ts +38 -0
  400. package/dist/apis/metadata/metadata-v7.js +86 -0
  401. package/dist/apis/metadata/metadata-v8.d.ts +39 -0
  402. package/dist/apis/metadata/metadata-v8.js +94 -0
  403. package/dist/apis/metadata/metadata-v9.d.ts +5 -3
  404. package/dist/apis/metadata/metadata-v9.js +28 -21
  405. package/dist/apis/producer/add-offsets-to-txn-v0.d.ts +10 -0
  406. package/dist/apis/producer/add-offsets-to-txn-v0.js +30 -0
  407. package/dist/apis/producer/add-offsets-to-txn-v3.js +1 -0
  408. package/dist/apis/producer/add-offsets-to-txn-v4.js +1 -0
  409. package/dist/apis/producer/add-partitions-to-txn-v0.d.ts +34 -0
  410. package/dist/apis/producer/add-partitions-to-txn-v0.js +62 -0
  411. package/dist/apis/producer/add-partitions-to-txn-v1.d.ts +5 -0
  412. package/dist/apis/producer/add-partitions-to-txn-v1.js +9 -0
  413. package/dist/apis/producer/add-partitions-to-txn-v2.d.ts +5 -0
  414. package/dist/apis/producer/add-partitions-to-txn-v2.js +9 -0
  415. package/dist/apis/producer/add-partitions-to-txn-v3.js +13 -8
  416. package/dist/apis/producer/add-partitions-to-txn-v4.js +11 -5
  417. package/dist/apis/producer/add-partitions-to-txn-v5.js +11 -5
  418. package/dist/apis/producer/end-txn-v0.d.ts +10 -0
  419. package/dist/apis/producer/end-txn-v0.js +30 -0
  420. package/dist/apis/producer/end-txn-v1.d.ts +5 -0
  421. package/dist/apis/producer/end-txn-v1.js +9 -0
  422. package/dist/apis/producer/end-txn-v2.d.ts +5 -0
  423. package/dist/apis/producer/end-txn-v2.js +9 -0
  424. package/dist/apis/producer/end-txn-v3.js +1 -0
  425. package/dist/apis/producer/end-txn-v4.js +1 -0
  426. package/dist/apis/producer/index.d.ts +17 -0
  427. package/dist/apis/producer/index.js +17 -0
  428. package/dist/apis/producer/init-producer-id-v0.d.ts +13 -0
  429. package/dist/apis/producer/init-producer-id-v0.js +31 -0
  430. package/dist/apis/producer/init-producer-id-v1.d.ts +5 -0
  431. package/dist/apis/producer/init-producer-id-v1.js +9 -0
  432. package/dist/apis/producer/init-producer-id-v2.d.ts +13 -0
  433. package/dist/apis/producer/init-producer-id-v2.js +24 -0
  434. package/dist/apis/producer/init-producer-id-v3.d.ts +2 -2
  435. package/dist/apis/producer/init-producer-id-v3.js +9 -1
  436. package/dist/apis/producer/init-producer-id-v4.d.ts +2 -2
  437. package/dist/apis/producer/init-producer-id-v4.js +9 -1
  438. package/dist/apis/producer/init-producer-id-v5.d.ts +2 -2
  439. package/dist/apis/producer/init-producer-id-v5.js +9 -1
  440. package/dist/apis/producer/produce-v10.d.ts +12 -0
  441. package/dist/apis/producer/produce-v10.js +42 -5
  442. package/dist/apis/producer/produce-v11.d.ts +12 -0
  443. package/dist/apis/producer/produce-v11.js +42 -5
  444. package/dist/apis/producer/produce-v3.d.ts +29 -0
  445. package/dist/apis/producer/produce-v3.js +88 -0
  446. package/dist/apis/producer/produce-v4.d.ts +29 -0
  447. package/dist/apis/producer/produce-v4.js +88 -0
  448. package/dist/apis/producer/produce-v5.d.ts +29 -0
  449. package/dist/apis/producer/produce-v5.js +88 -0
  450. package/dist/apis/producer/produce-v6.d.ts +29 -0
  451. package/dist/apis/producer/produce-v6.js +88 -0
  452. package/dist/apis/producer/produce-v7.js +1 -1
  453. package/dist/apis/producer/produce-v9.js +7 -3
  454. package/dist/apis/producer/txn-offset-commit-v0.d.ts +29 -0
  455. package/dist/apis/producer/txn-offset-commit-v0.js +60 -0
  456. package/dist/apis/producer/txn-offset-commit-v1.d.ts +29 -0
  457. package/dist/apis/producer/txn-offset-commit-v1.js +60 -0
  458. package/dist/apis/producer/txn-offset-commit-v2.d.ts +29 -0
  459. package/dist/apis/producer/txn-offset-commit-v2.js +62 -0
  460. package/dist/apis/producer/txn-offset-commit-v3.js +7 -3
  461. package/dist/apis/producer/txn-offset-commit-v4.js +7 -3
  462. package/dist/apis/security/index.d.ts +3 -0
  463. package/dist/apis/security/index.js +3 -0
  464. package/dist/apis/security/sasl-authenticate-v0.d.ts +15 -0
  465. package/dist/apis/security/sasl-authenticate-v0.js +30 -0
  466. package/dist/apis/security/sasl-authenticate-v1.d.ts +15 -0
  467. package/dist/apis/security/sasl-authenticate-v1.js +30 -0
  468. package/dist/apis/security/sasl-authenticate-v2.js +1 -0
  469. package/dist/apis/security/sasl-handshake-v0.d.ts +10 -0
  470. package/dist/apis/security/sasl-handshake-v0.js +28 -0
  471. package/dist/apis/tagged-fields.d.ts +7 -0
  472. package/dist/apis/tagged-fields.js +27 -0
  473. package/dist/apis/telemetry/compression-types.d.ts +8 -0
  474. package/dist/apis/telemetry/compression-types.js +7 -0
  475. package/dist/apis/telemetry/get-telemetry-subscriptions-v0.d.ts +2 -1
  476. package/dist/apis/telemetry/get-telemetry-subscriptions-v0.js +1 -0
  477. package/dist/apis/telemetry/index.d.ts +3 -0
  478. package/dist/apis/telemetry/index.js +3 -0
  479. package/dist/apis/telemetry/list-client-metrics-resources-v0.d.ts +6 -4
  480. package/dist/apis/telemetry/list-client-metrics-resources-v0.js +13 -8
  481. package/dist/apis/telemetry/list-config-resources-v1.d.ts +16 -0
  482. package/dist/apis/telemetry/list-config-resources-v1.js +38 -0
  483. package/dist/apis/telemetry/push-telemetry-v0.d.ts +3 -2
  484. package/dist/apis/telemetry/push-telemetry-v0.js +1 -0
  485. package/dist/clients/admin/admin.js +75 -12
  486. package/dist/clients/admin/options.d.ts +1 -1
  487. package/dist/clients/admin/options.js +3 -3
  488. package/dist/clients/admin/types.d.ts +1 -1
  489. package/dist/clients/base/base.d.ts +1 -1
  490. package/dist/clients/base/base.js +19 -4
  491. package/dist/clients/consumer/consumer.js +53 -4
  492. package/dist/clients/consumer/messages-stream.js +53 -18
  493. package/dist/clients/consumer/options.d.ts +3 -0
  494. package/dist/clients/consumer/options.js +1 -0
  495. package/dist/clients/consumer/types.d.ts +24 -1
  496. package/dist/clients/consumer/types.js +4 -0
  497. package/dist/clients/producer/producer.js +6 -1
  498. package/dist/network/connection.js +65 -19
  499. package/dist/protocol/definitions.js +1 -1
  500. package/dist/protocol/reader.js +1 -1
  501. package/dist/protocol/writer.js +17 -4
  502. package/dist/registries/confluent-schema-registry.d.ts +24 -2
  503. package/dist/registries/confluent-schema-registry.js +52 -5
  504. package/dist/typescript-4/dist/apis/admin/alter-client-quotas-v0.d.ts +40 -0
  505. package/dist/typescript-4/dist/apis/admin/alter-client-quotas-v1.d.ts +6 -5
  506. package/dist/typescript-4/dist/apis/admin/alter-configs-v0.d.ts +7 -0
  507. package/dist/typescript-4/dist/apis/admin/alter-configs-v1.d.ts +2 -0
  508. package/dist/typescript-4/dist/apis/admin/alter-partition-reassignments-v0.d.ts +3 -2
  509. package/dist/typescript-4/dist/apis/admin/alter-partition-reassignments-v1.d.ts +6 -4
  510. package/dist/typescript-4/dist/apis/admin/alter-partition-v0.d.ts +40 -0
  511. package/dist/typescript-4/dist/apis/admin/alter-partition-v1.d.ts +37 -0
  512. package/dist/typescript-4/dist/apis/admin/alter-partition-v2.d.ts +36 -0
  513. package/dist/typescript-4/dist/apis/admin/alter-partition-v3.d.ts +6 -35
  514. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v0.d.ts +23 -0
  515. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v1.d.ts +4 -0
  516. package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v2.d.ts +1 -1
  517. package/dist/typescript-4/dist/apis/admin/client-quotas.d.ts +2 -0
  518. package/dist/typescript-4/dist/apis/admin/consumer-group-describe-v0.d.ts +2 -1
  519. package/dist/typescript-4/dist/apis/admin/create-acls-v0.d.ts +16 -0
  520. package/dist/typescript-4/dist/apis/admin/create-acls-v1.d.ts +15 -0
  521. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v0.d.ts +24 -0
  522. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v1.d.ts +4 -0
  523. package/dist/typescript-4/dist/apis/admin/create-delegation-token-v2.d.ts +9 -0
  524. package/dist/typescript-4/dist/apis/admin/create-partitions-v0.d.ts +2 -0
  525. package/dist/typescript-4/dist/apis/admin/create-partitions-v1.d.ts +2 -2
  526. package/dist/typescript-4/dist/apis/admin/create-partitions-v2.d.ts +2 -2
  527. package/dist/typescript-4/dist/apis/admin/create-topics-v0.d.ts +42 -0
  528. package/dist/typescript-4/dist/apis/admin/create-topics-v1.d.ts +42 -0
  529. package/dist/typescript-4/dist/apis/admin/create-topics-v2.d.ts +42 -0
  530. package/dist/typescript-4/dist/apis/admin/create-topics-v3.d.ts +42 -0
  531. package/dist/typescript-4/dist/apis/admin/create-topics-v4.d.ts +42 -0
  532. package/dist/typescript-4/dist/apis/admin/create-topics-v5.d.ts +42 -0
  533. package/dist/typescript-4/dist/apis/admin/create-topics-v6.d.ts +42 -0
  534. package/dist/typescript-4/dist/apis/admin/create-topics-v7.d.ts +2 -1
  535. package/dist/typescript-4/dist/apis/admin/delete-acls-v0.d.ts +28 -0
  536. package/dist/typescript-4/dist/apis/admin/delete-acls-v1.d.ts +27 -0
  537. package/dist/typescript-4/dist/apis/admin/delete-groups-v0.d.ts +14 -0
  538. package/dist/typescript-4/dist/apis/admin/delete-groups-v1.d.ts +14 -0
  539. package/dist/typescript-4/dist/apis/admin/delete-records-v0.d.ts +27 -0
  540. package/dist/typescript-4/dist/apis/admin/delete-records-v1.d.ts +27 -0
  541. package/dist/typescript-4/dist/apis/admin/delete-topics-v0.d.ts +19 -0
  542. package/dist/typescript-4/dist/apis/admin/delete-topics-v1.d.ts +19 -0
  543. package/dist/typescript-4/dist/apis/admin/delete-topics-v2.d.ts +19 -0
  544. package/dist/typescript-4/dist/apis/admin/delete-topics-v3.d.ts +19 -0
  545. package/dist/typescript-4/dist/apis/admin/delete-topics-v4.d.ts +19 -0
  546. package/dist/typescript-4/dist/apis/admin/delete-topics-v5.d.ts +19 -0
  547. package/dist/typescript-4/dist/apis/admin/delete-topics-v6.d.ts +1 -1
  548. package/dist/typescript-4/dist/apis/admin/describe-acls-v0.d.ts +21 -0
  549. package/dist/typescript-4/dist/apis/admin/describe-acls-v1.d.ts +21 -0
  550. package/dist/typescript-4/dist/apis/admin/describe-client-quotas-v0.d.ts +8 -7
  551. package/dist/typescript-4/dist/apis/admin/describe-client-quotas-v1.d.ts +9 -0
  552. package/dist/typescript-4/dist/apis/admin/describe-cluster-v0.d.ts +4 -3
  553. package/dist/typescript-4/dist/apis/admin/describe-cluster-v1.d.ts +4 -3
  554. package/dist/typescript-4/dist/apis/admin/describe-configs-v0.d.ts +41 -0
  555. package/dist/typescript-4/dist/apis/admin/describe-configs-v1.d.ts +39 -0
  556. package/dist/typescript-4/dist/apis/admin/describe-configs-v2.d.ts +9 -8
  557. package/dist/typescript-4/dist/apis/admin/describe-configs-v3.d.ts +9 -8
  558. package/dist/typescript-4/dist/apis/admin/describe-configs-v4.d.ts +2 -2
  559. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v0.d.ts +31 -0
  560. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v1.d.ts +4 -0
  561. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v2.d.ts +8 -0
  562. package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v3.d.ts +4 -27
  563. package/dist/typescript-4/dist/apis/admin/describe-groups-v0.d.ts +28 -0
  564. package/dist/typescript-4/dist/apis/admin/describe-groups-v1.d.ts +28 -0
  565. package/dist/typescript-4/dist/apis/admin/describe-groups-v2.d.ts +28 -0
  566. package/dist/typescript-4/dist/apis/admin/describe-groups-v3.d.ts +28 -0
  567. package/dist/typescript-4/dist/apis/admin/describe-groups-v4.d.ts +28 -0
  568. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v0.d.ts +30 -0
  569. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v1.d.ts +4 -0
  570. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v2.d.ts +3 -2
  571. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v3.d.ts +3 -2
  572. package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v4.d.ts +3 -2
  573. package/dist/typescript-4/dist/apis/admin/describe-quorum-v0.d.ts +13 -0
  574. package/dist/typescript-4/dist/apis/admin/describe-quorum-v1.d.ts +13 -0
  575. package/dist/typescript-4/dist/apis/admin/describe-topic-partitions-v0.d.ts +3 -3
  576. package/dist/typescript-4/dist/apis/admin/describe-user-scram-credentials-v0.d.ts +4 -3
  577. package/dist/typescript-4/dist/apis/admin/expire-delegation-token-v0.d.ts +11 -0
  578. package/dist/typescript-4/dist/apis/admin/expire-delegation-token-v1.d.ts +4 -0
  579. package/dist/typescript-4/dist/apis/admin/incremental-alter-configs-v0.d.ts +26 -0
  580. package/dist/typescript-4/dist/apis/admin/index.d.ts +60 -0
  581. package/dist/typescript-4/dist/apis/admin/list-groups-v0.d.ts +18 -0
  582. package/dist/typescript-4/dist/apis/admin/list-groups-v1.d.ts +18 -0
  583. package/dist/typescript-4/dist/apis/admin/list-groups-v2.d.ts +18 -0
  584. package/dist/typescript-4/dist/apis/admin/list-groups-v3.d.ts +18 -0
  585. package/dist/typescript-4/dist/apis/admin/list-groups-v4.d.ts +4 -3
  586. package/dist/typescript-4/dist/apis/admin/list-groups-v5.d.ts +3 -3
  587. package/dist/typescript-4/dist/apis/admin/list-partition-reassignments-v0.d.ts +3 -3
  588. package/dist/typescript-4/dist/apis/admin/list-transactions-v0.d.ts +5 -3
  589. package/dist/typescript-4/dist/apis/admin/list-transactions-v1.d.ts +5 -3
  590. package/dist/typescript-4/dist/apis/admin/list-transactions-v2.d.ts +5 -4
  591. package/dist/typescript-4/dist/apis/admin/renew-delegation-token-v0.d.ts +11 -0
  592. package/dist/typescript-4/dist/apis/admin/renew-delegation-token-v1.d.ts +4 -0
  593. package/dist/typescript-4/dist/apis/admin/update-features-v0.d.ts +24 -0
  594. package/dist/typescript-4/dist/apis/admin/update-features-v1.d.ts +2 -1
  595. package/dist/typescript-4/dist/apis/consumer/consumer-group-heartbeat-v0.d.ts +2 -2
  596. package/dist/typescript-4/dist/apis/consumer/consumer-group-heartbeat-v1.d.ts +2 -2
  597. package/dist/typescript-4/dist/apis/consumer/fetch-v10.d.ts +51 -0
  598. package/dist/typescript-4/dist/apis/consumer/fetch-v11.d.ts +51 -0
  599. package/dist/typescript-4/dist/apis/consumer/fetch-v12.d.ts +20 -4
  600. package/dist/typescript-4/dist/apis/consumer/fetch-v13.d.ts +20 -4
  601. package/dist/typescript-4/dist/apis/consumer/fetch-v14.d.ts +20 -4
  602. package/dist/typescript-4/dist/apis/consumer/fetch-v15.d.ts +20 -4
  603. package/dist/typescript-4/dist/apis/consumer/fetch-v16.d.ts +27 -4
  604. package/dist/typescript-4/dist/apis/consumer/fetch-v17.d.ts +28 -4
  605. package/dist/typescript-4/dist/apis/consumer/fetch-v4.d.ts +51 -0
  606. package/dist/typescript-4/dist/apis/consumer/fetch-v5.d.ts +51 -0
  607. package/dist/typescript-4/dist/apis/consumer/fetch-v6.d.ts +51 -0
  608. package/dist/typescript-4/dist/apis/consumer/fetch-v7.d.ts +51 -0
  609. package/dist/typescript-4/dist/apis/consumer/fetch-v8.d.ts +51 -0
  610. package/dist/typescript-4/dist/apis/consumer/fetch-v9.d.ts +51 -0
  611. package/dist/typescript-4/dist/apis/consumer/heartbeat-v0.d.ts +11 -0
  612. package/dist/typescript-4/dist/apis/consumer/heartbeat-v1.d.ts +11 -0
  613. package/dist/typescript-4/dist/apis/consumer/heartbeat-v2.d.ts +11 -0
  614. package/dist/typescript-4/dist/apis/consumer/heartbeat-v3.d.ts +11 -0
  615. package/dist/typescript-4/dist/apis/consumer/index.d.ts +51 -0
  616. package/dist/typescript-4/dist/apis/consumer/join-group-v0.d.ts +27 -0
  617. package/dist/typescript-4/dist/apis/consumer/join-group-v1.d.ts +8 -0
  618. package/dist/typescript-4/dist/apis/consumer/join-group-v2.d.ts +27 -0
  619. package/dist/typescript-4/dist/apis/consumer/join-group-v3.d.ts +27 -0
  620. package/dist/typescript-4/dist/apis/consumer/join-group-v4.d.ts +27 -0
  621. package/dist/typescript-4/dist/apis/consumer/join-group-v5.d.ts +27 -0
  622. package/dist/typescript-4/dist/apis/consumer/join-group-v6.d.ts +2 -2
  623. package/dist/typescript-4/dist/apis/consumer/join-group-v7.d.ts +2 -2
  624. package/dist/typescript-4/dist/apis/consumer/join-group-v8.d.ts +2 -2
  625. package/dist/typescript-4/dist/apis/consumer/join-group-v9.d.ts +2 -2
  626. package/dist/typescript-4/dist/apis/consumer/leave-group-v0.d.ts +22 -0
  627. package/dist/typescript-4/dist/apis/consumer/leave-group-v1.d.ts +22 -0
  628. package/dist/typescript-4/dist/apis/consumer/leave-group-v2.d.ts +22 -0
  629. package/dist/typescript-4/dist/apis/consumer/leave-group-v3.d.ts +22 -0
  630. package/dist/typescript-4/dist/apis/consumer/leave-group-v4.d.ts +1 -1
  631. package/dist/typescript-4/dist/apis/consumer/leave-group-v5.d.ts +1 -1
  632. package/dist/typescript-4/dist/apis/consumer/list-offsets-v0.d.ts +30 -0
  633. package/dist/typescript-4/dist/apis/consumer/list-offsets-v1.d.ts +12 -0
  634. package/dist/typescript-4/dist/apis/consumer/list-offsets-v2.d.ts +30 -0
  635. package/dist/typescript-4/dist/apis/consumer/list-offsets-v3.d.ts +30 -0
  636. package/dist/typescript-4/dist/apis/consumer/list-offsets-v4.d.ts +30 -0
  637. package/dist/typescript-4/dist/apis/consumer/offset-commit-v0.d.ts +29 -0
  638. package/dist/typescript-4/dist/apis/consumer/offset-commit-v1.d.ts +7 -0
  639. package/dist/typescript-4/dist/apis/consumer/offset-commit-v2.d.ts +8 -0
  640. package/dist/typescript-4/dist/apis/consumer/offset-commit-v3.d.ts +29 -0
  641. package/dist/typescript-4/dist/apis/consumer/offset-commit-v4.d.ts +29 -0
  642. package/dist/typescript-4/dist/apis/consumer/offset-commit-v5.d.ts +29 -0
  643. package/dist/typescript-4/dist/apis/consumer/offset-commit-v6.d.ts +29 -0
  644. package/dist/typescript-4/dist/apis/consumer/offset-commit-v7.d.ts +29 -0
  645. package/dist/typescript-4/dist/apis/consumer/offset-commit-v8.d.ts +2 -2
  646. package/dist/typescript-4/dist/apis/consumer/offset-commit-v9.d.ts +2 -2
  647. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v0.d.ts +40 -0
  648. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v1.d.ts +6 -0
  649. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v2.d.ts +7 -0
  650. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v3.d.ts +39 -0
  651. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v4.d.ts +39 -0
  652. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v5.d.ts +39 -0
  653. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v6.d.ts +39 -0
  654. package/dist/typescript-4/dist/apis/consumer/offset-fetch-v7.d.ts +39 -0
  655. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v0.d.ts +29 -0
  656. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v1.d.ts +29 -0
  657. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v2.d.ts +29 -0
  658. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v3.d.ts +29 -0
  659. package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v4.d.ts +1 -1
  660. package/dist/typescript-4/dist/apis/consumer/sync-group-v0.d.ts +18 -0
  661. package/dist/typescript-4/dist/apis/consumer/sync-group-v1.d.ts +18 -0
  662. package/dist/typescript-4/dist/apis/consumer/sync-group-v2.d.ts +18 -0
  663. package/dist/typescript-4/dist/apis/consumer/sync-group-v3.d.ts +18 -0
  664. package/dist/typescript-4/dist/apis/enumerations.d.ts +20 -5
  665. package/dist/typescript-4/dist/apis/index.d.ts +1 -0
  666. package/dist/typescript-4/dist/apis/metadata/api-versions-v0.d.ts +17 -0
  667. package/dist/typescript-4/dist/apis/metadata/api-versions-v1.d.ts +17 -0
  668. package/dist/typescript-4/dist/apis/metadata/api-versions-v2.d.ts +17 -0
  669. package/dist/typescript-4/dist/apis/metadata/api-versions-v3.d.ts +16 -2
  670. package/dist/typescript-4/dist/apis/metadata/api-versions-v4.d.ts +16 -2
  671. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v0.d.ts +18 -0
  672. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v1.d.ts +18 -0
  673. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v2.d.ts +18 -0
  674. package/dist/typescript-4/dist/apis/metadata/find-coordinator-v3.d.ts +18 -0
  675. package/dist/typescript-4/dist/apis/metadata/index.d.ts +16 -0
  676. package/dist/typescript-4/dist/apis/metadata/metadata-v0.d.ts +38 -0
  677. package/dist/typescript-4/dist/apis/metadata/metadata-v1.d.ts +38 -0
  678. package/dist/typescript-4/dist/apis/metadata/metadata-v10.d.ts +4 -2
  679. package/dist/typescript-4/dist/apis/metadata/metadata-v11.d.ts +3 -2
  680. package/dist/typescript-4/dist/apis/metadata/metadata-v12.d.ts +9 -2
  681. package/dist/typescript-4/dist/apis/metadata/metadata-v2.d.ts +38 -0
  682. package/dist/typescript-4/dist/apis/metadata/metadata-v3.d.ts +38 -0
  683. package/dist/typescript-4/dist/apis/metadata/metadata-v4.d.ts +38 -0
  684. package/dist/typescript-4/dist/apis/metadata/metadata-v5.d.ts +38 -0
  685. package/dist/typescript-4/dist/apis/metadata/metadata-v6.d.ts +38 -0
  686. package/dist/typescript-4/dist/apis/metadata/metadata-v7.d.ts +38 -0
  687. package/dist/typescript-4/dist/apis/metadata/metadata-v8.d.ts +39 -0
  688. package/dist/typescript-4/dist/apis/metadata/metadata-v9.d.ts +5 -3
  689. package/dist/typescript-4/dist/apis/producer/add-offsets-to-txn-v0.d.ts +10 -0
  690. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v0.d.ts +34 -0
  691. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v1.d.ts +5 -0
  692. package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v2.d.ts +5 -0
  693. package/dist/typescript-4/dist/apis/producer/end-txn-v0.d.ts +10 -0
  694. package/dist/typescript-4/dist/apis/producer/end-txn-v1.d.ts +5 -0
  695. package/dist/typescript-4/dist/apis/producer/end-txn-v2.d.ts +5 -0
  696. package/dist/typescript-4/dist/apis/producer/index.d.ts +17 -0
  697. package/dist/typescript-4/dist/apis/producer/init-producer-id-v0.d.ts +13 -0
  698. package/dist/typescript-4/dist/apis/producer/init-producer-id-v1.d.ts +5 -0
  699. package/dist/typescript-4/dist/apis/producer/init-producer-id-v2.d.ts +13 -0
  700. package/dist/typescript-4/dist/apis/producer/init-producer-id-v3.d.ts +2 -2
  701. package/dist/typescript-4/dist/apis/producer/init-producer-id-v4.d.ts +2 -2
  702. package/dist/typescript-4/dist/apis/producer/init-producer-id-v5.d.ts +2 -2
  703. package/dist/typescript-4/dist/apis/producer/produce-v10.d.ts +12 -0
  704. package/dist/typescript-4/dist/apis/producer/produce-v11.d.ts +12 -0
  705. package/dist/typescript-4/dist/apis/producer/produce-v3.d.ts +29 -0
  706. package/dist/typescript-4/dist/apis/producer/produce-v4.d.ts +29 -0
  707. package/dist/typescript-4/dist/apis/producer/produce-v5.d.ts +29 -0
  708. package/dist/typescript-4/dist/apis/producer/produce-v6.d.ts +29 -0
  709. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v0.d.ts +29 -0
  710. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v1.d.ts +29 -0
  711. package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v2.d.ts +29 -0
  712. package/dist/typescript-4/dist/apis/security/index.d.ts +3 -0
  713. package/dist/typescript-4/dist/apis/security/sasl-authenticate-v0.d.ts +15 -0
  714. package/dist/typescript-4/dist/apis/security/sasl-authenticate-v1.d.ts +15 -0
  715. package/dist/typescript-4/dist/apis/security/sasl-handshake-v0.d.ts +10 -0
  716. package/dist/typescript-4/dist/apis/tagged-fields.d.ts +7 -0
  717. package/dist/typescript-4/dist/apis/telemetry/compression-types.d.ts +8 -0
  718. package/dist/typescript-4/dist/apis/telemetry/get-telemetry-subscriptions-v0.d.ts +2 -1
  719. package/dist/typescript-4/dist/apis/telemetry/index.d.ts +3 -0
  720. package/dist/typescript-4/dist/apis/telemetry/list-client-metrics-resources-v0.d.ts +6 -4
  721. package/dist/typescript-4/dist/apis/telemetry/list-config-resources-v1.d.ts +16 -0
  722. package/dist/typescript-4/dist/apis/telemetry/push-telemetry-v0.d.ts +3 -2
  723. package/dist/typescript-4/dist/clients/admin/options.d.ts +1 -1
  724. package/dist/typescript-4/dist/clients/admin/types.d.ts +1 -1
  725. package/dist/typescript-4/dist/clients/base/base.d.ts +1 -1
  726. package/dist/typescript-4/dist/clients/consumer/options.d.ts +3 -0
  727. package/dist/typescript-4/dist/clients/consumer/types.d.ts +24 -1
  728. package/dist/typescript-4/dist/registries/confluent-schema-registry.d.ts +24 -2
  729. package/dist/version.js +1 -1
  730. package/package.json +3 -1
@@ -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";
@@ -52,6 +53,8 @@ export class Connection extends TypedEventEmitter {
52
53
  #socketMustBeDrained;
53
54
  #detectMissingTLS;
54
55
  #reauthenticationTimeout;
56
+ // Negotiated once per connection: reauthentication runs the same path again.
57
+ #saslAuthenticateApi;
55
58
  constructor(clientId, options = {}) {
56
59
  super();
57
60
  this.setMaxListeners(0);
@@ -340,28 +343,71 @@ export class Connection extends TypedEventEmitter {
340
343
  this.#onConnectionError(host, port, diagnosticContext, new UserError(`SASL mechanism ${mechanism} not supported.`));
341
344
  return;
342
345
  }
343
- 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 */
344
400
  if (error) {
345
- this.#onConnectionError(host, port, diagnosticContext, new AuthenticationError('Cannot find a suitable SASL mechanism.', { cause: error }));
346
- return;
347
- }
348
- this.emit('sasl:handshake', response.mechanisms);
349
- const callback = this.#onSaslAuthenticate.bind(this, host, port, diagnosticContext);
350
- if (authenticate) {
351
- authenticate(mechanism, this, saslAuthenticateV2.api, username, password, token, callback);
352
- }
353
- else if (mechanism === SASLMechanisms.PLAIN) {
354
- saslPlain.authenticate(saslAuthenticateV2.api, this, username, password, callback);
355
- }
356
- else if (mechanism === SASLMechanisms.OAUTHBEARER) {
357
- saslOAuthBearer.authenticate(saslAuthenticateV2.api, this, token, oauthBearerExtensions, callback);
358
- }
359
- else if (mechanism === SASLMechanisms.GSSAPI) {
360
- callback(new UserError('No custom SASL/GSSAPI authenticator provided.'));
401
+ selected = undefined;
361
402
  }
362
403
  else {
363
- 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];
364
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);
365
411
  });
366
412
  }
367
413
  /*
@@ -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]);
@@ -300,7 +300,7 @@ export class Reader {
300
300
  }
301
301
  return reader();
302
302
  }
303
- // TODO: Tagged fields are not supported yet
303
+ // Skip unknown tagged fields because codecs do not expose them to callers.
304
304
  readTaggedFields() {
305
305
  const length = this.readUnsignedVarInt();
306
306
  for (let i = 0; i < length; i++) {
@@ -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
  }
@@ -1,9 +1,9 @@
1
- import { type Options, type ValidateFunction } from 'ajv';
1
+ import { type ErrorObject, type Options, type ValidateFunction } from 'ajv';
2
2
  import { type Type } from 'avsc';
3
3
  import { type Root } from 'protobufjs';
4
4
  import { type Callback } from '../apis/definitions.ts';
5
5
  import { type BeforeDeserializationHook, type BeforeHookPayloadType, type BeforeSerializationHook, type Deserializers, type Serializers } from '../clients/serde.ts';
6
- import { type CredentialProvider } from '../index.ts';
6
+ import { type CredentialProvider, UserError } from '../index.ts';
7
7
  import { type MessageToConsume, type MessageToProduce } from '../protocol/records.ts';
8
8
  import { AbstractSchemaRegistry } from './abstract.ts';
9
9
  type ConfluentSchemaRegistryMessageToProduce = MessageToProduce<unknown, unknown, unknown, unknown>;
@@ -22,6 +22,28 @@ export interface ConfluentSchemaRegistryOptions {
22
22
  jsonValidateSend?: boolean;
23
23
  jsonAjvOptions?: Options;
24
24
  }
25
+ export type SchemaValidationPhase = 'serialization' | 'deserialization';
26
+ export interface SchemaValidationErrorProperties {
27
+ schemaId: number;
28
+ schemaType: 'json';
29
+ phase: SchemaValidationPhase;
30
+ payloadType: BeforeHookPayloadType;
31
+ type: BeforeHookPayloadType;
32
+ data: unknown;
33
+ headers?: ReadonlyMap<unknown, unknown>;
34
+ validationErrors: ErrorObject[] | null | undefined;
35
+ }
36
+ export declare class SchemaValidationError extends UserError {
37
+ readonly schemaId: number;
38
+ readonly schemaType: 'json';
39
+ readonly phase: SchemaValidationPhase;
40
+ readonly payloadType: BeforeHookPayloadType;
41
+ readonly type: BeforeHookPayloadType;
42
+ readonly data: unknown;
43
+ readonly headers?: ReadonlyMap<unknown, unknown>;
44
+ readonly validationErrors: ErrorObject[] | null | undefined;
45
+ constructor(message: string, properties: SchemaValidationErrorProperties);
46
+ }
25
47
  export interface Schema {
26
48
  id: number;
27
49
  type: 'avro' | 'protobuf' | 'json';
@@ -1,3 +1,4 @@
1
+ import { Ajv } from 'ajv';
1
2
  import { Ajv2020 } from 'ajv/dist/2020.js';
2
3
  import avro from 'avsc';
3
4
  import { createRequire } from 'node:module';
@@ -6,6 +7,14 @@ import { EMPTY_BUFFER, UnsupportedFormatError, UserError } from "../index.js";
6
7
  import { getCredential } from "../protocol/sasl/utils.js";
7
8
  import { AbstractSchemaRegistry } from "./abstract.js";
8
9
  const require = createRequire(import.meta.url);
10
+ const AjvDraft04 = require('ajv-draft-04');
11
+ const draft06MetaSchema = require('ajv/dist/refs/json-schema-draft-06.json');
12
+ export class SchemaValidationError extends UserError {
13
+ constructor(message, properties) {
14
+ super(message, properties);
15
+ this.name = 'SchemaValidationError';
16
+ }
17
+ }
9
18
  /* c8 ignore next 8 */
10
19
  export function defaultProtobufTypeMapper(_, type, context) {
11
20
  // Confluent Schema Registry convention
@@ -18,6 +27,8 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
18
27
  #protobufTypeMapper;
19
28
  #jsonValidateSend;
20
29
  #jsonAjv;
30
+ #jsonAjvDraft7;
31
+ #jsonAjvDraft04;
21
32
  #pendingFetches;
22
33
  #auth;
23
34
  constructor(options) {
@@ -26,7 +37,11 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
26
37
  this.#schemas = new Map();
27
38
  this.#protobufTypeMapper = options.protobufTypeMapper ?? defaultProtobufTypeMapper;
28
39
  this.#jsonValidateSend = options.jsonValidateSend ?? false;
29
- this.#jsonAjv = new Ajv2020({ allErrors: true, coerceTypes: false, strict: true, ...options.jsonAjvOptions });
40
+ const jsonAjvOptions = { allErrors: true, coerceTypes: false, strict: true, ...options.jsonAjvOptions };
41
+ this.#jsonAjv = new Ajv2020(jsonAjvOptions);
42
+ this.#jsonAjvDraft7 = new Ajv(jsonAjvOptions);
43
+ this.#jsonAjvDraft7.addMetaSchema(draft06MetaSchema);
44
+ this.#jsonAjvDraft04 = new AjvDraft04(jsonAjvOptions);
30
45
  this.#auth = options.auth;
31
46
  this.#pendingFetches = new Map();
32
47
  }
@@ -145,10 +160,24 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
145
160
  this.#protobufParse ??= this.#loadProtobuf();
146
161
  this.#schemas.set(id, { id, type: 'protobuf', schema: this.#protobufParse(schema).root });
147
162
  break;
148
- case 'JSON':
149
- this.#schemas.set(id, { id, type: 'json', schema: this.#jsonAjv.compile(JSON.parse(schema)) });
163
+ case 'JSON': {
164
+ const jsonSchema = JSON.parse(schema);
165
+ this.#schemas.set(id, { id, type: 'json', schema: this.#getJsonAjv(jsonSchema).compile(jsonSchema) });
150
166
  break;
167
+ }
168
+ }
169
+ }
170
+ #getJsonAjv(schema) {
171
+ if (typeof schema !== 'object' || schema === null || typeof schema.$schema !== 'string') {
172
+ return this.#jsonAjv;
173
+ }
174
+ if (schema.$schema.includes('draft-04')) {
175
+ return this.#jsonAjvDraft04;
176
+ }
177
+ if (schema.$schema.includes('draft-06') || schema.$schema.includes('draft-07')) {
178
+ return this.#jsonAjvDraft7;
151
179
  }
180
+ return this.#jsonAjv;
152
181
  }
153
182
  #schemaSerializer(type, fallbackSerializer, data, headers, message) {
154
183
  /* c8 ignore next 3 - Hard to test */
@@ -183,7 +212,16 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
183
212
  const validate = schema.schema;
184
213
  const valid = validate(data);
185
214
  if (!valid) {
186
- throw new UserError(`JSON Schema validation failed before serialization: ${this.#jsonAjv.errorsText(validate.errors)}`, { type, data, headers, validationErrors: validate.errors });
215
+ throw new SchemaValidationError(`JSON Schema validation failed before serialization: ${this.#jsonAjv.errorsText(validate.errors)}`, {
216
+ schemaId,
217
+ schemaType: 'json',
218
+ phase: 'serialization',
219
+ payloadType: type,
220
+ type,
221
+ data,
222
+ headers,
223
+ validationErrors: validate.errors
224
+ });
187
225
  }
188
226
  }
189
227
  encodedMessage = Buffer.from(JSON.stringify(data));
@@ -222,7 +260,16 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
222
260
  const validate = schema.schema;
223
261
  const valid = validate(parsed);
224
262
  if (!valid) {
225
- throw new UserError(`JSON Schema validation failed before deserialization: ${this.#jsonAjv.errorsText(validate.errors)}`, { type, data: parsed, headers, validationErrors: validate.errors });
263
+ throw new SchemaValidationError(`JSON Schema validation failed before deserialization: ${this.#jsonAjv.errorsText(validate.errors)}`, {
264
+ schemaId,
265
+ schemaType: 'json',
266
+ phase: 'deserialization',
267
+ payloadType: type,
268
+ type,
269
+ data: parsed,
270
+ headers,
271
+ validationErrors: validate.errors
272
+ });
226
273
  }
227
274
  return parsed;
228
275
  }
@@ -0,0 +1,40 @@
1
+ import { type NullableString } from "../../protocol/definitions";
2
+ import { type Reader } from "../../protocol/reader";
3
+ import { Writer } from "../../protocol/writer";
4
+ import type { ClientQuotaEntityType, ClientQuotaKey } from "../enumerations";
5
+ export type { ClientQuotaEntityType, ClientQuotaKey } from "../enumerations";
6
+ export interface AlterClientQuotasRequestEntity {
7
+ entityType: ClientQuotaEntityType;
8
+ entityName?: NullableString;
9
+ }
10
+ export interface AlterClientQuotaRequestOpAddition {
11
+ key: ClientQuotaKey;
12
+ value: number;
13
+ remove: false;
14
+ }
15
+ export interface AlterClientQuotaRequestOpRemoval {
16
+ key: ClientQuotaKey;
17
+ remove: true;
18
+ }
19
+ export type AlterClientQuotasRequestOp = AlterClientQuotaRequestOpAddition | AlterClientQuotaRequestOpRemoval;
20
+ export interface AlterClientQuotasRequestEntry {
21
+ entities: AlterClientQuotasRequestEntity[];
22
+ ops: AlterClientQuotasRequestOp[];
23
+ }
24
+ export type AlterClientQuotasRequest = Parameters<typeof createRequest>;
25
+ export interface AlterClientQuotasResponseEntity {
26
+ entityType: ClientQuotaEntityType;
27
+ entityName: NullableString;
28
+ }
29
+ export interface AlterClientQuotasResponseEntries {
30
+ errorCode: number;
31
+ errorMessage: NullableString;
32
+ entity: AlterClientQuotasResponseEntity[];
33
+ }
34
+ export interface AlterClientQuotasResponse {
35
+ throttleTimeMs: number;
36
+ entries: AlterClientQuotasResponseEntries[];
37
+ }
38
+ export declare function createRequest(entries: AlterClientQuotasRequestEntry[], validateOnly: boolean): Writer;
39
+ export declare function parseResponse(_correlationId: number, apiKey: number, apiVersion: number, reader: Reader): AlterClientQuotasResponse;
40
+ export declare const api: import("../definitions").API<[entries: AlterClientQuotasRequestEntry[], validateOnly: boolean], AlterClientQuotasResponse>;
@@ -1,18 +1,19 @@
1
1
  import { type NullableString } from "../../protocol/definitions";
2
2
  import { type Reader } from "../../protocol/reader";
3
3
  import { Writer } from "../../protocol/writer";
4
- import { type ClientQuotaEntityTypeValue, type ClientQuotaKeyValue } from "../enumerations";
4
+ import type { ClientQuotaEntityType, ClientQuotaKey } from "../enumerations";
5
+ export type { ClientQuotaEntityType, ClientQuotaKey } from "../enumerations";
5
6
  export interface AlterClientQuotasRequestEntity {
6
- entityType: ClientQuotaEntityTypeValue;
7
+ entityType: ClientQuotaEntityType;
7
8
  entityName?: NullableString;
8
9
  }
9
10
  export interface AlterClientQuotaRequestOpAddition {
10
- key: ClientQuotaKeyValue;
11
+ key: ClientQuotaKey;
11
12
  value: number;
12
13
  remove: false;
13
14
  }
14
15
  export interface AlterClientQuotaRequestOpRemoval {
15
- key: ClientQuotaKeyValue;
16
+ key: ClientQuotaKey;
16
17
  remove: true;
17
18
  }
18
19
  export type AlterClientQuotasRequestOp = AlterClientQuotaRequestOpAddition | AlterClientQuotaRequestOpRemoval;
@@ -22,7 +23,7 @@ export interface AlterClientQuotasRequestEntry {
22
23
  }
23
24
  export type AlterClientQuotasRequest = Parameters<typeof createRequest>;
24
25
  export interface AlterClientQuotasResponseEntity {
25
- entityType: string;
26
+ entityType: ClientQuotaEntityType;
26
27
  entityName: NullableString;
27
28
  }
28
29
  export interface AlterClientQuotasResponseEntries {
@@ -0,0 +1,7 @@
1
+ import { type Reader } from "../../protocol/reader";
2
+ import { Writer } from "../../protocol/writer";
3
+ import { type AlterConfigsRequestResource, type AlterConfigsResponse } from "./alter-configs-v2";
4
+ export * from "./alter-configs-v2";
5
+ export declare function createRequest(resources: AlterConfigsRequestResource[], validateOnly: boolean): Writer;
6
+ export declare function parseResponse(_: number, apiKey: number, apiVersion: number, reader: Reader): AlterConfigsResponse;
7
+ export declare const api: import("../definitions").API<unknown[], AlterConfigsResponse>;
@@ -0,0 +1,2 @@
1
+ export * from "./alter-configs-v0";
2
+ export declare const api: import("../definitions").API<unknown[], import("./alter-configs-v2").AlterConfigsResponse>;
@@ -1,9 +1,9 @@
1
- import { type NullableString } from "../../protocol/definitions";
1
+ import { type Nullable, type NullableString } from "../../protocol/definitions";
2
2
  import { type Reader } from "../../protocol/reader";
3
3
  import { Writer } from "../../protocol/writer";
4
4
  export interface AlterPartitionReassignmentsRequestPartition {
5
5
  partitionIndex: number;
6
- replicas: number[];
6
+ replicas: Nullable<number[]>;
7
7
  }
8
8
  export interface AlterPartitionReassignmentsRequestTopic {
9
9
  name: string;
@@ -21,6 +21,7 @@ export interface AlterPartitionReassignmentsResponseResponse {
21
21
  }
22
22
  export interface AlterPartitionReassignmentsResponse {
23
23
  throttleTimeMs: number;
24
+ allowReplicationFactorChange: boolean;
24
25
  errorCode: number;
25
26
  errorMessage: NullableString;
26
27
  responses: AlterPartitionReassignmentsResponseResponse[];
@@ -1,9 +1,9 @@
1
- import { type NullableString } from "../../protocol/definitions";
1
+ import { type Nullable, type NullableString } from "../../protocol/definitions";
2
2
  import { type Reader } from "../../protocol/reader";
3
3
  import { Writer } from "../../protocol/writer";
4
4
  export interface AlterPartitionReassignmentsRequestPartition {
5
5
  partitionIndex: number;
6
- replicas: number[];
6
+ replicas: Nullable<number[]>;
7
7
  }
8
8
  export interface AlterPartitionReassignmentsRequestTopic {
9
9
  name: string;
@@ -15,15 +15,17 @@ export interface AlterPartitionReassignmentsResponsePartition {
15
15
  errorCode: number;
16
16
  errorMessage: NullableString;
17
17
  }
18
- export interface AlterPartitionReassignmentsResponseResponse {
18
+ export interface AlterPartitionReassignmentsResponseTopic {
19
19
  name: string;
20
20
  partitions: AlterPartitionReassignmentsResponsePartition[];
21
21
  }
22
+ export type AlterPartitionReassignmentsResponseResponse = AlterPartitionReassignmentsResponseTopic;
22
23
  export interface AlterPartitionReassignmentsResponse {
23
24
  throttleTimeMs: number;
25
+ allowReplicationFactorChange: boolean;
24
26
  errorCode: number;
25
27
  errorMessage: NullableString;
26
- responses: AlterPartitionReassignmentsResponseResponse[];
28
+ responses: AlterPartitionReassignmentsResponseTopic[];
27
29
  }
28
30
  export declare function createRequest(timeoutMs: number, allowReplicationFactorChange: boolean, topics: AlterPartitionReassignmentsRequestTopic[]): Writer;
29
31
  export declare function parseResponse(_correlationId: number, apiKey: number, apiVersion: number, reader: Reader): AlterPartitionReassignmentsResponse;
@@ -0,0 +1,40 @@
1
+ import { type Reader } from "../../protocol/reader";
2
+ import { Writer } from "../../protocol/writer";
3
+ export interface AlterPartitionRequestPartition {
4
+ partitionIndex: number;
5
+ leaderEpoch: number;
6
+ newIsrWithEpochs: AlterPartitionRequestBroker[];
7
+ leaderRecoveryState?: number;
8
+ partitionEpoch: number;
9
+ }
10
+ export interface AlterPartitionRequestBroker {
11
+ brokerId: number;
12
+ brokerEpoch: bigint;
13
+ }
14
+ export interface AlterPartitionRequestTopic {
15
+ topicName: string;
16
+ partitions: AlterPartitionRequestPartition[];
17
+ }
18
+ export type AlterPartitionRequest = Parameters<typeof createRequest>;
19
+ export interface AlterPartitionResponsePartition {
20
+ partitionIndex: number;
21
+ errorCode: number;
22
+ leaderId: number;
23
+ leaderEpoch: number;
24
+ isr: number[];
25
+ leaderRecoveryState: number;
26
+ partitionEpoch: number;
27
+ }
28
+ export interface AlterPartitionResponseTopic {
29
+ topicName: string;
30
+ topicId: string;
31
+ partitions: AlterPartitionResponsePartition[];
32
+ }
33
+ export interface AlterPartitionResponse {
34
+ throttleTimeMs: number;
35
+ errorCode: number;
36
+ topics: AlterPartitionResponseTopic[];
37
+ }
38
+ export declare function createRequest(brokerId: number, brokerEpoch: bigint, topics: AlterPartitionRequestTopic[]): Writer;
39
+ export declare function parseResponse(_correlationId: number, apiKey: number, apiVersion: number, reader: Reader): AlterPartitionResponse;
40
+ export declare const api: import("../definitions").API<[brokerId: number, brokerEpoch: bigint, topics: AlterPartitionRequestTopic[]], AlterPartitionResponse>;
@@ -0,0 +1,37 @@
1
+ import { type Reader } from "../../protocol/reader";
2
+ import { Writer } from "../../protocol/writer";
3
+ import type { AlterPartitionRequestBroker } from "./alter-partition-v0";
4
+ export interface AlterPartitionRequestPartition {
5
+ partitionIndex: number;
6
+ leaderEpoch: number;
7
+ newIsrWithEpochs: AlterPartitionRequestBroker[];
8
+ leaderRecoveryState: number;
9
+ partitionEpoch: number;
10
+ }
11
+ export interface AlterPartitionRequestTopic {
12
+ topicName: string;
13
+ partitions: AlterPartitionRequestPartition[];
14
+ }
15
+ export type AlterPartitionRequest = Parameters<typeof createRequest>;
16
+ export interface AlterPartitionResponsePartition {
17
+ partitionIndex: number;
18
+ errorCode: number;
19
+ leaderId: number;
20
+ leaderEpoch: number;
21
+ isr: number[];
22
+ leaderRecoveryState: number;
23
+ partitionEpoch: number;
24
+ }
25
+ export interface AlterPartitionResponseTopic {
26
+ topicName: string;
27
+ topicId: string;
28
+ partitions: AlterPartitionResponsePartition[];
29
+ }
30
+ export interface AlterPartitionResponse {
31
+ throttleTimeMs: number;
32
+ errorCode: number;
33
+ topics: AlterPartitionResponseTopic[];
34
+ }
35
+ export declare function createRequest(brokerId: number, brokerEpoch: bigint, topics: AlterPartitionRequestTopic[]): Writer;
36
+ export declare function parseResponse(_correlationId: number, apiKey: number, apiVersion: number, reader: Reader): AlterPartitionResponse;
37
+ export declare const api: import("../definitions").API<[brokerId: number, brokerEpoch: bigint, topics: AlterPartitionRequestTopic[]], AlterPartitionResponse>;
@@ -0,0 +1,36 @@
1
+ import { type Reader } from "../../protocol/reader";
2
+ import { Writer } from "../../protocol/writer";
3
+ import type { AlterPartitionRequestBroker } from "./alter-partition-v0";
4
+ export interface AlterPartitionRequestPartition {
5
+ partitionIndex: number;
6
+ leaderEpoch: number;
7
+ newIsrWithEpochs: AlterPartitionRequestBroker[];
8
+ leaderRecoveryState: number;
9
+ partitionEpoch: number;
10
+ }
11
+ export interface AlterPartitionRequestTopic {
12
+ topicId: string;
13
+ partitions: AlterPartitionRequestPartition[];
14
+ }
15
+ export type AlterPartitionRequest = Parameters<typeof createRequest>;
16
+ export interface AlterPartitionResponsePartition {
17
+ partitionIndex: number;
18
+ errorCode: number;
19
+ leaderId: number;
20
+ leaderEpoch: number;
21
+ isr: number[];
22
+ leaderRecoveryState: number;
23
+ partitionEpoch: number;
24
+ }
25
+ export interface AlterPartitionResponseTopic {
26
+ topicId: string;
27
+ partitions: AlterPartitionResponsePartition[];
28
+ }
29
+ export interface AlterPartitionResponse {
30
+ throttleTimeMs: number;
31
+ errorCode: number;
32
+ topics: AlterPartitionResponseTopic[];
33
+ }
34
+ export declare function createRequest(brokerId: number, brokerEpoch: bigint, topics: AlterPartitionRequestTopic[]): Writer;
35
+ export declare function parseResponse(_correlationId: number, apiKey: number, apiVersion: number, reader: Reader): AlterPartitionResponse;
36
+ export declare const api: import("../definitions").API<[brokerId: number, brokerEpoch: bigint, topics: AlterPartitionRequestTopic[]], AlterPartitionResponse>;
@@ -1,39 +1,10 @@
1
1
  import { type Reader } from "../../protocol/reader";
2
2
  import { Writer } from "../../protocol/writer";
3
- export interface AlterPartitionRequestISR {
4
- brokerId: number;
5
- brokerEpoch: bigint;
6
- }
7
- export interface AlterPartitionRequestPartition {
8
- partitionIndex: number;
9
- leaderEpoch: number;
10
- newIsrWithEpochs: AlterPartitionRequestISR[];
11
- leaderRecoveryState: number;
12
- partitionEpoch: number;
13
- }
14
- export interface AlterPartitionRequestTopic {
15
- topicId: string;
16
- partitions: AlterPartitionRequestPartition[];
17
- }
3
+ import type { AlterPartitionRequestPartition, AlterPartitionRequestTopic, AlterPartitionResponse, AlterPartitionResponsePartition, AlterPartitionResponseTopic } from "./alter-partition-v2";
4
+ import type { AlterPartitionRequestBroker } from "./alter-partition-v0";
5
+ export type { AlterPartitionRequestPartition, AlterPartitionRequestTopic, AlterPartitionResponse, AlterPartitionResponsePartition, AlterPartitionResponseTopic };
6
+ export type AlterPartitionRequestISR = AlterPartitionRequestBroker;
18
7
  export type AlterPartitionRequest = Parameters<typeof createRequest>;
19
- export interface AlterPartitionResponsePartition {
20
- partitionIndex: number;
21
- errorCode: number;
22
- leaderId: number;
23
- leaderEpoch: number;
24
- isr: number;
25
- leaderRecoveryState: number;
26
- partitionEpoch: number;
27
- }
28
- export interface AlterPartitionResponseTopic {
29
- topicId: string;
30
- partitions: AlterPartitionResponsePartition[];
31
- }
32
- export interface AlterPartitionResponse {
33
- throttleTimeMs: number;
34
- errorCode: number;
35
- topics: AlterPartitionResponseTopic[];
36
- }
37
- export declare function createRequest(brokerId: number, brokerEpoch: bigint, topic: AlterPartitionRequestTopic[]): Writer;
8
+ export declare function createRequest(brokerId: number, brokerEpoch: bigint, topics: AlterPartitionRequestTopic[]): Writer;
38
9
  export declare function parseResponse(_correlationId: number, apiKey: number, apiVersion: number, reader: Reader): AlterPartitionResponse;
39
- export declare const api: import("../definitions").API<[brokerId: number, brokerEpoch: bigint, topic: AlterPartitionRequestTopic[]], AlterPartitionResponse>;
10
+ export declare const api: import("../definitions").API<[brokerId: number, brokerEpoch: bigint, topics: AlterPartitionRequestTopic[]], AlterPartitionResponse>;
@@ -0,0 +1,23 @@
1
+ import { type Reader } from "../../protocol/reader";
2
+ import { Writer } from "../../protocol/writer";
3
+ export interface AlterReplicaLogDirsRequestDir {
4
+ path: string;
5
+ topics: {
6
+ name: string;
7
+ partitions: number[];
8
+ }[];
9
+ }
10
+ export type AlterReplicaLogDirsRequest = Parameters<typeof createRequest>;
11
+ export interface AlterReplicaLogDirsResponse {
12
+ throttleTimeMs: number;
13
+ results: {
14
+ topicName: string;
15
+ partitions: {
16
+ partitionIndex: number;
17
+ errorCode: number;
18
+ }[];
19
+ }[];
20
+ }
21
+ export declare function createRequest(dirs: AlterReplicaLogDirsRequestDir[]): Writer;
22
+ export declare function parseResponse(_: number, apiKey: number, apiVersion: number, reader: Reader): AlterReplicaLogDirsResponse;
23
+ export declare const api: import("../definitions").API<[dirs: AlterReplicaLogDirsRequestDir[]], AlterReplicaLogDirsResponse>;