@drarzter/kafka-client 0.9.2 → 0.9.4
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 +32 -7
- package/dist/{chunk-Z2DOJQRI.mjs → chunk-SM4FZKAZ.mjs} +6 -6
- package/dist/chunk-SM4FZKAZ.mjs.map +1 -0
- package/dist/client-1irhGEu0.d.mts +751 -0
- package/dist/client-BpFjkHhr.d.ts +751 -0
- package/dist/consumer.types-fFCag3VJ.d.mts +958 -0
- package/dist/consumer.types-fFCag3VJ.d.ts +958 -0
- package/dist/core.d.mts +126 -3
- package/dist/core.d.ts +126 -3
- package/dist/core.js +5 -5
- package/dist/core.js.map +1 -1
- package/dist/core.mjs +1 -1
- package/dist/index.d.mts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/otel.d.mts +1 -1
- package/dist/otel.d.ts +1 -1
- package/dist/testing.d.mts +2 -1
- package/dist/testing.d.ts +2 -1
- package/dist/testing.js +5 -5
- package/dist/testing.js.map +1 -1
- package/dist/testing.mjs +5 -5
- package/dist/testing.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-Z2DOJQRI.mjs.map +0 -1
- package/dist/types-4XNxkici.d.mts +0 -1952
- package/dist/types-4XNxkici.d.ts +0 -1952
package/dist/core.d.mts
CHANGED
|
@@ -1,5 +1,128 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { q as KafkaLogger, K as KafkaInstrumentation, s as MessageLostContext, F as TtlExpiredContext, T as TopicMapConstraint, C as ClientId, G as GroupId, b as TopicDescriptor, v as SendOptions, M as MessageHeaders, B as BatchMessageItem, d as BatchSendOptions, z as TransactionContext, k as EventEnvelope, a as ConsumerOptions, h as ConsumerHandle, c as BatchMeta, J as WindowMeta, W as WindowConsumerOptions, t as RoutingOptions, A as TransactionalHandlerContext, r as KafkaMetrics } from './consumer.types-fFCag3VJ.mjs';
|
|
2
|
+
export { e as BeforeConsumeResult, f as CircuitBreakerOptions, g as CompressionType, i as ConsumerInterceptor, D as DeduplicationOptions, j as DlqReason, E as EnvelopeHeaderOptions, H as HEADER_CORRELATION_ID, l as HEADER_EVENT_ID, m as HEADER_LAMPORT_CLOCK, n as HEADER_SCHEMA_VERSION, o as HEADER_TIMESTAMP, p as HEADER_TRACEPARENT, I as InferSchema, R as RetryOptions, S as SchemaLike, u as SchemaParseContext, w as SubscribeRetryOptions, x as TTopicMessageMap, y as TopicsFrom, L as buildEnvelopeHeaders, N as decodeHeaders, O as extractEnvelope, P as getEnvelopeContext, Q as runWithEnvelopeContext, U as topic } from './consumer.types-fFCag3VJ.mjs';
|
|
3
|
+
import { K as KafkaTransport, I as IKafkaClient, D as DlqReplayOptions, R as ReadSnapshotOptions, t as CheckpointResult, z as RestoreCheckpointOptions, s as CheckpointRestoreResult, r as KafkaHealthResult, u as ConsumerGroupSummary, T as TopicDescription } from './client-1irhGEu0.mjs';
|
|
4
|
+
export { C as CheckpointEntry, v as IKafkaAdmin, w as IKafkaConsumer, x as IKafkaLifecycle, y as IKafkaProducer, A as TopicPartitionInfo } from './client-1irhGEu0.mjs';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Options for `KafkaClient` constructor.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const kafka = new KafkaClient(kafkaConfig, 'my-service', {
|
|
12
|
+
* transactionalId: `my-service-tx-${replicaIndex}`,
|
|
13
|
+
* lagThrottle: { maxLag: 10_000, pollIntervalMs: 3_000 },
|
|
14
|
+
* clockRecovery: { topics: ['orders.created'] },
|
|
15
|
+
* onMessageLost: (ctx) => alerting.fire('kafka.message-lost', ctx),
|
|
16
|
+
* instrumentation: [otelInstrumentation()],
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
interface KafkaClientOptions {
|
|
21
|
+
/** Auto-create topics via admin before the first `sendMessage`, `sendBatch`, or `transaction` for each topic. Useful for development — not recommended in production. */
|
|
22
|
+
autoCreateTopics?: boolean;
|
|
23
|
+
/** When `true`, string topic keys are validated against any schema previously registered via a TopicDescriptor. Default: `true`. */
|
|
24
|
+
strictSchemas?: boolean;
|
|
25
|
+
/** Custom logger. Defaults to console with `[KafkaClient:<clientId>]` prefix. */
|
|
26
|
+
logger?: KafkaLogger;
|
|
27
|
+
/** Number of partitions for auto-created topics. Default: `1`. */
|
|
28
|
+
numPartitions?: number;
|
|
29
|
+
/** Client-wide instrumentation hooks (e.g. OTel). Applied to both send and consume paths. */
|
|
30
|
+
instrumentation?: KafkaInstrumentation[];
|
|
31
|
+
/**
|
|
32
|
+
* Override the transactional producer ID used by `transaction()`.
|
|
33
|
+
* Defaults to `${clientId}-tx`.
|
|
34
|
+
*
|
|
35
|
+
* The transactional ID must be **unique per producer instance** across the
|
|
36
|
+
* entire Kafka cluster. Two `KafkaClient` instances with the same ID will
|
|
37
|
+
* cause Kafka to fence one of the producers — the fenced producer will fail
|
|
38
|
+
* on the next `transaction()` call. Set a distinct value per replica when
|
|
39
|
+
* running multiple instances of the same service.
|
|
40
|
+
*/
|
|
41
|
+
transactionalId?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Called when a message is dropped without being sent to a DLQ.
|
|
44
|
+
* Fires when the handler throws after all retries, or schema validation fails — and `dlq` is not enabled.
|
|
45
|
+
* Use this to alert, log to external systems, or trigger fallback logic.
|
|
46
|
+
*/
|
|
47
|
+
onMessageLost?: (ctx: MessageLostContext) => void | Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Called when a message is dropped due to TTL expiration (`messageTtlMs`).
|
|
50
|
+
* Fires instead of `onMessageLost` for expired messages when `dlq` is not enabled.
|
|
51
|
+
* When `dlq: true`, expired messages go to the DLQ and this callback is NOT called.
|
|
52
|
+
*
|
|
53
|
+
* **Client-wide fallback**: if `ConsumerOptions.onTtlExpired` is set on the consumer,
|
|
54
|
+
* it takes precedence over this client-level callback.
|
|
55
|
+
*/
|
|
56
|
+
onTtlExpired?: (ctx: TtlExpiredContext) => void | Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Called whenever a consumer group rebalance occurs.
|
|
59
|
+
* - `'assign'` — new partitions were granted to this instance.
|
|
60
|
+
* - `'revoke'` — partitions were taken away (e.g. another consumer joined).
|
|
61
|
+
*
|
|
62
|
+
* Applied to every consumer created by this client. If you need per-consumer
|
|
63
|
+
* rebalance handling, use separate `KafkaClient` instances.
|
|
64
|
+
*/
|
|
65
|
+
onRebalance?: (type: "assign" | "revoke", partitions: Array<{
|
|
66
|
+
topic: string;
|
|
67
|
+
partition: number;
|
|
68
|
+
}>) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Recover the Lamport clock from the last message in the given topics on `connectProducer()`.
|
|
71
|
+
*
|
|
72
|
+
* On startup the producer creates a short-lived consumer, seeks each partition to its
|
|
73
|
+
* last message (`highWatermark − 1`), reads the `x-lamport-clock` header, then
|
|
74
|
+
* initialises `_lamportClock` to the maximum value found. This guarantees monotonic
|
|
75
|
+
* clock values across restarts without an external store.
|
|
76
|
+
*
|
|
77
|
+
* Topics that do not exist or are empty are silently skipped.
|
|
78
|
+
*/
|
|
79
|
+
clockRecovery?: {
|
|
80
|
+
/** Topic names to scan for the highest Lamport clock. */
|
|
81
|
+
topics: string[];
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Delay `sendMessage` / `sendBatch` / `sendTombstone` when the observed lag of a
|
|
85
|
+
* consumer group exceeds `maxLag`. Resumes immediately when lag drops below the threshold.
|
|
86
|
+
*
|
|
87
|
+
* Lag is polled via `getConsumerLag()` every `pollIntervalMs` in the background;
|
|
88
|
+
* no admin call is made on each individual send.
|
|
89
|
+
*
|
|
90
|
+
* When `maxWaitMs` is exceeded the send is unblocked with a warning — this is
|
|
91
|
+
* best-effort throttling, not hard back-pressure.
|
|
92
|
+
*
|
|
93
|
+
* Requires `connectProducer()` to have been called to start the polling loop.
|
|
94
|
+
*/
|
|
95
|
+
lagThrottle?: {
|
|
96
|
+
/** Consumer group whose lag is monitored. Defaults to the client's default group. */
|
|
97
|
+
groupId?: string;
|
|
98
|
+
/** Lag threshold (number of messages) above which sends are delayed. */
|
|
99
|
+
maxLag: number;
|
|
100
|
+
/** How often to poll `getConsumerLag()`. Default: `5000` ms. */
|
|
101
|
+
pollIntervalMs?: number;
|
|
102
|
+
/**
|
|
103
|
+
* Maximum time (ms) a send will wait while throttled before proceeding anyway.
|
|
104
|
+
* Default: `30_000` ms.
|
|
105
|
+
*/
|
|
106
|
+
maxWaitMs?: number;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Custom transport implementation.
|
|
110
|
+
*
|
|
111
|
+
* By default `KafkaClient` uses `ConfluentTransport` which wraps
|
|
112
|
+
* `@confluentinc/kafka-javascript` (librdkafka). Inject a different
|
|
113
|
+
* `KafkaTransport` to target an alternative broker library, or to supply
|
|
114
|
+
* a deterministic fake in unit tests without mocking the confluentinc module.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* // In tests — no jest.mock() needed
|
|
119
|
+
* const kafka = new KafkaClient('svc', 'grp', [], {
|
|
120
|
+
* transport: new FakeTransport(),
|
|
121
|
+
* });
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
transport?: KafkaTransport;
|
|
125
|
+
}
|
|
3
126
|
|
|
4
127
|
/**
|
|
5
128
|
* Type-safe Kafka client.
|
|
@@ -188,4 +311,4 @@ declare class KafkaRetryExhaustedError extends KafkaProcessingError {
|
|
|
188
311
|
});
|
|
189
312
|
}
|
|
190
313
|
|
|
191
|
-
export { BatchMessageItem, BatchMeta, BatchSendOptions, CheckpointRestoreResult, CheckpointResult, ClientId, ConsumerGroupSummary, ConsumerHandle, ConsumerOptions, DlqReplayOptions, EventEnvelope, GroupId, IKafkaClient, KafkaClient, KafkaClientOptions, KafkaHealthResult, KafkaMetrics, KafkaProcessingError, KafkaRetryExhaustedError, KafkaValidationError, MessageHeaders, ReadSnapshotOptions, RestoreCheckpointOptions, RoutingOptions, SendOptions, TopicDescription, TopicDescriptor, TopicMapConstraint, TransactionContext, TransactionalHandlerContext, WindowConsumerOptions, WindowMeta };
|
|
314
|
+
export { BatchMessageItem, BatchMeta, BatchSendOptions, CheckpointRestoreResult, CheckpointResult, ClientId, ConsumerGroupSummary, ConsumerHandle, ConsumerOptions, DlqReplayOptions, EventEnvelope, GroupId, IKafkaClient, KafkaClient, type KafkaClientOptions, KafkaHealthResult, KafkaInstrumentation, KafkaLogger, KafkaMetrics, KafkaProcessingError, KafkaRetryExhaustedError, KafkaValidationError, MessageHeaders, MessageLostContext, ReadSnapshotOptions, RestoreCheckpointOptions, RoutingOptions, SendOptions, TopicDescription, TopicDescriptor, TopicMapConstraint, TransactionContext, TransactionalHandlerContext, TtlExpiredContext, WindowConsumerOptions, WindowMeta };
|
package/dist/core.d.ts
CHANGED
|
@@ -1,5 +1,128 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { q as KafkaLogger, K as KafkaInstrumentation, s as MessageLostContext, F as TtlExpiredContext, T as TopicMapConstraint, C as ClientId, G as GroupId, b as TopicDescriptor, v as SendOptions, M as MessageHeaders, B as BatchMessageItem, d as BatchSendOptions, z as TransactionContext, k as EventEnvelope, a as ConsumerOptions, h as ConsumerHandle, c as BatchMeta, J as WindowMeta, W as WindowConsumerOptions, t as RoutingOptions, A as TransactionalHandlerContext, r as KafkaMetrics } from './consumer.types-fFCag3VJ.js';
|
|
2
|
+
export { e as BeforeConsumeResult, f as CircuitBreakerOptions, g as CompressionType, i as ConsumerInterceptor, D as DeduplicationOptions, j as DlqReason, E as EnvelopeHeaderOptions, H as HEADER_CORRELATION_ID, l as HEADER_EVENT_ID, m as HEADER_LAMPORT_CLOCK, n as HEADER_SCHEMA_VERSION, o as HEADER_TIMESTAMP, p as HEADER_TRACEPARENT, I as InferSchema, R as RetryOptions, S as SchemaLike, u as SchemaParseContext, w as SubscribeRetryOptions, x as TTopicMessageMap, y as TopicsFrom, L as buildEnvelopeHeaders, N as decodeHeaders, O as extractEnvelope, P as getEnvelopeContext, Q as runWithEnvelopeContext, U as topic } from './consumer.types-fFCag3VJ.js';
|
|
3
|
+
import { K as KafkaTransport, I as IKafkaClient, D as DlqReplayOptions, R as ReadSnapshotOptions, t as CheckpointResult, z as RestoreCheckpointOptions, s as CheckpointRestoreResult, r as KafkaHealthResult, u as ConsumerGroupSummary, T as TopicDescription } from './client-BpFjkHhr.js';
|
|
4
|
+
export { C as CheckpointEntry, v as IKafkaAdmin, w as IKafkaConsumer, x as IKafkaLifecycle, y as IKafkaProducer, A as TopicPartitionInfo } from './client-BpFjkHhr.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Options for `KafkaClient` constructor.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const kafka = new KafkaClient(kafkaConfig, 'my-service', {
|
|
12
|
+
* transactionalId: `my-service-tx-${replicaIndex}`,
|
|
13
|
+
* lagThrottle: { maxLag: 10_000, pollIntervalMs: 3_000 },
|
|
14
|
+
* clockRecovery: { topics: ['orders.created'] },
|
|
15
|
+
* onMessageLost: (ctx) => alerting.fire('kafka.message-lost', ctx),
|
|
16
|
+
* instrumentation: [otelInstrumentation()],
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
interface KafkaClientOptions {
|
|
21
|
+
/** Auto-create topics via admin before the first `sendMessage`, `sendBatch`, or `transaction` for each topic. Useful for development — not recommended in production. */
|
|
22
|
+
autoCreateTopics?: boolean;
|
|
23
|
+
/** When `true`, string topic keys are validated against any schema previously registered via a TopicDescriptor. Default: `true`. */
|
|
24
|
+
strictSchemas?: boolean;
|
|
25
|
+
/** Custom logger. Defaults to console with `[KafkaClient:<clientId>]` prefix. */
|
|
26
|
+
logger?: KafkaLogger;
|
|
27
|
+
/** Number of partitions for auto-created topics. Default: `1`. */
|
|
28
|
+
numPartitions?: number;
|
|
29
|
+
/** Client-wide instrumentation hooks (e.g. OTel). Applied to both send and consume paths. */
|
|
30
|
+
instrumentation?: KafkaInstrumentation[];
|
|
31
|
+
/**
|
|
32
|
+
* Override the transactional producer ID used by `transaction()`.
|
|
33
|
+
* Defaults to `${clientId}-tx`.
|
|
34
|
+
*
|
|
35
|
+
* The transactional ID must be **unique per producer instance** across the
|
|
36
|
+
* entire Kafka cluster. Two `KafkaClient` instances with the same ID will
|
|
37
|
+
* cause Kafka to fence one of the producers — the fenced producer will fail
|
|
38
|
+
* on the next `transaction()` call. Set a distinct value per replica when
|
|
39
|
+
* running multiple instances of the same service.
|
|
40
|
+
*/
|
|
41
|
+
transactionalId?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Called when a message is dropped without being sent to a DLQ.
|
|
44
|
+
* Fires when the handler throws after all retries, or schema validation fails — and `dlq` is not enabled.
|
|
45
|
+
* Use this to alert, log to external systems, or trigger fallback logic.
|
|
46
|
+
*/
|
|
47
|
+
onMessageLost?: (ctx: MessageLostContext) => void | Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Called when a message is dropped due to TTL expiration (`messageTtlMs`).
|
|
50
|
+
* Fires instead of `onMessageLost` for expired messages when `dlq` is not enabled.
|
|
51
|
+
* When `dlq: true`, expired messages go to the DLQ and this callback is NOT called.
|
|
52
|
+
*
|
|
53
|
+
* **Client-wide fallback**: if `ConsumerOptions.onTtlExpired` is set on the consumer,
|
|
54
|
+
* it takes precedence over this client-level callback.
|
|
55
|
+
*/
|
|
56
|
+
onTtlExpired?: (ctx: TtlExpiredContext) => void | Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Called whenever a consumer group rebalance occurs.
|
|
59
|
+
* - `'assign'` — new partitions were granted to this instance.
|
|
60
|
+
* - `'revoke'` — partitions were taken away (e.g. another consumer joined).
|
|
61
|
+
*
|
|
62
|
+
* Applied to every consumer created by this client. If you need per-consumer
|
|
63
|
+
* rebalance handling, use separate `KafkaClient` instances.
|
|
64
|
+
*/
|
|
65
|
+
onRebalance?: (type: "assign" | "revoke", partitions: Array<{
|
|
66
|
+
topic: string;
|
|
67
|
+
partition: number;
|
|
68
|
+
}>) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Recover the Lamport clock from the last message in the given topics on `connectProducer()`.
|
|
71
|
+
*
|
|
72
|
+
* On startup the producer creates a short-lived consumer, seeks each partition to its
|
|
73
|
+
* last message (`highWatermark − 1`), reads the `x-lamport-clock` header, then
|
|
74
|
+
* initialises `_lamportClock` to the maximum value found. This guarantees monotonic
|
|
75
|
+
* clock values across restarts without an external store.
|
|
76
|
+
*
|
|
77
|
+
* Topics that do not exist or are empty are silently skipped.
|
|
78
|
+
*/
|
|
79
|
+
clockRecovery?: {
|
|
80
|
+
/** Topic names to scan for the highest Lamport clock. */
|
|
81
|
+
topics: string[];
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Delay `sendMessage` / `sendBatch` / `sendTombstone` when the observed lag of a
|
|
85
|
+
* consumer group exceeds `maxLag`. Resumes immediately when lag drops below the threshold.
|
|
86
|
+
*
|
|
87
|
+
* Lag is polled via `getConsumerLag()` every `pollIntervalMs` in the background;
|
|
88
|
+
* no admin call is made on each individual send.
|
|
89
|
+
*
|
|
90
|
+
* When `maxWaitMs` is exceeded the send is unblocked with a warning — this is
|
|
91
|
+
* best-effort throttling, not hard back-pressure.
|
|
92
|
+
*
|
|
93
|
+
* Requires `connectProducer()` to have been called to start the polling loop.
|
|
94
|
+
*/
|
|
95
|
+
lagThrottle?: {
|
|
96
|
+
/** Consumer group whose lag is monitored. Defaults to the client's default group. */
|
|
97
|
+
groupId?: string;
|
|
98
|
+
/** Lag threshold (number of messages) above which sends are delayed. */
|
|
99
|
+
maxLag: number;
|
|
100
|
+
/** How often to poll `getConsumerLag()`. Default: `5000` ms. */
|
|
101
|
+
pollIntervalMs?: number;
|
|
102
|
+
/**
|
|
103
|
+
* Maximum time (ms) a send will wait while throttled before proceeding anyway.
|
|
104
|
+
* Default: `30_000` ms.
|
|
105
|
+
*/
|
|
106
|
+
maxWaitMs?: number;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Custom transport implementation.
|
|
110
|
+
*
|
|
111
|
+
* By default `KafkaClient` uses `ConfluentTransport` which wraps
|
|
112
|
+
* `@confluentinc/kafka-javascript` (librdkafka). Inject a different
|
|
113
|
+
* `KafkaTransport` to target an alternative broker library, or to supply
|
|
114
|
+
* a deterministic fake in unit tests without mocking the confluentinc module.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* // In tests — no jest.mock() needed
|
|
119
|
+
* const kafka = new KafkaClient('svc', 'grp', [], {
|
|
120
|
+
* transport: new FakeTransport(),
|
|
121
|
+
* });
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
transport?: KafkaTransport;
|
|
125
|
+
}
|
|
3
126
|
|
|
4
127
|
/**
|
|
5
128
|
* Type-safe Kafka client.
|
|
@@ -188,4 +311,4 @@ declare class KafkaRetryExhaustedError extends KafkaProcessingError {
|
|
|
188
311
|
});
|
|
189
312
|
}
|
|
190
313
|
|
|
191
|
-
export { BatchMessageItem, BatchMeta, BatchSendOptions, CheckpointRestoreResult, CheckpointResult, ClientId, ConsumerGroupSummary, ConsumerHandle, ConsumerOptions, DlqReplayOptions, EventEnvelope, GroupId, IKafkaClient, KafkaClient, KafkaClientOptions, KafkaHealthResult, KafkaMetrics, KafkaProcessingError, KafkaRetryExhaustedError, KafkaValidationError, MessageHeaders, ReadSnapshotOptions, RestoreCheckpointOptions, RoutingOptions, SendOptions, TopicDescription, TopicDescriptor, TopicMapConstraint, TransactionContext, TransactionalHandlerContext, WindowConsumerOptions, WindowMeta };
|
|
314
|
+
export { BatchMessageItem, BatchMeta, BatchSendOptions, CheckpointRestoreResult, CheckpointResult, ClientId, ConsumerGroupSummary, ConsumerHandle, ConsumerOptions, DlqReplayOptions, EventEnvelope, GroupId, IKafkaClient, KafkaClient, type KafkaClientOptions, KafkaHealthResult, KafkaInstrumentation, KafkaLogger, KafkaMetrics, KafkaProcessingError, KafkaRetryExhaustedError, KafkaValidationError, MessageHeaders, MessageLostContext, ReadSnapshotOptions, RestoreCheckpointOptions, RoutingOptions, SendOptions, TopicDescription, TopicDescriptor, TopicMapConstraint, TransactionContext, TransactionalHandlerContext, TtlExpiredContext, WindowConsumerOptions, WindowMeta };
|
package/dist/core.js
CHANGED
|
@@ -647,8 +647,8 @@ var AdminOps = class {
|
|
|
647
647
|
return result.topics.map((t) => ({
|
|
648
648
|
name: t.name,
|
|
649
649
|
partitions: t.partitions.map((p) => ({
|
|
650
|
-
partition: p.partitionId ?? p.partition,
|
|
651
|
-
leader: p.leader,
|
|
650
|
+
partition: p.partitionId ?? p.partition ?? 0,
|
|
651
|
+
leader: p.leader ?? 0,
|
|
652
652
|
replicas: (p.replicas ?? []).map(
|
|
653
653
|
(r) => typeof r === "number" ? r : r.nodeId
|
|
654
654
|
),
|
|
@@ -1164,7 +1164,7 @@ async function replayDlqTopic(topic2, deps, options = {}) {
|
|
|
1164
1164
|
return { replayed, skipped };
|
|
1165
1165
|
}
|
|
1166
1166
|
|
|
1167
|
-
// src/client/kafka.client/infra/metrics
|
|
1167
|
+
// src/client/kafka.client/infra/metrics.manager.ts
|
|
1168
1168
|
var MetricsManager = class {
|
|
1169
1169
|
constructor(deps) {
|
|
1170
1170
|
this.deps = deps;
|
|
@@ -1257,7 +1257,7 @@ var MetricsManager = class {
|
|
|
1257
1257
|
}
|
|
1258
1258
|
};
|
|
1259
1259
|
|
|
1260
|
-
// src/client/kafka.client/infra/inflight
|
|
1260
|
+
// src/client/kafka.client/infra/inflight.tracker.ts
|
|
1261
1261
|
var InFlightTracker = class {
|
|
1262
1262
|
constructor(warn) {
|
|
1263
1263
|
this.warn = warn;
|
|
@@ -1304,7 +1304,7 @@ var InFlightTracker = class {
|
|
|
1304
1304
|
}
|
|
1305
1305
|
};
|
|
1306
1306
|
|
|
1307
|
-
// src/client/kafka.client/infra/circuit-breaker.ts
|
|
1307
|
+
// src/client/kafka.client/infra/circuit-breaker.manager.ts
|
|
1308
1308
|
var CircuitBreakerManager = class {
|
|
1309
1309
|
constructor(deps) {
|
|
1310
1310
|
this.deps = deps;
|