@dvina/sdk 4.0.217 → 4.0.221

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 (39) hide show
  1. package/dist/{_generated_documents-Y3SSPTRT.cjs → _generated_documents-GA7X7YXH.cjs} +620 -608
  2. package/dist/{_generated_documents-Y3SSPTRT.cjs.map → _generated_documents-GA7X7YXH.cjs.map} +1 -1
  3. package/dist/{_generated_documents-AIL5TFBT.js → _generated_documents-X3RNSMPF.js} +3 -3
  4. package/dist/{_generated_documents-AIL5TFBT.js.map → _generated_documents-X3RNSMPF.js.map} +1 -1
  5. package/dist/adapters/angular/index.cjs +5 -5
  6. package/dist/adapters/angular/index.d.cts +2 -2
  7. package/dist/adapters/angular/index.d.ts +2 -2
  8. package/dist/adapters/angular/index.js +3 -3
  9. package/dist/billing/index.cjs +5 -5
  10. package/dist/billing/index.js +1 -1
  11. package/dist/{chunk-32A6N4YK.cjs → chunk-5G4TDB2H.cjs} +8 -2
  12. package/dist/chunk-5G4TDB2H.cjs.map +1 -0
  13. package/dist/{chunk-IM7TFRLL.js → chunk-I7HS5CQ7.js} +136 -33
  14. package/dist/chunk-I7HS5CQ7.js.map +1 -0
  15. package/dist/{chunk-SQ3TK5MI.cjs → chunk-LNQAR2M2.cjs} +762 -656
  16. package/dist/chunk-LNQAR2M2.cjs.map +1 -0
  17. package/dist/{chunk-ETPR6MV5.js → chunk-QELS6XG7.js} +6 -3
  18. package/dist/{chunk-32A6N4YK.cjs.map → chunk-QELS6XG7.js.map} +1 -1
  19. package/dist/{chunk-5JLVHE5X.cjs → chunk-VDPZQ5F3.cjs} +41 -4
  20. package/dist/{chunk-5JLVHE5X.cjs.map → chunk-VDPZQ5F3.cjs.map} +1 -1
  21. package/dist/{chunk-GJXK5EID.js → chunk-ZGGY4WK7.js} +41 -4
  22. package/dist/chunk-ZGGY4WK7.js.map +1 -0
  23. package/dist/{client-CluqWlY-.d.cts → client-BAich_Hx.d.cts} +52 -2
  24. package/dist/{client-B4c82App.d.ts → client-DW2pRGde.d.ts} +52 -2
  25. package/dist/{index-DCrLPp9U.d.ts → index-Bld5-Yr1.d.ts} +1 -1
  26. package/dist/{index-D2HJtzDx.d.cts → index-DF59UYzN.d.cts} +1 -1
  27. package/dist/index.cjs +463 -451
  28. package/dist/index.d.cts +27 -7
  29. package/dist/index.d.ts +27 -7
  30. package/dist/index.js +3 -3
  31. package/dist/pagination/index.d.cts +2 -2
  32. package/dist/pagination/index.d.ts +2 -2
  33. package/dist/{sync-engine-CBYlsAfA.d.ts → sync-engine-CZ0U9XBy.d.ts} +13 -7
  34. package/dist/{sync-engine-CvB6DrbK.d.cts → sync-engine-DXESBFX0.d.cts} +13 -7
  35. package/package.json +1 -1
  36. package/dist/chunk-ETPR6MV5.js.map +0 -1
  37. package/dist/chunk-GJXK5EID.js.map +0 -1
  38. package/dist/chunk-IM7TFRLL.js.map +0 -1
  39. package/dist/chunk-SQ3TK5MI.cjs.map +0 -1
@@ -853,11 +853,44 @@ function hasMultilineItems(maybeArray) {
853
853
  }
854
854
 
855
855
  // src/transport/core/token-refresh.ts
856
+ var REFRESH_FAILURE_COOLDOWN_MS = 6e4;
856
857
  var inFlightRefreshes = /* @__PURE__ */ new WeakMap();
858
+ var recentRefreshFailures = /* @__PURE__ */ new WeakMap();
859
+ function getBlockedRefreshError(getToken) {
860
+ const recentFailure = recentRefreshFailures.get(getToken);
861
+ if (!recentFailure) {
862
+ return void 0;
863
+ }
864
+ if (recentFailure.retryAt <= Date.now()) {
865
+ recentRefreshFailures.delete(getToken);
866
+ return void 0;
867
+ }
868
+ return recentFailure.error;
869
+ }
870
+ function rememberRefreshFailure(getToken, error) {
871
+ const normalizedError = error instanceof Error ? error : new chunkKV5SP7RP_cjs.DvinaAuthenticationError("Token refresh failed unexpectedly");
872
+ recentRefreshFailures.set(getToken, {
873
+ error: normalizedError,
874
+ retryAt: Date.now() + REFRESH_FAILURE_COOLDOWN_MS
875
+ });
876
+ return normalizedError;
877
+ }
878
+ function clearRefreshFailure(getToken) {
879
+ recentRefreshFailures.delete(getToken);
880
+ }
857
881
  async function refreshTokenSingleFlight(getToken, failedToken) {
882
+ const blockedError = getBlockedRefreshError(getToken);
883
+ if (blockedError) {
884
+ throw blockedError;
885
+ }
858
886
  let inFlight = inFlightRefreshes.get(getToken);
859
887
  if (!inFlight) {
860
- const refreshPromise = getToken({ forceRefresh: true }).finally(() => {
888
+ const refreshPromise = getToken({ forceRefresh: true }).then((token) => {
889
+ clearRefreshFailure(getToken);
890
+ return token;
891
+ }).catch((error) => {
892
+ throw rememberRefreshFailure(getToken, error);
893
+ }).finally(() => {
861
894
  if (inFlightRefreshes.get(getToken) === refreshPromise) {
862
895
  inFlightRefreshes.delete(getToken);
863
896
  }
@@ -867,8 +900,12 @@ async function refreshTokenSingleFlight(getToken, failedToken) {
867
900
  }
868
901
  const refreshedToken = await inFlight;
869
902
  if (failedToken && refreshedToken === failedToken) {
870
- throw new chunkKV5SP7RP_cjs.DvinaAuthenticationError("Token refresh did not produce a new token", failedToken);
903
+ throw rememberRefreshFailure(
904
+ getToken,
905
+ new chunkKV5SP7RP_cjs.DvinaAuthenticationError("Token refresh did not produce a new token", failedToken)
906
+ );
871
907
  }
908
+ clearRefreshFailure(getToken);
872
909
  return refreshedToken;
873
910
  }
874
911
 
@@ -1609,5 +1646,5 @@ exports.SubscriptionProvider = SubscriptionProvider;
1609
1646
  exports.createHttpTransport = createHttpTransport;
1610
1647
  exports.print = print;
1611
1648
  exports.refreshTokenSingleFlight = refreshTokenSingleFlight;
1612
- //# sourceMappingURL=chunk-5JLVHE5X.cjs.map
1613
- //# sourceMappingURL=chunk-5JLVHE5X.cjs.map
1649
+ //# sourceMappingURL=chunk-VDPZQ5F3.cjs.map
1650
+ //# sourceMappingURL=chunk-VDPZQ5F3.cjs.map