@croct/sdk 0.17.5 → 0.17.6

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.
@@ -57,7 +57,7 @@ class GuaranteedChannel {
57
57
  closeWatcher = window.setInterval(() => {
58
58
  if (this.closed) {
59
59
  // Cancel delay immediately when the channel is closed
60
- abort(channel_1.MessageDeliveryError.nonRetryable('Connection deliberately closed.'));
60
+ abort(channel_1.MessageDeliveryError.retryable('Connection deliberately closed.'));
61
61
  }
62
62
  }, 0);
63
63
  this.logger.debug(`Waiting confirmation #${id}...`);
@@ -1 +1 @@
1
- {"version":3,"file":"guaranteedChannel.js","sourceRoot":"","sources":["../src/channel/guaranteedChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guaranteedChannel.js","sourceRoot":"","sources":["../src/channel/guaranteedChannel.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,6 @@ export declare class QueuedChannel<T> implements OutputChannel<T> {
13
13
  private enqueue;
14
14
  private dequeue;
15
15
  private requeue;
16
+ private chainNext;
16
17
  close(): Promise<void>;
17
18
  }
@@ -25,14 +25,9 @@ class QueuedChannel {
25
25
  return Promise.reject(channel_1.MessageDeliveryError.retryable('The queue is full.'));
26
26
  }
27
27
  if (this.pending === undefined) {
28
- this.pending = this.queue.isEmpty()
29
- ? Promise.resolve()
30
- : Promise.reject(channel_1.MessageDeliveryError.retryable('The queue must be flushed.'));
28
+ this.pending = this.requeue();
31
29
  }
32
- this.enqueue(message);
33
- this.pending = this.pending.then(() => this.channel
34
- .publish(message)
35
- .then(this.dequeue.bind(this)));
30
+ this.pending = this.chainNext(this.pending, message, true);
36
31
  return this.pending;
37
32
  }
38
33
  enqueue(message) {
@@ -57,12 +52,46 @@ class QueuedChannel {
57
52
  this.logger.debug('Requeuing messages...');
58
53
  this.logger.debug(`Queue length: ${length}`);
59
54
  for (const message of this.queue.all()) {
60
- this.pending = this.pending.then(() => this.channel
61
- .publish(message)
62
- .then(this.dequeue.bind(this)));
55
+ this.pending = this.chainNext(this.pending, message);
63
56
  }
64
57
  return this.pending;
65
58
  }
59
+ async chainNext(previous, message, enqueue = false) {
60
+ if (enqueue) {
61
+ this.enqueue(message);
62
+ }
63
+ try {
64
+ await previous;
65
+ }
66
+ catch (error) {
67
+ if (error instanceof channel_1.MessageDeliveryError && error.retryable) {
68
+ // If the previous message failed to deliver, requeue all messages
69
+ // including the current one that was just enqueued
70
+ return this.requeue();
71
+ }
72
+ throw error;
73
+ }
74
+ if (this.closed) {
75
+ throw channel_1.MessageDeliveryError.retryable('Connection deliberately closed.');
76
+ }
77
+ try {
78
+ const result = await this.channel.publish(message);
79
+ this.dequeue();
80
+ return result;
81
+ }
82
+ catch (error) {
83
+ if (!(error instanceof channel_1.MessageDeliveryError) || !error.retryable) {
84
+ // Discard the message if it's non-retryable
85
+ this.dequeue();
86
+ if (!enqueue) {
87
+ // If the message was not enqueued, suppress the error
88
+ // so that the next message in the queue can be immediately
89
+ return;
90
+ }
91
+ }
92
+ throw error;
93
+ }
94
+ }
66
95
  async close() {
67
96
  this.closed = true;
68
97
  await this.channel.close();
@@ -1 +1 @@
1
- {"version":3,"file":"queuedChannel.js","sourceRoot":"","sources":["../src/channel/queuedChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queuedChannel.js","sourceRoot":"","sources":["../src/channel/queuedChannel.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ class RetryChannel {
25
25
  let attempt = 0;
26
26
  while (this.retryPolicy.shouldRetry(attempt, message, error)) {
27
27
  if (this.closed) {
28
- throw channel_1.MessageDeliveryError.nonRetryable('Connection deliberately closed.');
28
+ throw channel_1.MessageDeliveryError.retryable('Connection deliberately closed.');
29
29
  }
30
30
  const delay = this.retryPolicy.getDelay(attempt);
31
31
  this.logger.debug(`Retry attempt ${attempt + 1}`);
@@ -36,7 +36,7 @@ class RetryChannel {
36
36
  if (this.closed) {
37
37
  // Cancel delay immediately when the channel is closed
38
38
  window.clearInterval(closeWatcher);
39
- reject(channel_1.MessageDeliveryError.nonRetryable('Connection deliberately closed.'));
39
+ reject(channel_1.MessageDeliveryError.retryable('Connection deliberately closed.'));
40
40
  }
41
41
  }, 0);
42
42
  window.setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"retryChannel.js","sourceRoot":"","sources":["../src/channel/retryChannel.ts"],"names":[],"mappings":";;;AAAA,uCAA8D;AAC9D,wCAA8C;AAS9C,MAAa,YAAY;IASrB,YAAmB,EAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAmB;QAF3D,WAAM,GAAG,KAAK,CAAC;QAGnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,oBAAU,EAAE,CAAC;IAC7C,CAAC;IAEM,OAAO,CAAC,OAAU;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,MAAM,CAAC,8BAAoB,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO;aACd,OAAO,CAAC,OAAO,CAAC;aAChB,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAU,EAAE,KAAc;QACzC,IAAI,KAAK,YAAY,8BAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5D,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,8BAAoB,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;YAC/E,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YAElD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,IAAI,CAAC,CAAC;gBAEzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;oBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACnC,GAAG,EAAE;wBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BACd,sDAAsD;4BACtD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;4BAEnC,MAAM,CAAC,8BAAoB,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC,CAAC;wBACjF,CAAC;oBACL,CAAC,EACD,CAAC,CACJ,CAAC;oBAEF,MAAM,CAAC,UAAU,CACb,GAAS,EAAE;wBACP,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;wBAEnC,OAAO,EAAE,CAAC;oBACd,CAAC,EACD,KAAK,CACR,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,IAAI,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QAED,MAAM,8BAAoB,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACJ;AAnFD,oCAmFC"}
1
+ {"version":3,"file":"retryChannel.js","sourceRoot":"","sources":["../src/channel/retryChannel.ts"],"names":[],"mappings":";;;AAAA,uCAA8D;AAC9D,wCAA8C;AAS9C,MAAa,YAAY;IASrB,YAAmB,EAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAmB;QAF3D,WAAM,GAAG,KAAK,CAAC;QAGnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,oBAAU,EAAE,CAAC;IAC7C,CAAC;IAEM,OAAO,CAAC,OAAU;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,MAAM,CAAC,8BAAoB,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO;aACd,OAAO,CAAC,OAAO,CAAC;aAChB,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAU,EAAE,KAAc;QACzC,IAAI,KAAK,YAAY,8BAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5D,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,8BAAoB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YAElD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,IAAI,CAAC,CAAC;gBAEzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;oBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACnC,GAAG,EAAE;wBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BACd,sDAAsD;4BACtD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;4BAEnC,MAAM,CAAC,8BAAoB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;wBAC9E,CAAC;oBACL,CAAC,EACD,CAAC,CACJ,CAAC;oBAEF,MAAM,CAAC,UAAU,CACb,GAAS,EAAE;wBACP,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;wBAEnC,OAAO,EAAE,CAAC;oBACd,CAAC,EACD,KAAK,CACR,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,IAAI,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QAED,MAAM,8BAAoB,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACJ;AAnFD,oCAmFC"}
package/constants.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export declare const BASE_ENDPOINT_URL = "https://api.croct.io";
2
2
  export declare const MAX_QUERY_LENGTH: number;
3
- export declare const VERSION = "0.17.5";
4
- export declare const CLIENT_LIBRARY = "Croct SDK JS v0.17.5";
3
+ export declare const VERSION = "0.17.6";
4
+ export declare const CLIENT_LIBRARY = "Croct SDK JS v0.17.6";
package/constants.js CHANGED
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CLIENT_LIBRARY = exports.VERSION = exports.MAX_QUERY_LENGTH = exports.BASE_ENDPOINT_URL = void 0;
4
4
  exports.BASE_ENDPOINT_URL = 'https://api.croct.io';
5
5
  exports.MAX_QUERY_LENGTH = 500;
6
- exports.VERSION = '0.17.5';
6
+ exports.VERSION = '0.17.6';
7
7
  exports.CLIENT_LIBRARY = `Croct SDK JS v${exports.VERSION}`;
8
8
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contentFetcher.js","sourceRoot":"","sources":["src/contentFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentFetcher.js","sourceRoot":"","sources":["src/contentFetcher.ts"],"names":[],"mappings":";;;AAGA,2CAA8D;AAC9D,mCAAsC;AACtC,uCAA6C;AAE7C,iCAA4B;AAS5B,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,sEAAkD,CAAA;IAClD,wFAAoE,CAAA;AACxE,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAUD,MAAa,YAAsD,SAAQ,KAAK;IAG5E,YAAmB,QAAW;QAC1B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACJ;AAVD,oCAUC;AAmDD,MAAa,cAAc;IASvB,YAAmB,aAA4B;;QAC3C,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,EAAC,eAAe,EAAC,GAAG,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,aAAa,CAAC,MAAM,KAAK,QAAQ;YACnD,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE;YACtC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;QAE3B,iEAAiE;QACjE,MAAM,YAAY,GAAG,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,6BAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;cACzE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;cAChD,MAAM,CAAC;QAEb,IAAI,CAAC,eAAe,GAAG,GAAG,YAAY,UAAU,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,GAAG,YAAY,iBAAiB,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,MAAA,aAAa,CAAC,MAAM,mCAAI,IAAI,oBAAU,EAAE,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG;YACjB,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,aAAa,CAAC,cAAc;YAC5C,sBAAsB,EAAE,aAAa,CAAC,sBAAsB;SAC/D,CAAC;IACN,CAAC;IAEM,KAAK,CAAuB,MAAc,EAAE,UAAwB,EAAE;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;YACrD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAErE,IAAI,KAA0C,CAAC;YAE/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,UAAU,CACd,GAAG,EAAE;oBACD,MAAM,QAAQ,GAAkB;wBAC5B,KAAK,EAAE,iDAAiD,MAAM,IAAI;wBAClE,IAAI,EAAE,gBAAgB,CAAC,OAAO;wBAC9B,MAAM,EAAE,8BAA8B,OAAO,aAAa;wBAC1D,MAAM,EAAE,GAAG,EAAE,kBAAkB;qBAClC,CAAC;oBAEF,eAAe,CAAC,KAAK,EAAE,CAAC;oBAExB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAE9B,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvC,CAAC,EACD,OAAO,CACV,CAAC;YACN,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;iBAC7C,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;iBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAEtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,yBAAyB,MAAM,OAAO,MAAM,GAAG,CAAC,CAAC;gBAE9F,OAAO,QAAQ,CAAC,IAAI,EAAE;qBACjB,IAAI,CAAC,IAAI,CAAC,EAAE;oBACT,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACd,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAE9B,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC;qBACD,KAAK,CAAC,KAAK,CAAC,EAAE;oBACX,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;oBACzE,CAAC;oBAED,MAAM,KAAK,CAAC;gBAChB,CAAC,CAAC,CAAC;YACX,CAAC,CAAC;iBACD,KAAK,CAAC,KAAK,CAAC,EAAE;gBACX,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,CACF,IAAI,YAAY,CAAC;wBACb,KAAK,EAAE,IAAA,qBAAa,EAAC,KAAK,CAAC;wBAC3B,IAAI,EAAE,gBAAgB,CAAC,gBAAgB;wBACvC,MAAM,EAAE,kEAAkE;wBAC1E,MAAM,EAAE,GAAG,EAAE,wBAAwB;qBACxC,CAAC,CACL,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,IAAI,CAAC,MAAc,EAAE,MAAmB,EAAE,OAAqB;;QACnE,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAE3C,MAAM,OAAO,GAA2B;YACpC,cAAc,EAAE,kBAAkB;SACrC,CAAC;QAEF,OAAO,CAAC,kBAAkB,CAAC,GAAG,0BAAc,CAAC;QAE7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAChC,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAiB;YAC1B,MAAM,EAAE,MAAM;SACjB,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,eAAe,GAAG,MAAA,OAAO,CAAC,eAAe,mCAAI,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC;QAE7F,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;QAC9C,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC9C,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC9C,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACtD,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACpC,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;YACpD,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACtC,CAAC;YAED,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,CAAC,YAAY,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACrD,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;YAC/D,8DAA8D;YAC9D,wEAAwE;YACxE,oEAAoE;YACpE,kEAAkE;YAClE,8BAA8B;YAC9B,+CAA+C;YAC/C,IAAI,EAAE,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;YACxD,WAAW,EAAE,MAAM;YACnB,GAAG,OAAO,CAAC,KAAK;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAChC,CAAC,CAAC;IACP,CAAC;IAEO,OAAO,CAAC,UAAkB;QAC9B,MAAM,IAAI,GAAG,WAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,OAAqB;QACjD,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IACnC,CAAC;IAEM,MAAM;QACT,wDAAwD;QACxD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7C,CAAC;CACJ;AAvMD,wCAuMC"}
@@ -1 +1 @@
1
- {"version":3,"file":"consoleLogger.js","sourceRoot":"","sources":["../src/logging/consoleLogger.ts"],"names":[],"mappings":";;;AAMA,MAAa,aAAa;IAGtB,YAAmB,SAAkB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAEO,IAAI,CAAC,MAAqB;QAC9B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACJ;AA9BD,sCA8BC"}
1
+ {"version":3,"file":"consoleLogger.js","sourceRoot":"","sources":["../src/logging/consoleLogger.ts"],"names":[],"mappings":";;;AAOA,MAAa,aAAa;IAGtB,YAAmB,SAAkB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAEO,IAAI,CAAC,MAAqB;QAC9B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACJ;AA9BD,sCA8BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@croct/sdk",
3
- "version": "0.17.5",
3
+ "version": "0.17.6",
4
4
  "description": "Croct SDK for JavaScript.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -99,7 +99,7 @@ export class GuaranteedChannel<M, S> implements OutputChannel<M> {
99
99
  () => {
100
100
  if (this.closed) {
101
101
  // Cancel delay immediately when the channel is closed
102
- abort(MessageDeliveryError.nonRetryable('Connection deliberately closed.'));
102
+ abort(MessageDeliveryError.retryable('Connection deliberately closed.'));
103
103
  }
104
104
  },
105
105
  0,
@@ -39,18 +39,10 @@ export class QueuedChannel<T> implements OutputChannel<T> {
39
39
  }
40
40
 
41
41
  if (this.pending === undefined) {
42
- this.pending = this.queue.isEmpty()
43
- ? Promise.resolve()
44
- : Promise.reject(MessageDeliveryError.retryable('The queue must be flushed.'));
42
+ this.pending = this.requeue();
45
43
  }
46
44
 
47
- this.enqueue(message);
48
-
49
- this.pending = this.pending.then(
50
- () => this.channel
51
- .publish(message)
52
- .then(this.dequeue.bind(this)),
53
- );
45
+ this.pending = this.chainNext(this.pending, message, true);
54
46
 
55
47
  return this.pending;
56
48
  }
@@ -86,16 +78,55 @@ export class QueuedChannel<T> implements OutputChannel<T> {
86
78
  this.logger.debug(`Queue length: ${length}`);
87
79
 
88
80
  for (const message of this.queue.all()) {
89
- this.pending = this.pending.then(
90
- () => this.channel
91
- .publish(message)
92
- .then(this.dequeue.bind(this)),
93
- );
81
+ this.pending = this.chainNext(this.pending, message);
94
82
  }
95
83
 
96
84
  return this.pending;
97
85
  }
98
86
 
87
+ private async chainNext(previous: Promise<void>, message: T, enqueue = false): Promise<void> {
88
+ if (enqueue) {
89
+ this.enqueue(message);
90
+ }
91
+
92
+ try {
93
+ await previous;
94
+ } catch (error) {
95
+ if (error instanceof MessageDeliveryError && error.retryable) {
96
+ // If the previous message failed to deliver, requeue all messages
97
+ // including the current one that was just enqueued
98
+ return this.requeue();
99
+ }
100
+
101
+ throw error;
102
+ }
103
+
104
+ if (this.closed) {
105
+ throw MessageDeliveryError.retryable('Connection deliberately closed.');
106
+ }
107
+
108
+ try {
109
+ const result = await this.channel.publish(message);
110
+
111
+ this.dequeue();
112
+
113
+ return result;
114
+ } catch (error) {
115
+ if (!(error instanceof MessageDeliveryError) || !error.retryable) {
116
+ // Discard the message if it's non-retryable
117
+ this.dequeue();
118
+
119
+ if (!enqueue) {
120
+ // If the message was not enqueued, suppress the error
121
+ // so that the next message in the queue can be immediately
122
+ return;
123
+ }
124
+ }
125
+
126
+ throw error;
127
+ }
128
+ }
129
+
99
130
  public async close(): Promise<void> {
100
131
  this.closed = true;
101
132
 
@@ -42,7 +42,7 @@ export class RetryChannel<T> implements OutputChannel<T> {
42
42
 
43
43
  while (this.retryPolicy.shouldRetry(attempt, message, error)) {
44
44
  if (this.closed) {
45
- throw MessageDeliveryError.nonRetryable('Connection deliberately closed.');
45
+ throw MessageDeliveryError.retryable('Connection deliberately closed.');
46
46
  }
47
47
 
48
48
  const delay = this.retryPolicy.getDelay(attempt);
@@ -59,7 +59,7 @@ export class RetryChannel<T> implements OutputChannel<T> {
59
59
  // Cancel delay immediately when the channel is closed
60
60
  window.clearInterval(closeWatcher);
61
61
 
62
- reject(MessageDeliveryError.nonRetryable('Connection deliberately closed.'));
62
+ reject(MessageDeliveryError.retryable('Connection deliberately closed.'));
63
63
  }
64
64
  },
65
65
  0,
@@ -128,7 +128,6 @@ export class ContentFetcher {
128
128
  throw new Error('The API key must be provided to fetch static content.');
129
129
  }
130
130
 
131
-
132
131
  return new Promise<FetchResponse<P>>((resolve, reject) => {
133
132
  const abortController = new AbortController();
134
133
  const timeout = options.timeout ?? this.configuration.defaultTimeout;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-console -- This is a logging utility */
1
2
  import {Logger} from './logger';
2
3
 
3
4
  type ConsoleMethod = {