@segment/action-destinations 3.259.0-staging-bbeebc18f → 3.259.0-staging-8d584ce0f

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 (155) hide show
  1. package/dist/destinations/amazon-ads/generated-types.d.ts +0 -9
  2. package/dist/destinations/amazon-ads/index.d.ts +2 -2
  3. package/dist/destinations/amazon-ads/index.js +3 -128
  4. package/dist/destinations/amazon-ads/index.js.map +1 -1
  5. package/dist/destinations/amazon-ads/syncAudiences/generated-types.d.ts +0 -17
  6. package/dist/destinations/amazon-ads/syncAudiences/index.js +7 -114
  7. package/dist/destinations/amazon-ads/syncAudiences/index.js.map +1 -1
  8. package/dist/destinations/blackbaud-raisers-edge-nxt/utils/index.d.ts +1 -1
  9. package/dist/destinations/customerio/utils.d.ts +1 -1
  10. package/dist/destinations/engage/utils/EngageActionPerformer.js +17 -1
  11. package/dist/destinations/engage/utils/EngageActionPerformer.js.map +1 -1
  12. package/dist/destinations/engage/utils/operationTracking/OperationFinallyHooks.d.ts +3 -0
  13. package/dist/destinations/engage/utils/operationTracking/OperationFinallyHooks.js +15 -0
  14. package/dist/destinations/engage/utils/operationTracking/OperationFinallyHooks.js.map +1 -1
  15. package/dist/destinations/engage/utils/track.d.ts +20 -17
  16. package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.d.ts +13 -0
  17. package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.js.map +1 -0
  18. package/dist/destinations/liveramp-audiences/audienceEntered/index.js +95 -0
  19. package/dist/destinations/liveramp-audiences/audienceEntered/index.js.map +1 -0
  20. package/dist/destinations/liveramp-audiences/audienceEntered/s3.d.ts +6 -0
  21. package/dist/destinations/liveramp-audiences/audienceEntered/s3.js +37 -0
  22. package/dist/destinations/liveramp-audiences/audienceEntered/s3.js.map +1 -0
  23. package/dist/destinations/liveramp-audiences/audienceEntered/sftp.d.ts +7 -0
  24. package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js +52 -0
  25. package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js.map +1 -0
  26. package/package.json +1 -1
  27. package/dist/destinations/amazon-ads/utils.d.ts +0 -6
  28. package/dist/destinations/amazon-ads/utils.js +0 -8
  29. package/dist/destinations/amazon-ads/utils.js.map +0 -1
  30. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.d.ts +0 -1
  31. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js +0 -184
  32. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js.map +0 -1
  33. package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +0 -4
  34. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +0 -1
  35. package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +0 -5
  36. package/dist/destinations/klaviyo/removeProfileToList/index.js +0 -43
  37. package/dist/destinations/klaviyo/removeProfileToList/index.js.map +0 -1
  38. package/dist/destinations/movable-ink/categoryView/generated-types.d.ts +0 -22
  39. package/dist/destinations/movable-ink/categoryView/generated-types.js +0 -3
  40. package/dist/destinations/movable-ink/categoryView/generated-types.js.map +0 -1
  41. package/dist/destinations/movable-ink/categoryView/index.js +0 -43
  42. package/dist/destinations/movable-ink/categoryView/index.js.map +0 -1
  43. package/dist/destinations/movable-ink/conversion/generated-types.d.ts +0 -20
  44. package/dist/destinations/movable-ink/conversion/generated-types.js +0 -3
  45. package/dist/destinations/movable-ink/conversion/generated-types.js.map +0 -1
  46. package/dist/destinations/movable-ink/conversion/index.d.ts +0 -5
  47. package/dist/destinations/movable-ink/conversion/index.js +0 -45
  48. package/dist/destinations/movable-ink/conversion/index.js.map +0 -1
  49. package/dist/destinations/movable-ink/fields.d.ts +0 -21
  50. package/dist/destinations/movable-ink/fields.js +0 -236
  51. package/dist/destinations/movable-ink/fields.js.map +0 -1
  52. package/dist/destinations/movable-ink/identify/generated-types.d.ts +0 -7
  53. package/dist/destinations/movable-ink/identify/generated-types.js +0 -3
  54. package/dist/destinations/movable-ink/identify/generated-types.js.map +0 -1
  55. package/dist/destinations/movable-ink/identify/index.d.ts +0 -5
  56. package/dist/destinations/movable-ink/identify/index.js +0 -32
  57. package/dist/destinations/movable-ink/identify/index.js.map +0 -1
  58. package/dist/destinations/movable-ink/productAdded/generated-types.d.ts +0 -22
  59. package/dist/destinations/movable-ink/productAdded/generated-types.js +0 -3
  60. package/dist/destinations/movable-ink/productAdded/generated-types.js.map +0 -1
  61. package/dist/destinations/movable-ink/productAdded/index.d.ts +0 -5
  62. package/dist/destinations/movable-ink/productAdded/index.js +0 -43
  63. package/dist/destinations/movable-ink/productAdded/index.js.map +0 -1
  64. package/dist/destinations/movable-ink/productViewed/generated-types.d.ts +0 -21
  65. package/dist/destinations/movable-ink/productViewed/generated-types.js +0 -3
  66. package/dist/destinations/movable-ink/productViewed/generated-types.js.map +0 -1
  67. package/dist/destinations/movable-ink/productViewed/index.d.ts +0 -5
  68. package/dist/destinations/movable-ink/productViewed/index.js +0 -43
  69. package/dist/destinations/movable-ink/productViewed/index.js.map +0 -1
  70. package/dist/destinations/movable-ink/search/generated-types.d.ts +0 -12
  71. package/dist/destinations/movable-ink/search/generated-types.js +0 -3
  72. package/dist/destinations/movable-ink/search/generated-types.js.map +0 -1
  73. package/dist/destinations/movable-ink/search/index.d.ts +0 -5
  74. package/dist/destinations/movable-ink/search/index.js +0 -43
  75. package/dist/destinations/movable-ink/search/index.js.map +0 -1
  76. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.d.ts +0 -25
  77. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js +0 -3
  78. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js.map +0 -1
  79. package/dist/destinations/movable-ink/sendCustomEvent/index.d.ts +0 -5
  80. package/dist/destinations/movable-ink/sendCustomEvent/index.js +0 -48
  81. package/dist/destinations/movable-ink/sendCustomEvent/index.js.map +0 -1
  82. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.d.ts +0 -14
  83. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js +0 -3
  84. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js.map +0 -1
  85. package/dist/destinations/responsys/asyncMergePetRecords/index.d.ts +0 -5
  86. package/dist/destinations/responsys/asyncMergePetRecords/index.js +0 -113
  87. package/dist/destinations/responsys/asyncMergePetRecords/index.js.map +0 -1
  88. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.d.ts +0 -20
  89. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js +0 -3
  90. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js.map +0 -1
  91. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.d.ts +0 -5
  92. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js +0 -174
  93. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js.map +0 -1
  94. package/dist/destinations/responsys/rsp-operations.d.ts +0 -14
  95. package/dist/destinations/responsys/rsp-operations.js +0 -33
  96. package/dist/destinations/responsys/rsp-operations.js.map +0 -1
  97. package/dist/destinations/responsys/rsp-properties.d.ts +0 -4
  98. package/dist/destinations/responsys/rsp-properties.js +0 -27
  99. package/dist/destinations/responsys/rsp-properties.js.map +0 -1
  100. package/dist/destinations/responsys-cloud/generated-types.d.ts +0 -20
  101. package/dist/destinations/responsys-cloud/generated-types.js +0 -3
  102. package/dist/destinations/responsys-cloud/generated-types.js.map +0 -1
  103. package/dist/destinations/responsys-cloud/index.d.ts +0 -4
  104. package/dist/destinations/responsys-cloud/index.js +0 -207
  105. package/dist/destinations/responsys-cloud/index.js.map +0 -1
  106. package/dist/destinations/responsys-cloud/sendAudience/generated-types.d.ts +0 -16
  107. package/dist/destinations/responsys-cloud/sendAudience/generated-types.js +0 -3
  108. package/dist/destinations/responsys-cloud/sendAudience/generated-types.js.map +0 -1
  109. package/dist/destinations/responsys-cloud/sendAudience/index.d.ts +0 -5
  110. package/dist/destinations/responsys-cloud/sendAudience/index.js +0 -109
  111. package/dist/destinations/responsys-cloud/sendAudience/index.js.map +0 -1
  112. package/dist/destinations/responsys-cloud/sendCustomTraits/generated-types.d.ts +0 -11
  113. package/dist/destinations/responsys-cloud/sendCustomTraits/generated-types.js +0 -3
  114. package/dist/destinations/responsys-cloud/sendCustomTraits/generated-types.js.map +0 -1
  115. package/dist/destinations/responsys-cloud/sendCustomTraits/index.d.ts +0 -5
  116. package/dist/destinations/responsys-cloud/sendCustomTraits/index.js +0 -72
  117. package/dist/destinations/responsys-cloud/sendCustomTraits/index.js.map +0 -1
  118. package/dist/destinations/responsys-cloud/shared_properties.d.ts +0 -3
  119. package/dist/destinations/responsys-cloud/shared_properties.js +0 -19
  120. package/dist/destinations/responsys-cloud/shared_properties.js.map +0 -1
  121. package/dist/destinations/responsys-cloud/types.d.ts +0 -38
  122. package/dist/destinations/responsys-cloud/types.js +0 -3
  123. package/dist/destinations/responsys-cloud/types.js.map +0 -1
  124. package/dist/destinations/responsys-cloud/upsertListMember/generated-types.d.ts +0 -14
  125. package/dist/destinations/responsys-cloud/upsertListMember/generated-types.js +0 -3
  126. package/dist/destinations/responsys-cloud/upsertListMember/generated-types.js.map +0 -1
  127. package/dist/destinations/responsys-cloud/upsertListMember/index.d.ts +0 -5
  128. package/dist/destinations/responsys-cloud/upsertListMember/index.js +0 -85
  129. package/dist/destinations/responsys-cloud/upsertListMember/index.js.map +0 -1
  130. package/dist/destinations/responsys-cloud/utils.d.ts +0 -20
  131. package/dist/destinations/responsys-cloud/utils.js +0 -179
  132. package/dist/destinations/responsys-cloud/utils.js.map +0 -1
  133. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +0 -1
  134. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +0 -381
  135. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +0 -1
  136. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +0 -1
  137. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +0 -581
  138. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +0 -1
  139. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +0 -4
  140. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +0 -97
  141. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +0 -1
  142. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.d.ts +0 -3
  143. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js +0 -43
  144. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js.map +0 -1
  145. package/dist/destinations/trackey/group.types.d.ts +0 -11
  146. package/dist/destinations/trackey/group.types.js +0 -3
  147. package/dist/destinations/trackey/group.types.js.map +0 -1
  148. package/dist/destinations/trackey/identify.types.d.ts +0 -11
  149. package/dist/destinations/trackey/identify.types.js +0 -3
  150. package/dist/destinations/trackey/identify.types.js.map +0 -1
  151. package/dist/destinations/trackey/track.types.d.ts +0 -12
  152. package/dist/destinations/trackey/track.types.js +0 -3
  153. package/dist/destinations/trackey/track.types.js.map +0 -1
  154. /package/dist/destinations/{klaviyo/removeProfileToList → liveramp-audiences/audienceEntered}/generated-types.js +0 -0
  155. /package/dist/destinations/{movable-ink/categoryView → liveramp-audiences/audienceEntered}/index.d.ts +0 -0
@@ -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"}
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.259.0-staging-bbeebc18f",
4
+ "version": "3.259.0-staging-8d584ce0f",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -1,6 +0,0 @@
1
- import { HTTPError } from '@segment/actions-core';
2
- export declare class AmazonAdsError extends HTTPError {
3
- response: Response & {
4
- data: string;
5
- };
6
- }
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/amazon-ads/utils.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AAEjD,MAAa,cAAe,SAAQ,wBAAS;CAI5C;AAJD,wCAIC"}
@@ -1,184 +0,0 @@
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 test_data_1 = require("../../../../lib/test-data");
8
- const index_1 = __importDefault(require("../../index"));
9
- const nock_1 = __importDefault(require("nock"));
10
- const testDestination = actions_core_1.createTestIntegration(index_1.default);
11
- const actionSlug = 'updateUserProfile';
12
- const destinationSlug = 'Braze';
13
- const seedName = `${destinationSlug}#${actionSlug}`;
14
- const receivedAt = '2021-08-03T17:40:04.055Z';
15
- const settings = {
16
- app_id: 'my-app-id',
17
- api_key: 'my-api-key',
18
- endpoint: 'https://rest.iad-01.braze.com'
19
- };
20
- describe(`Testing snapshot for ${destinationSlug}'s ${actionSlug} destination action:`, () => {
21
- it('required fields', async () => {
22
- const action = index_1.default.actions[actionSlug];
23
- const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, true);
24
- nock_1.default(/.*/).persist().get(/.*/).reply(200);
25
- nock_1.default(/.*/).persist().post(/.*/).reply(200);
26
- nock_1.default(/.*/).persist().put(/.*/).reply(200);
27
- const event = actions_core_1.createTestEvent({
28
- properties: eventData
29
- });
30
- const responses = await testDestination.testAction(actionSlug, {
31
- event: event,
32
- mapping: event.properties,
33
- settings: settingsData,
34
- auth: undefined
35
- });
36
- const request = responses[0].request;
37
- const rawBody = await request.text();
38
- try {
39
- const json = JSON.parse(rawBody);
40
- expect(json).toMatchSnapshot();
41
- return;
42
- }
43
- catch (err) {
44
- expect(rawBody).toMatchSnapshot();
45
- }
46
- expect(request.headers).toMatchSnapshot();
47
- });
48
- it('all fields', async () => {
49
- const action = index_1.default.actions[actionSlug];
50
- const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, false);
51
- nock_1.default(/.*/).persist().get(/.*/).reply(200);
52
- nock_1.default(/.*/).persist().post(/.*/).reply(200);
53
- nock_1.default(/.*/).persist().put(/.*/).reply(200);
54
- const event = actions_core_1.createTestEvent({
55
- properties: eventData
56
- });
57
- const responses = await testDestination.testAction(actionSlug, {
58
- event: event,
59
- mapping: event.properties,
60
- settings: settingsData,
61
- auth: undefined
62
- });
63
- const request = responses[0].request;
64
- const rawBody = await request.text();
65
- try {
66
- const json = JSON.parse(rawBody);
67
- expect(json).toMatchSnapshot();
68
- return;
69
- }
70
- catch (err) {
71
- expect(rawBody).toMatchSnapshot();
72
- }
73
- });
74
- it('it should work with batched events', async () => {
75
- nock_1.default('https://rest.iad-01.braze.com').post('/users/track').reply(200, {});
76
- const events = [
77
- actions_core_1.createTestEvent({
78
- event: 'Test Event 1',
79
- type: 'track',
80
- receivedAt,
81
- properties: {}
82
- }),
83
- actions_core_1.createTestEvent({
84
- event: 'Test Event 2',
85
- type: 'track',
86
- receivedAt,
87
- properties: {}
88
- })
89
- ];
90
- const responses = await testDestination.testBatchAction(actionSlug, {
91
- events,
92
- useDefaultMappings: true,
93
- mapping: {
94
- external_id: {
95
- '@path': '$.userId'
96
- },
97
- user_alias: {},
98
- braze_id: {
99
- '@path': '$.properties.braze_id'
100
- },
101
- name: {
102
- '@path': '$.event'
103
- },
104
- time: {
105
- '@path': '$.receivedAt'
106
- },
107
- properties: {
108
- '@path': '$.properties'
109
- },
110
- products: {
111
- '@path': '$.properties.products'
112
- },
113
- enable_batching: true,
114
- _update_existing_only: true
115
- },
116
- settings: {
117
- ...settings
118
- }
119
- });
120
- expect(responses.length).toBe(1);
121
- expect(responses[0].status).toBe(200);
122
- expect(responses[0].options.headers).toMatchSnapshot();
123
- expect(responses[0].options.json).toMatchSnapshot();
124
- });
125
- it('it should work with a single batched events', async () => {
126
- nock_1.default('https://rest.iad-01.braze.com').post('/users/track').reply(200, {});
127
- const events = [
128
- actions_core_1.createTestEvent({
129
- event: 'Test Event 1',
130
- type: 'track',
131
- receivedAt,
132
- properties: {
133
- products: [
134
- {
135
- quantity: 1,
136
- product_id: 'Bowflex Treadmill 10',
137
- price: 100
138
- },
139
- {
140
- quantity: 2,
141
- product_id: 'Bowflex Treadmill 20',
142
- price: 200
143
- }
144
- ]
145
- }
146
- })
147
- ];
148
- const responses = await testDestination.testBatchAction(actionSlug, {
149
- events,
150
- useDefaultMappings: true,
151
- mapping: {
152
- external_id: {
153
- '@path': '$.userId'
154
- },
155
- user_alias: {},
156
- braze_id: {
157
- '@path': '$.properties.braze_id'
158
- },
159
- name: {
160
- '@path': '$.event'
161
- },
162
- time: {
163
- '@path': '$.receivedAt'
164
- },
165
- properties: {
166
- '@path': '$.properties'
167
- },
168
- products: {
169
- '@path': '$.properties.products'
170
- },
171
- enable_batching: true,
172
- _update_existing_only: true
173
- },
174
- settings: {
175
- ...settings
176
- }
177
- });
178
- expect(responses.length).toBe(1);
179
- expect(responses[0].status).toBe(200);
180
- expect(responses[0].options.headers).toMatchSnapshot();
181
- expect(responses[0].options.json).toMatchSnapshot();
182
- });
183
- });
184
- //# sourceMappingURL=snapshot.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../../../src/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export interface Payload {
2
- email?: string;
3
- list_id?: string;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/klaviyo/removeProfileToList/generated-types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { ActionDefinition } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import { Payload } from './generated-types';
4
- declare const action: ActionDefinition<Settings, Payload>;
5
- export default action;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const actions_core_1 = require("@segment/actions-core");
4
- const functions_1 = require("../functions");
5
- const properties_1 = require("../properties");
6
- const action = {
7
- title: 'Remove profile from list',
8
- description: 'Remove profile from list',
9
- fields: {
10
- email: { ...properties_1.email },
11
- list_id: { ...properties_1.external_id }
12
- },
13
- perform: async (request, { payload }) => {
14
- const { email, list_id } = payload;
15
- if (!email || !list_id) {
16
- throw new actions_core_1.IntegrationError("Insert the ID of the default list that you'd like to subscribe users", 'Missing required fields', 400);
17
- }
18
- try {
19
- const profileData = await functions_1.getProfile(request, email);
20
- const v = JSON.parse(profileData.content);
21
- if (Object.keys(v).length !== 0) {
22
- console.log(v);
23
- const listData = {
24
- data: [
25
- {
26
- type: 'profile',
27
- id: v.data[0].id
28
- }
29
- ]
30
- };
31
- const list = await functions_1.executeProfileList(request, 'DELETE', listData, list_id);
32
- return list;
33
- }
34
- return;
35
- }
36
- catch (error) {
37
- console.log(error);
38
- throw new Error('An error occurred while processing the request');
39
- }
40
- }
41
- };
42
- exports.default = action;
43
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/klaviyo/removeProfileToList/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAK1E,4CAA6D;AAC7D,8CAAkD;AAElD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,0BAA0B;IACvC,MAAM,EAAE;QACN,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,OAAO,EAAE,EAAE,GAAG,wBAAW,EAAE;KAC5B;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAClC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YACtB,MAAM,IAAI,+BAAgB,CACxB,sEAAsE,EACtE,yBAAyB,EACzB,GAAG,CACJ,CAAA;SACF;QACD,IAAI;YACF,MAAM,WAAW,GAA2B,MAAM,sBAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACzC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACd,MAAM,QAAQ,GAAa;oBACzB,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,SAAS;4BACf,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;yBACjB;qBACF;iBACF,CAAA;gBAED,MAAM,IAAI,GAAG,MAAM,8BAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC3E,OAAO,IAAI,CAAA;aACZ;YACD,OAAM;SACP;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;SAClE;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,22 +0,0 @@
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
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=generated-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/movable-ink/categoryView/generated-types.ts"],"names":[],"mappings":""}
@@ -1,43 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,20 +0,0 @@
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
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=generated-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/movable-ink/conversion/generated-types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
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;