@chainlink/external-adapter-framework 0.26.0 → 0.27.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 (60) hide show
  1. package/adapter/basic.d.ts +9 -19
  2. package/adapter/basic.js +42 -63
  3. package/adapter/basic.js.map +1 -1
  4. package/adapter/endpoint.d.ts +7 -7
  5. package/adapter/endpoint.js +17 -25
  6. package/adapter/endpoint.js.map +1 -1
  7. package/adapter/price.d.ts +3 -3
  8. package/adapter/price.js +1 -1
  9. package/adapter/price.js.map +1 -1
  10. package/adapter/types.d.ts +12 -14
  11. package/background-executor.js +5 -5
  12. package/background-executor.js.map +1 -1
  13. package/cache/index.d.ts +4 -5
  14. package/cache/index.js +8 -8
  15. package/cache/index.js.map +1 -1
  16. package/cache/response.d.ts +4 -4
  17. package/cache/response.js +7 -6
  18. package/cache/response.js.map +1 -1
  19. package/config/index.d.ts +51 -16
  20. package/config/index.js +76 -26
  21. package/config/index.js.map +1 -1
  22. package/index.d.ts +4 -4
  23. package/index.js +25 -21
  24. package/index.js.map +1 -1
  25. package/metrics/index.d.ts +8 -8
  26. package/metrics/index.js +13 -11
  27. package/metrics/index.js.map +1 -1
  28. package/metrics/util.d.ts +1 -2
  29. package/metrics/util.js.map +1 -1
  30. package/package.json +1 -1
  31. package/rate-limiting/index.d.ts +4 -4
  32. package/rate-limiting/index.js +13 -13
  33. package/rate-limiting/index.js.map +1 -1
  34. package/transports/abstract/subscription.d.ts +5 -6
  35. package/transports/abstract/subscription.js +4 -4
  36. package/transports/abstract/subscription.js.map +1 -1
  37. package/transports/http.d.ts +8 -9
  38. package/transports/http.js +14 -14
  39. package/transports/http.js.map +1 -1
  40. package/transports/index.d.ts +15 -8
  41. package/transports/index.js +28 -0
  42. package/transports/index.js.map +1 -1
  43. package/transports/metrics.d.ts +1 -2
  44. package/transports/metrics.js.map +1 -1
  45. package/transports/sse.d.ts +3 -4
  46. package/transports/sse.js +8 -8
  47. package/transports/sse.js.map +1 -1
  48. package/transports/websocket.d.ts +1 -2
  49. package/transports/websocket.js +7 -7
  50. package/transports/websocket.js.map +1 -1
  51. package/util/logger.js +1 -1
  52. package/util/logger.js.map +1 -1
  53. package/util/requester.d.ts +2 -2
  54. package/util/requester.js +4 -4
  55. package/util/requester.js.map +1 -1
  56. package/util/subscription-set/subscription-set.d.ts +2 -2
  57. package/util/subscription-set/subscription-set.js +3 -3
  58. package/util/subscription-set/subscription-set.js.map +1 -1
  59. package/validation/index.js +11 -10
  60. package/validation/index.js.map +1 -1
@@ -1,18 +1,18 @@
1
1
  import type EventSource from 'eventsource';
2
2
  import Redis from 'ioredis';
3
3
  import { Cache } from '../cache';
4
- import { AdapterConfig, BaseAdapterConfig, SettingsMap } from '../config';
4
+ import { BaseAdapterSettings, AdapterConfig, SettingsDefinitionMap } from '../config';
5
5
  import { AdapterRateLimitTier, RateLimiter } from '../rate-limiting';
6
- import { Transport, TransportGenerics } from '../transports';
6
+ import { Transport, TransportGenerics, TransportRoutes } from '../transports';
7
7
  import { AdapterRequest, SingleNumberResultResponse, SubscriptionSetFactory } from '../util';
8
8
  import { Requester } from '../util/requester';
9
9
  import { InputParameters, SpecificInputParameters } from '../validation';
10
10
  import { AdapterError } from '../validation/error';
11
11
  import { Adapter } from './basic';
12
12
  import { AdapterEndpoint } from './endpoint';
13
- export type CustomAdapterSettings = SettingsMap & NegatedAdapterSettings;
13
+ export type CustomAdapterSettings = SettingsDefinitionMap & NegatedAdapterSettings;
14
14
  type NegatedAdapterSettings = {
15
- [K in keyof BaseAdapterConfig]?: never;
15
+ [K in keyof BaseAdapterSettings]?: never;
16
16
  };
17
17
  /**
18
18
  * Dependencies that will be injected into the Adapter on startup
@@ -41,7 +41,7 @@ export interface EndpointContext<T extends EndpointGenerics> {
41
41
  /** Input parameters for this endpoint */
42
42
  inputParameters: InputParameters;
43
43
  /** Initialized config for the adapter that the Transport can access */
44
- adapterConfig: AdapterConfig<T['CustomSettings']>;
44
+ adapterSettings: T['Settings'];
45
45
  }
46
46
  /**
47
47
  * Structure to describe rate limits specs for the Adapter
@@ -65,7 +65,7 @@ export type Overrides = {
65
65
  /**
66
66
  * Main structure of an External Adapter
67
67
  */
68
- export interface AdapterParams<CustomSettings extends SettingsMap> {
68
+ export interface AdapterParams<T extends AdapterConfig = AdapterConfig> {
69
69
  /** Name of the adapter */
70
70
  name: Uppercase<string>;
71
71
  /** If present, the string that will be used for requests with no specified endpoint */
@@ -80,14 +80,12 @@ export interface AdapterParams<CustomSettings extends SettingsMap> {
80
80
  * then those new types wouldn't match with each other.
81
81
  */
82
82
  endpoints: AdapterEndpoint<any>[];
83
- /** Map of overrides to the default config values for an Adapter */
84
- envDefaultOverrides?: Partial<BaseAdapterConfig>;
85
- /** List of custom env vars for this particular adapter (e.g. RPC_URL) */
86
- customSettings?: SettingsMap;
87
83
  /** Configuration relevant to outbound (EA --\> DP) communication rate limiting */
88
84
  rateLimiting?: AdapterRateLimitingConfig;
89
85
  /** Bootstrap function that will run when initializing the adapter */
90
- bootstrap?: (adapter: Adapter<CustomSettings>) => Promise<void>;
86
+ bootstrap?: (adapter: Adapter<T>) => Promise<void>;
87
+ /** The custom [[AdapterConfig]] to use. If not provided, the default configuration will be used instead */
88
+ config?: T;
91
89
  }
92
90
  /**
93
91
  * Structure to describe rate limits specs for a specific adapter endpoint
@@ -110,7 +108,7 @@ export type EndpointGenerics = TransportGenerics;
110
108
  export type PriceEndpointGenerics = TransportGenerics & {
111
109
  Response: SingleNumberResultResponse;
112
110
  };
113
- export type CustomInputValidator<T extends EndpointGenerics> = (input: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>) => AdapterError | undefined;
111
+ export type CustomInputValidator<T extends EndpointGenerics> = (input: AdapterRequest<T['Request']>, adapterSettings: T['Settings']) => AdapterError | undefined;
114
112
  /**
115
113
  * Structure to describe a specific endpoint in an [[Adapter]]
116
114
  */
@@ -138,9 +136,9 @@ type SingleTransportAdapterEndpointParams<T extends EndpointGenerics> = {
138
136
  };
139
137
  type MultiTransportAdapterEndpointParams<T extends EndpointGenerics> = {
140
138
  /** Map of transports that will be used when routing the request through this endpoint */
141
- transports: Record<string, Transport<T>>;
139
+ transportRoutes: TransportRoutes<T>;
142
140
  /** Custom function to direct an incoming request to the appropriate transport from the transports map */
143
- customRouter?: (req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>) => string;
141
+ customRouter?: (req: AdapterRequest<T['Request']>, settings: T['Settings']) => string;
144
142
  /** If no value is returned from the custom router or the default (transport param), which transport to use */
145
143
  defaultTransport?: string;
146
144
  };
@@ -34,7 +34,7 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
34
34
  const context = {
35
35
  endpointName: endpoint.name,
36
36
  inputParameters: endpoint.inputParameters,
37
- adapterConfig: adapter.config,
37
+ adapterSettings: adapter.config.settings,
38
38
  };
39
39
  const handler = async () => {
40
40
  if (serverClosed) {
@@ -44,12 +44,12 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
44
44
  // Count number of background executions per endpoint
45
45
  metrics_1.metrics
46
46
  .get('bgExecuteTotal')
47
- .labels({ endpoint: endpoint.name, transport: transportName })
47
+ .labels({ adapter_endpoint: endpoint.name, transport: transportName })
48
48
  .inc();
49
49
  // Time the duration of the background execute process excluding sleep time
50
50
  const metricsTimer = metrics_1.metrics
51
51
  .get('bgExecuteDurationSeconds')
52
- .labels({ endpoint: endpoint.name, transport: transportName })
52
+ .labels({ adapter_endpoint: endpoint.name, transport: transportName })
53
53
  .startTimer();
54
54
  logger.debug(`Calling background execute for endpoint "${endpoint.name}"`);
55
55
  try {
@@ -63,7 +63,7 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
63
63
  logger.error(error, error.stack);
64
64
  metrics_1.metrics
65
65
  .get('bgExecuteErrors')
66
- .labels({ endpoint: endpoint.name, transport: transportName })
66
+ .labels({ adapter_endpoint: endpoint.name, transport: transportName })
67
67
  .inc();
68
68
  }
69
69
  // This background execute loop is no longer the one to determine the sleep between bg execute calls.
@@ -76,7 +76,7 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
76
76
  handler();
77
77
  };
78
78
  for (const endpoint of adapter.endpoints) {
79
- for (const [transportName, transport] of Object.entries(endpoint.transports)) {
79
+ for (const [transportName, transport] of endpoint.transportRoutes.entries()) {
80
80
  callBackgroundExecute(endpoint, transport, transportName);
81
81
  }
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"background-executor.js","sourceRoot":"","sources":["../../src/background-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background-executor.js","sourceRoot":"","sources":["../../src/background-executor.ts"],"names":[],"mappings":"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"}
package/cache/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { EndpointContext } from '../adapter';
2
- import { AdapterConfig } from '../config';
3
2
  import { AdapterResponse, sleep } from '../util';
4
3
  import { InputParameters } from '../validation';
5
4
  import { CacheTypes as CacheType } from './metrics';
@@ -52,12 +51,12 @@ export interface Cache<T = unknown> {
52
51
  */
53
52
  delete: (key: string) => Promise<void>;
54
53
  }
55
- export declare const calculateCacheKey: <T extends import("../transports").TransportGenerics>({ data, inputParameters, adapterName, endpointName, adapterConfig, transportName, }: {
54
+ export declare const calculateCacheKey: <T extends import("../transports").TransportGenerics>({ data, inputParameters, adapterName, endpointName, adapterSettings, transportName, }: {
56
55
  data: unknown;
57
56
  inputParameters: InputParameters;
58
57
  adapterName: string;
59
58
  endpointName: string;
60
- adapterConfig: AdapterConfig<T["CustomSettings"]>;
59
+ adapterSettings: T["Settings"];
61
60
  transportName: string;
62
61
  }) => string;
63
62
  export declare const calculateHttpRequestKey: <T extends import("../transports").TransportGenerics>({ data, context, transportName, }: {
@@ -65,9 +64,9 @@ export declare const calculateHttpRequestKey: <T extends import("../transports")
65
64
  data: unknown;
66
65
  transportName: string;
67
66
  }) => string;
68
- export declare const calculateFeedId: <T extends import("../transports").TransportGenerics>({ inputParameters, adapterConfig, }: {
67
+ export declare const calculateFeedId: <T extends import("../transports").TransportGenerics>({ inputParameters, adapterSettings, }: {
69
68
  inputParameters: InputParameters;
70
- adapterConfig: AdapterConfig<T["CustomSettings"]>;
69
+ adapterSettings: T["Settings"];
71
70
  }, data: unknown) => string;
72
71
  /**
73
72
  * Polls the provided Cache for an AdapterResponse set in the provided key. If the maximum
package/cache/index.js CHANGED
@@ -25,10 +25,10 @@ __exportStar(require("./local"), exports);
25
25
  __exportStar(require("./redis"), exports);
26
26
  const logger = (0, util_1.makeLogger)('Cache');
27
27
  // Uses calculateKey to generate a unique key from the endpoint name, data, and input parameters
28
- const calculateCacheKey = ({ data, inputParameters, adapterName, endpointName, adapterConfig, transportName, }) => {
28
+ const calculateCacheKey = ({ data, inputParameters, adapterName, endpointName, adapterSettings, transportName, }) => {
29
29
  const calculatedKey = calculateKey({
30
30
  data,
31
- adapterConfig,
31
+ adapterSettings,
32
32
  endpointName,
33
33
  transportName,
34
34
  inputParameters,
@@ -43,7 +43,7 @@ const calculateHttpRequestKey = ({ data, context, transportName, }) => {
43
43
  const key = calculateKey({
44
44
  data,
45
45
  transportName,
46
- adapterConfig: context.adapterConfig,
46
+ adapterSettings: context.adapterSettings,
47
47
  endpointName: context.endpointName,
48
48
  inputParameters: context.inputParameters,
49
49
  });
@@ -51,18 +51,18 @@ const calculateHttpRequestKey = ({ data, context, transportName, }) => {
51
51
  return key;
52
52
  };
53
53
  exports.calculateHttpRequestKey = calculateHttpRequestKey;
54
- const calculateKey = ({ data, endpointName, transportName, adapterConfig, inputParameters, }) => {
54
+ const calculateKey = ({ data, endpointName, transportName, adapterSettings, inputParameters, }) => {
55
55
  const paramsKey = Object.keys(inputParameters).length
56
- ? calculateParamsKey(data, adapterConfig.MAX_COMMON_KEY_SIZE)
57
- : adapterConfig.DEFAULT_CACHE_KEY;
56
+ ? calculateParamsKey(data, adapterSettings.MAX_COMMON_KEY_SIZE)
57
+ : adapterSettings.DEFAULT_CACHE_KEY;
58
58
  return `${endpointName}-${transportName}-${paramsKey}`;
59
59
  };
60
- const calculateFeedId = ({ inputParameters, adapterConfig, }, data) => {
60
+ const calculateFeedId = ({ inputParameters, adapterSettings, }, data) => {
61
61
  if (Object.keys(inputParameters).length === 0) {
62
62
  logger.trace(`Cannot generate Feed ID without input parameters`);
63
63
  return 'N/A';
64
64
  }
65
- return calculateParamsKey(data, adapterConfig.MAX_COMMON_KEY_SIZE);
65
+ return calculateParamsKey(data, adapterSettings.MAX_COMMON_KEY_SIZE);
66
66
  };
67
67
  exports.calculateFeedId = calculateFeedId;
68
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AdapterDependencies } from '../adapter';
2
- import { AdapterConfig } from '../config';
2
+ import { AdapterSettings } from '../config';
3
3
  import { AdapterResponse, RequestGenerics, ResponseGenerics, TimestampedProviderResult } from '../util';
4
4
  import { InputParameters } from '../validation/input-params';
5
5
  import { Cache } from './';
@@ -14,10 +14,10 @@ export declare class ResponseCache<T extends {
14
14
  inputParameters: InputParameters;
15
15
  adapterName: string;
16
16
  endpointName: string;
17
- config: AdapterConfig;
18
- constructor({ inputParameters, adapterName, endpointName, config, dependencies, }: {
17
+ adapterSettings: AdapterSettings;
18
+ constructor({ inputParameters, adapterName, endpointName, adapterSettings, dependencies, }: {
19
19
  dependencies: AdapterDependencies;
20
- config: AdapterConfig;
20
+ adapterSettings: AdapterSettings;
21
21
  adapterName: string;
22
22
  endpointName: string;
23
23
  inputParameters: InputParameters;
package/cache/response.js CHANGED
@@ -30,12 +30,12 @@ const cacheMetrics = __importStar(require("./metrics"));
30
30
  * Special type of cache to store responses for this adapter.
31
31
  */
32
32
  class ResponseCache {
33
- constructor({ inputParameters, adapterName, endpointName, config, dependencies, }) {
33
+ constructor({ inputParameters, adapterName, endpointName, adapterSettings, dependencies, }) {
34
34
  this.cache = dependencies.cache;
35
35
  this.inputParameters = inputParameters;
36
36
  this.adapterName = adapterName;
37
37
  this.endpointName = endpointName;
38
- this.config = config;
38
+ this.adapterSettings = adapterSettings;
39
39
  }
40
40
  /**
41
41
  * Sets responses in the adapter cache (adding necessary metadata and defaults)
@@ -48,12 +48,13 @@ class ResponseCache {
48
48
  ...r.response,
49
49
  statusCode: r.response.statusCode || 200,
50
50
  };
51
- if (this.config.METRICS_ENABLED && this.config.EXPERIMENTAL_METRICS_ENABLED) {
51
+ if (this.adapterSettings.METRICS_ENABLED &&
52
+ this.adapterSettings.EXPERIMENTAL_METRICS_ENABLED) {
52
53
  response.meta = {
53
54
  metrics: {
54
55
  feedId: (0, _1.calculateFeedId)({
55
56
  inputParameters: this.inputParameters,
56
- adapterConfig: this.config,
57
+ adapterSettings: this.adapterSettings,
57
58
  }, r.params),
58
59
  },
59
60
  };
@@ -65,12 +66,12 @@ class ResponseCache {
65
66
  inputParameters: this.inputParameters,
66
67
  adapterName: this.adapterName,
67
68
  endpointName: this.endpointName,
68
- adapterConfig: this.config,
69
+ adapterSettings: this.adapterSettings,
69
70
  }),
70
71
  value: response,
71
72
  };
72
73
  });
73
- const ttl = this.config.CACHE_MAX_AGE;
74
+ const ttl = this.adapterSettings.CACHE_MAX_AGE;
74
75
  await this.cache.setMany(entries, ttl);
75
76
  const now = Date.now();
76
77
  for (const { key, value } of entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/cache/response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,yBAA8D;AAC9D,wDAAyC;AAEzC;;GAEG;AACH,MAAa,aAAa;IAYxB,YAAY,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,MAAM,EACN,YAAY,GAOb;QACC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAA8C,CAAA;QACxE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,aAAqB,EAAE,OAAuC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAmC;gBAC/C,GAAG,CAAC,CAAC,QAAQ;gBACb,UAAU,EAAG,CAAC,CAAC,QAA6C,CAAC,UAAU,IAAI,GAAG;aAC/E,CAAA;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE;gBAC3E,QAAQ,CAAC,IAAI,GAAG;oBACd,OAAO,EAAE;wBACP,MAAM,EAAE,IAAA,kBAAe,EACrB;4BACE,eAAe,EAAE,IAAI,CAAC,eAAe;4BACrC,aAAa,EAAE,IAAI,CAAC,MAAM;yBAC3B,EACD,CAAC,CAAC,MAAM,CACT;qBACF;iBACF,CAAA;aACF;YAED,OAAO;gBACL,GAAG,EAAE,IAAA,oBAAiB,EAAC;oBACrB,aAAa;oBACb,IAAI,EAAE,CAAC,CAAC,MAAM;oBACd,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,aAAa,EAAE,IAAI,CAAC,MAAM;iBAC3B,CAAC;gBACF,KAAK,EAAE,QAAQ;aACP,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAA;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;YACpC,wGAAwG;YACxG,MAAM,QAAQ,GAAG,KAAmC,CAAA;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAA;YAC7C,IAAI,MAAM,EAAE;gBACV,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAA;gBACrE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;gBAE/D,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1E,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;aAC7C;SACF;QAED,OAAM;IACR,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;CACF;AArGD,sCAqGC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/cache/response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,yBAA8D;AAC9D,wDAAyC;AAEzC;;GAEG;AACH,MAAa,aAAa;IAYxB,YAAY,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,GAOb;QACC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAA8C,CAAA;QACxE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,aAAqB,EAAE,OAAuC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAmC;gBAC/C,GAAG,CAAC,CAAC,QAAQ;gBACb,UAAU,EAAG,CAAC,CAAC,QAA6C,CAAC,UAAU,IAAI,GAAG;aAC/E,CAAA;YAED,IACE,IAAI,CAAC,eAAe,CAAC,eAAe;gBACpC,IAAI,CAAC,eAAe,CAAC,4BAA4B,EACjD;gBACA,QAAQ,CAAC,IAAI,GAAG;oBACd,OAAO,EAAE;wBACP,MAAM,EAAE,IAAA,kBAAe,EACrB;4BACE,eAAe,EAAE,IAAI,CAAC,eAAe;4BACrC,eAAe,EAAE,IAAI,CAAC,eAAe;yBACtC,EACD,CAAC,CAAC,MAAM,CACT;qBACF;iBACF,CAAA;aACF;YAED,OAAO;gBACL,GAAG,EAAE,IAAA,oBAAiB,EAAC;oBACrB,aAAa;oBACb,IAAI,EAAE,CAAC,CAAC,MAAM;oBACd,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;iBACtC,CAAC;gBACF,KAAK,EAAE,QAAQ;aACP,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAA;QAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;YACpC,wGAAwG;YACxG,MAAM,QAAQ,GAAG,KAAmC,CAAA;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAA;YAC7C,IAAI,MAAM,EAAE;gBACV,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAA;gBACrE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;gBAE/D,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1E,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;aAC7C;SACF;QAED,OAAM;IACR,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;CACF;AAxGD,sCAwGC"}
package/config/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const BaseSettings: {
1
+ export declare const BaseSettingsDefinition: {
2
2
  readonly API_TIMEOUT: {
3
3
  readonly description: "The number of milliseconds a request can be pending before returning a timeout error for data provider request";
4
4
  readonly type: "number";
@@ -266,17 +266,16 @@ export declare const BaseSettings: {
266
266
  readonly validate: import("../validation/utils").Validator<string | number>;
267
267
  };
268
268
  };
269
- export declare const buildAdapterConfig: <CustomSettings extends CustomSettingsType<CustomSettings> = EmptySettings>({ overrides, customSettings, envVarsPrefix, }: {
270
- overrides?: Partial<BaseAdapterConfig> | undefined;
271
- customSettings?: SettingsMap | undefined;
269
+ export declare const buildAdapterSettings: <CustomSettings extends CustomSettingsDefinition<CustomSettings> = EmptySettingsDefinitionMap>({ overrides, customSettings, envVarsPrefix, }: {
270
+ overrides?: Partial<BaseAdapterSettings> | undefined;
271
+ customSettings?: SettingsDefinitionMap | undefined;
272
272
  envVarsPrefix?: string | undefined;
273
- }) => AdapterConfig<CustomSettings>;
274
- export declare const validateAdapterConfig: <CustomSettings extends CustomSettingsType<CustomSettings> = EmptySettings>(adapterConfig: AdapterConfig<CustomSettings>, customSettings?: SettingsMap) => void;
275
- export declare const getEnv: (name: string, config: Setting, prefix?: string) => SettingValueType | null;
273
+ }) => AdapterSettings<CustomSettings>;
274
+ export declare const getEnv: (name: string, settingsDefinition: SettingDefinition, prefix?: string) => SettingValueType | null;
276
275
  type SettingValueType = string | number | boolean;
277
- type SettingType<C extends Setting> = C['type'] extends 'string' ? string : C['type'] extends 'number' ? number : C['type'] extends 'boolean' ? boolean : C['type'] extends 'enum' ? C['options'] extends readonly string[] ? C['options'][number] : never : never;
278
- type BaseSettingsType = typeof BaseSettings;
279
- export type Setting = {
276
+ type SettingType<C extends SettingDefinition> = C['type'] extends 'string' ? string : C['type'] extends 'number' ? number : C['type'] extends 'boolean' ? boolean : C['type'] extends 'enum' ? C['options'] extends readonly string[] ? C['options'][number] : never : never;
277
+ type BaseSettingsDefinitionType = typeof BaseSettingsDefinition;
278
+ export type SettingDefinition = {
280
279
  type: 'string';
281
280
  description: string;
282
281
  options?: never;
@@ -335,7 +334,7 @@ export type Setting = {
335
334
  validate?: (value: string) => ValidationErrorMessage;
336
335
  required: true;
337
336
  };
338
- export type AdapterConfigFromSettings<T extends SettingsMap> = {
337
+ export type Settings<T extends SettingsDefinitionMap> = {
339
338
  -readonly [K in keyof T as T[K] extends {
340
339
  default: SettingValueType;
341
340
  } ? K : T[K]['required'] extends true ? K : never]: SettingType<T[K]>;
@@ -344,10 +343,46 @@ export type AdapterConfigFromSettings<T extends SettingsMap> = {
344
343
  default: SettingValueType;
345
344
  } ? never : T[K]['required'] extends true ? never : K]?: SettingType<T[K]> | undefined;
346
345
  };
347
- export type BaseAdapterConfig = AdapterConfigFromSettings<BaseSettingsType>;
348
- export type AdapterConfig<T extends CustomSettingsType<T> = SettingsMap> = AdapterConfigFromSettings<T> & BaseAdapterConfig;
349
- export type CustomSettingsType<T = SettingsMap> = Record<keyof T, Setting>;
350
- export type EmptySettings = Record<string, never>;
351
- export type SettingsMap = Record<string, Setting>;
346
+ export type BaseAdapterSettings = Settings<BaseSettingsDefinitionType>;
347
+ export type AdapterSettings<T extends CustomSettingsDefinition<T> = SettingsDefinitionMap> = Settings<T> & BaseAdapterSettings & SettingsObjectSpecifier;
348
+ export type CustomSettingsDefinition<T = SettingsDefinitionMap> = Record<keyof T, SettingDefinition>;
349
+ export type EmptySettingsDefinitionMap = Record<string, never>;
350
+ export type SettingsDefinitionMap = Record<string, SettingDefinition>;
352
351
  export type ValidationErrorMessage = string | undefined;
352
+ /**
353
+ * This class will hold the processed config type, and the basic settings.
354
+ * The idea is that you can no longer use a straight object, but have to build a config,
355
+ * then in the generics we can simply pass the type of this, and it will hopefully allow for simpler generics
356
+ */
357
+ export declare class AdapterConfig<T extends SettingsDefinitionMap = SettingsDefinitionMap> {
358
+ /** Map of setting definitions to validate and use to get setting values */
359
+ private settingsDefinition;
360
+ private options?;
361
+ settings: AdapterSettings<T>;
362
+ constructor(
363
+ /** Map of setting definitions to validate and use to get setting values */
364
+ settingsDefinition: T, options?: {
365
+ /** Map of overrides to the default config values for an Adapter */
366
+ envDefaultOverrides?: Partial<BaseAdapterSettings> | undefined;
367
+ /** Optional prefix that all adapter variables will be expected to have */
368
+ envVarsPrefix?: string | undefined;
369
+ } | undefined);
370
+ /**
371
+ * Performs some basic validation of the definition structure, and pull data from environment variables
372
+ */
373
+ initialize(): void;
374
+ /**
375
+ * Performs validation of each setting, checking to see that they match their definition
376
+ */
377
+ validate(): void;
378
+ /**
379
+ * Creates a list of key/value pairs that need to be censored in the logs
380
+ * using the sensitive flag in the adapter config
381
+ */
382
+ buildCensorList(): void;
383
+ }
384
+ type SettingsObjectSpecifier = {
385
+ __reserved_settings: never;
386
+ };
387
+ export type GenericConfigStructure = BaseAdapterSettings & SettingsObjectSpecifier;
353
388
  export {};
package/config/index.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEnv = exports.validateAdapterConfig = exports.buildAdapterConfig = exports.BaseSettings = void 0;
6
+ exports.AdapterConfig = exports.getEnv = exports.buildAdapterSettings = exports.BaseSettingsDefinition = void 0;
7
+ const censor_list_1 = __importDefault(require("../util/censor/censor-list"));
4
8
  const utils_1 = require("../validation/utils");
5
- exports.BaseSettings = {
9
+ exports.BaseSettingsDefinition = {
6
10
  // V2 compat
7
11
  // ADAPTER_URL: {
8
12
  // description: 'The URL of another adapter from which data needs to be retrieved',
@@ -297,16 +301,16 @@ exports.BaseSettings = {
297
301
  validate: utils_1.validator.integer({ min: 1, max: 10000 }),
298
302
  },
299
303
  };
300
- const buildAdapterConfig = ({ overrides = {}, customSettings = {}, envVarsPrefix = '', }) => {
304
+ const buildAdapterSettings = ({ overrides = {}, customSettings = {}, envVarsPrefix = '', }) => {
301
305
  const vars = {};
302
306
  // Iterate base adapter env vars
303
- for (const [key, config] of Object.entries(exports.BaseSettings)) {
307
+ for (const [key, config] of Object.entries(exports.BaseSettingsDefinition)) {
304
308
  const value = (0, exports.getEnv)(key, config, envVarsPrefix) ?? overrides?.[key] ?? config.default;
305
309
  vars[key] = value;
306
310
  }
307
311
  // Iterate custom vars
308
312
  for (const [key, config] of Object.entries(customSettings)) {
309
- if (exports.BaseSettings[key]) {
313
+ if (exports.BaseSettingsDefinition[key]) {
310
314
  throw new Error(`Custom env var "${key}" declared, but a base framework env var with that name already exists.`);
311
315
  }
312
316
  const value = (0, exports.getEnv)(key, config, envVarsPrefix) ?? config.default;
@@ -314,27 +318,15 @@ const buildAdapterConfig = ({ overrides = {}, customSettings = {}, envVarsPrefix
314
318
  }
315
319
  return vars;
316
320
  };
317
- exports.buildAdapterConfig = buildAdapterConfig;
318
- const validateAdapterConfig = (adapterConfig, customSettings = {}) => {
319
- const validationErrors = [];
320
- Object.entries(exports.BaseSettings)
321
- .concat(Object.entries(customSettings || {}))
322
- .forEach(([name, setting]) => {
323
- validateSetting(name, adapterConfig[name], setting, validationErrors);
324
- });
325
- if (validationErrors.length > 0) {
326
- throw new Error(`Validation failed for the following variables:\n ${validationErrors.join('\n')}`);
327
- }
328
- };
329
- exports.validateAdapterConfig = validateAdapterConfig;
330
- const validateSetting = (key, value, config, validationErrors) => {
321
+ exports.buildAdapterSettings = buildAdapterSettings;
322
+ const validateSetting = (key, value, settingsDefinition, validationErrors) => {
331
323
  // Check if a required setting has been provided
332
- if (config.required && (value === null || value === undefined)) {
324
+ if (settingsDefinition.required && (value === null || value === undefined)) {
333
325
  validationErrors.push(`${key}: Value is required, but none was provided`);
334
326
  }
335
- else if (value && config.validate) {
327
+ else if (value && settingsDefinition.validate) {
336
328
  // Cast validate to unknown because TS can't select one of multiple variants of the validate function signature
337
- const validationRes = config.validate(value);
329
+ const validationRes = settingsDefinition.validate(value);
338
330
  if (validationRes) {
339
331
  validationErrors.push(`${key}: ${validationRes}`);
340
332
  }
@@ -348,12 +340,12 @@ const getEnvName = (name, prefix = '') => {
348
340
  return envName;
349
341
  };
350
342
  const isEnvNameValid = (name) => /^[_a-z0-9]+$/i.test(name);
351
- const getEnv = (name, config, prefix = '') => {
343
+ const getEnv = (name, settingsDefinition, prefix = '') => {
352
344
  const value = process.env[getEnvName(name, prefix)];
353
345
  if (!value || value === '' || value === '""') {
354
346
  return null;
355
347
  }
356
- switch (config.type) {
348
+ switch (settingsDefinition.type) {
357
349
  case 'string':
358
350
  return value;
359
351
  case 'number':
@@ -361,11 +353,69 @@ const getEnv = (name, config, prefix = '') => {
361
353
  case 'boolean':
362
354
  return value === 'true';
363
355
  case 'enum':
364
- if (!config.options?.includes(value)) {
365
- throw new Error(`Env var "${name}" has value "${value}" which is not included in the valid options (${config.options})`);
356
+ if (!settingsDefinition.options?.includes(value)) {
357
+ throw new Error(`Env var "${name}" has value "${value}" which is not included in the valid options (${settingsDefinition.options})`);
366
358
  }
367
359
  return value;
368
360
  }
369
361
  };
370
362
  exports.getEnv = getEnv;
363
+ /**
364
+ * This class will hold the processed config type, and the basic settings.
365
+ * The idea is that you can no longer use a straight object, but have to build a config,
366
+ * then in the generics we can simply pass the type of this, and it will hopefully allow for simpler generics
367
+ */
368
+ class AdapterConfig {
369
+ constructor(
370
+ /** Map of setting definitions to validate and use to get setting values */
371
+ settingsDefinition, options) {
372
+ this.settingsDefinition = settingsDefinition;
373
+ this.options = options;
374
+ }
375
+ /**
376
+ * Performs some basic validation of the definition structure, and pull data from environment variables
377
+ */
378
+ initialize() {
379
+ this.settings = (0, exports.buildAdapterSettings)({
380
+ customSettings: this.settingsDefinition,
381
+ overrides: this.options?.envDefaultOverrides,
382
+ envVarsPrefix: this.options?.envVarsPrefix,
383
+ });
384
+ }
385
+ /**
386
+ * Performs validation of each setting, checking to see that they match their definition
387
+ */
388
+ validate() {
389
+ const validationErrors = [];
390
+ Object.entries(exports.BaseSettingsDefinition)
391
+ .concat(Object.entries(this.settingsDefinition || {}))
392
+ .forEach(([name, setting]) => {
393
+ validateSetting(name, this.settings[name], setting, validationErrors);
394
+ });
395
+ if (validationErrors.length > 0) {
396
+ throw new Error(`Validation failed for the following variables:\n ${validationErrors.join('\n')}`);
397
+ }
398
+ }
399
+ /**
400
+ * Creates a list of key/value pairs that need to be censored in the logs
401
+ * using the sensitive flag in the adapter config
402
+ */
403
+ buildCensorList() {
404
+ const censorList = Object.entries(exports.BaseSettingsDefinition)
405
+ .concat(Object.entries(this.settingsDefinition || {}))
406
+ .filter(([name, setting]) => setting &&
407
+ setting.type === 'string' &&
408
+ setting.sensitive &&
409
+ this.settings[name])
410
+ .map(([name]) => ({
411
+ key: name,
412
+ // Escaping potential special characters in values before creating regex
413
+ value: new RegExp(
414
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
415
+ this.settings[name].replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), 'gi'),
416
+ }));
417
+ censor_list_1.default.set(censorList);
418
+ }
419
+ }
420
+ exports.AdapterConfig = AdapterConfig;
371
421
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}