@chainlink/external-adapter-framework 0.5.63 → 0.6.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 +1 -2
- package/adapter/basic.js +6 -24
- package/adapter/basic.js.map +1 -1
- package/adapter/types.d.ts +5 -7
- package/background-executor.js +1 -2
- package/background-executor.js.map +1 -1
- package/cache/index.d.ts +5 -6
- package/cache/index.js +5 -5
- package/cache/index.js.map +1 -1
- package/config/index.d.ts +19 -12
- package/config/index.js +31 -24
- package/config/index.js.map +1 -1
- package/examples/bank-frick/config/index.d.ts +0 -5
- package/examples/bank-frick/config/index.js +0 -5
- package/examples/bank-frick/config/index.js.map +1 -1
- package/examples/coingecko/src/config/index.d.ts +0 -7
- package/examples/coingecko/src/config/index.js +1 -8
- package/examples/coingecko/src/config/index.js.map +1 -1
- package/examples/coingecko/src/crypto-utils.d.ts +3 -4
- package/examples/coingecko/src/crypto-utils.js.map +1 -1
- package/examples/coingecko/src/endpoint/coins.d.ts +2 -2
- package/examples/coingecko/src/endpoint/coins.js.map +1 -1
- package/examples/coingecko/src/global-utils.d.ts +2 -2
- package/examples/coingecko/src/global-utils.js.map +1 -1
- package/examples/coingecko/src/index.js +0 -2
- package/examples/coingecko/src/index.js.map +1 -1
- package/examples/cryptocompare/src/config/index.d.ts +0 -7
- package/examples/cryptocompare/src/config/index.js +1 -8
- package/examples/cryptocompare/src/config/index.js.map +1 -1
- package/examples/cryptocompare/src/endpoints/crypto.d.ts +2 -2
- package/examples/cryptocompare/src/endpoints/crypto.js.map +1 -1
- package/examples/cryptocompare/src/index.js +0 -2
- package/examples/cryptocompare/src/index.js.map +1 -1
- package/examples/genesis/config/index.d.ts +0 -5
- package/examples/genesis/config/index.js +0 -5
- package/examples/genesis/config/index.js.map +1 -1
- package/index.d.ts +1 -2
- package/index.js.map +1 -1
- package/metrics/util.d.ts +3 -3
- package/metrics/util.js +2 -2
- package/metrics/util.js.map +1 -1
- package/package.json +3 -3
- package/transports/batch-warming.d.ts +6 -10
- package/transports/batch-warming.js +2 -2
- package/transports/batch-warming.js.map +1 -1
- package/transports/index.d.ts +3 -3
- package/transports/index.js.map +1 -1
- package/transports/metrics.d.ts +2 -2
- package/transports/metrics.js.map +1 -1
- package/transports/rest.d.ts +20 -15
- package/transports/rest.js +5 -8
- package/transports/rest.js.map +1 -1
- package/transports/routing.d.ts +1 -2
- package/transports/routing.js +1 -11
- package/transports/routing.js.map +1 -1
- package/transports/sse.d.ts +6 -6
- package/transports/sse.js +1 -2
- package/transports/sse.js.map +1 -1
- package/transports/util.d.ts +1 -3
- package/transports/util.js +39 -69
- package/transports/util.js.map +1 -1
- package/transports/websocket.d.ts +11 -15
- package/transports/websocket.js +27 -44
- package/transports/websocket.js.map +1 -1
- package/validation/index.js +2 -3
- package/validation/index.js.map +1 -1
- package/README.md +0 -67
- package/examples/coingecko-old/batch-warming.d.ts +0 -7
- package/examples/coingecko-old/batch-warming.js +0 -54
- package/examples/coingecko-old/batch-warming.js.map +0 -1
- package/examples/coingecko-old/index.d.ts +0 -2
- package/examples/coingecko-old/index.js +0 -12
- package/examples/coingecko-old/index.js.map +0 -1
- package/examples/coingecko-old/rest.d.ts +0 -12
- package/examples/coingecko-old/rest.js +0 -55
- package/examples/coingecko-old/rest.js.map +0 -1
- package/examples/ncfx/config/index.d.ts +0 -12
- package/examples/ncfx/config/index.js +0 -16
- package/examples/ncfx/config/index.js.map +0 -1
- package/examples/ncfx/index.d.ts +0 -13
- package/examples/ncfx/index.js +0 -12
- package/examples/ncfx/index.js.map +0 -1
- package/examples/ncfx/websocket.d.ts +0 -47
- package/examples/ncfx/websocket.js +0 -74
- package/examples/ncfx/websocket.js.map +0 -1
- package/util/data-validation.d.ts +0 -15
- package/util/data-validation.js +0 -61
- package/util/data-validation.js.map +0 -1
- package/validation/override-functions.d.ts +0 -3
- package/validation/override-functions.js +0 -41
- package/validation/override-functions.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpRequestConfig, HttpResponse } from '../../../transports';
|
|
2
|
-
import { customSettings } from './config';
|
|
3
2
|
import { InputParameters } from '../../../validation';
|
|
3
|
+
import { SettingsMap } from '../../../config';
|
|
4
4
|
export declare const inputParameters: InputParameters;
|
|
5
5
|
export interface GlobalRequestParams {
|
|
6
6
|
market: string;
|
|
@@ -31,7 +31,7 @@ export declare type GlobalEndpointTypes = {
|
|
|
31
31
|
Data: ProviderResponseBody;
|
|
32
32
|
Result: number;
|
|
33
33
|
};
|
|
34
|
-
CustomSettings:
|
|
34
|
+
CustomSettings: SettingsMap;
|
|
35
35
|
Provider: {
|
|
36
36
|
RequestBody: never;
|
|
37
37
|
ResponseBody: ProviderResponseBody;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-utils.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/global-utils.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"global-utils.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/global-utils.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AACjE,iDAAiD;AAIjD,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,0BAA0B,CAAC,CAAA;AAExC,QAAA,eAAe,GAAoB;IAC9C,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;QACxB,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAyCM,MAAM,sBAAsB,GAAG,CAAC,MAAe,EAA4B,EAAE;IAClF,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAgB,CAAC,CAAC,CAAC,6BAAoB;QACzD,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,KAAK;QACb,MAAM,EAAE;YACN,gBAAgB,EAAE,MAAM;SACzB;KACF,CAAA;AACH,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC;AAEM,MAAM,cAAc,GAAG,CAC5B,GAAuC,EACvC,cAAmC,EACnC,UAAwD,EAC/B,EAAE;IAC3B,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAA;IAChC,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC7B,OAAM;KACP;IAED,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,aAAa,CAAC,CAAA;QACjD,OAAM;KACP;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IACtE,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,CAAC,IAAI,CAAC,aAAa,cAAc,CAAC,MAAM,aAAa,CAAC,CAAA;QAC5D,OAAM;KACP;IAED,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,MAAM;KACd,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,cAAc,kBA2B1B"}
|
|
@@ -8,13 +8,11 @@ const __1 = require("../../..");
|
|
|
8
8
|
const adapter_1 = require("../../../adapter");
|
|
9
9
|
const overrides_json_1 = __importDefault(require("./config/overrides.json"));
|
|
10
10
|
const endpoint_1 = require("./endpoint");
|
|
11
|
-
const config_1 = require("./config");
|
|
12
11
|
exports.adapter = new adapter_1.PriceAdapter({
|
|
13
12
|
defaultEndpoint: 'crypto',
|
|
14
13
|
name: 'COINGECKO',
|
|
15
14
|
endpoints: [endpoint_1.crypto, endpoint_1.coins, endpoint_1.cryptoMarketcap, endpoint_1.cryptoVolume, endpoint_1.dominance, endpoint_1.globalMarketcap],
|
|
16
15
|
overrides: overrides_json_1.default['coingecko'],
|
|
17
|
-
customSettings: config_1.customSettings,
|
|
18
16
|
});
|
|
19
17
|
const server = () => (0, __1.expose)(exports.adapter);
|
|
20
18
|
exports.server = server;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gCAAiC;AACjC,8CAA+C;AAC/C,6EAA+C;AAC/C,yCAOmB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/coingecko/src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gCAAiC;AACjC,8CAA+C;AAC/C,6EAA+C;AAC/C,yCAOmB;AAEN,QAAA,OAAO,GAAG,IAAI,sBAAY,CAAC;IACtC,eAAe,EAAE,QAAQ;IACzB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,CAAC,iBAAM,EAAE,gBAAK,EAAE,0BAAe,EAAE,uBAAY,EAAE,oBAAS,EAAE,0BAAe,CAAC;IACrF,SAAS,EAAE,wBAAS,CAAC,WAAW,CAAC;CAClC,CAAC,CAAA;AAEK,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,UAAM,EAAC,eAAO,CAAC,CAAA;AAA9B,QAAA,MAAM,UAAwB"}
|
|
@@ -1,9 +1,2 @@
|
|
|
1
1
|
export declare const DEFAULT_API_ENDPOINT = "https://min-api.cryptocompare.com";
|
|
2
2
|
export declare const DEFAULT_WS_API_ENDPOINT = "wss://streamer.cryptocompare.com/v2";
|
|
3
|
-
export declare const customSettings: {
|
|
4
|
-
readonly API_KEY: {
|
|
5
|
-
readonly description: "API key";
|
|
6
|
-
readonly type: "string";
|
|
7
|
-
readonly required: true;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DEFAULT_WS_API_ENDPOINT = exports.DEFAULT_API_ENDPOINT = void 0;
|
|
4
4
|
exports.DEFAULT_API_ENDPOINT = 'https://min-api.cryptocompare.com';
|
|
5
5
|
exports.DEFAULT_WS_API_ENDPOINT = 'wss://streamer.cryptocompare.com/v2';
|
|
6
|
-
exports.customSettings = {
|
|
7
|
-
API_KEY: {
|
|
8
|
-
description: 'API key',
|
|
9
|
-
type: 'string',
|
|
10
|
-
required: true,
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/examples/cryptocompare/src/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,mCAAmC,CAAA;AAC1D,QAAA,uBAAuB,GAAG,qCAAqC,CAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/examples/cryptocompare/src/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,mCAAmC,CAAA;AAC1D,QAAA,uBAAuB,GAAG,qCAAqC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PriceEndpoint } from '../../../../adapter';
|
|
2
|
+
import { SettingsMap } from '../../../../config';
|
|
2
3
|
import { WebSocketTransport } from '../../../../transports/websocket';
|
|
3
4
|
import { SingleNumberResultResponse } from '../../../../util';
|
|
4
|
-
import { customSettings } from '../config';
|
|
5
5
|
interface AdapterRequestParams {
|
|
6
6
|
base: string;
|
|
7
7
|
quote: string;
|
|
@@ -30,7 +30,7 @@ declare type CryptoEndpointTypes = {
|
|
|
30
30
|
Params: AdapterRequestParams;
|
|
31
31
|
};
|
|
32
32
|
Response: SingleNumberResultResponse;
|
|
33
|
-
CustomSettings:
|
|
33
|
+
CustomSettings: SettingsMap;
|
|
34
34
|
Provider: {
|
|
35
35
|
WsMessage: Message;
|
|
36
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../../../src/examples/cryptocompare/src/endpoints/crypto.ts"],"names":[],"mappings":";;;AACA,iDAAiF;
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../../../src/examples/cryptocompare/src/endpoints/crypto.ts"],"names":[],"mappings":";;;AACA,iDAAiF;AAEjF,gEAAqE;AACrE,2CAAyF;AACzF,sCAAmD;AAuCnD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,6BAA6B,CAAC,CAAA;AAE3C,QAAA,SAAS,GAAG,IAAI,8BAAkB,CAAsB;IACnE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,gCAAuB,YAAY,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;IACvF,QAAQ,EAAE;QACR,IAAI,CAAC,UAAqB;YACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,kBAAkB;gBAClB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;oBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;oBAC1C,IAAI,MAAM,CAAC,OAAO,KAAK,iBAAiB,EAAE;wBACxC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;wBAC1D,OAAO,EAAE,CAAA;qBACV;yBAAM;wBACL,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAA;qBACjE;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,CAAC,OAAgB;YACtB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAA;YACpD,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE;gBACxB,OAAO;oBACL,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;iBACxF,CAAA;aACF;YACD,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE;gBACrC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAA;gBAC7D,OAAM;aACP;QACH,CAAC;KACF;IACD,QAAQ,EAAE;QACR,gBAAgB,EAAE,CAAC,MAA4B,EAAE,EAAE;YACjD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAA;QACrF,CAAC;QACD,kBAAkB,EAAE,CAAC,MAA4B,EAAE,EAAE;YACnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAA;QACxF,CAAC;KACF;CACF,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAI,uBAAa,CAAC;IACxC,IAAI,EAAE,QAAQ;IACd,SAAS,EAAT,iBAAS;IACT,eAAe,EAAE,sCAA4B;CAC9C,CAAC,CAAA"}
|
|
@@ -4,11 +4,9 @@ exports.server = exports.adapter = void 0;
|
|
|
4
4
|
const __1 = require("../../..");
|
|
5
5
|
const adapter_1 = require("../../../../src/adapter");
|
|
6
6
|
const endpoints_1 = require("./endpoints");
|
|
7
|
-
const config_1 = require("./config");
|
|
8
7
|
exports.adapter = new adapter_1.PriceAdapter({
|
|
9
8
|
name: 'CRYPTOCOMPARE',
|
|
10
9
|
defaultEndpoint: 'crypto',
|
|
11
|
-
customSettings: config_1.customSettings,
|
|
12
10
|
endpoints: [endpoints_1.cryptoEndpoint],
|
|
13
11
|
});
|
|
14
12
|
const server = () => (0, __1.expose)(exports.adapter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/cryptocompare/src/index.ts"],"names":[],"mappings":";;;AAAA,gCAAiC;AACjC,qDAAsD;AACtD,2CAA4C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/cryptocompare/src/index.ts"],"names":[],"mappings":";;;AAAA,gCAAiC;AACjC,qDAAsD;AACtD,2CAA4C;AAE/B,QAAA,OAAO,GAAG,IAAI,sBAAY,CAAC;IACtC,IAAI,EAAE,eAAe;IACrB,eAAe,EAAE,QAAQ;IACzB,SAAS,EAAE,CAAC,0BAAc,CAAC;CAC5B,CAAC,CAAA;AAEK,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,UAAM,EAAC,eAAO,CAAC,CAAA;AAA9B,QAAA,MAAM,UAAwB"}
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.customSettings = void 0;
|
|
4
4
|
exports.customSettings = {
|
|
5
|
-
API_KEY: {
|
|
6
|
-
description: 'API key',
|
|
7
|
-
type: 'string',
|
|
8
|
-
required: true,
|
|
9
|
-
},
|
|
10
5
|
API_SECRET: {
|
|
11
6
|
description: 'API secret',
|
|
12
7
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/genesis/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/examples/genesis/config/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,UAAU,EAAE;QACV,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf;CACO,CAAA"}
|
package/index.d.ts
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { FastifyInstance } from 'fastify';
|
|
7
7
|
import { Adapter, AdapterDependencies } from './adapter';
|
|
8
|
-
import { SettingsMap } from './config';
|
|
9
8
|
export { FastifyInstance as ServerInstance };
|
|
10
9
|
/**
|
|
11
10
|
* Main function for the framework.
|
|
@@ -15,4 +14,4 @@ export { FastifyInstance as ServerInstance };
|
|
|
15
14
|
* @param dependencies - an optional object with adapter dependencies to inject
|
|
16
15
|
* @returns a Promise that resolves to the http.Server listening for connections
|
|
17
16
|
*/
|
|
18
|
-
export declare const expose:
|
|
17
|
+
export declare const expose: (adapter: Adapter, dependencies?: Partial<AdapterDependencies>) => Promise<FastifyInstance | undefined>;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAqC;AACrC,4DAA4D;AAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,OAAO,EAAE;IAC9C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;CACxB;AAED,sDAAkD;AAElD,+BAA2B;AAC3B,uCAAwD;AACxD,+DAA8D;AAE9D,uCAAsE;AACtE,iCAAkF;AAClF,oEAA4D;AAC5D,6CAA2E;AAI3E,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAA;AAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAElD;;;;;;;GAOG;AACI,MAAM,MAAM,GAAG,KAAK,EACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAqC;AACrC,4DAA4D;AAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,OAAO,EAAE;IAC9C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;CACxB;AAED,sDAAkD;AAElD,+BAA2B;AAC3B,uCAAwD;AACxD,+DAA8D;AAE9D,uCAAsE;AACtE,iCAAkF;AAClF,oEAA4D;AAC5D,6CAA2E;AAI3E,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAA;AAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAElD;;;;;;;GAOG;AACI,MAAM,MAAM,GAAG,KAAK,EACzB,OAAgB,EAChB,YAA2C,EACL,EAAE;IACxC,IAAI,CAAC,CAAC,OAAO,YAAY,iBAAO,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAA;KACF;IAED,kFAAkF;IAClF,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAEtC,IAAI,GAAG,GAAgC,SAAS,CAAA;IAEhD,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE;QACjF,IAAA,4BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;KACjD;IAED,oGAAoG;IACpG,IAAI,kBAAkB,CAAA;IAEtB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,eAAe,EAAE;QACrF,mDAAmD;QACnD,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;QAEjC,yEAAyE;QACzE,kBAAkB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjD,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,wCAAwC;QACxC,IAAI;YACF,MAAM,GAAG,CAAC,MAAM,CAAC;gBACf,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;gBAC5B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;aAC7B,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAA;YACtE,OAAO,CAAC,IAAI,EAAE,CAAA;SACf;QAED,MAAM,CAAC,IAAI,CAAC,qBAAsB,GAAG,CAAC,MAAM,CAAC,OAAO,EAAkB,CAAC,IAAI,EAAE,CAAC,CAAA;KAC/E;SAAM;QACL,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;KACvF;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,eAAe,EAAE;QACrF,4EAA4E;QAC5E,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QACjD,IAAA,4CAAsB,EAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;KACpD;SAAM;QACL,MAAM,CAAC,IAAI,CACT,4FAA4F,CAC7F,CAAA;KACF;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AA1DY,QAAA,MAAM,UA0DlB;AAED,KAAK,UAAU,YAAY,CAAC,OAAgB;IAC1C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAA;IAErB,6DAA6D;IAC7D,GAAG,CAAC,GAAG,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,4BAA4B;IAC5B,GAAG,CAAC,eAAe,CAAC,oCAAuB,CAAC,CAAA;IAE5C,iCAAiC;IACjC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,iCAAiC,EAAE,CAAC,CAAA;QACpE,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5B,0CAA0C;QAC1C,MAAM,CAAC,OAAO,CAAsB,YAAY,EAAE,IAAA,gCAAmB,EAAC,OAAO,CAAC,CAAC,CAAA;QAC/E,IAAI,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE;YAC5C,MAAM,CAAC,OAAO,CAAsB,WAAW,EAAE,+BAAwB,CAAC,CAAA;SAC3E;QAED,MAAM,CAAC,KAAK,CAAsB;YAChC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAoC,CAAC,CAAC;SACrF,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE;YACjF,MAAM,CAAC,OAAO,CAAsB,YAAY,EAAE,gCAAsB,CAAC,CAAA;SAC1E;IACH,CAAC,CAAC,CAAA;IAEF,iEAAiE;IACjE,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,GAAoB,EAAE,MAAqB;IACrE,GAAG,CAAC,GAAG,CAAC,IAAA,WAAI,EAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,IAAA,qCAAe,EAAC,MAAM,CAAC,4BAA4B,CAAC,CAAA;QACxE,IAAI,WAAW,CAAC,SAAS,EAAE;YACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAClC;QAED,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxC,IAAI;gBACF,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;gBAChE,6DAA6D;gBAC7D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;oBAChC,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAA;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAChD,qCAAqC;gBACrC,IAAI,cAAc,CAAC,UAAU,GAAG,GAAG,IAAI,cAAc,CAAC,UAAU,GAAG,GAAG,EAAE;oBACtE,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAA;iBACzC;aACF;YAAC,OAAO,CAAU,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACf;SACF;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACpC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/metrics/util.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { AdapterEndpoint } from '../adapter';
|
|
1
2
|
import { AdapterConfig } from '../config';
|
|
2
3
|
import { AdapterMetricsMeta, AdapterRequestData } from '../util';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
inputParameters: InputParameters;
|
|
4
|
+
export declare const getMetricsMeta: <T extends import("../transports").TransportGenerics>({ adapterEndpoint, adapterConfig, }: {
|
|
5
|
+
adapterEndpoint: AdapterEndpoint<T>;
|
|
6
6
|
adapterConfig: AdapterConfig<T["CustomSettings"]>;
|
|
7
7
|
}, data: AdapterRequestData) => AdapterMetricsMeta;
|
package/metrics/util.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMetricsMeta = void 0;
|
|
4
4
|
const cache_1 = require("../cache");
|
|
5
|
-
const getMetricsMeta = ({
|
|
6
|
-
const feedId = (0, cache_1.calculateFeedId)({
|
|
5
|
+
const getMetricsMeta = ({ adapterEndpoint, adapterConfig, }, data) => {
|
|
6
|
+
const feedId = (0, cache_1.calculateFeedId)({ adapterEndpoint, adapterConfig }, data);
|
|
7
7
|
return { feedId };
|
|
8
8
|
};
|
|
9
9
|
exports.getMetricsMeta = getMetricsMeta;
|
package/metrics/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/metrics/util.ts"],"names":[],"mappings":";;;AACA,oCAA0C;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/metrics/util.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAInC,MAAM,cAAc,GAAG,CAC5B,EACE,eAAe,EACf,aAAa,GAId,EACD,IAAwB,EACJ,EAAE;IACtB,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,CAAA;IACxE,OAAO,EAAE,MAAM,EAAE,CAAA;AACnB,CAAC,CAAA;AAZY,QAAA,cAAc,kBAY1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainlink/external-adapter-framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"dependencies": {
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"fastify": "4.7.0",
|
|
11
11
|
"ioredis": "5.2.3",
|
|
12
12
|
"pino": "8.6.1",
|
|
13
|
-
"pino-pretty": "9.1.0",
|
|
14
13
|
"prom-client": "13.2.0",
|
|
15
14
|
"ws": "8.9.0"
|
|
16
15
|
},
|
|
@@ -46,10 +45,11 @@
|
|
|
46
45
|
"mock-socket": "9.1.5",
|
|
47
46
|
"mocksse": "1.0.4",
|
|
48
47
|
"nock": "13.2.9",
|
|
48
|
+
"pino-pretty": "9.1.0",
|
|
49
49
|
"prettier": "2.7.1",
|
|
50
50
|
"supertest": "6.3.0",
|
|
51
|
-
"ts-jest": "29.0.3",
|
|
52
51
|
"ts-node": "10.9.1",
|
|
52
|
+
"ts-jest": "29.0.3",
|
|
53
53
|
"ts-node-dev": "2.0.0",
|
|
54
54
|
"typedoc": "0.23.15",
|
|
55
55
|
"typescript": "4.8.4"
|
|
@@ -5,7 +5,7 @@ import { BackgroundExecuteRateLimiter } from '../rate-limiting';
|
|
|
5
5
|
import { SubscriptionSet } from '../util';
|
|
6
6
|
import { AdapterRequest, AdapterResponse, ProviderResult } from '../util/request';
|
|
7
7
|
import { Transport, TransportGenerics } from './';
|
|
8
|
-
import {
|
|
8
|
+
import { AdapterContext, AdapterDependencies } from '../adapter';
|
|
9
9
|
/**
|
|
10
10
|
* Helper struct type that will be used to pass types to the generic parameters of a Transport.
|
|
11
11
|
* Extends the common TransportGenerics, adding Provider specific types for this Batch endpoint.
|
|
@@ -25,13 +25,6 @@ declare type BatchWarmingTransportGenerics = TransportGenerics & {
|
|
|
25
25
|
ResponseBody: unknown;
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
|
-
/**
|
|
29
|
-
* Config object that is provided to the BatchWarmingTransport constructor.
|
|
30
|
-
*/
|
|
31
|
-
export interface BatchWarmingTransportConfig<T extends BatchWarmingTransportGenerics> {
|
|
32
|
-
prepareRequest: (params: T['Request']['Params'][], config: AdapterConfig<T['CustomSettings']>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
|
|
33
|
-
parseResponse: (params: T['Request']['Params'][], res: AxiosResponse<T['Provider']['ResponseBody']>, config: AdapterConfig<T['CustomSettings']>) => ProviderResult<T>[];
|
|
34
|
-
}
|
|
35
28
|
/**
|
|
36
29
|
* Transport implementation that takes incoming batches requests and keeps a warm cache of values.
|
|
37
30
|
* Within the setup function, adapter params are added to an set that also keeps track and expires values.
|
|
@@ -48,10 +41,13 @@ export declare class BatchWarmingTransport<T extends BatchWarmingTransportGeneri
|
|
|
48
41
|
rateLimiter: BackgroundExecuteRateLimiter;
|
|
49
42
|
subscriptionSet: SubscriptionSet<T['Request']['Params']>;
|
|
50
43
|
WARMER_ACTIVE: boolean;
|
|
51
|
-
constructor(config:
|
|
44
|
+
constructor(config: {
|
|
45
|
+
prepareRequest: (params: T['Request']['Params'][], config: AdapterConfig<T['CustomSettings']>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
|
|
46
|
+
parseResponse: (params: T['Request']['Params'][], res: AxiosResponse<T['Provider']['ResponseBody']>, config: AdapterConfig<T['CustomSettings']>) => ProviderResult<T>[];
|
|
47
|
+
});
|
|
52
48
|
initialize(dependencies: AdapterDependencies, _: AdapterConfig<T['CustomSettings']>, endpointName: string): Promise<void>;
|
|
53
49
|
registerRequest(req: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>): Promise<void>;
|
|
54
|
-
backgroundExecute(context:
|
|
50
|
+
backgroundExecute(context: AdapterContext<T>): Promise<number>;
|
|
55
51
|
private makeRequest;
|
|
56
52
|
}
|
|
57
53
|
export {};
|
|
@@ -76,9 +76,9 @@ class BatchWarmingTransport {
|
|
|
76
76
|
const entries = await this.subscriptionSet.getAll();
|
|
77
77
|
// Keep track of active subscriptions for background execute
|
|
78
78
|
transportMetrics.bgExecuteSubscriptionSetCount
|
|
79
|
-
.labels({ endpoint: context.
|
|
79
|
+
.labels({ endpoint: context.adapterEndpoint.name, transport_type: 'batch' })
|
|
80
80
|
.set(entries.length);
|
|
81
|
-
const interval = this.rateLimiter.msUntilNextExecution(context.
|
|
81
|
+
const interval = this.rateLimiter.msUntilNextExecution(context.adapterEndpoint.name);
|
|
82
82
|
if (!entries.length) {
|
|
83
83
|
logger.debug('No entries in batch warming set, skipping');
|
|
84
84
|
if (this.WARMER_ACTIVE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-warming.js","sourceRoot":"","sources":["../../../src/transports/batch-warming.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kCAAqD;AAErD,yBAA+E;AAC/E,iCAAqC;AACrC,2EAA4D;AAC5D,+DAAgD;AAEhD,4DAA6C;AAC7C,+CAAkD;AAElD,MAAM,uBAAuB,GAAG,MAAM,CAAA;AAEtC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,uBAAuB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"batch-warming.js","sourceRoot":"","sources":["../../../src/transports/batch-warming.ts"],"names":[],"mappings":"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"}
|
package/transports/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdapterContext, AdapterDependencies } from '../adapter';
|
|
2
2
|
import { Cache, CacheEntry } from '../cache';
|
|
3
3
|
import { AdapterConfig, SettingsMap } from '../config';
|
|
4
4
|
import { AdapterRequest, AdapterResponse, ProviderResult, RequestGenerics, ResponseGenerics } from '../util/request';
|
|
@@ -80,7 +80,7 @@ export interface Transport<T extends TransportGenerics> {
|
|
|
80
80
|
* @param context - background context for the execution (e.g. endpoint name)
|
|
81
81
|
* @returns an empty Promise
|
|
82
82
|
*/
|
|
83
|
-
backgroundExecute?: (context:
|
|
83
|
+
backgroundExecute?: (context: AdapterContext<T>) => Promise<number>;
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Generic interface for a Transport that contains or manages other transports.
|
|
@@ -105,4 +105,4 @@ export interface MetaTransport<T extends TransportGenerics> extends Transport<T>
|
|
|
105
105
|
* @param context - context for the Adapter
|
|
106
106
|
* @returns a list of CacheEntries of AdapterResponses
|
|
107
107
|
*/
|
|
108
|
-
export declare const buildCacheEntriesFromResults: <T extends TransportGenerics>(results: ProviderResult<T>[], context:
|
|
108
|
+
export declare const buildCacheEntriesFromResults: <T extends TransportGenerics>(results: ProviderResult<T>[], context: AdapterContext<T>) => CacheEntry<AdapterResponse<T["Response"]>>[];
|
package/transports/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transports/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,oCAAgF;AAUhF,kDAA+B;AAC/B,yCAAsB;AACtB,wCAAqB;AACrB,8CAA2B;AAgH3B;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,CAC1C,OAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transports/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,oCAAgF;AAUhF,kDAA+B;AAC/B,yCAAsB;AACtB,wCAAqB;AACrB,8CAA2B;AAgH3B;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,CAC1C,OAA4B,EAC5B,OAA0B,EACoB,EAAE,CAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,MAAM,UAAU,GAAG;QACjB,GAAG,EAAE,IAAA,yBAAiB,EAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACzC,KAAK,EAAE;YACL,MAAM,EAAE,CAAC,CAAC,KAAK;YACf,UAAU,EAAE,GAAG;YACf,IAAI,EAAE;gBACJ,MAAM,EAAE,CAAC,CAAC,KAAK;aAChB;SACF;KACF,CAAA;IAED,IACE,OAAO,CAAC,aAAa,CAAC,eAAe;QACrC,OAAO,CAAC,aAAa,CAAC,4BAA4B,EAClD;QACA,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa;YACxD,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,MAAM,EAAE,IAAA,uBAAe,EAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;iBAC3C;aACF;SACF,CAAA;QACD,UAAU,CAAC,KAAK,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;KACvD;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAC,CAAA;AA/BS,QAAA,4BAA4B,gCA+BrC"}
|
package/transports/metrics.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as client from 'prom-client';
|
|
2
2
|
import { TransportGenerics } from '.';
|
|
3
|
-
import {
|
|
3
|
+
import { AdapterContext } from '../adapter';
|
|
4
4
|
export declare const dataProviderMetricsLabel: (providerStatusCode?: number, method?: string) => {
|
|
5
5
|
provider_status_code: number | undefined;
|
|
6
6
|
method: string;
|
|
@@ -14,7 +14,7 @@ export declare const messageSubsLabels: (feed_id: string, cache_key: string) =>
|
|
|
14
14
|
feed_id: string;
|
|
15
15
|
subscription_key: string;
|
|
16
16
|
};
|
|
17
|
-
export declare const recordWsMessageMetrics: <T extends TransportGenerics>(context:
|
|
17
|
+
export declare const recordWsMessageMetrics: <T extends TransportGenerics>(context: AdapterContext<T>, subscribes: T["Request"]["Params"][], unsubscribes: T["Request"]["Params"][]) => void;
|
|
18
18
|
export declare const wsConnectionActive: client.Gauge<"url">;
|
|
19
19
|
export declare const wsConnectionErrors: client.Counter<"message" | "url">;
|
|
20
20
|
export declare const wsSubscriptionActive: client.Gauge<"feed_id" | "connection_url" | "subscription_key">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/transports/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AAGrC,oCAA6D;AAC7D,oDAA6D;AAE7D,wBAAwB;AACjB,MAAM,wBAAwB,GAAG,CAAC,kBAA2B,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IACxF,oBAAoB,EAAE,kBAAkB;IACxC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;CAC7B,CAAC,CAAA;AAHW,QAAA,wBAAwB,4BAGnC;AAEW,QAAA,oBAAoB,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IACrD,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,8DAA8D;IACpE,UAAU,EAAE,CAAC,QAAQ,EAAE,sBAAsB,CAAU;CACxD,CAAC,CAAA;AAEW,QAAA,kCAAkC,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC;IACrE,IAAI,EAAE,wCAAwC;IAC9C,IAAI,EAAE,2EAA2E;IACjF,OAAO,EAAE,kCAAsB;CAChC,CAAC,CAAA;AAEF,oBAAoB;AACb,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO;IACP,OAAO;CACR,CAAC,CAAA;AAHW,QAAA,qBAAqB,yBAGhC;AAEK,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,SAAiB,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO;IACP,gBAAgB,EAAE,SAAS;CAC5B,CAAC,CAAA;AAHW,QAAA,iBAAiB,qBAG5B;AAEF,6CAA6C;AAC7C,8CAA8C;AAC9C,2DAA2D;AACpD,MAAM,sBAAsB,GAAG,CACpC,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/transports/metrics.ts"],"names":[],"mappings":"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"}
|
package/transports/rest.d.ts
CHANGED
|
@@ -25,19 +25,6 @@ declare type RestTransportGenerics = TransportGenerics & {
|
|
|
25
25
|
ResponseBody: unknown;
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
|
-
/**
|
|
29
|
-
* Config object that is provided to the RestTransport constructor.
|
|
30
|
-
*/
|
|
31
|
-
export interface RestTransportConfig<T extends RestTransportGenerics> {
|
|
32
|
-
prepareRequest: (req: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>) => AxiosRequestConfig<T['Provider']['RequestBody']> | Promise<AxiosRequestConfig<T['Provider']['RequestBody']>>;
|
|
33
|
-
parseResponse: (req: AdapterRequest<T['Request']>, res: AxiosResponse<T['Provider']['ResponseBody']>, config: AdapterConfig<T['CustomSettings']>) => AdapterResponse<T['Response']> | Promise<AdapterResponse<T['Response']>>;
|
|
34
|
-
options: {
|
|
35
|
-
requestCoalescing: {
|
|
36
|
-
enabled: boolean;
|
|
37
|
-
entropyMax?: number;
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
28
|
/**
|
|
42
29
|
* Transport implementation that takes incoming requests, transforms them into a DataProvider request,
|
|
43
30
|
* and executes that request returning the response immediately from the `setup` function.
|
|
@@ -48,12 +35,30 @@ export interface RestTransportConfig<T extends RestTransportGenerics> {
|
|
|
48
35
|
* @typeParam T - Helper struct type that will be used to pass types to the generic parameters (check [[RestTransportGenerics]])
|
|
49
36
|
*/
|
|
50
37
|
export declare class RestTransport<T extends RestTransportGenerics> implements Transport<T> {
|
|
51
|
-
protected config:
|
|
38
|
+
protected config: {
|
|
39
|
+
prepareRequest: (req: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>) => AxiosRequestConfig<T['Provider']['RequestBody']> | Promise<AxiosRequestConfig<T['Provider']['RequestBody']>>;
|
|
40
|
+
parseResponse: (req: AdapterRequest<T['Request']>, res: AxiosResponse<T['Provider']['ResponseBody']>, config: AdapterConfig<T['CustomSettings']>) => AdapterResponse<T['Response']> | Promise<AdapterResponse<T['Response']>>;
|
|
41
|
+
options: {
|
|
42
|
+
requestCoalescing: {
|
|
43
|
+
enabled: boolean;
|
|
44
|
+
entropyMax?: number;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
};
|
|
52
48
|
inFlightPrefix: string;
|
|
53
49
|
cache: Cache<AdapterResponse<T['Response']>>;
|
|
54
50
|
inFlightCache: Cache<boolean>;
|
|
55
51
|
rateLimiter: RequestRateLimiter;
|
|
56
|
-
constructor(config:
|
|
52
|
+
constructor(config: {
|
|
53
|
+
prepareRequest: (req: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>) => AxiosRequestConfig<T['Provider']['RequestBody']> | Promise<AxiosRequestConfig<T['Provider']['RequestBody']>>;
|
|
54
|
+
parseResponse: (req: AdapterRequest<T['Request']>, res: AxiosResponse<T['Provider']['ResponseBody']>, config: AdapterConfig<T['CustomSettings']>) => AdapterResponse<T['Response']> | Promise<AdapterResponse<T['Response']>>;
|
|
55
|
+
options: {
|
|
56
|
+
requestCoalescing: {
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
entropyMax?: number;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
});
|
|
57
62
|
initialize(dependencies: AdapterDependencies, config: AdapterConfig<T['CustomSettings']>): Promise<void>;
|
|
58
63
|
protected waitUntilUnderRateLimit(options: {
|
|
59
64
|
maxRetries: number;
|
package/transports/rest.js
CHANGED
|
@@ -88,15 +88,12 @@ class RestTransport {
|
|
|
88
88
|
}
|
|
89
89
|
const request = await this.config.prepareRequest(req, config);
|
|
90
90
|
logger.trace('Check if we are under rate limits to perform request');
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
await checkForRateLimit();
|
|
91
|
+
await this.waitUntilUnderRateLimit({
|
|
92
|
+
maxRetries: config.REST_TRANSPORT_MAX_RATE_LIMIT_RETRIES,
|
|
93
|
+
msBetweenRetries: config.REST_TRANSPORT_MS_BETWEEN_RATE_LIMIT_RETRIES,
|
|
94
|
+
});
|
|
98
95
|
logger.trace('Sending request to data provider...');
|
|
99
|
-
const providerResponse = await (0, util_2.axiosRequest)(request, config
|
|
96
|
+
const providerResponse = await (0, util_2.axiosRequest)(request, config);
|
|
100
97
|
logger.debug(`Got response from provider, parsing (raw body: ${providerResponse.data})`);
|
|
101
98
|
const parsedResponse = await this.config.parseResponse(req, providerResponse, config);
|
|
102
99
|
if (config.API_VERBOSE) {
|
package/transports/rest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../src/transports/rest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kCAA2C;AAG3C,+CAAkD;AAClD,iCAAqC;AACrC,2EAA4D;AAK5D,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAEnC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../src/transports/rest.ts"],"names":[],"mappings":"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"}
|
package/transports/routing.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AdapterDependencies } from '../adapter';
|
|
2
2
|
import { AdapterConfig } from '../config';
|
|
3
|
-
import { AdapterRequest, AdapterResponse } from '../util';
|
|
3
|
+
import { AdapterRequest, AdapterResponse } from '../util/request';
|
|
4
4
|
import { MetaTransport, Transport, TransportGenerics } from './';
|
|
5
5
|
/**
|
|
6
6
|
* Transport implementation that takes 2 or more transports and a function that determines with transport to use.
|
|
@@ -16,7 +16,6 @@ export declare class RoutingTransport<T extends TransportGenerics> implements Me
|
|
|
16
16
|
[key: string]: Transport<T>;
|
|
17
17
|
}, route: (req: AdapterRequest<T['Request']>, adapterConfig?: AdapterConfig<T['CustomSettings']>) => string);
|
|
18
18
|
initialize(dependencies: AdapterDependencies, adapterConfig: AdapterConfig<T['CustomSettings']>, endpointName: string): Promise<void>;
|
|
19
|
-
registerRequest(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): Promise<void>;
|
|
20
19
|
private resolveTransport;
|
|
21
20
|
foregroundExecute(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): Promise<AdapterResponse<any> | void>;
|
|
22
21
|
}
|
package/transports/routing.js
CHANGED
|
@@ -25,20 +25,10 @@ class RoutingTransport {
|
|
|
25
25
|
v.initialize(dependencies, adapterConfig, endpointName);
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
async registerRequest(req, adapterConfig) {
|
|
29
|
-
logger.debug(`registering request using `, req.requestContext.data);
|
|
30
|
-
const transport = this.resolveTransport(req, adapterConfig);
|
|
31
|
-
if (transport.registerRequest) {
|
|
32
|
-
logger.debug(`Running registerRequest on retrieved transport`);
|
|
33
|
-
return transport.registerRequest(req, adapterConfig);
|
|
34
|
-
}
|
|
35
|
-
logger.debug(`Retrieved transport doesn't implement registerRequest`);
|
|
36
|
-
}
|
|
37
28
|
resolveTransport(req, adapterConfig) {
|
|
38
|
-
logger.debug(`routing request using
|
|
29
|
+
logger.debug(`routing request using`, req.params);
|
|
39
30
|
const key = this.route(req, adapterConfig || undefined);
|
|
40
31
|
if (!this.transports[key]) {
|
|
41
|
-
logger.error(`No transport found for key ${key}`);
|
|
42
32
|
throw new error_1.AdapterError({ statusCode: 400, message: `No transport found for ${key}` });
|
|
43
33
|
}
|
|
44
34
|
const transport = this.transports[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/transports/routing.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/transports/routing.ts"],"names":[],"mappings":";;;AAEA,kCAAoC;AAEpC,+CAAkD;AAGlD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,kBAAkB,CAAC,CAAA;AAE7C;;;;GAIG;AACH,MAAa,gBAAgB;IAI3B;IACE,6GAA6G;IACtG,UAA2C;IAElD,+FAA+F;IACvF,KAGG;QANJ,eAAU,GAAV,UAAU,CAAiC;QAG1C,UAAK,GAAL,KAAK,CAGF;IACV,CAAC;IAEJ,KAAK,CAAC,UAAU,CACd,YAAiC,EACjC,aAAiD,EACjD,YAAoB;QAEpB,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,aAAa,CAAC,CAAA;QAC9E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACjD,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;YACnE,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,gBAAgB,CACtB,GAAiC,EACjC,aAAkD;QAElD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,IAAI,SAAS,CAAC,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,MAAM,IAAI,oBAAY,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,GAAG,EAAE,EAAE,CAAC,CAAA;SACtF;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,CAAC,WAAW,CAAC,IAAI,qBAAqB,GAAG,EAAE,CAAC,CAAA;QAC3E,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,oFAAoF;IACpF,wDAAwD;IACxD,KAAK,CAAC,iBAAiB,CACrB,GAAiC,EACjC,aAAiD;QAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC3D,IAAI,SAAS,CAAC,iBAAiB,EAAE;YAC/B,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAChE,OAAO,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;SACvD;QACD,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAA;IACzE,CAAC;CACF;AAtDD,4CAsDC"}
|
package/transports/sse.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from 'axios';
|
|
2
2
|
import EventSource from 'eventsource';
|
|
3
|
-
import {
|
|
3
|
+
import { AdapterContext, AdapterDependencies } from '../adapter';
|
|
4
4
|
import { Cache } from '../cache';
|
|
5
5
|
import { AdapterConfig } from '../config';
|
|
6
6
|
import { SubscriptionSet } from '../util';
|
|
@@ -43,10 +43,10 @@ export declare class SSETransport<T extends SSETransportGenerics> implements Tra
|
|
|
43
43
|
timeOfLastReq: number;
|
|
44
44
|
localSubscriptions: T['Request']['Params'][];
|
|
45
45
|
constructor(config: {
|
|
46
|
-
prepareSSEConnectionConfig: (params: T['Request']['Params'][], context:
|
|
47
|
-
prepareKeepAliveRequest
|
|
48
|
-
prepareSubscriptionRequest: (params: T['Request']['Params'][], context:
|
|
49
|
-
prepareUnsubscriptionRequest: (params: T['Request']['Params'][], context:
|
|
46
|
+
prepareSSEConnectionConfig: (params: T['Request']['Params'][], context: AdapterContext<T>) => SSEConfig;
|
|
47
|
+
prepareKeepAliveRequest: (context: AdapterContext<T>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
|
|
48
|
+
prepareSubscriptionRequest: (params: T['Request']['Params'][], context: AdapterContext<T>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
|
|
49
|
+
prepareUnsubscriptionRequest: (params: T['Request']['Params'][], context: AdapterContext<T>) => AxiosRequestConfig<T['Provider']['RequestBody']>;
|
|
50
50
|
eventListeners: {
|
|
51
51
|
type: string;
|
|
52
52
|
parseResponse: (evt: MessageEvent) => ProviderResult<T>[];
|
|
@@ -56,6 +56,6 @@ export declare class SSETransport<T extends SSETransportGenerics> implements Tra
|
|
|
56
56
|
});
|
|
57
57
|
initialize(dependencies: AdapterDependencies, config: AdapterConfig<T['CustomSettings']>, endpointName: string): Promise<void>;
|
|
58
58
|
registerRequest(req: AdapterRequest<T['Request']>, config: AdapterConfig<T['CustomSettings']>): Promise<void>;
|
|
59
|
-
backgroundExecute(context:
|
|
59
|
+
backgroundExecute(context: AdapterContext<T>): Promise<number>;
|
|
60
60
|
}
|
|
61
61
|
export {};
|
package/transports/sse.js
CHANGED
|
@@ -82,8 +82,7 @@ class SSETransport {
|
|
|
82
82
|
const unsubscribeRequest = this.config.prepareUnsubscriptionRequest(unsubscribeParams, context);
|
|
83
83
|
makeRequest(unsubscribeRequest);
|
|
84
84
|
}
|
|
85
|
-
if (
|
|
86
|
-
desiredSubs.length &&
|
|
85
|
+
if (desiredSubs.length &&
|
|
87
86
|
Date.now() - this.timeOfLastReq > context.adapterConfig.SSE_KEEPALIVE_SLEEP) {
|
|
88
87
|
const prepareKeepAliveRequest = this.config.prepareKeepAliveRequest(context);
|
|
89
88
|
makeRequest(prepareKeepAliveRequest);
|