@segment/action-destinations 3.492.2-async → 3.493.0

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 (86) hide show
  1. package/dist/destinations/display-video-360/index.js +2 -0
  2. package/dist/destinations/display-video-360/index.js.map +1 -1
  3. package/dist/destinations/display-video-360/shared.d.ts +6 -1
  4. package/dist/destinations/display-video-360/shared.js +41 -1
  5. package/dist/destinations/display-video-360/shared.js.map +1 -1
  6. package/dist/destinations/display-video-360/syncAudience/index.js +4 -4
  7. package/dist/destinations/display-video-360/syncAudience/index.js.map +1 -1
  8. package/dist/destinations/facebook-custom-audiences/constants.d.ts +1 -0
  9. package/dist/destinations/facebook-custom-audiences/constants.js +2 -1
  10. package/dist/destinations/facebook-custom-audiences/constants.js.map +1 -1
  11. package/dist/destinations/facebook-custom-audiences/sync/functions.d.ts +3 -2
  12. package/dist/destinations/facebook-custom-audiences/sync/functions.js +25 -1
  13. package/dist/destinations/facebook-custom-audiences/sync/functions.js.map +1 -1
  14. package/dist/destinations/facebook-custom-audiences/sync/index.js +8 -4
  15. package/dist/destinations/facebook-custom-audiences/sync/index.js.map +1 -1
  16. package/dist/destinations/facebook-custom-audiences/sync/types.d.ts +8 -0
  17. package/dist/destinations/iterable/updateUser/generated-types.d.ts +1 -0
  18. package/dist/destinations/iterable/updateUser/index.js +20 -2
  19. package/dist/destinations/iterable/updateUser/index.js.map +1 -1
  20. package/dist/destinations/linkedin-audiences/api.d.ts +3 -2
  21. package/dist/destinations/linkedin-audiences/api.js +3 -2
  22. package/dist/destinations/linkedin-audiences/api.js.map +1 -1
  23. package/dist/destinations/linkedin-audiences/constants.d.ts +4 -0
  24. package/dist/destinations/linkedin-audiences/constants.js +7 -1
  25. package/dist/destinations/linkedin-audiences/constants.js.map +1 -1
  26. package/dist/destinations/linkedin-audiences/index.js +2 -2
  27. package/dist/destinations/linkedin-audiences/index.js.map +1 -1
  28. package/dist/destinations/linkedin-audiences/updateAudience/fields.js +8 -1
  29. package/dist/destinations/linkedin-audiences/updateAudience/fields.js.map +1 -1
  30. package/dist/destinations/linkedin-audiences/updateAudience/functions.d.ts +2 -2
  31. package/dist/destinations/linkedin-audiences/updateAudience/functions.js +2 -2
  32. package/dist/destinations/linkedin-audiences/updateAudience/functions.js.map +1 -1
  33. package/dist/destinations/linkedin-audiences/updateAudience/index.js +4 -4
  34. package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
  35. package/dist/destinations/linkedin-audiences/versioning-info.d.ts +1 -0
  36. package/dist/destinations/linkedin-audiences/versioning-info.js +2 -1
  37. package/dist/destinations/linkedin-audiences/versioning-info.js.map +1 -1
  38. package/dist/destinations/linkedin-conversions/constants.d.ts +1 -1
  39. package/dist/destinations/linkedin-conversions/versioning-info.d.ts +1 -1
  40. package/dist/destinations/linkedin-conversions/versioning-info.js +1 -1
  41. package/dist/destinations/linkedin-conversions/versioning-info.js.map +1 -1
  42. package/dist/destinations/memora/upsertProfile/index.js +2 -2
  43. package/dist/destinations/memora/upsertProfile/index.js.map +1 -1
  44. package/dist/destinations/moengage/trackEvent/generated-types.d.ts +1 -0
  45. package/dist/destinations/moengage/trackEvent/index.js +15 -1
  46. package/dist/destinations/moengage/trackEvent/index.js.map +1 -1
  47. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.js +53 -5
  48. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.js.map +1 -1
  49. package/dist/destinations/salesforce-marketing-cloud/index.js +2 -6
  50. package/dist/destinations/salesforce-marketing-cloud/index.js.map +1 -1
  51. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +1 -11
  52. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +2 -3
  53. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
  54. package/dist/destinations/tiktok-audiences/functions.d.ts +2 -0
  55. package/dist/destinations/tiktok-audiences/functions.js +8 -5
  56. package/dist/destinations/tiktok-audiences/functions.js.map +1 -1
  57. package/dist/destinations/tiktok-audiences/index.js +2 -0
  58. package/dist/destinations/tiktok-audiences/index.js.map +1 -1
  59. package/dist/destinations/tiktok-audiences/syncAudience/functions.d.ts +5 -4
  60. package/dist/destinations/tiktok-audiences/syncAudience/functions.js +45 -28
  61. package/dist/destinations/tiktok-audiences/syncAudience/functions.js.map +1 -1
  62. package/dist/destinations/tiktok-audiences/syncAudience/generated-types.d.ts +5 -5
  63. package/dist/destinations/tiktok-audiences/syncAudience/index.d.ts +1 -1
  64. package/dist/destinations/tiktok-audiences/syncAudience/index.js +8 -6
  65. package/dist/destinations/tiktok-audiences/syncAudience/index.js.map +1 -1
  66. package/dist/destinations/youappi-audiences/sync/functions.js +11 -0
  67. package/dist/destinations/youappi-audiences/sync/functions.js.map +1 -1
  68. package/dist/destinations/youappi-audiences/sync/generated-types.d.ts +2 -2
  69. package/dist/destinations/youappi-audiences/sync/index.js +2 -4
  70. package/dist/destinations/youappi-audiences/sync/index.js.map +1 -1
  71. package/package.json +5 -5
  72. package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.async.test.d.ts +0 -1
  73. package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.async.test.js +0 -603
  74. package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.async.test.js.map +0 -1
  75. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/fields.d.ts +0 -128
  76. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/fields.js +0 -57
  77. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/fields.js.map +0 -1
  78. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.async.d.ts +0 -5
  79. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.async.js +0 -125
  80. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.async.js.map +0 -1
  81. package/dist/destinations/webhook/ssrf-utils.d.ts +0 -1
  82. package/dist/destinations/webhook/ssrf-utils.js +0 -75
  83. package/dist/destinations/webhook/ssrf-utils.js.map +0 -1
  84. package/dist/destinations/webhook-extensible/ssrf-utils.d.ts +0 -1
  85. package/dist/destinations/webhook-extensible/ssrf-utils.js +0 -75
  86. package/dist/destinations/webhook-extensible/ssrf-utils.js.map +0 -1
@@ -1,128 +0,0 @@
1
- import { RequestClient, DynamicFieldResponse } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import type { Payload } from './generated-types';
4
- export declare const fields: {
5
- keys: {
6
- required: boolean;
7
- dynamic: boolean;
8
- placeholder?: string;
9
- defaultObjectUI?: "keyvalue" | "object" | "keyvalue:only" | "object:only" | "arrayeditor";
10
- unsafe_hidden?: boolean;
11
- readOnly?: boolean;
12
- depends_on?: import("@segment/actions-core/src/destination-kit/types").DependsOnConditions;
13
- category?: "data" | "identifier" | "internal" | "config" | "sync" | "hashedPII";
14
- displayMode?: "expanded" | "normal" | "collapsed";
15
- disabledInputMethods?: ("function" | "literal" | "variable" | "enrichment" | "freeform")[];
16
- minimum?: number;
17
- maximum?: number;
18
- label: string;
19
- description: string;
20
- type: import("@segment/actions-core/src/destination-kit/types").FieldTypeName;
21
- allowNull?: boolean;
22
- multiple?: boolean;
23
- additionalProperties?: boolean;
24
- default?: import("@segment/actions-core/src/destination-kit/types").FieldValue;
25
- choices?: Array<string> | Array<{
26
- value: string | number;
27
- label: string;
28
- }>;
29
- properties?: Record<string, import("@segment/actions-core/src/destination-kit/types").Optional<import("@segment/actions-core").InputField, "description">>;
30
- format?: "date" | "time" | "date-time" | "uri" | "uri-reference" | "uri-template" | "email" | "hostname" | "ipv4" | "ipv6" | "regex" | "uuid" | "password" | "text";
31
- };
32
- values: {
33
- dynamic: boolean;
34
- placeholder?: string;
35
- defaultObjectUI?: "keyvalue" | "object" | "keyvalue:only" | "object:only" | "arrayeditor";
36
- unsafe_hidden?: boolean;
37
- readOnly?: boolean;
38
- depends_on?: import("@segment/actions-core/src/destination-kit/types").DependsOnConditions;
39
- category?: "data" | "identifier" | "internal" | "config" | "sync" | "hashedPII";
40
- displayMode?: "expanded" | "normal" | "collapsed";
41
- disabledInputMethods?: ("function" | "literal" | "variable" | "enrichment" | "freeform")[];
42
- minimum?: number;
43
- maximum?: number;
44
- label: string;
45
- description: string;
46
- type: import("@segment/actions-core/src/destination-kit/types").FieldTypeName;
47
- allowNull?: boolean;
48
- multiple?: boolean;
49
- additionalProperties?: boolean;
50
- default?: import("@segment/actions-core/src/destination-kit/types").FieldValue;
51
- choices?: Array<string> | Array<{
52
- value: string | number;
53
- label: string;
54
- }>;
55
- required?: boolean | import("@segment/actions-core/src/destination-kit/types").DependsOnConditions;
56
- properties?: Record<string, import("@segment/actions-core/src/destination-kit/types").Optional<import("@segment/actions-core").InputField, "description">>;
57
- format?: "date" | "time" | "date-time" | "uri" | "uri-reference" | "uri-template" | "email" | "hostname" | "ipv4" | "ipv6" | "regex" | "uuid" | "password" | "text";
58
- };
59
- enable_batching: {
60
- label: string;
61
- description: string;
62
- type: "boolean";
63
- default: boolean;
64
- unsafe_hidden: boolean;
65
- };
66
- batch_bytes: {
67
- label: string;
68
- description: string;
69
- type: "number";
70
- required: boolean;
71
- default: number;
72
- unsafe_hidden: boolean;
73
- };
74
- batch_size: {
75
- label: string;
76
- description: string;
77
- type: "number";
78
- required: boolean;
79
- minimum: number;
80
- default: number;
81
- maximum: number;
82
- unsafe_hidden: boolean;
83
- };
84
- };
85
- export declare const dynamicFields: {
86
- keys: {
87
- __keys__: (request: RequestClient, { settings, payload }: {
88
- settings: Settings;
89
- payload: Payload;
90
- }) => Promise<DynamicFieldResponse>;
91
- };
92
- values: {
93
- __keys__: (request: RequestClient, { settings, payload }: {
94
- settings: Settings;
95
- payload: Payload;
96
- }) => Promise<DynamicFieldResponse>;
97
- };
98
- };
99
- export declare const hooks: {
100
- retlOnMappingSave: {
101
- label: string;
102
- description: string;
103
- inputFields?: Record<string, Omit<import("@segment/actions-core").InputField, "dynamic"> & {
104
- dynamic?: import("@segment/actions-core").RequestFn<any, any, DynamicFieldResponse, any, any, import("@segment/actions-core").AudienceMembership | import("@segment/actions-core").AudienceMembership[]> | undefined;
105
- }> | undefined;
106
- outputTypes?: Record<string, {
107
- label: string;
108
- description: string;
109
- type: string;
110
- required: boolean;
111
- }>;
112
- performHook: import("@segment/actions-core").RequestFn<any, any, import("@segment/actions-core").ActionHookResponse<any>, any, any, import("@segment/actions-core").AudienceMembership | import("@segment/actions-core").AudienceMembership[]>;
113
- };
114
- onMappingSave: {
115
- label: string;
116
- description: string;
117
- inputFields?: Record<string, Omit<import("@segment/actions-core").InputField, "dynamic"> & {
118
- dynamic?: import("@segment/actions-core").RequestFn<any, any, DynamicFieldResponse, any, any, import("@segment/actions-core").AudienceMembership | import("@segment/actions-core").AudienceMembership[]> | undefined;
119
- }> | undefined;
120
- outputTypes?: Record<string, {
121
- label: string;
122
- description: string;
123
- type: string;
124
- required: boolean;
125
- }>;
126
- performHook: import("@segment/actions-core").RequestFn<any, any, import("@segment/actions-core").ActionHookResponse<any>, any, any, import("@segment/actions-core").AudienceMembership | import("@segment/actions-core").AudienceMembership[]>;
127
- };
128
- };
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hooks = exports.dynamicFields = exports.fields = void 0;
4
- const sfmc_properties_1 = require("../sfmc-properties");
5
- const sfmc_operations_1 = require("../sfmc-operations");
6
- exports.fields = {
7
- keys: { ...sfmc_properties_1.keys, required: true, dynamic: true },
8
- values: { ...sfmc_properties_1.values_dataExtensionFields, dynamic: true },
9
- enable_batching: {
10
- label: 'Batch data to SFMC',
11
- description: 'If true, data is batched before sending to the SFMC Data Extension.',
12
- type: 'boolean',
13
- default: true,
14
- unsafe_hidden: true
15
- },
16
- batch_bytes: {
17
- label: 'Batch Bytes',
18
- description: 'The maximum size of a batch in bytes.',
19
- type: 'number',
20
- required: false,
21
- default: 5000000,
22
- unsafe_hidden: true
23
- },
24
- batch_size: {
25
- label: 'Batch Size',
26
- description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
27
- type: 'number',
28
- required: false,
29
- minimum: 1000,
30
- default: 28000,
31
- maximum: 30000,
32
- unsafe_hidden: true
33
- }
34
- };
35
- exports.dynamicFields = {
36
- keys: {
37
- __keys__: async (request, { settings, payload }) => {
38
- const dataExtensionId = payload.onMappingSave?.outputs?.id || payload.retlOnMappingSave?.outputs?.id || '';
39
- return await (0, sfmc_operations_1.getDataExtensionFields)(request, settings.subdomain, settings, dataExtensionId, true);
40
- }
41
- },
42
- values: {
43
- __keys__: async (request, { settings, payload }) => {
44
- const dataExtensionId = payload.onMappingSave?.outputs?.id || payload.retlOnMappingSave?.outputs?.id || '';
45
- return await (0, sfmc_operations_1.getDataExtensionFields)(request, settings.subdomain, settings, dataExtensionId, false);
46
- }
47
- }
48
- };
49
- exports.hooks = {
50
- retlOnMappingSave: {
51
- ...sfmc_properties_1.dataExtensionHook
52
- },
53
- onMappingSave: {
54
- ...sfmc_properties_1.dataExtensionHook
55
- }
56
- };
57
- //# sourceMappingURL=fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/asyncDataExtension/fields.ts"],"names":[],"mappings":";;;AAGA,wDAAwF;AACxF,wDAA2D;AAE9C,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE,EAAE,GAAG,sBAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IAChD,MAAM,EAAE,EAAE,GAAG,4CAA0B,EAAE,OAAO,EAAE,IAAI,EAAE;IACxD,eAAe,EAAE;QACf,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,qEAAqE;QAClF,IAAI,EAAE,SAAkB;QACxB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,IAAI;KACpB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,OAAO;QAChB,aAAa,EAAE,IAAI;KACpB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,qFAAqF;QAClG,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,IAAI;KACpB;CACF,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE;QACJ,QAAQ,EAAE,KAAK,EACb,OAAsB,EACtB,EAAE,QAAQ,EAAE,OAAO,EAA4C,EAChC,EAAE;YACjC,MAAM,eAAe,GAClB,OAAe,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,IAAK,OAAe,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA;YACtG,OAAO,MAAM,IAAA,wCAAsB,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;QACnG,CAAC;KACF;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,KAAK,EACb,OAAsB,EACtB,EAAE,QAAQ,EAAE,OAAO,EAA4C,EAChC,EAAE;YACjC,MAAM,eAAe,GAClB,OAAe,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,IAAK,OAAe,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA;YACtG,OAAO,MAAM,IAAA,wCAAsB,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;QACpG,CAAC;KACF;CACF,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,iBAAiB,EAAE;QACjB,GAAG,mCAAiB;KACrB;IACD,aAAa,EAAE;QACb,GAAG,mCAAiB;KACrB;CACF,CAAA"}
@@ -1,5 +0,0 @@
1
- import { AsyncActionDefinition } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import type { Payload } from './generated-types';
4
- declare const asyncAction: AsyncActionDefinition<Settings, Payload>;
5
- export default asyncAction;
@@ -1,125 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const actions_core_1 = require("@segment/actions-core");
4
- const sfmc_operations_1 = require("../sfmc-operations");
5
- const fields_1 = require("./fields");
6
- const asyncAction = {
7
- title: 'Send Event asynchronously to Data Extension',
8
- description: `Upsert event records asynchronously as rows into a data extension in Salesforce Marketing Cloud.`,
9
- fields: fields_1.fields,
10
- dynamicFields: fields_1.dynamicFields,
11
- hooks: fields_1.hooks,
12
- performBatch: async (request, { settings, payload, hookOutputs }) => {
13
- const response = {
14
- multiStatusResponse: new actions_core_1.MultiStatusResponse(),
15
- jobId: undefined,
16
- status: 200
17
- };
18
- const dataExtensionId = hookOutputs?.onMappingSave?.outputs?.id || hookOutputs?.retlOnMappingSave?.outputs?.id;
19
- if (!dataExtensionId) {
20
- throw new actions_core_1.IntegrationError('No Data Extension Connected', 'INVALID_CONFIGURATION', 400);
21
- }
22
- try {
23
- const asyncUpsertResponse = await (0, sfmc_operations_1.asyncUpsertRowsV2)(request, settings.subdomain, payload, dataExtensionId, false);
24
- response.jobId = asyncUpsertResponse.data.requestId;
25
- response.status = asyncUpsertResponse.status;
26
- if (asyncUpsertResponse.ok) {
27
- for (let i = 0; i < payload.length; i++) {
28
- response.multiStatusResponse.setSuccessResponseAtIndex(i, {
29
- status: 200,
30
- sent: JSON.stringify(payload[i]),
31
- body: {}
32
- });
33
- }
34
- return response;
35
- }
36
- else if (asyncUpsertResponse.data.resultMessages && asyncUpsertResponse.data.resultMessages.length > 0) {
37
- for (let i = 0; i < payload.length; i++) {
38
- response.multiStatusResponse.setErrorResponseAtIndex(i, {
39
- status: asyncUpsertResponse.status,
40
- errormessage: asyncUpsertResponse?.data?.resultMessages[0]?.message ?? 'Unknown error',
41
- sent: JSON.stringify(payload[i]),
42
- body: {}
43
- });
44
- }
45
- return response;
46
- }
47
- else {
48
- throw new actions_core_1.IntegrationError(`SFMC API responded with ${JSON.stringify(asyncUpsertResponse.data)}.`, asyncUpsertResponse.statusText, asyncUpsertResponse.status);
49
- }
50
- }
51
- catch (error) {
52
- throw new actions_core_1.IntegrationError(`Failed to upsert rows asynchronously: ${error.message}`, 'BAD_REQUEST', 400);
53
- }
54
- return response;
55
- },
56
- performPoll: async (request, { settings, payload }) => {
57
- const response = {
58
- jobId: payload.jobId,
59
- status: 200,
60
- pollStatus: 'IN_PROGRESS'
61
- };
62
- try {
63
- const statusResponse = await request(`https://${settings.subdomain}.rest.marketingcloudapis.com/data/v1/async/${payload.jobId}/status`, {
64
- method: 'GET'
65
- });
66
- response.status = statusResponse.status;
67
- if (!statusResponse.data.status) {
68
- response.pollStatus = 'FAILED';
69
- return response;
70
- }
71
- if (statusResponse.data.status.requestStatus === 'Pending' ||
72
- statusResponse.data.status.requestStatus === 'Executing') {
73
- response.pollStatus = 'IN_PROGRESS';
74
- return response;
75
- }
76
- if (statusResponse.data.status.requestStatus === 'Error') {
77
- response.pollStatus = 'FAILED';
78
- return response;
79
- }
80
- if (statusResponse.data.status.requestStatus === 'Complete' && statusResponse.data.status.resultStatus === 'OK') {
81
- response.pollStatus = 'COMPLETED';
82
- return response;
83
- }
84
- response.pollStatus = 'COMPLETED';
85
- response.multiStatusResponse = new actions_core_1.MultiStatusResponse();
86
- const resultsResponse = await request(`https://${settings.subdomain}.rest.marketingcloudapis.com/data/v1/async/${payload.jobId}/results`, {
87
- method: 'GET'
88
- });
89
- for (let i = 0; i < resultsResponse.data.items.length; i++) {
90
- if (resultsResponse.data.items[i].status === 'OK') {
91
- response.multiStatusResponse.setSuccessResponseAtIndex(i, {
92
- status: 200,
93
- sent: {},
94
- body: 'OK'
95
- });
96
- }
97
- else {
98
- response.multiStatusResponse.setErrorResponseAtIndex(i, {
99
- status: 400,
100
- errormessage: resultsResponse.data.items[i].message,
101
- body: {}
102
- });
103
- }
104
- }
105
- return response;
106
- }
107
- catch (error) {
108
- if (!(error instanceof actions_core_1.HTTPError)) {
109
- response.status = 400;
110
- response.pollStatus = 'FAILED';
111
- return response;
112
- }
113
- if (error.response.status === 429 || error.response.status === 500) {
114
- response.status = error.response.status;
115
- response.pollStatus = 'IN_PROGRESS';
116
- return response;
117
- }
118
- response.status = error.response.status;
119
- response.pollStatus = 'FAILED';
120
- return response;
121
- }
122
- }
123
- };
124
- exports.default = asyncAction;
125
- //# sourceMappingURL=index.async.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.async.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/asyncDataExtension/index.async.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function isRestrictedUrl(rawUrl: string): boolean;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRestrictedUrl = isRestrictedUrl;
4
- const net_1 = require("net");
5
- const url_1 = require("url");
6
- const RESTRICTED_CIDRS_V4 = [
7
- [0x00000000, 0xff000000, '0.0.0.0/8'],
8
- [0x0a000000, 0xff000000, '10.0.0.0/8'],
9
- [0x64400000, 0xffc00000, '100.64.0.0/10'],
10
- [0x7f000000, 0xff000000, '127.0.0.0/8'],
11
- [0xa9fe0000, 0xffff0000, '169.254.0.0/16'],
12
- [0xac100000, 0xfff00000, '172.16.0.0/12'],
13
- [0xc0000000, 0xffffff00, '192.0.0.0/24'],
14
- [0xc0000200, 0xffffff00, '192.0.2.0/24'],
15
- [0xc0a80000, 0xffff0000, '192.168.0.0/16'],
16
- [0xc6336400, 0xffffff00, '198.51.100.0/24'],
17
- [0xcb007100, 0xffffff00, '203.0.113.0/24'],
18
- [0xe0000000, 0xf0000000, '224.0.0.0/4'],
19
- [0xf0000000, 0xf0000000, '240.0.0.0/4']
20
- ];
21
- function ipv4ToInt(ip) {
22
- return ip.split('.').reduce((acc, octet) => (acc << 8) | parseInt(octet, 10), 0) >>> 0;
23
- }
24
- function intToIpv4(n) {
25
- return [(n >>> 24) & 0xff, (n >>> 16) & 0xff, (n >>> 8) & 0xff, n & 0xff].join('.');
26
- }
27
- function isRestrictedIPv4(ip) {
28
- const int = ipv4ToInt(ip);
29
- return RESTRICTED_CIDRS_V4.some(([network, mask]) => (int & mask) === network);
30
- }
31
- function isRestrictedIPv6(ip) {
32
- const lower = ip.toLowerCase();
33
- if (lower === '::1' || lower === '::')
34
- return true;
35
- if (lower.startsWith('fe8') || lower.startsWith('fe9') || lower.startsWith('fea') || lower.startsWith('feb')) {
36
- return true;
37
- }
38
- if (lower.startsWith('fc') || lower.startsWith('fd'))
39
- return true;
40
- return false;
41
- }
42
- function normalizeHostname(hostname) {
43
- const asInt = parseInt(hostname, 10);
44
- if (asInt.toString() === hostname) {
45
- const ip = intToIpv4(asInt);
46
- return { ip, blocked: false };
47
- }
48
- if (/^[\d.x]+$/i.test(hostname) && !(0, net_1.isIPv4)(hostname)) {
49
- return { ip: null, blocked: true };
50
- }
51
- return { ip: hostname, blocked: false };
52
- }
53
- function isRestrictedUrl(rawUrl) {
54
- let parsed;
55
- try {
56
- parsed = new url_1.URL(rawUrl);
57
- }
58
- catch {
59
- return true;
60
- }
61
- if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
62
- return true;
63
- const hostname = parsed.hostname.replace(/^\[/, '').replace(/\]$/, '');
64
- const { ip, blocked } = normalizeHostname(hostname);
65
- if (blocked)
66
- return true;
67
- if (ip === null)
68
- return true;
69
- if ((0, net_1.isIPv4)(ip))
70
- return isRestrictedIPv4(ip);
71
- if ((0, net_1.isIPv6)(ip))
72
- return isRestrictedIPv6(ip);
73
- return false;
74
- }
75
- //# sourceMappingURL=ssrf-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssrf-utils.js","sourceRoot":"","sources":["../../../src/destinations/webhook/ssrf-utils.ts"],"names":[],"mappings":";;AAiEA,0CAsBC;AAvFD,6BAAoC;AACpC,6BAAyB;AAEzB,MAAM,mBAAmB,GAAoC;IAC3D,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;IACrC,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;IACtC,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC;IACzC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;IACvC,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC;IAC1C,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC;IACzC,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC;IACxC,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC;IACxC,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC;IAC1C,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;IAC3C,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC;IAC1C,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;IACvC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC;CACxC,CAAA;AAED,SAAS,SAAS,CAAC,EAAU;IAC3B,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;AACxF,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAU;IAClC,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,OAAO,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAU;IAElC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAC9B,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAClD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7G,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACjE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IAEzC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACpC,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC3B,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC/B,CAAC;IAID,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,YAAM,EAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AACzC,CAAC;AAOD,SAAgB,eAAe,CAAC,MAAc;IAC5C,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,SAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE5E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEtE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACnD,IAAI,OAAO;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE5B,IAAI,IAAA,YAAM,EAAC,EAAE,CAAC;QAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC3C,IAAI,IAAA,YAAM,EAAC,EAAE,CAAC;QAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAG3C,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1 +0,0 @@
1
- export declare function isRestrictedUrl(rawUrl: string): boolean;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRestrictedUrl = isRestrictedUrl;
4
- const net_1 = require("net");
5
- const url_1 = require("url");
6
- const RESTRICTED_CIDRS_V4 = [
7
- [0x00000000, 0xff000000, '0.0.0.0/8'],
8
- [0x0a000000, 0xff000000, '10.0.0.0/8'],
9
- [0x64400000, 0xffc00000, '100.64.0.0/10'],
10
- [0x7f000000, 0xff000000, '127.0.0.0/8'],
11
- [0xa9fe0000, 0xffff0000, '169.254.0.0/16'],
12
- [0xac100000, 0xfff00000, '172.16.0.0/12'],
13
- [0xc0000000, 0xffffff00, '192.0.0.0/24'],
14
- [0xc0000200, 0xffffff00, '192.0.2.0/24'],
15
- [0xc0a80000, 0xffff0000, '192.168.0.0/16'],
16
- [0xc6336400, 0xffffff00, '198.51.100.0/24'],
17
- [0xcb007100, 0xffffff00, '203.0.113.0/24'],
18
- [0xe0000000, 0xf0000000, '224.0.0.0/4'],
19
- [0xf0000000, 0xf0000000, '240.0.0.0/4']
20
- ];
21
- function ipv4ToInt(ip) {
22
- return ip.split('.').reduce((acc, octet) => (acc << 8) | parseInt(octet, 10), 0) >>> 0;
23
- }
24
- function intToIpv4(n) {
25
- return [(n >>> 24) & 0xff, (n >>> 16) & 0xff, (n >>> 8) & 0xff, n & 0xff].join('.');
26
- }
27
- function isRestrictedIPv4(ip) {
28
- const int = ipv4ToInt(ip);
29
- return RESTRICTED_CIDRS_V4.some(([network, mask]) => (int & mask) === network);
30
- }
31
- function isRestrictedIPv6(ip) {
32
- const lower = ip.toLowerCase();
33
- if (lower === '::1' || lower === '::')
34
- return true;
35
- if (lower.startsWith('fe8') || lower.startsWith('fe9') || lower.startsWith('fea') || lower.startsWith('feb')) {
36
- return true;
37
- }
38
- if (lower.startsWith('fc') || lower.startsWith('fd'))
39
- return true;
40
- return false;
41
- }
42
- function normalizeHostname(hostname) {
43
- const asInt = parseInt(hostname, 10);
44
- if (asInt.toString() === hostname) {
45
- const ip = intToIpv4(asInt);
46
- return { ip, blocked: false };
47
- }
48
- if (/^[\d.x]+$/i.test(hostname) && !(0, net_1.isIPv4)(hostname)) {
49
- return { ip: null, blocked: true };
50
- }
51
- return { ip: hostname, blocked: false };
52
- }
53
- function isRestrictedUrl(rawUrl) {
54
- let parsed;
55
- try {
56
- parsed = new url_1.URL(rawUrl);
57
- }
58
- catch {
59
- return true;
60
- }
61
- if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
62
- return true;
63
- const hostname = parsed.hostname.replace(/^\[/, '').replace(/\]$/, '');
64
- const { ip, blocked } = normalizeHostname(hostname);
65
- if (blocked)
66
- return true;
67
- if (ip === null)
68
- return true;
69
- if ((0, net_1.isIPv4)(ip))
70
- return isRestrictedIPv4(ip);
71
- if ((0, net_1.isIPv6)(ip))
72
- return isRestrictedIPv6(ip);
73
- return false;
74
- }
75
- //# sourceMappingURL=ssrf-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssrf-utils.js","sourceRoot":"","sources":["../../../src/destinations/webhook-extensible/ssrf-utils.ts"],"names":[],"mappings":"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"}