@sinch/sdk-client 1.5.0 → 1.6.0

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 (87) hide show
  1. package/dist/api/api-client-options-helper.d.ts +3 -3
  2. package/dist/api/api-client-options-helper.js +41 -11
  3. package/dist/api/api-client-options-helper.js.map +1 -1
  4. package/dist/api/api-client-options.d.ts +7 -2
  5. package/dist/api/api-client.d.ts +3 -1
  6. package/dist/api/api-client.js +4 -0
  7. package/dist/api/api-client.js.map +1 -1
  8. package/dist/api/api-errors.js.map +1 -1
  9. package/dist/client/api-client-helpers.js.map +1 -1
  10. package/dist/client/api-client-pagination-helper.js +24 -0
  11. package/dist/client/api-client-pagination-helper.js.map +1 -1
  12. package/dist/client/api-fetch-client.d.ts +3 -1
  13. package/dist/client/api-fetch-client.js +58 -50
  14. package/dist/client/api-fetch-client.js.map +1 -1
  15. package/dist/client/lazy-api-client.js.map +1 -1
  16. package/dist/client/retry-policy.d.ts +33 -0
  17. package/dist/client/retry-policy.js +112 -0
  18. package/dist/client/retry-policy.js.map +1 -0
  19. package/dist/domain/domain-helper.d.ts +3 -2
  20. package/dist/domain/domain-helper.js +4 -3
  21. package/dist/domain/domain-helper.js.map +1 -1
  22. package/dist/domain/domain-interface.d.ts +88 -9
  23. package/dist/domain/domain-interface.js +35 -3
  24. package/dist/domain/domain-interface.js.map +1 -1
  25. package/dist/http/fetch/fetch-http-content-parser.d.ts +13 -0
  26. package/dist/http/fetch/fetch-http-content-parser.js +65 -0
  27. package/dist/http/fetch/fetch-http-content-parser.js.map +1 -0
  28. package/dist/http/fetch/fetch-http-headers.d.ts +4 -0
  29. package/dist/http/fetch/fetch-http-headers.js +37 -0
  30. package/dist/http/fetch/fetch-http-headers.js.map +1 -0
  31. package/dist/http/fetch/fetch-http-request-mapper.d.ts +8 -0
  32. package/dist/http/fetch/fetch-http-request-mapper.js +31 -0
  33. package/dist/http/fetch/fetch-http-request-mapper.js.map +1 -0
  34. package/dist/http/fetch/fetch-http-response.d.ts +3 -0
  35. package/dist/http/fetch/fetch-http-response.js +10 -0
  36. package/dist/http/fetch/fetch-http-response.js.map +1 -0
  37. package/dist/http/fetch/fetch-http-transport.d.ts +11 -0
  38. package/dist/http/fetch/fetch-http-transport.js +44 -0
  39. package/dist/http/fetch/fetch-http-transport.js.map +1 -0
  40. package/dist/http/fetch/index.d.ts +5 -0
  41. package/dist/http/fetch/index.js +15 -0
  42. package/dist/http/fetch/index.js.map +1 -0
  43. package/dist/http/http-content-parser.d.ts +13 -0
  44. package/dist/http/http-content-parser.js +3 -0
  45. package/dist/http/http-content-parser.js.map +1 -0
  46. package/dist/http/http-headers.d.ts +16 -0
  47. package/dist/http/http-headers.js +63 -0
  48. package/dist/http/http-headers.js.map +1 -0
  49. package/dist/http/http-method.d.ts +10 -0
  50. package/dist/http/http-method.js +26 -0
  51. package/dist/http/http-method.js.map +1 -0
  52. package/dist/http/http-request.d.ts +27 -0
  53. package/dist/http/http-request.js +19 -0
  54. package/dist/http/http-request.js.map +1 -0
  55. package/dist/http/http-response.d.ts +12 -0
  56. package/dist/http/http-response.js +16 -0
  57. package/dist/http/http-response.js.map +1 -0
  58. package/dist/http/http-transport.d.ts +15 -0
  59. package/dist/http/http-transport.js +3 -0
  60. package/dist/http/http-transport.js.map +1 -0
  61. package/dist/http/index.d.ts +6 -0
  62. package/dist/http/index.js +13 -0
  63. package/dist/http/index.js.map +1 -0
  64. package/dist/logger/logger.js +11 -3
  65. package/dist/logger/logger.js.map +1 -1
  66. package/dist/logger/sinch-logger.d.ts +1 -1
  67. package/dist/logger/sinch-logger.js +1 -1
  68. package/dist/logger/sinch-logger.js.map +1 -1
  69. package/dist/plugins/additional-headers/additional-headers.request.js.map +1 -1
  70. package/dist/plugins/api-token/api-token.request.js.map +1 -1
  71. package/dist/plugins/basicAuthentication/basic-authentication.request.js.map +1 -1
  72. package/dist/plugins/core/index.d.ts +1 -1
  73. package/dist/plugins/core/index.js +1 -0
  74. package/dist/plugins/core/index.js.map +1 -1
  75. package/dist/plugins/core/request-plugin.js.map +1 -1
  76. package/dist/plugins/exception/exception.response.js.map +1 -1
  77. package/dist/plugins/oauth2/oauth2-api.js.map +1 -1
  78. package/dist/plugins/oauth2/oauth2-token.request.d.ts +2 -6
  79. package/dist/plugins/oauth2/oauth2-token.request.js +24 -77
  80. package/dist/plugins/oauth2/oauth2-token.request.js.map +1 -1
  81. package/dist/plugins/signing/signing.request.js.map +1 -1
  82. package/dist/plugins/version/version.request.js.map +1 -1
  83. package/dist/plugins/x-timestamp/x-timestamp.request.js.map +1 -1
  84. package/dist/utils/authorization.helper.js.map +1 -1
  85. package/dist/utils/date.js.map +1 -1
  86. package/dist/utils/text-to-hex.js.map +1 -1
  87. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"api-fetch-client.js","sourceRoot":"","sources":["../../src/client/api-fetch-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-fetch-client.js","sourceRoot":"","sources":["../../src/client/api-fetch-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-api-client.js","sourceRoot":"","sources":["../../src/client/lazy-api-client.ts"],"names":[],"mappings":";;;AAGA,0FAA0F;AAC1F,MAAsB,aAAa;IAIjC,YAAY,YAA2C;QACrD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAClC,CAAC;CACF;AAXD,sCAWC"}
1
+ {"version":3,"file":"lazy-api-client.js","sourceRoot":"","sources":["../../src/client/lazy-api-client.ts"],"names":[],"mappings":";;;AAGA,0FAA0F;AAC1F;IAIE,YAAY,YAA2C;QACrD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ import { SupportedRetryPolicy, WithRetryPolicy } from '../domain';
2
+ /** Base delay for full-jitter exponential backoff (1 second). */
3
+ export declare const RATE_LIMIT_RETRY_BASE_MS = 1000;
4
+ /** @internal */
5
+ export interface ResolvedRetryConfig {
6
+ retryPolicy: SupportedRetryPolicy;
7
+ maxRetryCount: number;
8
+ exponentialBackoff: number;
9
+ }
10
+ /** @internal */
11
+ export declare const resolveRetryConfig: (partial?: WithRetryPolicy) => ResolvedRetryConfig;
12
+ /**
13
+ * Parse an RFC 7231 `Retry-After` value (delta-seconds or HTTP-date) to milliseconds.
14
+ * Negative delta-seconds are ignored. Returns undefined when the value is absent or invalid.
15
+ */
16
+ /** @internal */
17
+ export declare const parseRetryAfterMs: (value: string | null | undefined) => number | undefined;
18
+ /**
19
+ * Whether the SDK should retry this response for the given attempt index (0 = first retry).
20
+ * `retryAfterMs` is the already-parsed `Retry-After` delay (undefined if absent/invalid).
21
+ */
22
+ /** @internal */
23
+ export declare const shouldRetryRateLimit: (status: number, attempt: number, config: ResolvedRetryConfig, retryAfterMs?: number) => boolean;
24
+ /**
25
+ * Backoff delay for a rate-limit retry, respecting the configured policy.
26
+ * - DEFAULT: Retry-After (+ 0–250ms jitter) when parseable, else full-jitter exponential
27
+ * - RETRY_AFTER: Retry-After (+ jitter) only (caller must have validated the header)
28
+ * - BACKOFF: full-jitter exponential only
29
+ */
30
+ /** @internal */
31
+ export declare const computeRateLimitBackoffMs: (attempt: number, config: ResolvedRetryConfig, retryAfterMs?: number) => number;
32
+ /** @internal */
33
+ export declare const sleep: (ms: number) => Promise<void>;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleep = exports.computeRateLimitBackoffMs = exports.shouldRetryRateLimit = exports.parseRetryAfterMs = exports.resolveRetryConfig = exports.RATE_LIMIT_RETRY_BASE_MS = void 0;
4
+ const domain_1 = require("../domain");
5
+ /** Base delay for full-jitter exponential backoff (1 second). */
6
+ exports.RATE_LIMIT_RETRY_BASE_MS = 1_000;
7
+ const DEFAULT_MAX_RETRY_COUNT = 3;
8
+ const DEFAULT_EXPONENTIAL_BACKOFF = 4;
9
+ const isSupportedRetryPolicy = (value) => value === domain_1.SupportedRetryPolicy.DEFAULT
10
+ || value === domain_1.SupportedRetryPolicy.RETRY_AFTER
11
+ || value === domain_1.SupportedRetryPolicy.BACKOFF
12
+ || value === domain_1.SupportedRetryPolicy.NONE;
13
+ /** @internal */
14
+ const resolveRetryConfig = (partial) => {
15
+ const retryPolicy = partial?.retryPolicy ?? domain_1.SupportedRetryPolicy.DEFAULT;
16
+ if (!isSupportedRetryPolicy(retryPolicy)) {
17
+ throw new Error('Invalid configuration: "retryPolicy" must be DEFAULT, RETRY_AFTER, BACKOFF, or NONE');
18
+ }
19
+ const maxRetryCount = partial?.maxRetryCount ?? DEFAULT_MAX_RETRY_COUNT;
20
+ if (!Number.isInteger(maxRetryCount) || maxRetryCount < 0) {
21
+ throw new Error('Invalid configuration: "maxRetryCount" must be a non-negative integer');
22
+ }
23
+ const exponentialBackoff = partial?.exponentialBackoff ?? DEFAULT_EXPONENTIAL_BACKOFF;
24
+ if (!Number.isFinite(exponentialBackoff) || exponentialBackoff <= 0) {
25
+ throw new Error('Invalid configuration: "exponentialBackoff" must be a positive number');
26
+ }
27
+ return { retryPolicy, maxRetryCount, exponentialBackoff };
28
+ };
29
+ exports.resolveRetryConfig = resolveRetryConfig;
30
+ /**
31
+ * ANSI C asctime() form from RFC 7231 §7.1.1.1 (`Sun Nov 6 08:49:37 1994`).
32
+ * It has no timezone; the spec treats it as GMT. `Date.parse` otherwise uses local time.
33
+ */
34
+ const ASCTIME_HTTP_DATE = /^[A-Za-z]{3} [A-Za-z]{3} [\d ]\d \d{2}:\d{2}:\d{2} \d{4}$/;
35
+ const toParseableHttpDate = (value) => ASCTIME_HTTP_DATE.test(value) ? `${value} GMT` : value;
36
+ /**
37
+ * Parse an RFC 7231 `Retry-After` value (delta-seconds or HTTP-date) to milliseconds.
38
+ * Negative delta-seconds are ignored. Returns undefined when the value is absent or invalid.
39
+ */
40
+ /** @internal */
41
+ const parseRetryAfterMs = (value) => {
42
+ if (value === null || value === undefined) {
43
+ return undefined;
44
+ }
45
+ const trimmed = value.trim();
46
+ if (trimmed === '') {
47
+ return undefined;
48
+ }
49
+ const asNumber = Number(trimmed);
50
+ if (Number.isFinite(asNumber)) {
51
+ // Negative delta-seconds are ignored per the retry policy spec.
52
+ if (asNumber < 0) {
53
+ return undefined;
54
+ }
55
+ return Math.floor(asNumber * 1000);
56
+ }
57
+ const asDate = Date.parse(toParseableHttpDate(trimmed));
58
+ if (!Number.isNaN(asDate)) {
59
+ return Math.max(0, asDate - Date.now());
60
+ }
61
+ return undefined;
62
+ };
63
+ exports.parseRetryAfterMs = parseRetryAfterMs;
64
+ /**
65
+ * Whether the SDK should retry this response for the given attempt index (0 = first retry).
66
+ * `retryAfterMs` is the already-parsed `Retry-After` delay (undefined if absent/invalid).
67
+ */
68
+ /** @internal */
69
+ const shouldRetryRateLimit = (status, attempt, config, retryAfterMs) => {
70
+ if (status !== 429) {
71
+ return false;
72
+ }
73
+ if (config.retryPolicy === domain_1.SupportedRetryPolicy.NONE) {
74
+ return false;
75
+ }
76
+ if (attempt >= config.maxRetryCount) {
77
+ return false;
78
+ }
79
+ if (config.retryPolicy === domain_1.SupportedRetryPolicy.RETRY_AFTER) {
80
+ return retryAfterMs !== undefined;
81
+ }
82
+ return config.retryPolicy === domain_1.SupportedRetryPolicy.DEFAULT
83
+ || config.retryPolicy === domain_1.SupportedRetryPolicy.BACKOFF;
84
+ };
85
+ exports.shouldRetryRateLimit = shouldRetryRateLimit;
86
+ /**
87
+ * Backoff delay for a rate-limit retry, respecting the configured policy.
88
+ * - DEFAULT: Retry-After (+ 0–250ms jitter) when parseable, else full-jitter exponential
89
+ * - RETRY_AFTER: Retry-After (+ jitter) only (caller must have validated the header)
90
+ * - BACKOFF: full-jitter exponential only
91
+ */
92
+ /** @internal */
93
+ const computeRateLimitBackoffMs = (attempt, config, retryAfterMs) => {
94
+ const useRetryAfter = config.retryPolicy === domain_1.SupportedRetryPolicy.DEFAULT
95
+ || config.retryPolicy === domain_1.SupportedRetryPolicy.RETRY_AFTER;
96
+ const useBackoff = config.retryPolicy === domain_1.SupportedRetryPolicy.DEFAULT
97
+ || config.retryPolicy === domain_1.SupportedRetryPolicy.BACKOFF;
98
+ if (useRetryAfter && retryAfterMs !== undefined) {
99
+ // Small jitter so concurrent SinchClient instances don't all wake together.
100
+ return retryAfterMs + Math.floor(Math.random() * 250);
101
+ }
102
+ if (useBackoff) {
103
+ const ceilingMs = exports.RATE_LIMIT_RETRY_BASE_MS * Math.pow(config.exponentialBackoff, attempt);
104
+ return Math.floor(Math.random() * ceilingMs);
105
+ }
106
+ return 0;
107
+ };
108
+ exports.computeRateLimitBackoffMs = computeRateLimitBackoffMs;
109
+ /** @internal */
110
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
111
+ exports.sleep = sleep;
112
+ //# sourceMappingURL=retry-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-policy.js","sourceRoot":"","sources":["../../src/client/retry-policy.ts"],"names":[],"mappings":";;;AAAA,sCAAkE;AAElE,iEAAiE;AACpD,QAAA,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAStC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAiC,EAAE,CAC/E,KAAK,KAAK,6BAAoB,CAAC,OAAO;OACnC,KAAK,KAAK,6BAAoB,CAAC,WAAW;OAC1C,KAAK,KAAK,6BAAoB,CAAC,OAAO;OACtC,KAAK,KAAK,6BAAoB,CAAC,IAAI,CAAC;AAEzC,gBAAgB;AACT,MAAM,kBAAkB,GAAG,CAAC,OAAyB,EAAuB,EAAE;IACnF,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,6BAAoB,CAAC,OAAO,CAAC;IACzE,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,uBAAuB,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,2BAA2B,CAAC;IACtF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC5D,CAAC,CAAC;AAnBW,QAAA,kBAAkB,GAAlB,kBAAkB,CAmB7B;AAEF;;;GAGG;AACH,MAAM,iBAAiB,GAAG,2DAA2D,CAAC;AAEtF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE,CACpD,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AAEzD;;;GAGG;AACH,gBAAgB;AACT,MAAM,iBAAiB,GAAG,CAAC,KAAgC,EAAsB,EAAE;IACxF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,gEAAgE;QAChE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AArBW,QAAA,iBAAiB,GAAjB,iBAAiB,CAqB5B;AAEF;;;GAGG;AACH,gBAAgB;AACT,MAAM,oBAAoB,GAAG,CAClC,MAAc,EACd,OAAe,EACf,MAA2B,EAC3B,YAAqB,EACZ,EAAE;IACX,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,6BAAoB,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,6BAAoB,CAAC,WAAW,EAAE,CAAC;QAC5D,OAAO,YAAY,KAAK,SAAS,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,KAAK,6BAAoB,CAAC,OAAO;WACrD,MAAM,CAAC,WAAW,KAAK,6BAAoB,CAAC,OAAO,CAAC;AAC3D,CAAC,CAAC;AApBW,QAAA,oBAAoB,GAApB,oBAAoB,CAoB/B;AAEF;;;;;GAKG;AACH,gBAAgB;AACT,MAAM,yBAAyB,GAAG,CACvC,OAAe,EACf,MAA2B,EAC3B,YAAqB,EACb,EAAE;IACV,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,KAAK,6BAAoB,CAAC,OAAO;WACpE,MAAM,CAAC,WAAW,KAAK,6BAAoB,CAAC,WAAW,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,KAAK,6BAAoB,CAAC,OAAO;WACjE,MAAM,CAAC,WAAW,KAAK,6BAAoB,CAAC,OAAO,CAAC;IAEzD,IAAI,aAAa,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChD,4EAA4E;QAC5E,OAAO,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,QAAA,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AArBW,QAAA,yBAAyB,GAAzB,yBAAyB,CAqBpC;AAEF,gBAAgB;AACT,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CACjD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AADvC,QAAA,KAAK,GAAL,KAAK,CACkC"}
@@ -6,11 +6,11 @@ export declare const AUTH_HOSTNAME = "https://auth.sinch.com";
6
6
  export declare const CONVERSATION_HOSTNAME = "https://{region}conversation.api.sinch.com";
7
7
  /** @internal */
8
8
  export declare const CONVERSATION_TEMPLATES_HOSTNAME = "https://{region}template.api.sinch.com";
9
- /** @internal */
9
+ /** @internal @deprecated Elastic SIP Trunking support will be removed in version 2 of the SDK. */
10
10
  export declare const ELASTIC_SIP_TRUNKING_HOSTNAME = "https://elastic-trunking.api.sinch.com";
11
11
  /** @internal */
12
12
  export declare const FAX_HOSTNAME = "https://fax.api.sinch.com";
13
- /** @internal */
13
+ /** @internal @deprecated*/
14
14
  export declare const MAILGUN_HOSTNAME = "https://api.{region}mailgun.net";
15
15
  /** @internal */
16
16
  export declare const NUMBERS_HOSTNAME = "https://numbers.api.sinch.com";
@@ -24,5 +24,6 @@ export declare const VOICE_HOSTNAME = "https://calling{region}.api.sinch.com";
24
24
  export declare const VOICE_APPLICATION_MANAGEMENT_HOSTNAME = "https://callingapi.sinch.com";
25
25
  /** @internal */
26
26
  export declare const NUMBER_LOOKUP_HOSTNAME = "https://lookup.api.sinch.com";
27
+ export declare const PROVISIONING_HOSTNAME = "https://provisioning.api.sinch.com";
27
28
  /** @internal */
28
29
  export declare const formatRegionalizedHostname: (hostnamePattern: string, region: string) => string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatRegionalizedHostname = exports.NUMBER_LOOKUP_HOSTNAME = exports.VOICE_APPLICATION_MANAGEMENT_HOSTNAME = exports.VOICE_HOSTNAME = exports.VERIFICATION_HOSTNAME = exports.SMS_HOSTNAME = exports.NUMBERS_HOSTNAME = exports.MAILGUN_HOSTNAME = exports.FAX_HOSTNAME = exports.ELASTIC_SIP_TRUNKING_HOSTNAME = exports.CONVERSATION_TEMPLATES_HOSTNAME = exports.CONVERSATION_HOSTNAME = exports.AUTH_HOSTNAME = exports.REGION_PATTERN = void 0;
3
+ exports.formatRegionalizedHostname = exports.PROVISIONING_HOSTNAME = exports.NUMBER_LOOKUP_HOSTNAME = exports.VOICE_APPLICATION_MANAGEMENT_HOSTNAME = exports.VOICE_HOSTNAME = exports.VERIFICATION_HOSTNAME = exports.SMS_HOSTNAME = exports.NUMBERS_HOSTNAME = exports.MAILGUN_HOSTNAME = exports.FAX_HOSTNAME = exports.ELASTIC_SIP_TRUNKING_HOSTNAME = exports.CONVERSATION_TEMPLATES_HOSTNAME = exports.CONVERSATION_HOSTNAME = exports.AUTH_HOSTNAME = exports.REGION_PATTERN = void 0;
4
4
  /** @internal */
5
5
  exports.REGION_PATTERN = '{region}';
6
6
  /** @internal */
@@ -9,11 +9,11 @@ exports.AUTH_HOSTNAME = 'https://auth.sinch.com';
9
9
  exports.CONVERSATION_HOSTNAME = `https://${exports.REGION_PATTERN}conversation.api.sinch.com`;
10
10
  /** @internal */
11
11
  exports.CONVERSATION_TEMPLATES_HOSTNAME = `https://${exports.REGION_PATTERN}template.api.sinch.com`;
12
- /** @internal */
12
+ /** @internal @deprecated Elastic SIP Trunking support will be removed in version 2 of the SDK. */
13
13
  exports.ELASTIC_SIP_TRUNKING_HOSTNAME = 'https://elastic-trunking.api.sinch.com';
14
14
  /** @internal */
15
15
  exports.FAX_HOSTNAME = 'https://fax.api.sinch.com';
16
- /** @internal */
16
+ /** @internal @deprecated*/
17
17
  exports.MAILGUN_HOSTNAME = `https://api.${exports.REGION_PATTERN}mailgun.net`;
18
18
  /** @internal */
19
19
  exports.NUMBERS_HOSTNAME = 'https://numbers.api.sinch.com';
@@ -27,6 +27,7 @@ exports.VOICE_HOSTNAME = `https://calling${exports.REGION_PATTERN}.api.sinch.com
27
27
  exports.VOICE_APPLICATION_MANAGEMENT_HOSTNAME = 'https://callingapi.sinch.com';
28
28
  /** @internal */
29
29
  exports.NUMBER_LOOKUP_HOSTNAME = 'https://lookup.api.sinch.com';
30
+ exports.PROVISIONING_HOSTNAME = 'https://provisioning.api.sinch.com';
30
31
  /** @internal */
31
32
  const formatRegionalizedHostname = (hostnamePattern, region) => {
32
33
  return hostnamePattern.replace(exports.REGION_PATTERN, region);
@@ -1 +1 @@
1
- {"version":3,"file":"domain-helper.js","sourceRoot":"","sources":["../../src/domain/domain-helper.ts"],"names":[],"mappings":";;;AAAA,gBAAgB;AACH,QAAA,cAAc,GAAG,UAAU,CAAC;AAEzC,gBAAgB;AACH,QAAA,aAAa,GAAG,wBAAwB,CAAC;AACtD,gBAAgB;AACH,QAAA,qBAAqB,GAAG,WAAW,sBAAc,4BAA4B,CAAC;AAC3F,gBAAgB;AACH,QAAA,+BAA+B,GAAG,WAAW,sBAAc,wBAAwB,CAAC;AACjG,gBAAgB;AACH,QAAA,6BAA6B,GAAG,wCAAwC,CAAC;AACtF,gBAAgB;AACH,QAAA,YAAY,GAAG,2BAA2B,CAAC;AACxD,gBAAgB;AACH,QAAA,gBAAgB,GAAG,eAAe,sBAAc,aAAa,CAAC;AAC3E,gBAAgB;AACH,QAAA,gBAAgB,GAAG,+BAA+B,CAAC;AAChE,gBAAgB;AACH,QAAA,YAAY,GAAG,WAAW,sBAAc,mBAAmB,CAAC;AACzE,gBAAgB;AACH,QAAA,qBAAqB,GAAG,oCAAoC,CAAC;AAC1E,gBAAgB;AACH,QAAA,cAAc,GAAG,kBAAkB,sBAAc,gBAAgB,CAAC;AAC/E,gBAAgB;AACH,QAAA,qCAAqC,GAAG,8BAA8B,CAAC;AACpF,gBAAgB;AACH,QAAA,sBAAsB,GAAG,8BAA8B,CAAC;AAErE,gBAAgB;AACT,MAAM,0BAA0B,GAAG,CAAC,eAAuB,EAAE,MAAc,EAAE,EAAE;IACpF,OAAO,eAAe,CAAC,OAAO,CAAC,sBAAc,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,0BAA0B,8BAErC"}
1
+ {"version":3,"file":"domain-helper.js","sourceRoot":"","sources":["../../src/domain/domain-helper.ts"],"names":[],"mappings":";;;AAAA,gBAAgB;AACH,QAAA,cAAc,GAAG,UAAU,CAAC;AAEzC,gBAAgB;AACH,QAAA,aAAa,GAAG,wBAAwB,CAAC;AACtD,gBAAgB;AACH,QAAA,qBAAqB,GAAG,WAAW,QAAA,cAAc,4BAA4B,CAAC;AAC3F,gBAAgB;AACH,QAAA,+BAA+B,GAAG,WAAW,QAAA,cAAc,wBAAwB,CAAC;AACjG,kGAAkG;AACrF,QAAA,6BAA6B,GAAG,wCAAwC,CAAC;AACtF,gBAAgB;AACH,QAAA,YAAY,GAAG,2BAA2B,CAAC;AACxD,2BAA2B;AACd,QAAA,gBAAgB,GAAG,eAAe,QAAA,cAAc,aAAa,CAAC;AAC3E,gBAAgB;AACH,QAAA,gBAAgB,GAAG,+BAA+B,CAAC;AAChE,gBAAgB;AACH,QAAA,YAAY,GAAG,WAAW,QAAA,cAAc,mBAAmB,CAAC;AACzE,gBAAgB;AACH,QAAA,qBAAqB,GAAG,oCAAoC,CAAC;AAC1E,gBAAgB;AACH,QAAA,cAAc,GAAG,kBAAkB,QAAA,cAAc,gBAAgB,CAAC;AAC/E,gBAAgB;AACH,QAAA,qCAAqC,GAAG,8BAA8B,CAAC;AACpF,gBAAgB;AACH,QAAA,sBAAsB,GAAG,8BAA8B,CAAC;AACxD,QAAA,qBAAqB,GAAG,oCAAoC,CAAC;AAE1E,gBAAgB;AACT,MAAM,0BAA0B,GAAG,CAAC,eAAuB,EAAE,MAAc,EAAE,EAAE;IACpF,OAAO,eAAe,CAAC,OAAO,CAAC,QAAA,cAAc,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,0BAA0B,GAA1B,0BAA0B,CAErC"}
@@ -7,8 +7,12 @@ import { Logger } from '../logger';
7
7
  * - OAuth2: Conversation, Fax, Numbers and SMS (US and EU regions only)
8
8
  * - API Token: SMS on all regions
9
9
  * - Application Signed: Verification and Voice
10
+ *
11
+ * Optional cross-cutting settings include `logger` ({@link WithLogger}),
12
+ * retry tuning via `retryPolicy`, `maxRetryCount`, and `exponentialBackoff`
13
+ * ({@link WithRetryPolicy}), and transport settings ({@link TransportSettings}).
10
14
  */
11
- export type SinchClientParameters = Partial<UnifiedCredentials & ServicePlanIdCredentials & ApplicationCredentials & ApiHostname & ApiPlugins & WithLogger>;
15
+ export type SinchClientParameters = Partial<UnifiedCredentials & ServicePlanIdCredentials & ApplicationCredentials & ApiHostname & ApiPlugins & WithLogger & WithRetryPolicy & TransportSettings>;
12
16
  export interface UnifiedCredentials {
13
17
  /** The project ID associated with the API Client. You can find this on your [Dashboard](https://dashboard.sinch.com/account/access-keys). */
14
18
  projectId: string;
@@ -25,7 +29,7 @@ export interface UnifiedCredentials {
25
29
  /** The region for the Conversation API. Default region is US */
26
30
  conversationRegion?: ConversationRegion;
27
31
  }
28
- /** @internal */
32
+ /** @internal @deprecated */
29
33
  export interface MailgunCredentials {
30
34
  /** Your API Key created from the [Mailgun Dashboard](https://app.mailgun.com/settings/api_security) */
31
35
  mailgunApiKey: string;
@@ -57,11 +61,11 @@ export interface ApiHostname {
57
61
  conversationHostname?: string;
58
62
  /** Override the hostname for the Conversation Templates API - Note the regions become ineffective */
59
63
  conversationTemplatesHostname?: string;
60
- /** Override the hostname for the Elastic SIP Trunking API */
64
+ /** @deprecated Elastic SIP Trunking support will be removed in version 2 of the SDK. Override the hostname for the Elastic SIP Trunking API */
61
65
  elasticSipTrunkingHostname?: string;
62
66
  /** Override the hostname for the Fax API */
63
67
  faxHostname?: string;
64
- /** Override the hostname for the Mailgun API - Note the regions become ineffective */
68
+ /** @deprecated Mailgun was never released as a Node SDK product. */
65
69
  mailgunHostname?: string;
66
70
  /** Override the hostname for the Numbers API */
67
71
  numbersHostname?: string;
@@ -73,8 +77,12 @@ export interface ApiHostname {
73
77
  voiceHostname?: string;
74
78
  /** Override the hostname for the Voice Application Management API */
75
79
  voiceApplicationManagementHostname?: string;
80
+ /** Override the hostname for the Voice API v2 */
81
+ voiceV2Hostname?: string;
76
82
  /** Override the hostname for the Number Lookup API */
77
83
  numberLookupHostname?: string;
84
+ /** Override the hostname for the Provisioning API */
85
+ provisioningHostname?: string;
78
86
  }
79
87
  export interface ApiPlugins {
80
88
  /** Add more plugins to action on the request before it is sent */
@@ -147,14 +155,14 @@ export declare const ConversationRegion: {
147
155
  EUROPE: SupportedConversationRegion.EUROPE;
148
156
  BRAZIL: SupportedConversationRegion.BRAZIL;
149
157
  };
150
- /** @internal */
158
+ /** @internal @deprecated Mailgun was never released as a Node SDK product. */
151
159
  export declare enum SupportedMailgunRegion {
152
160
  DEFAULT = "",
153
161
  EUROPE = "eu"
154
162
  }
155
- /** @internal */
163
+ /** @internal @deprecated Mailgun was never released as a Node SDK product. */
156
164
  export type MailgunRegion = SupportedMailgunRegion | string;
157
- /** @internal */
165
+ /** @internal @deprecated Mailgun was never released as a Node SDK product. */
158
166
  export declare const MailgunRegion: {
159
167
  DEFAULT: SupportedMailgunRegion.DEFAULT;
160
168
  EUROPE: SupportedMailgunRegion.EUROPE;
@@ -167,7 +175,78 @@ export interface WithLogger {
167
175
  */
168
176
  logger?: Logger | null;
169
177
  }
170
- /** Sinch client parameters with a resolved logger (never null or undefined). */
171
- export type ResolvedSinchClientParameters = Omit<SinchClientParameters, 'logger'> & {
178
+ /**
179
+ * Policy used when the SDK retries a failed HTTP call.
180
+ * - `DEFAULT`: honor `Retry-After` when present, otherwise exponential backoff
181
+ * - `RETRY_AFTER`: only retry when a usable `Retry-After` header is present
182
+ * - `BACKOFF`: ignore `Retry-After`; use full-jitter exponential backoff only
183
+ * - `NONE`: disable automatic retries
184
+ */
185
+ export declare enum SupportedRetryPolicy {
186
+ DEFAULT = "DEFAULT",
187
+ RETRY_AFTER = "RETRY_AFTER",
188
+ BACKOFF = "BACKOFF",
189
+ NONE = "NONE"
190
+ }
191
+ export type RetryPolicy = SupportedRetryPolicy;
192
+ export declare const RetryPolicy: {
193
+ DEFAULT: SupportedRetryPolicy.DEFAULT;
194
+ RETRY_AFTER: SupportedRetryPolicy.RETRY_AFTER;
195
+ BACKOFF: SupportedRetryPolicy.BACKOFF;
196
+ NONE: SupportedRetryPolicy.NONE;
197
+ };
198
+ /**
199
+ * Tunable retry settings applied to all SDK HTTP calls (OAuth and product APIs).
200
+ * Defaults: `retryPolicy=DEFAULT`, `maxRetryCount=3`, `exponentialBackoff=4`.
201
+ */
202
+ export interface WithRetryPolicy {
203
+ /**
204
+ * How the SDK should retry eligible failed HTTP responses.
205
+ * Unknown values are rejected.
206
+ * @default RetryPolicy.DEFAULT
207
+ */
208
+ retryPolicy?: RetryPolicy;
209
+ /**
210
+ * Maximum number of retries after the first attempt before the error is surfaced to the caller.
211
+ * Must be a non-negative integer.
212
+ * @default 3
213
+ */
214
+ maxRetryCount?: number;
215
+ /**
216
+ * Growth factor for the full-jitter exponential backoff ceiling
217
+ * (`1000ms * exponentialBackoff^attempt`).
218
+ * Must be a positive number.
219
+ * @default 4
220
+ */
221
+ exponentialBackoff?: number;
222
+ }
223
+ /** Default HTTP I/O timeout in seconds when `timeoutSeconds` is omitted. */
224
+ export declare const DEFAULT_TIMEOUT_SECONDS = 60;
225
+ /**
226
+ * Resolve `timeoutSeconds`, defaulting to {@link DEFAULT_TIMEOUT_SECONDS}.
227
+ * `0` disables the timeout.
228
+ * @internal
229
+ */
230
+ export declare const resolveTimeoutSeconds: (timeoutSeconds?: number) => number;
231
+ /**
232
+ * Transport-level settings shared by SinchClient and (later) request-level options.
233
+ */
234
+ export interface TransportSettings {
235
+ /**
236
+ * When true (default), OAuth-capable APIs authenticate against Sinch auth.
237
+ * Set false to skip Sinch OAuth (e.g. custom Authorization via requestPlugins).
238
+ * When false, OAuth-capable APIs require only `projectId`.
239
+ */
240
+ useSinchAuth?: boolean;
241
+ /**
242
+ * Request/connection timeout in seconds for HTTP I/O. Default: 60.
243
+ * Pass 0 to disable the timeout.
244
+ */
245
+ timeoutSeconds?: number;
246
+ }
247
+ /** Sinch client parameters with resolved logger and transport defaults. */
248
+ export type ResolvedSinchClientParameters = Omit<SinchClientParameters, 'logger' | 'useSinchAuth' | 'timeoutSeconds'> & {
172
249
  logger: Logger;
250
+ useSinchAuth: boolean;
251
+ timeoutSeconds: number;
173
252
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MailgunRegion = exports.SupportedMailgunRegion = exports.ConversationRegion = exports.SupportedConversationRegion = exports.FaxRegion = exports.SupportedFaxRegion = exports.VoiceRegion = exports.SupportedVoiceRegion = exports.SmsRegion = exports.SupportedSmsRegion = exports.isServicePlanIdCredentials = exports.isUnifiedCredentials = void 0;
3
+ exports.resolveTimeoutSeconds = exports.DEFAULT_TIMEOUT_SECONDS = exports.RetryPolicy = exports.SupportedRetryPolicy = exports.MailgunRegion = exports.SupportedMailgunRegion = exports.ConversationRegion = exports.SupportedConversationRegion = exports.FaxRegion = exports.SupportedFaxRegion = exports.VoiceRegion = exports.SupportedVoiceRegion = exports.SmsRegion = exports.SupportedSmsRegion = exports.isServicePlanIdCredentials = exports.isUnifiedCredentials = void 0;
4
4
  const isUnifiedCredentials = (credentials) => {
5
5
  const candidate = (credentials);
6
6
  return candidate.projectId !== undefined
@@ -70,14 +70,46 @@ exports.ConversationRegion = {
70
70
  };
71
71
  // ////////////////////
72
72
  // Mailgun regions
73
- /** @internal */
73
+ /** @internal @deprecated Mailgun was never released as a Node SDK product. */
74
74
  var SupportedMailgunRegion;
75
75
  (function (SupportedMailgunRegion) {
76
76
  SupportedMailgunRegion["DEFAULT"] = "";
77
77
  SupportedMailgunRegion["EUROPE"] = "eu";
78
78
  })(SupportedMailgunRegion || (exports.SupportedMailgunRegion = SupportedMailgunRegion = {}));
79
- /** @internal */
79
+ /** @internal @deprecated Mailgun was never released as a Node SDK product. */
80
80
  exports.MailgunRegion = {
81
81
  ...SupportedMailgunRegion,
82
82
  };
83
+ /**
84
+ * Policy used when the SDK retries a failed HTTP call.
85
+ * - `DEFAULT`: honor `Retry-After` when present, otherwise exponential backoff
86
+ * - `RETRY_AFTER`: only retry when a usable `Retry-After` header is present
87
+ * - `BACKOFF`: ignore `Retry-After`; use full-jitter exponential backoff only
88
+ * - `NONE`: disable automatic retries
89
+ */
90
+ var SupportedRetryPolicy;
91
+ (function (SupportedRetryPolicy) {
92
+ SupportedRetryPolicy["DEFAULT"] = "DEFAULT";
93
+ SupportedRetryPolicy["RETRY_AFTER"] = "RETRY_AFTER";
94
+ SupportedRetryPolicy["BACKOFF"] = "BACKOFF";
95
+ SupportedRetryPolicy["NONE"] = "NONE";
96
+ })(SupportedRetryPolicy || (exports.SupportedRetryPolicy = SupportedRetryPolicy = {}));
97
+ exports.RetryPolicy = {
98
+ ...SupportedRetryPolicy,
99
+ };
100
+ /** Default HTTP I/O timeout in seconds when `timeoutSeconds` is omitted. */
101
+ exports.DEFAULT_TIMEOUT_SECONDS = 60;
102
+ /**
103
+ * Resolve `timeoutSeconds`, defaulting to {@link DEFAULT_TIMEOUT_SECONDS}.
104
+ * `0` disables the timeout.
105
+ * @internal
106
+ */
107
+ const resolveTimeoutSeconds = (timeoutSeconds) => {
108
+ const value = timeoutSeconds ?? exports.DEFAULT_TIMEOUT_SECONDS;
109
+ if (!Number.isFinite(value) || value < 0) {
110
+ throw new Error('Invalid configuration: "timeoutSeconds" must be a non-negative number');
111
+ }
112
+ return value;
113
+ };
114
+ exports.resolveTimeoutSeconds = resolveTimeoutSeconds;
83
115
  //# sourceMappingURL=domain-interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain-interface.js","sourceRoot":"","sources":["../../src/domain/domain-interface.ts"],"names":[],"mappings":";;;AAkGO,MAAM,oBAAoB,GAAG,CAAC,WAAgB,EAAqC,EAAE;IAC1F,MAAM,SAAS,GAAG,CAAC,WAAW,CAAuB,CAAC;IACtD,OAAO,SAAS,CAAC,SAAS,KAAK,SAAS;WACnC,SAAS,CAAC,KAAK,KAAK,SAAS;WAC7B,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC;AACzC,CAAC,CAAC;AALW,QAAA,oBAAoB,wBAK/B;AAEK,MAAM,0BAA0B,GAAG,CAAC,WAAgB,EAA2C,EAAE;IACtG,MAAM,SAAS,GAAG,CAAC,WAAW,CAA6B,CAAC;IAC5D,OAAO,SAAS,CAAC,aAAa,KAAK,SAAS;WACvC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;AACxC,CAAC,CAAC;AAJW,QAAA,0BAA0B,8BAIrC;AAEF,gBAAgB;AAChB,cAAc;AACd,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,0CAAoB,CAAA;IACpB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,sCAAgB,CAAA;AAClB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAIY,QAAA,SAAS,GAAG;IACvB,GAAG,kBAAkB;CACtB,CAAC;AAEF,gBAAgB;AAChB,gBAAgB;AAChB,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,oCAAY,CAAA;IACZ,8CAAsB,CAAA;IACtB,uCAAe,CAAA;IACf,8CAAsB,CAAA;IACtB,kDAA0B,CAAA;IAC1B,kDAA0B,CAAA;AAC5B,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAIY,QAAA,WAAW,GAAG;IACzB,GAAG,oBAAoB;CACxB,CAAC;AAEF,cAAc;AACd,cAAc;AACd,kBAAkB;AAClB,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,kCAAY,CAAA;IACZ,4CAAsB,CAAA;IACtB,oCAAc,CAAA;IACd,4CAAsB,CAAA;IACtB,gDAA0B,CAAA;IAC1B,gDAA0B,CAAA;AAC5B,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAKD,kBAAkB;AACL,QAAA,SAAS,GAAG;IACvB,GAAG,kBAAkB;CACtB,CAAC;AAEF,uBAAuB;AACvB,uBAAuB;AACvB,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,mDAAoB,CAAA;IACpB,4CAAa,CAAA;IACb,4CAAa,CAAA;AACf,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC;AAIY,QAAA,kBAAkB,GAAG;IAChC,GAAG,2BAA2B;CAC/B,CAAC;AAEF,uBAAuB;AACvB,kBAAkB;AAClB,gBAAgB;AAChB,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,sCAAY,CAAA;IACZ,uCAAa,CAAA;AACf,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAKD,gBAAgB;AACH,QAAA,aAAa,GAAG;IAC3B,GAAG,sBAAsB;CAC1B,CAAC"}
1
+ {"version":3,"file":"domain-interface.js","sourceRoot":"","sources":["../../src/domain/domain-interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Response } from 'node-fetch';
2
+ import { HttpContentParser } from '../http-content-parser';
3
+ /** @internal */
4
+ export declare class FetchHttpContentParser implements HttpContentParser {
5
+ private readonly response;
6
+ private buffered;
7
+ private consumedAsStream;
8
+ constructor(response: Response);
9
+ asString(): Promise<string>;
10
+ asBytes(): Promise<Buffer>;
11
+ asJson(): Promise<unknown>;
12
+ asStream(): NodeJS.ReadableStream;
13
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FetchHttpContentParser = void 0;
4
+ const stream_1 = require("stream");
5
+ const DEFAULT_FALLBACK_ENCODING = 'utf-8';
6
+ const CHARSET_TO_ENCODING = {
7
+ 'utf-8': DEFAULT_FALLBACK_ENCODING,
8
+ utf8: DEFAULT_FALLBACK_ENCODING,
9
+ ascii: 'ascii',
10
+ 'us-ascii': 'ascii',
11
+ latin1: 'latin1',
12
+ 'iso-8859-1': 'latin1',
13
+ 'iso8859-1': 'latin1',
14
+ };
15
+ /** @internal */
16
+ class FetchHttpContentParser {
17
+ constructor(response) {
18
+ this.response = response;
19
+ this.consumedAsStream = false;
20
+ }
21
+ async asString() {
22
+ const bytes = await this.asBytes();
23
+ return bytes.toString(encodingFromContentType(this.response.headers.get('content-type')));
24
+ }
25
+ async asBytes() {
26
+ if (this.buffered) {
27
+ return this.buffered;
28
+ }
29
+ if (this.consumedAsStream) {
30
+ throw new Error('Response body already consumed as a stream');
31
+ }
32
+ this.buffered = await this.response.buffer();
33
+ return this.buffered;
34
+ }
35
+ async asJson() {
36
+ const text = await this.asString();
37
+ return text ? JSON.parse(text) : undefined;
38
+ }
39
+ asStream() {
40
+ if (this.buffered) {
41
+ return stream_1.Readable.from([this.buffered]);
42
+ }
43
+ if (this.consumedAsStream) {
44
+ throw new Error('Response body already consumed as a stream');
45
+ }
46
+ const stream = this.response.body;
47
+ if (!stream) {
48
+ throw new Error('Response body stream is not available');
49
+ }
50
+ this.consumedAsStream = true;
51
+ return stream;
52
+ }
53
+ }
54
+ exports.FetchHttpContentParser = FetchHttpContentParser;
55
+ function encodingFromContentType(contentType) {
56
+ if (!contentType) {
57
+ return DEFAULT_FALLBACK_ENCODING;
58
+ }
59
+ const match = /charset\s*=\s*["']?([^;"'\s]+)/i.exec(contentType);
60
+ if (!match) {
61
+ return DEFAULT_FALLBACK_ENCODING;
62
+ }
63
+ return CHARSET_TO_ENCODING[match[1].toLowerCase()] ?? DEFAULT_FALLBACK_ENCODING;
64
+ }
65
+ //# sourceMappingURL=fetch-http-content-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-http-content-parser.js","sourceRoot":"","sources":["../../../src/http/fetch/fetch-http-content-parser.ts"],"names":[],"mappings":";;;AACA,mCAAkC;AAGlC,MAAM,yBAAyB,GAAmB,OAAO,CAAC;AAE1D,MAAM,mBAAmB,GAAmC;IAC1D,OAAO,EAAE,yBAAyB;IAClC,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,QAAQ;CACtB,CAAC;AAEF,gBAAgB;AAChB;IAIE,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAFvC,qBAAgB,GAAG,KAAK,CAAC;IAEiB,CAAC;IAEnD,KAAK,CAAC,QAAQ;QACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,iBAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAoC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;;AAED,SAAS,uBAAuB,CAAC,WAAsC;IACrE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,yBAAyB,CAAC;IACnC,CAAC;IACD,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,yBAAyB,CAAC;IACnC,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,yBAAyB,CAAC;AAClF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Headers } from 'node-fetch';
2
+ import { HttpHeaders } from '../http-headers';
3
+ export declare function toFetchHeaders(headers: HttpHeaders): Headers;
4
+ export declare function fromFetchHeaders(headers: Headers): HttpHeaders;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toFetchHeaders = toFetchHeaders;
4
+ exports.fromFetchHeaders = fromFetchHeaders;
5
+ const node_fetch_1 = require("node-fetch");
6
+ const http_headers_1 = require("../http-headers");
7
+ function toFetchHeaders(headers) {
8
+ const fetchHeaders = new node_fetch_1.Headers();
9
+ for (const [name, value] of headers.entries()) {
10
+ fetchHeaders.append(name, value);
11
+ }
12
+ return fetchHeaders;
13
+ }
14
+ function fromFetchHeaders(headers) {
15
+ const result = new http_headers_1.HttpHeaders();
16
+ const rawHeaders = getRawHeaderMap(headers);
17
+ if (rawHeaders) {
18
+ for (const [name, values] of Object.entries(rawHeaders)) {
19
+ for (const value of values) {
20
+ result.append(name, value);
21
+ }
22
+ }
23
+ return result;
24
+ }
25
+ headers.forEach((value, name) => {
26
+ result.append(name, value);
27
+ });
28
+ return result;
29
+ }
30
+ const getRawHeaderMap = (headers) => {
31
+ const withRaw = headers;
32
+ if (typeof withRaw.raw !== 'function') {
33
+ return undefined;
34
+ }
35
+ return withRaw.raw();
36
+ };
37
+ //# sourceMappingURL=fetch-http-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-http-headers.js","sourceRoot":"","sources":["../../../src/http/fetch/fetch-http-headers.ts"],"names":[],"mappings":";;;;AAAA,2CAAqC;AACrC,kDAA8C;AAE9C,wBAA+B,OAAoB;IACjD,MAAM,YAAY,GAAG,IAAI,oBAAO,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,0BAAiC,OAAgB;IAC/C,MAAM,MAAM,GAAG,IAAI,0BAAW,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,eAAe,GAAG,CACtB,OAAgB,EACsB,EAAE;IACxC,MAAM,OAAO,GAAG,OAA6D,CAAC;IAC9E,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ApiCallParameters } from '../../api/api-client';
2
+ import { RequestOptions } from '../../plugins/core/request-plugin';
3
+ import { HttpRequest } from '../http-request';
4
+ /**
5
+ * Build an {@link HttpRequest} from existing {@link ApiCallParameters}.
6
+ * @internal
7
+ */
8
+ export declare function toHttpRequest(apiCallParameters: ApiCallParameters, requestOptions?: RequestOptions): HttpRequest;