@rudderstack/integrations-lib 0.2.56 → 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.
- package/build/index.d.ts +1 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -4
- package/build/network/clients/axios_client.d.ts +5 -6
- package/build/network/clients/axios_client.d.ts.map +1 -1
- package/build/network/clients/axios_client.js +40 -75
- package/build/network/clients/types.d.ts +5 -93
- package/build/network/clients/types.d.ts.map +1 -1
- package/build/network/clients/types.js +1 -1
- package/build/network/factory.d.ts +2 -12
- package/build/network/factory.d.ts.map +1 -1
- package/build/network/factory.js +1 -24
- package/build/sdks/criteoAudience/criteoAudience.d.ts +39 -11
- package/build/sdks/criteoAudience/criteoAudience.d.ts.map +1 -1
- package/build/sdks/criteoAudience/criteoAudience.js +69 -33
- package/build/sdks/criteoAudience/types.d.ts +0 -3
- package/build/sdks/criteoAudience/types.d.ts.map +1 -1
- package/build/sdks/criteoAudience/types.js +1 -1
- package/build/sdks/customerio_audience/index.d.ts +15 -11
- package/build/sdks/customerio_audience/index.d.ts.map +1 -1
- package/build/sdks/customerio_audience/index.js +34 -23
- package/build/sdks/customerio_audience/type.d.ts +0 -3
- package/build/sdks/customerio_audience/type.d.ts.map +1 -1
- package/build/sdks/customerio_audience/type.js +1 -1
- package/build/sdks/googleAdsRestAPI/googleAds.d.ts +17 -16
- package/build/sdks/googleAdsRestAPI/googleAds.d.ts.map +1 -1
- package/build/sdks/googleAdsRestAPI/googleAds.js +37 -44
- package/build/sdks/googleAdsRestAPI/types.d.ts +0 -3
- package/build/sdks/googleAdsRestAPI/types.d.ts.map +1 -1
- package/build/sdks/googleAdsRestAPI/types.js +1 -1
- package/build/sdks/index.d.ts +0 -1
- package/build/sdks/index.d.ts.map +1 -1
- package/build/sdks/index.js +1 -5
- package/build/sdks/salesforce/types.d.ts +1 -2
- package/build/sdks/salesforce/types.d.ts.map +1 -1
- package/build/sdks/salesforce/types.js +1 -1
- package/build/sdks/sfmc/index.d.ts +1 -1
- package/build/sdks/sfmc/index.d.ts.map +1 -1
- package/build/sdks/sfmc/index.js +3 -4
- package/build/sdks/zoho/types.d.ts +0 -3
- package/build/sdks/zoho/types.d.ts.map +1 -1
- package/build/sdks/zoho/types.js +1 -1
- package/build/sdks/zoho/zoho.d.ts +17 -13
- package/build/sdks/zoho/zoho.d.ts.map +1 -1
- package/build/sdks/zoho/zoho.js +51 -44
- package/mock/axios_client_mock_util.d.ts +1 -1
- package/mock/axios_client_mock_util.d.ts.map +1 -1
- package/mock/axios_client_mock_util.js +3 -5
- package/package.json +1 -2
- package/build/mock_utils/axios_client_mock_util.d.ts +0 -3
- package/build/mock_utils/axios_client_mock_util.d.ts.map +0 -1
- package/build/mock_utils/axios_client_mock_util.js +0 -12
- package/build/mock_utils/index.d.ts +0 -2
- package/build/mock_utils/index.d.ts.map +0 -1
- package/build/mock_utils/index.js +0 -18
- package/build/sdks/common/base-sdk.d.ts +0 -64
- package/build/sdks/common/base-sdk.d.ts.map +0 -1
- package/build/sdks/common/base-sdk.js +0 -182
- package/build/sdks/common/index.d.ts +0 -3
- package/build/sdks/common/index.d.ts.map +0 -1
- package/build/sdks/common/index.js +0 -7
- package/build/sdks/common/types.d.ts +0 -13
- package/build/sdks/common/types.d.ts.map +0 -1
- 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 +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
|