n8n-nodes-base 2.7.0 → 2.7.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.
@@ -1 +1 @@
1
- {"version":3,"file":"KafkaTrigger.node.d.ts","sourceRoot":"","sources":["../../../nodes/Kafka/KafkaTrigger.node.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACX,iBAAiB,EAEjB,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAIhB,MAAM,cAAc,CAAC;AA6BtB,qBAAa,YAAa,YAAW,SAAS;IAC7C,WAAW,EAAE,oBAAoB,CAuN/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAgRjE"}
1
+ {"version":3,"file":"KafkaTrigger.node.d.ts","sourceRoot":"","sources":["../../../nodes/Kafka/KafkaTrigger.node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,cAAc,CAAC;AAqBtB,qBAAa,YAAa,YAAW,SAAS;IAC7C,WAAW,EAAE,oBAAoB,CA6V/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAoIjE"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KafkaTrigger = void 0;
4
- const confluent_schema_registry_1 = require("@kafkajs/confluent-schema-registry");
5
4
  const kafkajs_1 = require("kafkajs");
6
5
  const n8n_workflow_1 = require("n8n-workflow");
6
+ const utils_1 = require("./utils");
7
7
  class KafkaTrigger {
8
8
  description = {
9
9
  displayName: 'Kafka Trigger',
10
10
  name: 'kafkaTrigger',
11
11
  icon: { light: 'file:kafka.svg', dark: 'file:kafka.dark.svg' },
12
12
  group: ['trigger'],
13
- version: [1, 1.1, 1.2],
13
+ version: [1, 1.1, 1.2, 1.3],
14
14
  description: 'Consume messages from a Kafka topic',
15
15
  defaults: {
16
16
  name: 'Kafka Trigger',
@@ -42,6 +42,86 @@ class KafkaTrigger {
42
42
  placeholder: 'n8n-kafka',
43
43
  description: 'ID of the consumer group',
44
44
  },
45
+ {
46
+ displayName: 'Resolve Offset',
47
+ name: 'resolveOffset',
48
+ type: 'options',
49
+ default: 'onCompletion',
50
+ description: 'Select on which condition the offsets should be resolved. In the manual mode, when execution started by clicking on Execute Workflow or Execute Step button, offsets are always resolved immediately after message received.',
51
+ options: [
52
+ {
53
+ name: 'On Execution Completion',
54
+ value: 'onCompletion',
55
+ description: 'Resolve offset after execution completion regardless of the status',
56
+ },
57
+ {
58
+ name: 'On Execution Success',
59
+ value: 'onSuccess',
60
+ description: 'Resolve offset only if execution status equals success',
61
+ },
62
+ {
63
+ name: 'On Allowed Execution Statuses',
64
+ value: 'onStatus',
65
+ description: 'Resolve offset only if execution status in the list of selected statuses',
66
+ },
67
+ {
68
+ name: 'Immediately',
69
+ value: 'immediately',
70
+ description: 'Resolve offset immediately after message received. This option is not recommended as it can cause messages loss.',
71
+ },
72
+ ],
73
+ displayOptions: {
74
+ show: {
75
+ '@version': [{ _cnd: { gte: 1.3 } }],
76
+ },
77
+ },
78
+ },
79
+ {
80
+ displayName: 'Allowed Statuses',
81
+ name: 'allowedStatuses',
82
+ type: 'multiOptions',
83
+ default: ['success'],
84
+ options: [
85
+ {
86
+ name: 'Canceled',
87
+ value: 'canceled',
88
+ },
89
+ {
90
+ name: 'Crashed',
91
+ value: 'crashed',
92
+ },
93
+ {
94
+ name: 'Error',
95
+ value: 'error',
96
+ },
97
+ {
98
+ name: 'New',
99
+ value: 'new',
100
+ },
101
+ {
102
+ name: 'Running',
103
+ value: 'running',
104
+ },
105
+ {
106
+ name: 'Success',
107
+ value: 'success',
108
+ },
109
+ {
110
+ name: 'Unknown',
111
+ value: 'unknown',
112
+ },
113
+ {
114
+ name: 'Waiting',
115
+ value: 'waiting',
116
+ },
117
+ ],
118
+ displayOptions: {
119
+ show: {
120
+ '@version': [{ _cnd: { gte: 1.3 } }],
121
+ resolveOffset: ['onStatus'],
122
+ },
123
+ },
124
+ },
45
125
  {
46
126
  displayName: 'Use Schema Registry',
47
127
  name: 'useSchemaRegistry',
@@ -99,6 +179,18 @@ class KafkaTrigger {
99
179
  default: 1,
100
180
  description: 'Number of messages to process in each batch, when set to 1, message-by-message processing is enabled',
101
181
  },
182
+ {
183
+ displayName: 'Each Batch Auto Resolve',
184
+ name: 'eachBatchAutoResolve',
185
+ type: 'boolean',
186
+ default: false,
187
+ description: 'Whether to auto resolve offsets for each batch',
188
+ displayOptions: {
189
+ show: {
190
+ '@version': [{ _cnd: { gte: 1.3 } }],
191
+ },
192
+ },
193
+ },
102
194
  {
103
195
  displayName: 'Fetch Max Bytes',
104
196
  name: 'fetchMaxBytes',
@@ -113,6 +205,19 @@ class KafkaTrigger {
113
205
  default: 1,
114
206
  description: 'Minimum amount of data the server should return for a fetch request. In bytes. Server will wait up to fetchMaxWaitTime for this amount to accumulate.',
115
207
  },
208
+ {
209
+ displayName: 'Heartbeat Interval',
210
+ name: 'heartbeatInterval',
211
+ type: 'number',
212
+ default: 10000,
213
+ description: 'Controls how often the consumer sends heartbeats to the broker to indicate it is still alive. Must be lower than Session Timeout. Recommended value is approximately one third of the Session Timeout (for example: 10s heartbeat with 30s session timeout).',
214
+ hint: 'Value in milliseconds',
215
+ displayOptions: {
216
+ show: {
217
+ '@version': [{ _cnd: { gte: 1.3 } }],
218
+ },
219
+ },
220
+ },
116
221
  {
117
222
  displayName: 'Heartbeat Interval',
118
223
  name: 'heartbeatInterval',
@@ -120,6 +225,11 @@ class KafkaTrigger {
120
225
  default: 3000,
121
226
  description: "Heartbeats are used to ensure that the consumer's session stays active",
122
227
  hint: 'The value must be set lower than Session Timeout',
228
+ displayOptions: {
229
+ hide: {
230
+ '@version': [{ _cnd: { gte: 1.3 } }],
231
+ },
232
+ },
123
233
  },
124
234
  {
125
235
  displayName: 'Max Number of Requests',
@@ -143,13 +253,13 @@ class KafkaTrigger {
143
253
  description: 'Whether to try to parse the message to an object',
144
254
  },
145
255
  {
146
- displayName: 'Keep Binary Data',
256
+ displayName: 'Keep Message as Binary Data',
147
257
  name: 'keepBinaryData',
148
258
  type: 'boolean',
149
259
  default: false,
150
260
  displayOptions: {
151
261
  show: {
152
- '@version': [1.2],
262
+ '@version': [{ _cnd: { gte: 1.2 } }],
153
263
  },
154
264
  },
155
265
  description: 'Whether to keep message value as binary data for downstream processing (e.g., Avro deserialization)',
@@ -159,12 +269,12 @@ class KafkaTrigger {
159
269
  name: 'parallelProcessing',
160
270
  type: 'boolean',
161
271
  default: true,
272
+ description: 'Whether to process messages in parallel resolving offsets independently or in order resolving offsets after execution completion. In the manual mode, when execution started by clicking on Execute Workflow or Execute Step button, messages are processed in parallel resolving offsets immediately.',
162
273
  displayOptions: {
163
- hide: {
164
- '@version': [1],
274
+ show: {
275
+ '@version': [1.1, 1.2],
165
276
  },
166
277
  },
167
- description: 'Whether to process messages in parallel or by keeping the message in order',
168
278
  },
169
279
  {
170
280
  displayName: 'Partitions Consumed Concurrently',
@@ -200,12 +310,31 @@ class KafkaTrigger {
200
310
  default: 600000,
201
311
  description: 'The maximum time allowed for a consumer to join the group',
202
312
  },
313
+ {
314
+ displayName: 'Retry Delay on Error',
315
+ name: 'errorRetryDelay',
316
+ type: 'number',
317
+ default: 5000,
318
+ description: 'Delay in milliseconds before retrying after a failed offset resolution. This prevents rapid retry loops that could overwhelm the Kafka broker.',
319
+ hint: 'Value in milliseconds',
320
+ typeOptions: {
321
+ minValue: 1000,
322
+ },
323
+ displayOptions: {
324
+ show: {
325
+ '@version': [{ _cnd: { gte: 1.3 } }],
326
+ },
327
+ hide: {
328
+ '/resolveOffset': ['immediately'],
329
+ },
330
+ },
331
+ },
203
332
  {
204
333
  displayName: 'Session Timeout',
205
334
  name: 'sessionTimeout',
206
335
  type: 'number',
207
336
  default: 30000,
208
- description: 'The time to await a response in ms',
337
+ description: 'Timeout in milliseconds used to detect failures. Has to be higher than Heartbeat Interval. During the workflow execution heartbeat will be sent periodically to keep the session alive with configured Heartbeat Interval.',
209
338
  hint: 'Value in milliseconds',
210
339
  },
211
340
  ],
@@ -213,199 +342,81 @@ class KafkaTrigger {
213
342
  ],
214
343
  };
215
344
  async trigger() {
216
- const topic = this.getNodeParameter('topic');
217
- const groupId = this.getNodeParameter('groupId');
218
- const credentials = await this.getCredentials('kafka');
219
- const brokers = (credentials.brokers ?? '').split(',').map((item) => item.trim());
220
- const clientId = credentials.clientId;
221
- const ssl = credentials.ssl;
222
- const options = this.getNodeParameter('options', {});
223
345
  const nodeVersion = this.getNode().typeVersion;
224
- options.nodeVersion = nodeVersion;
225
- const config = {
226
- clientId,
227
- brokers,
228
- ssl,
229
- logLevel: kafkajs_1.logLevel.ERROR,
230
- };
231
- if (credentials.authentication === true) {
232
- if (!(credentials.username && credentials.password)) {
233
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Username and password are required for authentication');
234
- }
235
- config.sasl = {
236
- username: credentials.username,
237
- password: credentials.password,
238
- mechanism: credentials.saslMechanism,
239
- };
240
- }
241
- const maxInFlightRequests = (this.getNodeParameter('options.maxInFlightRequests', null) === 0
242
- ? null
243
- : this.getNodeParameter('options.maxInFlightRequests', null));
244
- const parallelProcessing = options.parallelProcessing;
245
- const batchSize = options.batchSize ?? 1;
246
- const partitionsConsumedConcurrently = options.partitionsConsumedConcurrently || undefined;
247
- const sessionTimeout = options.sessionTimeout ?? 30000;
248
- const heartbeatInterval = options.heartbeatInterval ?? 3000;
249
- const rebalanceTimeout = options.rebalanceTimeout ?? 600000;
250
- const maxBytesPerPartition = options.fetchMaxBytes;
251
- const minBytes = options.fetchMinBytes;
252
- const useSchemaRegistry = this.getNodeParameter('useSchemaRegistry', 0);
253
- const schemaRegistryUrl = this.getNodeParameter('schemaRegistryUrl', 0);
346
+ const config = await (0, utils_1.createConfig)(this);
254
347
  const kafka = new kafkajs_1.Kafka(config);
255
- const consumerConfig = {
256
- groupId,
257
- maxInFlightRequests,
258
- sessionTimeout,
259
- heartbeatInterval,
260
- rebalanceTimeout,
261
- };
262
- if (maxBytesPerPartition !== undefined) {
263
- consumerConfig.maxBytesPerPartition = maxBytesPerPartition;
264
- }
265
- if (minBytes !== undefined) {
266
- consumerConfig.minBytes = minBytes;
348
+ const registry = (0, utils_1.setSchemaRegistry)(this);
349
+ const options = this.getNodeParameter('options', {});
350
+ if (options.keepBinaryData && nodeVersion < 1.2) {
351
+ options.keepBinaryData = undefined;
267
352
  }
353
+ const consumerConfig = (0, utils_1.createConsumerConfig)(this, options, nodeVersion);
268
354
  const consumer = kafka.consumer(consumerConfig);
269
- const processMessage = async (message, messageTopic) => {
270
- let data = {};
271
- let value = message.value?.toString();
272
- const binary = {};
273
- if (options.jsonParseMessage) {
274
- try {
275
- value = (0, n8n_workflow_1.jsonParse)(value);
276
- }
277
- catch (error) {
278
- this.logger.warn('Could not parse message to JSON, returning as string', { error });
279
- }
280
- }
281
- if (useSchemaRegistry) {
282
- try {
283
- const registry = new confluent_schema_registry_1.SchemaRegistry({ host: schemaRegistryUrl });
284
- value = await registry.decode(message.value);
285
- }
286
- catch (error) {
287
- this.logger.warn('Could not decode message with Schema Registry, returning original message', { error });
288
- }
289
- }
290
- // Preserve raw binary data for downstream processing (only in v1.2+)
291
- if (nodeVersion >= 1.2 && options.keepBinaryData && message.value) {
292
- const binaryData = await this.helpers.prepareBinaryData(message.value, 'message', 'application/octet-stream');
293
- binary.data = binaryData;
294
- }
295
- if (options.returnHeaders && message.headers) {
296
- data.headers = Object.fromEntries(Object.entries(message.headers).map(([headerKey, headerValue]) => [
297
- headerKey,
298
- headerValue?.toString('utf8') ?? '',
299
- ]));
300
- }
301
- data.message = value;
302
- data.topic = messageTopic;
303
- if (options.onlyMessage) {
304
- data = value;
305
- }
306
- // Return with binary data if present (only in v1.2+)
307
- if (nodeVersion >= 1.2 && options.keepBinaryData && Object.keys(binary).length > 0) {
308
- return { json: data, binary };
309
- }
310
- return { json: data };
311
- };
312
- const emitData = async (dataArray) => {
313
- if (!parallelProcessing && options.nodeVersion > 1) {
314
- const responsePromise = this.helpers.createDeferredPromise();
315
- this.emit([dataArray], undefined, responsePromise);
316
- await responsePromise.promise;
317
- }
318
- else {
319
- this.emit([dataArray]);
320
- }
321
- };
355
+ const processMessage = (0, utils_1.configureMessageParser)(options, this.logger, registry, this.helpers.prepareBinaryData);
356
+ const topic = this.getNodeParameter('topic');
357
+ const batchSize = options.batchSize ?? 1;
358
+ const partitionsConsumedConcurrently = options.partitionsConsumedConcurrently || undefined;
359
+ const dataEmitter = (0, utils_1.configureDataEmitter)(this, options, nodeVersion);
322
360
  const startConsumer = async () => {
323
361
  try {
324
362
  await consumer.connect();
325
363
  await consumer.subscribe({ topic, fromBeginning: options.fromBeginning ? true : false });
326
- const useBatchProcessing = batchSize > 1;
327
- if (useBatchProcessing) {
328
- await consumer.run({
329
- autoCommitInterval: options.autoCommitInterval || null,
330
- autoCommitThreshold: options.autoCommitThreshold || null,
331
- partitionsConsumedConcurrently,
332
- eachBatch: async ({ batch, resolveOffset, heartbeat }) => {
333
- const messages = batch.messages;
334
- const messageTopic = batch.topic;
335
- for (let i = 0; i < messages.length; i += batchSize) {
336
- const chunk = messages.slice(i, Math.min(i + batchSize, messages.length));
337
- const processedData = await Promise.all(chunk.map(async (message) => await processMessage(message, messageTopic)));
338
- await emitData(processedData);
339
- const lastMessage = chunk[chunk.length - 1];
340
- if (lastMessage) {
341
- resolveOffset(lastMessage.offset);
342
- }
364
+ await consumer.run({
365
+ partitionsConsumedConcurrently,
366
+ ...(0, utils_1.getAutoCommitSettings)(options),
367
+ eachBatch: async ({ batch, resolveOffset, heartbeat, isStale, isRunning, commitOffsetsIfNecessary, }) => {
368
+ // avoid throwing error in the callback, as it leads to consumer stop, disconnect and crash
369
+ const messages = batch.messages;
370
+ const messageTopic = batch.topic;
371
+ for (let i = 0; i < messages.length; i += batchSize) {
372
+ // stop if consumer stopped or partition revoked
373
+ if (!isRunning() || isStale()) {
374
+ this.logger.debug('Batch processing interrupted due to rebalance or consumer stop');
375
+ break;
376
+ }
377
+ const chunk = messages.slice(i, Math.min(i + batchSize, messages.length));
378
+ let processedData;
379
+ try {
380
+ processedData = await Promise.all(chunk.map(async (message) => await processMessage(message, messageTopic)));
381
+ }
382
+ catch (err) {
383
+ this.logger.error('Chunk processing failed, skipping commit for this chunk', err);
343
384
  await heartbeat();
385
+ break;
344
386
  }
345
- },
346
- });
347
- }
348
- else {
349
- await consumer.run({
350
- autoCommitInterval: options.autoCommitInterval || null,
351
- autoCommitThreshold: options.autoCommitThreshold || null,
352
- partitionsConsumedConcurrently,
353
- eachMessage: async ({ topic: messageTopic, message }) => {
354
- const data = await processMessage(message, messageTopic);
355
- await emitData([data]);
356
- },
357
- });
358
- }
387
+ const result = await (0, utils_1.runWithHeartbeat)(dataEmitter(processedData), heartbeat, consumerConfig.heartbeatInterval);
388
+ if (!result.success) {
389
+ this.logger.warn('runWithHeartbeat failed, skipping commit for this chunk');
390
+ await heartbeat();
391
+ break;
392
+ }
393
+ const lastMessage = chunk[chunk.length - 1];
394
+ if (lastMessage) {
395
+ resolveOffset(lastMessage.offset);
396
+ await commitOffsetsIfNecessary();
397
+ }
398
+ await heartbeat();
399
+ }
400
+ },
401
+ });
359
402
  }
360
403
  catch (error) {
361
404
  this.logger.error('Failed to start Kafka consumer', { error });
362
405
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), error);
363
406
  }
364
407
  };
365
- const onConnected = consumer.on(consumer.events.CONNECT, () => {
366
- this.logger.debug('Kafka consumer connected');
367
- });
368
- const onGroupJoin = consumer.on(consumer.events.GROUP_JOIN, () => {
369
- this.logger.debug('Consumer has joined the group');
370
- });
371
- const onRequestTimeout = consumer.on(consumer.events.REQUEST_TIMEOUT, () => {
372
- this.logger.error('Consumer request timed out');
373
- });
374
- const onUnsubscribedtopicsReceived = consumer.on(consumer.events.RECEIVED_UNSUBSCRIBED_TOPICS, () => {
375
- this.logger.warn('Consumer received messages for unsubscribed topics');
376
- });
377
- const onStop = consumer.on(consumer.events.STOP, async (error) => {
378
- this.logger.error('Consumer has stopped', { error });
379
- });
380
- const onDisconnect = consumer.on(consumer.events.DISCONNECT, async (error) => {
381
- this.logger.error('Consumer has disconnected', { error });
382
- });
383
- const onCommitOffsets = consumer.on(consumer.events.COMMIT_OFFSETS, () => {
384
- this.logger.debug('Consumer offsets committed!');
385
- });
386
- const onRebalancing = consumer.on(consumer.events.REBALANCING, (payload) => {
387
- this.logger.debug('Consumer is rebalancing', { payload });
388
- });
389
- const onCrash = consumer.on(consumer.events.CRASH, async (error) => {
390
- this.logger.error('Consumer has crashed', { error });
391
- });
408
+ const listeners = (0, utils_1.connectEventListeners)(consumer, this.logger);
392
409
  const closeFunction = async () => {
393
410
  try {
394
- // Clean up listeners
395
- onConnected();
396
- onGroupJoin();
397
- onRequestTimeout();
398
- onUnsubscribedtopicsReceived();
399
- onStop();
400
- onDisconnect();
401
- onCommitOffsets();
402
- onRebalancing();
403
- onCrash();
411
+ (0, utils_1.disconnectEventListeners)(listeners);
404
412
  await consumer.stop();
405
413
  await consumer.disconnect();
406
414
  }
407
415
  catch (error) {
408
- throw new n8n_workflow_1.TriggerCloseError(this.getNode(), { cause: error, level: 'warning' });
416
+ throw new n8n_workflow_1.TriggerCloseError(this.getNode(), {
417
+ cause: (0, n8n_workflow_1.ensureError)(error),
418
+ level: 'warning',
419
+ });
409
420
  }
410
421
  };
411
422
  if (this.getMode() !== 'manual') {
@@ -1 +1 @@
1
- {"version":3,"file":"KafkaTrigger.node.js","sourceRoot":"","sources":["../../../nodes/Kafka/KafkaTrigger.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KafkaTrigger.node.js","sourceRoot":"","sources":["../../../nodes/Kafka/KafkaTrigger.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import type { Consumer, RemoveInstrumentationEventListener, KafkaMessage, KafkaConfig, ConsumerConfig } from 'kafkajs';
2
+ import { SchemaRegistry } from '@kafkajs/confluent-schema-registry';
3
+ import type { Logger, ITriggerFunctions, INodeExecutionData } from 'n8n-workflow';
4
+ export interface KafkaTriggerOptions {
5
+ allowAutoTopicCreation?: boolean;
6
+ autoCommitThreshold?: number;
7
+ autoCommitInterval?: number;
8
+ batchSize?: number;
9
+ eachBatchAutoResolve?: boolean;
10
+ errorRetryDelay?: number;
11
+ fetchMaxBytes?: number;
12
+ fetchMinBytes?: number;
13
+ heartbeatInterval?: number;
14
+ maxInFlightRequests?: number;
15
+ fromBeginning?: boolean;
16
+ jsonParseMessage?: boolean;
17
+ keepBinaryData?: boolean;
18
+ parallelProcessing?: boolean;
19
+ partitionsConsumedConcurrently?: number;
20
+ onlyMessage?: boolean;
21
+ returnHeaders?: boolean;
22
+ rebalanceTimeout?: number;
23
+ sessionTimeout?: number;
24
+ }
25
+ /**
26
+ * Creates Kafka client configuration from n8n credentials
27
+ * @param ctx - The trigger function context
28
+ * @returns Kafka configuration object with authentication settings
29
+ */
30
+ export declare function createConfig(ctx: ITriggerFunctions): Promise<KafkaConfig>;
31
+ /**
32
+ * Creates Kafka consumer configuration with session timeout and heartbeat settings
33
+ * @param ctx - The trigger function context
34
+ * @param options - Kafka trigger options from node parameters
35
+ * @param nodeVersion - The version of the Kafka trigger node
36
+ * @returns Consumer configuration object
37
+ */
38
+ export declare function createConsumerConfig(ctx: ITriggerFunctions, options: KafkaTriggerOptions, nodeVersion: number): ConsumerConfig;
39
+ /**
40
+ * Configures a message parser function that processes Kafka messages based on node options
41
+ * @param options - Kafka trigger options for parsing behavior
42
+ * @param logger - Logger instance for warnings
43
+ * @param registry - Optional schema registry for message decoding
44
+ * @param prepareBinaryData - Helper function to prepare binary data
45
+ * @returns Async function that parses Kafka messages into n8n execution data
46
+ */
47
+ export declare function configureMessageParser(options: KafkaTriggerOptions, logger: Logger, registry: SchemaRegistry | undefined, prepareBinaryData: ITriggerFunctions['helpers']['prepareBinaryData']): (message: KafkaMessage, messageTopic: string) => Promise<INodeExecutionData>;
48
+ /**
49
+ * Attaches event listeners to the Kafka consumer for monitoring and logging
50
+ * @param consumer - The Kafka consumer instance
51
+ * @param logger - Logger instance for event logging
52
+ * @returns Array of listener removal functions
53
+ */
54
+ export declare function connectEventListeners(consumer: Consumer, logger: Logger): RemoveInstrumentationEventListener<"consumer.connect">[];
55
+ /**
56
+ * Removes all event listeners from the Kafka consumer
57
+ * @param listeners - Array of listener removal functions
58
+ */
59
+ export declare function disconnectEventListeners(listeners: Array<RemoveInstrumentationEventListener<'consumer.connect'>>): void;
60
+ /**
61
+ * Initializes Confluent Schema Registry if enabled in node parameters
62
+ * @param ctx - The trigger function context
63
+ * @returns Schema registry instance or undefined if not configured
64
+ */
65
+ export declare function setSchemaRegistry(ctx: ITriggerFunctions): SchemaRegistry | undefined;
66
+ /**
67
+ * Configures a data emitter function that handles workflow execution and offset resolution
68
+ * @param ctx - The trigger function context
69
+ * @param options - Kafka trigger options
70
+ * @param nodeVersion - The version of the Kafka trigger node
71
+ * @returns Async function that emits data and waits for execution completion based on resolve mode
72
+ */
73
+ export declare function configureDataEmitter(ctx: ITriggerFunctions, options: KafkaTriggerOptions, nodeVersion: number): (dataArray: INodeExecutionData[]) => Promise<{
74
+ success: boolean;
75
+ }>;
76
+ /**
77
+ * Determines auto-commit settings based on node's optons
78
+ * @param options - Kafka trigger options
79
+ * @returns Object with auto-commit configuration
80
+ */
81
+ export declare function getAutoCommitSettings(options: KafkaTriggerOptions): {
82
+ autoCommit: boolean;
83
+ eachBatchAutoResolve: boolean;
84
+ autoCommitInterval: number | undefined;
85
+ autoCommitThreshold: number | undefined;
86
+ };
87
+ /**
88
+ * Runs a task while periodically invoking a heartbeat function
89
+ * at specified intervals to prevent session timeout
90
+ * @param task - The promise to execute
91
+ * @param heartbeat - The heartbeat function to call periodically
92
+ * @param intervalMs - The interval in milliseconds between heartbeat calls (default: 3000)
93
+ * @returns The result of the task promise
94
+ */
95
+ export declare function runWithHeartbeat<T>(task: Promise<T>, heartbeat: () => Promise<void>, intervalMs?: number): Promise<T>;
96
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../nodes/Kafka/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,QAAQ,EACR,kCAAkC,EAClC,YAAY,EACZ,WAAW,EAEX,cAAc,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EACX,MAAM,EACN,iBAAiB,EAIjB,kBAAkB,EAClB,MAAM,cAAc,CAAC;AAQtB,MAAM,WAAW,mBAAmB;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,iBAAiB,wBA4BxD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,kBAsCnB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,IAEtD,SAAS,YAAY,EAAE,cAAc,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC,CAuDvF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,4DA2CvE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,SAAS,EAAE,KAAK,CAAC,kCAAkC,CAAC,kBAAkB,CAAC,CAAC,QAGxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,8BAavD;AAuBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,eAMO,kBAAkB,EAAE;;GA6D9C;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB;;;;;EAYjE;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACvC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC9B,UAAU,SAAO,cAejB"}