@rudderstack/integrations-lib 0.2.44 → 0.2.47
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/README.md +110 -1
- package/build/auth-types/index.d.ts +62 -0
- package/build/auth-types/index.d.ts.map +1 -0
- package/build/auth-types/index.js +3 -0
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1 +1,110 @@
|
|
|
1
|
-
#
|
|
1
|
+
# RudderStack Integrations Library
|
|
2
|
+
|
|
3
|
+
A comprehensive TypeScript library providing shared utilities, SDKs, and tools for RudderStack integrations and destinations.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **SDK Integrations**: Pre-built SDKs for Google Ads, Zoho, Customer.io, Criteo, and SFMC
|
|
8
|
+
- **Feature Flags**: Multi-provider feature flag system with Flagsmith and Local support
|
|
9
|
+
- **Network Utilities**: HTTP client factory and request handling
|
|
10
|
+
- **Error Handling**: Comprehensive error types and handling utilities
|
|
11
|
+
- **Logging**: Structured logging with multiple levels and formats
|
|
12
|
+
- **Cluster Management**: Process clustering and management utilities
|
|
13
|
+
- **Utilities**: Common utilities for data manipulation, validation, and processing
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install @rudderstack/integrations-lib
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import {
|
|
25
|
+
// Core utilities
|
|
26
|
+
logger,
|
|
27
|
+
structuredLogger,
|
|
28
|
+
setValue,
|
|
29
|
+
|
|
30
|
+
// SDKs
|
|
31
|
+
SFMC,
|
|
32
|
+
CustomerIOSegment,
|
|
33
|
+
ZOHO_SDK,
|
|
34
|
+
GoogleAdsSDK,
|
|
35
|
+
CriteoAudience,
|
|
36
|
+
|
|
37
|
+
// Feature flags
|
|
38
|
+
featureFlagService,
|
|
39
|
+
FeatureFlagService,
|
|
40
|
+
|
|
41
|
+
// Network
|
|
42
|
+
createHttpClient,
|
|
43
|
+
|
|
44
|
+
// Utils
|
|
45
|
+
deepFreeze,
|
|
46
|
+
batchProcess,
|
|
47
|
+
} from '@rudderstack/integrations-lib';
|
|
48
|
+
|
|
49
|
+
// Initialize feature flags
|
|
50
|
+
await featureFlagService.initialize();
|
|
51
|
+
|
|
52
|
+
// Use SDKs
|
|
53
|
+
const sfmc = new SFMC(config);
|
|
54
|
+
const googleAds = new GoogleAdsSDK.GoogleAdsRestAPI(config);
|
|
55
|
+
|
|
56
|
+
// Structured logging
|
|
57
|
+
structuredLogger.info('Integration started', {
|
|
58
|
+
destinationId: 'dest-123',
|
|
59
|
+
workspaceId: 'ws-456',
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## SDKs
|
|
64
|
+
|
|
65
|
+
- **SFMC**: Salesforce Marketing Cloud integration
|
|
66
|
+
- **Customer.io**: Customer.io audience management
|
|
67
|
+
- **Zoho**: Zoho CRM and marketing tools
|
|
68
|
+
- **Google Ads**: Google Ads REST API client
|
|
69
|
+
- **Criteo**: Criteo audience management
|
|
70
|
+
|
|
71
|
+
## Feature Flags
|
|
72
|
+
|
|
73
|
+
Multi-provider feature flag system supporting:
|
|
74
|
+
|
|
75
|
+
- Flagsmith for production
|
|
76
|
+
- Local provider for development
|
|
77
|
+
- Environment-based overrides
|
|
78
|
+
- Type-safe flag definitions
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
const user = {
|
|
82
|
+
workspaceId: 'ws-123',
|
|
83
|
+
traits: new Map([
|
|
84
|
+
['organization_id', 'org-456'],
|
|
85
|
+
['user_id', 'user-789'],
|
|
86
|
+
]),
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const result = await featureFlagService.isFeatureEnabled(user, 'my-feature');
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Development
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Install dependencies
|
|
96
|
+
npm install
|
|
97
|
+
|
|
98
|
+
# Build
|
|
99
|
+
npm run build
|
|
100
|
+
|
|
101
|
+
# Test
|
|
102
|
+
npm test
|
|
103
|
+
|
|
104
|
+
# Lint
|
|
105
|
+
npm run lint
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
MIT
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export type commonAuthSecretT = {
|
|
2
|
+
expirationDate?: string;
|
|
3
|
+
};
|
|
4
|
+
export type AmazonDestinationAuthSecretT = commonAuthSecretT & {
|
|
5
|
+
accessToken: string;
|
|
6
|
+
refreshToken: string;
|
|
7
|
+
clientId: string;
|
|
8
|
+
};
|
|
9
|
+
export type BingAdsDestinationAuthSecretT = commonAuthSecretT & {
|
|
10
|
+
accessToken: string;
|
|
11
|
+
refreshToken: string;
|
|
12
|
+
developer_token: string;
|
|
13
|
+
};
|
|
14
|
+
export type CriteoDestinationAuthSecretT = commonAuthSecretT & {
|
|
15
|
+
accessToken: string;
|
|
16
|
+
refreshToken: string;
|
|
17
|
+
};
|
|
18
|
+
export type GoogleAdwordsDestinationAuthSecretT = commonAuthSecretT & {
|
|
19
|
+
access_token: string;
|
|
20
|
+
refresh_token: string;
|
|
21
|
+
developer_token: string;
|
|
22
|
+
};
|
|
23
|
+
export type IntercomDestinationAuthSecretT = commonAuthSecretT & {
|
|
24
|
+
accessToken: string;
|
|
25
|
+
refreshToken: string;
|
|
26
|
+
};
|
|
27
|
+
export type LinkedinDestinationAuthSecretT = commonAuthSecretT & {
|
|
28
|
+
accessToken: string;
|
|
29
|
+
refreshToken: string;
|
|
30
|
+
};
|
|
31
|
+
export type RedditDestinationAuthSecretT = commonAuthSecretT & {
|
|
32
|
+
accessToken: string;
|
|
33
|
+
refreshToken: string;
|
|
34
|
+
};
|
|
35
|
+
export type SalesforceDestinationAuthSecretT = commonAuthSecretT & {
|
|
36
|
+
access_token: string;
|
|
37
|
+
refresh_token: string;
|
|
38
|
+
instance_url: string;
|
|
39
|
+
};
|
|
40
|
+
export type SnapchatDestinationAuthSecretT = commonAuthSecretT & {
|
|
41
|
+
accessToken: string;
|
|
42
|
+
refreshToken: string;
|
|
43
|
+
};
|
|
44
|
+
export type TiktokAudienceDestinationAuthSecretT = commonAuthSecretT & {
|
|
45
|
+
accessToken: string;
|
|
46
|
+
advertiserIds: string;
|
|
47
|
+
};
|
|
48
|
+
export type TwitterAdsDestinationAuthSecretT = commonAuthSecretT & {
|
|
49
|
+
accessToken: string;
|
|
50
|
+
accessTokenSecret: string;
|
|
51
|
+
consumerKey: string;
|
|
52
|
+
consumerSecret: string;
|
|
53
|
+
};
|
|
54
|
+
export type YandexMetricaDestinationAuthSecretT = commonAuthSecretT & {
|
|
55
|
+
accessToken: string;
|
|
56
|
+
refreshToken: string;
|
|
57
|
+
};
|
|
58
|
+
export type ZohoDestinationAuthSecretT = commonAuthSecretT & {
|
|
59
|
+
accessToken: string;
|
|
60
|
+
refreshToken: string;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth-types/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,GAAG;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,iBAAiB,GAAG;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,GAAG;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,iBAAiB,GAAG;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,GAAG;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,GAAG;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,GAAG;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,iBAAiB,GAAG;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,GAAG;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG,iBAAiB,GAAG;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,iBAAiB,GAAG;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,iBAAiB,GAAG;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,GAAG;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC10eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgY29tbW9uQXV0aFNlY3JldFQgPSB7XG4gIGV4cGlyYXRpb25EYXRlPzogc3RyaW5nOyAvLyBJU08gODYwMSBmb3JtYXRcbn07XG5cbmV4cG9ydCB0eXBlIEFtYXpvbkRlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG4gIGNsaWVudElkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCaW5nQWRzRGVzdGluYXRpb25BdXRoU2VjcmV0VCA9IGNvbW1vbkF1dGhTZWNyZXRUICYge1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgZGV2ZWxvcGVyX3Rva2VuOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDcml0ZW9EZXN0aW5hdGlvbkF1dGhTZWNyZXRUID0gY29tbW9uQXV0aFNlY3JldFQgJiB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR29vZ2xlQWR3b3Jkc0Rlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZztcbiAgZGV2ZWxvcGVyX3Rva2VuOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcmNvbURlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBMaW5rZWRpbkRlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSZWRkaXREZXN0aW5hdGlvbkF1dGhTZWNyZXRUID0gY29tbW9uQXV0aFNlY3JldFQgJiB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgU2FsZXNmb3JjZURlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZztcbiAgaW5zdGFuY2VfdXJsOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTbmFwY2hhdERlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUaWt0b2tBdWRpZW5jZURlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgYWR2ZXJ0aXNlcklkczogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVHdpdHRlckFkc0Rlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgYWNjZXNzVG9rZW5TZWNyZXQ6IHN0cmluZztcbiAgY29uc3VtZXJLZXk6IHN0cmluZztcbiAgY29uc3VtZXJTZWNyZXQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFlhbmRleE1ldHJpY2FEZXN0aW5hdGlvbkF1dGhTZWNyZXRUID0gY29tbW9uQXV0aFNlY3JldFQgJiB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgWm9ob0Rlc3RpbmF0aW9uQXV0aFNlY3JldFQgPSBjb21tb25BdXRoU2VjcmV0VCAmIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG59O1xuIl19
|
package/build/index.d.ts
CHANGED
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -31,4 +31,5 @@ __exportStar(require("./constants"), exports);
|
|
|
31
31
|
__exportStar(require("./sdks"), exports);
|
|
32
32
|
__exportStar(require("./cluster"), exports);
|
|
33
33
|
__exportStar(require("./feature-flags"), exports);
|
|
34
|
-
|
|
34
|
+
__exportStar(require("./auth-types"), exports);
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBdUM7QUFjOUIsbUJBZEYsbUJBQVEsQ0FjRTtBQVpqQiwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsc0RBQW9DO0FBQ3BDLDRDQUEwQjtBQUMxQiwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLHlDQUF1QjtBQUN2Qiw0Q0FBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzZXRWYWx1ZSBmcm9tICcuL2xpYi9zZXQtdmFsdWUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFncyc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL3N0cnVjdHVyZWQtbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yayc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc2Rrcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsdXN0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWZsYWdzJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC10eXBlcyc7XG5leHBvcnQgeyBzZXRWYWx1ZSB9O1xuIl19
|