kafka-ts 0.0.2-beta → 0.0.2

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 (195) hide show
  1. package/.prettierrc +3 -2
  2. package/README.md +109 -39
  3. package/dist/api/api-versions.d.ts +9 -0
  4. package/dist/api/api-versions.js +24 -0
  5. package/dist/api/create-topics.d.ts +38 -0
  6. package/dist/api/create-topics.js +53 -0
  7. package/dist/api/delete-topics.d.ts +18 -0
  8. package/dist/api/delete-topics.js +33 -0
  9. package/dist/api/fetch.d.ts +84 -0
  10. package/dist/api/fetch.js +142 -0
  11. package/dist/api/find-coordinator.d.ts +21 -0
  12. package/dist/api/find-coordinator.js +39 -0
  13. package/dist/api/heartbeat.d.ts +11 -0
  14. package/dist/api/heartbeat.js +27 -0
  15. package/dist/api/index.d.ts +578 -0
  16. package/dist/api/index.js +165 -0
  17. package/dist/api/init-producer-id.d.ts +13 -0
  18. package/dist/api/init-producer-id.js +29 -0
  19. package/dist/api/join-group.d.ts +34 -0
  20. package/dist/api/join-group.js +51 -0
  21. package/dist/api/leave-group.d.ts +19 -0
  22. package/dist/api/leave-group.js +39 -0
  23. package/dist/api/list-offsets.d.ts +29 -0
  24. package/dist/api/list-offsets.js +48 -0
  25. package/dist/api/metadata.d.ts +40 -0
  26. package/dist/api/metadata.js +58 -0
  27. package/dist/api/offset-commit.d.ts +28 -0
  28. package/dist/api/offset-commit.js +48 -0
  29. package/dist/api/offset-fetch.d.ts +33 -0
  30. package/dist/api/offset-fetch.js +57 -0
  31. package/dist/api/produce.d.ts +54 -0
  32. package/dist/api/produce.js +126 -0
  33. package/dist/api/sasl-authenticate.d.ts +11 -0
  34. package/dist/api/sasl-authenticate.js +23 -0
  35. package/dist/api/sasl-handshake.d.ts +6 -0
  36. package/dist/api/sasl-handshake.js +19 -0
  37. package/dist/api/sync-group.d.ts +24 -0
  38. package/dist/api/sync-group.js +36 -0
  39. package/dist/auth/index.d.ts +2 -0
  40. package/dist/auth/index.js +8 -0
  41. package/dist/auth/plain.d.ts +5 -0
  42. package/dist/auth/plain.js +12 -0
  43. package/dist/auth/scram.d.ts +9 -0
  44. package/dist/auth/scram.js +40 -0
  45. package/dist/broker.d.ts +30 -0
  46. package/dist/broker.js +55 -0
  47. package/dist/client.d.ts +23 -0
  48. package/dist/client.js +36 -0
  49. package/dist/cluster.d.ts +27 -0
  50. package/dist/cluster.js +70 -0
  51. package/dist/cluster.test.d.ts +1 -0
  52. package/dist/cluster.test.js +345 -0
  53. package/dist/codecs/gzip.d.ts +2 -0
  54. package/dist/codecs/gzip.js +8 -0
  55. package/dist/codecs/index.d.ts +2 -0
  56. package/dist/codecs/index.js +17 -0
  57. package/dist/codecs/none.d.ts +2 -0
  58. package/dist/codecs/none.js +7 -0
  59. package/dist/codecs/types.d.ts +5 -0
  60. package/dist/codecs/types.js +2 -0
  61. package/dist/connection.d.ts +26 -0
  62. package/dist/connection.js +175 -0
  63. package/dist/consumer/consumer-group.d.ts +41 -0
  64. package/dist/consumer/consumer-group.js +217 -0
  65. package/dist/consumer/consumer-metadata.d.ts +7 -0
  66. package/dist/consumer/consumer-metadata.js +14 -0
  67. package/dist/consumer/consumer.d.ts +44 -0
  68. package/dist/consumer/consumer.js +225 -0
  69. package/dist/consumer/fetch-manager.d.ts +33 -0
  70. package/dist/consumer/fetch-manager.js +140 -0
  71. package/dist/consumer/fetcher.d.ts +25 -0
  72. package/dist/consumer/fetcher.js +64 -0
  73. package/dist/consumer/offset-manager.d.ts +22 -0
  74. package/dist/consumer/offset-manager.js +66 -0
  75. package/dist/consumer/processor.d.ts +19 -0
  76. package/dist/consumer/processor.js +59 -0
  77. package/dist/distributors/assignments-to-replicas.d.ts +16 -0
  78. package/dist/distributors/assignments-to-replicas.js +59 -0
  79. package/dist/distributors/assignments-to-replicas.test.d.ts +1 -0
  80. package/dist/distributors/assignments-to-replicas.test.js +40 -0
  81. package/dist/distributors/messages-to-topic-partition-leaders.d.ts +17 -0
  82. package/dist/distributors/messages-to-topic-partition-leaders.js +15 -0
  83. package/dist/distributors/messages-to-topic-partition-leaders.test.d.ts +1 -0
  84. package/dist/distributors/messages-to-topic-partition-leaders.test.js +30 -0
  85. package/dist/distributors/partitioner.d.ts +7 -0
  86. package/dist/distributors/partitioner.js +23 -0
  87. package/dist/index.d.ts +9 -0
  88. package/dist/index.js +26 -0
  89. package/dist/metadata.d.ts +24 -0
  90. package/dist/metadata.js +106 -0
  91. package/dist/producer/producer.d.ts +24 -0
  92. package/dist/producer/producer.js +131 -0
  93. package/dist/types.d.ts +11 -0
  94. package/dist/types.js +2 -0
  95. package/dist/utils/api.d.ts +9 -0
  96. package/dist/utils/api.js +5 -0
  97. package/dist/utils/crypto.d.ts +8 -0
  98. package/dist/utils/crypto.js +18 -0
  99. package/dist/utils/decoder.d.ts +30 -0
  100. package/dist/utils/decoder.js +152 -0
  101. package/dist/utils/delay.d.ts +1 -0
  102. package/dist/utils/delay.js +5 -0
  103. package/dist/utils/encoder.d.ts +28 -0
  104. package/dist/utils/encoder.js +125 -0
  105. package/dist/utils/error.d.ts +11 -0
  106. package/dist/utils/error.js +27 -0
  107. package/dist/utils/logger.d.ts +9 -0
  108. package/dist/utils/logger.js +32 -0
  109. package/dist/utils/memo.d.ts +1 -0
  110. package/dist/utils/memo.js +16 -0
  111. package/dist/utils/murmur2.d.ts +3 -0
  112. package/dist/utils/murmur2.js +40 -0
  113. package/dist/utils/retrier.d.ts +10 -0
  114. package/dist/utils/retrier.js +22 -0
  115. package/dist/utils/tracer.d.ts +5 -0
  116. package/dist/utils/tracer.js +39 -0
  117. package/package.json +30 -19
  118. package/src/__snapshots__/{request-handler.test.ts.snap → cluster.test.ts.snap} +329 -26
  119. package/src/api/api-versions.ts +2 -2
  120. package/src/api/create-topics.ts +2 -2
  121. package/src/api/delete-topics.ts +2 -2
  122. package/src/api/fetch.ts +86 -31
  123. package/src/api/find-coordinator.ts +2 -2
  124. package/src/api/heartbeat.ts +2 -2
  125. package/src/api/index.ts +21 -19
  126. package/src/api/init-producer-id.ts +2 -2
  127. package/src/api/join-group.ts +3 -3
  128. package/src/api/leave-group.ts +2 -2
  129. package/src/api/list-offsets.ts +3 -3
  130. package/src/api/metadata.ts +3 -3
  131. package/src/api/offset-commit.ts +2 -2
  132. package/src/api/offset-fetch.ts +2 -2
  133. package/src/api/produce.ts +17 -20
  134. package/src/api/sasl-authenticate.ts +2 -2
  135. package/src/api/sasl-handshake.ts +2 -2
  136. package/src/api/sync-group.ts +2 -2
  137. package/src/auth/index.ts +2 -0
  138. package/src/auth/plain.ts +10 -0
  139. package/src/auth/scram.ts +52 -0
  140. package/src/broker.ts +12 -14
  141. package/src/client.ts +7 -7
  142. package/src/cluster.test.ts +78 -74
  143. package/src/cluster.ts +43 -45
  144. package/src/codecs/gzip.ts +9 -0
  145. package/src/codecs/index.ts +16 -0
  146. package/src/codecs/none.ts +6 -0
  147. package/src/codecs/types.ts +4 -0
  148. package/src/connection.ts +49 -33
  149. package/src/consumer/consumer-group.ts +57 -35
  150. package/src/consumer/consumer-metadata.ts +2 -2
  151. package/src/consumer/consumer.ts +115 -92
  152. package/src/consumer/fetch-manager.ts +169 -0
  153. package/src/consumer/fetcher.ts +64 -0
  154. package/src/consumer/offset-manager.ts +24 -13
  155. package/src/consumer/processor.ts +53 -0
  156. package/src/distributors/assignments-to-replicas.test.ts +7 -7
  157. package/src/distributors/assignments-to-replicas.ts +2 -4
  158. package/src/distributors/messages-to-topic-partition-leaders.test.ts +6 -6
  159. package/src/distributors/partitioner.ts +27 -0
  160. package/src/index.ts +9 -3
  161. package/src/metadata.ts +8 -4
  162. package/src/producer/producer.ts +30 -20
  163. package/src/types.ts +5 -3
  164. package/src/utils/api.ts +5 -5
  165. package/src/utils/crypto.ts +15 -0
  166. package/src/utils/decoder.ts +14 -8
  167. package/src/utils/encoder.ts +34 -27
  168. package/src/utils/error.ts +3 -3
  169. package/src/utils/logger.ts +37 -0
  170. package/src/utils/murmur2.ts +44 -0
  171. package/src/utils/retrier.ts +1 -1
  172. package/src/utils/tracer.ts +41 -20
  173. package/tsconfig.json +16 -16
  174. package/.github/workflows/release.yml +0 -17
  175. package/certs/ca.crt +0 -29
  176. package/certs/ca.key +0 -52
  177. package/certs/ca.srl +0 -1
  178. package/certs/kafka.crt +0 -29
  179. package/certs/kafka.csr +0 -26
  180. package/certs/kafka.key +0 -52
  181. package/certs/kafka.keystore.jks +0 -0
  182. package/certs/kafka.truststore.jks +0 -0
  183. package/docker-compose.yml +0 -104
  184. package/examples/package-lock.json +0 -31
  185. package/examples/package.json +0 -14
  186. package/examples/src/client.ts +0 -9
  187. package/examples/src/consumer.ts +0 -17
  188. package/examples/src/create-topic.ts +0 -37
  189. package/examples/src/producer.ts +0 -24
  190. package/examples/src/replicator.ts +0 -25
  191. package/examples/src/utils/json.ts +0 -1
  192. package/examples/tsconfig.json +0 -7
  193. package/log4j.properties +0 -95
  194. package/scripts/generate-certs.sh +0 -24
  195. package/src/utils/debug.ts +0 -9
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FIND_COORDINATOR = exports.KEY_TYPE = void 0;
4
+ const api_1 = require("../utils/api");
5
+ const error_1 = require("../utils/error");
6
+ exports.KEY_TYPE = {
7
+ GROUP: 0,
8
+ TRANSACTION: 1,
9
+ };
10
+ exports.FIND_COORDINATOR = (0, api_1.createApi)({
11
+ apiKey: 10,
12
+ apiVersion: 4,
13
+ request: (encoder, data) => encoder
14
+ .writeUVarInt(0)
15
+ .writeInt8(data.keyType)
16
+ .writeCompactArray(data.keys, (encoder, key) => encoder.writeCompactString(key))
17
+ .writeUVarInt(0),
18
+ response: (decoder) => {
19
+ const result = {
20
+ _tag: decoder.readTagBuffer(),
21
+ throttleTimeMs: decoder.readInt32(),
22
+ coordinators: decoder.readCompactArray((decoder) => ({
23
+ key: decoder.readCompactString(),
24
+ nodeId: decoder.readInt32(),
25
+ host: decoder.readCompactString(),
26
+ port: decoder.readInt32(),
27
+ errorCode: decoder.readInt16(),
28
+ errorMessage: decoder.readCompactString(),
29
+ _tag: decoder.readTagBuffer(),
30
+ })),
31
+ _tag2: decoder.readTagBuffer(),
32
+ };
33
+ result.coordinators.forEach((coordinator) => {
34
+ if (coordinator.errorCode)
35
+ throw new error_1.KafkaTSApiError(coordinator.errorCode, coordinator.errorMessage, result);
36
+ });
37
+ return result;
38
+ },
39
+ });
@@ -0,0 +1,11 @@
1
+ export declare const HEARTBEAT: import("../utils/api").Api<{
2
+ groupId: string;
3
+ generationId: number;
4
+ memberId: string;
5
+ groupInstanceId: string | null;
6
+ }, {
7
+ _tag: void;
8
+ throttleTimeMs: number;
9
+ errorCode: number;
10
+ _tag2: void;
11
+ }>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HEARTBEAT = void 0;
4
+ const api_1 = require("../utils/api");
5
+ const error_1 = require("../utils/error");
6
+ exports.HEARTBEAT = (0, api_1.createApi)({
7
+ apiKey: 12,
8
+ apiVersion: 4,
9
+ request: (encoder, data) => encoder
10
+ .writeUVarInt(0)
11
+ .writeCompactString(data.groupId)
12
+ .writeInt32(data.generationId)
13
+ .writeCompactString(data.memberId)
14
+ .writeCompactString(data.groupInstanceId)
15
+ .writeUVarInt(0),
16
+ response: (decoder) => {
17
+ const result = {
18
+ _tag: decoder.readTagBuffer(),
19
+ throttleTimeMs: decoder.readInt32(),
20
+ errorCode: decoder.readInt16(),
21
+ _tag2: decoder.readTagBuffer(),
22
+ };
23
+ if (result.errorCode)
24
+ throw new error_1.KafkaTSApiError(result.errorCode, null, result);
25
+ return result;
26
+ },
27
+ });
@@ -0,0 +1,578 @@
1
+ /// <reference types="node" />
2
+ import { Api } from '../utils/api';
3
+ export declare const API: {
4
+ API_VERSIONS: Api<unknown, {
5
+ errorCode: number;
6
+ versions: {
7
+ apiKey: number;
8
+ minVersion: number;
9
+ maxVersion: number;
10
+ }[];
11
+ throttleTimeMs: number;
12
+ }>;
13
+ CREATE_TOPICS: Api<{
14
+ topics: {
15
+ name: string;
16
+ numPartitions: number;
17
+ replicationFactor: number;
18
+ assignments: {
19
+ partitionIndex: number;
20
+ brokerIds: number[];
21
+ }[];
22
+ configs: {
23
+ name: string;
24
+ value: string | null;
25
+ }[];
26
+ }[];
27
+ timeoutMs: number;
28
+ validateOnly: boolean;
29
+ }, {
30
+ _tag: void;
31
+ throttleTimeMs: number;
32
+ topics: {
33
+ name: string | null;
34
+ topicId: string;
35
+ errorCode: number;
36
+ errorMessage: string | null;
37
+ numPartitions: number;
38
+ replicationFactor: number;
39
+ configs: {
40
+ name: string | null;
41
+ value: string | null;
42
+ readOnly: boolean;
43
+ configSource: number;
44
+ isSensitive: boolean;
45
+ _tag: void;
46
+ }[];
47
+ _tag: void;
48
+ }[];
49
+ _tag2: void;
50
+ }>;
51
+ DELETE_TOPICS: Api<{
52
+ topics: {
53
+ name: string | null;
54
+ topicId: string | null;
55
+ }[];
56
+ timeoutMs: number;
57
+ }, {
58
+ _tag: void;
59
+ throttleTimeMs: number;
60
+ responses: {
61
+ name: string | null;
62
+ topicId: string;
63
+ errorCode: number;
64
+ errorMessage: string | null;
65
+ _tag: void;
66
+ }[];
67
+ _tag2: void;
68
+ }>;
69
+ FETCH: Api<{
70
+ maxWaitMs: number;
71
+ minBytes: number;
72
+ maxBytes: number;
73
+ isolationLevel: import("./fetch").IsolationLevel;
74
+ sessionId: number;
75
+ sessionEpoch: number;
76
+ topics: {
77
+ topicId: string;
78
+ partitions: {
79
+ partition: number;
80
+ currentLeaderEpoch: number;
81
+ fetchOffset: bigint;
82
+ lastFetchedEpoch: number;
83
+ logStartOffset: bigint;
84
+ partitionMaxBytes: number;
85
+ }[];
86
+ }[];
87
+ forgottenTopicsData: {
88
+ topicId: string;
89
+ partitions: number[];
90
+ }[];
91
+ rackId: string;
92
+ }, {
93
+ responses: {
94
+ partitions: {
95
+ records: {
96
+ records: {
97
+ attributes: number;
98
+ timestampDelta: bigint;
99
+ offsetDelta: number;
100
+ key: Buffer | null;
101
+ value: Buffer | null;
102
+ headers: {
103
+ key: Buffer | null;
104
+ value: Buffer | null;
105
+ }[];
106
+ }[];
107
+ compression: number;
108
+ timestampType: string;
109
+ isTransactional: boolean;
110
+ isControlBatch: boolean;
111
+ hasDeleteHorizonMs: boolean;
112
+ baseOffset: bigint;
113
+ batchLength: number;
114
+ partitionLeaderEpoch: number;
115
+ magic: number;
116
+ crc: number;
117
+ attributes: number;
118
+ lastOffsetDelta: number;
119
+ baseTimestamp: bigint;
120
+ maxTimestamp: bigint;
121
+ producerId: bigint;
122
+ producerEpoch: number;
123
+ baseSequence: number;
124
+ }[];
125
+ partitionIndex: number;
126
+ errorCode: number;
127
+ highWatermark: bigint;
128
+ lastStableOffset: bigint;
129
+ logStartOffset: bigint;
130
+ abortedTransactions: {
131
+ producerId: bigint;
132
+ firstOffset: bigint;
133
+ _tag: void;
134
+ }[];
135
+ preferredReadReplica: number;
136
+ _tag: void;
137
+ }[];
138
+ topicId: string;
139
+ _tag: void;
140
+ }[];
141
+ _tag: void;
142
+ throttleTimeMs: number;
143
+ errorCode: number;
144
+ sessionId: number;
145
+ _tag2: void;
146
+ }>;
147
+ FIND_COORDINATOR: Api<{
148
+ keyType: number;
149
+ keys: string[];
150
+ }, {
151
+ _tag: void;
152
+ throttleTimeMs: number;
153
+ coordinators: {
154
+ key: string | null;
155
+ nodeId: number;
156
+ host: string;
157
+ port: number;
158
+ errorCode: number;
159
+ errorMessage: string | null;
160
+ _tag: void;
161
+ }[];
162
+ _tag2: void;
163
+ }>;
164
+ HEARTBEAT: Api<{
165
+ groupId: string;
166
+ generationId: number;
167
+ memberId: string;
168
+ groupInstanceId: string | null;
169
+ }, {
170
+ _tag: void;
171
+ throttleTimeMs: number;
172
+ errorCode: number;
173
+ _tag2: void;
174
+ }>;
175
+ INIT_PRODUCER_ID: Api<{
176
+ transactionalId: string | null;
177
+ transactionTimeoutMs: number;
178
+ producerId: bigint;
179
+ producerEpoch: number;
180
+ }, {
181
+ _tag: void;
182
+ throttleTimeMs: number;
183
+ errorCode: number;
184
+ producerId: bigint;
185
+ producerEpoch: number;
186
+ _tag2: void;
187
+ }>;
188
+ JOIN_GROUP: Api<{
189
+ groupId: string;
190
+ sessionTimeoutMs: number;
191
+ rebalanceTimeoutMs: number;
192
+ memberId: string;
193
+ groupInstanceId: string | null;
194
+ protocolType: string;
195
+ protocols: {
196
+ name: string;
197
+ metadata: {
198
+ version: number;
199
+ topics: string[];
200
+ };
201
+ }[];
202
+ reason: string | null;
203
+ }, {
204
+ _tag: void;
205
+ throttleTimeMs: number;
206
+ errorCode: number;
207
+ generationId: number;
208
+ protocolType: string | null;
209
+ protocolName: string | null;
210
+ leader: string;
211
+ skipAssignment: boolean;
212
+ memberId: string;
213
+ members: {
214
+ memberId: string;
215
+ groupInstanceId: string | null;
216
+ metadata: Buffer;
217
+ _tag: void;
218
+ }[];
219
+ _tag2: void;
220
+ }>;
221
+ LEAVE_GROUP: Api<{
222
+ groupId: string;
223
+ members: {
224
+ memberId: string;
225
+ groupInstanceId: string | null;
226
+ reason: string | null;
227
+ }[];
228
+ }, {
229
+ _tag: void;
230
+ throttleTimeMs: number;
231
+ errorCode: number;
232
+ members: {
233
+ memberId: string;
234
+ groupInstanceId: string | null;
235
+ errorCode: number;
236
+ _tag: void;
237
+ }[];
238
+ _tag2: void;
239
+ }>;
240
+ LIST_OFFSETS: Api<{
241
+ replicaId: number;
242
+ isolationLevel: import("./fetch").IsolationLevel;
243
+ topics: {
244
+ name: string;
245
+ partitions: {
246
+ partitionIndex: number;
247
+ currentLeaderEpoch: number;
248
+ timestamp: bigint;
249
+ }[];
250
+ }[];
251
+ }, {
252
+ _tag: void;
253
+ throttleTimeMs: number;
254
+ topics: {
255
+ name: string;
256
+ partitions: {
257
+ partitionIndex: number;
258
+ errorCode: number;
259
+ timestamp: bigint;
260
+ offset: bigint;
261
+ leaderEpoch: number;
262
+ _tag: void;
263
+ }[];
264
+ _tag: void;
265
+ }[];
266
+ _tag2: void;
267
+ }>;
268
+ METADATA: Api<{
269
+ topics: {
270
+ id: string | null;
271
+ name: string;
272
+ }[] | null;
273
+ allowTopicAutoCreation: boolean;
274
+ includeTopicAuthorizedOperations: boolean;
275
+ }, {
276
+ _tag: void;
277
+ throttleTimeMs: number;
278
+ brokers: {
279
+ nodeId: number;
280
+ host: string;
281
+ port: number;
282
+ rack: string | null;
283
+ _tag: void;
284
+ }[];
285
+ clusterId: string | null;
286
+ controllerId: number;
287
+ topics: {
288
+ errorCode: number;
289
+ name: string;
290
+ topicId: string;
291
+ isInternal: boolean;
292
+ partitions: {
293
+ errorCode: number;
294
+ partitionIndex: number;
295
+ leaderId: number;
296
+ leaderEpoch: number;
297
+ replicaNodes: number[];
298
+ isrNodes: number[];
299
+ offlineReplicas: number[];
300
+ _tag: void;
301
+ }[];
302
+ topicAuthorizedOperations: number;
303
+ _tag: void;
304
+ }[];
305
+ _tag2: void;
306
+ }>;
307
+ OFFSET_COMMIT: Api<{
308
+ groupId: string;
309
+ generationIdOrMemberEpoch: number;
310
+ memberId: string;
311
+ groupInstanceId: string | null;
312
+ topics: {
313
+ name: string;
314
+ partitions: {
315
+ partitionIndex: number;
316
+ committedOffset: bigint;
317
+ committedLeaderEpoch: number;
318
+ committedMetadata: string | null;
319
+ }[];
320
+ }[];
321
+ }, {
322
+ _tag: void;
323
+ throttleTimeMs: number;
324
+ topics: {
325
+ name: string | null;
326
+ partitions: {
327
+ partitionIndex: number;
328
+ errorCode: number;
329
+ _tag: void;
330
+ }[];
331
+ _tag: void;
332
+ }[];
333
+ _tag2: void;
334
+ }>;
335
+ OFFSET_FETCH: Api<{
336
+ groups: {
337
+ groupId: string;
338
+ memberId: string | null;
339
+ memberEpoch: number;
340
+ topics: {
341
+ name: string;
342
+ partitionIndexes: number[];
343
+ }[];
344
+ }[];
345
+ requireStable: boolean;
346
+ }, {
347
+ _tag: void;
348
+ throttleTimeMs: number;
349
+ groups: {
350
+ groupId: string | null;
351
+ topics: {
352
+ name: string;
353
+ partitions: {
354
+ partitionIndex: number;
355
+ committedOffset: bigint;
356
+ committedLeaderEpoch: number;
357
+ committedMetadata: string | null;
358
+ errorCode: number;
359
+ _tag: void;
360
+ }[];
361
+ _tag: void;
362
+ }[];
363
+ errorCode: number;
364
+ _tag: void;
365
+ }[];
366
+ _tag2: void;
367
+ }>;
368
+ PRODUCE: Api<{
369
+ transactionalId: string | null;
370
+ acks: number;
371
+ timeoutMs: number;
372
+ topicData: {
373
+ name: string;
374
+ partitionData: {
375
+ index: number;
376
+ baseOffset: bigint;
377
+ partitionLeaderEpoch: number;
378
+ attributes: number;
379
+ lastOffsetDelta: number;
380
+ baseTimestamp: bigint;
381
+ maxTimestamp: bigint;
382
+ producerId: bigint;
383
+ producerEpoch: number;
384
+ baseSequence: number;
385
+ records: {
386
+ attributes: number;
387
+ timestampDelta: bigint;
388
+ offsetDelta: number;
389
+ key: Buffer | null;
390
+ value: Buffer | null;
391
+ headers: {
392
+ key: Buffer;
393
+ value: Buffer;
394
+ }[];
395
+ }[];
396
+ }[];
397
+ }[];
398
+ }, {
399
+ _tag: void;
400
+ responses: {
401
+ name: string | null;
402
+ partitionResponses: {
403
+ index: number;
404
+ errorCode: number;
405
+ baseOffset: bigint;
406
+ logAppendTime: bigint;
407
+ logStartOffset: bigint;
408
+ recordErrors: {
409
+ batchIndex: number;
410
+ batchIndexError: number;
411
+ _tag: void;
412
+ }[];
413
+ errorMessage: string | null;
414
+ _tag: void;
415
+ }[];
416
+ _tag: void;
417
+ }[];
418
+ throttleTimeMs: number;
419
+ _tag2: void;
420
+ }>;
421
+ SASL_AUTHENTICATE: Api<{
422
+ authBytes: Buffer;
423
+ }, {
424
+ _tag: void;
425
+ errorCode: number;
426
+ errorMessage: string | null;
427
+ authBytes: Buffer | null;
428
+ sessionLifetimeMs: bigint;
429
+ _tag2: void;
430
+ }>;
431
+ SASL_HANDSHAKE: Api<{
432
+ mechanism: string;
433
+ }, {
434
+ errorCode: number;
435
+ mechanisms: (string | null)[];
436
+ }>;
437
+ SYNC_GROUP: Api<{
438
+ groupId: string;
439
+ generationId: number;
440
+ memberId: string;
441
+ groupInstanceId: string | null;
442
+ protocolType: string | null;
443
+ protocolName: string | null;
444
+ assignments: import("./sync-group").MemberAssignment[];
445
+ }, {
446
+ _tag: void;
447
+ throttleTimeMs: number;
448
+ errorCode: number;
449
+ protocolType: string | null;
450
+ protocolName: string | null;
451
+ assignments: string;
452
+ _tag2: void;
453
+ }>;
454
+ };
455
+ export declare const getApiName: <Request, Response>(api: Api<Request, Response>) => string;
456
+ export declare const API_ERROR: {
457
+ UNKNOWN_SERVER_ERROR: number;
458
+ OFFSET_OUT_OF_RANGE: number;
459
+ CORRUPT_MESSAGE: number;
460
+ UNKNOWN_TOPIC_OR_PARTITION: number;
461
+ INVALID_FETCH_SIZE: number;
462
+ LEADER_NOT_AVAILABLE: number;
463
+ NOT_LEADER_OR_FOLLOWER: number;
464
+ REQUEST_TIMED_OUT: number;
465
+ BROKER_NOT_AVAILABLE: number;
466
+ REPLICA_NOT_AVAILABLE: number;
467
+ MESSAGE_TOO_LARGE: number;
468
+ STALE_CONTROLLER_EPOCH: number;
469
+ OFFSET_METADATA_TOO_LARGE: number;
470
+ NETWORK_EXCEPTION: number;
471
+ COORDINATOR_LOAD_IN_PROGRESS: number;
472
+ COORDINATOR_NOT_AVAILABLE: number;
473
+ NOT_COORDINATOR: number;
474
+ INVALID_TOPIC_EXCEPTION: number;
475
+ RECORD_LIST_TOO_LARGE: number;
476
+ NOT_ENOUGH_REPLICAS: number;
477
+ NOT_ENOUGH_REPLICAS_AFTER_APPEND: number;
478
+ INVALID_REQUIRED_ACKS: number;
479
+ ILLEGAL_GENERATION: number;
480
+ INCONSISTENT_GROUP_PROTOCOL: number;
481
+ INVALID_GROUP_ID: number;
482
+ UNKNOWN_MEMBER_ID: number;
483
+ INVALID_SESSION_TIMEOUT: number;
484
+ REBALANCE_IN_PROGRESS: number;
485
+ INVALID_COMMIT_OFFSET_SIZE: number;
486
+ TOPIC_AUTHORIZATION_FAILED: number;
487
+ GROUP_AUTHORIZATION_FAILED: number;
488
+ CLUSTER_AUTHORIZATION_FAILED: number;
489
+ INVALID_TIMESTAMP: number;
490
+ UNSUPPORTED_SASL_MECHANISM: number;
491
+ ILLEGAL_SASL_STATE: number;
492
+ UNSUPPORTED_VERSION: number;
493
+ TOPIC_ALREADY_EXISTS: number;
494
+ INVALID_PARTITIONS: number;
495
+ INVALID_REPLICATION_FACTOR: number;
496
+ INVALID_REPLICA_ASSIGNMENT: number;
497
+ INVALID_CONFIG: number;
498
+ NOT_CONTROLLER: number;
499
+ INVALID_REQUEST: number;
500
+ UNSUPPORTED_FOR_MESSAGE_FORMAT: number;
501
+ POLICY_VIOLATION: number;
502
+ OUT_OF_ORDER_SEQUENCE_NUMBER: number;
503
+ DUPLICATE_SEQUENCE_NUMBER: number;
504
+ INVALID_PRODUCER_EPOCH: number;
505
+ INVALID_TXN_STATE: number;
506
+ INVALID_PRODUCER_ID_MAPPING: number;
507
+ INVALID_TRANSACTION_TIMEOUT: number;
508
+ CONCURRENT_TRANSACTIONS: number;
509
+ TRANSACTION_COORDINATOR_FENCED: number;
510
+ TRANSACTIONAL_ID_AUTHORIZATION_FAILED: number;
511
+ SECURITY_DISABLED: number;
512
+ OPERATION_NOT_ATTEMPTED: number;
513
+ KAFKA_STORAGE_ERROR: number;
514
+ LOG_DIR_NOT_FOUND: number;
515
+ SASL_AUTHENTICATION_FAILED: number;
516
+ UNKNOWN_PRODUCER_ID: number;
517
+ REASSIGNMENT_IN_PROGRESS: number;
518
+ DELEGATION_TOKEN_AUTH_DISABLED: number;
519
+ DELEGATION_TOKEN_NOT_FOUND: number;
520
+ DELEGATION_TOKEN_OWNER_MISMATCH: number;
521
+ DELEGATION_TOKEN_REQUEST_NOT_ALLOWED: number;
522
+ DELEGATION_TOKEN_AUTHORIZATION_FAILED: number;
523
+ DELEGATION_TOKEN_EXPIRED: number;
524
+ INVALID_PRINCIPAL_TYPE: number;
525
+ NON_EMPTY_GROUP: number;
526
+ GROUP_ID_NOT_FOUND: number;
527
+ FETCH_SESSION_ID_NOT_FOUND: number;
528
+ INVALID_FETCH_SESSION_EPOCH: number;
529
+ LISTENER_NOT_FOUND: number;
530
+ TOPIC_DELETION_DISABLED: number;
531
+ FENCED_LEADER_EPOCH: number;
532
+ UNKNOWN_LEADER_EPOCH: number;
533
+ UNSUPPORTED_COMPRESSION_TYPE: number;
534
+ STALE_BROKER_EPOCH: number;
535
+ OFFSET_NOT_AVAILABLE: number;
536
+ MEMBER_ID_REQUIRED: number;
537
+ PREFERRED_LEADER_NOT_AVAILABLE: number;
538
+ GROUP_MAX_SIZE_REACHED: number;
539
+ FENCED_INSTANCE_ID: number;
540
+ ELIGIBLE_LEADERS_NOT_AVAILABLE: number;
541
+ ELECTION_NOT_NEEDED: number;
542
+ NO_REASSIGNMENT_IN_PROGRESS: number;
543
+ GROUP_SUBSCRIBED_TO_TOPIC: number;
544
+ INVALID_RECORD: number;
545
+ UNSTABLE_OFFSET_COMMIT: number;
546
+ THROTTLING_QUOTA_EXCEEDED: number;
547
+ PRODUCER_FENCED: number;
548
+ RESOURCE_NOT_FOUND: number;
549
+ DUPLICATE_RESOURCE: number;
550
+ UNACCEPTABLE_CREDENTIAL: number;
551
+ INCONSISTENT_VOTER_SET: number;
552
+ INVALID_UPDATE_VERSION: number;
553
+ FEATURE_UPDATE_FAILED: number;
554
+ PRINCIPAL_DESERIALIZATION_FAILURE: number;
555
+ SNAPSHOT_NOT_FOUND: number;
556
+ POSITION_OUT_OF_RANGE: number;
557
+ UNKNOWN_TOPIC_ID: number;
558
+ DUPLICATE_BROKER_REGISTRATION: number;
559
+ BROKER_ID_NOT_REGISTERED: number;
560
+ INCONSISTENT_TOPIC_ID: number;
561
+ INCONSISTENT_CLUSTER_ID: number;
562
+ TRANSACTIONAL_ID_NOT_FOUND: number;
563
+ FETCH_SESSION_TOPIC_ID_ERROR: number;
564
+ INELIGIBLE_REPLICA: number;
565
+ NEW_LEADER_ELECTED: number;
566
+ OFFSET_MOVED_TO_TIERED_STORAGE: number;
567
+ FENCED_MEMBER_EPOCH: number;
568
+ UNRELEASED_INSTANCE_ID: number;
569
+ UNSUPPORTED_ASSIGNOR: number;
570
+ STALE_MEMBER_EPOCH: number;
571
+ MISMATCHED_ENDPOINT_TYPE: number;
572
+ UNSUPPORTED_ENDPOINT_TYPE: number;
573
+ UNKNOWN_CONTROLLER_ID: number;
574
+ UNKNOWN_SUBSCRIPTION_ID: number;
575
+ TELEMETRY_TOO_LARGE: number;
576
+ INVALID_REGISTRATION: number;
577
+ TRANSACTION_ABORTABLE: number;
578
+ };