@segment/actions-core 3.8.4-alpha.3 → 3.8.4-canary.16

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 (44) hide show
  1. package/dist/cjs/create-request-client.js +1 -1
  2. package/dist/cjs/create-request-client.js.map +1 -1
  3. package/dist/cjs/create-test-integration.d.ts +3 -0
  4. package/dist/cjs/create-test-integration.js +20 -0
  5. package/dist/cjs/create-test-integration.js.map +1 -1
  6. package/dist/cjs/destination-kit/action.d.ts +12 -7
  7. package/dist/cjs/destination-kit/action.js +31 -1
  8. package/dist/cjs/destination-kit/action.js.map +1 -1
  9. package/dist/cjs/destination-kit/index.d.ts +17 -6
  10. package/dist/cjs/destination-kit/index.js +71 -48
  11. package/dist/cjs/destination-kit/index.js.map +1 -1
  12. package/dist/cjs/destination-kit/types.d.ts +1 -1
  13. package/dist/cjs/mapping-kit/index.d.ts +5 -1
  14. package/dist/cjs/mapping-kit/index.js +15 -2
  15. package/dist/cjs/mapping-kit/index.js.map +1 -1
  16. package/dist/cjs/retry.d.ts +6 -0
  17. package/dist/cjs/retry.js +23 -0
  18. package/dist/cjs/retry.js.map +1 -0
  19. package/dist/cjs/schema-validation.d.ts +6 -1
  20. package/dist/cjs/schema-validation.js +11 -8
  21. package/dist/cjs/schema-validation.js.map +1 -1
  22. package/dist/esm/create-request-client.js +1 -1
  23. package/dist/esm/create-request-client.js.map +1 -1
  24. package/dist/esm/create-test-integration.d.ts +3 -0
  25. package/dist/esm/create-test-integration.js +20 -0
  26. package/dist/esm/create-test-integration.js.map +1 -1
  27. package/dist/esm/destination-kit/action.d.ts +12 -7
  28. package/dist/esm/destination-kit/action.js +32 -2
  29. package/dist/esm/destination-kit/action.js.map +1 -1
  30. package/dist/esm/destination-kit/index.d.ts +17 -6
  31. package/dist/esm/destination-kit/index.js +71 -48
  32. package/dist/esm/destination-kit/index.js.map +1 -1
  33. package/dist/esm/destination-kit/types.d.ts +1 -1
  34. package/dist/esm/mapping-kit/index.d.ts +5 -1
  35. package/dist/esm/mapping-kit/index.js +13 -1
  36. package/dist/esm/mapping-kit/index.js.map +1 -1
  37. package/dist/esm/retry.d.ts +6 -0
  38. package/dist/esm/retry.js +19 -0
  39. package/dist/esm/retry.js.map +1 -0
  40. package/dist/esm/schema-validation.d.ts +6 -1
  41. package/dist/esm/schema-validation.js +11 -8
  42. package/dist/esm/schema-validation.js.map +1 -1
  43. package/dist/tsconfig.build.tsbuildinfo +1 -1
  44. package/package.json +7 -6
@@ -10,7 +10,7 @@ const request_client_1 = __importDefault(require("./request-client"));
10
10
  const baseClient = request_client_1.default({
11
11
  timeout: 10000,
12
12
  headers: {
13
- 'user-agent': 'Segment'
13
+ 'user-agent': 'Segment (Actions)'
14
14
  },
15
15
  beforeRequest: [
16
16
  add_basic_auth_header_1.default
@@ -1 +1 @@
1
- {"version":3,"file":"create-request-client.js","sourceRoot":"","sources":["../../src/create-request-client.ts"],"names":[],"mappings":";;;;;AAAA,8GAAkF;AAClF,kGAAwE;AACxE,oGAA0E;AAC1E,sEAAoF;AAGpF,MAAM,UAAU,GAAG,wBAAc,CAAC;IAChC,OAAO,EAAE,KAAK;IACd,OAAO,EAAE;QACP,YAAY,EAAE,SAAS;KACxB;IACD,aAAa,EAAE;QAEb,+BAAkB;KACnB;IACD,aAAa,EAAE,CAAC,0BAAe,EAAE,yBAAc,CAAC;CACjD,CAAC,CAAA;AAOF,SAAwB,mBAAmB,CAAC,GAAG,cAAmC;IAChF,IAAI,MAAM,GAAG,UAAU,CAAA;IAIvB,KAAK,MAAM,OAAO,IAAI,cAAc,IAAI,EAAE,EAAE;QAC1C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAChC;IAGD,OAAO,CAAiB,GAAW,EAAE,OAAwB,EAAE,EAAE;QAC/D,OAAO,MAAM,CAAyB,GAAG,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC;AAbD,sCAaC"}
1
+ {"version":3,"file":"create-request-client.js","sourceRoot":"","sources":["../../src/create-request-client.ts"],"names":[],"mappings":";;;;;AAAA,8GAAkF;AAClF,kGAAwE;AACxE,oGAA0E;AAC1E,sEAAoF;AAGpF,MAAM,UAAU,GAAG,wBAAc,CAAC;IAChC,OAAO,EAAE,KAAK;IACd,OAAO,EAAE;QACP,YAAY,EAAE,mBAAmB;KAClC;IACD,aAAa,EAAE;QAEb,+BAAkB;KACnB;IACD,aAAa,EAAE,CAAC,0BAAe,EAAE,yBAAc,CAAC;CACjD,CAAC,CAAA;AAOF,SAAwB,mBAAmB,CAAC,GAAG,cAAmC;IAChF,IAAI,MAAM,GAAG,UAAU,CAAA;IAIvB,KAAK,MAAM,OAAO,IAAI,cAAc,IAAI,EAAE,EAAE;QAC1C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAChC;IAGD,OAAO,CAAiB,GAAW,EAAE,OAAwB,EAAE,EAAE;QAC/D,OAAO,MAAM,CAAyB,GAAG,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC;AAbD,sCAaC"}
@@ -14,6 +14,9 @@ declare class TestDestination<T> extends Destination<T> {
14
14
  responses: Destination['responses'];
15
15
  constructor(destination: DestinationDefinition<T>);
16
16
  testAction(action: string, { event, mapping, settings, useDefaultMappings, auth }: InputData<T>): Promise<Destination['responses']>;
17
+ testBatchAction(action: string, { events, mapping, settings, useDefaultMappings, auth }: Omit<InputData<T>, 'event'> & {
18
+ events?: SegmentEvent[];
19
+ }): Promise<Destination['responses']>;
17
20
  }
18
21
  export declare function createTestIntegration<T>(destination: DestinationDefinition<T>): TestDestination<T>;
19
22
  export {};
@@ -26,6 +26,26 @@ class TestDestination extends destination_kit_1.Destination {
26
26
  this.responses = [];
27
27
  return responses;
28
28
  }
29
+ async testBatchAction(action, { events, mapping, settings, useDefaultMappings, auth }) {
30
+ mapping = mapping ?? {};
31
+ if (useDefaultMappings) {
32
+ const fields = this.definition.actions[action].fields;
33
+ const defaultMappings = map_values_1.mapValues(fields, 'default');
34
+ mapping = { ...defaultMappings, ...mapping };
35
+ }
36
+ if (!events || !events.length) {
37
+ events = [{ type: 'track' }];
38
+ }
39
+ await super.executeBatch(action, {
40
+ events: events.map((event) => create_test_event_1.createTestEvent(event)),
41
+ mapping,
42
+ settings: settings ?? {},
43
+ auth
44
+ });
45
+ const responses = this.responses;
46
+ this.responses = [];
47
+ return responses;
48
+ }
29
49
  }
30
50
  function createTestIntegration(destination) {
31
51
  return new TestDestination(destination);
@@ -1 +1 @@
1
- {"version":3,"file":"create-test-integration.js","sourceRoot":"","sources":["../../src/create-test-integration.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AACrD,uDAA+C;AAC/C,6CAAwC;AAgCxC,MAAM,eAAmB,SAAQ,6BAAc;IAG7C,YAAY,WAAqC;QAC/C,KAAK,CAAC,WAAW,CAAC,CAAA;QAHpB,cAAS,GAA6B,EAAE,CAAA;IAIxC,CAAC;IAGD,KAAK,CAAC,UAAU,CACd,MAAc,EACd,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAgB;QAEpE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QAEvB,IAAI,kBAAkB,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;YACrD,MAAM,eAAe,GAAG,sBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACpD,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAgB,CAAA;SAC3D;QAED,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;YAChC,KAAK,EAAE,mCAAe,CAAC,KAAK,CAAC;YAC7B,OAAO;YACP,QAAQ,EAAE,QAAQ,IAAK,EAAQ;YAC/B,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAEnB,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAED,SAAgB,qBAAqB,CAAI,WAAqC;IAC5E,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;AACzC,CAAC;AAFD,sDAEC"}
1
+ {"version":3,"file":"create-test-integration.js","sourceRoot":"","sources":["../../src/create-test-integration.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AACrD,uDAA+C;AAC/C,6CAAwC;AAgCxC,MAAM,eAAmB,SAAQ,6BAAc;IAG7C,YAAY,WAAqC;QAC/C,KAAK,CAAC,WAAW,CAAC,CAAA;QAHpB,cAAS,GAA6B,EAAE,CAAA;IAIxC,CAAC;IAGD,KAAK,CAAC,UAAU,CACd,MAAc,EACd,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAgB;QAEpE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QAEvB,IAAI,kBAAkB,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;YACrD,MAAM,eAAe,GAAG,sBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACpD,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAgB,CAAA;SAC3D;QAED,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;YAChC,KAAK,EAAE,mCAAe,CAAC,KAAK,CAAC;YAC7B,OAAO;YACP,QAAQ,EAAE,QAAQ,IAAK,EAAQ;YAC/B,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAEnB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAA6D;QAElH,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QAEvB,IAAI,kBAAkB,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;YACrD,MAAM,eAAe,GAAG,sBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACpD,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAgB,CAAA;SAC3D;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC7B,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;SAC7B;QAED,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE;YAC/B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAe,CAAC,KAAK,CAAC,CAAC;YACrD,OAAO;YACP,QAAQ,EAAE,QAAQ,IAAK,EAAQ;YAC/B,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAEnB,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAED,SAAgB,qBAAqB,CAAI,WAAqC;IAC5E,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;AACzC,CAAC;AAFD,sDAEC"}
@@ -2,6 +2,7 @@
2
2
  import { EventEmitter } from 'events';
3
3
  import createRequestClient from '../create-request-client';
4
4
  import { JSONLikeObject, JSONObject } from '../json-object';
5
+ import { InputData } from '../mapping-kit';
5
6
  import type { DynamicFieldResponse, InputField, RequestExtension, ExecuteInput, Result } from './types';
6
7
  import type { JSONSchema4 } from 'json-schema';
7
8
  import { AuthTokens } from './parse-settings';
@@ -21,24 +22,28 @@ export interface ActionDefinition<Settings, Payload = any> extends BaseActionDef
21
22
  [K in keyof Payload]?: RequestFn<Settings, Payload, DynamicFieldResponse>;
22
23
  };
23
24
  perform: RequestFn<Settings, Payload>;
25
+ performBatch?: RequestFn<Settings, Payload[]>;
24
26
  }
25
27
  interface ExecuteDynamicFieldInput<Settings, Payload> {
26
28
  settings: Settings;
27
29
  payload: Payload;
28
30
  page?: string;
29
31
  }
32
+ interface ExecuteBundle<T = unknown, Data = unknown> {
33
+ data: Data;
34
+ settings: T;
35
+ mapping: JSONObject;
36
+ auth: AuthTokens | undefined;
37
+ }
30
38
  export declare class Action<Settings, Payload extends JSONLikeObject> extends EventEmitter {
31
39
  readonly definition: ActionDefinition<Settings, Payload>;
32
40
  readonly destinationName: string;
33
41
  readonly schema?: JSONSchema4;
42
+ readonly hasBatchSupport: boolean;
34
43
  private extendRequest;
35
- constructor(destinationName: string, definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings, Payload>);
36
- execute(bundle: {
37
- data: unknown;
38
- settings: Settings;
39
- mapping: JSONObject;
40
- auth: AuthTokens | undefined;
41
- }): Promise<Result[]>;
44
+ constructor(destinationName: string, definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings>);
45
+ execute(bundle: ExecuteBundle<Settings, InputData | undefined>): Promise<Result[]>;
46
+ executeBatch(bundle: ExecuteBundle<Settings, InputData[]>): Promise<void>;
42
47
  executeDynamicField(field: string, data: ExecuteDynamicFieldInput<Settings, Payload>): unknown;
43
48
  private performRequest;
44
49
  private createRequestClient;
@@ -10,12 +10,14 @@ const mapping_kit_1 = require("../mapping-kit");
10
10
  const fields_to_jsonschema_1 = require("./fields-to-jsonschema");
11
11
  const fetch_1 = require("../fetch");
12
12
  const schema_validation_1 = require("../schema-validation");
13
+ const errors_1 = require("../errors");
13
14
  class Action extends events_1.EventEmitter {
14
15
  constructor(destinationName, definition, extendRequest) {
15
16
  super();
16
17
  this.definition = definition;
17
18
  this.destinationName = destinationName;
18
19
  this.extendRequest = extendRequest;
20
+ this.hasBatchSupport = typeof definition.performBatch === 'function';
19
21
  if (Object.keys(definition.fields ?? {}).length) {
20
22
  this.schema = fields_to_jsonschema_1.fieldsToJsonSchema(definition.fields);
21
23
  }
@@ -25,7 +27,8 @@ class Action extends events_1.EventEmitter {
25
27
  const payload = mapping_kit_1.transform(bundle.mapping, bundle.data);
26
28
  results.push({ output: 'Mappings resolved' });
27
29
  if (this.schema) {
28
- schema_validation_1.validateSchema(payload, this.schema, `${this.destinationName}:${this.definition.title}`);
30
+ const schemaKey = `${this.destinationName}:${this.definition.title}`;
31
+ schema_validation_1.validateSchema(payload, this.schema, { schemaKey });
29
32
  results.push({ output: 'Payload validated' });
30
33
  }
31
34
  const dataBundle = {
@@ -39,6 +42,33 @@ class Action extends events_1.EventEmitter {
39
42
  results.push({ output: output });
40
43
  return results;
41
44
  }
45
+ async executeBatch(bundle) {
46
+ if (!this.hasBatchSupport) {
47
+ throw new errors_1.IntegrationError('This action does not support batched requests.', 'NotImplemented', 501);
48
+ }
49
+ let payloads = mapping_kit_1.transformBatch(bundle.mapping, bundle.data);
50
+ if (this.schema) {
51
+ const schema = this.schema;
52
+ const schemaKey = `${this.destinationName}:${this.definition.title}`;
53
+ payloads = payloads.filter((payload) => schema_validation_1.validateSchema(payload, schema, {
54
+ schemaKey,
55
+ throwIfInvalid: false
56
+ }));
57
+ }
58
+ if (payloads.length === 0) {
59
+ return;
60
+ }
61
+ if (this.definition.performBatch) {
62
+ const data = {
63
+ rawData: bundle.data,
64
+ rawMapping: bundle.mapping,
65
+ settings: bundle.settings,
66
+ payload: payloads,
67
+ auth: bundle.auth
68
+ };
69
+ await this.performRequest(this.definition.performBatch, data);
70
+ }
71
+ }
42
72
  executeDynamicField(field, data) {
43
73
  const fn = this.definition.dynamicFields?.[field];
44
74
  if (typeof fn !== 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/destination-kit/action.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAqC;AACrC,qFAA0D;AAE1D,gDAA0C;AAC1C,iEAA2D;AAC3D,oCAAmC;AAKnC,4DAAqD;AA8DrD,MAAa,MAAiD,SAAQ,qBAAY;IAMhF,YACE,eAAuB,EACvB,UAA+C,EAC/C,aAAmD;QAEnD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAGlC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAC/C,IAAI,CAAC,MAAM,GAAG,yCAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SACpD;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAKb;QAEC,MAAM,OAAO,GAAa,EAAE,CAAA;QAG5B,MAAM,OAAO,GAAG,uBAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAY,CAAA;QACjE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAG7C,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,kCAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;YACxF,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAA;SAC9C;QAGD,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,MAAM,CAAC,IAAI;YACpB,UAAU,EAAE,MAAM,CAAC,OAAO;YAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO;YACP,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAA;QAGD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC7E,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAoB,EAAE,CAAC,CAAA;QAE9C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,IAAiD;QAClF,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAA;QACjD,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAC5B,OAAO;gBACL,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE,EAAE;aACf,CAAA;SACF;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;IAOO,KAAK,CAAC,cAAc,CAC1B,SAAuC,EACvC,IAAqC;QAErC,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QACrD,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IAEO,mBAAmB,CAAC,IAAqC;QAE/D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAChD,OAAO,+BAAmB,CAAC,OAAO,EAAE;YAClC,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/C,CAAC,CAAA;IACJ,CAAC;IAGO,aAAa,CAAC,OAAgB,EAAE,OAA0B,EAAE,QAAkB;QAGpF,MAAM,gBAAgB,GAAQ,QAAQ,CAAA;QACtC,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAA;QAClC,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAA;QAElC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;QACvC,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAEO,aAAa,CAAC,QAAiB;QAKrC,IAAI,QAAQ,YAAY,gBAAQ,EAAE;YAChC,OAAQ,QAA6B,CAAC,IAAI,IAAK,QAA6B,CAAC,OAAO,CAAA;SACrF;QAGD,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAnHD,wBAmHC"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/destination-kit/action.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,6 @@ export interface SubscriptionStats {
16
16
  destination: string;
17
17
  action: string;
18
18
  subscribe: string;
19
- state: string;
20
19
  input: JSONLikeObject;
21
20
  output: Result[] | null;
22
21
  }
@@ -81,10 +80,20 @@ interface EventInput<Settings> {
81
80
  readonly settings: Settings;
82
81
  readonly auth?: AuthTokens;
83
82
  }
83
+ interface BatchEventInput<Settings> {
84
+ readonly events: SegmentEvent[];
85
+ readonly mapping: JSONObject;
86
+ readonly settings: Settings;
87
+ readonly auth?: AuthTokens;
88
+ }
84
89
  export interface DecoratedResponse extends ModifiedResponse {
85
90
  request: Request;
86
91
  options: AllRequestOptions;
87
92
  }
93
+ interface OnEventOptions {
94
+ onTokenRefresh?: (tokens: RefreshAccessTokenResult) => void;
95
+ onComplete?: (stats: SubscriptionStats) => void;
96
+ }
88
97
  export declare class Destination<Settings = JSONObject> {
89
98
  readonly definition: DestinationDefinition<Settings>;
90
99
  readonly name: string;
@@ -94,16 +103,18 @@ export declare class Destination<Settings = JSONObject> {
94
103
  readonly responses: DecoratedResponse[];
95
104
  readonly settingsSchema?: JSONSchema4;
96
105
  constructor(destination: DestinationDefinition<Settings>);
106
+ validateSettings(settings: Settings): void;
97
107
  testAuthentication(settings: Settings): Promise<void>;
98
108
  refreshAccessToken(settings: Settings, oauthData: OAuth2ClientCredentials): Promise<RefreshAccessTokenResult> | undefined;
99
109
  private partnerAction;
100
110
  protected executeAction(actionSlug: string, { event, mapping, settings, auth }: EventInput<Settings>): Promise<Result[]>;
111
+ executeBatch(actionSlug: string, { events, mapping, settings, auth }: BatchEventInput<Settings>): Promise<{
112
+ output: string;
113
+ }[]>;
101
114
  private onSubscription;
102
- onEvent(event: SegmentEvent, settings: JSONObject, options?: {
103
- onTokenRefresh?: (tokens: RefreshAccessTokenResult) => void;
104
- onComplete?: (stats: SubscriptionStats) => void;
105
- }): Promise<Result[]>;
106
- private onEventInternal;
115
+ onEvent(event: SegmentEvent, settings: JSONObject, options?: OnEventOptions): Promise<Result[]>;
116
+ onBatch(events: SegmentEvent[], settings: JSONObject, options?: OnEventOptions): Promise<Result[]>;
117
+ private onSubscriptions;
107
118
  private getSubscriptions;
108
119
  private getDestinationSettings;
109
120
  }
@@ -13,7 +13,7 @@ const create_request_client_1 = __importDefault(require("../create-request-clien
13
13
  const schema_validation_1 = require("../schema-validation");
14
14
  const errors_1 = require("../errors");
15
15
  const parse_settings_1 = require("./parse-settings");
16
- const RETRY_ATTEMPTS = 2;
16
+ const retry_1 = require("../retry");
17
17
  const OAUTH2_SCHEME = 'oauth2';
18
18
  class Destination {
19
19
  constructor(destination) {
@@ -30,14 +30,25 @@ class Destination {
30
30
  this.partnerAction(action, destination.actions[action]);
31
31
  }
32
32
  }
33
+ validateSettings(settings) {
34
+ if (this.settingsSchema) {
35
+ try {
36
+ schema_validation_1.validateSchema(settings, this.settingsSchema, { schemaKey: `${this.name}:settings` });
37
+ }
38
+ catch (error) {
39
+ if (error.name === 'AggregateAjvError' || error.name === 'ValidationError') {
40
+ error.status = 400;
41
+ }
42
+ throw error;
43
+ }
44
+ }
45
+ }
33
46
  async testAuthentication(settings) {
34
47
  const destinationSettings = this.getDestinationSettings(settings);
35
48
  const auth = parse_settings_1.getAuthData(settings);
36
49
  const data = { settings: destinationSettings, auth };
37
- const context = { settings: destinationSettings, payload: {}, auth };
38
- if (this.settingsSchema) {
39
- schema_validation_1.validateSchema(settings, this.settingsSchema, `${this.name}:settings`);
40
- }
50
+ const context = { settings: destinationSettings, payload: undefined, auth };
51
+ this.validateSettings(destinationSettings);
41
52
  if (!this.authentication?.testAuthentication) {
42
53
  return;
43
54
  }
@@ -56,7 +67,7 @@ class Destination {
56
67
  }
57
68
  const context = {
58
69
  settings,
59
- payload: {},
70
+ payload: undefined,
60
71
  auth: parse_settings_1.getAuthData(settings)
61
72
  };
62
73
  const options = this.extendRequest?.(context) ?? {};
@@ -76,10 +87,10 @@ class Destination {
76
87
  this.actions[slug] = action;
77
88
  return this;
78
89
  }
79
- executeAction(actionSlug, { event, mapping, settings, auth }) {
90
+ async executeAction(actionSlug, { event, mapping, settings, auth }) {
80
91
  const action = this.actions[actionSlug];
81
92
  if (!action) {
82
- return Promise.resolve([]);
93
+ return [];
83
94
  }
84
95
  return action.execute({
85
96
  mapping,
@@ -88,41 +99,53 @@ class Destination {
88
99
  auth
89
100
  });
90
101
  }
91
- async onSubscription(subscription, event, settings, auth, onComplete) {
102
+ async executeBatch(actionSlug, { events, mapping, settings, auth }) {
103
+ const action = this.actions[actionSlug];
104
+ if (!action) {
105
+ return [];
106
+ }
107
+ await action.executeBatch({
108
+ mapping,
109
+ data: events,
110
+ settings,
111
+ auth
112
+ });
113
+ return [{ output: 'successfully processed batch of events' }];
114
+ }
115
+ async onSubscription(subscription, events, settings, auth, onComplete) {
92
116
  const subscriptionStartedAt = time_1.time();
93
117
  const actionSlug = subscription.partnerAction;
94
118
  const input = {
95
- event,
96
119
  mapping: subscription.mapping || {},
97
120
  settings,
98
121
  auth
99
122
  };
100
- let state = 'pending';
101
123
  let results = null;
102
124
  try {
103
125
  if (!subscription.subscribe || typeof subscription.subscribe !== 'string') {
104
- state = 'skipped';
105
126
  results = [{ output: 'invalid subscription' }];
106
127
  return results;
107
128
  }
108
129
  const parsedSubscription = destination_subscriptions_1.parseFql(subscription.subscribe);
109
130
  if (parsedSubscription.error) {
110
- state = 'skipped';
111
131
  results = [{ output: `invalid subscription : ${parsedSubscription.error.message}` }];
112
132
  return results;
113
133
  }
114
- const isSubscribed = destination_subscriptions_1.validate(parsedSubscription, event);
115
- if (!isSubscribed) {
116
- state = 'skipped';
134
+ const isBatch = Array.isArray(events);
135
+ const allEvents = (isBatch ? events : [events]);
136
+ const subscribedEvents = allEvents.filter((event) => destination_subscriptions_1.validate(parsedSubscription, event));
137
+ if (subscribedEvents.length === 0) {
117
138
  results = [{ output: 'not subscribed' }];
118
139
  return results;
119
140
  }
120
- results = await this.executeAction(actionSlug, input);
121
- state = 'done';
122
- return results;
141
+ else if (isBatch) {
142
+ return await this.executeBatch(actionSlug, { ...input, events: subscribedEvents });
143
+ }
144
+ else {
145
+ return await this.executeAction(actionSlug, { ...input, event: subscribedEvents[0] });
146
+ }
123
147
  }
124
148
  catch (error) {
125
- state = 'errored';
126
149
  results = [{ error }];
127
150
  if (error.name === 'AggregateAjvError' || error.name === 'ValidationError') {
128
151
  error.status = 400;
@@ -137,9 +160,8 @@ class Destination {
137
160
  destination: this.name,
138
161
  action: actionSlug,
139
162
  subscribe: subscription.subscribe,
140
- state,
141
163
  input: {
142
- event: input.event,
164
+ data: events,
143
165
  mapping: input.mapping,
144
166
  settings: input.settings
145
167
  },
@@ -147,35 +169,36 @@ class Destination {
147
169
  });
148
170
  }
149
171
  }
150
- async onEvent(event, settings, options) {
151
- for (let i = 0; i < RETRY_ATTEMPTS; i++) {
152
- try {
153
- return await this.onEventInternal(event, settings, options?.onComplete);
154
- }
155
- catch (error) {
156
- const statusCode = error?.status ?? error?.response?.status ?? 500;
157
- if (!(statusCode === 401 && this.authentication?.scheme === OAUTH2_SCHEME)) {
158
- throw error;
159
- }
160
- const destinationSettings = this.getDestinationSettings(settings);
161
- const oauthSettings = parse_settings_1.getOAuth2Data(settings);
162
- const newTokens = await this.refreshAccessToken(destinationSettings, oauthSettings);
163
- if (!newTokens) {
164
- throw new errors_1.InvalidAuthenticationError('Failed to refresh access token');
165
- }
166
- settings = parse_settings_1.updateOAuthSettings(settings, newTokens);
167
- options?.onTokenRefresh?.(newTokens);
168
- }
169
- }
170
- throw new errors_1.InvalidAuthenticationError();
172
+ onEvent(event, settings, options) {
173
+ return this.onSubscriptions(event, settings, options);
174
+ }
175
+ onBatch(events, settings, options) {
176
+ return this.onSubscriptions(events, settings, options);
171
177
  }
172
- async onEventInternal(event, settings, onComplete) {
178
+ async onSubscriptions(data, settings, options) {
173
179
  const subscriptions = this.getSubscriptions(settings);
174
180
  const destinationSettings = this.getDestinationSettings(settings);
175
- const authData = parse_settings_1.getAuthData(settings);
176
- const promises = subscriptions.map((subscription) => this.onSubscription(subscription, event, destinationSettings, authData, onComplete));
177
- const results = await Promise.all(promises);
178
- return [].concat(...results);
181
+ this.validateSettings(destinationSettings);
182
+ const run = async () => {
183
+ const authData = parse_settings_1.getAuthData(settings);
184
+ const promises = subscriptions.map((subscription) => this.onSubscription(subscription, data, destinationSettings, authData, options?.onComplete));
185
+ const results = await Promise.all(promises);
186
+ return [].concat(...results);
187
+ };
188
+ const onFailedAttempt = async (error) => {
189
+ const statusCode = error?.status ?? error?.response?.status ?? 500;
190
+ if (!(statusCode === 401 && this.authentication?.scheme === OAUTH2_SCHEME)) {
191
+ throw error;
192
+ }
193
+ const oauthSettings = parse_settings_1.getOAuth2Data(settings);
194
+ const newTokens = await this.refreshAccessToken(destinationSettings, oauthSettings);
195
+ if (!newTokens) {
196
+ throw new errors_1.InvalidAuthenticationError('Failed to refresh access token');
197
+ }
198
+ settings = parse_settings_1.updateOAuthSettings(settings, newTokens);
199
+ options?.onTokenRefresh?.(newTokens);
200
+ };
201
+ return await retry_1.retry(run, { retries: 2, onFailedAttempt });
179
202
  }
180
203
  getSubscriptions(settings) {
181
204
  const { subscription, subscriptions } = settings;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destination-kit/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destination-kit/index.ts"],"names":[],"mappings":"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"}
@@ -72,4 +72,4 @@ export interface PathDirective {
72
72
  '@path': string;
73
73
  }
74
74
  export declare type Directive = IfDirective | TemplateDirective | PathDirective;
75
- export declare type RequestExtension<Settings, Payload = unknown> = (data: ExecuteInput<Settings, Payload>) => RequestOptions;
75
+ export declare type RequestExtension<Settings, Payload = undefined> = (data: ExecuteInput<Settings, Payload>) => RequestOptions;
@@ -1,2 +1,6 @@
1
1
  import { JSONObject, JSONLikeObject } from '../json-object';
2
- export declare function transform(mapping: JSONLikeObject, data?: unknown): JSONObject;
2
+ export declare type InputData = {
3
+ [key: string]: unknown;
4
+ };
5
+ export declare function transform(mapping: JSONLikeObject, data?: InputData | undefined): JSONObject;
6
+ export declare function transformBatch(mapping: JSONLikeObject, data?: Array<InputData> | undefined): JSONObject[];
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.transform = void 0;
6
+ exports.transformBatch = exports.transform = void 0;
7
7
  const get_1 = require("../get");
8
8
  const is_directive_1 = require("./is-directive");
9
9
  const placeholders_1 = require("./placeholders");
@@ -83,7 +83,7 @@ function resolve(mapping, payload) {
83
83
  function transform(mapping, data = {}) {
84
84
  const realType = real_type_of_1.realTypeOf(data);
85
85
  if (realType !== 'object') {
86
- throw new Error(`payload must be an object, got ${realType}`);
86
+ throw new Error(`data must be an object, got ${realType}`);
87
87
  }
88
88
  validate_1.default(mapping);
89
89
  const cloned = cloneJson(mapping);
@@ -92,6 +92,19 @@ function transform(mapping, data = {}) {
92
92
  return cleaned;
93
93
  }
94
94
  exports.transform = transform;
95
+ function transformBatch(mapping, data = []) {
96
+ const realType = real_type_of_1.realTypeOf(data);
97
+ if (!real_type_of_1.isArray(data)) {
98
+ throw new Error(`data must be an array, got ${realType}`);
99
+ }
100
+ validate_1.default(mapping);
101
+ return remove_undefined_1.removeUndefined(data.map((d) => {
102
+ const cloned = cloneJson(mapping);
103
+ const resolved = resolve(cloned, d);
104
+ return resolved;
105
+ }));
106
+ }
107
+ exports.transformBatch = transformBatch;
95
108
  function cloneJson(obj) {
96
109
  return JSON.parse(JSON.stringify(obj));
97
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface RetryOptions {
2
+ retries?: number;
3
+ onFailedAttempt?: (error: any, attemptCount: number) => PromiseLike<void> | void;
4
+ }
5
+ export declare function retry<T>(input: (attemptCount: number) => PromiseLike<T> | T, options?: RetryOptions): Promise<T>;
6
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.retry = void 0;
4
+ const DEFAULT_RETRY_ATTEMPTS = 2;
5
+ async function retry(input, options) {
6
+ const retries = options?.retries ?? DEFAULT_RETRY_ATTEMPTS;
7
+ for (let attemptCount = 1; attemptCount <= retries; attemptCount++) {
8
+ try {
9
+ return await input(attemptCount);
10
+ }
11
+ catch (error) {
12
+ if (options?.onFailedAttempt) {
13
+ await options.onFailedAttempt(error, attemptCount);
14
+ }
15
+ if (!error || attemptCount >= retries) {
16
+ throw error;
17
+ }
18
+ }
19
+ }
20
+ throw new Error('Exhausted all retries.');
21
+ }
22
+ exports.retry = retry;
23
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":";;;AAMA,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAEzB,KAAK,UAAU,KAAK,CACzB,KAAmD,EACnD,OAAsB;IAEtB,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,sBAAsB,CAAA;IAE1D,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,OAAO,EAAE,YAAY,EAAE,EAAE;QAClE,IAAI;YACF,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,CAAA;SACjC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,OAAO,EAAE,eAAe,EAAE;gBAC5B,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;aACnD;YAGD,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,OAAO,EAAE;gBACrC,MAAM,KAAK,CAAA;aACZ;SACF;KACF;IAGD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;AAC3C,CAAC;AAvBD,sBAuBC"}
@@ -1 +1,6 @@
1
- export declare function validateSchema(obj: unknown, schema: object, schemaKey?: string): void;
1
+ interface ValidationOptions {
2
+ schemaKey?: string;
3
+ throwIfInvalid?: boolean;
4
+ }
5
+ export declare function validateSchema(obj: unknown, schema: object, options?: ValidationOptions): boolean;
6
+ export {};