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