@segment/action-destinations 3.258.0 → 3.258.1-cayuso-temp-test.7
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/dist/destinations/amazon-ads/utils.d.ts +25 -0
- package/dist/destinations/amazon-ads/utils.js +8 -0
- package/dist/destinations/amazon-ads/utils.js.map +1 -0
- package/dist/destinations/customerio/utils.d.ts +1 -1
- package/dist/destinations/engage/sendgrid/Profile.d.ts +6 -0
- package/dist/destinations/engage/sendgrid/Profile.js +3 -0
- package/dist/destinations/engage/sendgrid/Profile.js.map +1 -0
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +18 -0
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +94 -0
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +1 -0
- package/dist/destinations/engage/sendgrid/sendEmail/actionDefinition.js +11 -0
- package/dist/destinations/engage/sendgrid/sendEmail/actionDefinition.js.map +1 -1
- package/dist/destinations/engage/twilio/sendSms/actionDefinition.js +4 -0
- package/dist/destinations/engage/twilio/sendSms/actionDefinition.js.map +1 -1
- package/dist/destinations/engage/utils/EngageActionPerformer.js +17 -1
- package/dist/destinations/engage/utils/EngageActionPerformer.js.map +1 -1
- package/dist/destinations/engage/utils/operationTracking/OperationFinallyHooks.d.ts +3 -0
- package/dist/destinations/engage/utils/operationTracking/OperationFinallyHooks.js +15 -0
- package/dist/destinations/engage/utils/operationTracking/OperationFinallyHooks.js.map +1 -1
- package/dist/destinations/engage/utils/track.d.ts +12 -9
- package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.d.ts +13 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.js +3 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.js.map +1 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/index.d.ts +5 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/index.js +95 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/index.js.map +1 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.d.ts +6 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.js +37 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.js.map +1 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.d.ts +7 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js +52 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js.map +1 -0
- package/dist/destinations/mixpanel/utils.d.ts +13 -0
- package/dist/destinations/mixpanel/utils.js +117 -0
- package/dist/destinations/mixpanel/utils.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { HTTPError } from '@segment/actions-core';
|
|
2
|
+
export declare class AmazonAdsError extends HTTPError {
|
|
3
|
+
response: Response & {
|
|
4
|
+
data: {
|
|
5
|
+
status: string;
|
|
6
|
+
message: string;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export interface AudiencePayload {
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
countryCode?: string;
|
|
14
|
+
targetResource: {
|
|
15
|
+
advertiserId: string;
|
|
16
|
+
};
|
|
17
|
+
metadata: {
|
|
18
|
+
externalAudienceId: string;
|
|
19
|
+
ttl?: number;
|
|
20
|
+
audienceFees?: {
|
|
21
|
+
cpmCents: number;
|
|
22
|
+
currency: string;
|
|
23
|
+
}[];
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AmazonAdsError = void 0;
|
|
4
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
+
class AmazonAdsError extends actions_core_1.HTTPError {
|
|
6
|
+
}
|
|
7
|
+
exports.AmazonAdsError = AmazonAdsError;
|
|
8
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/amazon-ads/utils.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AAEjD,MAAa,cAAe,SAAQ,wBAAS;CAO5C;AAPD,wCAOC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const trackApiEndpoint: ({ accountRegion }: {
|
|
2
2
|
accountRegion?: string | undefined;
|
|
3
|
-
}) => "https://track
|
|
3
|
+
}) => "https://track.customer.io" | "https://track-eu.customer.io";
|
|
4
4
|
export declare enum AccountRegion {
|
|
5
5
|
US = "US \uD83C\uDDFA\uD83C\uDDF8",
|
|
6
6
|
EU = "EU \uD83C\uDDEA\uD83C\uDDFA"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../src/destinations/engage/sendgrid/Profile.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InputField } from '@segment/actions-core';
|
|
2
|
+
import { RequestClient } from '@segment/actions-core';
|
|
3
|
+
import { Logger, StatsClient } from '@segment/actions-core/destination-kit';
|
|
4
|
+
import type { Settings } from '../generated-types';
|
|
5
|
+
import { Profile } from '../Profile';
|
|
6
|
+
export declare type ApiLookupConfig = {
|
|
7
|
+
id?: string | undefined;
|
|
8
|
+
name: string;
|
|
9
|
+
url: string;
|
|
10
|
+
method: string;
|
|
11
|
+
cacheTtl: number;
|
|
12
|
+
body?: string | undefined;
|
|
13
|
+
headers?: object | undefined;
|
|
14
|
+
responseType: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const performApiLookup: (request: RequestClient, { id, url, method, body, headers }: ApiLookupConfig, profile: Profile, statsClient: StatsClient | undefined, tags: string[], settings: Settings, logger?: Logger | undefined) => Promise<unknown>;
|
|
17
|
+
export declare const apiLookupActionFields: Record<string, InputField>;
|
|
18
|
+
export declare const apiLookupLiquidKey = "lookups";
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.apiLookupLiquidKey = exports.apiLookupActionFields = exports.performApiLookup = void 0;
|
|
4
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
+
const liquidjs_1 = require("liquidjs");
|
|
6
|
+
const Liquid = new liquidjs_1.Liquid();
|
|
7
|
+
const performApiLookup = async (request, { id, url, method, body, headers }, profile, statsClient, tags, settings, logger) => {
|
|
8
|
+
let renderedUrl;
|
|
9
|
+
let renderedBody;
|
|
10
|
+
try {
|
|
11
|
+
renderedUrl = await Liquid.parseAndRender(url, { profile });
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
logger?.error(`TE Messaging: Email api lookup url parse failure - api lookup id: ${id} - ${settings.spaceId} - [${error}]`);
|
|
15
|
+
tags.push('reason:parse_apilookup_url');
|
|
16
|
+
statsClient?.incr('actions-personas-messaging-sendgrid-error', 1, tags);
|
|
17
|
+
throw new actions_core_1.IntegrationError('Unable to parse email api lookup url', 'api lookup url parse failure', 400);
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
renderedBody = body ? await Liquid.parseAndRender(body, { profile }) : undefined;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
logger?.error(`TE Messaging: Email api lookup body parse failure - api lookup id: ${id} - ${settings.spaceId} - [${error}]`);
|
|
24
|
+
tags.push('reason:parse_apilookup_body');
|
|
25
|
+
statsClient?.incr('actions-personas-messaging-sendgrid-error', 1, tags);
|
|
26
|
+
throw new actions_core_1.IntegrationError('Unable to parse email api lookup body', 'api lookup body parse failure', 400);
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
const res = await request(renderedUrl, {
|
|
30
|
+
headers: headers ?? undefined,
|
|
31
|
+
timeout: 10000,
|
|
32
|
+
method: method,
|
|
33
|
+
body: renderedBody,
|
|
34
|
+
skipResponseCloning: true
|
|
35
|
+
});
|
|
36
|
+
return res.data;
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
logger?.error(`TE Messaging: Email api lookup failure - api lookup id: ${id} - ${settings.spaceId} - [${error}]`);
|
|
40
|
+
tags.push('reason:apilookup_failure');
|
|
41
|
+
statsClient?.incr('actions-personas-messaging-sendgrid-error', 1, tags);
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.performApiLookup = performApiLookup;
|
|
46
|
+
exports.apiLookupActionFields = {
|
|
47
|
+
id: {
|
|
48
|
+
label: 'ID',
|
|
49
|
+
description: 'The id of the API lookup for use in logging & observability',
|
|
50
|
+
type: 'string'
|
|
51
|
+
},
|
|
52
|
+
name: {
|
|
53
|
+
label: 'Name',
|
|
54
|
+
description: 'The name of the API lookup referenced in liquid syntax',
|
|
55
|
+
type: 'string',
|
|
56
|
+
required: true
|
|
57
|
+
},
|
|
58
|
+
url: {
|
|
59
|
+
label: 'URL',
|
|
60
|
+
description: 'The URL endpoint to call',
|
|
61
|
+
type: 'string',
|
|
62
|
+
required: true
|
|
63
|
+
},
|
|
64
|
+
method: {
|
|
65
|
+
label: 'Request Method',
|
|
66
|
+
description: 'The request method, e.g. GET/POST/etc.',
|
|
67
|
+
type: 'string',
|
|
68
|
+
required: true
|
|
69
|
+
},
|
|
70
|
+
cacheTtl: {
|
|
71
|
+
label: 'Cache TTL',
|
|
72
|
+
description: 'The cache TTL in ms',
|
|
73
|
+
type: 'integer',
|
|
74
|
+
required: true
|
|
75
|
+
},
|
|
76
|
+
body: {
|
|
77
|
+
label: 'Request Body',
|
|
78
|
+
description: 'The request body for use with POST/PUT/PATCH requests',
|
|
79
|
+
type: 'string'
|
|
80
|
+
},
|
|
81
|
+
headers: {
|
|
82
|
+
label: 'Request Headers',
|
|
83
|
+
description: 'Headers in JSON to be sent with the request',
|
|
84
|
+
type: 'object'
|
|
85
|
+
},
|
|
86
|
+
responseType: {
|
|
87
|
+
label: 'Response Type',
|
|
88
|
+
description: 'The response type of the request. Currently only supporting JSON.',
|
|
89
|
+
type: 'string',
|
|
90
|
+
required: true
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
exports.apiLookupLiquidKey = 'lookups';
|
|
94
|
+
//# sourceMappingURL=api-lookups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-lookups.js","sourceRoot":"","sources":["../../../../../src/destinations/engage/sendgrid/previewApiLookup/api-lookups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.actionDefinition = void 0;
|
|
4
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
4
5
|
const apiLookups_1 = require("../../utils/apiLookups");
|
|
5
6
|
const SendEmailPerformer_1 = require("./SendEmailPerformer");
|
|
6
7
|
exports.actionDefinition = {
|
|
@@ -250,6 +251,16 @@ exports.actionDefinition = {
|
|
|
250
251
|
}
|
|
251
252
|
},
|
|
252
253
|
perform: async (request, executeInput) => {
|
|
254
|
+
if (executeInput.statsContext?.tags) {
|
|
255
|
+
for (const item of executeInput.statsContext?.tags) {
|
|
256
|
+
if (item.includes('delivery_attempt')) {
|
|
257
|
+
const delivery_attempt = Number(item.split(':')[1]);
|
|
258
|
+
if (delivery_attempt < 3) {
|
|
259
|
+
throw new actions_core_1.IntegrationError('Retrying with Integration error', 'TIMEOUT_ERROR', 408);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
253
264
|
const performer = new SendEmailPerformer_1.SendEmailPerformer(request, executeInput);
|
|
254
265
|
return performer.perform();
|
|
255
266
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionDefinition.js","sourceRoot":"","sources":["../../../../../src/destinations/engage/sendgrid/sendEmail/actionDefinition.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"actionDefinition.js","sourceRoot":"","sources":["../../../../../src/destinations/engage/sendgrid/sendEmail/actionDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.actionDefinition = void 0;
|
|
4
4
|
const SmsMessageSender_1 = require("./SmsMessageSender");
|
|
5
|
+
const _1 = require("@segment/actions-core/*");
|
|
5
6
|
exports.actionDefinition = {
|
|
6
7
|
title: 'Send SMS',
|
|
7
8
|
description: 'Send SMS using Twilio',
|
|
@@ -156,6 +157,9 @@ exports.actionDefinition = {
|
|
|
156
157
|
}
|
|
157
158
|
},
|
|
158
159
|
perform: async (request, data) => {
|
|
160
|
+
if (data) {
|
|
161
|
+
throw new _1.RetryableError('test', 408);
|
|
162
|
+
}
|
|
159
163
|
return new SmsMessageSender_1.SmsMessageSender(request, data).perform();
|
|
160
164
|
}
|
|
161
165
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionDefinition.js","sourceRoot":"","sources":["../../../../../src/destinations/engage/twilio/sendSms/actionDefinition.ts"],"names":[],"mappings":";;;AAIA,yDAAqD;
|
|
1
|
+
{"version":3,"file":"actionDefinition.js","sourceRoot":"","sources":["../../../../../src/destinations/engage/twilio/sendSms/actionDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ const isDestinationActionService_1 = require("./isDestinationActionService");
|
|
|
17
17
|
const ResponseError_1 = require("./ResponseError");
|
|
18
18
|
const IntegrationErrorWrapper_1 = require("./IntegrationErrorWrapper");
|
|
19
19
|
const truncate_1 = __importDefault(require("lodash/truncate"));
|
|
20
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
20
21
|
class EngageActionPerformer {
|
|
21
22
|
constructor(requestClient, executeInput) {
|
|
22
23
|
this.requestClient = requestClient;
|
|
@@ -75,6 +76,20 @@ class EngageActionPerformer {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
});
|
|
79
|
+
op?.onCatch.push(() => {
|
|
80
|
+
const respError = op?.error;
|
|
81
|
+
if (respError) {
|
|
82
|
+
const errorDetails = ResponseError_1.getErrorDetails(respError);
|
|
83
|
+
const msgLowercare = errorDetails?.message?.toLowerCase();
|
|
84
|
+
const isTimeoutErrorInOnCatch = msgLowercare?.includes('timeout') ||
|
|
85
|
+
msgLowercare?.includes('timedout') ||
|
|
86
|
+
msgLowercare?.includes('exceeded the deadline') ||
|
|
87
|
+
errorDetails.code?.toLowerCase().includes('etimedout');
|
|
88
|
+
if (isTimeoutErrorInOnCatch) {
|
|
89
|
+
op.error = new actions_core_1.RetryableError('Timeout error in on Catch, retrying...', 408);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
78
93
|
return await this.requestClient(url, options);
|
|
79
94
|
}
|
|
80
95
|
redactPii(pii) {
|
|
@@ -133,7 +148,8 @@ __decorate([
|
|
|
133
148
|
__decorate([
|
|
134
149
|
track_1.track({
|
|
135
150
|
onTry: addUrlToLog,
|
|
136
|
-
onFinally: addUrlToLog
|
|
151
|
+
onFinally: addUrlToLog,
|
|
152
|
+
onCatch: addUrlToLog
|
|
137
153
|
})
|
|
138
154
|
], EngageActionPerformer.prototype, "request", null);
|
|
139
155
|
exports.EngageActionPerformer = EngageActionPerformer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngageActionPerformer.js","sourceRoot":"","sources":["../../../../src/destinations/engage/utils/EngageActionPerformer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,iDAA6C;AAC7C,+CAA2C;AAC3C,mCAAiD;AACjD,6EAAyE;AACzE,mDAAgE;AAGhE,uEAAmE;AAEnE,+DAAsC;
|
|
1
|
+
{"version":3,"file":"EngageActionPerformer.js","sourceRoot":"","sources":["../../../../src/destinations/engage/utils/EngageActionPerformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { TryCatchFinallyContext, TryCatchFinallyHook } from './wrapTryCatchFinallyPromisable';
|
|
2
2
|
export declare type OperationFinallyHooksContext<TContext extends TryCatchFinallyContext = TryCatchFinallyContext> = TContext & {
|
|
3
3
|
onFinally: (() => void)[];
|
|
4
|
+
onCatch: (() => void)[];
|
|
4
5
|
decoratorArgs?: {
|
|
5
6
|
onTry?: (ctx: TContext) => void;
|
|
6
7
|
onFinally?: (ctx: TContext) => void;
|
|
8
|
+
onCatch?: (ctx: TContext) => void;
|
|
7
9
|
};
|
|
8
10
|
};
|
|
9
11
|
export declare class OperationFinallyHooks {
|
|
@@ -11,4 +13,5 @@ export declare class OperationFinallyHooks {
|
|
|
11
13
|
static getPriority(): number;
|
|
12
14
|
static onTry<TContext extends TryCatchFinallyContext>(ctx: OperationFinallyHooksContext<TContext>): void;
|
|
13
15
|
static onFinally<TContext extends TryCatchFinallyContext>(ctx: OperationFinallyHooksContext<TContext>): void;
|
|
16
|
+
static onCatch<TContext extends TryCatchFinallyContext>(ctx: OperationFinallyHooksContext<TContext>): void;
|
|
14
17
|
}
|
|
@@ -10,6 +10,7 @@ class OperationFinallyHooks {
|
|
|
10
10
|
}
|
|
11
11
|
static onTry(ctx) {
|
|
12
12
|
ctx.onFinally = [];
|
|
13
|
+
ctx.onCatch = [];
|
|
13
14
|
ctx.decoratorArgs?.onTry?.(ctx);
|
|
14
15
|
}
|
|
15
16
|
static onFinally(ctx) {
|
|
@@ -26,6 +27,20 @@ class OperationFinallyHooks {
|
|
|
26
27
|
}
|
|
27
28
|
ctx.decoratorArgs?.onFinally?.(ctx);
|
|
28
29
|
}
|
|
30
|
+
static onCatch(ctx) {
|
|
31
|
+
for (const hook of ctx.onCatch) {
|
|
32
|
+
try {
|
|
33
|
+
hook();
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
const error = e;
|
|
37
|
+
const loggerCtx = ctx;
|
|
38
|
+
if (loggerCtx.logs)
|
|
39
|
+
loggerCtx.logs.push(`Error in onCatch hook: ${error?.message || error.toString()}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
ctx.decoratorArgs?.onFinally?.(ctx);
|
|
43
|
+
}
|
|
29
44
|
}
|
|
30
45
|
exports.OperationFinallyHooks = OperationFinallyHooks;
|
|
31
46
|
//# sourceMappingURL=OperationFinallyHooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationFinallyHooks.js","sourceRoot":"","sources":["../../../../../src/destinations/engage/utils/operationTracking/OperationFinallyHooks.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"OperationFinallyHooks.js","sourceRoot":"","sources":["../../../../../src/destinations/engage/utils/operationTracking/OperationFinallyHooks.ts"],"names":[],"mappings":";;;AAiBA,MAAa,qBAAqB;IAChC,MAAM,CAAC,sBAAsB,CAAC,IAAkC;QAC9D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,CAAC,WAAW;QAChB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,KAAK,CAA0C,GAA2C;QAC/F,GAAG,CAAC,SAAS,GAAG,EAAE,CAAA;QAClB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAA;QAChB,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,SAAS,CAA0C,GAA2C;QACnG,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE;YAChC,IAAI;gBACF,IAAI,EAAE,CAAA;aACP;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,KAAK,GAAG,CAAU,CAAA;gBAExB,MAAM,SAAS,GAAG,GAAsC,CAAA;gBACxD,IAAI,SAAS,CAAC,IAAI;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;aAC1G;SACF;QACD,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IACD,MAAM,CAAC,OAAO,CAA0C,GAA2C;QACjG,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;YAC9B,IAAI;gBACF,IAAI,EAAE,CAAA;aACP;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,KAAK,GAAG,CAAU,CAAA;gBAExB,MAAM,SAAS,GAAG,GAAsC,CAAA;gBACxD,IAAI,SAAS,CAAC,IAAI;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;aACxG;SACF;QACD,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;CACF;AAxCD,sDAwCC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ContextFromDecorator } from './operationTracking';
|
|
2
2
|
export declare const track: ((decoratorArgs?: ({
|
|
3
3
|
onError?: ((ctx: import("./operationTracking").OperationErrorHandlerContext<import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>>) => void) | undefined;
|
|
4
|
-
} &
|
|
4
|
+
} & {
|
|
5
5
|
onTry?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
6
6
|
onFinally?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
7
|
-
|
|
7
|
+
onCatch?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
8
|
+
} & import("./operationTracking").OperationLoggerDecoratorArgs & {
|
|
8
9
|
shouldStats?: ((args: import("./operationTracking").OperationStatsEventArgs) => boolean | void) | undefined;
|
|
9
10
|
} & {
|
|
10
11
|
wrapIntegrationError?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => import("@segment/actions-core/*").IntegrationError | [message: string, code: string, status: number]) | undefined;
|
|
@@ -15,9 +16,6 @@ export declare const track: ((decoratorArgs?: ({
|
|
|
15
16
|
}) | undefined;
|
|
16
17
|
} & {
|
|
17
18
|
_contextType: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & {
|
|
18
|
-
start?: number | undefined;
|
|
19
|
-
duration?: number | undefined;
|
|
20
|
-
} & {
|
|
21
19
|
decoratorArgs?: {
|
|
22
20
|
onError?: ((ctx: import("./operationTracking").OperationErrorHandlerContext<import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>>) => void) | undefined;
|
|
23
21
|
} | undefined;
|
|
@@ -25,16 +23,21 @@ export declare const track: ((decoratorArgs?: ({
|
|
|
25
23
|
parent?: (import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & any) | undefined;
|
|
26
24
|
sharedContext: {};
|
|
27
25
|
} & {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
decoratorArgs?: import("./operationTracking").OperationLoggerDecoratorArgs | undefined;
|
|
31
|
-
sharedContext: import("./operationTracking").OperationLoggerSharedContext;
|
|
26
|
+
start?: number | undefined;
|
|
27
|
+
duration?: number | undefined;
|
|
32
28
|
} & {
|
|
33
29
|
onFinally: (() => void)[];
|
|
30
|
+
onCatch: (() => void)[];
|
|
34
31
|
decoratorArgs?: {
|
|
35
32
|
onTry?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
36
33
|
onFinally?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
34
|
+
onCatch?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
|
|
37
35
|
} | undefined;
|
|
36
|
+
} & {
|
|
37
|
+
logs: string[];
|
|
38
|
+
logMetadata?: Record<string, unknown> | undefined;
|
|
39
|
+
decoratorArgs?: import("./operationTracking").OperationLoggerDecoratorArgs | undefined;
|
|
40
|
+
sharedContext: import("./operationTracking").OperationLoggerSharedContext;
|
|
38
41
|
} & {
|
|
39
42
|
tags: string[];
|
|
40
43
|
sharedContext: {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface Payload {
|
|
2
|
+
audience_key: string;
|
|
3
|
+
identifier_data?: {
|
|
4
|
+
[k: string]: unknown;
|
|
5
|
+
};
|
|
6
|
+
unhashed_identifier_data?: {
|
|
7
|
+
[k: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
delimiter: string;
|
|
10
|
+
filename: string;
|
|
11
|
+
enable_batching: boolean;
|
|
12
|
+
batch_size?: number;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const s3_1 = require("./s3");
|
|
5
|
+
const sftp_1 = require("./sftp");
|
|
6
|
+
const operations_1 = require("../operations");
|
|
7
|
+
const action = {
|
|
8
|
+
title: 'Audience Entered',
|
|
9
|
+
description: 'Uploads audience membership data to a file for LiveRamp ingestion.',
|
|
10
|
+
defaultSubscription: 'event = "Audience Entered"',
|
|
11
|
+
fields: {
|
|
12
|
+
audience_key: {
|
|
13
|
+
label: 'Audience Key',
|
|
14
|
+
description: 'Identifies the user within the entered audience.',
|
|
15
|
+
type: 'string',
|
|
16
|
+
required: true,
|
|
17
|
+
default: { '@path': '$.userId' }
|
|
18
|
+
},
|
|
19
|
+
identifier_data: {
|
|
20
|
+
label: 'Identifier Data',
|
|
21
|
+
description: `Additional data pertaining to the user to be written to the file.`,
|
|
22
|
+
type: 'object',
|
|
23
|
+
required: false,
|
|
24
|
+
defaultObjectUI: 'keyvalue:only'
|
|
25
|
+
},
|
|
26
|
+
unhashed_identifier_data: {
|
|
27
|
+
label: 'Hashable Identifier Data',
|
|
28
|
+
description: `Additional data pertaining to the user to be hashed before written to the file`,
|
|
29
|
+
type: 'object',
|
|
30
|
+
required: false,
|
|
31
|
+
defaultObjectUI: 'keyvalue:only'
|
|
32
|
+
},
|
|
33
|
+
delimiter: {
|
|
34
|
+
label: 'Delimeter',
|
|
35
|
+
description: `Character used to separate tokens in the resulting file.`,
|
|
36
|
+
type: 'string',
|
|
37
|
+
required: true,
|
|
38
|
+
default: ','
|
|
39
|
+
},
|
|
40
|
+
filename: {
|
|
41
|
+
label: 'Filename',
|
|
42
|
+
description: `Name of the CSV file to upload for LiveRamp ingestion.`,
|
|
43
|
+
type: 'string',
|
|
44
|
+
required: true,
|
|
45
|
+
default: { '@template': '{{properties.audience_key}}_PII_{{timestamp}}.csv' }
|
|
46
|
+
},
|
|
47
|
+
enable_batching: {
|
|
48
|
+
type: 'boolean',
|
|
49
|
+
label: 'Batch data',
|
|
50
|
+
description: 'Receive events in a batch payload. This is required for LiveRamp audiences ingestion.',
|
|
51
|
+
required: true,
|
|
52
|
+
default: true
|
|
53
|
+
},
|
|
54
|
+
batch_size: {
|
|
55
|
+
label: 'Batch Size',
|
|
56
|
+
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
57
|
+
type: 'number',
|
|
58
|
+
required: false,
|
|
59
|
+
default: 1000000
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
perform: async (request, { settings, payload }) => {
|
|
63
|
+
return processData(request, settings, [payload]);
|
|
64
|
+
},
|
|
65
|
+
performBatch: (request, { settings, payload }) => {
|
|
66
|
+
return processData(request, settings, payload);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
async function processData(request, settings, payloads) {
|
|
70
|
+
const LIVERAMP_MIN_RECORD_COUNT = 25;
|
|
71
|
+
if (payloads.length < LIVERAMP_MIN_RECORD_COUNT) {
|
|
72
|
+
throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${LIVERAMP_MIN_RECORD_COUNT} actual: ${payloads.length}`);
|
|
73
|
+
}
|
|
74
|
+
switch (settings.upload_mode) {
|
|
75
|
+
case 'S3':
|
|
76
|
+
s3_1.validateS3(settings);
|
|
77
|
+
break;
|
|
78
|
+
case 'SFTP':
|
|
79
|
+
sftp_1.validateSFTP(settings);
|
|
80
|
+
break;
|
|
81
|
+
default:
|
|
82
|
+
throw new actions_core_1.InvalidAuthenticationError(`Unexpected upload mode: ${settings.upload_mode}`);
|
|
83
|
+
}
|
|
84
|
+
const { filename, fileContent } = operations_1.generateFile(payloads);
|
|
85
|
+
switch (settings.upload_mode) {
|
|
86
|
+
case 'S3':
|
|
87
|
+
return s3_1.uploadS3(settings, filename, fileContent, request);
|
|
88
|
+
case 'SFTP': {
|
|
89
|
+
const sftpClient = new sftp_1.Client();
|
|
90
|
+
return sftp_1.uploadSFTP(sftpClient, settings, filename, fileContent);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.default = action;
|
|
95
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ModifiedResponse, RequestOptions } from '@segment/actions-core';
|
|
3
|
+
import { Settings } from '../generated-types';
|
|
4
|
+
declare function validateS3(settings: Settings): void;
|
|
5
|
+
declare function uploadS3(settings: Settings, filename: string, fileContent: Buffer, request: <Data = unknown>(url: string, options?: RequestOptions) => Promise<ModifiedResponse<Data>>): Promise<ModifiedResponse<unknown>>;
|
|
6
|
+
export { validateS3, uploadS3 };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.uploadS3 = exports.validateS3 = void 0;
|
|
7
|
+
const s3_1 = __importDefault(require("../../../lib/AWS/s3"));
|
|
8
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
9
|
+
function validateS3(settings) {
|
|
10
|
+
if (!settings.s3_aws_access_key) {
|
|
11
|
+
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Access Key');
|
|
12
|
+
}
|
|
13
|
+
if (!settings.s3_aws_secret_key) {
|
|
14
|
+
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Secret Key');
|
|
15
|
+
}
|
|
16
|
+
if (!settings.s3_aws_bucket_name) {
|
|
17
|
+
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS S3 bucket name');
|
|
18
|
+
}
|
|
19
|
+
if (!settings.s3_aws_region) {
|
|
20
|
+
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Region');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.validateS3 = validateS3;
|
|
24
|
+
async function uploadS3(settings, filename, fileContent, request) {
|
|
25
|
+
const method = 'PUT';
|
|
26
|
+
const opts = await s3_1.default(settings.s3_aws_bucket_name, settings.s3_aws_region, filename, method, fileContent, settings.s3_aws_access_key, settings.s3_aws_secret_key);
|
|
27
|
+
if (!opts.headers || !opts.method || !opts.host || !opts.path) {
|
|
28
|
+
throw new actions_core_1.InvalidAuthenticationError('Unable to generate signature header for AWS S3 request.');
|
|
29
|
+
}
|
|
30
|
+
return await request(`https://${opts.host}/${opts.path}`, {
|
|
31
|
+
headers: opts.headers,
|
|
32
|
+
method,
|
|
33
|
+
body: opts.body
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
exports.uploadS3 = uploadS3;
|
|
37
|
+
//# sourceMappingURL=s3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/s3.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA0D;AAC1D,wDAAoG;AAGpG,SAAS,UAAU,CAAC,QAAkB;IACpC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;QAChC,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,iDAAiD,CAAC,CAAA;KACxF;AACH,CAAC;AA6BQ,gCAAU;AA3BnB,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,QAAgB,EAChB,WAAmB,EACnB,OAAmG;IAEnG,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,MAAM,YAAwB,CACzC,QAAQ,CAAC,kBAA4B,EACrC,QAAQ,CAAC,aAAuB,EAChC,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,CAAC,iBAA2B,EACpC,QAAQ,CAAC,iBAA2B,CACrC,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAC7D,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,OAAO,MAAM,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;QACxD,OAAO,EAAE,IAAI,CAAC,OAAiC;QAC/C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC;AAEoB,4BAAQ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import Client from 'ssh2-sftp-client';
|
|
3
|
+
import { Settings } from '../generated-types';
|
|
4
|
+
declare function validateSFTP(settings: Settings): void;
|
|
5
|
+
declare function uploadSFTP(sftp: Client, settings: Settings, filename: string, fileContent: Buffer): Promise<unknown>;
|
|
6
|
+
declare function testAuthenticationSFTP(sftp: Client, settings: Settings): Promise<unknown>;
|
|
7
|
+
export { validateSFTP, uploadSFTP, testAuthenticationSFTP, Client };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Client = exports.testAuthenticationSFTP = exports.uploadSFTP = exports.validateSFTP = void 0;
|
|
7
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
8
|
+
const ssh2_sftp_client_1 = __importDefault(require("ssh2-sftp-client"));
|
|
9
|
+
exports.Client = ssh2_sftp_client_1.default;
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const LIVERAMP_SFTP_SERVER = 'files.liveramp.com';
|
|
12
|
+
const LIVERAMP_SFTP_PORT = 22;
|
|
13
|
+
function validateSFTP(settings) {
|
|
14
|
+
if (!settings.sftp_username) {
|
|
15
|
+
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Username)');
|
|
16
|
+
}
|
|
17
|
+
if (!settings.sftp_password) {
|
|
18
|
+
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Password)');
|
|
19
|
+
}
|
|
20
|
+
if (!settings.sftp_folder_path) {
|
|
21
|
+
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing SFTP folder path.');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.validateSFTP = validateSFTP;
|
|
25
|
+
async function uploadSFTP(sftp, settings, filename, fileContent) {
|
|
26
|
+
return doSFTP(sftp, settings, async (sftp) => {
|
|
27
|
+
const targetPath = path_1.default.join(settings.sftp_folder_path, filename);
|
|
28
|
+
return sftp.put(fileContent, targetPath);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
exports.uploadSFTP = uploadSFTP;
|
|
32
|
+
async function doSFTP(sftp, settings, action) {
|
|
33
|
+
await sftp.connect({
|
|
34
|
+
host: LIVERAMP_SFTP_SERVER,
|
|
35
|
+
port: LIVERAMP_SFTP_PORT,
|
|
36
|
+
username: settings.sftp_username,
|
|
37
|
+
password: settings.sftp_password
|
|
38
|
+
});
|
|
39
|
+
const retVal = await action(sftp);
|
|
40
|
+
await sftp.end();
|
|
41
|
+
return retVal;
|
|
42
|
+
}
|
|
43
|
+
async function testAuthenticationSFTP(sftp, settings) {
|
|
44
|
+
return doSFTP(sftp, settings, async (sftp) => {
|
|
45
|
+
return sftp.exists(settings.sftp_folder_path).then((fileType) => {
|
|
46
|
+
if (!fileType)
|
|
47
|
+
throw new Error(`Could not find path: ${settings.sftp_folder_path}`);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
exports.testAuthenticationSFTP = testAuthenticationSFTP;
|
|
52
|
+
//# sourceMappingURL=sftp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftp.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/sftp.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkE;AAClE,wEAAqC;AAiDsB,iBAjDpD,0BAAM,CAiDoD;AAhDjE,gDAAuB;AAGvB,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AACjD,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B,SAAS,YAAY,CAAC,QAAkB;IACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,0DAA0D,CAAC,CAAA;KACjG;AACH,CAAC;AA8BQ,oCAAY;AA5BrB,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAkB,EAAE,QAAgB,EAAE,WAAmB;IAC/F,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAA0B,EAAE,QAAQ,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC;AAuBsB,gCAAU;AArBjC,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,QAAkB,EAAE,MAA4C;IAClG,MAAM,IAAI,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,QAAQ,CAAC,aAAa;QAChC,QAAQ,EAAE,QAAQ,CAAC,aAAa;KACjC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;IAChB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAkB;IACpE,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACxE,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACrF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAEkC,wDAAsB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum ApiRegions {
|
|
2
|
+
US = "US \uD83C\uDDFA\uD83C\uDDF8",
|
|
3
|
+
EU = "EU \uD83C\uDDEA\uD83C\uDDFA"
|
|
4
|
+
}
|
|
5
|
+
export declare enum StrictMode {
|
|
6
|
+
ON = "1",
|
|
7
|
+
OFF = "0"
|
|
8
|
+
}
|
|
9
|
+
export declare function getConcatenatedName(firstName: unknown, lastName: unknown, name: unknown): unknown;
|
|
10
|
+
export declare function getApiServerUrl(apiRegion: string | undefined): "https://api-eu.mixpanel.com" | "https://api.mixpanel.com";
|
|
11
|
+
export declare function getBrowser(userAgent: string): string;
|
|
12
|
+
export declare function getBrowserVersion(userAgent: string): string | undefined;
|
|
13
|
+
export declare function cheapGuid(maxlen?: number): string;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cheapGuid = exports.getBrowserVersion = exports.getBrowser = exports.getApiServerUrl = exports.getConcatenatedName = exports.StrictMode = exports.ApiRegions = void 0;
|
|
4
|
+
var ApiRegions;
|
|
5
|
+
(function (ApiRegions) {
|
|
6
|
+
ApiRegions["US"] = "US \uD83C\uDDFA\uD83C\uDDF8";
|
|
7
|
+
ApiRegions["EU"] = "EU \uD83C\uDDEA\uD83C\uDDFA";
|
|
8
|
+
})(ApiRegions = exports.ApiRegions || (exports.ApiRegions = {}));
|
|
9
|
+
var StrictMode;
|
|
10
|
+
(function (StrictMode) {
|
|
11
|
+
StrictMode["ON"] = "1";
|
|
12
|
+
StrictMode["OFF"] = "0";
|
|
13
|
+
})(StrictMode = exports.StrictMode || (exports.StrictMode = {}));
|
|
14
|
+
function getConcatenatedName(firstName, lastName, name) {
|
|
15
|
+
return name ?? (firstName && lastName ? `${firstName} ${lastName}` : undefined);
|
|
16
|
+
}
|
|
17
|
+
exports.getConcatenatedName = getConcatenatedName;
|
|
18
|
+
function getApiServerUrl(apiRegion) {
|
|
19
|
+
if (apiRegion == ApiRegions.EU) {
|
|
20
|
+
return 'https://api-eu.mixpanel.com';
|
|
21
|
+
}
|
|
22
|
+
return 'https://api.mixpanel.com';
|
|
23
|
+
}
|
|
24
|
+
exports.getApiServerUrl = getApiServerUrl;
|
|
25
|
+
function getBrowser(userAgent) {
|
|
26
|
+
if (userAgent.includes(' OPR/')) {
|
|
27
|
+
if (userAgent.includes('Mini')) {
|
|
28
|
+
return 'Opera Mini';
|
|
29
|
+
}
|
|
30
|
+
return 'Opera';
|
|
31
|
+
}
|
|
32
|
+
else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {
|
|
33
|
+
return 'BlackBerry';
|
|
34
|
+
}
|
|
35
|
+
else if (userAgent.includes('IEMobile') || userAgent.includes('WPDesktop')) {
|
|
36
|
+
return 'Internet Explorer Mobile';
|
|
37
|
+
}
|
|
38
|
+
else if (userAgent.includes('SamsungBrowser/')) {
|
|
39
|
+
return 'Samsung Internet';
|
|
40
|
+
}
|
|
41
|
+
else if (userAgent.includes('Edge') || userAgent.includes('Edg/')) {
|
|
42
|
+
return 'Microsoft Edge';
|
|
43
|
+
}
|
|
44
|
+
else if (userAgent.includes('FBIOS')) {
|
|
45
|
+
return 'Facebook Mobile';
|
|
46
|
+
}
|
|
47
|
+
else if (userAgent.includes('Chrome')) {
|
|
48
|
+
return 'Chrome';
|
|
49
|
+
}
|
|
50
|
+
else if (userAgent.includes('CriOS')) {
|
|
51
|
+
return 'Chrome iOS';
|
|
52
|
+
}
|
|
53
|
+
else if (userAgent.includes('UCWEB') || userAgent.includes('UCBrowser')) {
|
|
54
|
+
return 'UC Browser';
|
|
55
|
+
}
|
|
56
|
+
else if (userAgent.includes('FxiOS')) {
|
|
57
|
+
return 'Firefox iOS';
|
|
58
|
+
}
|
|
59
|
+
else if (userAgent.includes('Safari')) {
|
|
60
|
+
return 'Safari';
|
|
61
|
+
}
|
|
62
|
+
else if (userAgent.includes('Android')) {
|
|
63
|
+
return 'Android Mobile';
|
|
64
|
+
}
|
|
65
|
+
else if (userAgent.includes('Konqueror')) {
|
|
66
|
+
return 'Konqueror';
|
|
67
|
+
}
|
|
68
|
+
else if (userAgent.includes('Firefox')) {
|
|
69
|
+
return 'Firefox';
|
|
70
|
+
}
|
|
71
|
+
else if (userAgent.includes('MSIE') || userAgent.includes('Trident/')) {
|
|
72
|
+
return 'Internet Explorer';
|
|
73
|
+
}
|
|
74
|
+
else if (userAgent.includes('Gecko')) {
|
|
75
|
+
return 'Mozilla';
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return '';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.getBrowser = getBrowser;
|
|
82
|
+
function getBrowserVersion(userAgent) {
|
|
83
|
+
const browser = getBrowser(userAgent);
|
|
84
|
+
const versionRegexs = {
|
|
85
|
+
'Internet Explorer Mobile': /rv:(\d+(\.\d+)?)/,
|
|
86
|
+
'Microsoft Edge': /Edge?\/(\d+(\.\d+)?)/,
|
|
87
|
+
Chrome: /Chrome\/(\d+(\.\d+)?)/,
|
|
88
|
+
'Chrome iOS': /CriOS\/(\d+(\.\d+)?)/,
|
|
89
|
+
'UC Browser': /(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,
|
|
90
|
+
Safari: /Version\/(\d+(\.\d+)?)/,
|
|
91
|
+
'Mobile Safari': /Version\/(\d+(\.\d+)?)/,
|
|
92
|
+
Opera: /(Opera|OPR)\/(\d+(\.\d+)?)/,
|
|
93
|
+
Firefox: /Firefox\/(\d+(\.\d+)?)/,
|
|
94
|
+
'Firefox iOS': /FxiOS\/(\d+(\.\d+)?)/,
|
|
95
|
+
Konqueror: /Konqueror:(\d+(\.\d+)?)/,
|
|
96
|
+
BlackBerry: /BlackBerry (\d+(\.\d+)?)/,
|
|
97
|
+
'Android Mobile': /android\s(\d+(\.\d+)?)/,
|
|
98
|
+
'Samsung Internet': /SamsungBrowser\/(\d+(\.\d+)?)/,
|
|
99
|
+
'Internet Explorer': /(rv:|MSIE )(\d+(\.\d+)?)/,
|
|
100
|
+
Mozilla: /rv:(\d+(\.\d+)?)/
|
|
101
|
+
};
|
|
102
|
+
const regex = versionRegexs[browser];
|
|
103
|
+
if (!regex)
|
|
104
|
+
return regex;
|
|
105
|
+
const matches = regex.exec(userAgent);
|
|
106
|
+
if (!matches) {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
return matches[matches.length - 2];
|
|
110
|
+
}
|
|
111
|
+
exports.getBrowserVersion = getBrowserVersion;
|
|
112
|
+
function cheapGuid(maxlen) {
|
|
113
|
+
const guid = Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10);
|
|
114
|
+
return maxlen ? guid.substring(0, maxlen) : guid;
|
|
115
|
+
}
|
|
116
|
+
exports.cheapGuid = cheapGuid;
|
|
117
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/mixpanel/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@segment/action-destinations",
|
|
3
3
|
"description": "Destination Actions engine and definitions.",
|
|
4
|
-
"version": "3.258.
|
|
4
|
+
"version": "3.258.1-cayuso-temp-test.7+8ffd4ad1f",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"__tests__/__helpers__/"
|
|
87
87
|
]
|
|
88
88
|
},
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "8ffd4ad1ff475f9530e8b27221da74cda330bb88"
|
|
90
90
|
}
|