@ductape/sdk 0.0.4-v106 → 0.0.4-v108

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 (41) hide show
  1. package/dist/api/services/processorApi.service.d.ts +316 -0
  2. package/dist/api/services/processorApi.service.js +222 -0
  3. package/dist/api/services/processorApi.service.js.map +1 -1
  4. package/dist/api/services/productsApi.service.js +17 -2
  5. package/dist/api/services/productsApi.service.js.map +1 -1
  6. package/dist/api/urls.d.ts +16 -0
  7. package/dist/api/urls.js +20 -3
  8. package/dist/api/urls.js.map +1 -1
  9. package/dist/brokers/brokers.service.d.ts +17 -2
  10. package/dist/brokers/brokers.service.js +236 -29
  11. package/dist/brokers/brokers.service.js.map +1 -1
  12. package/dist/brokers/types/index.d.ts +249 -0
  13. package/dist/brokers/utils/providers/rabbitmq.service.js +1 -0
  14. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -1
  15. package/dist/graph/graphs.service.d.ts +1 -1
  16. package/dist/graph/graphs.service.js +37 -5
  17. package/dist/graph/graphs.service.js.map +1 -1
  18. package/dist/index.d.ts +13 -1
  19. package/dist/index.js +39 -3
  20. package/dist/index.js.map +1 -1
  21. package/dist/logs/logs.types.d.ts +2 -0
  22. package/dist/logs/logs.types.js +2 -0
  23. package/dist/logs/logs.types.js.map +1 -1
  24. package/dist/products/services/products.service.js +27 -11
  25. package/dist/products/services/products.service.js.map +1 -1
  26. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
  27. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
  28. package/dist/secrets/secrets.resolver.js +3 -0
  29. package/dist/secrets/secrets.resolver.js.map +1 -1
  30. package/dist/sessions/index.d.ts +1 -1
  31. package/dist/sessions/index.js +4 -1
  32. package/dist/sessions/index.js.map +1 -1
  33. package/dist/sessions/sessions.resolver.d.ts +31 -0
  34. package/dist/sessions/sessions.resolver.js +230 -1
  35. package/dist/sessions/sessions.resolver.js.map +1 -1
  36. package/dist/sessions/sessions.service.d.ts +15 -1
  37. package/dist/sessions/sessions.service.js +40 -1
  38. package/dist/sessions/sessions.service.js.map +1 -1
  39. package/dist/sessions/types/index.d.ts +24 -0
  40. package/dist/types/processor.types.d.ts +1 -0
  41. package/package.json +3 -1
@@ -22,6 +22,8 @@ const processorApi_service_1 = require("../api/services/processorApi.service");
22
22
  const secrets_1 = require("../secrets");
23
23
  const cache_manager_1 = require("../cache/cache.manager");
24
24
  const sessions_1 = require("../sessions");
25
+ /** Log prefix for broker operations */
26
+ const LOG_PREFIX = '[BrokersService]';
25
27
  /**
26
28
  * Error class for broker operations
27
29
  */
@@ -80,6 +82,14 @@ class BrokersService {
80
82
  this.cacheManager = null;
81
83
  /** Private keys per product for cache encryption */
82
84
  this.privateKeys = new Map();
85
+ /** Connection pool for broker services - keyed by broker type + config hash */
86
+ this.brokerServicePool = new Map();
87
+ /** Cache for initialized broker configs - keyed by "productTag:brokerTag:envSlug" */
88
+ this.initializedBrokerCache = new Map();
89
+ /** Cache for initialized products - keyed by productTag */
90
+ this.initializedProducts = new Set();
91
+ console.log(`${LOG_PREFIX} Initializing BrokersService...`);
92
+ console.log(`${LOG_PREFIX} Config: workspace_id=${config.workspace_id}, user_id=${config.user_id}, env_type=${config.env_type}, has_access_key=${!!config.access_key}, has_token=${!!config.token}`);
83
93
  this.config = config;
84
94
  this.productBuilderService = new products_service_1.default({
85
95
  workspace_id: config.workspace_id,
@@ -88,8 +98,11 @@ class BrokersService {
88
98
  token: config.token,
89
99
  env_type: config.env_type,
90
100
  redis_client: config.redis_client,
101
+ access_key: config.access_key,
91
102
  });
103
+ console.log(`${LOG_PREFIX} ProductsBuilderService initialized`);
92
104
  this.processorApiService = new processorApi_service_1.ProcessorApiService(config.env_type);
105
+ console.log(`${LOG_PREFIX} ProcessorApiService initialized`);
93
106
  // Initialize CacheManager if Redis client is provided
94
107
  if (config.redis_client) {
95
108
  this.cacheManager = new cache_manager_1.CacheManager({
@@ -100,7 +113,9 @@ class BrokersService {
100
113
  env_type: config.env_type || '',
101
114
  redis_client: config.redis_client,
102
115
  });
116
+ console.log(`${LOG_PREFIX} CacheManager initialized with Redis client`);
103
117
  }
118
+ console.log(`${LOG_PREFIX} BrokersService initialization complete`);
104
119
  }
105
120
  /**
106
121
  * Get user access credentials
@@ -114,13 +129,38 @@ class BrokersService {
114
129
  };
115
130
  }
116
131
  /**
117
- * Initialize product and get broker configuration
132
+ * Initialize product and get broker configuration (with caching)
118
133
  */
119
- async initializeBroker(productTag, envSlug, event) {
134
+ async initializeBroker(productTag, envSlug, event, message) {
135
+ var _a, _b;
120
136
  // Parse event to get broker and topic tags
121
137
  const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(event);
122
- // Initialize product
123
- await this.productBuilderService.initializeProductByTag(productTag);
138
+ // Check cache first (keyed by product:broker:env)
139
+ const cacheKey = `${productTag}:${brokerTag}:${envSlug}`;
140
+ const cached = this.initializedBrokerCache.get(cacheKey);
141
+ if (cached) {
142
+ console.log(`${LOG_PREFIX} initializeBroker() - using cached config for ${cacheKey}`);
143
+ // For cached brokers, just check if topic exists (might be new topic)
144
+ let topic = (_a = cached.broker.topics) === null || _a === void 0 ? void 0 : _a.find(t => t.tag === topicTag);
145
+ if (!topic) {
146
+ if (message) {
147
+ this.ensureTopicRegistered(brokerTag, topicTag, message);
148
+ }
149
+ topic = { tag: topicTag, name: topicTag, sample: message || {} };
150
+ }
151
+ // Determine topic URL
152
+ let topicUrl = topic.name;
153
+ if (cached.brokerEnv.type === types_1.MessageBrokerTypes.AWS_SQS) {
154
+ topicUrl = (0, broker_util_1.getSqsQueueUrl)(topic, envSlug);
155
+ }
156
+ return Object.assign(Object.assign({}, cached), { topic, topicUrl });
157
+ }
158
+ console.log(`${LOG_PREFIX} initializeBroker() - fresh initialization for ${cacheKey}`);
159
+ // Initialize product only if not already done
160
+ if (!this.initializedProducts.has(productTag)) {
161
+ await this.productBuilderService.initializeProductByTag(productTag);
162
+ this.initializedProducts.add(productTag);
163
+ }
124
164
  this.productTag = productTag;
125
165
  this.productId = this.productBuilderService.fetchProductId() || '';
126
166
  this.privateKey = this.productBuilderService.fetchPrivateKey();
@@ -129,15 +169,21 @@ class BrokersService {
129
169
  if (!broker) {
130
170
  throw new BrokerError(`Message Broker ${brokerTag} not found`, 'BROKER_NOT_FOUND');
131
171
  }
172
+ if (!broker.envs || !Array.isArray(broker.envs)) {
173
+ throw new BrokerError(`Message Broker ${brokerTag} has no environments configured`, 'BROKER_NO_ENVS');
174
+ }
132
175
  // Get environment-specific broker config
133
176
  const brokerEnv = broker.envs.find((el) => el.slug === envSlug);
134
177
  if (!brokerEnv) {
135
178
  throw new BrokerError(`Broker environment for ${envSlug} not found`, 'BROKER_ENV_NOT_FOUND');
136
179
  }
137
- // Fetch topic configuration
138
- const topic = await this.productBuilderService.fetchMessageBrokerTopic(event);
180
+ // Check if topic exists in broker's topics array
181
+ let topic = (_b = broker.topics) === null || _b === void 0 ? void 0 : _b.find(t => t.tag === topicTag);
139
182
  if (!topic) {
140
- throw new BrokerError(`Topic ${topicTag} not found in broker ${brokerTag}`, 'TOPIC_NOT_FOUND');
183
+ if (message) {
184
+ this.ensureTopicRegistered(brokerTag, topicTag, message);
185
+ }
186
+ topic = { tag: topicTag, name: topicTag, sample: message || {} };
141
187
  }
142
188
  // Resolve any secret references in broker config
143
189
  let resolvedConfig = brokerEnv.config;
@@ -148,18 +194,24 @@ class BrokersService {
148
194
  resolvedConfig = resolved.value;
149
195
  }
150
196
  else {
151
- throw new BrokerError(`Broker configuration contains secret references but secrets service is not initialized. ` +
152
- `Please ensure the Ductape client is properly initialized.`, 'SECRETS_NOT_INITIALIZED');
197
+ throw new BrokerError(`Broker configuration contains secret references but secrets service is not initialized.`, 'SECRETS_NOT_INITIALIZED');
153
198
  }
154
199
  }
155
- // Create a new brokerEnv object with resolved config
200
+ // Create resolved broker env
156
201
  const resolvedBrokerEnv = Object.assign(Object.assign({}, brokerEnv), { config: resolvedConfig });
157
202
  // Determine the topic URL/name
158
203
  let topicUrl = topic.name;
159
- // Special handling for AWS SQS which requires queue URLs
160
204
  if (brokerEnv.type === types_1.MessageBrokerTypes.AWS_SQS) {
161
205
  topicUrl = (0, broker_util_1.getSqsQueueUrl)(topic, envSlug);
162
206
  }
207
+ // Cache the result (without topic, as topics may vary per call)
208
+ this.initializedBrokerCache.set(cacheKey, {
209
+ broker,
210
+ topic, // Store last topic, but will be re-evaluated on cache hit
211
+ brokerEnv: resolvedBrokerEnv,
212
+ topicUrl,
213
+ });
214
+ console.log(`${LOG_PREFIX} initializeBroker() complete - cached for future calls`);
163
215
  return { broker, topic, brokerEnv: resolvedBrokerEnv, topicUrl };
164
216
  }
165
217
  /**
@@ -188,17 +240,58 @@ class BrokersService {
188
240
  return { expiry: cache.expiry };
189
241
  }
190
242
  /**
191
- * Get or create broker service instance
243
+ * Generate a cache key for the broker service pool
244
+ */
245
+ getBrokerPoolKey(type, config) {
246
+ var _a;
247
+ // Use type + url/host as the key (url for RabbitMQ, host for others)
248
+ const configKey = (config === null || config === void 0 ? void 0 : config.url) || (config === null || config === void 0 ? void 0 : config.host) || ((_a = config === null || config === void 0 ? void 0 : config.brokers) === null || _a === void 0 ? void 0 : _a[0]) || JSON.stringify(config);
249
+ return `${type}:${configKey}`;
250
+ }
251
+ /**
252
+ * Get or create broker service instance (with connection pooling)
192
253
  */
193
254
  async getBrokerService(type, config) {
194
255
  if ((0, broker_util_1.isBrowser)()) {
195
256
  throw new BrokerError('Broker operations are not supported in browser environment', 'BROWSER_NOT_SUPPORTED');
196
257
  }
258
+ // Check if we have a cached connection
259
+ const poolKey = this.getBrokerPoolKey(type, config);
260
+ const existingService = this.brokerServicePool.get(poolKey);
261
+ if (existingService) {
262
+ console.log(`${LOG_PREFIX} Reusing existing broker connection from pool`);
263
+ return existingService;
264
+ }
265
+ console.log(`${LOG_PREFIX} Creating new broker connection (pool key: ${poolKey.substring(0, 50)}...)`);
197
266
  const createBrokerService = await (0, broker_util_1.loadBrokerService)();
198
267
  if (!createBrokerService) {
199
268
  throw new BrokerError('Failed to load broker service', 'BROKER_SERVICE_LOAD_FAILED');
200
269
  }
201
- return createBrokerService(type, config);
270
+ const service = createBrokerService(type, config);
271
+ // Store in pool for reuse
272
+ this.brokerServicePool.set(poolKey, service);
273
+ return service;
274
+ }
275
+ /**
276
+ * Auto-register a topic in the background (fire-and-forget)
277
+ * This is intentionally lightweight - no pre-check, no post-fetch
278
+ */
279
+ ensureTopicRegistered(brokerTag, topicTag, message) {
280
+ const fullTag = `${brokerTag}:${topicTag}`;
281
+ // Fire-and-forget: don't await, let it run in background
282
+ this.productBuilderService.createMessageBrokerTopic({
283
+ tag: fullTag,
284
+ name: topicTag,
285
+ description: `Auto-registered topic for ${fullTag}`,
286
+ sample: JSON.stringify(message || {}),
287
+ idempotent: false,
288
+ }).then(() => {
289
+ console.log(`${LOG_PREFIX} ensureTopicRegistered: topic ${fullTag} registered`);
290
+ }).catch((error) => {
291
+ // Silently ignore - topic might already exist or registration failed
292
+ // Either way, the publish should proceed
293
+ console.log(`${LOG_PREFIX} ensureTopicRegistered: ${fullTag} registration skipped (${(error === null || error === void 0 ? void 0 : error.message) || 'already exists'})`);
294
+ });
202
295
  }
203
296
  /**
204
297
  * Auto-register a producer if it doesn't exist
@@ -244,21 +337,34 @@ class BrokersService {
244
337
  * Publish a message to a broker topic
245
338
  */
246
339
  async publish(options) {
247
- var _a, _b;
340
+ var _a, _b, _c, _d, _e;
248
341
  const process_id = (0, processor_utils_1.generateObjectId)();
249
342
  const start = Date.now();
250
343
  const { cache } = options;
251
344
  let sessionLogFields = {};
252
345
  let resolvedMessage = options.message;
346
+ console.log(`${LOG_PREFIX} publish() called`);
347
+ console.log(`${LOG_PREFIX} product: ${options.product}`);
348
+ console.log(`${LOG_PREFIX} env: ${options.env}`);
349
+ console.log(`${LOG_PREFIX} event: ${options.event}`);
350
+ console.log(`${LOG_PREFIX} hasSession: ${!!options.session}`);
351
+ console.log(`${LOG_PREFIX} hasCache: ${!!cache}`);
352
+ console.log(`${LOG_PREFIX} process_id: ${process_id}`);
353
+ // Parse event string early to have broker/topic tags available for error logging
354
+ const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(options.event);
355
+ console.log(`${LOG_PREFIX} Parsed -> brokerTag: ${brokerTag}, topicTag: ${topicTag}`);
253
356
  try {
254
- const { broker, topic, brokerEnv, topicUrl } = await this.initializeBroker(options.product, options.env, options.event);
255
- const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(options.event);
357
+ console.log(`${LOG_PREFIX} Calling initializeBroker...`);
358
+ const { broker, topic, brokerEnv, topicUrl } = await this.initializeBroker(options.product, options.env, options.event, options.message);
359
+ console.log(`${LOG_PREFIX} initializeBroker completed successfully`);
360
+ console.log(`${LOG_PREFIX} broker.tag: ${broker.tag}, brokerEnv.type: ${brokerEnv.type}, topicUrl: ${topicUrl}`);
256
361
  // Store private key for cache operations
257
362
  if (this.privateKey) {
258
363
  this.privateKeys.set(options.product, this.privateKey);
259
364
  }
260
365
  // Process session if provided - verify and resolve $Session{} references
261
366
  if (options.session && this.privateKey) {
367
+ console.log(`${LOG_PREFIX} Processing session...`);
262
368
  // Convert session object { tag, token } to string format "tag:token"
263
369
  const sessionToken = `${options.session.tag}:${options.session.token}`;
264
370
  const sessionResult = await (0, sessions_1.processSessionForExecution)(sessionToken, this.privateKey, { message: options.message }, options.env, {
@@ -268,18 +374,25 @@ class BrokersService {
268
374
  },
269
375
  });
270
376
  if (sessionResult.error) {
377
+ console.error(`${LOG_PREFIX} Session validation failed: ${sessionResult.error}`);
271
378
  throw new BrokerError(`Session validation failed: ${sessionResult.error}`, 'SESSION_INVALID');
272
379
  }
273
380
  sessionLogFields = sessionResult.logFields;
274
381
  resolvedMessage = sessionResult.input.message;
382
+ console.log(`${LOG_PREFIX} Session processed successfully`);
275
383
  }
276
384
  // Auto-register producer if not exists
385
+ console.log(`${LOG_PREFIX} Ensuring producer is registered...`);
277
386
  await this.ensureProducerRegistered(brokerTag, topicTag, options.producer);
387
+ console.log(`${LOG_PREFIX} Producer registration check complete`);
388
+ console.log(`${LOG_PREFIX} Initializing log service...`);
278
389
  this.initializeLogService();
279
- const baseLogs = Object.assign({ product_tag: options.product, product_id: this.productId, workspace_id: this.config.workspace_id, env: options.env, process_id, type: types_2.LogEventTypes.MESSAGEBROKER, parent_tag: brokerTag, child_tag: topicTag, data: { event: options.event } }, sessionLogFields);
390
+ const baseLogs = Object.assign({ product_tag: options.product, product_id: this.productId, workspace_id: this.config.workspace_id, env: options.env, process_id, type: types_2.LogEventTypes.PRODUCER, parent_tag: brokerTag, child_tag: topicTag, data: { event: options.event } }, sessionLogFields);
280
391
  this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Publish to broker - initiated', status: types_2.LogEventStatus.PROCESSING }));
392
+ console.log(`${LOG_PREFIX} Log entry added: initiated`);
281
393
  // Check cache for idempotency (prevent duplicate publishes with same data)
282
394
  if (cache && this.cacheManager && this.privateKey) {
395
+ console.log(`${LOG_PREFIX} Checking cache for idempotency...`);
283
396
  const cacheConfig = await this.validateCache(cache);
284
397
  const cacheOptions = {
285
398
  cache_tag: cache,
@@ -293,22 +406,58 @@ class BrokersService {
293
406
  };
294
407
  const cached = await this.cacheManager.fetch(cacheOptions);
295
408
  if (cached.hit && cached.data) {
409
+ console.log(`${LOG_PREFIX} Cache HIT - returning cached result`);
296
410
  const end = Date.now();
297
411
  this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
298
412
  end, message: `Publish to broker - cache hit (${cached.source})`, successful_execution: true, status: types_2.LogEventStatus.SUCCESS, data: { event: options.event, cache_source: cached.source } }));
299
413
  this.logService.publish();
300
414
  return cached.data;
301
415
  }
416
+ console.log(`${LOG_PREFIX} Cache MISS - proceeding with publish`);
417
+ }
418
+ // Track the message in the database BEFORE publishing so we have the message_id
419
+ let trackedMessage = null;
420
+ const producerTag = ((_a = options.producer) === null || _a === void 0 ? void 0 : _a.tag) || `producer-${brokerTag}-${topicTag}`;
421
+ try {
422
+ console.log(`${LOG_PREFIX} Tracking message in database...`);
423
+ trackedMessage = await this.processorApiService.trackBrokerMessage({
424
+ workspace_id: this.config.workspace_id,
425
+ product_id: this.productId,
426
+ product_tag: options.product,
427
+ env: options.env,
428
+ broker_tag: brokerTag,
429
+ topic_tag: topicTag,
430
+ event: options.event,
431
+ producer_tag: producerTag,
432
+ message: resolvedMessage,
433
+ private_key: this.privateKey,
434
+ process_id,
435
+ session_tag: (_b = options.session) === null || _b === void 0 ? void 0 : _b.tag,
436
+ metadata: { cache: options.cache },
437
+ }, this.getUserAccess());
438
+ console.log(`${LOG_PREFIX} Message tracked with ID: ${trackedMessage === null || trackedMessage === void 0 ? void 0 : trackedMessage.message_id}`);
439
+ }
440
+ catch (trackError) {
441
+ // Non-blocking: log error but continue with the publish
442
+ console.warn(`${LOG_PREFIX} Failed to track message (non-blocking): ${trackError}`);
302
443
  }
444
+ // Add the message_id to the message so consumers can track it
445
+ const messageWithTracking = Object.assign(Object.assign({}, resolvedMessage), { __ductape_message_id: trackedMessage === null || trackedMessage === void 0 ? void 0 : trackedMessage.message_id });
303
446
  // Get broker service and publish
447
+ console.log(`${LOG_PREFIX} Getting broker service for type: ${brokerEnv.type}`);
448
+ console.log(`${LOG_PREFIX} Broker config keys: ${Object.keys(brokerEnv.config || {}).join(', ') || 'EMPTY'}`);
449
+ console.log(`${LOG_PREFIX} Broker config.url exists: ${!!((_c = brokerEnv.config) === null || _c === void 0 ? void 0 : _c.url)}`);
304
450
  const brokerService = await this.getBrokerService(brokerEnv.type, brokerEnv.config);
305
- await brokerService.publish(topicUrl, resolvedMessage);
451
+ console.log(`${LOG_PREFIX} Publishing to topic: ${topicUrl}`);
452
+ await brokerService.publish(topicUrl, messageWithTracking);
453
+ console.log(`${LOG_PREFIX} Message published successfully`);
306
454
  const result = {
307
455
  success: true,
308
456
  process_id,
309
457
  };
310
458
  // Store in cache for idempotency
311
459
  if (cache && this.cacheManager && this.privateKey) {
460
+ console.log(`${LOG_PREFIX} Storing result in cache...`);
312
461
  const cacheConfig = await this.validateCache(cache);
313
462
  await this.cacheManager.store({
314
463
  cache_tag: cache,
@@ -320,20 +469,24 @@ class BrokersService {
320
469
  privateKey: this.privateKey,
321
470
  expiry: cacheConfig.expiry,
322
471
  }, result);
472
+ console.log(`${LOG_PREFIX} Result cached`);
323
473
  }
324
474
  const end = Date.now();
325
475
  this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
326
476
  end, message: 'Publish to broker - success', successful_execution: true, status: types_2.LogEventStatus.SUCCESS }));
327
477
  this.logService.publish();
478
+ console.log(`${LOG_PREFIX} publish() completed successfully in ${end - start}ms`);
328
479
  return result;
329
480
  }
330
481
  catch (error) {
331
482
  const end = Date.now();
483
+ console.error(`${LOG_PREFIX} publish() FAILED after ${end - start}ms`);
484
+ console.error(`${LOG_PREFIX} Error:`, error);
332
485
  this.initializeLogService();
333
- (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign({ product_tag: options.product, workspace_id: this.config.workspace_id, env: options.env, process_id,
486
+ (_d = this.logService) === null || _d === void 0 ? void 0 : _d.add(Object.assign({ product_tag: options.product, workspace_id: this.config.workspace_id, env: options.env, process_id,
334
487
  start,
335
- end, type: types_2.LogEventTypes.MESSAGEBROKER, message: 'Publish to broker - failed', failed_execution: true, data: { event: options.event, error: String(error) }, status: types_2.LogEventStatus.FAIL }, sessionLogFields));
336
- await ((_b = this.logService) === null || _b === void 0 ? void 0 : _b.publish());
488
+ end, type: types_2.LogEventTypes.PRODUCER, parent_tag: brokerTag, child_tag: topicTag, message: 'Publish to broker - failed', failed_execution: true, data: { event: options.event, error: String(error) }, status: types_2.LogEventStatus.FAIL }, sessionLogFields));
489
+ await ((_e = this.logService) === null || _e === void 0 ? void 0 : _e.publish());
337
490
  if (error instanceof BrokerError) {
338
491
  throw error;
339
492
  }
@@ -344,11 +497,12 @@ class BrokersService {
344
497
  * Subscribe to a broker topic
345
498
  */
346
499
  async subscribe(options) {
347
- var _a, _b;
500
+ var _a, _b, _c;
348
501
  const process_id = (0, processor_utils_1.generateObjectId)();
349
502
  const start = Date.now();
350
503
  try {
351
- const { broker, topic, brokerEnv, topicUrl } = await this.initializeBroker(options.product, options.env, options.event);
504
+ // For subscribe, we don't auto-register topics - they should already exist
505
+ const { broker, topic, brokerEnv, topicUrl } = await this.initializeBroker(options.product, options.env, options.event, undefined);
352
506
  const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(options.event);
353
507
  // Auto-register consumer if not exists
354
508
  await this.ensureConsumerRegistered(brokerTag, topicTag, options.consumer);
@@ -359,15 +513,68 @@ class BrokersService {
359
513
  workspace_id: this.config.workspace_id,
360
514
  env: options.env,
361
515
  process_id,
362
- type: types_2.LogEventTypes.MESSAGEBROKER,
516
+ type: types_2.LogEventTypes.CONSUMER,
363
517
  parent_tag: brokerTag,
364
518
  child_tag: topicTag,
365
519
  data: { event: options.event },
366
520
  };
367
521
  this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Subscribe to broker - initiated', status: types_2.LogEventStatus.PROCESSING }));
368
- // Get broker service and subscribe
522
+ // Get broker service and subscribe with message tracking wrapper
369
523
  const brokerService = await this.getBrokerService(brokerEnv.type, brokerEnv.config);
370
- await brokerService.subscribe(topicUrl, options.callback);
524
+ const consumerTag = ((_a = options.consumer) === null || _a === void 0 ? void 0 : _a.tag) || `consumer-${brokerTag}-${topicTag}`;
525
+ // Wrap the callback to track message consumption
526
+ const wrappedCallback = async (message) => {
527
+ const messageStart = Date.now();
528
+ let messageId;
529
+ // Try to extract message_id if it was included by the producer
530
+ const msgWithId = message;
531
+ messageId = msgWithId.__ductape_message_id;
532
+ // If we have a message ID, register this consumer for tracking
533
+ if (messageId) {
534
+ try {
535
+ await this.processorApiService.registerBrokerConsumer({ message_id: messageId, consumer_tag: consumerTag }, this.getUserAccess());
536
+ }
537
+ catch (regError) {
538
+ console.warn(`${LOG_PREFIX} Failed to register consumer (non-blocking): ${regError}`);
539
+ }
540
+ }
541
+ try {
542
+ // Call the original callback
543
+ await options.callback(message);
544
+ // Report success if we have a message ID
545
+ if (messageId) {
546
+ try {
547
+ await this.processorApiService.updateBrokerConsumerStatus({
548
+ message_id: messageId,
549
+ consumer_tag: consumerTag,
550
+ status: 'success',
551
+ }, this.getUserAccess());
552
+ }
553
+ catch (updateError) {
554
+ console.warn(`${LOG_PREFIX} Failed to update consumer status (non-blocking): ${updateError}`);
555
+ }
556
+ }
557
+ }
558
+ catch (callbackError) {
559
+ // Report failure if we have a message ID
560
+ if (messageId) {
561
+ try {
562
+ await this.processorApiService.updateBrokerConsumerStatus({
563
+ message_id: messageId,
564
+ consumer_tag: consumerTag,
565
+ status: 'failed',
566
+ error: String(callbackError),
567
+ }, this.getUserAccess());
568
+ }
569
+ catch (updateError) {
570
+ console.warn(`${LOG_PREFIX} Failed to update consumer status (non-blocking): ${updateError}`);
571
+ }
572
+ }
573
+ // Re-throw the original error
574
+ throw callbackError;
575
+ }
576
+ };
577
+ await brokerService.subscribe(topicUrl, wrappedCallback);
371
578
  const end = Date.now();
372
579
  this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
373
580
  end, message: 'Subscribe to broker - success', successful_execution: true, status: types_2.LogEventStatus.SUCCESS }));
@@ -380,20 +587,20 @@ class BrokersService {
380
587
  catch (error) {
381
588
  const end = Date.now();
382
589
  this.initializeLogService();
383
- (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add({
590
+ (_b = this.logService) === null || _b === void 0 ? void 0 : _b.add({
384
591
  product_tag: options.product,
385
592
  workspace_id: this.config.workspace_id,
386
593
  env: options.env,
387
594
  process_id,
388
595
  start,
389
596
  end,
390
- type: types_2.LogEventTypes.MESSAGEBROKER,
597
+ type: types_2.LogEventTypes.CONSUMER,
391
598
  message: 'Subscribe to broker - failed',
392
599
  failed_execution: true,
393
600
  data: { event: options.event, error: String(error) },
394
601
  status: types_2.LogEventStatus.FAIL,
395
602
  });
396
- await ((_b = this.logService) === null || _b === void 0 ? void 0 : _b.publish());
603
+ await ((_c = this.logService) === null || _c === void 0 ? void 0 : _c.publish());
397
604
  if (error instanceof BrokerError) {
398
605
  throw error;
399
606
  }
@@ -1 +1 @@
1
- {"version":3,"file":"brokers.service.js","sourceRoot":"","sources":["../../src/brokers/brokers.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brokers.service.js","sourceRoot":"","sources":["../../src/brokers/brokers.service.ts"],"names":[],"mappings":"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"}