@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
@@ -1,32 +1,124 @@
1
+ import * as AjvDraft04Module from 'ajv-draft-04';
2
+ import draft06MetaSchema from 'ajv/dist/refs/json-schema-draft-06.json' with { type: 'json' };
3
+ import { Ajv } from 'ajv';
4
+ import { Ajv2020 } from 'ajv/dist/2020.js';
1
5
  import avro from 'avsc';
2
6
  import { createRequire } from 'node:module';
7
+ import { setTimeout as sleep } from 'node:timers/promises';
3
8
  import { jsonDeserializer, jsonSerializer, stringDeserializer, stringSerializer } from "../clients/serde.js";
4
- import { ajv, EMPTY_BUFFER, UnsupportedFormatError, UserError } from "../index.js";
9
+ import { EMPTY_BUFFER, MultipleErrors, NetworkError, TimeoutError, UnsupportedFormatError, UserError } from "../index.js";
5
10
  import { getCredential } from "../protocol/sasl/utils.js";
6
11
  import { AbstractSchemaRegistry } from "./abstract.js";
7
12
  const require = createRequire(import.meta.url);
13
+ const AjvDraft04 = AjvDraft04Module.default;
14
+ const undiciGlobalDispatcherSymbol = /^undici\.globalDispatcher\.(\d+)$/;
15
+ export function createUndiciAgent(options) {
16
+ /*
17
+ The undici globals are installed the first time undici is loaded, which creating a Request is
18
+ enough to do and which performs no I/O.
19
+ */
20
+ new Request('http://localhost'); // eslint-disable-line no-new
21
+ /*
22
+ The symbol is versioned and more than one version is registered at the same time, pointing at
23
+ different objects: on Node 26 undici.globalDispatcher.1 is a backwards compatibility wrapper and
24
+ only undici.globalDispatcher.2 is the Agent. The highest version available therefore wins.
25
+ */
26
+ const globals = globalThis;
27
+ let version = -1;
28
+ let Agent;
29
+ for (const symbol of Object.getOwnPropertySymbols(globalThis)) {
30
+ const symbolVersion = symbol.description?.match(undiciGlobalDispatcherSymbol)?.[1];
31
+ if (typeof symbolVersion === 'undefined' || Number(symbolVersion) <= version) {
32
+ continue;
33
+ }
34
+ version = Number(symbolVersion);
35
+ Agent = globals[symbol]?.constructor;
36
+ }
37
+ /* c8 ignore next 6 - Only reachable on a Node.js build which does not bundle undici */
38
+ if (typeof Agent !== 'function') {
39
+ throw new UserError('Cannot access the undici Agent bundled with Node.js, which is required to configure TLS for the Schema Registry.');
40
+ }
41
+ return new Agent(options);
42
+ }
43
+ export const defaultConfluentSchemaRegistryOptions = {
44
+ timeout: 5000,
45
+ retries: 3,
46
+ retryDelay: 1000
47
+ };
48
+ // Statuses which are worth retrying: the registry is overloaded, restarting or behind a proxy which is
49
+ export const retriableSchemaRegistryStatuses = [408, 425, 429, 500, 502, 503, 504];
50
+ export class SchemaValidationError extends UserError {
51
+ constructor(message, properties) {
52
+ super(message, properties);
53
+ this.name = 'SchemaValidationError';
54
+ }
55
+ }
56
+ export function trackConsumedSchemaId(message, type, schemaId) {
57
+ /* c8 ignore next 3 - The message is always provided for keys and values */
58
+ if (!message) {
59
+ return;
60
+ }
61
+ const metadata = (message.metadata ??= {});
62
+ metadata.schemas ??= {};
63
+ metadata.schemas[type] = schemaId;
64
+ }
65
+ export function trackConsumedPayloadLength(message, type, data) {
66
+ /* c8 ignore next 3 - The message is always provided for keys and values */
67
+ if (!message) {
68
+ return;
69
+ }
70
+ const metadata = (message.metadata ??= {});
71
+ metadata.lengths ??= {};
72
+ metadata.lengths[type] = data.length;
73
+ }
8
74
  /* c8 ignore next 8 */
9
75
  export function defaultProtobufTypeMapper(_, type, context) {
10
76
  // Confluent Schema Registry convention
11
77
  return `${context.topic}-${type}`;
12
78
  }
13
- // TODO(ShogunPanda): Authentication support
14
79
  export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
15
80
  #url;
16
81
  #schemas;
17
82
  #protobufParse;
18
83
  #protobufTypeMapper;
19
84
  #jsonValidateSend;
85
+ #jsonAjv;
86
+ #jsonAjvDraft7;
87
+ #jsonAjvDraft04;
88
+ #pendingFetches;
20
89
  #auth;
90
+ #headers;
91
+ #timeout;
92
+ #retries;
93
+ #retryDelay;
94
+ #tls;
95
+ #tlsDispatcher;
21
96
  constructor(options) {
22
97
  super();
23
98
  this.#url = options.url;
24
99
  this.#schemas = new Map();
25
100
  this.#protobufTypeMapper = options.protobufTypeMapper ?? defaultProtobufTypeMapper;
26
101
  this.#jsonValidateSend = options.jsonValidateSend ?? false;
102
+ const jsonAjvOptions = { allErrors: true, coerceTypes: false, strict: true, ...options.jsonAjvOptions };
103
+ this.#jsonAjv = new Ajv2020(jsonAjvOptions);
104
+ this.#jsonAjvDraft7 = new Ajv(jsonAjvOptions);
105
+ this.#jsonAjvDraft7.addMetaSchema(draft06MetaSchema);
106
+ this.#jsonAjvDraft04 = new AjvDraft04(jsonAjvOptions);
27
107
  this.#auth = options.auth;
108
+ this.#headers = options.headers;
109
+ this.#timeout = options.timeout ?? defaultConfluentSchemaRegistryOptions.timeout;
110
+ this.#retries = options.retries ?? defaultConfluentSchemaRegistryOptions.retries;
111
+ this.#retryDelay = options.retryDelay ?? defaultConfluentSchemaRegistryOptions.retryDelay;
112
+ this.#tls = options.tls ?? options.ssl;
113
+ this.#pendingFetches = new Map();
114
+ if (this.#tls && new URL(this.#url).protocol !== 'https:') {
115
+ throw new UserError('TLS options can only be used with a HTTPS Schema Registry URL.', { url: this.#url });
116
+ }
28
117
  }
29
118
  getSchemaId(message, type) {
119
+ if (message === null) {
120
+ return undefined;
121
+ }
30
122
  if (Buffer.isBuffer(message)) {
31
123
  if (type !== 'value') {
32
124
  return undefined;
@@ -39,41 +131,15 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
39
131
  return this.#schemas.get(id);
40
132
  }
41
133
  async fetchSchema(id, callback) {
134
+ let fetch = this.#pendingFetches.get(id);
135
+ if (!fetch) {
136
+ fetch = this.#fetchSchema(id).finally(() => {
137
+ this.#pendingFetches.delete(id);
138
+ });
139
+ this.#pendingFetches.set(id, fetch);
140
+ }
42
141
  try {
43
- const requestInit = {};
44
- if (this.#auth) {
45
- if (this.#auth.token) {
46
- const token = await getCredential('token', this.#auth.token);
47
- requestInit.headers = {
48
- Authorization: `Bearer ${token}`
49
- };
50
- }
51
- else {
52
- const username = await getCredential('username', this.#auth.username);
53
- const password = await getCredential('password', this.#auth.password);
54
- requestInit.headers = {
55
- Authorization: `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`
56
- };
57
- }
58
- }
59
- const response = await fetch(`${this.#url}/schemas/ids/${id}`, requestInit);
60
- if (!response.ok) {
61
- throw new UserError(`Failed to fetch a schema: [HTTP ${response.status}]`, { response: await response.text() });
62
- }
63
- const responseBody = await response.json();
64
- const { schema, schemaType } = responseBody;
65
- switch (schemaType) {
66
- case 'AVRO':
67
- this.#schemas.set(id, { id, type: 'avro', schema: avro.Type.forSchema(JSON.parse(schema)) });
68
- break;
69
- case 'PROTOBUF':
70
- this.#protobufParse ??= this.#loadProtobuf();
71
- this.#schemas.set(id, { id, type: 'protobuf', schema: this.#protobufParse(schema).root });
72
- break;
73
- case 'JSON':
74
- this.#schemas.set(id, { id, type: 'json', schema: ajv.compile(JSON.parse(schema)) });
75
- break;
76
- }
142
+ await fetch;
77
143
  process.nextTick(callback);
78
144
  }
79
145
  catch (err) {
@@ -116,7 +182,7 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
116
182
  }
117
183
  getBeforeDeserializationHook() {
118
184
  const registry = this;
119
- return function beforeDeserialization(payload, type, _message, callback) {
185
+ return function beforeDeserialization(payload, type, message, callback) {
120
186
  // Extract the schema ID from the message metadata
121
187
  const schemaId = registry.getSchemaId(payload, type);
122
188
  // When no schema ID is found, nothing to do
@@ -124,6 +190,11 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
124
190
  callback(null);
125
191
  return;
126
192
  }
193
+ /*
194
+ Track the schema ID before fetching, so that it is exposed on the message metadata even when
195
+ the schema cannot be fetched or the payload cannot be decoded.
196
+ */
197
+ trackConsumedSchemaId(message, type, schemaId);
127
198
  // The schema is already fetch
128
199
  if (registry.get(schemaId)) {
129
200
  callback(null);
@@ -132,6 +203,115 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
132
203
  registry.fetchSchema(schemaId, callback);
133
204
  };
134
205
  }
206
+ async #requestHeaders() {
207
+ let headers;
208
+ if (this.#headers) {
209
+ headers = { ...(typeof this.#headers === 'function' ? await this.#headers() : this.#headers) };
210
+ }
211
+ // Authentication headers are applied last so that auth options always win over custom headers
212
+ if (this.#auth) {
213
+ headers ??= {};
214
+ if (this.#auth.token) {
215
+ const token = await getCredential('token', this.#auth.token);
216
+ headers.Authorization = `Bearer ${token}`;
217
+ }
218
+ else {
219
+ const username = await getCredential('username', this.#auth.username);
220
+ const password = await getCredential('password', this.#auth.password);
221
+ headers.Authorization = `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`;
222
+ }
223
+ }
224
+ return headers;
225
+ }
226
+ async #requestSchema(id) {
227
+ const requestInit = {};
228
+ const headers = await this.#requestHeaders();
229
+ if (headers) {
230
+ requestInit.headers = headers;
231
+ }
232
+ if (this.#tls) {
233
+ // Created once per registry, so that connections are pooled across schema fetches
234
+ this.#tlsDispatcher ??= createUndiciAgent({ connect: this.#tls });
235
+ requestInit.dispatcher = this.#tlsDispatcher;
236
+ }
237
+ if (this.#timeout > 0) {
238
+ requestInit.signal = AbortSignal.timeout(this.#timeout);
239
+ }
240
+ let response;
241
+ try {
242
+ response = await fetch(`${this.#url}/schemas/ids/${id}`, requestInit);
243
+ }
244
+ catch (error) {
245
+ if (error.name === 'TimeoutError') {
246
+ throw new TimeoutError(`Fetching a schema timed out after ${this.#timeout} ms.`, {
247
+ canRetry: true,
248
+ cause: error
249
+ });
250
+ }
251
+ throw new NetworkError('Failed to fetch a schema.', { cause: error });
252
+ }
253
+ if (!response.ok) {
254
+ throw new UserError(`Failed to fetch a schema: [HTTP ${response.status}]`, {
255
+ response: await response.text(),
256
+ canRetry: retriableSchemaRegistryStatuses.includes(response.status)
257
+ });
258
+ }
259
+ return (await response.json());
260
+ }
261
+ async #requestSchemaWithRetries(id) {
262
+ const errors = [];
263
+ for (let attempt = 0;; attempt++) {
264
+ try {
265
+ return await this.#requestSchema(id);
266
+ }
267
+ catch (error) {
268
+ errors.push(error);
269
+ if (attempt >= this.#retries || error.canRetry !== true) {
270
+ if (errors.length === 1) {
271
+ throw errors[0];
272
+ }
273
+ throw new MultipleErrors(`Failed to fetch a schema after ${errors.length} attempts.`, errors);
274
+ }
275
+ const delay = typeof this.#retryDelay === 'function'
276
+ ? this.#retryDelay(attempt + 1, this.#retries, error)
277
+ : this.#retryDelay;
278
+ if (delay > 0) {
279
+ await sleep(delay);
280
+ }
281
+ }
282
+ }
283
+ }
284
+ async #fetchSchema(id) {
285
+ const responseBody = await this.#requestSchemaWithRetries(id);
286
+ const { schema } = responseBody;
287
+ const schemaType = responseBody.schemaType ?? 'AVRO';
288
+ switch (schemaType) {
289
+ case 'AVRO':
290
+ this.#schemas.set(id, { id, type: 'avro', schema: avro.Type.forSchema(JSON.parse(schema)) });
291
+ break;
292
+ case 'PROTOBUF':
293
+ this.#protobufParse ??= this.#loadProtobuf();
294
+ this.#schemas.set(id, { id, type: 'protobuf', schema: this.#protobufParse(schema).root });
295
+ break;
296
+ case 'JSON': {
297
+ const jsonSchema = JSON.parse(schema);
298
+ this.#schemas.set(id, { id, type: 'json', schema: this.#getJsonAjv(jsonSchema).compile(jsonSchema) });
299
+ break;
300
+ }
301
+ }
302
+ }
303
+ #getJsonAjv(schema) {
304
+ if (typeof schema !== 'object' || schema === null || typeof schema.$schema !== 'string') {
305
+ return this.#jsonAjv;
306
+ }
307
+ if (schema.$schema.includes('draft-04')) {
308
+ return this.#jsonAjvDraft04;
309
+ }
310
+ if (schema.$schema.includes('draft-06') || schema.$schema.includes('draft-07')) {
311
+ return this.#jsonAjvDraft7;
312
+ }
313
+ return this.#jsonAjv;
314
+ }
135
315
  #schemaSerializer(type, fallbackSerializer, data, headers, message) {
136
316
  /* c8 ignore next 3 - Hard to test */
137
317
  if (typeof data === 'undefined') {
@@ -165,7 +345,16 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
165
345
  const validate = schema.schema;
166
346
  const valid = validate(data);
167
347
  if (!valid) {
168
- throw new UserError(`JSON Schema validation failed before serialization: ${ajv.errorsText(validate.errors)}`, { type, data, headers, validationErrors: validate.errors });
348
+ throw new SchemaValidationError(`JSON Schema validation failed before serialization: ${this.#jsonAjv.errorsText(validate.errors)}`, {
349
+ schemaId,
350
+ schemaType: 'json',
351
+ phase: 'serialization',
352
+ payloadType: type,
353
+ type,
354
+ data,
355
+ headers,
356
+ validationErrors: validate.errors
357
+ });
169
358
  }
170
359
  }
171
360
  encodedMessage = Buffer.from(JSON.stringify(data));
@@ -176,17 +365,32 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
176
365
  return Buffer.concat([header, encodedMessage]);
177
366
  }
178
367
  #schemaDeserializer(type, fallbackDeserializer, data, headers, message) {
368
+ /*
369
+ Deserializing replaces the original payload, so record its size beforehand: it is the only
370
+ chance callers have to account for the actual ingress size of the message.
371
+ */
372
+ if ((type === 'key' || type === 'value') && Buffer.isBuffer(data)) {
373
+ trackConsumedPayloadLength(message, type, data);
374
+ }
179
375
  /* c8 ignore next 3 - Hard to test */
180
376
  if (typeof data === 'undefined' || data.length === 0) {
181
377
  return EMPTY_BUFFER;
182
378
  }
183
- if (type === 'headerKey' || type === 'headerValue') {
379
+ const isHeader = type === 'headerKey' || type === 'headerValue';
380
+ if (isHeader) {
184
381
  message = headers;
185
382
  }
186
383
  const schemaId = this.getSchemaId(data, type);
187
384
  if (!schemaId) {
188
385
  return fallbackDeserializer(data);
189
386
  }
387
+ /*
388
+ Also track the schema ID here, so that it is exposed on the message metadata even when the
389
+ deserializers are used without the before-deserialization hook of this registry.
390
+ */
391
+ if (!isHeader) {
392
+ trackConsumedSchemaId(message, type, schemaId);
393
+ }
190
394
  const schema = this.#schemas.get(schemaId);
191
395
  if (!schema) {
192
396
  throw new UserError(`Schema with ID ${schemaId} not found.`, { missingSchema: schemaId });
@@ -204,7 +408,16 @@ export class ConfluentSchemaRegistry extends AbstractSchemaRegistry {
204
408
  const validate = schema.schema;
205
409
  const valid = validate(parsed);
206
410
  if (!valid) {
207
- throw new UserError(`JSON Schema validation failed before deserialization: ${ajv.errorsText(validate.errors)}`, { type, data: parsed, headers, validationErrors: validate.errors });
411
+ throw new SchemaValidationError(`JSON Schema validation failed before deserialization: ${this.#jsonAjv.errorsText(validate.errors)}`, {
412
+ schemaId,
413
+ schemaType: 'json',
414
+ phase: 'deserialization',
415
+ payloadType: type,
416
+ type,
417
+ data: parsed,
418
+ headers,
419
+ validationErrors: validate.errors
420
+ });
208
421
  }
209
422
  return parsed;
210
423
  }
package/dist/symbols.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export declare const kInstance: unique symbol;
2
2
  export declare const kRefreshOffsetsAndFetch: unique symbol;
3
3
  export declare const kAutocommit: unique symbol;
4
+ export declare const kGetFetchNode: unique symbol;
5
+ export declare const kDeserializationError: unique symbol;
4
6
  export declare const kTransaction: unique symbol;
5
7
  export declare const kTransactionPrepare: unique symbol;
6
8
  export declare const kTransactionAddPartitions: unique symbol;
package/dist/symbols.js CHANGED
@@ -2,6 +2,8 @@
2
2
  export const kInstance = Symbol('plt.kafka.base.instance');
3
3
  export const kRefreshOffsetsAndFetch = Symbol('plt.kafka.messagesStream.refreshOffsetsAndFetch');
4
4
  export const kAutocommit = Symbol('plt.kafka.messagesStream.autocommit');
5
+ export const kGetFetchNode = Symbol('plt.kafka.consumer.getFetchNode');
6
+ export const kDeserializationError = Symbol('plt.kafka.messagesStream.deserializationError');
5
7
  export const kTransaction = Symbol('plt.kafka.producer.transactions');
6
8
  export const kTransactionPrepare = Symbol('plt.kafka.producer.transactions.prepare');
7
9
  export const kTransactionAddPartitions = Symbol('plt.kafka.producer.transactions.addPartitions');
@@ -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>;