@rudderstack/integrations-lib 0.2.55 → 0.2.57

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 (64) hide show
  1. package/build/index.d.ts +1 -2
  2. package/build/index.d.ts.map +1 -1
  3. package/build/index.js +2 -4
  4. package/build/network/clients/axios_client.d.ts +5 -6
  5. package/build/network/clients/axios_client.d.ts.map +1 -1
  6. package/build/network/clients/axios_client.js +40 -75
  7. package/build/network/clients/types.d.ts +5 -93
  8. package/build/network/clients/types.d.ts.map +1 -1
  9. package/build/network/clients/types.js +1 -1
  10. package/build/network/factory.d.ts +2 -12
  11. package/build/network/factory.d.ts.map +1 -1
  12. package/build/network/factory.js +1 -24
  13. package/build/sdks/criteoAudience/criteoAudience.d.ts +39 -11
  14. package/build/sdks/criteoAudience/criteoAudience.d.ts.map +1 -1
  15. package/build/sdks/criteoAudience/criteoAudience.js +69 -33
  16. package/build/sdks/criteoAudience/types.d.ts +0 -3
  17. package/build/sdks/criteoAudience/types.d.ts.map +1 -1
  18. package/build/sdks/criteoAudience/types.js +1 -1
  19. package/build/sdks/customerio_audience/index.d.ts +15 -11
  20. package/build/sdks/customerio_audience/index.d.ts.map +1 -1
  21. package/build/sdks/customerio_audience/index.js +34 -23
  22. package/build/sdks/customerio_audience/type.d.ts +0 -3
  23. package/build/sdks/customerio_audience/type.d.ts.map +1 -1
  24. package/build/sdks/customerio_audience/type.js +1 -1
  25. package/build/sdks/googleAdsRestAPI/googleAds.d.ts +17 -16
  26. package/build/sdks/googleAdsRestAPI/googleAds.d.ts.map +1 -1
  27. package/build/sdks/googleAdsRestAPI/googleAds.js +37 -44
  28. package/build/sdks/googleAdsRestAPI/types.d.ts +0 -3
  29. package/build/sdks/googleAdsRestAPI/types.d.ts.map +1 -1
  30. package/build/sdks/googleAdsRestAPI/types.js +1 -1
  31. package/build/sdks/index.d.ts +0 -1
  32. package/build/sdks/index.d.ts.map +1 -1
  33. package/build/sdks/index.js +1 -5
  34. package/build/sdks/salesforce/types.d.ts +1 -2
  35. package/build/sdks/salesforce/types.d.ts.map +1 -1
  36. package/build/sdks/salesforce/types.js +1 -1
  37. package/build/sdks/sfmc/index.d.ts +1 -1
  38. package/build/sdks/sfmc/index.d.ts.map +1 -1
  39. package/build/sdks/sfmc/index.js +3 -4
  40. package/build/sdks/zoho/types.d.ts +0 -3
  41. package/build/sdks/zoho/types.d.ts.map +1 -1
  42. package/build/sdks/zoho/types.js +1 -1
  43. package/build/sdks/zoho/zoho.d.ts +17 -13
  44. package/build/sdks/zoho/zoho.d.ts.map +1 -1
  45. package/build/sdks/zoho/zoho.js +51 -44
  46. package/mock/axios_client_mock_util.d.ts +1 -1
  47. package/mock/axios_client_mock_util.d.ts.map +1 -1
  48. package/mock/axios_client_mock_util.js +3 -5
  49. package/package.json +1 -2
  50. package/build/mock_utils/axios_client_mock_util.d.ts +0 -3
  51. package/build/mock_utils/axios_client_mock_util.d.ts.map +0 -1
  52. package/build/mock_utils/axios_client_mock_util.js +0 -12
  53. package/build/mock_utils/index.d.ts +0 -2
  54. package/build/mock_utils/index.d.ts.map +0 -1
  55. package/build/mock_utils/index.js +0 -18
  56. package/build/sdks/common/base-sdk.d.ts +0 -64
  57. package/build/sdks/common/base-sdk.d.ts.map +0 -1
  58. package/build/sdks/common/base-sdk.js +0 -182
  59. package/build/sdks/common/index.d.ts +0 -3
  60. package/build/sdks/common/index.d.ts.map +0 -1
  61. package/build/sdks/common/index.js +0 -7
  62. package/build/sdks/common/types.d.ts +0 -13
  63. package/build/sdks/common/types.d.ts.map +0 -1
  64. package/build/sdks/common/types.js +0 -3
@@ -1,182 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseSDK = void 0;
4
- const factory_1 = require("../../network/factory");
5
- // Note: StatTags is exported from src/network/index.ts to avoid duplicate exports
6
- /**
7
- * Abstract base class for all SDKs
8
- * Provides common functionality including HTTP client management, request execution,
9
- * retry logic, and enhanced features when configured
10
- */
11
- class BaseSDK {
12
- constructor(authObject, config) {
13
- this.validateAuthObject(authObject);
14
- this.authObject = authObject;
15
- this.config = config;
16
- this.httpClient = this.initializeHttpClient();
17
- }
18
- // eslint-disable-next-line class-methods-use-this
19
- validateAuthObject(_authObject) {
20
- // Default implementation does nothing - override if validation is needed
21
- // Most SDKs will want to override this to validate required fields
22
- }
23
- // eslint-disable-next-line class-methods-use-this
24
- getHeaders() {
25
- // Default implementation returns empty headers - override to add headers
26
- return {};
27
- }
28
- // eslint-disable-next-line class-methods-use-this
29
- shouldRetryOnError(_response) {
30
- // Default implementation does not retry - override if retry logic is needed
31
- return false;
32
- }
33
- /**
34
- * Initialize HTTP client based on configuration
35
- * Uses enhanced client with metrics/logging if config provided, otherwise basic client
36
- * No baseURL is set - SDKs will use buildRequestUrl() to construct full URLs
37
- */
38
- initializeHttpClient() {
39
- // If enhanced config provided, use HTTP client with metrics/logging
40
- if (this.config?.httpClient) {
41
- const { logger, statsClient, defaultStatTags } = this.config.httpClient;
42
- if (logger !== undefined || statsClient !== undefined) {
43
- // Use enhanced HTTP client with metrics and logging
44
- return factory_1.HttpClientFactory.getHttpClientWithMetrics(factory_1.ClientNames.Axios, logger, statsClient, defaultStatTags);
45
- }
46
- }
47
- // Fallback to basic HTTP client (backward compatibility)
48
- return factory_1.HttpClientFactory.getHttpClient(factory_1.ClientNames.Axios);
49
- }
50
- /**
51
- * Execute HTTP request - single attempt, no retry logic
52
- */
53
- async executeRequest(method, endpoint, data, statTags) {
54
- try {
55
- const headers = this.getHeaders();
56
- const requestConfig = {
57
- headers,
58
- };
59
- const fullUrl = this.buildRequestUrl(endpoint);
60
- return await this.makeHttpRequest(method, fullUrl, data, requestConfig, statTags);
61
- }
62
- catch (error) {
63
- return {
64
- type: 'client-error',
65
- statusCode: 0,
66
- message: error instanceof Error ? error.message : 'Unknown error',
67
- responseBody: error,
68
- };
69
- }
70
- }
71
- /**
72
- * Execute HTTP request with configurable token refresh attempts
73
- * For SDKs that need more control over retry behavior
74
- */
75
- executeRequestWithTokenRefreshAttempts(method, endpoint, data, statTags, maxRetries = 1) {
76
- return this.executeRequestWithRetryAttempt(method, endpoint, maxRetries, 0, data, statTags);
77
- }
78
- /**
79
- * Internal recursive method for retry attempts
80
- */
81
- async executeRequestWithRetryAttempt(method, endpoint, maxRetries, currentAttempt, data, statTags) {
82
- try {
83
- const headers = this.getHeaders();
84
- const requestConfig = {
85
- headers,
86
- };
87
- const fullUrl = this.buildRequestUrl(endpoint);
88
- const response = await this.makeHttpRequest(method, fullUrl, data, requestConfig, statTags);
89
- // If successful or not retryable, return response
90
- if (response.type === 'success' || !this.shouldRetryOnError(response)) {
91
- return response;
92
- }
93
- // If refreshToken is not implemented, return the response
94
- if (!this.refreshToken) {
95
- return response;
96
- }
97
- // If this is the last attempt, return the response
98
- if (currentAttempt >= maxRetries) {
99
- return response;
100
- }
101
- // Refresh token and retry
102
- await this.refreshToken();
103
- return await this.executeRequestWithRetryAttempt(method, endpoint, maxRetries, currentAttempt + 1, data, statTags);
104
- }
105
- catch (error) {
106
- const errorResponse = {
107
- type: 'client-error',
108
- statusCode: 0,
109
- message: error instanceof Error ? error.message : 'Unknown error',
110
- responseBody: error,
111
- };
112
- // If refreshToken is not implemented, return the response
113
- if (!this.refreshToken) {
114
- return errorResponse;
115
- }
116
- // If this is the last attempt, return error
117
- if (currentAttempt >= maxRetries) {
118
- return errorResponse;
119
- }
120
- // Refresh token and retry
121
- await this.refreshToken();
122
- return await this.executeRequestWithRetryAttempt(method, endpoint, maxRetries, currentAttempt + 1, data, statTags);
123
- }
124
- }
125
- /**
126
- * Make HTTP request based on method - eliminates code duplication
127
- * Passes statTags to HTTP client for metrics and logging
128
- */
129
- makeHttpRequest(method, url, data, requestConfig, statTags) {
130
- // Add statTags to request config for HTTP client
131
- const configWithStatTags = {
132
- ...requestConfig,
133
- statTags,
134
- };
135
- switch (method) {
136
- case 'get':
137
- return this.httpClient.get(url, configWithStatTags);
138
- case 'post':
139
- return this.httpClient.post(url, data, configWithStatTags);
140
- case 'put':
141
- return this.httpClient.put(url, data, configWithStatTags);
142
- case 'delete':
143
- return this.httpClient.delete(url, configWithStatTags);
144
- case 'patch':
145
- return this.httpClient.patch(url, data, configWithStatTags);
146
- default:
147
- throw new Error(`Unsupported HTTP method: ${method}`);
148
- }
149
- }
150
- /**
151
- * Convenience method for GET requests
152
- */
153
- get(endpoint, statTags) {
154
- return this.executeRequest('get', endpoint, undefined, statTags);
155
- }
156
- /**
157
- * Convenience method for POST requests
158
- */
159
- post(endpoint, data, statTags) {
160
- return this.executeRequest('post', endpoint, data, statTags);
161
- }
162
- /**
163
- * Convenience method for PUT requests
164
- */
165
- put(endpoint, data, statTags) {
166
- return this.executeRequest('put', endpoint, data, statTags);
167
- }
168
- /**
169
- * Convenience method for DELETE requests
170
- */
171
- delete(endpoint, statTags) {
172
- return this.executeRequest('delete', endpoint, undefined, statTags);
173
- }
174
- /**
175
- * Convenience method for PATCH requests
176
- */
177
- patch(endpoint, data, statTags) {
178
- return this.executeRequest('patch', endpoint, data, statTags);
179
- }
180
- }
181
- exports.BaseSDK = BaseSDK;
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZGsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2Rrcy9jb21tb24vYmFzZS1zZGsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT0EsbURBQXVFO0FBS3ZFLGtGQUFrRjtBQUVsRjs7OztHQUlHO0FBQ0gsTUFBc0IsT0FBTztJQU8zQixZQUFZLFVBQXVCLEVBQUUsTUFBZ0I7UUFDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxrQkFBa0IsQ0FBQyxXQUFvQjtRQUNyQyx5RUFBeUU7UUFDekUsbUVBQW1FO0lBQ3JFLENBQUM7SUFLRCxrREFBa0Q7SUFDeEMsVUFBVTtRQUNsQix5RUFBeUU7UUFDekUsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELGtCQUFrQixDQUFDLFNBQStCO1FBQ2hELDRFQUE0RTtRQUM1RSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFJRDs7OztPQUlHO0lBQ0ssb0JBQW9CO1FBQzFCLG9FQUFvRTtRQUNwRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDNUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFFeEUsSUFBSSxNQUFNLEtBQUssU0FBUyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdEQsb0RBQW9EO2dCQUNwRCxPQUFPLDJCQUFpQixDQUFDLHdCQUF3QixDQUMvQyxxQkFBVyxDQUFDLEtBQUssRUFD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Q0FBQyxjQUFjLENBQUksT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBaFFELDBCQWdRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwaVJlc3BvbnNlLFxuICBIdHRwQ2xpZW50LFxuICBJSHR0cExvZ2dlcixcbiAgSUh0dHBTdGF0c0NsaWVudCxcbiAgU3RhdFRhZ3MsXG59IGZyb20gJy4uLy4uL25ldHdvcmsvY2xpZW50cy90eXBlcyc7XG5pbXBvcnQgeyBDbGllbnROYW1lcywgSHR0cENsaWVudEZhY3RvcnkgfSBmcm9tICcuLi8uLi9uZXR3b3JrL2ZhY3RvcnknO1xuaW1wb3J0IHsgQmFzZVNES0NvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBSZS1leHBvcnQgdHlwZXMgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQgdHlwZSB7IEJhc2VTREtDb25maWcgfTtcbi8vIE5vdGU6IFN0YXRUYWdzIGlzIGV4cG9ydGVkIGZyb20gc3JjL25ldHdvcmsvaW5kZXgudHMgdG8gYXZvaWQgZHVwbGljYXRlIGV4cG9ydHNcblxuLyoqXG4gKiBBYnN0cmFjdCBiYXNlIGNsYXNzIGZvciBhbGwgU0RLc1xuICogUHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9uYWxpdHkgaW5jbHVkaW5nIEhUVFAgY2xpZW50IG1hbmFnZW1lbnQsIHJlcXVlc3QgZXhlY3V0aW9uLFxuICogcmV0cnkgbG9naWMsIGFuZCBlbmhhbmNlZCBmZWF0dXJlcyB3aGVuIGNvbmZpZ3VyZWRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTREs8VEF1dGhPYmplY3QsIFRDb25maWcgZXh0ZW5kcyBCYXNlU0RLQ29uZmlnID0gQmFzZVNES0NvbmZpZz4ge1xuICBwcm90ZWN0ZWQgYXV0aE9iamVjdDogVEF1dGhPYmplY3Q7XG5cbiAgcHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQ7XG5cbiAgcHJvdGVjdGVkIGNvbmZpZz86IFRDb25maWc7XG5cbiAgY29uc3RydWN0b3IoYXV0aE9iamVjdDogVEF1dGhPYmplY3QsIGNvbmZpZz86IFRDb25maWcpIHtcbiAgICB0aGlzLnZhbGlkYXRlQXV0aE9iamVjdChhdXRoT2JqZWN0KTtcbiAgICB0aGlzLmF1dGhPYmplY3QgPSBhdXRoT2JqZWN0O1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuaHR0cENsaWVudCA9IHRoaXMuaW5pdGlhbGl6ZUh0dHBDbGllbnQoKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gIHZhbGlkYXRlQXV0aE9iamVjdChfYXV0aE9iamVjdDogdW5rbm93bik6IHZvaWQge1xuICAgIC8vIERlZmF1bHQgaW1wbGVtZW50YXRpb24gZG9lcyBub3RoaW5nIC0gb3ZlcnJpZGUgaWYgdmFsaWRhdGlvbiBpcyBuZWVkZWRcbiAgICAvLyBNb3N0IFNES3Mgd2lsbCB3YW50IHRvIG92ZXJyaWRlIHRoaXMgdG8gdmFsaWRhdGUgcmVxdWlyZWQgZmllbGRzXG4gIH1cblxuICAvLyBBYnN0cmFjdCBtZXRob2QgZm9yIGJ1aWxkaW5nIHJlcXVlc3QgVVJMcyAtIGVhY2ggU0RLIGltcGxlbWVudHMgaXRzIG93biBVUkwgY29uc3RydWN0aW9uIGxvZ2ljXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBidWlsZFJlcXVlc3RVcmwoZW5kcG9pbnQ6IHN0cmluZyk6IHN0cmluZztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICBwcm90ZWN0ZWQgZ2V0SGVhZGVycygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICAvLyBEZWZhdWx0IGltcGxlbWVudGF0aW9uIHJldHVybnMgZW1wdHkgaGVhZGVycyAtIG92ZXJyaWRlIHRvIGFkZCBoZWFkZXJzXG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgc2hvdWxkUmV0cnlPbkVycm9yKF9yZXNwb25zZTogQXBpUmVzcG9uc2U8dW5rbm93bj4pOiBib29sZWFuIHtcbiAgICAvLyBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHJldHJ5IC0gb3ZlcnJpZGUgaWYgcmV0cnkgbG9naWMgaXMgbmVlZGVkXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZnJlc2hUb2tlbj8oKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBIVFRQIGNsaWVudCBiYXNlZCBvbiBjb25maWd1cmF0aW9uXG4gICAqIFVzZXMgZW5oYW5jZWQgY2xpZW50IHdpdGggbWV0cmljcy9sb2dnaW5nIGlmIGNvbmZpZyBwcm92aWRlZCwgb3RoZXJ3aXNlIGJhc2ljIGNsaWVudFxuICAgKiBObyBiYXNlVVJMIGlzIHNldCAtIFNES3Mgd2lsbCB1c2UgYnVpbGRSZXF1ZXN0VXJsKCkgdG8gY29uc3RydWN0IGZ1bGwgVVJMc1xuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplSHR0cENsaWVudCgpOiBIdHRwQ2xpZW50IHtcbiAgICAvLyBJZiBlbmhhbmNlZCBjb25maWcgcHJvdmlkZWQsIHVzZSBIVFRQIGNsaWVudCB3aXRoIG1ldHJpY3MvbG9nZ2luZ1xuICAgIGlmICh0aGlzLmNvbmZpZz8uaHR0cENsaWVudCkge1xuICAgICAgY29uc3QgeyBsb2dnZXIsIHN0YXRzQ2xpZW50LCBkZWZhdWx0U3RhdFRhZ3MgfSA9IHRoaXMuY29uZmlnLmh0dHBDbGllbnQ7XG5cbiAgICAgIGlmIChsb2dnZXIgIT09IHVuZGVmaW5lZCB8fCBzdGF0c0NsaWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIFVzZSBlbmhhbmNlZCBIVFRQIGNsaWVudCB3aXRoIG1ldHJpY3MgYW5kIGxvZ2dpbmdcbiAgICAgICAgcmV0dXJuIEh0dHBDbGllbnRGYWN0b3J5LmdldEh0dHBDbGllbnRXaXRoTWV0cmljcyhcbiAgICAgICAgICBDbGllbnROYW1lcy5BeGlvcyxcbiAgICAgICAgICBsb2dnZXIgYXMgSUh0dHBMb2dnZXIsXG4gICAgICAgICAgc3RhdHNDbGllbnQgYXMgSUh0dHBTdGF0c0NsaWVudCxcbiAgICAgICAgICBkZWZhdWx0U3RhdFRhZ3MsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2sgdG8gYmFzaWMgSFRUUCBjbGllbnQgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpXG4gICAgcmV0dXJuIEh0dHBDbGllbnRGYWN0b3J5LmdldEh0dHBDbGllbnQoQ2xpZW50TmFtZXMuQXhpb3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgSFRUUCByZXF1ZXN0IC0gc2luZ2xlIGF0dGVtcHQsIG5vIHJldHJ5IGxvZ2ljXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZVJlcXVlc3Q8VD4oXG4gICAgbWV0aG9kOiAnZ2V0JyB8ICdwb3N0JyB8ICdwdXQnIHwgJ2RlbGV0ZScgfCAncGF0Y2gnLFxuICAgIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgZGF0YT86IHVua25vd24sXG4gICAgc3RhdFRhZ3M/OiBTdGF0VGFncyxcbiAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XG4gICAgICBjb25zdCByZXF1ZXN0Q29uZmlnID0ge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGZ1bGxVcmwgPSB0aGlzLmJ1aWxkUmVxdWVzdFVybChlbmRwb2ludCk7XG5cbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLm1ha2VIdHRwUmVxdWVzdDxUPihtZXRob2QsIGZ1bGxVcmwsIGRhdGEsIHJlcXVlc3RDb25maWcsIHN0YXRUYWdzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2NsaWVudC1lcnJvcicsXG4gICAgICAgIHN0YXR1c0NvZGU6IDAsXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InLFxuICAgICAgICByZXNwb25zZUJvZHk6IGVycm9yLFxuICAgICAgfSBhcyBBcGlSZXNwb25zZTxUPjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBIVFRQIHJlcXVlc3Qgd2l0aCBjb25maWd1cmFibGUgdG9rZW4gcmVmcmVzaCBhdHRlbXB0c1xuICAgKiBGb3IgU0RLcyB0aGF0IG5lZWQgbW9yZSBjb250cm9sIG92ZXIgcmV0cnkgYmVoYXZpb3JcbiAgICovXG4gIHByb3RlY3RlZCBleGVjdXRlUmVxdWVzdFdpdGhUb2tlblJlZnJlc2hBdHRlbXB0czxUPihcbiAgICBtZXRob2Q6ICdnZXQnIHwgJ3Bvc3QnIHwgJ3B1dCcgfCAnZGVsZXRlJyB8ICdwYXRjaCcsXG4gICAgZW5kcG9pbnQ6IHN0cmluZyxcbiAgICBkYXRhPzogdW5rbm93bixcbiAgICBzdGF0VGFncz86IFN0YXRUYWdzLFxuICAgIG1heFJldHJpZXMgPSAxLFxuICApOiBQcm9taXNlPEFwaVJlc3BvbnNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZVJlcXVlc3RXaXRoUmV0cnlBdHRlbXB0PFQ+KG1ldGhvZCwgZW5kcG9pbnQsIG1heFJldHJpZXMsIDAsIGRhdGEsIHN0YXRUYWdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCByZWN1cnNpdmUgbWV0aG9kIGZvciByZXRyeSBhdHRlbXB0c1xuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlUmVxdWVzdFdpdGhSZXRyeUF0dGVtcHQ8VD4oXG4gICAgbWV0aG9kOiAnZ2V0JyB8ICdwb3N0JyB8ICdwdXQnIHwgJ2RlbGV0ZScgfCAncGF0Y2gnLFxuICAgIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgbWF4UmV0cmllczogbnVtYmVyLFxuICAgIGN1cnJlbnRBdHRlbXB0OiBudW1iZXIsXG4gICAgZGF0YT86IHVua25vd24sXG4gICAgc3RhdFRhZ3M/OiBTdGF0VGFncyxcbiAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XG4gICAgICBjb25zdCByZXF1ZXN0Q29uZmlnID0ge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGZ1bGxVcmwgPSB0aGlzLmJ1aWxkUmVxdWVzdFVybChlbmRwb2ludCk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5tYWtlSHR0cFJlcXVlc3Q8VD4oXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgZnVsbFVybCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgcmVxdWVzdENvbmZpZyxcbiAgICAgICAgc3RhdFRhZ3MsXG4gICAgICApO1xuXG4gICAgICAvLyBJZiBzdWNjZXNzZnVsIG9yIG5vdCByZXRyeWFibGUsIHJldHVybiByZXNwb25zZVxuICAgICAgaWYgKHJlc3BvbnNlLnR5cGUgPT09ICdzdWNjZXNzJyB8fCAhdGhpcy5zaG91bGRSZXRyeU9uRXJyb3IocmVzcG9uc2UpKSB7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgcmVmcmVzaFRva2VuIGlzIG5vdCBpbXBsZW1lbnRlZCwgcmV0dXJuIHRoZSByZXNwb25zZVxuICAgICAgaWYgKCF0aGlzLnJlZnJlc2hUb2tlbikge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoaXMgaXMgdGhlIGxhc3QgYXR0ZW1wdCwgcmV0dXJuIHRoZSByZXNwb25zZVxuICAgICAgaWYgKGN1cnJlbnRBdHRlbXB0ID49IG1heFJldHJpZXMpIHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWZyZXNoIHRva2VuIGFuZCByZXRyeVxuICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmV4ZWN1dGVSZXF1ZXN0V2l0aFJldHJ5QXR0ZW1wdDxUPihcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgbWF4UmV0cmllcyxcbiAgICAgICAgY3VycmVudEF0dGVtcHQgKyAxLFxuICAgICAgICBkYXRhLFxuICAgICAgICBzdGF0VGFncyxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVycm9yUmVzcG9uc2U6IEFwaVJlc3BvbnNlPFQ+ID0ge1xuICAgICAgICB0eXBlOiAnY2xpZW50LWVycm9yJyxcbiAgICAgICAgc3RhdHVzQ29kZTogMCxcbiAgICAgICAgbWVzc2FnZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicsXG4gICAgICAgIHJlc3BvbnNlQm9keTogZXJyb3IsXG4gICAgICB9IGFzIEFwaVJlc3BvbnNlPFQ+O1xuXG4gICAgICAvLyBJZiByZWZyZXNoVG9rZW4gaXMgbm90IGltcGxlbWVudGVkLCByZXR1cm4gdGhlIHJlc3BvbnNlXG4gICAgICBpZiAoIXRoaXMucmVmcmVzaFRva2VuKSB7XG4gICAgICAgIHJldHVybiBlcnJvclJlc3BvbnNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGlzIGlzIHRoZSBsYXN0IGF0dGVtcHQsIHJldHVybiBlcnJvclxuICAgICAgaWYgKGN1cnJlbnRBdHRlbXB0ID49IG1heFJldHJpZXMpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yUmVzcG9uc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlZnJlc2ggdG9rZW4gYW5kIHJldHJ5XG4gICAgICBhd2FpdCB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZXhlY3V0ZVJlcXVlc3RXaXRoUmV0cnlBdHRlbXB0PFQ+KFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIGVuZHBvaW50LFxuICAgICAgICBtYXhSZXRyaWVzLFxuICAgICAgICBjdXJyZW50QXR0ZW1wdCArIDEsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIHN0YXRUYWdzLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFrZSBIVFRQIHJlcXVlc3QgYmFzZWQgb24gbWV0aG9kIC0gZWxpbWluYXRlcyBjb2RlIGR1cGxpY2F0aW9uXG4gICAqIFBhc3NlcyBzdGF0VGFncyB0byBIVFRQIGNsaWVudCBmb3IgbWV0cmljcyBhbmQgbG9nZ2luZ1xuICAgKi9cbiAgcHJpdmF0ZSBtYWtlSHR0cFJlcXVlc3Q8VD4oXG4gICAgbWV0aG9kOiAnZ2V0JyB8ICdwb3N0JyB8ICdwdXQnIHwgJ2RlbGV0ZScgfCAncGF0Y2gnLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGRhdGE6IHVua25vd24sXG4gICAgcmVxdWVzdENvbmZpZzogeyBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IH0sXG4gICAgc3RhdFRhZ3M/OiBTdGF0VGFncyxcbiAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIC8vIEFkZCBzdGF0VGFncyB0byByZXF1ZXN0IGNvbmZpZyBmb3IgSFRUUCBjbGllbnRcbiAgICBjb25zdCBjb25maWdXaXRoU3RhdFRhZ3MgPSB7XG4gICAgICAuLi5yZXF1ZXN0Q29uZmlnLFxuICAgICAgc3RhdFRhZ3MsXG4gICAgfTtcblxuICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPih1cmwsIGNvbmZpZ1dpdGhTdGF0VGFncyk7XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KHVybCwgZGF0YSwgY29uZmlnV2l0aFN0YXRUYWdzKTtcbiAgICAgIGNhc2UgJ3B1dCc6XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PFQ+KHVybCwgZGF0YSwgY29uZmlnV2l0aFN0YXRUYWdzKTtcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPFQ+KHVybCwgY29uZmlnV2l0aFN0YXRUYWdzKTtcbiAgICAgIGNhc2UgJ3BhdGNoJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaDxUPih1cmwsIGRhdGEsIGNvbmZpZ1dpdGhTdGF0VGFncyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIEhUVFAgbWV0aG9kOiAke21ldGhvZH1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBHRVQgcmVxdWVzdHNcbiAgICovXG4gIHByb3RlY3RlZCBnZXQ8VD4oZW5kcG9pbnQ6IHN0cmluZywgc3RhdFRhZ3M/OiBTdGF0VGFncyk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUmVxdWVzdDxUPignZ2V0JywgZW5kcG9pbnQsIHVuZGVmaW5lZCwgc3RhdFRhZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgUE9TVCByZXF1ZXN0c1xuICAgKi9cbiAgcHJvdGVjdGVkIHBvc3Q8VD4oZW5kcG9pbnQ6IHN0cmluZywgZGF0YTogdW5rbm93biwgc3RhdFRhZ3M/OiBTdGF0VGFncyk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUmVxdWVzdDxUPigncG9zdCcsIGVuZHBvaW50LCBkYXRhLCBzdGF0VGFncyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBQVVQgcmVxdWVzdHNcbiAgICovXG4gIHByb3RlY3RlZCBwdXQ8VD4oZW5kcG9pbnQ6IHN0cmluZywgZGF0YTogdW5rbm93biwgc3RhdFRhZ3M/OiBTdGF0VGFncyk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUmVxdWVzdDxUPigncHV0JywgZW5kcG9pbnQsIGRhdGEsIHN0YXRUYWdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIERFTEVURSByZXF1ZXN0c1xuICAgKi9cbiAgcHJvdGVjdGVkIGRlbGV0ZTxUPihlbmRwb2ludDogc3RyaW5nLCBzdGF0VGFncz86IFN0YXRUYWdzKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVSZXF1ZXN0PFQ+KCdkZWxldGUnLCBlbmRwb2ludCwgdW5kZWZpbmVkLCBzdGF0VGFncyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBQQVRDSCByZXF1ZXN0c1xuICAgKi9cbiAgcHJvdGVjdGVkIHBhdGNoPFQ+KFxuICAgIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgZGF0YTogdW5rbm93bixcbiAgICBzdGF0VGFncz86IFN0YXRUYWdzLFxuICApOiBQcm9taXNlPEFwaVJlc3BvbnNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZVJlcXVlc3Q8VD4oJ3BhdGNoJywgZW5kcG9pbnQsIGRhdGEsIHN0YXRUYWdzKTtcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- export { BaseSDK } from './base-sdk';
2
- export type { BaseSDKConfig } from './types';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdks/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseSDK = void 0;
4
- var base_sdk_1 = require("./base-sdk");
5
- Object.defineProperty(exports, "BaseSDK", { enumerable: true, get: function () { return base_sdk_1.BaseSDK; } });
6
- // Note: StatTags is exported from src/network/index.ts to avoid duplicate exports
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2Rrcy9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQXFDO0FBQTVCLG1HQUFBLE9BQU8sT0FBQTtBQUVoQixrRkFBa0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBCYXNlU0RLIH0gZnJvbSAnLi9iYXNlLXNkayc7XG5leHBvcnQgdHlwZSB7IEJhc2VTREtDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbi8vIE5vdGU6IFN0YXRUYWdzIGlzIGV4cG9ydGVkIGZyb20gc3JjL25ldHdvcmsvaW5kZXgudHMgdG8gYXZvaWQgZHVwbGljYXRlIGV4cG9ydHNcbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { HttpClientConfig } from '../../network/clients/types';
2
- /**
3
- * Base SDK Configuration interface
4
- * Extends HTTP client config to provide enhanced features for SDKs
5
- */
6
- export interface BaseSDKConfig {
7
- /**
8
- * HTTP client configuration for enhanced features
9
- * When provided, enables logging, metrics, and other enhanced capabilities
10
- */
11
- httpClient?: HttpClientConfig;
12
- }
13
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdks/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2Rrcy9jb21tb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnRDb25maWcgfSBmcm9tICcuLi8uLi9uZXR3b3JrL2NsaWVudHMvdHlwZXMnO1xuXG4vKipcbiAqIEJhc2UgU0RLIENvbmZpZ3VyYXRpb24gaW50ZXJmYWNlXG4gKiBFeHRlbmRzIEhUVFAgY2xpZW50IGNvbmZpZyB0byBwcm92aWRlIGVuaGFuY2VkIGZlYXR1cmVzIGZvciBTREtzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVNES0NvbmZpZyB7XG4gIC8qKlxuICAgKiBIVFRQIGNsaWVudCBjb25maWd1cmF0aW9uIGZvciBlbmhhbmNlZCBmZWF0dXJlc1xuICAgKiBXaGVuIHByb3ZpZGVkLCBlbmFibGVzIGxvZ2dpbmcsIG1ldHJpY3MsIGFuZCBvdGhlciBlbmhhbmNlZCBjYXBhYmlsaXRpZXNcbiAgICovXG4gIGh0dHBDbGllbnQ/OiBIdHRwQ2xpZW50Q29uZmlnO1xufVxuIl19