@segment/action-destinations 3.232.0 → 3.233.0-streams.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.d.ts +1 -0
  2. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js +184 -0
  3. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js.map +1 -0
  4. package/dist/destinations/engage/utils/track.d.ts +9 -9
  5. package/dist/destinations/klaviyo/addProfileToList/generated-types.d.ts +1 -0
  6. package/dist/destinations/klaviyo/addProfileToList/index.js +8 -1
  7. package/dist/destinations/klaviyo/addProfileToList/index.js.map +1 -1
  8. package/dist/destinations/klaviyo/functions.d.ts +2 -2
  9. package/dist/destinations/klaviyo/functions.js +26 -24
  10. package/dist/destinations/klaviyo/functions.js.map +1 -1
  11. package/dist/destinations/klaviyo/properties.d.ts +1 -0
  12. package/dist/destinations/klaviyo/properties.js +7 -1
  13. package/dist/destinations/klaviyo/properties.js.map +1 -1
  14. package/dist/destinations/klaviyo/removeProfileFromList/generated-types.d.ts +1 -0
  15. package/dist/destinations/klaviyo/removeProfileFromList/index.js +14 -6
  16. package/dist/destinations/klaviyo/removeProfileFromList/index.js.map +1 -1
  17. package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +4 -0
  18. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js +3 -0
  19. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +1 -0
  20. package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +5 -0
  21. package/dist/destinations/klaviyo/removeProfileToList/index.js +43 -0
  22. package/dist/destinations/klaviyo/removeProfileToList/index.js.map +1 -0
  23. package/dist/destinations/klaviyo/types.d.ts +7 -0
  24. package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js +24 -4
  25. package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js.map +1 -1
  26. package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.d.ts +9 -0
  27. package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.js +22 -1
  28. package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.js.map +1 -1
  29. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js +20 -1
  30. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js.map +1 -1
  31. package/dist/destinations/liveramp-audiences/operations.d.ts +20 -1
  32. package/dist/destinations/liveramp-audiences/operations.js +67 -1
  33. package/dist/destinations/liveramp-audiences/operations.js.map +1 -1
  34. package/dist/destinations/mixpanel/utils.d.ts +13 -0
  35. package/dist/destinations/mixpanel/utils.js +117 -0
  36. package/dist/destinations/mixpanel/utils.js.map +1 -0
  37. package/dist/destinations/movable-ink/categoryView/generated-types.d.ts +22 -0
  38. package/dist/destinations/movable-ink/categoryView/generated-types.js +3 -0
  39. package/dist/destinations/movable-ink/categoryView/generated-types.js.map +1 -0
  40. package/dist/destinations/movable-ink/categoryView/index.d.ts +5 -0
  41. package/dist/destinations/movable-ink/categoryView/index.js +43 -0
  42. package/dist/destinations/movable-ink/categoryView/index.js.map +1 -0
  43. package/dist/destinations/movable-ink/conversion/generated-types.d.ts +20 -0
  44. package/dist/destinations/movable-ink/conversion/generated-types.js +3 -0
  45. package/dist/destinations/movable-ink/conversion/generated-types.js.map +1 -0
  46. package/dist/destinations/movable-ink/conversion/index.d.ts +5 -0
  47. package/dist/destinations/movable-ink/conversion/index.js +45 -0
  48. package/dist/destinations/movable-ink/conversion/index.js.map +1 -0
  49. package/dist/destinations/movable-ink/fields.d.ts +21 -0
  50. package/dist/destinations/movable-ink/fields.js +236 -0
  51. package/dist/destinations/movable-ink/fields.js.map +1 -0
  52. package/dist/destinations/movable-ink/identify/generated-types.d.ts +7 -0
  53. package/dist/destinations/movable-ink/identify/generated-types.js +3 -0
  54. package/dist/destinations/movable-ink/identify/generated-types.js.map +1 -0
  55. package/dist/destinations/movable-ink/identify/index.d.ts +5 -0
  56. package/dist/destinations/movable-ink/identify/index.js +32 -0
  57. package/dist/destinations/movable-ink/identify/index.js.map +1 -0
  58. package/dist/destinations/movable-ink/productAdded/generated-types.d.ts +22 -0
  59. package/dist/destinations/movable-ink/productAdded/generated-types.js +3 -0
  60. package/dist/destinations/movable-ink/productAdded/generated-types.js.map +1 -0
  61. package/dist/destinations/movable-ink/productAdded/index.d.ts +5 -0
  62. package/dist/destinations/movable-ink/productAdded/index.js +43 -0
  63. package/dist/destinations/movable-ink/productAdded/index.js.map +1 -0
  64. package/dist/destinations/movable-ink/productViewed/generated-types.d.ts +21 -0
  65. package/dist/destinations/movable-ink/productViewed/generated-types.js +3 -0
  66. package/dist/destinations/movable-ink/productViewed/generated-types.js.map +1 -0
  67. package/dist/destinations/movable-ink/productViewed/index.d.ts +5 -0
  68. package/dist/destinations/movable-ink/productViewed/index.js +43 -0
  69. package/dist/destinations/movable-ink/productViewed/index.js.map +1 -0
  70. package/dist/destinations/movable-ink/search/generated-types.d.ts +12 -0
  71. package/dist/destinations/movable-ink/search/generated-types.js +3 -0
  72. package/dist/destinations/movable-ink/search/generated-types.js.map +1 -0
  73. package/dist/destinations/movable-ink/search/index.d.ts +5 -0
  74. package/dist/destinations/movable-ink/search/index.js +43 -0
  75. package/dist/destinations/movable-ink/search/index.js.map +1 -0
  76. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.d.ts +25 -0
  77. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js +3 -0
  78. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js.map +1 -0
  79. package/dist/destinations/movable-ink/sendCustomEvent/index.d.ts +5 -0
  80. package/dist/destinations/movable-ink/sendCustomEvent/index.js +48 -0
  81. package/dist/destinations/movable-ink/sendCustomEvent/index.js.map +1 -0
  82. package/dist/destinations/trackey/group.types.d.ts +11 -0
  83. package/dist/destinations/trackey/group.types.js +3 -0
  84. package/dist/destinations/trackey/group.types.js.map +1 -0
  85. package/dist/destinations/trackey/identify.types.d.ts +11 -0
  86. package/dist/destinations/trackey/identify.types.js +3 -0
  87. package/dist/destinations/trackey/identify.types.js.map +1 -0
  88. package/dist/destinations/trackey/track.types.d.ts +12 -0
  89. package/dist/destinations/trackey/track.types.js +3 -0
  90. package/dist/destinations/trackey/track.types.js.map +1 -0
  91. package/package.json +3 -3
@@ -1,6 +1,15 @@
1
1
  /// <reference types="node" />
2
2
  import { ModifiedResponse, RequestOptions } from '@segment/actions-core';
3
3
  import { Payload } from './generated-types';
4
+ import { Writable } from 'stream';
4
5
  declare function validateS3(payload: Payload): void;
5
6
  declare function uploadS3(payload: Payload, filename: string, fileContent: Buffer, request: <Data = unknown>(url: string, options?: RequestOptions) => Promise<ModifiedResponse<Data>>): Promise<ModifiedResponse<unknown>>;
7
+ export declare class S3WriteStream extends Writable {
8
+ buffer: Buffer;
9
+ constructor();
10
+ _construct(callback: (error?: Error) => void): void;
11
+ _write(chunk: any, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
12
+ _final(callback: (error?: Error) => void): void;
13
+ _destroy(_error: Error, callback: (error?: Error) => void): void;
14
+ }
6
15
  export { validateS3, uploadS3 };
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.uploadS3 = exports.validateS3 = void 0;
6
+ exports.uploadS3 = exports.validateS3 = exports.S3WriteStream = void 0;
7
7
  const s3_1 = __importDefault(require("../../../lib/AWS/s3"));
8
8
  const actions_core_1 = require("@segment/actions-core");
9
+ const stream_1 = require("stream");
9
10
  function validateS3(payload) {
10
11
  if (!payload.s3_aws_access_key) {
11
12
  throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Access Key');
@@ -34,4 +35,24 @@ async function uploadS3(payload, filename, fileContent, request) {
34
35
  });
35
36
  }
36
37
  exports.uploadS3 = uploadS3;
38
+ class S3WriteStream extends stream_1.Writable {
39
+ constructor() {
40
+ super({ objectMode: false });
41
+ this.buffer = Buffer.from('');
42
+ }
43
+ _construct(callback) {
44
+ callback();
45
+ }
46
+ _write(chunk, _encoding, callback) {
47
+ this.buffer = Buffer.concat([this.buffer, chunk]);
48
+ callback();
49
+ }
50
+ _final(callback) {
51
+ callback();
52
+ }
53
+ _destroy(_error, callback) {
54
+ callback();
55
+ }
56
+ }
57
+ exports.S3WriteStream = S3WriteStream;
37
58
  //# sourceMappingURL=s3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredS3/s3.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA0D;AAC1D,wDAAoG;AAGpG,SAAS,UAAU,CAAC,OAAgB;IAClC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,yCAA0B,CAAC,iDAAiD,CAAC,CAAA;KACxF;AACH,CAAC;AA6BQ,gCAAU;AA3BnB,KAAK,UAAU,QAAQ,CACrB,OAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,OAAmG;IAEnG,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,MAAM,YAAwB,CACzC,OAAO,CAAC,kBAA4B,EACpC,OAAO,CAAC,aAAuB,EAC/B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,CAAC,iBAA2B,EACnC,OAAO,CAAC,iBAA2B,CACpC,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"}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredS3/s3.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA0D;AAC1D,wDAAoG;AAEpG,mCAAiC;AAEjC,SAAS,UAAU,CAAC,OAAgB;IAClC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,yCAA0B,CAAC,iDAAiD,CAAC,CAAA;KACxF;AACH,CAAC;AAqDQ,gCAAU;AAnDnB,KAAK,UAAU,QAAQ,CACrB,OAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,OAAmG;IAEnG,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,MAAM,YAAwB,CACzC,OAAO,CAAC,kBAA4B,EACpC,OAAO,CAAC,aAAuB,EAC/B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,CAAC,iBAA2B,EACnC,OAAO,CAAC,iBAA2B,CACpC,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;AA0BoB,4BAAQ;AAxB7B,MAAa,aAAc,SAAQ,iBAAQ;IAEzC;QACE,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,UAAU,CAAC,QAAiC;QAC1C,QAAQ,EAAE,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,KAAU,EAAE,SAAyB,EAAE,QAAwC;QACpF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QACjD,QAAQ,EAAE,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,QAAiC;QACtC,QAAQ,EAAE,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,MAAa,EAAE,QAAiC;QACvD,QAAQ,EAAE,CAAA;IACZ,CAAC;CACF;AAvBD,sCAuBC"}
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const actions_core_1 = require("@segment/actions-core");
4
7
  const sftp_1 = require("./sftp");
5
8
  const operations_1 = require("../operations");
6
9
  const awsClient_1 = require("../awsClient");
10
+ const fs_1 = __importDefault(require("fs"));
7
11
  const properties_1 = require("../properties");
12
+ const promises_1 = require("stream/promises");
8
13
  const action = {
9
14
  title: 'Audience Entered (SFTP)',
10
15
  description: 'Uploads audience membership data to a file through SFTP for LiveRamp ingestion.',
@@ -22,7 +27,7 @@ const action = {
22
27
  },
23
28
  sftp_folder_path: {
24
29
  label: 'Folder Path',
25
- description: 'Path within the LiveRamp SFTP server to upload the files to. This path must exist and all subfolders must be pre-created.',
30
+ description: 'Path within the LiveRamp SFTP server to u pload the files to. This path must exist and all subfolders must be pre-created.',
26
31
  type: 'string',
27
32
  default: { '@template': '/uploads/' },
28
33
  format: 'uri-reference'
@@ -94,6 +99,20 @@ const action = {
94
99
  features,
95
100
  rawData
96
101
  });
102
+ },
103
+ async performBatchStream(_request, { payload }) {
104
+ const csv = new operations_1.ObjectToCSVTransformer();
105
+ const fileStream = fs_1.default.createWriteStream('/tmp/test123.csv');
106
+ await promises_1.pipeline(payload, csv, fileStream);
107
+ const sftpClient = new sftp_1.Client();
108
+ await sftpClient.connect({
109
+ host: properties_1.LIVERAMP_SFTP_SERVER,
110
+ port: properties_1.LIVERAMP_SFTP_PORT,
111
+ username: csv.sftp.sftpUsername,
112
+ password: csv.sftp.sftpPassword
113
+ });
114
+ await sftpClient.fastPut('test123.csv', '/uploads/varada_test/test1123.csv');
115
+ fs_1.default.unlinkSync('test123.csv');
97
116
  }
98
117
  };
99
118
  async function processData(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import { RequestClient, ExecuteInput } from '@segment/actions-core';
3
3
  import type { Payload as s3Payload } from './audienceEnteredS3/generated-types';
4
4
  import type { Payload as sftpPayload } from './audienceEnteredSftp/generated-types';
5
+ import { Transform } from 'stream';
5
6
  export declare type RawData = {
6
7
  context?: {
7
8
  personas?: {
@@ -20,10 +21,28 @@ export declare type ProcessDataInput<T extends s3Payload | sftpPayload> = {
20
21
  export declare type ExecuteInputRaw<Settings, Payload, RawData, AudienceSettings = unknown> = ExecuteInput<Settings, Payload, AudienceSettings> & {
21
22
  rawData?: RawData;
22
23
  };
24
+ export declare type SFTPCreds = {
25
+ sftpUsername: string;
26
+ sftpPassword: string;
27
+ };
28
+ export declare type S3Creds = {
29
+ s3_aws_access_key: string;
30
+ s3_aws_secret_key: string;
31
+ s3_aws_bucket_name: string;
32
+ s3_aws_region: string;
33
+ file_name: string;
34
+ };
35
+ declare class ObjectToCSVTransformer extends Transform {
36
+ headerWritten: boolean;
37
+ sftp: SFTPCreds;
38
+ s3: S3Creds;
39
+ constructor(options?: {});
40
+ _transform(payloads: s3Payload[] | sftpPayload[], _encoding: any, callback: (err?: Error) => void): void;
41
+ }
23
42
  declare function generateFile(payloads: s3Payload[] | sftpPayload[]): {
24
43
  filename: string;
25
44
  fileContents: Buffer;
26
45
  };
27
46
  declare function enquoteIdentifier(identifier: string): string;
28
47
  declare const normalize: (key: string, value: string) => string;
29
- export { generateFile, enquoteIdentifier, normalize };
48
+ export { generateFile, enquoteIdentifier, normalize, ObjectToCSVTransformer };
@@ -1,7 +1,73 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalize = exports.enquoteIdentifier = exports.generateFile = void 0;
3
+ exports.ObjectToCSVTransformer = exports.normalize = exports.enquoteIdentifier = exports.generateFile = void 0;
4
4
  const crypto_1 = require("crypto");
5
+ const stream_1 = require("stream");
6
+ class ObjectToCSVTransformer extends stream_1.Transform {
7
+ constructor(options = {}) {
8
+ super(Object.assign({ objectMode: true }, options));
9
+ this.headerWritten = false;
10
+ }
11
+ _transform(payloads, _encoding, callback) {
12
+ const rows = [];
13
+ try {
14
+ for (const payload of payloads) {
15
+ if (!this.headerWritten) {
16
+ const headers = ['audience_key'];
17
+ if (!this.sftp && payload.sftp_password && payload.sftp_username) {
18
+ this.sftp = {
19
+ sftpPassword: payload.sftp_password,
20
+ sftpUsername: payload.sftp_username
21
+ };
22
+ }
23
+ if (!this.s3 && payload.s3_aws_access_key) {
24
+ this.s3 = {
25
+ s3_aws_access_key: payload.s3_aws_access_key,
26
+ s3_aws_region: payload.s3_aws_region,
27
+ s3_aws_secret_key: payload.s3_aws_secret_key,
28
+ s3_aws_bucket_name: payload.s3_aws_bucket_name,
29
+ file_name: payload.filename
30
+ };
31
+ }
32
+ if (payloads[0].identifier_data) {
33
+ for (const identifier of Object.getOwnPropertyNames(payloads[0].identifier_data)) {
34
+ headers.push(identifier);
35
+ }
36
+ }
37
+ if (payloads[0].unhashed_identifier_data) {
38
+ for (const identifier of Object.getOwnPropertyNames(payloads[0].unhashed_identifier_data)) {
39
+ headers.push(identifier);
40
+ }
41
+ }
42
+ this.push(Buffer.from(headers.join(',') + '\n'));
43
+ this.headerWritten = true;
44
+ }
45
+ const row = [enquoteIdentifier(payload.audience_key)];
46
+ if (payload.identifier_data) {
47
+ for (const key in payload.identifier_data) {
48
+ if (Object.prototype.hasOwnProperty.call(payload.identifier_data, key)) {
49
+ row.push(enquoteIdentifier(String(payload.identifier_data[key])));
50
+ }
51
+ }
52
+ }
53
+ if (payload.unhashed_identifier_data) {
54
+ for (const key in payload.unhashed_identifier_data) {
55
+ if (Object.prototype.hasOwnProperty.call(payload.unhashed_identifier_data, key)) {
56
+ row.push(`"${hash(normalize(key, String(payload.unhashed_identifier_data[key])))}"`);
57
+ }
58
+ }
59
+ }
60
+ rows.push(Buffer.from(row.join(',') + '\n'));
61
+ }
62
+ this.push(Buffer.concat(rows));
63
+ callback();
64
+ }
65
+ catch (error) {
66
+ callback(error);
67
+ }
68
+ }
69
+ }
70
+ exports.ObjectToCSVTransformer = ObjectToCSVTransformer;
5
71
  function generateFile(payloads) {
6
72
  const headers = new Set();
7
73
  headers.add('audience_key');
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/operations.ts"],"names":[],"mappings":"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"}
@@ -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":";;;AAAA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,gDAAc,CAAA;IACd,gDAAc,CAAA;AAChB,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,sBAAQ,CAAA;IACR,uBAAS,CAAA;AACX,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAED,SAAgB,mBAAmB,CAAC,SAAkB,EAAE,QAAiB,EAAE,IAAa;IACtF,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACjF,CAAC;AAFD,kDAEC;AAED,SAAgB,eAAe,CAAC,SAA6B;IAC3D,IAAI,SAAS,IAAI,UAAU,CAAC,EAAE,EAAE;QAC9B,OAAO,6BAA6B,CAAA;KACrC;IACD,OAAO,0BAA0B,CAAA;AACnC,CAAC;AALD,0CAKC;AAED,SAAgB,UAAU,CAAC,SAAiB;IAC1C,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC/B,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,YAAY,CAAA;SACpB;QACD,OAAO,OAAO,CAAA;KACf;SAAM,IAAI,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACxD,OAAO,YAAY,CAAA;KACpB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC5E,OAAO,0BAA0B,CAAA;KAClC;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAEhD,OAAO,kBAAkB,CAAA;KAC1B;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACnE,OAAO,gBAAgB,CAAA;KACxB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACtC,OAAO,iBAAiB,CAAA;KACzB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACvC,OAAO,QAAQ,CAAA;KAChB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACtC,OAAO,YAAY,CAAA;KACpB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACzE,OAAO,YAAY,CAAA;KACpB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACtC,OAAO,aAAa,CAAA;KACrB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACvC,OAAO,QAAQ,CAAA;KAChB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACxC,OAAO,gBAAgB,CAAA;KACxB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC1C,OAAO,WAAW,CAAA;KACnB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACxC,OAAO,SAAS,CAAA;KACjB;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvE,OAAO,mBAAmB,CAAA;KAC3B;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACtC,OAAO,SAAS,CAAA;KACjB;SAAM;QACL,OAAO,EAAE,CAAA;KACV;AACH,CAAC;AAxCD,gCAwCC;AAED,SAAgB,iBAAiB,CAAC,SAAiB;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IACrC,MAAM,aAAa,GAAkC;QACnD,0BAA0B,EAAE,kBAAkB;QAC9C,gBAAgB,EAAE,sBAAsB;QACxC,MAAM,EAAE,uBAAuB;QAC/B,YAAY,EAAE,sBAAsB;QACpC,YAAY,EAAE,kCAAkC;QAChD,MAAM,EAAE,wBAAwB;QAChC,eAAe,EAAE,wBAAwB;QACzC,KAAK,EAAE,4BAA4B;QACnC,OAAO,EAAE,wBAAwB;QACjC,aAAa,EAAE,sBAAsB;QACrC,SAAS,EAAE,yBAAyB;QACpC,UAAU,EAAE,0BAA0B;QACtC,gBAAgB,EAAE,wBAAwB;QAC1C,kBAAkB,EAAE,+BAA+B;QACnD,mBAAmB,EAAE,0BAA0B;QAC/C,OAAO,EAAE,kBAAkB;KAC5B,CAAA;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,SAAS,CAAA;KACjB;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACpC,CAAC;AA3BD,8CA2BC;AAED,SAAgB,SAAS,CAAC,MAAe;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACtG,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAClD,CAAC;AAHD,8BAGC"}
@@ -0,0 +1,22 @@
1
+ export interface Payload {
2
+ movable_ink_url?: string;
3
+ user_id?: string;
4
+ anonymous_id?: string;
5
+ timestamp: string | number;
6
+ timezone?: string;
7
+ products_required_false?: {
8
+ id: string;
9
+ title?: string;
10
+ price?: number;
11
+ url?: string;
12
+ quantity?: number;
13
+ [k: string]: unknown;
14
+ }[];
15
+ categories: {
16
+ id: string;
17
+ url?: string;
18
+ }[];
19
+ meta?: {
20
+ [k: string]: unknown;
21
+ };
22
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/movable-ink/categoryView/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,43 @@
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
+ const actions_core_1 = require("@segment/actions-core");
7
+ const fields_1 = require("../fields");
8
+ const omit_1 = __importDefault(require("lodash/omit"));
9
+ const action = {
10
+ title: 'Category View',
11
+ description: 'Send a "Category View" event to Movable Ink',
12
+ defaultSubscription: 'type = "track" and event = "Category Viewed"',
13
+ fields: {
14
+ movable_ink_url: fields_1.movable_ink_url,
15
+ user_id: fields_1.user_id,
16
+ anonymous_id: fields_1.anonymous_id,
17
+ timestamp: fields_1.timestamp,
18
+ timezone: fields_1.timezone,
19
+ products_required_false: fields_1.products_required_false,
20
+ categories: fields_1.categories,
21
+ meta: fields_1.meta
22
+ },
23
+ perform: (request, { settings, payload }) => {
24
+ const url = payload?.movable_ink_url ?? settings?.movable_ink_url;
25
+ if (!url)
26
+ throw new actions_core_1.IntegrationError('"Movable Ink URL" setting or "Movable Ink URL" field must be populated', 'MISSING_DESTINATION_URL', 400);
27
+ return request(url, {
28
+ method: 'POST',
29
+ json: {
30
+ event_name: 'Category View',
31
+ user_id: payload.user_id,
32
+ anonymous_id: payload.anonymous_id,
33
+ timestamp: payload.timestamp,
34
+ timezone: payload.timezone,
35
+ product: payload.products_required_false,
36
+ categories: payload.categories,
37
+ metadata: { ...omit_1.default(payload.meta, ['products_required_false', 'categories']) }
38
+ }
39
+ });
40
+ }
41
+ };
42
+ exports.default = action;
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/movable-ink/categoryView/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA0E;AAG1E,sCASkB;AAClB,uDAA8B;AAE9B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,6CAA6C;IAC1D,mBAAmB,EAAE,8CAA8C;IACnE,MAAM,EAAE;QACN,eAAe,EAAf,wBAAe;QACf,OAAO,EAAP,gBAAO;QACP,YAAY,EAAZ,qBAAY;QACZ,SAAS,EAAT,kBAAS;QACT,QAAQ,EAAR,iBAAQ;QACR,uBAAuB,EAAvB,gCAAuB;QACvB,UAAU,EAAV,mBAAU;QACV,IAAI,EAAJ,aAAI;KACL;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,eAAe,CAAA;QACjE,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,+BAAgB,CACxB,wEAAwE,EACxE,yBAAyB,EACzB,GAAG,CACJ,CAAA;QAEH,OAAO,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,UAAU,EAAE,eAAe;gBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,uBAAuB;gBACxC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,EAAE,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,EAAE;aAC/E;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,20 @@
1
+ export interface Payload {
2
+ movable_ink_url?: string;
3
+ user_id?: string;
4
+ anonymous_id?: string;
5
+ timestamp: string | number;
6
+ timezone?: string;
7
+ products: {
8
+ id: string;
9
+ title?: string;
10
+ price?: number;
11
+ url?: string;
12
+ quantity?: number;
13
+ [k: string]: unknown;
14
+ }[];
15
+ order_id: string;
16
+ revenue: number;
17
+ meta?: {
18
+ [k: string]: unknown;
19
+ };
20
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/movable-ink/conversion/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,45 @@
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
+ const actions_core_1 = require("@segment/actions-core");
7
+ const fields_1 = require("../fields");
8
+ const omit_1 = __importDefault(require("lodash/omit"));
9
+ const action = {
10
+ title: 'Conversion',
11
+ description: 'Send a Conversion event Movable Ink',
12
+ defaultSubscription: 'type = "track" and event = "Order Completed"',
13
+ fields: {
14
+ movable_ink_url: fields_1.movable_ink_url,
15
+ user_id: fields_1.user_id,
16
+ anonymous_id: fields_1.anonymous_id,
17
+ timestamp: fields_1.timestamp,
18
+ timezone: fields_1.timezone,
19
+ products: fields_1.products,
20
+ order_id: fields_1.order_id,
21
+ revenue: fields_1.revenue,
22
+ meta: fields_1.meta
23
+ },
24
+ perform: (request, { settings, payload }) => {
25
+ const url = payload?.movable_ink_url ?? settings?.movable_ink_url;
26
+ if (!url)
27
+ throw new actions_core_1.IntegrationError('"Movable Ink URL" setting or "Movable Ink URL" field must be populated', 'MISSING_DESTINATION_URL', 400);
28
+ return request(url, {
29
+ method: 'POST',
30
+ json: {
31
+ event_name: 'Conversion',
32
+ user_id: payload.user_id,
33
+ anonymous_id: payload.anonymous_id,
34
+ timestamp: payload.timestamp,
35
+ timezone: payload.timezone,
36
+ products: payload.products,
37
+ order_id: payload.order_id,
38
+ revenue: payload.revenue,
39
+ metadata: { ...omit_1.default(payload.meta, ['products', 'order_id', 'revenue']) }
40
+ }
41
+ });
42
+ }
43
+ };
44
+ exports.default = action;
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/movable-ink/conversion/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA0E;AAG1E,sCAUkB;AAClB,uDAA8B;AAE9B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qCAAqC;IAClD,mBAAmB,EAAE,8CAA8C;IACnE,MAAM,EAAE;QACN,eAAe,EAAf,wBAAe;QACf,OAAO,EAAP,gBAAO;QACP,YAAY,EAAZ,qBAAY;QACZ,SAAS,EAAT,kBAAS;QACT,QAAQ,EAAR,iBAAQ;QACR,QAAQ,EAAR,iBAAQ;QACR,QAAQ,EAAR,iBAAQ;QACR,OAAO,EAAP,gBAAO;QACP,IAAI,EAAJ,aAAI;KACL;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,eAAe,CAAA;QACjE,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,+BAAgB,CACxB,wEAAwE,EACxE,yBAAyB,EACzB,GAAG,CACJ,CAAA;QAEH,OAAO,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,UAAU,EAAE,YAAY;gBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,EAAE,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE;aACzE;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { InputField } from '@segment/actions-core/destination-kit/types';
2
+ export declare const movable_ink_url: InputField;
3
+ export declare const timestamp: InputField;
4
+ export declare const timezone: InputField;
5
+ export declare const event_name: InputField;
6
+ export declare const user_id: InputField;
7
+ export declare const anonymous_id: InputField;
8
+ export declare const meta: InputField;
9
+ export declare const query_url: InputField;
10
+ export declare const revenue: InputField;
11
+ export declare const revenue_required_false: InputField;
12
+ export declare const query: InputField;
13
+ export declare const order_id: InputField;
14
+ export declare const order_id_required_false: InputField;
15
+ export declare const product_quantity: InputField;
16
+ export declare const product: InputField;
17
+ export declare const product_with_quantity: InputField;
18
+ export declare const products: InputField;
19
+ export declare const products_required_false: InputField;
20
+ export declare const categories: InputField;
21
+ export declare const categories_required_false: InputField;