@naylence/runtime 0.3.6-test.107 → 0.3.6-test.108

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.
@@ -98,12 +98,12 @@ installProcessEnvShim();
98
98
  // --- END ENV SHIM ---
99
99
 
100
100
  // This file is auto-generated during build - do not edit manually
101
- // Generated from package.json version: 0.3.6-test.107
101
+ // Generated from package.json version: 0.3.6-test.108
102
102
  /**
103
103
  * The package version, injected at build time.
104
104
  * @internal
105
105
  */
106
- const VERSION = '0.3.6-test.107';
106
+ const VERSION = '0.3.6-test.108';
107
107
 
108
108
  /**
109
109
  * Fame protocol specific error classes with WebSocket close codes and proper inheritance.
@@ -7175,9 +7175,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7175
7175
  this.ackDoneSince = new Map();
7176
7176
  this.replyDoneSince = new Map();
7177
7177
  this.pendingAckDispatches = new Set();
7178
- this.recentlyHandled = new Map();
7179
- this.recentlyHandledOrder = [];
7180
- this.recentlyHandledTtlMs = 60000;
7181
7178
  this.isPreparingToStop = false;
7182
7179
  this.shutdownRequestedAtMs = null;
7183
7180
  this.shutdownRetryGraceMs = 1000;
@@ -7399,22 +7396,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7399
7396
  }
7400
7397
  }
7401
7398
  else {
7402
- const wasRecentlyHandled = await this.lock.runExclusive(async () => this.wasRecentlyHandled(envelope.id));
7403
- if (wasRecentlyHandled) {
7404
- logger$12.debug('tracker_duplicate_envelope_recently_handled', {
7405
- envp_id: envelope.id,
7406
- });
7407
- return new TrackedEnvelope({
7408
- timeoutAtMs: 0,
7409
- overallTimeoutAtMs: 0,
7410
- expectedResponseType: envelope.rtype ?? core.FameResponseType.NONE,
7411
- createdAtMs: Date.now(),
7412
- status: EnvelopeStatus.HANDLED,
7413
- mailboxType: MailboxType.INBOX,
7414
- originalEnvelope: envelope,
7415
- serviceName: inboxName,
7416
- });
7417
- }
7418
7399
  tracked = new TrackedEnvelope({
7419
7400
  timeoutAtMs: 0,
7420
7401
  overallTimeoutAtMs: 0,
@@ -7436,12 +7417,8 @@ class DefaultDeliveryTracker extends TaskSpawner {
7436
7417
  async onEnvelopeHandled(envelope) {
7437
7418
  const inbox = this.ensureInbox();
7438
7419
  envelope.status = EnvelopeStatus.HANDLED;
7420
+ // Delete the envelope from inbox to prevent growth
7439
7421
  await inbox.delete(envelope.originalEnvelope.id);
7440
- await this.lock.runExclusive(async () => {
7441
- this.markRecentlyHandled(envelope.originalEnvelope.id);
7442
- });
7443
- // Preserve handled envelope to prevent duplicate redelivery during shutdown drains.
7444
- // await inbox.set(envelope.originalEnvelope.id, envelope);
7445
7422
  }
7446
7423
  async onEnvelopeHandleFailed(inboxName, envelope, context, error, isFinalFailure = false) {
7447
7424
  const inbox = this.ensureInbox();
@@ -7808,8 +7785,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7808
7785
  }
7809
7786
  this.streamDone.clear();
7810
7787
  this.correlationToEnvelope.clear();
7811
- this.recentlyHandled.clear();
7812
- this.recentlyHandledOrder.length = 0;
7813
7788
  return values;
7814
7789
  });
7815
7790
  for (const timer of timers) {
@@ -8391,39 +8366,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
8391
8366
  this.pendingAckDispatches.delete(ackDispatch);
8392
8367
  }
8393
8368
  }
8394
- markRecentlyHandled(envelopeId) {
8395
- const now = Date.now();
8396
- this.recentlyHandled.set(envelopeId, now);
8397
- this.recentlyHandledOrder.push(envelopeId);
8398
- this.trimRecentlyHandled(now);
8399
- }
8400
- wasRecentlyHandled(envelopeId) {
8401
- const now = Date.now();
8402
- const timestamp = this.recentlyHandled.get(envelopeId);
8403
- if (timestamp === undefined) {
8404
- return false;
8405
- }
8406
- if (now - timestamp > this.recentlyHandledTtlMs) {
8407
- this.recentlyHandled.delete(envelopeId);
8408
- return false;
8409
- }
8410
- return true;
8411
- }
8412
- trimRecentlyHandled(now) {
8413
- while (this.recentlyHandledOrder.length > 0) {
8414
- const candidate = this.recentlyHandledOrder[0];
8415
- const timestamp = this.recentlyHandled.get(candidate);
8416
- if (timestamp === undefined) {
8417
- this.recentlyHandledOrder.shift();
8418
- continue;
8419
- }
8420
- if (now - timestamp <= this.recentlyHandledTtlMs) {
8421
- break;
8422
- }
8423
- this.recentlyHandled.delete(candidate);
8424
- this.recentlyHandledOrder.shift();
8425
- }
8426
- }
8427
8369
  getShutdownRetryDeferDelay(nowMs) {
8428
8370
  if (!this.isPreparingToStop || this.shutdownRequestedAtMs === null) {
8429
8371
  return null;
@@ -96,12 +96,12 @@ installProcessEnvShim();
96
96
  // --- END ENV SHIM ---
97
97
 
98
98
  // This file is auto-generated during build - do not edit manually
99
- // Generated from package.json version: 0.3.6-test.107
99
+ // Generated from package.json version: 0.3.6-test.108
100
100
  /**
101
101
  * The package version, injected at build time.
102
102
  * @internal
103
103
  */
104
- const VERSION = '0.3.6-test.107';
104
+ const VERSION = '0.3.6-test.108';
105
105
 
106
106
  /**
107
107
  * Fame protocol specific error classes with WebSocket close codes and proper inheritance.
@@ -7173,9 +7173,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7173
7173
  this.ackDoneSince = new Map();
7174
7174
  this.replyDoneSince = new Map();
7175
7175
  this.pendingAckDispatches = new Set();
7176
- this.recentlyHandled = new Map();
7177
- this.recentlyHandledOrder = [];
7178
- this.recentlyHandledTtlMs = 60000;
7179
7176
  this.isPreparingToStop = false;
7180
7177
  this.shutdownRequestedAtMs = null;
7181
7178
  this.shutdownRetryGraceMs = 1000;
@@ -7397,22 +7394,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7397
7394
  }
7398
7395
  }
7399
7396
  else {
7400
- const wasRecentlyHandled = await this.lock.runExclusive(async () => this.wasRecentlyHandled(envelope.id));
7401
- if (wasRecentlyHandled) {
7402
- logger$12.debug('tracker_duplicate_envelope_recently_handled', {
7403
- envp_id: envelope.id,
7404
- });
7405
- return new TrackedEnvelope({
7406
- timeoutAtMs: 0,
7407
- overallTimeoutAtMs: 0,
7408
- expectedResponseType: envelope.rtype ?? FameResponseType.NONE,
7409
- createdAtMs: Date.now(),
7410
- status: EnvelopeStatus.HANDLED,
7411
- mailboxType: MailboxType.INBOX,
7412
- originalEnvelope: envelope,
7413
- serviceName: inboxName,
7414
- });
7415
- }
7416
7397
  tracked = new TrackedEnvelope({
7417
7398
  timeoutAtMs: 0,
7418
7399
  overallTimeoutAtMs: 0,
@@ -7434,12 +7415,8 @@ class DefaultDeliveryTracker extends TaskSpawner {
7434
7415
  async onEnvelopeHandled(envelope) {
7435
7416
  const inbox = this.ensureInbox();
7436
7417
  envelope.status = EnvelopeStatus.HANDLED;
7418
+ // Delete the envelope from inbox to prevent growth
7437
7419
  await inbox.delete(envelope.originalEnvelope.id);
7438
- await this.lock.runExclusive(async () => {
7439
- this.markRecentlyHandled(envelope.originalEnvelope.id);
7440
- });
7441
- // Preserve handled envelope to prevent duplicate redelivery during shutdown drains.
7442
- // await inbox.set(envelope.originalEnvelope.id, envelope);
7443
7420
  }
7444
7421
  async onEnvelopeHandleFailed(inboxName, envelope, context, error, isFinalFailure = false) {
7445
7422
  const inbox = this.ensureInbox();
@@ -7806,8 +7783,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7806
7783
  }
7807
7784
  this.streamDone.clear();
7808
7785
  this.correlationToEnvelope.clear();
7809
- this.recentlyHandled.clear();
7810
- this.recentlyHandledOrder.length = 0;
7811
7786
  return values;
7812
7787
  });
7813
7788
  for (const timer of timers) {
@@ -8389,39 +8364,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
8389
8364
  this.pendingAckDispatches.delete(ackDispatch);
8390
8365
  }
8391
8366
  }
8392
- markRecentlyHandled(envelopeId) {
8393
- const now = Date.now();
8394
- this.recentlyHandled.set(envelopeId, now);
8395
- this.recentlyHandledOrder.push(envelopeId);
8396
- this.trimRecentlyHandled(now);
8397
- }
8398
- wasRecentlyHandled(envelopeId) {
8399
- const now = Date.now();
8400
- const timestamp = this.recentlyHandled.get(envelopeId);
8401
- if (timestamp === undefined) {
8402
- return false;
8403
- }
8404
- if (now - timestamp > this.recentlyHandledTtlMs) {
8405
- this.recentlyHandled.delete(envelopeId);
8406
- return false;
8407
- }
8408
- return true;
8409
- }
8410
- trimRecentlyHandled(now) {
8411
- while (this.recentlyHandledOrder.length > 0) {
8412
- const candidate = this.recentlyHandledOrder[0];
8413
- const timestamp = this.recentlyHandled.get(candidate);
8414
- if (timestamp === undefined) {
8415
- this.recentlyHandledOrder.shift();
8416
- continue;
8417
- }
8418
- if (now - timestamp <= this.recentlyHandledTtlMs) {
8419
- break;
8420
- }
8421
- this.recentlyHandled.delete(candidate);
8422
- this.recentlyHandledOrder.shift();
8423
- }
8424
- }
8425
8367
  getShutdownRetryDeferDelay(nowMs) {
8426
8368
  if (!this.isPreparingToStop || this.shutdownRequestedAtMs === null) {
8427
8369
  return null;
@@ -149,9 +149,6 @@ class DefaultDeliveryTracker extends task_spawner_js_1.TaskSpawner {
149
149
  this.ackDoneSince = new Map();
150
150
  this.replyDoneSince = new Map();
151
151
  this.pendingAckDispatches = new Set();
152
- this.recentlyHandled = new Map();
153
- this.recentlyHandledOrder = [];
154
- this.recentlyHandledTtlMs = 60000;
155
152
  this.isPreparingToStop = false;
156
153
  this.shutdownRequestedAtMs = null;
157
154
  this.shutdownRetryGraceMs = 1000;
@@ -387,22 +384,6 @@ class DefaultDeliveryTracker extends task_spawner_js_1.TaskSpawner {
387
384
  }
388
385
  }
389
386
  else {
390
- const wasRecentlyHandled = await this.lock.runExclusive(async () => this.wasRecentlyHandled(envelope.id));
391
- if (wasRecentlyHandled) {
392
- logger.debug('tracker_duplicate_envelope_recently_handled', {
393
- envp_id: envelope.id,
394
- });
395
- return new tracked_envelope_js_1.TrackedEnvelope({
396
- timeoutAtMs: 0,
397
- overallTimeoutAtMs: 0,
398
- expectedResponseType: envelope.rtype ?? core_1.FameResponseType.NONE,
399
- createdAtMs: Date.now(),
400
- status: tracked_envelope_js_1.EnvelopeStatus.HANDLED,
401
- mailboxType: tracked_envelope_js_1.MailboxType.INBOX,
402
- originalEnvelope: envelope,
403
- serviceName: inboxName,
404
- });
405
- }
406
387
  tracked = new tracked_envelope_js_1.TrackedEnvelope({
407
388
  timeoutAtMs: 0,
408
389
  overallTimeoutAtMs: 0,
@@ -424,12 +405,8 @@ class DefaultDeliveryTracker extends task_spawner_js_1.TaskSpawner {
424
405
  async onEnvelopeHandled(envelope) {
425
406
  const inbox = this.ensureInbox();
426
407
  envelope.status = tracked_envelope_js_1.EnvelopeStatus.HANDLED;
408
+ // Delete the envelope from inbox to prevent growth
427
409
  await inbox.delete(envelope.originalEnvelope.id);
428
- await this.lock.runExclusive(async () => {
429
- this.markRecentlyHandled(envelope.originalEnvelope.id);
430
- });
431
- // Preserve handled envelope to prevent duplicate redelivery during shutdown drains.
432
- // await inbox.set(envelope.originalEnvelope.id, envelope);
433
410
  }
434
411
  async onEnvelopeHandleFailed(inboxName, envelope, context, error, isFinalFailure = false) {
435
412
  void context;
@@ -800,8 +777,6 @@ class DefaultDeliveryTracker extends task_spawner_js_1.TaskSpawner {
800
777
  }
801
778
  this.streamDone.clear();
802
779
  this.correlationToEnvelope.clear();
803
- this.recentlyHandled.clear();
804
- this.recentlyHandledOrder.length = 0;
805
780
  return values;
806
781
  });
807
782
  for (const timer of timers) {
@@ -1383,39 +1358,6 @@ class DefaultDeliveryTracker extends task_spawner_js_1.TaskSpawner {
1383
1358
  this.pendingAckDispatches.delete(ackDispatch);
1384
1359
  }
1385
1360
  }
1386
- markRecentlyHandled(envelopeId) {
1387
- const now = Date.now();
1388
- this.recentlyHandled.set(envelopeId, now);
1389
- this.recentlyHandledOrder.push(envelopeId);
1390
- this.trimRecentlyHandled(now);
1391
- }
1392
- wasRecentlyHandled(envelopeId) {
1393
- const now = Date.now();
1394
- const timestamp = this.recentlyHandled.get(envelopeId);
1395
- if (timestamp === undefined) {
1396
- return false;
1397
- }
1398
- if (now - timestamp > this.recentlyHandledTtlMs) {
1399
- this.recentlyHandled.delete(envelopeId);
1400
- return false;
1401
- }
1402
- return true;
1403
- }
1404
- trimRecentlyHandled(now) {
1405
- while (this.recentlyHandledOrder.length > 0) {
1406
- const candidate = this.recentlyHandledOrder[0];
1407
- const timestamp = this.recentlyHandled.get(candidate);
1408
- if (timestamp === undefined) {
1409
- this.recentlyHandledOrder.shift();
1410
- continue;
1411
- }
1412
- if (now - timestamp <= this.recentlyHandledTtlMs) {
1413
- break;
1414
- }
1415
- this.recentlyHandled.delete(candidate);
1416
- this.recentlyHandledOrder.shift();
1417
- }
1418
- }
1419
1361
  getShutdownRetryDeferDelay(nowMs) {
1420
1362
  if (!this.isPreparingToStop || this.shutdownRequestedAtMs === null) {
1421
1363
  return null;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  // This file is auto-generated during build - do not edit manually
3
- // Generated from package.json version: 0.3.6-test.107
3
+ // Generated from package.json version: 0.3.6-test.108
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.VERSION = void 0;
6
6
  /**
7
7
  * The package version, injected at build time.
8
8
  * @internal
9
9
  */
10
- exports.VERSION = '0.3.6-test.107';
10
+ exports.VERSION = '0.3.6-test.108';
@@ -146,9 +146,6 @@ export class DefaultDeliveryTracker extends TaskSpawner {
146
146
  this.ackDoneSince = new Map();
147
147
  this.replyDoneSince = new Map();
148
148
  this.pendingAckDispatches = new Set();
149
- this.recentlyHandled = new Map();
150
- this.recentlyHandledOrder = [];
151
- this.recentlyHandledTtlMs = 60000;
152
149
  this.isPreparingToStop = false;
153
150
  this.shutdownRequestedAtMs = null;
154
151
  this.shutdownRetryGraceMs = 1000;
@@ -384,22 +381,6 @@ export class DefaultDeliveryTracker extends TaskSpawner {
384
381
  }
385
382
  }
386
383
  else {
387
- const wasRecentlyHandled = await this.lock.runExclusive(async () => this.wasRecentlyHandled(envelope.id));
388
- if (wasRecentlyHandled) {
389
- logger.debug('tracker_duplicate_envelope_recently_handled', {
390
- envp_id: envelope.id,
391
- });
392
- return new TrackedEnvelope({
393
- timeoutAtMs: 0,
394
- overallTimeoutAtMs: 0,
395
- expectedResponseType: envelope.rtype ?? FameResponseType.NONE,
396
- createdAtMs: Date.now(),
397
- status: EnvelopeStatus.HANDLED,
398
- mailboxType: MailboxType.INBOX,
399
- originalEnvelope: envelope,
400
- serviceName: inboxName,
401
- });
402
- }
403
384
  tracked = new TrackedEnvelope({
404
385
  timeoutAtMs: 0,
405
386
  overallTimeoutAtMs: 0,
@@ -421,12 +402,8 @@ export class DefaultDeliveryTracker extends TaskSpawner {
421
402
  async onEnvelopeHandled(envelope) {
422
403
  const inbox = this.ensureInbox();
423
404
  envelope.status = EnvelopeStatus.HANDLED;
405
+ // Delete the envelope from inbox to prevent growth
424
406
  await inbox.delete(envelope.originalEnvelope.id);
425
- await this.lock.runExclusive(async () => {
426
- this.markRecentlyHandled(envelope.originalEnvelope.id);
427
- });
428
- // Preserve handled envelope to prevent duplicate redelivery during shutdown drains.
429
- // await inbox.set(envelope.originalEnvelope.id, envelope);
430
407
  }
431
408
  async onEnvelopeHandleFailed(inboxName, envelope, context, error, isFinalFailure = false) {
432
409
  void context;
@@ -797,8 +774,6 @@ export class DefaultDeliveryTracker extends TaskSpawner {
797
774
  }
798
775
  this.streamDone.clear();
799
776
  this.correlationToEnvelope.clear();
800
- this.recentlyHandled.clear();
801
- this.recentlyHandledOrder.length = 0;
802
777
  return values;
803
778
  });
804
779
  for (const timer of timers) {
@@ -1380,39 +1355,6 @@ export class DefaultDeliveryTracker extends TaskSpawner {
1380
1355
  this.pendingAckDispatches.delete(ackDispatch);
1381
1356
  }
1382
1357
  }
1383
- markRecentlyHandled(envelopeId) {
1384
- const now = Date.now();
1385
- this.recentlyHandled.set(envelopeId, now);
1386
- this.recentlyHandledOrder.push(envelopeId);
1387
- this.trimRecentlyHandled(now);
1388
- }
1389
- wasRecentlyHandled(envelopeId) {
1390
- const now = Date.now();
1391
- const timestamp = this.recentlyHandled.get(envelopeId);
1392
- if (timestamp === undefined) {
1393
- return false;
1394
- }
1395
- if (now - timestamp > this.recentlyHandledTtlMs) {
1396
- this.recentlyHandled.delete(envelopeId);
1397
- return false;
1398
- }
1399
- return true;
1400
- }
1401
- trimRecentlyHandled(now) {
1402
- while (this.recentlyHandledOrder.length > 0) {
1403
- const candidate = this.recentlyHandledOrder[0];
1404
- const timestamp = this.recentlyHandled.get(candidate);
1405
- if (timestamp === undefined) {
1406
- this.recentlyHandledOrder.shift();
1407
- continue;
1408
- }
1409
- if (now - timestamp <= this.recentlyHandledTtlMs) {
1410
- break;
1411
- }
1412
- this.recentlyHandled.delete(candidate);
1413
- this.recentlyHandledOrder.shift();
1414
- }
1415
- }
1416
1358
  getShutdownRetryDeferDelay(nowMs) {
1417
1359
  if (!this.isPreparingToStop || this.shutdownRequestedAtMs === null) {
1418
1360
  return null;
@@ -1,7 +1,7 @@
1
1
  // This file is auto-generated during build - do not edit manually
2
- // Generated from package.json version: 0.3.6-test.107
2
+ // Generated from package.json version: 0.3.6-test.108
3
3
  /**
4
4
  * The package version, injected at build time.
5
5
  * @internal
6
6
  */
7
- export const VERSION = '0.3.6-test.107';
7
+ export const VERSION = '0.3.6-test.108';
@@ -14,12 +14,12 @@ var fastify = require('fastify');
14
14
  var websocketPlugin = require('@fastify/websocket');
15
15
 
16
16
  // This file is auto-generated during build - do not edit manually
17
- // Generated from package.json version: 0.3.6-test.107
17
+ // Generated from package.json version: 0.3.6-test.108
18
18
  /**
19
19
  * The package version, injected at build time.
20
20
  * @internal
21
21
  */
22
- const VERSION = '0.3.6-test.107';
22
+ const VERSION = '0.3.6-test.108';
23
23
 
24
24
  /**
25
25
  * Fame protocol specific error classes with WebSocket close codes and proper inheritance.
@@ -7091,9 +7091,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7091
7091
  this.ackDoneSince = new Map();
7092
7092
  this.replyDoneSince = new Map();
7093
7093
  this.pendingAckDispatches = new Set();
7094
- this.recentlyHandled = new Map();
7095
- this.recentlyHandledOrder = [];
7096
- this.recentlyHandledTtlMs = 60000;
7097
7094
  this.isPreparingToStop = false;
7098
7095
  this.shutdownRequestedAtMs = null;
7099
7096
  this.shutdownRetryGraceMs = 1000;
@@ -7315,22 +7312,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7315
7312
  }
7316
7313
  }
7317
7314
  else {
7318
- const wasRecentlyHandled = await this.lock.runExclusive(async () => this.wasRecentlyHandled(envelope.id));
7319
- if (wasRecentlyHandled) {
7320
- logger$12.debug('tracker_duplicate_envelope_recently_handled', {
7321
- envp_id: envelope.id,
7322
- });
7323
- return new TrackedEnvelope({
7324
- timeoutAtMs: 0,
7325
- overallTimeoutAtMs: 0,
7326
- expectedResponseType: envelope.rtype ?? core.FameResponseType.NONE,
7327
- createdAtMs: Date.now(),
7328
- status: EnvelopeStatus.HANDLED,
7329
- mailboxType: MailboxType.INBOX,
7330
- originalEnvelope: envelope,
7331
- serviceName: inboxName,
7332
- });
7333
- }
7334
7315
  tracked = new TrackedEnvelope({
7335
7316
  timeoutAtMs: 0,
7336
7317
  overallTimeoutAtMs: 0,
@@ -7352,12 +7333,8 @@ class DefaultDeliveryTracker extends TaskSpawner {
7352
7333
  async onEnvelopeHandled(envelope) {
7353
7334
  const inbox = this.ensureInbox();
7354
7335
  envelope.status = EnvelopeStatus.HANDLED;
7336
+ // Delete the envelope from inbox to prevent growth
7355
7337
  await inbox.delete(envelope.originalEnvelope.id);
7356
- await this.lock.runExclusive(async () => {
7357
- this.markRecentlyHandled(envelope.originalEnvelope.id);
7358
- });
7359
- // Preserve handled envelope to prevent duplicate redelivery during shutdown drains.
7360
- // await inbox.set(envelope.originalEnvelope.id, envelope);
7361
7338
  }
7362
7339
  async onEnvelopeHandleFailed(inboxName, envelope, context, error, isFinalFailure = false) {
7363
7340
  const inbox = this.ensureInbox();
@@ -7724,8 +7701,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7724
7701
  }
7725
7702
  this.streamDone.clear();
7726
7703
  this.correlationToEnvelope.clear();
7727
- this.recentlyHandled.clear();
7728
- this.recentlyHandledOrder.length = 0;
7729
7704
  return values;
7730
7705
  });
7731
7706
  for (const timer of timers) {
@@ -8307,39 +8282,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
8307
8282
  this.pendingAckDispatches.delete(ackDispatch);
8308
8283
  }
8309
8284
  }
8310
- markRecentlyHandled(envelopeId) {
8311
- const now = Date.now();
8312
- this.recentlyHandled.set(envelopeId, now);
8313
- this.recentlyHandledOrder.push(envelopeId);
8314
- this.trimRecentlyHandled(now);
8315
- }
8316
- wasRecentlyHandled(envelopeId) {
8317
- const now = Date.now();
8318
- const timestamp = this.recentlyHandled.get(envelopeId);
8319
- if (timestamp === undefined) {
8320
- return false;
8321
- }
8322
- if (now - timestamp > this.recentlyHandledTtlMs) {
8323
- this.recentlyHandled.delete(envelopeId);
8324
- return false;
8325
- }
8326
- return true;
8327
- }
8328
- trimRecentlyHandled(now) {
8329
- while (this.recentlyHandledOrder.length > 0) {
8330
- const candidate = this.recentlyHandledOrder[0];
8331
- const timestamp = this.recentlyHandled.get(candidate);
8332
- if (timestamp === undefined) {
8333
- this.recentlyHandledOrder.shift();
8334
- continue;
8335
- }
8336
- if (now - timestamp <= this.recentlyHandledTtlMs) {
8337
- break;
8338
- }
8339
- this.recentlyHandled.delete(candidate);
8340
- this.recentlyHandledOrder.shift();
8341
- }
8342
- }
8343
8285
  getShutdownRetryDeferDelay(nowMs) {
8344
8286
  if (!this.isPreparingToStop || this.shutdownRequestedAtMs === null) {
8345
8287
  return null;
@@ -13,12 +13,12 @@ import fastify from 'fastify';
13
13
  import websocketPlugin from '@fastify/websocket';
14
14
 
15
15
  // This file is auto-generated during build - do not edit manually
16
- // Generated from package.json version: 0.3.6-test.107
16
+ // Generated from package.json version: 0.3.6-test.108
17
17
  /**
18
18
  * The package version, injected at build time.
19
19
  * @internal
20
20
  */
21
- const VERSION = '0.3.6-test.107';
21
+ const VERSION = '0.3.6-test.108';
22
22
 
23
23
  /**
24
24
  * Fame protocol specific error classes with WebSocket close codes and proper inheritance.
@@ -7090,9 +7090,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7090
7090
  this.ackDoneSince = new Map();
7091
7091
  this.replyDoneSince = new Map();
7092
7092
  this.pendingAckDispatches = new Set();
7093
- this.recentlyHandled = new Map();
7094
- this.recentlyHandledOrder = [];
7095
- this.recentlyHandledTtlMs = 60000;
7096
7093
  this.isPreparingToStop = false;
7097
7094
  this.shutdownRequestedAtMs = null;
7098
7095
  this.shutdownRetryGraceMs = 1000;
@@ -7314,22 +7311,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7314
7311
  }
7315
7312
  }
7316
7313
  else {
7317
- const wasRecentlyHandled = await this.lock.runExclusive(async () => this.wasRecentlyHandled(envelope.id));
7318
- if (wasRecentlyHandled) {
7319
- logger$12.debug('tracker_duplicate_envelope_recently_handled', {
7320
- envp_id: envelope.id,
7321
- });
7322
- return new TrackedEnvelope({
7323
- timeoutAtMs: 0,
7324
- overallTimeoutAtMs: 0,
7325
- expectedResponseType: envelope.rtype ?? FameResponseType.NONE,
7326
- createdAtMs: Date.now(),
7327
- status: EnvelopeStatus.HANDLED,
7328
- mailboxType: MailboxType.INBOX,
7329
- originalEnvelope: envelope,
7330
- serviceName: inboxName,
7331
- });
7332
- }
7333
7314
  tracked = new TrackedEnvelope({
7334
7315
  timeoutAtMs: 0,
7335
7316
  overallTimeoutAtMs: 0,
@@ -7351,12 +7332,8 @@ class DefaultDeliveryTracker extends TaskSpawner {
7351
7332
  async onEnvelopeHandled(envelope) {
7352
7333
  const inbox = this.ensureInbox();
7353
7334
  envelope.status = EnvelopeStatus.HANDLED;
7335
+ // Delete the envelope from inbox to prevent growth
7354
7336
  await inbox.delete(envelope.originalEnvelope.id);
7355
- await this.lock.runExclusive(async () => {
7356
- this.markRecentlyHandled(envelope.originalEnvelope.id);
7357
- });
7358
- // Preserve handled envelope to prevent duplicate redelivery during shutdown drains.
7359
- // await inbox.set(envelope.originalEnvelope.id, envelope);
7360
7337
  }
7361
7338
  async onEnvelopeHandleFailed(inboxName, envelope, context, error, isFinalFailure = false) {
7362
7339
  const inbox = this.ensureInbox();
@@ -7723,8 +7700,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
7723
7700
  }
7724
7701
  this.streamDone.clear();
7725
7702
  this.correlationToEnvelope.clear();
7726
- this.recentlyHandled.clear();
7727
- this.recentlyHandledOrder.length = 0;
7728
7703
  return values;
7729
7704
  });
7730
7705
  for (const timer of timers) {
@@ -8306,39 +8281,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
8306
8281
  this.pendingAckDispatches.delete(ackDispatch);
8307
8282
  }
8308
8283
  }
8309
- markRecentlyHandled(envelopeId) {
8310
- const now = Date.now();
8311
- this.recentlyHandled.set(envelopeId, now);
8312
- this.recentlyHandledOrder.push(envelopeId);
8313
- this.trimRecentlyHandled(now);
8314
- }
8315
- wasRecentlyHandled(envelopeId) {
8316
- const now = Date.now();
8317
- const timestamp = this.recentlyHandled.get(envelopeId);
8318
- if (timestamp === undefined) {
8319
- return false;
8320
- }
8321
- if (now - timestamp > this.recentlyHandledTtlMs) {
8322
- this.recentlyHandled.delete(envelopeId);
8323
- return false;
8324
- }
8325
- return true;
8326
- }
8327
- trimRecentlyHandled(now) {
8328
- while (this.recentlyHandledOrder.length > 0) {
8329
- const candidate = this.recentlyHandledOrder[0];
8330
- const timestamp = this.recentlyHandled.get(candidate);
8331
- if (timestamp === undefined) {
8332
- this.recentlyHandledOrder.shift();
8333
- continue;
8334
- }
8335
- if (now - timestamp <= this.recentlyHandledTtlMs) {
8336
- break;
8337
- }
8338
- this.recentlyHandled.delete(candidate);
8339
- this.recentlyHandledOrder.shift();
8340
- }
8341
- }
8342
8284
  getShutdownRetryDeferDelay(nowMs) {
8343
8285
  if (!this.isPreparingToStop || this.shutdownRequestedAtMs === null) {
8344
8286
  return null;
@@ -5563,12 +5563,12 @@ for (const [name, config] of Object.entries(SQLITE_PROFILES)) {
5563
5563
  }
5564
5564
 
5565
5565
  // This file is auto-generated during build - do not edit manually
5566
- // Generated from package.json version: 0.3.6-test.107
5566
+ // Generated from package.json version: 0.3.6-test.108
5567
5567
  /**
5568
5568
  * The package version, injected at build time.
5569
5569
  * @internal
5570
5570
  */
5571
- const VERSION = '0.3.6-test.107';
5571
+ const VERSION = '0.3.6-test.108';
5572
5572
 
5573
5573
  /**
5574
5574
  * Fame errors module - Fame protocol specific error classes
@@ -9727,9 +9727,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
9727
9727
  this.ackDoneSince = new Map();
9728
9728
  this.replyDoneSince = new Map();
9729
9729
  this.pendingAckDispatches = new Set();
9730
- this.recentlyHandled = new Map();
9731
- this.recentlyHandledOrder = [];
9732
- this.recentlyHandledTtlMs = 60000;
9733
9730
  this.isPreparingToStop = false;
9734
9731
  this.shutdownRequestedAtMs = null;
9735
9732
  this.shutdownRetryGraceMs = 1000;
@@ -9965,22 +9962,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
9965
9962
  }
9966
9963
  }
9967
9964
  else {
9968
- const wasRecentlyHandled = await this.lock.runExclusive(async () => this.wasRecentlyHandled(envelope.id));
9969
- if (wasRecentlyHandled) {
9970
- logger$12.debug('tracker_duplicate_envelope_recently_handled', {
9971
- envp_id: envelope.id,
9972
- });
9973
- return new TrackedEnvelope({
9974
- timeoutAtMs: 0,
9975
- overallTimeoutAtMs: 0,
9976
- expectedResponseType: envelope.rtype ?? core.FameResponseType.NONE,
9977
- createdAtMs: Date.now(),
9978
- status: EnvelopeStatus.HANDLED,
9979
- mailboxType: MailboxType.INBOX,
9980
- originalEnvelope: envelope,
9981
- serviceName: inboxName,
9982
- });
9983
- }
9984
9965
  tracked = new TrackedEnvelope({
9985
9966
  timeoutAtMs: 0,
9986
9967
  overallTimeoutAtMs: 0,
@@ -10002,12 +9983,8 @@ class DefaultDeliveryTracker extends TaskSpawner {
10002
9983
  async onEnvelopeHandled(envelope) {
10003
9984
  const inbox = this.ensureInbox();
10004
9985
  envelope.status = EnvelopeStatus.HANDLED;
9986
+ // Delete the envelope from inbox to prevent growth
10005
9987
  await inbox.delete(envelope.originalEnvelope.id);
10006
- await this.lock.runExclusive(async () => {
10007
- this.markRecentlyHandled(envelope.originalEnvelope.id);
10008
- });
10009
- // Preserve handled envelope to prevent duplicate redelivery during shutdown drains.
10010
- // await inbox.set(envelope.originalEnvelope.id, envelope);
10011
9988
  }
10012
9989
  async onEnvelopeHandleFailed(inboxName, envelope, context, error, isFinalFailure = false) {
10013
9990
  void context;
@@ -10378,8 +10355,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
10378
10355
  }
10379
10356
  this.streamDone.clear();
10380
10357
  this.correlationToEnvelope.clear();
10381
- this.recentlyHandled.clear();
10382
- this.recentlyHandledOrder.length = 0;
10383
10358
  return values;
10384
10359
  });
10385
10360
  for (const timer of timers) {
@@ -10961,39 +10936,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
10961
10936
  this.pendingAckDispatches.delete(ackDispatch);
10962
10937
  }
10963
10938
  }
10964
- markRecentlyHandled(envelopeId) {
10965
- const now = Date.now();
10966
- this.recentlyHandled.set(envelopeId, now);
10967
- this.recentlyHandledOrder.push(envelopeId);
10968
- this.trimRecentlyHandled(now);
10969
- }
10970
- wasRecentlyHandled(envelopeId) {
10971
- const now = Date.now();
10972
- const timestamp = this.recentlyHandled.get(envelopeId);
10973
- if (timestamp === undefined) {
10974
- return false;
10975
- }
10976
- if (now - timestamp > this.recentlyHandledTtlMs) {
10977
- this.recentlyHandled.delete(envelopeId);
10978
- return false;
10979
- }
10980
- return true;
10981
- }
10982
- trimRecentlyHandled(now) {
10983
- while (this.recentlyHandledOrder.length > 0) {
10984
- const candidate = this.recentlyHandledOrder[0];
10985
- const timestamp = this.recentlyHandled.get(candidate);
10986
- if (timestamp === undefined) {
10987
- this.recentlyHandledOrder.shift();
10988
- continue;
10989
- }
10990
- if (now - timestamp <= this.recentlyHandledTtlMs) {
10991
- break;
10992
- }
10993
- this.recentlyHandled.delete(candidate);
10994
- this.recentlyHandledOrder.shift();
10995
- }
10996
- }
10997
10939
  getShutdownRetryDeferDelay(nowMs) {
10998
10940
  if (!this.isPreparingToStop || this.shutdownRequestedAtMs === null) {
10999
10941
  return null;
@@ -5562,12 +5562,12 @@ for (const [name, config] of Object.entries(SQLITE_PROFILES)) {
5562
5562
  }
5563
5563
 
5564
5564
  // This file is auto-generated during build - do not edit manually
5565
- // Generated from package.json version: 0.3.6-test.107
5565
+ // Generated from package.json version: 0.3.6-test.108
5566
5566
  /**
5567
5567
  * The package version, injected at build time.
5568
5568
  * @internal
5569
5569
  */
5570
- const VERSION = '0.3.6-test.107';
5570
+ const VERSION = '0.3.6-test.108';
5571
5571
 
5572
5572
  /**
5573
5573
  * Fame errors module - Fame protocol specific error classes
@@ -9726,9 +9726,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
9726
9726
  this.ackDoneSince = new Map();
9727
9727
  this.replyDoneSince = new Map();
9728
9728
  this.pendingAckDispatches = new Set();
9729
- this.recentlyHandled = new Map();
9730
- this.recentlyHandledOrder = [];
9731
- this.recentlyHandledTtlMs = 60000;
9732
9729
  this.isPreparingToStop = false;
9733
9730
  this.shutdownRequestedAtMs = null;
9734
9731
  this.shutdownRetryGraceMs = 1000;
@@ -9964,22 +9961,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
9964
9961
  }
9965
9962
  }
9966
9963
  else {
9967
- const wasRecentlyHandled = await this.lock.runExclusive(async () => this.wasRecentlyHandled(envelope.id));
9968
- if (wasRecentlyHandled) {
9969
- logger$12.debug('tracker_duplicate_envelope_recently_handled', {
9970
- envp_id: envelope.id,
9971
- });
9972
- return new TrackedEnvelope({
9973
- timeoutAtMs: 0,
9974
- overallTimeoutAtMs: 0,
9975
- expectedResponseType: envelope.rtype ?? FameResponseType.NONE,
9976
- createdAtMs: Date.now(),
9977
- status: EnvelopeStatus.HANDLED,
9978
- mailboxType: MailboxType.INBOX,
9979
- originalEnvelope: envelope,
9980
- serviceName: inboxName,
9981
- });
9982
- }
9983
9964
  tracked = new TrackedEnvelope({
9984
9965
  timeoutAtMs: 0,
9985
9966
  overallTimeoutAtMs: 0,
@@ -10001,12 +9982,8 @@ class DefaultDeliveryTracker extends TaskSpawner {
10001
9982
  async onEnvelopeHandled(envelope) {
10002
9983
  const inbox = this.ensureInbox();
10003
9984
  envelope.status = EnvelopeStatus.HANDLED;
9985
+ // Delete the envelope from inbox to prevent growth
10004
9986
  await inbox.delete(envelope.originalEnvelope.id);
10005
- await this.lock.runExclusive(async () => {
10006
- this.markRecentlyHandled(envelope.originalEnvelope.id);
10007
- });
10008
- // Preserve handled envelope to prevent duplicate redelivery during shutdown drains.
10009
- // await inbox.set(envelope.originalEnvelope.id, envelope);
10010
9987
  }
10011
9988
  async onEnvelopeHandleFailed(inboxName, envelope, context, error, isFinalFailure = false) {
10012
9989
  void context;
@@ -10377,8 +10354,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
10377
10354
  }
10378
10355
  this.streamDone.clear();
10379
10356
  this.correlationToEnvelope.clear();
10380
- this.recentlyHandled.clear();
10381
- this.recentlyHandledOrder.length = 0;
10382
10357
  return values;
10383
10358
  });
10384
10359
  for (const timer of timers) {
@@ -10960,39 +10935,6 @@ class DefaultDeliveryTracker extends TaskSpawner {
10960
10935
  this.pendingAckDispatches.delete(ackDispatch);
10961
10936
  }
10962
10937
  }
10963
- markRecentlyHandled(envelopeId) {
10964
- const now = Date.now();
10965
- this.recentlyHandled.set(envelopeId, now);
10966
- this.recentlyHandledOrder.push(envelopeId);
10967
- this.trimRecentlyHandled(now);
10968
- }
10969
- wasRecentlyHandled(envelopeId) {
10970
- const now = Date.now();
10971
- const timestamp = this.recentlyHandled.get(envelopeId);
10972
- if (timestamp === undefined) {
10973
- return false;
10974
- }
10975
- if (now - timestamp > this.recentlyHandledTtlMs) {
10976
- this.recentlyHandled.delete(envelopeId);
10977
- return false;
10978
- }
10979
- return true;
10980
- }
10981
- trimRecentlyHandled(now) {
10982
- while (this.recentlyHandledOrder.length > 0) {
10983
- const candidate = this.recentlyHandledOrder[0];
10984
- const timestamp = this.recentlyHandled.get(candidate);
10985
- if (timestamp === undefined) {
10986
- this.recentlyHandledOrder.shift();
10987
- continue;
10988
- }
10989
- if (now - timestamp <= this.recentlyHandledTtlMs) {
10990
- break;
10991
- }
10992
- this.recentlyHandled.delete(candidate);
10993
- this.recentlyHandledOrder.shift();
10994
- }
10995
- }
10996
10938
  getShutdownRetryDeferDelay(nowMs) {
10997
10939
  if (!this.isPreparingToStop || this.shutdownRequestedAtMs === null) {
10998
10940
  return null;
@@ -38,9 +38,6 @@ export declare class DefaultDeliveryTracker extends TaskSpawner implements NodeE
38
38
  private readonly ackDoneSince;
39
39
  private readonly replyDoneSince;
40
40
  private readonly pendingAckDispatches;
41
- private readonly recentlyHandled;
42
- private readonly recentlyHandledOrder;
43
- private readonly recentlyHandledTtlMs;
44
41
  private isPreparingToStop;
45
42
  private shutdownRequestedAtMs;
46
43
  private readonly shutdownRetryGraceMs;
@@ -102,9 +99,6 @@ export declare class DefaultDeliveryTracker extends TaskSpawner implements NodeE
102
99
  private sweepFuturesLoop;
103
100
  private statusIsTerminal;
104
101
  private sendAck;
105
- private markRecentlyHandled;
106
- private wasRecentlyHandled;
107
- private trimRecentlyHandled;
108
102
  private getShutdownRetryDeferDelay;
109
103
  }
110
104
  export {};
@@ -2,4 +2,4 @@
2
2
  * The package version, injected at build time.
3
3
  * @internal
4
4
  */
5
- export declare const VERSION = "0.3.6-test.107";
5
+ export declare const VERSION = "0.3.6-test.108";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naylence/runtime",
3
- "version": "0.3.6-test.107",
3
+ "version": "0.3.6-test.108",
4
4
  "type": "module",
5
5
  "description": "Naylence Runtime - Complete TypeScript runtime",
6
6
  "author": "Naylence Dev <naylencedev@gmail.com>",