@segment/action-destinations 3.408.0 → 3.410.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 (75) hide show
  1. package/dist/destinations/aampe/constants.d.ts +1 -0
  2. package/dist/destinations/aampe/constants.js +5 -0
  3. package/dist/destinations/aampe/constants.js.map +1 -0
  4. package/dist/destinations/aampe/fields.d.ts +8 -0
  5. package/dist/destinations/aampe/fields.js +71 -0
  6. package/dist/destinations/aampe/fields.js.map +1 -0
  7. package/dist/destinations/aampe/generated-types.d.ts +4 -0
  8. package/dist/destinations/aampe/generated-types.js.map +1 -0
  9. package/dist/destinations/{eagleeye → aampe}/index.d.ts +1 -1
  10. package/dist/destinations/aampe/index.js +64 -0
  11. package/dist/destinations/aampe/index.js.map +1 -0
  12. package/dist/destinations/aampe/sendEvent/generated-types.d.ts +10 -0
  13. package/dist/destinations/aampe/sendEvent/generated-types.js.map +1 -0
  14. package/dist/destinations/aampe/sendEvent/index.js +33 -0
  15. package/dist/destinations/aampe/sendEvent/index.js.map +1 -0
  16. package/dist/destinations/aampe/types.d.ts +11 -0
  17. package/dist/destinations/aampe/types.js.map +1 -0
  18. package/dist/destinations/aampe/upsertUserProfile/generated-types.d.ts +12 -0
  19. package/dist/destinations/aampe/upsertUserProfile/generated-types.js +3 -0
  20. package/dist/destinations/aampe/upsertUserProfile/generated-types.js.map +1 -0
  21. package/dist/destinations/aampe/upsertUserProfile/index.d.ts +5 -0
  22. package/dist/destinations/aampe/upsertUserProfile/index.js +40 -0
  23. package/dist/destinations/aampe/upsertUserProfile/index.js.map +1 -0
  24. package/dist/destinations/attentive/customEvents/index.js +1 -1
  25. package/dist/destinations/attentive/customEvents/index.js.map +1 -1
  26. package/dist/destinations/attentive/index.js +2 -2
  27. package/dist/destinations/braze-cohorts/api/index.js +6 -1
  28. package/dist/destinations/braze-cohorts/api/index.js.map +1 -1
  29. package/dist/destinations/braze-cohorts/syncAudiences/index.js +65 -6
  30. package/dist/destinations/braze-cohorts/syncAudiences/index.js.map +1 -1
  31. package/dist/destinations/eagleeye-audiences/generated-types.d.ts +7 -0
  32. package/dist/destinations/eagleeye-audiences/generated-types.js +3 -0
  33. package/dist/destinations/eagleeye-audiences/generated-types.js.map +1 -0
  34. package/dist/destinations/eagleeye-audiences/index.d.ts +4 -0
  35. package/dist/destinations/eagleeye-audiences/index.js +62 -0
  36. package/dist/destinations/eagleeye-audiences/index.js.map +1 -0
  37. package/dist/destinations/eagleeye-audiences/triggerBehavioralAction/generated-types.js +3 -0
  38. package/dist/destinations/eagleeye-audiences/triggerBehavioralAction/generated-types.js.map +1 -0
  39. package/dist/destinations/eagleeye-audiences/triggerBehavioralAction/index.d.ts +5 -0
  40. package/dist/destinations/{eagleeye → eagleeye-audiences}/triggerBehavioralAction/index.js +9 -3
  41. package/dist/destinations/eagleeye-audiences/triggerBehavioralAction/index.js.map +1 -0
  42. package/dist/destinations/eagleeye-audiences/triggerBehavioralAction/types.js +3 -0
  43. package/dist/destinations/eagleeye-audiences/triggerBehavioralAction/types.js.map +1 -0
  44. package/dist/destinations/index.js +2 -1
  45. package/dist/destinations/index.js.map +1 -1
  46. package/dist/destinations/singlestore/generated-types.d.ts +2 -2
  47. package/dist/destinations/singlestore/index.js +46 -58
  48. package/dist/destinations/singlestore/index.js.map +1 -1
  49. package/dist/destinations/singlestore/send/generated-types.d.ts +17 -2
  50. package/dist/destinations/singlestore/send/index.js +118 -62
  51. package/dist/destinations/singlestore/send/index.js.map +1 -1
  52. package/dist/destinations/singlestore/send/utils.d.ts +5 -0
  53. package/dist/destinations/singlestore/send/utils.js +64 -0
  54. package/dist/destinations/singlestore/send/utils.js.map +1 -0
  55. package/dist/destinations/singlestore/types.d.ts +23 -37
  56. package/package.json +2 -2
  57. package/dist/destinations/eagleeye/generated-types.d.ts +0 -4
  58. package/dist/destinations/eagleeye/generated-types.js.map +0 -1
  59. package/dist/destinations/eagleeye/index.js +0 -35
  60. package/dist/destinations/eagleeye/index.js.map +0 -1
  61. package/dist/destinations/eagleeye/triggerBehavioralAction/generated-types.js.map +0 -1
  62. package/dist/destinations/eagleeye/triggerBehavioralAction/index.js.map +0 -1
  63. package/dist/destinations/eagleeye/triggerBehavioralAction/types.js.map +0 -1
  64. package/dist/destinations/singlestore/const.d.ts +0 -5
  65. package/dist/destinations/singlestore/const.js +0 -17
  66. package/dist/destinations/singlestore/const.js.map +0 -1
  67. package/dist/destinations/singlestore/util.d.ts +0 -10
  68. package/dist/destinations/singlestore/util.js +0 -88
  69. package/dist/destinations/singlestore/util.js.map +0 -1
  70. /package/dist/destinations/{eagleeye → aampe}/generated-types.js +0 -0
  71. /package/dist/destinations/{eagleeye/triggerBehavioralAction → aampe/sendEvent}/generated-types.js +0 -0
  72. /package/dist/destinations/{eagleeye/triggerBehavioralAction → aampe/sendEvent}/index.d.ts +0 -0
  73. /package/dist/destinations/{eagleeye/triggerBehavioralAction → aampe}/types.js +0 -0
  74. /package/dist/destinations/{eagleeye → eagleeye-audiences}/triggerBehavioralAction/generated-types.d.ts +0 -0
  75. /package/dist/destinations/{eagleeye → eagleeye-audiences}/triggerBehavioralAction/types.d.ts +0 -0
@@ -1,37 +1,23 @@
1
- export interface SingleStoreCreateJSON {
2
- host: string;
3
- port: number;
4
- username: string;
5
- password: string;
6
- dbName: string;
7
- destinationIdentifier: string;
8
- noRollbackOnFailure: boolean;
9
- kafkaUsername: string;
10
- kafkaPassword: string;
11
- kafkaTopic: string;
12
- }
13
- export interface SingleStoreMessage {
14
- type: string;
15
- event: string;
16
- timestamp: string;
17
- messageId: string;
18
- message: string;
19
- }
20
- export interface GetDatabaseJSON {
21
- destinationIdentifier: string;
22
- }
23
- export interface GetDatabaseResponse {
24
- kafkaUserName: string;
25
- kafkaPassword: string;
26
- kafkaTopic: string;
27
- }
28
- export interface MaybeTimeoutError {
29
- response: {
30
- data: {
31
- error: {
32
- message: string;
33
- code: string;
34
- };
35
- };
36
- };
37
- }
1
+ export type ExecJSONRequest = {
2
+ sql: string;
3
+ database: string;
4
+ args?: FlattenedArgs;
5
+ };
6
+ export type ExecJSONResponse = {
7
+ ok?: boolean;
8
+ error?: string;
9
+ };
10
+ export type FlatArgsTuple = [
11
+ string,
12
+ string,
13
+ string,
14
+ string | null,
15
+ string | null,
16
+ Record<string, unknown> | null,
17
+ string | null,
18
+ string | null,
19
+ string | null,
20
+ Record<string, unknown> | null,
21
+ Record<string, unknown> | null
22
+ ];
23
+ export type FlattenedArgs = FlatArgsTuple[number][];
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.408.0",
4
+ "version": "3.410.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -90,5 +90,5 @@
90
90
  "__tests__/__helpers__/"
91
91
  ]
92
92
  },
93
- "gitHead": "f4b922ee40f46863ed4a12cad5fba5df0c328a87"
93
+ "gitHead": "0fe5ba41f2f42ab5176e2fb3ad3ff3bde5274f57"
94
94
  }
@@ -1,4 +0,0 @@
1
- export interface Settings {
2
- connectorUrl: string;
3
- externalKey: string;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../src/destinations/eagleeye/generated-types.ts"],"names":[],"mappings":""}
@@ -1,35 +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 triggerBehavioralAction_1 = __importDefault(require("./triggerBehavioralAction"));
7
- const destination = {
8
- name: 'Eagle Eye (Actions)',
9
- slug: 'eagleeye-actions',
10
- mode: 'cloud',
11
- description: 'Trigger Behavioral Actions in Eagle Eye AIR based on Segment events to provide rewards for your customers',
12
- authentication: {
13
- scheme: 'custom',
14
- fields: {
15
- connectorUrl: {
16
- label: 'Connector URL',
17
- description: 'Eagle Eye URL of the Segment connector provided by your EagleEye CSM',
18
- type: 'string',
19
- format: 'uri',
20
- required: true
21
- },
22
- externalKey: {
23
- label: 'Connector External Key',
24
- description: 'Key to authenticate with the connector provided by your EagleEye CSM',
25
- type: 'password',
26
- required: true
27
- }
28
- }
29
- },
30
- actions: {
31
- triggerBehavioralAction: triggerBehavioralAction_1.default
32
- }
33
- };
34
- exports.default = destination;
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/eagleeye/index.ts"],"names":[],"mappings":";;;;;AAGA,wFAA+D;AAE/D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,OAAO;IACb,WAAW,EACT,2GAA2G;IAE7G,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,YAAY,EAAE;gBACZ,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,sEAAsE;gBACnF,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,IAAI;aACf;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,sEAAsE;gBACnF,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD,OAAO,EAAE;QACP,uBAAuB,EAAvB,iCAAuB;KACxB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/eagleeye/triggerBehavioralAction/generated-types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/eagleeye/triggerBehavioralAction/index.ts"],"names":[],"mappings":";;AAKA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,2BAA2B;IAClC,WAAW,EAAE,2DAA2D;IACxE,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,aAAa,EAAE;YACb,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;YACnE,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;YACD,QAAQ,EAAE,IAAI;SACf;QACD,0BAA0B,EAAE;YAC1B,KAAK,EAAE,8BAA8B;YACrC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wFAAwF;SACtG;QACD,iCAAiC,EAAE;YACjC,KAAK,EAAE,qCAAqC;YAC5C,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,iHAAiH;YACnH,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,iBAAiB,GAAG,OAAO,CAAC,iCAAiC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAElG,MAAM,uBAAuB,GAA4B;YACvD,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE;gBACJ,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,iBAAiB,EAAE,OAAO,CAAC,0BAA0B;oBACnD,CAAC,CAAC;wBACE,SAAS,EAAE,OAAO,CAAC,0BAA0B;qBAC9C;oBACH,CAAC,CAAC,SAAS;gBACb,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBACrD,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAC;aACJ;SACF,CAAA;QAED,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,QAAQ,CAAC,WAAW;aACrC;YACD,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/eagleeye/triggerBehavioralAction/types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export declare const createUrl = "https://xl8i974eyd.execute-api.us-east-1.amazonaws.com/prod/?action=create";
2
- export declare const getDatabaseURL = "https://xl8i974eyd.execute-api.us-east-1.amazonaws.com/prod/?action=get";
3
- export declare const CLIENT_ID = "singlestore_segment_destination";
4
- export declare const STAGE_BROKERS: string[];
5
- export declare const PROD_BROKERS: string[];
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PROD_BROKERS = exports.STAGE_BROKERS = exports.CLIENT_ID = exports.getDatabaseURL = exports.createUrl = void 0;
4
- exports.createUrl = 'https://xl8i974eyd.execute-api.us-east-1.amazonaws.com/prod/?action=create';
5
- exports.getDatabaseURL = 'https://xl8i974eyd.execute-api.us-east-1.amazonaws.com/prod/?action=get';
6
- exports.CLIENT_ID = 'singlestore_segment_destination';
7
- exports.STAGE_BROKERS = [
8
- 'b-3-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196',
9
- 'b-2-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196',
10
- 'b-1-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196'
11
- ];
12
- exports.PROD_BROKERS = [
13
- 'b-3-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196',
14
- 'b-2-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196',
15
- 'b-1-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196'
16
- ];
17
- //# sourceMappingURL=const.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/destinations/singlestore/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,4EAA4E,CAAA;AAExF,QAAA,cAAc,GAAG,yEAAyE,CAAA;AAE1F,QAAA,SAAS,GAAG,iCAAiC,CAAA;AAE7C,QAAA,aAAa,GAAG;IAC3B,gFAAgF;IAChF,gFAAgF;IAChF,gFAAgF;CACjF,CAAA;AAEY,QAAA,YAAY,GAAG;IAC1B,gFAAgF;IAChF,gFAAgF;IAChF,gFAAgF;CACjF,CAAA"}
@@ -1,10 +0,0 @@
1
- import { Settings } from './generated-types';
2
- import { KafkaConfig, ProducerRecord } from 'kafkajs';
3
- export declare const checkChamber: () => void;
4
- export declare const encryptText: (inputData: string) => string;
5
- export declare const destinationId: (settings: Settings) => string;
6
- export declare const getKafkaConfiguration: (settings: Settings) => {
7
- kafkaConfig: KafkaConfig;
8
- kafkaTopic: string;
9
- };
10
- export declare const getProducerRecord: (kafkaTopic: string, message: unknown) => ProducerRecord;
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getProducerRecord = exports.getKafkaConfiguration = exports.destinationId = exports.encryptText = exports.checkChamber = void 0;
27
- const crypto = __importStar(require("crypto"));
28
- const const_1 = require("./const");
29
- const actions_core_1 = require("@segment/actions-core");
30
- const crypto_1 = require("crypto");
31
- const checkChamber = () => {
32
- if (!process.env.ACTIONS_SINGLE_STORE_ENCRYPTION_KEY) {
33
- throw new actions_core_1.IntegrationError('Missing SingleStore ENCRYPTION_KEY', 'MISSING_REQUIRED_FIELD', 400);
34
- }
35
- if (!process.env.ACTIONS_SINGLE_STORE_X_SECURITY_KEY) {
36
- throw new actions_core_1.IntegrationError('Missing SingleStore X_SECURITY_KEY', 'MISSING_REQUIRED_FIELD', 400);
37
- }
38
- if (!process.env.ACTIONS_SINGLE_STORE_IV) {
39
- throw new actions_core_1.IntegrationError('Missing SingleStore IV', 'MISSING_REQUIRED_FIELD', 400);
40
- }
41
- };
42
- exports.checkChamber = checkChamber;
43
- const encryptText = (inputData) => {
44
- const keyBuffer = Buffer.from(process.env.ACTIONS_SINGLE_STORE_ENCRYPTION_KEY, 'hex');
45
- const ivBuffer = Buffer.from(process.env.ACTIONS_SINGLE_STORE_IV, 'hex');
46
- const cipher = crypto.createCipheriv('aes-256-cbc', keyBuffer, ivBuffer);
47
- let encryptedData = cipher.update(inputData, 'utf8', 'hex');
48
- encryptedData += cipher.final('hex');
49
- return encryptedData;
50
- };
51
- exports.encryptText = encryptText;
52
- const databaseUri = (settings) => {
53
- return `${settings.username}@${settings.host}:${settings.port}/${settings.dbName}`;
54
- };
55
- const destinationId = (settings) => {
56
- return (0, crypto_1.createHash)('sha256').update(databaseUri(settings)).digest('hex');
57
- };
58
- exports.destinationId = destinationId;
59
- const getKafkaConfiguration = (settings) => {
60
- const destination_id = (0, exports.destinationId)(settings);
61
- const kafkaTopic = (0, crypto_1.createHash)('sha256').update(destination_id).digest('hex');
62
- const kafkaUsername = (0, crypto_1.createHash)('sha256').update(`${destination_id}_user`).digest('hex');
63
- const kafkaPassword = (0, exports.encryptText)(kafkaUsername);
64
- const kafkaConfig = {
65
- clientId: const_1.CLIENT_ID,
66
- brokers: settings.environment === 'Prod' ? const_1.PROD_BROKERS : const_1.STAGE_BROKERS,
67
- sasl: {
68
- username: kafkaUsername,
69
- password: kafkaPassword,
70
- mechanism: 'scram-sha-512'
71
- },
72
- ssl: true
73
- };
74
- return { kafkaConfig, kafkaTopic };
75
- };
76
- exports.getKafkaConfiguration = getKafkaConfiguration;
77
- const getProducerRecord = (kafkaTopic, message) => {
78
- return {
79
- topic: kafkaTopic,
80
- messages: [
81
- {
82
- value: JSON.stringify(message)
83
- }
84
- ]
85
- };
86
- };
87
- exports.getProducerRecord = getProducerRecord;
88
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/destinations/singlestore/util.ts"],"names":[],"mappings":"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"}