@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 CHANGED
@@ -1 +1,110 @@
1
- # rudder-integrations-lib
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
@@ -10,5 +10,6 @@ export * from './constants';
10
10
  export * from './sdks';
11
11
  export * from './cluster';
12
12
  export * from './feature-flags';
13
+ export * from './auth-types';
13
14
  export { setValue };
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBdUM7QUFhOUIsbUJBYkYsbUJBQVEsQ0FhRTtBQVhqQiwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsc0RBQW9DO0FBQ3BDLDRDQUEwQjtBQUMxQiwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLHlDQUF1QjtBQUN2Qiw0Q0FBMEI7QUFDMUIsa0RBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNldFZhbHVlIGZyb20gJy4vbGliL3NldC12YWx1ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWdzJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vc3RydWN0dXJlZC1sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9uZXR3b3JrJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZGtzJztcbmV4cG9ydCAqIGZyb20gJy4vY2x1c3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZmxhZ3MnO1xuZXhwb3J0IHsgc2V0VmFsdWUgfTtcbiJdfQ==
34
+ __exportStar(require("./auth-types"), exports);
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBdUM7QUFjOUIsbUJBZEYsbUJBQVEsQ0FjRTtBQVpqQiwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsc0RBQW9DO0FBQ3BDLDRDQUEwQjtBQUMxQiwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLHlDQUF1QjtBQUN2Qiw0Q0FBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzZXRWYWx1ZSBmcm9tICcuL2xpYi9zZXQtdmFsdWUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFncyc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL3N0cnVjdHVyZWQtbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yayc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc2Rrcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsdXN0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWZsYWdzJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC10eXBlcyc7XG5leHBvcnQgeyBzZXRWYWx1ZSB9O1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderstack/integrations-lib",
3
- "version": "0.2.44",
3
+ "version": "0.2.47",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "module": "build/index.js",