@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.
- package/adapter/basic.d.ts +9 -19
- package/adapter/basic.js +42 -63
- package/adapter/basic.js.map +1 -1
- package/adapter/endpoint.d.ts +7 -7
- package/adapter/endpoint.js +17 -25
- package/adapter/endpoint.js.map +1 -1
- package/adapter/price.d.ts +3 -3
- package/adapter/price.js +1 -1
- package/adapter/price.js.map +1 -1
- package/adapter/types.d.ts +12 -14
- package/background-executor.js +5 -5
- package/background-executor.js.map +1 -1
- package/cache/index.d.ts +4 -5
- package/cache/index.js +8 -8
- package/cache/index.js.map +1 -1
- package/cache/response.d.ts +4 -4
- package/cache/response.js +7 -6
- package/cache/response.js.map +1 -1
- package/config/index.d.ts +51 -16
- package/config/index.js +76 -26
- package/config/index.js.map +1 -1
- package/index.d.ts +4 -4
- package/index.js +25 -21
- package/index.js.map +1 -1
- package/metrics/index.d.ts +8 -8
- package/metrics/index.js +13 -11
- package/metrics/index.js.map +1 -1
- package/metrics/util.d.ts +1 -2
- package/metrics/util.js.map +1 -1
- package/package.json +1 -1
- package/rate-limiting/index.d.ts +4 -4
- package/rate-limiting/index.js +13 -13
- package/rate-limiting/index.js.map +1 -1
- package/transports/abstract/subscription.d.ts +5 -6
- package/transports/abstract/subscription.js +4 -4
- package/transports/abstract/subscription.js.map +1 -1
- package/transports/http.d.ts +8 -9
- package/transports/http.js +14 -14
- package/transports/http.js.map +1 -1
- package/transports/index.d.ts +15 -8
- package/transports/index.js +28 -0
- package/transports/index.js.map +1 -1
- package/transports/metrics.d.ts +1 -2
- package/transports/metrics.js.map +1 -1
- package/transports/sse.d.ts +3 -4
- package/transports/sse.js +8 -8
- package/transports/sse.js.map +1 -1
- package/transports/websocket.d.ts +1 -2
- package/transports/websocket.js +7 -7
- package/transports/websocket.js.map +1 -1
- package/util/logger.js +1 -1
- package/util/logger.js.map +1 -1
- package/util/requester.d.ts +2 -2
- package/util/requester.js +4 -4
- package/util/requester.js.map +1 -1
- package/util/subscription-set/subscription-set.d.ts +2 -2
- package/util/subscription-set/subscription-set.js +3 -3
- package/util/subscription-set/subscription-set.js.map +1 -1
- package/validation/index.js +11 -10
- package/validation/index.js.map +1 -1
package/adapter/types.d.ts
CHANGED
|
@@ -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 {
|
|
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 =
|
|
13
|
+
export type CustomAdapterSettings = SettingsDefinitionMap & NegatedAdapterSettings;
|
|
14
14
|
type NegatedAdapterSettings = {
|
|
15
|
-
[K in keyof
|
|
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
|
-
|
|
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<
|
|
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<
|
|
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']>,
|
|
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
|
-
|
|
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']>,
|
|
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
|
};
|
package/background-executor.js
CHANGED
|
@@ -34,7 +34,7 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
|
|
|
34
34
|
const context = {
|
|
35
35
|
endpointName: endpoint.name,
|
|
36
36
|
inputParameters: endpoint.inputParameters,
|
|
37
|
-
|
|
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({
|
|
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({
|
|
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({
|
|
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
|
|
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":";;;AACA,uCAAmC;AAEnC,iCAAsD;AAEtD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,oBAAoB,CAAC,CAAA;AAE/C;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAAC,OAAgB,EAAE,kBAAkC;IAC/F,uFAAuF;IACvF,4FAA4F;IAC5F,IAAI,YAAY,GAAG,KAAK,CAAA;IAExB,MAAM,WAAW,GAEb,EAAE,CAAA;IAEN,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;QAC5B,YAAY,GAAG,IAAI,CAAA;QACnB,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE;YACtC,MAAM,CAAC,KAAK,CAAC,kCAAkC,YAAY,GAAG,CAAC,CAAA;YAC/D,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAA;YACjC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAA;SACxC;IACH,CAAC,CAAC,CAAA;IAEF,iGAAiG;IACjG,MAAM,qBAAqB,GAAG,CAC5B,QAA2C,EAC3C,SAAuC,EACvC,aAAsB,EACtB,EAAE;QACF,MAAM,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACtE,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,IAAI,0CAA0C,CAAC,CAAA;YAClF,OAAM;SACP;QAED,MAAM,OAAO,GAAsC;YACjD,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,
|
|
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,
|
|
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
|
-
|
|
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,
|
|
67
|
+
export declare const calculateFeedId: <T extends import("../transports").TransportGenerics>({ inputParameters, adapterSettings, }: {
|
|
69
68
|
inputParameters: InputParameters;
|
|
70
|
-
|
|
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,
|
|
28
|
+
const calculateCacheKey = ({ data, inputParameters, adapterName, endpointName, adapterSettings, transportName, }) => {
|
|
29
29
|
const calculatedKey = calculateKey({
|
|
30
30
|
data,
|
|
31
|
-
|
|
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
|
-
|
|
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,
|
|
54
|
+
const calculateKey = ({ data, endpointName, transportName, adapterSettings, inputParameters, }) => {
|
|
55
55
|
const paramsKey = Object.keys(inputParameters).length
|
|
56
|
-
? calculateParamsKey(data,
|
|
57
|
-
:
|
|
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,
|
|
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,
|
|
65
|
+
return calculateParamsKey(data, adapterSettings.MAX_COMMON_KEY_SIZE);
|
|
66
66
|
};
|
|
67
67
|
exports.calculateFeedId = calculateFeedId;
|
|
68
68
|
/**
|
package/cache/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oDAA2B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"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"}
|
package/cache/response.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AdapterDependencies } from '../adapter';
|
|
2
|
-
import {
|
|
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
|
-
|
|
18
|
-
constructor({ inputParameters, adapterName, endpointName,
|
|
17
|
+
adapterSettings: AdapterSettings;
|
|
18
|
+
constructor({ inputParameters, adapterName, endpointName, adapterSettings, dependencies, }: {
|
|
19
19
|
dependencies: AdapterDependencies;
|
|
20
|
-
|
|
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,
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
69
|
+
adapterSettings: this.adapterSettings,
|
|
69
70
|
}),
|
|
70
71
|
value: response,
|
|
71
72
|
};
|
|
72
73
|
});
|
|
73
|
-
const ttl = this.
|
|
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) {
|
package/cache/response.js.map
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
270
|
-
overrides?: Partial<
|
|
271
|
-
customSettings?:
|
|
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
|
-
}) =>
|
|
274
|
-
export declare const
|
|
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
|
|
278
|
-
type
|
|
279
|
-
export type
|
|
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
|
|
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
|
|
348
|
-
export type
|
|
349
|
-
export type
|
|
350
|
-
export type
|
|
351
|
-
export type
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
318
|
-
const
|
|
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 (
|
|
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 &&
|
|
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 =
|
|
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,
|
|
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 (
|
|
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 (!
|
|
365
|
-
throw new Error(`Env var "${name}" has value "${value}" which is not included in the valid 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
|
package/config/index.js.map
CHANGED
|
@@ -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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"}
|