@chainlink/external-adapter-framework 0.2.0 → 0.2.2
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/endpoint.d.ts +2 -2
- package/adapter/endpoint.js.map +1 -1
- package/background-executor.js +18 -3
- package/background-executor.js.map +1 -1
- package/package.json +1 -1
- package/transports/index.d.ts +17 -1
- package/transports/index.js.map +1 -1
- package/transports/routing.d.ts +23 -0
- package/transports/routing.js +52 -0
- package/transports/routing.js.map +1 -0
- package/transports/websocket.d.ts +2 -2
- package/transports/websocket.js +2 -1
- package/transports/websocket.js.map +1 -1
package/adapter/endpoint.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SettingsMap } from '../config';
|
|
2
|
-
import { Transport } from '../transports';
|
|
2
|
+
import { MetaTransport, Transport } from '../transports';
|
|
3
3
|
import { InputParameters } from '../validation';
|
|
4
4
|
import { AdapterEndpointParams, EndpointRateLimitingConfig } from './types';
|
|
5
5
|
import { InputValidator } from '../validation/input-validator';
|
|
@@ -9,7 +9,7 @@ import { InputValidator } from '../validation/input-validator';
|
|
|
9
9
|
export declare class AdapterEndpoint<Params, Result, CustomSettings extends SettingsMap> implements AdapterEndpointParams<Params, Result, CustomSettings> {
|
|
10
10
|
name: string;
|
|
11
11
|
aliases?: string[] | undefined;
|
|
12
|
-
transport: Transport<Params, Result, CustomSettings>;
|
|
12
|
+
transport: Transport<Params, Result, CustomSettings> | MetaTransport<Params, Result, CustomSettings>;
|
|
13
13
|
inputParameters: InputParameters;
|
|
14
14
|
rateLimiting?: EndpointRateLimitingConfig | undefined;
|
|
15
15
|
validator: InputValidator;
|
package/adapter/endpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":";;;AAIA,mEAA8D;AAE9D;;GAEG;AACH,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":";;;AAIA,mEAA8D;AAE9D;;GAEG;AACH,MAAa,eAAe;IAY1B,YAAY,MAA6D;QACvE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAC7C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3D,CAAC;CACF;AApBD,0CAoBC"}
|
package/background-executor.js
CHANGED
|
@@ -47,11 +47,12 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
|
|
|
47
47
|
clearTimeout(timeoutsMap[endpointName]);
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
// Checks if an individual transport has a backgroundExecute function, and executes it if it does
|
|
51
|
+
const callBackgroundExecute = (endpoint, transport) => {
|
|
52
|
+
const backgroundExecute = transport.backgroundExecute?.bind(transport);
|
|
52
53
|
if (!backgroundExecute) {
|
|
53
54
|
logger.debug(`Endpoint "${endpoint.name}" has no background execute, skipping...`);
|
|
54
|
-
|
|
55
|
+
return;
|
|
55
56
|
}
|
|
56
57
|
const context = {
|
|
57
58
|
adapterEndpoint: endpoint,
|
|
@@ -76,6 +77,20 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
|
|
|
76
77
|
};
|
|
77
78
|
// Start recursive async calls
|
|
78
79
|
handler();
|
|
80
|
+
};
|
|
81
|
+
for (const endpoint of adapter.endpoints) {
|
|
82
|
+
const { transport } = endpoint;
|
|
83
|
+
// Check if transport is a MetaTransport by casting and checking a known property (transports)
|
|
84
|
+
const castMeta = transport;
|
|
85
|
+
if (castMeta.transports) {
|
|
86
|
+
logger.debug(`Encountered MetaTransport ${transport.constructor.name}, calling backgroundExecute on all transports`);
|
|
87
|
+
for (const nestedTransport of Object.values(castMeta.transports)) {
|
|
88
|
+
callBackgroundExecute(endpoint, nestedTransport);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
callBackgroundExecute(endpoint, transport);
|
|
93
|
+
}
|
|
79
94
|
}
|
|
80
95
|
}
|
|
81
96
|
exports.callBackgroundExecutes = callBackgroundExecutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-executor.js","sourceRoot":"","sources":["../../src/background-executor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAAmC;AACnC,mDAAoC;
|
|
1
|
+
{"version":3,"file":"background-executor.js","sourceRoot":"","sources":["../../src/background-executor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/transports/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export * from './websocket';
|
|
|
18
18
|
* @typeParam Result - the structure of the AdapterResponse's body
|
|
19
19
|
*/
|
|
20
20
|
export interface Transport<Params, Result, CustomSettings extends SettingsMap> {
|
|
21
|
-
cache
|
|
21
|
+
cache?: Cache<AdapterResponse<Result>>;
|
|
22
22
|
/**
|
|
23
23
|
* Initializes the transport in the Adapter context.
|
|
24
24
|
*
|
|
@@ -58,6 +58,22 @@ export interface Transport<Params, Result, CustomSettings extends SettingsMap> {
|
|
|
58
58
|
*/
|
|
59
59
|
backgroundExecute?: (context: AdapterContext<CustomSettings>) => Promise<number>;
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Generic interface for a Transport that contains or manages other transports.
|
|
63
|
+
* Some transports, such as the RoutingTransport, do not directly fetch data from a Data Provider, but
|
|
64
|
+
* instead coordinate the execution of other transports for fetching and transforming data.
|
|
65
|
+
* These transports have alternative initialization procedures, which typically involve
|
|
66
|
+
* initializing each downstream transport.
|
|
67
|
+
*
|
|
68
|
+
* @typeParam Params - the structure of the AdapterRequest's body
|
|
69
|
+
* @typeParam Result - the structure of the AdapterResponse's body
|
|
70
|
+
* @typeParam CustomSettings - custom settings for the Adapter, or the default SettingsMap
|
|
71
|
+
*/
|
|
72
|
+
export interface MetaTransport<Params, Result, CustomSettings extends SettingsMap> extends Transport<Params, Result, CustomSettings> {
|
|
73
|
+
transports: {
|
|
74
|
+
[key: string]: Transport<unknown, unknown, CustomSettings>;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
61
77
|
export declare type BackgroundStoredResultType = {
|
|
62
78
|
result: unknown;
|
|
63
79
|
};
|
package/transports/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transports/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,oCAAgF;AAIhF,kDAA+B;AAC/B,yCAAsB;AACtB,wCAAqB;AACrB,8CAA2B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transports/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,oCAAgF;AAIhF,kDAA+B;AAC/B,yCAAsB;AACtB,wCAAqB;AACrB,8CAA2B;AA2F3B;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,CAC1C,OAAiC,EACjC,OAAuC,EACoB,EAAE,CAC7D,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,OAAyB,EAAE,CAAC,CAAC,MAAM,CAAC;iBAC7D;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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AdapterRequest, AdapterResponse } from '../util/request';
|
|
2
|
+
import { MetaTransport, Transport } from './';
|
|
3
|
+
import { AdapterConfig, SettingsMap } from '../config';
|
|
4
|
+
import { AdapterDependencies } from '../adapter';
|
|
5
|
+
/**
|
|
6
|
+
* Transport implementation that takes 2 or more transports and a function that determines with transport to use.
|
|
7
|
+
*
|
|
8
|
+
* @typeParam AdapterParams - interface for the adapter request body
|
|
9
|
+
* @typeParam AdapterResult - interface for the adapter's response body
|
|
10
|
+
* @typeParam CustomSettings - interface for the adapter's custom settings.
|
|
11
|
+
*/
|
|
12
|
+
export declare class RoutingTransport<AdapterParams, AdapterResult, CustomSettings extends SettingsMap> implements MetaTransport<AdapterParams, AdapterResult, CustomSettings> {
|
|
13
|
+
transports: {
|
|
14
|
+
[key: string]: Transport<unknown, unknown, CustomSettings>;
|
|
15
|
+
};
|
|
16
|
+
private route;
|
|
17
|
+
constructor(transports: {
|
|
18
|
+
[key: string]: Transport<unknown, unknown, CustomSettings>;
|
|
19
|
+
}, route: (req: AdapterRequest<AdapterParams>, adapterConfig?: AdapterConfig<CustomSettings>) => string);
|
|
20
|
+
initialize(dependencies: AdapterDependencies, adapterConfig: AdapterConfig<CustomSettings>, endpointName: string): Promise<void>;
|
|
21
|
+
private resolveTransport;
|
|
22
|
+
foregroundExecute(req: AdapterRequest<AdapterParams>, adapterConfig: AdapterConfig<CustomSettings>): Promise<AdapterResponse<any> | void>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoutingTransport = void 0;
|
|
4
|
+
const util_1 = require("../util");
|
|
5
|
+
const error_1 = require("../validation/error");
|
|
6
|
+
const logger = (0, util_1.makeLogger)('RoutingTransport');
|
|
7
|
+
/**
|
|
8
|
+
* Transport implementation that takes 2 or more transports and a function that determines with transport to use.
|
|
9
|
+
*
|
|
10
|
+
* @typeParam AdapterParams - interface for the adapter request body
|
|
11
|
+
* @typeParam AdapterResult - interface for the adapter's response body
|
|
12
|
+
* @typeParam CustomSettings - interface for the adapter's custom settings.
|
|
13
|
+
*/
|
|
14
|
+
class RoutingTransport {
|
|
15
|
+
constructor(
|
|
16
|
+
// This is public for tests, which sometimes need the underlying transport for things like ticking the clock
|
|
17
|
+
transports,
|
|
18
|
+
// Route should return to a string key that corresponds to a transport in the transports object
|
|
19
|
+
route) {
|
|
20
|
+
this.transports = transports;
|
|
21
|
+
this.route = route;
|
|
22
|
+
}
|
|
23
|
+
async initialize(dependencies, adapterConfig, endpointName) {
|
|
24
|
+
logger.debug(`Initializing ${Object.keys(this.transports).length} transports`);
|
|
25
|
+
Object.entries(this.transports).forEach(([k, v]) => {
|
|
26
|
+
logger.debug(`Initializing transport ${k} (${v.constructor.name})`);
|
|
27
|
+
v.initialize(dependencies, adapterConfig, endpointName);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
resolveTransport(req, adapterConfig) {
|
|
31
|
+
logger.debug(`routing request using`, req.params);
|
|
32
|
+
const key = this.route(req, adapterConfig || undefined);
|
|
33
|
+
if (!this.transports[key]) {
|
|
34
|
+
throw new error_1.AdapterError({ statusCode: 400, message: `No transport found for ${key}` });
|
|
35
|
+
}
|
|
36
|
+
const transport = this.transports[key];
|
|
37
|
+
logger.debug(`Found ${transport.constructor.name} corresponding to ${key}`);
|
|
38
|
+
return transport;
|
|
39
|
+
}
|
|
40
|
+
// Allow AdapterResponse<any> below since we don't know what the adapter will return
|
|
41
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
42
|
+
async foregroundExecute(req, adapterConfig) {
|
|
43
|
+
const transport = this.resolveTransport(req, adapterConfig);
|
|
44
|
+
if (transport.foregroundExecute) {
|
|
45
|
+
logger.debug(`Running foregroundExecute on retrieved transport`);
|
|
46
|
+
return transport.foregroundExecute(req, adapterConfig);
|
|
47
|
+
}
|
|
48
|
+
logger.debug(`Retrieved transport doesn't implement foregroundExecute`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.RoutingTransport = RoutingTransport;
|
|
52
|
+
//# sourceMappingURL=routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/transports/routing.ts"],"names":[],"mappings":";;;AAEA,kCAAoC;AAGpC,+CAAkD;AAElD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,kBAAkB,CAAC,CAAA;AAE7C;;;;;;GAMG;AAEH,MAAa,gBAAgB;IAI3B;IACE,6GAA6G;IACtG,UAA0E;IAEjF,+FAA+F;IACvF,KAGG;QANJ,eAAU,GAAV,UAAU,CAAgE;QAGzE,UAAK,GAAL,KAAK,CAGF;IACV,CAAC;IAEJ,KAAK,CAAC,UAAU,CACd,YAAiC,EACjC,aAA4C,EAC5C,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,GAAkC,EAClC,aAA6C;QAE7C,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,GAAkC,EAClC,aAA4C;QAE5C,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import WebSocket from 'ws';
|
|
1
|
+
import WebSocket, { RawData } from 'ws';
|
|
2
2
|
import { AdapterContext, AdapterDependencies } from '../adapter';
|
|
3
3
|
import { Cache } from '../cache';
|
|
4
4
|
import { AdapterConfig, SettingsMap } from '../config';
|
|
@@ -6,6 +6,7 @@ import { BackgroundExecuteRateLimiter } from '../rate-limiting';
|
|
|
6
6
|
import { SubscriptionSet } from '../util';
|
|
7
7
|
import { AdapterRequest, AdapterResponse, ProviderResult } from '../util/request';
|
|
8
8
|
import { Transport, BackgroundStoredResultType } from './';
|
|
9
|
+
export { WebSocket, RawData as WebSocketRawData };
|
|
9
10
|
declare type WebSocketClass = new (url: string, protocols?: string | string[] | undefined) => WebSocket;
|
|
10
11
|
export declare class WebSocketClassProvider {
|
|
11
12
|
static ctor: WebSocketClass;
|
|
@@ -76,4 +77,3 @@ export declare class WebSocketTransport<AdapterParams, ProviderDataMessage, Cust
|
|
|
76
77
|
establishWsConnection(context: AdapterContext<CustomSettings>): Promise<unknown>;
|
|
77
78
|
backgroundExecute(context: AdapterContext<CustomSettings>): Promise<number>;
|
|
78
79
|
}
|
|
79
|
-
export {};
|
package/transports/websocket.js
CHANGED
|
@@ -26,8 +26,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.WebSocketTransport = exports.WebSocketClassProvider = void 0;
|
|
29
|
+
exports.WebSocketTransport = exports.WebSocketClassProvider = exports.WebSocket = void 0;
|
|
30
30
|
const ws_1 = __importDefault(require("ws"));
|
|
31
|
+
exports.WebSocket = ws_1.default;
|
|
31
32
|
const util_1 = require("../util");
|
|
32
33
|
const _1 = require("./");
|
|
33
34
|
const transportMetrics = __importStar(require("./metrics"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket.ts"],"names":[],"mappings":"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"}
|