@segment/actions-core 2.3.2-alpha.0 → 2.3.2-alpha.1

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 (43) hide show
  1. package/dist/cjs/destination-kit/action.d.ts +18 -20
  2. package/dist/cjs/destination-kit/action.js +46 -114
  3. package/dist/cjs/destination-kit/action.js.map +1 -1
  4. package/dist/cjs/destination-kit/fields-to-jsonschema.d.ts +4 -2
  5. package/dist/cjs/destination-kit/fields-to-jsonschema.js.map +1 -1
  6. package/dist/cjs/destination-kit/index.d.ts +10 -22
  7. package/dist/cjs/destination-kit/index.js +17 -55
  8. package/dist/cjs/destination-kit/index.js.map +1 -1
  9. package/dist/cjs/destination-kit/types.d.ts +13 -2
  10. package/dist/cjs/mapping-kit/index.d.ts +1 -1
  11. package/dist/cjs/mapping-kit/index.js +5 -5
  12. package/dist/cjs/mapping-kit/index.js.map +1 -1
  13. package/dist/cjs/schema-validation.d.ts +1 -0
  14. package/dist/cjs/schema-validation.js +42 -0
  15. package/dist/cjs/schema-validation.js.map +1 -0
  16. package/dist/esm/destination-kit/action.d.ts +18 -20
  17. package/dist/esm/destination-kit/action.js +45 -112
  18. package/dist/esm/destination-kit/action.js.map +1 -1
  19. package/dist/esm/destination-kit/fields-to-jsonschema.d.ts +4 -2
  20. package/dist/esm/destination-kit/fields-to-jsonschema.js.map +1 -1
  21. package/dist/esm/destination-kit/index.d.ts +10 -22
  22. package/dist/esm/destination-kit/index.js +19 -57
  23. package/dist/esm/destination-kit/index.js.map +1 -1
  24. package/dist/esm/destination-kit/types.d.ts +13 -2
  25. package/dist/esm/mapping-kit/index.d.ts +1 -1
  26. package/dist/esm/mapping-kit/index.js +5 -5
  27. package/dist/esm/mapping-kit/index.js.map +1 -1
  28. package/dist/esm/schema-validation.d.ts +1 -0
  29. package/dist/esm/schema-validation.js +35 -0
  30. package/dist/esm/schema-validation.js.map +1 -0
  31. package/package.json +2 -2
  32. package/dist/cjs/destination-kit/parse-settings.d.ts +0 -9
  33. package/dist/cjs/destination-kit/parse-settings.js +0 -32
  34. package/dist/cjs/destination-kit/parse-settings.js.map +0 -1
  35. package/dist/cjs/destination-kit/step.d.ts +0 -25
  36. package/dist/cjs/destination-kit/step.js +0 -47
  37. package/dist/cjs/destination-kit/step.js.map +0 -1
  38. package/dist/esm/destination-kit/parse-settings.d.ts +0 -9
  39. package/dist/esm/destination-kit/parse-settings.js +0 -26
  40. package/dist/esm/destination-kit/parse-settings.js.map +0 -1
  41. package/dist/esm/destination-kit/step.d.ts +0 -25
  42. package/dist/esm/destination-kit/step.js +0 -42
  43. package/dist/esm/destination-kit/step.js.map +0 -1
@@ -1,16 +1,16 @@
1
1
  /// <reference types="node" />
2
- import Ajv from 'ajv';
3
2
  import { EventEmitter } from 'events';
4
3
  import createRequestClient from '../create-request-client';
5
- import { JSONLikeObject } from '../json-object';
6
- import { ExecuteInput, Step, StepResult, Steps } from './step';
7
- import type { DynamicFieldResponse, InputField, RequestExtension } from './types';
4
+ import { JSONLikeObject, JSONObject } from '../json-object';
5
+ import type { DynamicFieldResponse, InputField, RequestExtension, ExecuteInput, Result } from './types';
6
+ import type { JSONSchema4 } from 'json-schema';
8
7
  declare type MaybePromise<T> = T | Promise<T>;
9
8
  declare type RequestClient = ReturnType<typeof createRequestClient>;
10
9
  export declare type RequestFn<Settings, Payload, Return = any> = (request: RequestClient, data: ExecuteInput<Settings, Payload>) => MaybePromise<Return>;
11
10
  export interface ActionDefinition<Settings, Payload = any> {
12
11
  title: string;
13
12
  description: string;
13
+ platform?: 'cloud' | 'web';
14
14
  defaultSubscription?: string;
15
15
  hidden?: boolean;
16
16
  fields: Record<string, InputField>;
@@ -19,28 +19,26 @@ export interface ActionDefinition<Settings, Payload = any> {
19
19
  };
20
20
  perform: RequestFn<Settings, Payload>;
21
21
  }
22
- export declare class Validate<Settings, Payload> extends Step<Settings, Payload> {
23
- field: ExecuteInputField;
24
- validate: Ajv.ValidateFunction;
25
- constructor(field: ExecuteInputField, schema: object);
26
- executeStep(data: ExecuteInput<Settings, Payload>): Promise<string>;
27
- }
28
22
  interface ExecuteDynamicFieldInput<Settings, Payload> {
29
23
  settings: Settings;
30
24
  payload: Payload;
31
25
  page?: string;
32
26
  }
33
- declare type ExecuteInputField = 'payload' | 'settings';
34
27
  export declare class Action<Settings, Payload extends JSONLikeObject> extends EventEmitter {
35
- readonly steps: Steps<Settings, Payload>;
28
+ readonly definition: ActionDefinition<Settings, Payload>;
29
+ readonly destinationName: string;
30
+ readonly schema?: JSONSchema4;
36
31
  private extendRequest;
37
- private dynamicFieldCache;
38
- constructor(definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings, Payload>);
39
- execute(data: ExecuteInput<Settings, Payload>): Promise<StepResult[]>;
40
- executeDynamicField(field: string, data: ExecuteDynamicFieldInput<Settings, Payload>): any;
41
- private loadDefinition;
42
- private validatePayload;
43
- private dynamicField;
44
- private request;
32
+ constructor(destinationName: string, definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings, Payload>);
33
+ execute(bundle: {
34
+ data: unknown;
35
+ settings: Settings;
36
+ mapping: JSONObject;
37
+ }): Promise<Result[]>;
38
+ executeDynamicField(field: string, data: ExecuteDynamicFieldInput<Settings, Payload>): unknown;
39
+ private performRequest;
40
+ private createRequestClient;
41
+ private afterResponse;
42
+ private parseResponse;
45
43
  }
46
44
  export {};
@@ -3,142 +3,74 @@ 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.Action = exports.Validate = void 0;
7
- const ajv_human_errors_1 = require("@segment/ajv-human-errors");
8
- const ajv_1 = __importDefault(require("ajv"));
9
- const dayjs_1 = __importDefault(require("dayjs"));
6
+ exports.Action = void 0;
10
7
  const events_1 = require("events");
11
8
  const create_request_client_1 = __importDefault(require("../create-request-client"));
12
9
  const mapping_kit_1 = require("../mapping-kit");
13
10
  const fields_to_jsonschema_1 = require("./fields-to-jsonschema");
14
11
  const fetch_1 = require("../fetch");
15
- const step_1 = require("./step");
16
- class MapInput extends step_1.Step {
17
- executeStep(data) {
18
- if (data.mapping) {
19
- data.payload = mapping_kit_1.transform(data.mapping, data.payload);
20
- }
21
- return Promise.resolve('MapInput completed');
22
- }
23
- }
24
- const ajv = new ajv_1.default({
25
- coerceTypes: true,
26
- allErrors: true,
27
- verbose: true,
28
- removeAdditional: true,
29
- jsonPointers: true
30
- });
31
- ajv.addFormat('password', () => true);
32
- ajv.addFormat('text', () => true);
33
- ajv.addFormat('date-like', (data) => {
34
- let date = dayjs_1.default(data);
35
- if (String(Number(data)) === data) {
36
- if (data.length === 13) {
37
- date = dayjs_1.default(Number(data));
38
- }
39
- date = dayjs_1.default.unix(Number(data));
40
- }
41
- return date.isValid();
42
- });
43
- class Validate extends step_1.Step {
44
- constructor(field, schema) {
45
- super();
46
- this.field = field;
47
- this.validate = ajv.compile(schema);
48
- }
49
- executeStep(data) {
50
- if (!this.validate(data[this.field])) {
51
- throw new ajv_human_errors_1.AggregateAjvError(this.validate.errors);
52
- }
53
- return Promise.resolve('Validate completed');
54
- }
55
- }
56
- exports.Validate = Validate;
57
- class Request extends step_1.Step {
58
- constructor(extendRequest, requestFn) {
59
- super();
60
- this.extendRequest = extendRequest;
61
- this.requestFn = requestFn;
62
- }
63
- async executeStep(data) {
64
- if (!this.requestFn) {
65
- return '';
66
- }
67
- const requestClient = this.createRequestClient(data);
68
- const response = await this.requestFn(requestClient, data);
69
- if (response instanceof fetch_1.Response) {
70
- return response.data ?? response.content;
71
- }
72
- return response;
73
- }
74
- createRequestClient(data) {
75
- const options = this.extendRequest?.(data) ?? {};
76
- const client = create_request_client_1.default(options, {
77
- afterResponse: [
78
- (request, options, response) => {
79
- const modifiedResponse = response;
80
- modifiedResponse.request = request;
81
- modifiedResponse.options = options;
82
- this.emit('response', modifiedResponse);
83
- return modifiedResponse;
84
- }
85
- ]
86
- });
87
- return client;
88
- }
89
- }
12
+ const schema_validation_1 = require("../schema-validation");
90
13
  class Action extends events_1.EventEmitter {
91
- constructor(definition, extendRequest) {
14
+ constructor(destinationName, definition, extendRequest) {
92
15
  super();
93
- this.steps = new step_1.Steps();
94
- const step = new MapInput();
95
- this.steps.push(step);
96
- this.dynamicFieldCache = {};
97
- if (extendRequest) {
98
- this.extendRequest = extendRequest;
16
+ this.definition = definition;
17
+ this.destinationName = destinationName;
18
+ this.extendRequest = extendRequest;
19
+ if (Object.keys(definition.fields ?? {}).length) {
20
+ this.schema = fields_to_jsonschema_1.fieldsToJsonSchema(definition.fields);
99
21
  }
100
- this.loadDefinition(definition);
101
22
  }
102
- async execute(data) {
103
- const results = await this.steps.execute(data);
104
- const finalResult = results[results.length - 1];
105
- if (finalResult.error) {
106
- throw finalResult.error;
23
+ async execute(bundle) {
24
+ const results = [];
25
+ const payload = mapping_kit_1.transform(bundle.mapping, bundle.data);
26
+ results.push({ output: 'Mappings resolved' });
27
+ if (this.schema) {
28
+ schema_validation_1.validateSchema(payload, this.schema, `${this.destinationName}:${this.definition.title}`);
29
+ results.push({ output: 'Payload validated' });
107
30
  }
31
+ const dataBundle = {
32
+ rawData: bundle.data,
33
+ rawMapping: bundle.mapping,
34
+ settings: bundle.settings,
35
+ payload
36
+ };
37
+ const output = await this.performRequest(this.definition.perform, dataBundle);
38
+ results.push({ output: output });
108
39
  return results;
109
40
  }
110
41
  executeDynamicField(field, data) {
111
- if (!this.dynamicFieldCache[field]) {
42
+ const fn = this.definition.dynamicFields?.[field];
43
+ if (typeof fn !== 'function') {
112
44
  return {
113
45
  data: [],
114
46
  pagination: {}
115
47
  };
116
48
  }
117
- const step = new Request(this.extendRequest, this.dynamicFieldCache[field]);
118
- return step.executeStep(data);
49
+ return this.performRequest(fn, data);
119
50
  }
120
- loadDefinition(definition) {
121
- if (definition.fields) {
122
- this.validatePayload(definition.fields);
123
- }
124
- Object.entries(definition.dynamicFields ?? {}).forEach(([field, callback]) => {
125
- this.dynamicField(field, callback);
126
- });
127
- if (definition.perform) {
128
- this.request(definition.perform);
129
- }
51
+ async performRequest(requestFn, data) {
52
+ const requestClient = this.createRequestClient(data);
53
+ const response = await requestFn(requestClient, data);
54
+ return this.parseResponse(response);
130
55
  }
131
- validatePayload(fields) {
132
- const step = new Validate('payload', fields_to_jsonschema_1.fieldsToJsonSchema(fields));
133
- this.steps.push(step);
56
+ createRequestClient(data) {
57
+ const options = this.extendRequest?.(data) ?? {};
58
+ return create_request_client_1.default(options, {
59
+ afterResponse: [this.afterResponse.bind(this)]
60
+ });
134
61
  }
135
- dynamicField(field, callback) {
136
- this.dynamicFieldCache[field] = callback;
62
+ afterResponse(request, options, response) {
63
+ const modifiedResponse = response;
64
+ modifiedResponse.request = request;
65
+ modifiedResponse.options = options;
66
+ this.emit('response', modifiedResponse);
67
+ return modifiedResponse;
137
68
  }
138
- request(requestFn) {
139
- const step = new Request(this.extendRequest, requestFn);
140
- step.on('response', (response) => this.emit('response', response));
141
- this.steps.push(step);
69
+ parseResponse(response) {
70
+ if (response instanceof fetch_1.Response) {
71
+ return response.data ?? response.content;
72
+ }
73
+ return response;
142
74
  }
143
75
  }
144
76
  exports.Action = Action;
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/destination-kit/action.ts"],"names":[],"mappings":"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"}
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;AA6DrD,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,MAAkE;QAE9E,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;SACR,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;AA7GD,wBA6GC"}
@@ -1,3 +1,5 @@
1
1
  import { JSONSchema4 } from 'json-schema';
2
- import type { InputField } from './types';
3
- export declare function fieldsToJsonSchema(fields?: Record<string, InputField>): JSONSchema4;
2
+ import type { InputField, Optional } from './types';
3
+ declare type MinimalInputField = Optional<InputField, 'description'>;
4
+ export declare function fieldsToJsonSchema(fields?: Record<string, MinimalInputField>): JSONSchema4;
5
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"fields-to-jsonschema.js","sourceRoot":"","sources":["../../../src/destination-kit/fields-to-jsonschema.ts"],"names":[],"mappings":";;;AAGA,SAAS,gBAAgB,CAAC,IAAmB;IAC3C,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,QAAQ,CAAA;QACjB,KAAK,UAAU;YACb,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC7B;YACE,OAAO,IAAI,CAAA;KACd;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,SAAqC,EAAE;IACxE,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,UAAU,GAAgC,EAAE,CAAA;IAElD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE/C,IAAI,MAAM,GAAgB;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAA0B;SAC1C,CAAA;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;YAC7B,MAAM,CAAC,MAAM,GAAG,WAAW,CAAA;YAE3B,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAA;SAClC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;YACpC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;SAC3B;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YAChC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;SACvB;QAED,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAA;YAC1B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;SACtB;QAED,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,MAAM,CAAC,IAAI,GAAI,EAA4B,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAEtE,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACxE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA;aAC3B;SACF;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;YACnC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAA;SACtB;QAID,IAAI,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE;YAC/C,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;aACpD;iBAAM;gBACL,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAA;aAChE;SACF;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QAGxB,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnB;KACF;IAED,OAAO;QACL,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU;QACV,QAAQ;KACT,CAAA;AACH,CAAC;AApED,gDAoEC"}
1
+ {"version":3,"file":"fields-to-jsonschema.js","sourceRoot":"","sources":["../../../src/destination-kit/fields-to-jsonschema.ts"],"names":[],"mappings":";;;AAGA,SAAS,gBAAgB,CAAC,IAAmB;IAC3C,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,QAAQ,CAAA;QACjB,KAAK,UAAU;YACb,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC7B;YACE,OAAO,IAAI,CAAA;KACd;AACH,CAAC;AAID,SAAgB,kBAAkB,CAAC,SAA4C,EAAE;IAC/E,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,UAAU,GAAgC,EAAE,CAAA;IAElD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE/C,IAAI,MAAM,GAAgB;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAA0B;SAC1C,CAAA;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;YAC7B,MAAM,CAAC,MAAM,GAAG,WAAW,CAAA;YAE3B,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAA;SAClC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;YACpC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;SAC3B;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YAChC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;SACvB;QAED,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAA;YAC1B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;SACtB;QAED,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,MAAM,CAAC,IAAI,GAAI,EAA4B,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAEtE,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACxE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA;aAC3B;SACF;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;YACnC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAA;SACtB;QAID,IAAI,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE;YAC/C,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;aACpD;iBAAM;gBACL,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAA;aAChE;SACF;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QAGxB,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnB;KACF;IAED,OAAO;QACL,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU;QACV,QAAQ;KACT,CAAA;AACH,CAAC;AApED,gDAoEC"}
@@ -1,14 +1,12 @@
1
- import { JSONSchema4 } from 'json-schema';
1
+ import type { JSONSchema4 } from 'json-schema';
2
2
  import { Action, ActionDefinition, RequestFn } from './action';
3
- import { ExecuteInput, StepResult } from './step';
4
- import { JSONLikeObject, JSONObject } from '../json-object';
5
- import { SegmentEvent } from '../segment-event';
6
3
  import { fieldsToJsonSchema } from './fields-to-jsonschema';
7
4
  import { RequestClient } from '../create-request-client';
5
+ import type { JSONLikeObject, JSONObject } from '../json-object';
6
+ import type { SegmentEvent } from '../segment-event';
8
7
  import type { ModifiedResponse } from '../types';
9
- import type { InputField, RequestExtension } from './types';
8
+ import type { InputField, RequestExtension, ExecuteInput, Result } from './types';
10
9
  import type { AllRequestOptions } from '../request-client';
11
- import { AuthTokens } from './parse-settings';
12
10
  export type { ActionDefinition, ExecuteInput, RequestFn };
13
11
  export { fieldsToJsonSchema };
14
12
  export interface SubscriptionStats {
@@ -18,7 +16,7 @@ export interface SubscriptionStats {
18
16
  subscribe: string;
19
17
  state: string;
20
18
  input: JSONLikeObject;
21
- output: StepResult[] | null;
19
+ output: Result[] | null;
22
20
  }
23
21
  interface PartnerActions<Settings, Payload extends JSONLikeObject> {
24
22
  [key: string]: Action<Settings, Payload>;
@@ -40,7 +38,7 @@ export interface Subscription {
40
38
  subscribe: string;
41
39
  mapping?: JSONObject;
42
40
  }
43
- export interface OAuth2ClientCredentials extends AuthTokens {
41
+ export interface OAuth2ClientCredentials {
44
42
  clientId: string;
45
43
  clientSecret: string;
46
44
  }
@@ -50,11 +48,6 @@ export interface RefreshAccessTokenResult {
50
48
  }
51
49
  interface AuthSettings<Settings> {
52
50
  settings: Settings;
53
- auth: AuthTokens;
54
- }
55
- interface RefreshAuthSettings<Settings> {
56
- settings: Settings;
57
- auth: OAuth2ClientCredentials;
58
51
  }
59
52
  interface Authentication<Settings> {
60
53
  scheme: 'basic' | 'custom' | 'oauth2';
@@ -69,14 +62,13 @@ export interface BasicAuthentication<Settings> extends Authentication<Settings>
69
62
  }
70
63
  export interface OAuth2Authentication<Settings> extends Authentication<Settings> {
71
64
  scheme: 'oauth2';
72
- refreshAccessToken?: (request: RequestClient, input: RefreshAuthSettings<Settings>) => Promise<RefreshAccessTokenResult>;
65
+ refreshAccessToken?: (request: RequestClient, input: AuthSettings<Settings>, oauthConfig: OAuth2ClientCredentials) => Promise<RefreshAccessTokenResult> | undefined;
73
66
  }
74
67
  export declare type AuthenticationScheme<Settings = any> = BasicAuthentication<Settings> | CustomAuthentication<Settings> | OAuth2Authentication<Settings>;
75
68
  interface EventInput<Settings> {
76
69
  readonly event: SegmentEvent;
77
70
  readonly mapping: JSONObject;
78
71
  readonly settings: Settings;
79
- readonly auth?: AuthTokens;
80
72
  }
81
73
  export interface DecoratedResponse extends ModifiedResponse {
82
74
  request: Request;
@@ -92,15 +84,11 @@ export declare class Destination<Settings = JSONObject> {
92
84
  readonly settingsSchema?: JSONSchema4;
93
85
  constructor(destination: DestinationDefinition<Settings>);
94
86
  testAuthentication(settings: Settings): Promise<void>;
95
- refreshAccessToken(settings: Settings, oauthData: OAuth2ClientCredentials): Promise<RefreshAccessTokenResult> | undefined;
87
+ refreshAccessToken(settings: Settings, oauthClientCredentials: OAuth2ClientCredentials): Promise<RefreshAccessTokenResult> | undefined;
96
88
  private partnerAction;
97
- protected executeAction(actionSlug: string, { event, mapping, settings, auth }: EventInput<Settings>): Promise<StepResult[]>;
89
+ protected executeAction(actionSlug: string, { event, mapping, settings }: EventInput<Settings>): Promise<Result[]>;
98
90
  private onSubscription;
99
- onEvent(event: SegmentEvent, settings: JSONObject, options?: {
100
- onTokenRefresh?: (tokens: RefreshAccessTokenResult) => void;
101
- onComplete?: (stats: SubscriptionStats) => void;
102
- }): Promise<StepResult[]>;
103
- private onEventInternal;
91
+ onEvent(event: SegmentEvent, settings: JSONObject, onComplete?: (stats: SubscriptionStats) => void): Promise<Result[]>;
104
92
  private getSubscriptions;
105
93
  private getDestinationSettings;
106
94
  }
@@ -11,9 +11,7 @@ const fields_to_jsonschema_1 = require("./fields-to-jsonschema");
11
11
  Object.defineProperty(exports, "fieldsToJsonSchema", { enumerable: true, get: function () { return fields_to_jsonschema_1.fieldsToJsonSchema; } });
12
12
  const create_request_client_1 = __importDefault(require("../create-request-client"));
13
13
  const errors_1 = require("../errors");
14
- const parse_settings_1 = require("./parse-settings");
15
- const RETRY_ATTEMPTS = 2;
16
- const OAUTH2_SCHEME = 'oauth2';
14
+ const schema_validation_1 = require("../schema-validation");
17
15
  class Destination {
18
16
  constructor(destination) {
19
17
  this.definition = destination;
@@ -30,13 +28,9 @@ class Destination {
30
28
  }
31
29
  }
32
30
  async testAuthentication(settings) {
33
- const destinationSettings = this.getDestinationSettings(settings);
34
- const auth = parse_settings_1.getAuthData(settings);
35
- const data = { settings: destinationSettings, auth };
36
- const context = { settings: destinationSettings, payload: {}, auth };
31
+ const context = { settings, payload: {} };
37
32
  if (this.settingsSchema) {
38
- const step = new action_1.Validate('settings', this.settingsSchema);
39
- await step.executeStep(context);
33
+ schema_validation_1.validateSchema(settings, this.settingsSchema, `${this.name}:settings`);
40
34
  }
41
35
  if (!this.authentication?.testAuthentication) {
42
36
  return;
@@ -44,30 +38,26 @@ class Destination {
44
38
  const options = this.extendRequest?.(context) ?? {};
45
39
  const requestClient = create_request_client_1.default(options);
46
40
  try {
47
- await this.authentication.testAuthentication(requestClient, data);
41
+ await this.authentication.testAuthentication(requestClient, { settings });
48
42
  }
49
43
  catch (error) {
50
44
  throw new Error('Credentials are invalid');
51
45
  }
52
46
  }
53
- refreshAccessToken(settings, oauthData) {
54
- if (this.authentication?.scheme !== OAUTH2_SCHEME) {
47
+ refreshAccessToken(settings, oauthClientCredentials) {
48
+ if (this.authentication?.scheme !== 'oauth2') {
55
49
  throw new errors_1.IntegrationError('refreshAccessToken is only valid with oauth2 authentication scheme', 'NotImplemented', 501);
56
50
  }
57
- const context = {
58
- settings,
59
- payload: {},
60
- auth: parse_settings_1.getAuthData(settings)
61
- };
51
+ const context = { settings, payload: {} };
62
52
  const options = this.extendRequest?.(context) ?? {};
63
53
  const requestClient = create_request_client_1.default(options);
64
54
  if (!this.authentication?.refreshAccessToken) {
65
55
  return undefined;
66
56
  }
67
- return this.authentication.refreshAccessToken(requestClient, { settings, auth: oauthData });
57
+ return this.authentication.refreshAccessToken(requestClient, { settings }, oauthClientCredentials);
68
58
  }
69
59
  partnerAction(slug, definition) {
70
- const action = new action_1.Action(definition, this.extendRequest);
60
+ const action = new action_1.Action(this.name, definition, this.extendRequest);
71
61
  action.on('response', (response) => {
72
62
  if (response) {
73
63
  this.responses.push(response);
@@ -76,26 +66,24 @@ class Destination {
76
66
  this.actions[slug] = action;
77
67
  return this;
78
68
  }
79
- executeAction(actionSlug, { event, mapping, settings, auth }) {
69
+ executeAction(actionSlug, { event, mapping, settings }) {
80
70
  const action = this.actions[actionSlug];
81
71
  if (!action) {
82
72
  return Promise.resolve([]);
83
73
  }
84
74
  return action.execute({
85
75
  mapping,
86
- payload: event,
87
- settings,
88
- auth
76
+ data: event,
77
+ settings
89
78
  });
90
79
  }
91
- async onSubscription(subscription, event, settings, auth, onComplete) {
80
+ async onSubscription(subscription, event, settings, onComplete) {
92
81
  const subscriptionStartedAt = time_1.time();
93
82
  const actionSlug = subscription.partnerAction;
94
83
  const input = {
95
84
  event,
96
85
  mapping: subscription.mapping || {},
97
- settings,
98
- auth
86
+ settings
99
87
  };
100
88
  let state = 'pending';
101
89
  let results = null;
@@ -147,33 +135,10 @@ class Destination {
147
135
  });
148
136
  }
149
137
  }
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();
171
- }
172
- async onEventInternal(event, settings, onComplete) {
138
+ async onEvent(event, settings, onComplete) {
173
139
  const subscriptions = this.getSubscriptions(settings);
174
140
  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));
141
+ const promises = subscriptions.map((subscription) => this.onSubscription(subscription, event, destinationSettings, onComplete));
177
142
  const results = await Promise.all(promises);
178
143
  return [].concat(...results);
179
144
  }
@@ -183,9 +148,6 @@ class Destination {
183
148
  if (subscription) {
184
149
  parsedSubscriptions = [subscription];
185
150
  }
186
- else if (typeof subscriptions === 'string') {
187
- parsedSubscriptions = JSON.parse(subscriptions);
188
- }
189
151
  else if (Array.isArray(subscriptions)) {
190
152
  parsedSubscriptions = subscriptions;
191
153
  }
@@ -195,7 +157,7 @@ class Destination {
195
157
  return parsedSubscriptions;
196
158
  }
197
159
  getDestinationSettings(settings) {
198
- const { subcription, subscriptions, oauth, ...otherSettings } = settings;
160
+ const { subcription, subscriptions, ...otherSettings } = settings;
199
161
  return otherSettings;
200
162
  }
201
163
  }
@@ -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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"}
@@ -1,5 +1,16 @@
1
1
  import type { RequestOptions } from '../request-client';
2
- import type { ExecuteInput } from './step';
2
+ import type { JSONObject } from '../json-object';
3
+ export declare type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
4
+ export interface Result {
5
+ output?: JSONObject | string | null | undefined;
6
+ error?: JSONObject | null;
7
+ }
8
+ export interface ExecuteInput<Settings, Payload> {
9
+ readonly mapping?: JSONObject;
10
+ readonly settings: Settings;
11
+ payload: Payload;
12
+ page?: string;
13
+ }
3
14
  export interface DynamicFieldResponse {
4
15
  body: {
5
16
  data: DynamicFieldItem[];
@@ -23,7 +34,7 @@ export interface InputField {
23
34
  placeholder?: string;
24
35
  dynamic?: boolean;
25
36
  required?: boolean;
26
- properties?: Record<string, InputField>;
37
+ properties?: Record<string, Optional<InputField, 'description'>>;
27
38
  format?: 'date' | 'time' | 'date-time' | 'uri' | 'uri-reference' | 'uri-template' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'regex' | 'uuid' | 'password' | 'text';
28
39
  }
29
40
  export declare type FieldValue = string | number | boolean | object | Directive;
@@ -1,2 +1,2 @@
1
1
  import { JSONObject, JSONLikeObject } from '../json-object';
2
- export declare function transform(mapping: JSONLikeObject, payload?: JSONObject): JSONObject;
2
+ export declare function transform(mapping: JSONLikeObject, data?: unknown): JSONObject;
@@ -80,14 +80,14 @@ function resolve(mapping, payload) {
80
80
  }
81
81
  return mapping;
82
82
  }
83
- function transform(mapping, payload = {}) {
84
- const payloadType = real_type_of_1.realTypeOf(payload);
85
- if (payloadType !== 'object') {
86
- throw new Error(`payload must be an object, got ${payloadType}`);
83
+ function transform(mapping, data = {}) {
84
+ const realType = real_type_of_1.realTypeOf(data);
85
+ if (realType !== 'object') {
86
+ throw new Error(`payload must be an object, got ${realType}`);
87
87
  }
88
88
  validate_1.default(mapping);
89
89
  const cloned = cloneJson(mapping);
90
- const resolved = resolve(cloned, payload);
90
+ const resolved = resolve(cloned, data);
91
91
  const cleaned = remove_undefined_1.removeUndefined(resolved);
92
92
  return cleaned;
93
93
  }
@@ -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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"}