@segment/action-destinations 3.481.0 → 3.483.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 (35) hide show
  1. package/dist/destinations/altertable/alias/generated-types.d.ts +27 -0
  2. package/dist/destinations/altertable/alias/generated-types.js +3 -0
  3. package/dist/destinations/altertable/alias/generated-types.js.map +1 -0
  4. package/dist/destinations/altertable/alias/index.d.ts +5 -0
  5. package/dist/destinations/altertable/alias/index.js +53 -0
  6. package/dist/destinations/altertable/alias/index.js.map +1 -0
  7. package/dist/destinations/altertable/event/generated-types.d.ts +5 -2
  8. package/dist/destinations/altertable/event/index.js +31 -33
  9. package/dist/destinations/altertable/event/index.js.map +1 -1
  10. package/dist/destinations/altertable/fields.js +6 -0
  11. package/dist/destinations/altertable/fields.js.map +1 -1
  12. package/dist/destinations/altertable/identify/generated-types.d.ts +4 -1
  13. package/dist/destinations/altertable/identify/index.js +29 -12
  14. package/dist/destinations/altertable/identify/index.js.map +1 -1
  15. package/dist/destinations/altertable/index.js +13 -10
  16. package/dist/destinations/altertable/index.js.map +1 -1
  17. package/dist/destinations/altertable/types.d.ts +4 -1
  18. package/dist/destinations/altertable/utils.d.ts +11 -1
  19. package/dist/destinations/altertable/utils.js +143 -56
  20. package/dist/destinations/altertable/utils.js.map +1 -1
  21. package/dist/destinations/linkedin-conversions/api/index.js +6 -2
  22. package/dist/destinations/linkedin-conversions/api/index.js.map +1 -1
  23. package/dist/destinations/linkedin-conversions/constants.js +1 -1
  24. package/dist/destinations/linkedin-conversions/constants.js.map +1 -1
  25. package/dist/destinations/linkedin-conversions/streamConversion/index.js +17 -0
  26. package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
  27. package/dist/destinations/marketo-static-lists/functions.js +14 -3
  28. package/dist/destinations/marketo-static-lists/functions.js.map +1 -1
  29. package/dist/destinations/memora/upsertProfile/generated-types.d.ts +2 -2
  30. package/dist/destinations/memora/upsertProfile/index.js +96 -40
  31. package/dist/destinations/memora/upsertProfile/index.js.map +1 -1
  32. package/dist/destinations/memora-internal/upsertProfile.types.d.ts +2 -2
  33. package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/index.js +1 -0
  34. package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/index.js.map +1 -1
  35. package/package.json +2 -2
@@ -0,0 +1,27 @@
1
+ export interface Payload {
2
+ previousId: string;
3
+ userId: string;
4
+ anonymousId?: string;
5
+ context?: {
6
+ ip?: string;
7
+ url?: string;
8
+ referrer?: string;
9
+ os?: string;
10
+ user_agent?: string;
11
+ utm_campaign?: string;
12
+ utm_source?: string;
13
+ utm_medium?: string;
14
+ utm_term?: string;
15
+ utm_content?: string;
16
+ screen_width?: number;
17
+ screen_height?: number;
18
+ library_name?: string;
19
+ library_version?: string;
20
+ device_id?: string;
21
+ };
22
+ channel?: string;
23
+ timestamp: string | number;
24
+ enable_batching: boolean;
25
+ batch_size?: number;
26
+ batch_bytes?: number;
27
+ }
@@ -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/altertable/alias/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { 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,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fields_1 = require("../fields");
4
+ const utils_1 = require("../utils");
5
+ const action = {
6
+ title: 'Alias',
7
+ description: 'Link a previous anonymous or temporary ID to a user ID in Altertable.',
8
+ defaultSubscription: 'type = "alias"',
9
+ fields: {
10
+ previousId: {
11
+ label: 'Previous ID',
12
+ description: 'The previous user identifier (maps to distinct_id in the Altertable API).',
13
+ type: 'string',
14
+ required: true,
15
+ default: {
16
+ '@path': '$.previousId'
17
+ }
18
+ },
19
+ ...fields_1.commonFields,
20
+ enable_batching: {
21
+ label: 'Enable Batching',
22
+ type: 'boolean',
23
+ required: true,
24
+ default: true,
25
+ unsafe_hidden: true,
26
+ description: 'When enabled, events are sent in batches to Altertable.'
27
+ },
28
+ batch_size: {
29
+ label: 'Batch Size',
30
+ type: 'number',
31
+ required: false,
32
+ default: 1000,
33
+ unsafe_hidden: true,
34
+ description: 'Maximum number of events per batch request.'
35
+ },
36
+ batch_bytes: {
37
+ label: 'Batch Bytes',
38
+ type: 'number',
39
+ required: false,
40
+ default: 4000000,
41
+ unsafe_hidden: true,
42
+ description: 'Maximum batch payload size in bytes.'
43
+ }
44
+ },
45
+ perform: (request, { settings, payload }) => {
46
+ return (0, utils_1.sendAlias)(request, settings, payload);
47
+ },
48
+ performBatch: (request, { settings, payload }) => {
49
+ return (0, utils_1.sendAliasBatch)(request, settings, payload);
50
+ }
51
+ };
52
+ exports.default = action;
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/altertable/alias/index.ts"],"names":[],"mappings":";;AAGA,sCAAwC;AACxC,oCAAoD;AAEpD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,uEAAuE;IACpF,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,UAAU,EAAE;YACV,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,2EAA2E;YACxF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,GAAG,qBAAY;QACf,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,yDAAyD;SACvE;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,6CAA6C;SAC3D;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,sCAAsC;SACpD;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,OAAO,IAAA,iBAAS,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,OAAO,IAAA,sBAAc,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,6 +1,5 @@
1
1
  export interface Payload {
2
- type: string;
3
- event?: string;
2
+ event: string;
4
3
  properties: {
5
4
  [k: string]: unknown;
6
5
  };
@@ -23,5 +22,9 @@ export interface Payload {
23
22
  library_version?: string;
24
23
  device_id?: string;
25
24
  };
25
+ channel?: string;
26
26
  timestamp: string | number;
27
+ enable_batching: boolean;
28
+ batch_size?: number;
29
+ batch_bytes?: number;
27
30
  }
@@ -7,43 +7,14 @@ const action = {
7
7
  description: 'Track a single event in Altertable.',
8
8
  defaultSubscription: 'type = "track"',
9
9
  fields: {
10
- type: {
11
- label: 'Segment Event Type',
12
- description: 'The Segment event type',
13
- type: 'string',
14
- choices: [
15
- { label: 'track', value: 'track' },
16
- { label: 'page', value: 'page' },
17
- { label: 'screen', value: 'screen' }
18
- ],
19
- required: true,
20
- default: 'track'
21
- },
22
10
  event: {
23
11
  label: 'Event Name',
24
- description: 'The name of the event to track. Only required for `track` event type.',
12
+ description: 'The name of the event to track.',
25
13
  type: 'string',
26
14
  default: {
27
15
  '@path': '$.event'
28
16
  },
29
- required: {
30
- conditions: [
31
- {
32
- fieldKey: 'eventType',
33
- operator: 'is',
34
- value: 'track'
35
- }
36
- ]
37
- },
38
- depends_on: {
39
- conditions: [
40
- {
41
- fieldKey: 'eventType',
42
- operator: 'is',
43
- value: 'track'
44
- }
45
- ]
46
- }
17
+ required: true
47
18
  },
48
19
  properties: {
49
20
  label: 'Properties',
@@ -54,10 +25,37 @@ const action = {
54
25
  '@path': '$.properties'
55
26
  }
56
27
  },
57
- ...fields_1.commonFields
28
+ ...fields_1.commonFields,
29
+ enable_batching: {
30
+ label: 'Enable Batching',
31
+ type: 'boolean',
32
+ required: true,
33
+ default: true,
34
+ unsafe_hidden: true,
35
+ description: 'When enabled, events are sent in batches to Altertable.'
36
+ },
37
+ batch_size: {
38
+ label: 'Batch Size',
39
+ type: 'number',
40
+ required: false,
41
+ default: 1000,
42
+ unsafe_hidden: true,
43
+ description: 'Maximum number of events per batch request.'
44
+ },
45
+ batch_bytes: {
46
+ label: 'Batch Bytes',
47
+ type: 'number',
48
+ required: false,
49
+ default: 4000000,
50
+ unsafe_hidden: true,
51
+ description: 'Maximum batch payload size in bytes.'
52
+ }
58
53
  },
59
54
  perform: (request, { settings, payload }) => {
60
- return (0, utils_1.send)(request, settings, payload);
55
+ return (0, utils_1.sendTrack)(request, settings, payload);
56
+ },
57
+ performBatch: (request, { settings, payload }) => {
58
+ return (0, utils_1.sendTrackBatch)(request, settings, payload);
61
59
  }
62
60
  };
63
61
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/altertable/event/index.ts"],"names":[],"mappings":";;AAGA,sCAAwC;AACxC,oCAA+B;AAE/B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,qCAAqC;IAClD,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBAClC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;aACrC;YACD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,OAAO;SACjB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,uEAAuE;YACpF,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;YACD,QAAQ,EAAE;gBACR,UAAU,EAAE;oBACV;wBACE,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,OAAO;qBACf;iBACF;aACF;YACD,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV;wBACE,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,OAAO;qBACf;iBACF;aACF;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,GAAG,qBAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,OAAO,IAAA,YAAI,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;CACF,CAAA;AAGD,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/altertable/event/index.ts"],"names":[],"mappings":";;AAGA,sCAAwC;AACxC,oCAAoD;AAEpD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,qCAAqC;IAClD,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,KAAK,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;YACD,QAAQ,EAAE,IAAI;SACf;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,GAAG,qBAAY;QACf,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,yDAAyD;SACvE;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,6CAA6C;SAC3D;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,sCAAsC;SACpD;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,OAAO,IAAA,iBAAS,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,OAAO,IAAA,sBAAc,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -152,6 +152,12 @@ exports.commonFields = {
152
152
  },
153
153
  required: false
154
154
  },
155
+ channel: {
156
+ label: 'Channel',
157
+ description: 'Segment channel (e.g. client, server). When set to "server" and no IP is present, $ip is set to 0 so the backend does not use the request IP.',
158
+ type: 'string',
159
+ required: false
160
+ },
155
161
  timestamp: {
156
162
  label: 'Timestamp',
157
163
  description: 'The timestamp of the event',
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/destinations/altertable/fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/destinations/altertable/fields.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export interface Payload {
2
- type: string;
3
2
  traits: {
4
3
  [k: string]: unknown;
5
4
  };
@@ -22,5 +21,9 @@ export interface Payload {
22
21
  library_version?: string;
23
22
  device_id?: string;
24
23
  };
24
+ channel?: string;
25
25
  timestamp: string | number;
26
+ enable_batching: boolean;
27
+ batch_size?: number;
28
+ batch_bytes?: number;
26
29
  }
@@ -6,16 +6,6 @@ const action = {
6
6
  title: 'Identify',
7
7
  description: 'Identify a user in Altertable.',
8
8
  fields: {
9
- type: {
10
- label: 'Segment Event Type',
11
- description: 'The Segment event type',
12
- type: 'string',
13
- choices: [
14
- { label: 'identify', value: 'identify' }
15
- ],
16
- required: true,
17
- default: 'identify'
18
- },
19
9
  traits: {
20
10
  label: 'Traits',
21
11
  description: 'The traits of the user',
@@ -25,10 +15,37 @@ const action = {
25
15
  '@path': '$.traits'
26
16
  }
27
17
  },
28
- ...fields_1.commonFields
18
+ ...fields_1.commonFields,
19
+ enable_batching: {
20
+ label: 'Enable Batching',
21
+ type: 'boolean',
22
+ required: true,
23
+ default: true,
24
+ unsafe_hidden: true,
25
+ description: 'When enabled, events are sent in batches to Altertable.'
26
+ },
27
+ batch_size: {
28
+ label: 'Batch Size',
29
+ type: 'number',
30
+ required: false,
31
+ default: 1000,
32
+ unsafe_hidden: true,
33
+ description: 'Maximum number of events per batch request.'
34
+ },
35
+ batch_bytes: {
36
+ label: 'Batch Bytes',
37
+ type: 'number',
38
+ required: false,
39
+ default: 4000000,
40
+ unsafe_hidden: true,
41
+ description: 'Maximum batch payload size in bytes.'
42
+ }
29
43
  },
30
44
  perform: (request, { payload, settings }) => {
31
- return (0, utils_1.send)(request, settings, payload);
45
+ return (0, utils_1.sendIdentify)(request, settings, payload);
46
+ },
47
+ performBatch: (request, { settings, payload }) => {
48
+ return (0, utils_1.sendIdentifyBatch)(request, settings, payload);
32
49
  }
33
50
  };
34
51
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/altertable/identify/index.ts"],"names":[],"mappings":";;AAGA,sCAAwC;AACxC,oCAA+B;AAE/B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,gCAAgC;IAC7C,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;aACzC;YACD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,UAAU;SACpB;QACC,MAAM,EAAE;YACR,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;QACD,GAAG,qBAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1C,OAAO,IAAA,YAAI,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/altertable/identify/index.ts"],"names":[],"mappings":";;AAGA,sCAAwC;AACxC,oCAA0D;AAE1D,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,gCAAgC;IAC7C,MAAM,EAAE;QACN,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;QACD,GAAG,qBAAY;QACf,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,yDAAyD;SACvE;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,6CAA6C;SAC3D;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,sCAAsC;SACpD;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1C,OAAO,IAAA,oBAAY,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IACD,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,OAAO,IAAA,yBAAiB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const actions_core_1 = require("@segment/actions-core");
7
+ const alias_1 = __importDefault(require("./alias"));
7
8
  const event_1 = __importDefault(require("./event"));
8
9
  const identify_1 = __importDefault(require("./identify"));
9
10
  const destination = {
@@ -46,6 +47,7 @@ const destination = {
46
47
  };
47
48
  },
48
49
  actions: {
50
+ alias: alias_1.default,
49
51
  event: event_1.default,
50
52
  identify: identify_1.default
51
53
  },
@@ -54,10 +56,7 @@ const destination = {
54
56
  name: 'Track',
55
57
  subscribe: 'type = "track"',
56
58
  partnerAction: 'event',
57
- mapping: {
58
- ...(0, actions_core_1.defaultValues)(event_1.default.fields),
59
- type: 'track'
60
- },
59
+ mapping: (0, actions_core_1.defaultValues)(event_1.default.fields),
61
60
  type: 'automatic'
62
61
  },
63
62
  {
@@ -66,7 +65,7 @@ const destination = {
66
65
  partnerAction: 'event',
67
66
  mapping: {
68
67
  ...(0, actions_core_1.defaultValues)(event_1.default.fields),
69
- type: 'page'
68
+ event: '$pageview'
70
69
  },
71
70
  type: 'automatic'
72
71
  },
@@ -76,7 +75,7 @@ const destination = {
76
75
  partnerAction: 'event',
77
76
  mapping: {
78
77
  ...(0, actions_core_1.defaultValues)(event_1.default.fields),
79
- type: 'screen',
78
+ event: '$screen'
80
79
  },
81
80
  type: 'automatic'
82
81
  },
@@ -84,10 +83,14 @@ const destination = {
84
83
  name: 'Identify',
85
84
  subscribe: 'type = "identify"',
86
85
  partnerAction: 'identify',
87
- mapping: {
88
- ...(0, actions_core_1.defaultValues)(identify_1.default.fields),
89
- type: 'identify'
90
- },
86
+ mapping: (0, actions_core_1.defaultValues)(identify_1.default.fields),
87
+ type: 'automatic'
88
+ },
89
+ {
90
+ name: 'Alias',
91
+ subscribe: 'type = "alias"',
92
+ partnerAction: 'alias',
93
+ mapping: (0, actions_core_1.defaultValues)(alias_1.default.fields),
91
94
  type: 'automatic'
92
95
  }
93
96
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/altertable/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA4E;AAE5E,oDAA2B;AAC3B,0DAAiC;AAEjC,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IACb,WAAW,EACT,mHAAmH;IACrH,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,mCAAmC;gBAChD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,YAAY;aACtB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,gCAAgC;gBAC7C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,2BAA2B;aACrC;SACF;KACF;IACD,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,WAAW,EAAE,QAAQ,CAAC,MAAM;gBAC5B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,KAAK,EAAL,eAAK;QACL,QAAQ,EAAR,kBAAQ;KACT;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,gBAAgB;YAC3B,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE;gBACP,GAAG,IAAA,4BAAa,EAAC,eAAK,CAAC,MAAM,CAAC;gBAC9B,IAAI,EAAE,OAAO;aACd;YACD,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,eAAe;YAC1B,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE;gBACP,GAAG,IAAA,4BAAa,EAAC,eAAK,CAAC,MAAM,CAAC;gBAC9B,IAAI,EAAE,MAAM;aACb;YACD,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,iBAAiB;YAC5B,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE;gBACP,GAAG,IAAA,4BAAa,EAAC,eAAK,CAAC,MAAM,CAAC;gBAC9B,IAAI,EAAE,QAAQ;aACf;YACD,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE,UAAU;YACzB,OAAO,EAAE;gBACP,GAAG,IAAA,4BAAa,EAAC,kBAAQ,CAAC,MAAM,CAAC;gBACjC,IAAI,EAAE,UAAU;aACjB;YACD,IAAI,EAAE,WAAW;SAClB;KACF;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/altertable/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA4E;AAE5E,oDAA2B;AAC3B,oDAA2B;AAC3B,0DAAiC;AAEjC,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IACb,WAAW,EACT,mHAAmH;IACrH,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,mCAAmC;gBAChD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,YAAY;aACtB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,gCAAgC;gBAC7C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,2BAA2B;aACrC;SACF;KACF;IACD,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,WAAW,EAAE,QAAQ,CAAC,MAAM;gBAC5B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,KAAK,EAAL,eAAK;QACL,KAAK,EAAL,eAAK;QACL,QAAQ,EAAR,kBAAQ;KACT;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,gBAAgB;YAC3B,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE,IAAA,4BAAa,EAAC,eAAK,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,eAAe;YAC1B,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE;gBACP,GAAG,IAAA,4BAAa,EAAC,eAAK,CAAC,MAAM,CAAC;gBAC9B,KAAK,EAAE,WAAW;aACnB;YACD,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,iBAAiB;YAC5B,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE;gBACP,GAAG,IAAA,4BAAa,EAAC,eAAK,CAAC,MAAM,CAAC;gBAC9B,KAAK,EAAE,SAAS;aACjB;YACD,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE,UAAU;YACzB,OAAO,EAAE,IAAA,4BAAa,EAAC,kBAAQ,CAAC,MAAM,CAAC;YACvC,IAAI,EAAE,WAAW;SAClB;QACD;YACE,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,gBAAgB;YAC3B,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE,IAAA,4BAAa,EAAC,eAAK,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,WAAW;SAClB;KACF;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -13,7 +13,7 @@ export type IdentifyJSON = BaseJSON & {
13
13
  traits: Context & Record<string, unknown>;
14
14
  };
15
15
  export type Context = {
16
- $ip?: string;
16
+ $ip?: string | number;
17
17
  $url?: string;
18
18
  $referer?: string;
19
19
  $os?: string;
@@ -27,3 +27,6 @@ export type Context = {
27
27
  $lib?: string;
28
28
  $lib_version?: string;
29
29
  };
30
+ export type AliasJSON = BaseJSON & {
31
+ new_user_id: string;
32
+ };
@@ -2,4 +2,14 @@ import { RequestClient } from '@segment/actions-core';
2
2
  import { Settings } from './generated-types';
3
3
  import { Payload as EventPayload } from './event/generated-types';
4
4
  import { Payload as IdentifyPayload } from './identify/generated-types';
5
- export declare function send(request: RequestClient, settings: Settings, payload: EventPayload | IdentifyPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
5
+ import { Payload as AliasPayload } from './alias/generated-types';
6
+ type IdentifyOrEventPayload = EventPayload | IdentifyPayload;
7
+ type ContextFields = NonNullable<IdentifyOrEventPayload['context']>;
8
+ export declare function buildContextProps(context: ContextFields | undefined, channel?: string): Record<string, unknown>;
9
+ export declare function sendTrack(request: RequestClient, settings: Settings, payload: EventPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
10
+ export declare function sendIdentify(request: RequestClient, settings: Settings, payload: IdentifyPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
11
+ export declare function sendTrackBatch(request: RequestClient, settings: Settings, payloads: EventPayload[]): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
12
+ export declare function sendIdentifyBatch(request: RequestClient, settings: Settings, payloads: IdentifyPayload[]): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
13
+ export declare function sendAlias(request: RequestClient, settings: Settings, payload: AliasPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
14
+ export declare function sendAliasBatch(request: RequestClient, settings: Settings, payloads: AliasPayload[]): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
15
+ export {};
@@ -1,63 +1,150 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.send = send;
4
- function send(request, settings, payload) {
5
- const { userId, anonymousId, type, timestamp, context: { ip, url, referrer, os, user_agent, utm_campaign, utm_source, utm_medium, utm_term, utm_content, screen_width, screen_height, library_name, library_version, device_id } = {}, } = payload;
6
- const contextProps = {
7
- ...(ip ? { $ip: ip } : {}),
8
- ...(url ? { $url: url } : {}),
9
- ...(referrer ? { $referer: referrer } : {}),
10
- ...(os ? { $os: os } : {}),
11
- ...(user_agent ? { $user_agent: user_agent } : {}),
12
- ...(utm_campaign ? { $utm_campaign: utm_campaign } : {}),
13
- ...(utm_source ? { $utm_source: utm_source } : {}),
14
- ...(utm_medium ? { $utm_medium: utm_medium } : {}),
15
- ...(utm_term ? { $utm_term: utm_term } : {}),
16
- ...(utm_content ? { $utm_content: utm_content } : {}),
17
- ...(screen_width && screen_height ? { $viewport: `${screen_width}x${screen_height}` } : {}),
18
- ...(library_name ? { $lib: library_name } : { $lib: 'altertable-segment' }),
19
- ...(library_version ? { $lib_version: library_version } : {})
20
- };
21
- const baseJSON = {
22
- environment: settings.environment,
23
- timestamp,
24
- distinct_id: userId || anonymousId,
25
- anonymous_id: userId && userId !== anonymousId ? anonymousId : undefined,
26
- device_id
27
- };
28
- if (type === 'identify') {
29
- const { traits } = payload;
30
- const json = {
31
- ...baseJSON,
32
- traits: {
33
- ...traits,
34
- ...contextProps,
35
- }
36
- };
37
- return request(`${settings.endpoint}/identify`, {
38
- method: 'post',
39
- json
40
- });
3
+ exports.buildContextProps = buildContextProps;
4
+ exports.sendTrack = sendTrack;
5
+ exports.sendIdentify = sendIdentify;
6
+ exports.sendTrackBatch = sendTrackBatch;
7
+ exports.sendIdentifyBatch = sendIdentifyBatch;
8
+ exports.sendAlias = sendAlias;
9
+ exports.sendAliasBatch = sendAliasBatch;
10
+ function contextFields(context) {
11
+ return context;
12
+ }
13
+ function buildContextProps(context, channel) {
14
+ const result = {};
15
+ if (context) {
16
+ const { ip, url, referrer, os, user_agent, utm_campaign, utm_source, utm_medium, utm_term, utm_content, screen_width, screen_height, library_name, library_version } = context;
17
+ if (ip !== undefined && ip !== '') {
18
+ result.$ip = ip;
19
+ }
20
+ if (url) {
21
+ result.$url = url;
22
+ }
23
+ if (referrer) {
24
+ result.$referer = referrer;
25
+ }
26
+ if (os) {
27
+ result.$os = os;
28
+ }
29
+ if (user_agent) {
30
+ result.$user_agent = user_agent;
31
+ }
32
+ if (utm_campaign) {
33
+ result.$utm_campaign = utm_campaign;
34
+ }
35
+ if (utm_source) {
36
+ result.$utm_source = utm_source;
37
+ }
38
+ if (utm_medium) {
39
+ result.$utm_medium = utm_medium;
40
+ }
41
+ if (utm_term) {
42
+ result.$utm_term = utm_term;
43
+ }
44
+ if (utm_content) {
45
+ result.$utm_content = utm_content;
46
+ }
47
+ if (screen_width && screen_height) {
48
+ result.$viewport = `${screen_width}x${screen_height}`;
49
+ }
50
+ result.$lib = library_name || 'altertable-segment';
51
+ if (library_version) {
52
+ result.$lib_version = library_version;
53
+ }
41
54
  }
42
55
  else {
43
- const { properties } = payload;
44
- const event = type === 'page'
45
- ? '$pageview'
46
- : type === 'screen'
47
- ? '$screenview'
48
- : payload.event;
49
- const json = {
50
- ...baseJSON,
51
- event,
52
- properties: {
53
- ...properties,
54
- ...contextProps
55
- }
56
- };
57
- return request(`${settings.endpoint}/track`, {
58
- method: 'post',
59
- json
60
- });
56
+ result.$lib = 'altertable-segment';
57
+ }
58
+ if (channel === 'server' && !('$ip' in result)) {
59
+ result.$ip = 0;
61
60
  }
61
+ return result;
62
+ }
63
+ function buildTrackJSON(settings, payload) {
64
+ const { userId, anonymousId, properties } = payload;
65
+ const channel = payload.channel === 'server' ? 'server' : undefined;
66
+ const contextProps = buildContextProps(contextFields(payload.context), channel);
67
+ const device_id = payload.context?.device_id;
68
+ return {
69
+ environment: settings.environment,
70
+ timestamp: payload.timestamp,
71
+ distinct_id: userId || anonymousId,
72
+ anonymous_id: userId && anonymousId ? anonymousId : undefined,
73
+ device_id,
74
+ event: payload.event,
75
+ properties: {
76
+ ...contextProps,
77
+ ...properties
78
+ }
79
+ };
80
+ }
81
+ function buildIdentifyJSON(settings, payload) {
82
+ const { traits } = payload;
83
+ const channel = payload.channel === 'server' ? 'server' : undefined;
84
+ const contextProps = buildContextProps(contextFields(payload.context), channel);
85
+ const distinctId = payload.userId || payload.anonymousId;
86
+ const anonymousId = payload.userId && payload.userId !== payload.anonymousId ? payload.anonymousId : undefined;
87
+ return {
88
+ environment: settings.environment,
89
+ traits: {
90
+ ...traits,
91
+ ...contextProps
92
+ },
93
+ timestamp: payload.timestamp,
94
+ distinct_id: distinctId,
95
+ anonymous_id: anonymousId,
96
+ device_id: payload.context?.device_id
97
+ };
98
+ }
99
+ function buildAliasJSON(settings, payload) {
100
+ return {
101
+ environment: settings.environment,
102
+ new_user_id: payload.userId,
103
+ timestamp: payload.timestamp,
104
+ distinct_id: payload.previousId,
105
+ device_id: contextFields(payload.context)?.device_id
106
+ };
107
+ }
108
+ function sendTrack(request, settings, payload) {
109
+ const json = buildTrackJSON(settings, payload);
110
+ return request(`${settings.endpoint}/track`, {
111
+ method: 'post',
112
+ json
113
+ });
114
+ }
115
+ function sendIdentify(request, settings, payload) {
116
+ const json = buildIdentifyJSON(settings, payload);
117
+ return request(`${settings.endpoint}/identify`, {
118
+ method: 'post',
119
+ json
120
+ });
121
+ }
122
+ function sendTrackBatch(request, settings, payloads) {
123
+ const json = payloads.map((p) => buildTrackJSON(settings, p));
124
+ return request(`${settings.endpoint}/track`, {
125
+ method: 'post',
126
+ json
127
+ });
128
+ }
129
+ function sendIdentifyBatch(request, settings, payloads) {
130
+ const json = payloads.map((p) => buildIdentifyJSON(settings, p));
131
+ return request(`${settings.endpoint}/identify`, {
132
+ method: 'post',
133
+ json
134
+ });
135
+ }
136
+ function sendAlias(request, settings, payload) {
137
+ const json = buildAliasJSON(settings, payload);
138
+ return request(`${settings.endpoint}/alias`, {
139
+ method: 'post',
140
+ json
141
+ });
142
+ }
143
+ function sendAliasBatch(request, settings, payloads) {
144
+ const json = payloads.map((p) => buildAliasJSON(settings, p));
145
+ return request(`${settings.endpoint}/alias`, {
146
+ method: 'post',
147
+ json
148
+ });
62
149
  }
63
150
  //# sourceMappingURL=utils.js.map