@chainlink/external-adapter-framework 2.14.2 → 2.14.4

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.
@@ -94,7 +94,7 @@ export default class extends Generator.default {
94
94
  // Copy overrides
95
95
  this.fs.copyTpl(this.templatePath('src/config/overrides.json'), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/src/config/overrides.json`), this.props);
96
96
  // Create endpoint and transport files
97
- Object.values(this.props.endpoints).forEach(({ inputEndpointName, inputTransports, endpointAliases }) => {
97
+ Object.values(this.props.endpoints).forEach(({ inputEndpointName, inputTransports, endpointAliases, normalizedEndpointNameCap }) => {
98
98
  if (inputTransports.length > 1) {
99
99
  // Router endpoints
100
100
  this.fs.copyTpl(this.templatePath('src/endpoint/endpoint-router.ts.ejs'), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/src/endpoint/${inputEndpointName}.ts`), {
@@ -105,7 +105,7 @@ export default class extends Generator.default {
105
105
  includeComments: this.props.includeComments,
106
106
  });
107
107
  inputTransports.forEach(transport => {
108
- this.fs.copyTpl(this.templatePath(`src/transport/${transport.type}.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/src/transport/${inputEndpointName}-${transport.type}.ts`), { inputEndpointName, includeComments: this.props.includeComments });
108
+ this.fs.copyTpl(this.templatePath(`src/transport/${transport.type}.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/src/transport/${inputEndpointName}-${transport.type}.ts`), { inputEndpointName, normalizedEndpointNameCap, includeComments: this.props.includeComments });
109
109
  });
110
110
  }
111
111
  else {
@@ -117,7 +117,7 @@ export default class extends Generator.default {
117
117
  adapterName: this.props.adapterName,
118
118
  includeComments: this.props.includeComments,
119
119
  });
120
- this.fs.copyTpl(this.templatePath(`src/transport/${inputTransports[0].type}.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/src/transport/${inputEndpointName}.ts`), { inputEndpointName, includeComments: this.props.includeComments });
120
+ this.fs.copyTpl(this.templatePath(`src/transport/${inputTransports[0].type}.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/src/transport/${inputEndpointName}.ts`), { inputEndpointName, normalizedEndpointNameCap, includeComments: this.props.includeComments });
121
121
  }
122
122
  });
123
123
  // Create endpoint barrel file
@@ -131,7 +131,12 @@ export default class extends Generator.default {
131
131
  // Create test files
132
132
  // Create adapter.test.ts if there is at least one endpoint with httpTransport
133
133
  if (httpEndpoints.length) {
134
- this.fs.copyTpl(this.templatePath(`test/adapter.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/adapter.test.ts`), { endpoints: httpEndpoints, transportName: 'rest', setBgExecuteMsEnv: false });
134
+ this.fs.copyTpl(this.templatePath(`test/integration/adapter.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/adapter.test.ts`), { endpoints: httpEndpoints, transportName: 'rest', setBgExecuteMsEnv: false });
135
+ // Create http unit test files
136
+ for (const { inputEndpointName, normalizedEndpointNameCap, inputTransports } of httpEndpoints) {
137
+ const transportFileBaseName = inputTransports.length > 1 ? `${inputEndpointName}-http` : inputEndpointName;
138
+ this.fs.copyTpl(this.templatePath(`test/unit/http.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/unit/${transportFileBaseName}.test.ts`), { inputEndpointName, normalizedEndpointNameCap, transportFileBaseName });
139
+ }
135
140
  }
136
141
  // Create adapter.test.ts or adapter-ws.test.ts if there is at least one endpoint with wsTransport
137
142
  if (wsEndpoints.length) {
@@ -139,7 +144,7 @@ export default class extends Generator.default {
139
144
  if (httpEndpoints.length || customFgEndpoints.length || customBgEndpoints.length) {
140
145
  fileName = 'adapter-ws.test.ts';
141
146
  }
142
- this.fs.copyTpl(this.templatePath(`test/adapter-ws.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/${fileName}`), { endpoints: wsEndpoints });
147
+ this.fs.copyTpl(this.templatePath(`test/integration/adapter-ws.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/${fileName}`), { endpoints: wsEndpoints });
143
148
  }
144
149
  // Create adapter.test.ts or adapter-custom.test.ts if there is at least one endpoint with customTransport.
145
150
  // Custom transport integration tests use the same template as http, but in separate file. This is not ideal
@@ -150,17 +155,17 @@ export default class extends Generator.default {
150
155
  if (httpEndpoints.length || wsEndpoints.length) {
151
156
  fileName = 'adapter-custom-fg.test.ts';
152
157
  }
153
- this.fs.copyTpl(this.templatePath(`test/adapter.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/${fileName}`), { endpoints: customFgEndpoints, transportName: 'customfg', setBgExecuteMsEnv: false });
158
+ this.fs.copyTpl(this.templatePath(`test/integration/adapter.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/${fileName}`), { endpoints: customFgEndpoints, transportName: 'customfg', setBgExecuteMsEnv: false });
154
159
  }
155
160
  if (customBgEndpoints.length) {
156
161
  let fileName = 'adapter.test.ts';
157
162
  if (httpEndpoints.length || wsEndpoints.length || customFgEndpoints.length) {
158
163
  fileName = 'adapter-custom-bg.test.ts';
159
164
  }
160
- this.fs.copyTpl(this.templatePath(`test/adapter.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/${fileName}`), { endpoints: customBgEndpoints, transportName: 'custombg', setBgExecuteMsEnv: true });
165
+ this.fs.copyTpl(this.templatePath(`test/integration/adapter.test.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/${fileName}`), { endpoints: customBgEndpoints, transportName: 'custombg', setBgExecuteMsEnv: true });
161
166
  }
162
167
  // Copy test fixtures
163
- this.fs.copyTpl(this.templatePath(`test/fixtures.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/fixtures.ts`), {
168
+ this.fs.copyTpl(this.templatePath(`test/integration/fixtures.ts.ejs`), this.destinationPath(`${this.args[0]}/${this.props.adapterName}/test/integration/fixtures.ts`), {
164
169
  includeWsFixtures: wsEndpoints.length > 0,
165
170
  includeHttpFixtures: httpEndpoints.length > 0 || customBgEndpoints.length > 0 || customFgEndpoints.length > 0,
166
171
  });
@@ -23,75 +23,81 @@ export type HttpTransportTypes = BaseEndpointTypes & {
23
23
  // HttpTransport is used to fetch and process data from a Provider using HTTP(S) protocol. It usually needs two methods
24
24
  // `prepareRequests` and `parseResponse`
25
25
  <% } -%>
26
- export const httpTransport = new HttpTransport<HttpTransportTypes>({
26
+ export class <%= normalizedEndpointNameCap %>HttpTransport extends HttpTransport<HttpTransportTypes> {
27
+ constructor() {
28
+ super({
27
29
  <% if (includeComments) { -%>
28
- // `prepareRequests` method receives request payloads sent to associated endpoint alongside adapter config(environment variables)
29
- // and should return 'request information' to the Data Provider. Use this method to construct one or many requests, and the framework
30
- // will send them to Data Provider
31
- <% } -%>
32
- prepareRequests: (params, config) => {
33
- return params.map((param) => {
34
- return {
35
- <% if (includeComments) { -%>
36
- // `params` are parameters associated to this single request and will also be available in the 'parseResponse' method.
37
- <% } -%>
38
- params: [param],
39
- <% if (includeComments) { -%>
40
- // `request` contains any valid axios request configuration
41
- <% } -%>
42
- request: {
43
- baseURL: config.API_ENDPOINT,
44
- url: '/cryptocurrency/price',
45
- headers: {
46
- 'X_API_KEY': config.API_KEY,
47
- },
48
- params: {
49
- symbol: param.base.toUpperCase(),
50
- convert: param.quote.toUpperCase(),
51
- },
52
- },
53
- }
54
- })
55
- },
56
- <% if (includeComments) { -%>
57
- // `parseResponse` takes the 'params' specified in the `prepareRequests` and the 'response' from Data Provider and should return
58
- // an array of response objects to be stored in cache. Use this method to construct a list of response objects for every parameter in 'params'
59
- // and the framework will save them in cache and return to user
60
- <% } -%>
61
- parseResponse: (params, response) => {
62
- <% if (includeComments) { -%>
63
- // For each 'param' a new response object is created and returned as an array
64
- <% } -%>
65
- return params.map((param) => {
66
- <% if (includeComments) { -%>
67
- // In case error was received, it's a good practice to return meaningful information to user
68
- <% } -%>
69
- const baseSymbol = param.base.toUpperCase()
70
- if (!response.data || !response.data[baseSymbol]) {
71
- return {
72
- params: param,
73
- response: {
74
- errorMessage: `The data provider didn't return any value for ${param.base}/${param.quote}`,
75
- statusCode: 502,
76
- },
77
- }
78
- }
30
+ // `prepareRequests` method receives request payloads sent to associated endpoint alongside adapter config(environment variables)
31
+ // and should return 'request information' to the Data Provider. Use this method to construct one or many requests, and the framework
32
+ // will send them to Data Provider
33
+ <% } -%>
34
+ prepareRequests: (params, config) => {
35
+ return params.map((param) => {
36
+ return {
37
+ <% if (includeComments) { -%>
38
+ // `params` are parameters associated to this single request and will also be available in the 'parseResponse' method.
39
+ <% } -%>
40
+ params: [param],
41
+ <% if (includeComments) { -%>
42
+ // `request` contains any valid axios request configuration
43
+ <% } -%>
44
+ request: {
45
+ baseURL: config.API_ENDPOINT,
46
+ url: '/cryptocurrency/price',
47
+ headers: {
48
+ 'X_API_KEY': config.API_KEY,
49
+ },
50
+ params: {
51
+ symbol: param.base.toUpperCase(),
52
+ convert: param.quote.toUpperCase(),
53
+ },
54
+ },
55
+ }
56
+ })
57
+ },
58
+ <% if (includeComments) { -%>
59
+ // `parseResponse` takes the 'params' specified in the `prepareRequests` and the 'response' from Data Provider and should return
60
+ // an array of response objects to be stored in cache. Use this method to construct a list of response objects for every parameter in 'params'
61
+ // and the framework will save them in cache and return to user
62
+ <% } -%>
63
+ parseResponse: (params, response) => {
64
+ <% if (includeComments) { -%>
65
+ // For each 'param' a new response object is created and returned as an array
66
+ <% } -%>
67
+ return params.map((param) => {
68
+ <% if (includeComments) { -%>
69
+ // In case error was received, it's a good practice to return meaningful information to user
70
+ <% } -%>
71
+ const baseSymbol = param.base.toUpperCase()
72
+ if (!response.data || !response.data[baseSymbol]) {
73
+ return {
74
+ params: param,
75
+ response: {
76
+ errorMessage: `The data provider didn't return any value for ${param.base}/${param.quote}`,
77
+ statusCode: 502,
78
+ },
79
+ }
80
+ }
79
81
 
80
- const result = response.data[baseSymbol].price
81
- <% if (includeComments) { -%>
82
- // Response objects, whether successful or errors, contain two properties, 'params' and 'response'. 'response' is what will be
83
- // stored in the cache and returned as adapter response and 'params' determines the identifier so that the next request with same 'params'
84
- // will immediately return the response from the cache
85
- <% } -%>
86
- return {
87
- params: param,
88
- response: {
89
- result,
90
- data: {
91
- result
82
+ const result = response.data[baseSymbol].price
83
+ <% if (includeComments) { -%>
84
+ // Response objects, whether successful or errors, contain two properties, 'params' and 'response'. 'response' is what will be
85
+ // stored in the cache and returned as adapter response and 'params' determines the identifier so that the next request with same 'params'
86
+ // will immediately return the response from the cache
87
+ <% } -%>
88
+ return {
89
+ params: param,
90
+ response: {
91
+ result,
92
+ data: {
93
+ result,
94
+ },
95
+ },
92
96
  }
93
- },
94
- }
97
+ })
98
+ },
95
99
  })
96
- },
97
- })
100
+ }
101
+ }
102
+
103
+ export const httpTransport = new <%= normalizedEndpointNameCap %>HttpTransport()
@@ -0,0 +1,157 @@
1
+ import { EndpointContext } from '@chainlink/external-adapter-framework/adapter'
2
+ import { calculateHttpRequestKey } from '@chainlink/external-adapter-framework/cache'
3
+ import { metrics } from '@chainlink/external-adapter-framework/metrics'
4
+ import { TransportDependencies } from '@chainlink/external-adapter-framework/transports'
5
+ import { LoggerFactoryProvider } from '@chainlink/external-adapter-framework/util'
6
+ import { makeStub } from '@chainlink/external-adapter-framework/util/testing-utils'
7
+ import { inputParameters } from '../../src/endpoint/<%= inputEndpointName %>'
8
+ import { <%= normalizedEndpointNameCap %>HttpTransport, HttpTransportTypes } from '../../src/transport/<%= transportFileBaseName %>'
9
+
10
+ const log = jest.fn()
11
+ const debugLog = jest.fn()
12
+ const logger = {
13
+ fatal: log,
14
+ error: log,
15
+ warn: log,
16
+ info: log,
17
+ debug: debugLog,
18
+ trace: debugLog,
19
+ msgPrefix: 'mock-logger',
20
+ }
21
+
22
+ const loggerFactory = { child: () => logger }
23
+
24
+ LoggerFactoryProvider.set(loggerFactory)
25
+ metrics.initialize()
26
+
27
+ describe('<%= normalizedEndpointNameCap %>HttpTransport', () => {
28
+ const transportName = 'default_single_transport'
29
+ const endpointName = '<%= inputEndpointName %>'
30
+ const apiKey = 'test-api-key'
31
+ const apiUrl = 'http://api.example.com'
32
+
33
+ const adapterSettings = makeStub('adapterSettings', {
34
+ API_ENDPOINT: apiUrl,
35
+ API_KEY: apiKey,
36
+ CACHE_MAX_AGE: 90_000,
37
+ MAX_COMMON_KEY_SIZE: 300,
38
+ WARMUP_SUBSCRIPTION_TTL: 10_000,
39
+ } as unknown as HttpTransportTypes['Settings'])
40
+
41
+ const subscriptionSet = makeStub('subscriptionSet', {
42
+ getAll: jest.fn(),
43
+ })
44
+
45
+ const subscriptionSetFactory = makeStub('subscriptionSetFactory', {
46
+ buildSet() {
47
+ return subscriptionSet
48
+ },
49
+ })
50
+
51
+ const requester = makeStub('requester', {
52
+ request: jest.fn(),
53
+ })
54
+
55
+ const responseCache = {
56
+ write: jest.fn(),
57
+ }
58
+ const dependencies = makeStub('dependencies', {
59
+ requester,
60
+ responseCache,
61
+ subscriptionSetFactory,
62
+ } as unknown as TransportDependencies<HttpTransportTypes>)
63
+
64
+ let transport: <%= normalizedEndpointNameCap %>HttpTransport
65
+
66
+ const requestKeyForParams = (params: typeof inputParameters.validated) => {
67
+ const requestKey = calculateHttpRequestKey<HttpTransportTypes>({
68
+ context: {
69
+ adapterSettings,
70
+ inputParameters,
71
+ endpointName,
72
+ },
73
+ data: [params],
74
+ transportName,
75
+ })
76
+ return requestKey
77
+ }
78
+
79
+ beforeEach(async () => {
80
+ jest.restoreAllMocks()
81
+ jest.useFakeTimers()
82
+
83
+ transport = new <%= normalizedEndpointNameCap %>HttpTransport()
84
+
85
+ await transport.initialize(dependencies, adapterSettings, endpointName, transportName)
86
+ })
87
+
88
+ afterEach(() => {
89
+ expect(log).not.toHaveBeenCalled()
90
+ })
91
+
92
+ it('should make the request', async () => {
93
+ const btcPrice = 75_000
94
+ const params = makeStub('params', {
95
+ base: 'BTC',
96
+ quote: 'USD',
97
+ })
98
+ subscriptionSet.getAll.mockReturnValue([params])
99
+
100
+ const context = makeStub('context', {
101
+ adapterSettings,
102
+ endpointName,
103
+ } as EndpointContext<HttpTransportTypes>)
104
+
105
+ const response = makeStub('response', {
106
+ response: {
107
+ data: {
108
+ BTC: {
109
+ price: btcPrice,
110
+ },
111
+ cost: undefined,
112
+ },
113
+ },
114
+ timestamps: {},
115
+ })
116
+
117
+ requester.request.mockResolvedValue(response)
118
+
119
+ await transport.backgroundExecute(context)
120
+
121
+ const expectedRequestConfig = {
122
+ headers: {
123
+ X_API_KEY: adapterSettings.API_KEY,
124
+ },
125
+ baseURL: adapterSettings.API_ENDPOINT,
126
+ url: '/cryptocurrency/price',
127
+ params: {
128
+ symbol: params.base,
129
+ convert: params.quote,
130
+ },
131
+ }
132
+ const expectedRequestKey = requestKeyForParams(params)
133
+
134
+ const expectedResponse = {
135
+ result: btcPrice,
136
+ data: {
137
+ result: btcPrice,
138
+ },
139
+ timestamps: {},
140
+ }
141
+
142
+ expect(requester.request).toHaveBeenCalledWith(
143
+ expectedRequestKey,
144
+ expectedRequestConfig,
145
+ undefined,
146
+ )
147
+ expect(requester.request).toHaveBeenCalledTimes(1)
148
+
149
+ expect(responseCache.write).toHaveBeenCalledWith(transportName, [
150
+ {
151
+ params,
152
+ response: expectedResponse,
153
+ },
154
+ ])
155
+ expect(responseCache.write).toHaveBeenCalledTimes(1)
156
+ })
157
+ })
@@ -6,7 +6,7 @@
6
6
  "flags": [],
7
7
  "linkedModules": [],
8
8
  "topLevelPatterns": [
9
- "@types/node@24.12.3",
9
+ "@types/node@24.12.4",
10
10
  "@yeoman/adapter@4.0.2",
11
11
  "@yeoman/types@1.11.1",
12
12
  "mem-fs@4.1.4",
@@ -61,7 +61,7 @@
61
61
  "@types/lodash-es@^4.17.9": "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b",
62
62
  "@types/lodash@*": "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb",
63
63
  "@types/node@*": "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766",
64
- "@types/node@24.12.3": "https://registry.npmjs.org/@types/node/-/node-24.12.3.tgz#c7e80a5ac6d7438bca394d95ee982b705b94e460",
64
+ "@types/node@24.12.4": "https://registry.npmjs.org/@types/node/-/node-24.12.4.tgz#2709745569811dcbdc57c097fafdd387c6330382",
65
65
  "@types/node@>=18": "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766",
66
66
  "@types/normalize-package-data@^2.4.3": "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901",
67
67
  "@types/vinyl@^2.0.12": "https://registry.yarnpkg.com/@types/vinyl/-/vinyl-2.0.12.tgz#17642ca9a8ae10f3db018e9f885da4188db4c6e6",
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node/v24.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Thu, 07 May 2026 22:21:35 GMT
11
+ * Last updated: Mon, 11 May 2026 22:25:21 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
@@ -197,7 +197,10 @@ declare module "http2" {
197
197
  addListener(event: "end", listener: () => void): this;
198
198
  addListener(event: "error", listener: (err: Error) => void): this;
199
199
  addListener(event: "finish", listener: () => void): this;
200
- addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
200
+ addListener(
201
+ event: "frameError",
202
+ listener: (frameType: number, errorCode: number, id: number) => void,
203
+ ): this;
201
204
  addListener(event: "pipe", listener: (src: stream.Readable) => void): this;
202
205
  addListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
203
206
  addListener(event: "streamClosed", listener: (code: number) => void): this;
@@ -212,7 +215,7 @@ declare module "http2" {
212
215
  emit(event: "end"): boolean;
213
216
  emit(event: "error", err: Error): boolean;
214
217
  emit(event: "finish"): boolean;
215
- emit(event: "frameError", frameType: number, errorCode: number): boolean;
218
+ emit(event: "frameError", frameType: number, errorCode: number, id: number): boolean;
216
219
  emit(event: "pipe", src: stream.Readable): boolean;
217
220
  emit(event: "unpipe", src: stream.Readable): boolean;
218
221
  emit(event: "streamClosed", code: number): boolean;
@@ -227,7 +230,7 @@ declare module "http2" {
227
230
  on(event: "end", listener: () => void): this;
228
231
  on(event: "error", listener: (err: Error) => void): this;
229
232
  on(event: "finish", listener: () => void): this;
230
- on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
233
+ on(event: "frameError", listener: (frameType: number, errorCode: number, id: number) => void): this;
231
234
  on(event: "pipe", listener: (src: stream.Readable) => void): this;
232
235
  on(event: "unpipe", listener: (src: stream.Readable) => void): this;
233
236
  on(event: "streamClosed", listener: (code: number) => void): this;
@@ -242,7 +245,7 @@ declare module "http2" {
242
245
  once(event: "end", listener: () => void): this;
243
246
  once(event: "error", listener: (err: Error) => void): this;
244
247
  once(event: "finish", listener: () => void): this;
245
- once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
248
+ once(event: "frameError", listener: (frameType: number, errorCode: number, id: number) => void): this;
246
249
  once(event: "pipe", listener: (src: stream.Readable) => void): this;
247
250
  once(event: "unpipe", listener: (src: stream.Readable) => void): this;
248
251
  once(event: "streamClosed", listener: (code: number) => void): this;
@@ -257,7 +260,10 @@ declare module "http2" {
257
260
  prependListener(event: "end", listener: () => void): this;
258
261
  prependListener(event: "error", listener: (err: Error) => void): this;
259
262
  prependListener(event: "finish", listener: () => void): this;
260
- prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
263
+ prependListener(
264
+ event: "frameError",
265
+ listener: (frameType: number, errorCode: number, id: number) => void,
266
+ ): this;
261
267
  prependListener(event: "pipe", listener: (src: stream.Readable) => void): this;
262
268
  prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
263
269
  prependListener(event: "streamClosed", listener: (code: number) => void): this;
@@ -272,7 +278,10 @@ declare module "http2" {
272
278
  prependOnceListener(event: "end", listener: () => void): this;
273
279
  prependOnceListener(event: "error", listener: (err: Error) => void): this;
274
280
  prependOnceListener(event: "finish", listener: () => void): this;
275
- prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
281
+ prependOnceListener(
282
+ event: "frameError",
283
+ listener: (frameType: number, errorCode: number, id: number) => void,
284
+ ): this;
276
285
  prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this;
277
286
  prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
278
287
  prependOnceListener(event: "streamClosed", listener: (code: number) => void): this;
@@ -896,7 +905,7 @@ declare module "http2" {
896
905
  addListener(event: "error", listener: (err: Error) => void): this;
897
906
  addListener(
898
907
  event: "frameError",
899
- listener: (frameType: number, errorCode: number, streamID: number) => void,
908
+ listener: (frameType: number, errorCode: number, id: number) => void,
900
909
  ): this;
901
910
  addListener(
902
911
  event: "goaway",
@@ -909,7 +918,7 @@ declare module "http2" {
909
918
  addListener(event: string | symbol, listener: (...args: any[]) => void): this;
910
919
  emit(event: "close"): boolean;
911
920
  emit(event: "error", err: Error): boolean;
912
- emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean;
921
+ emit(event: "frameError", frameType: number, errorCode: number, id: number): boolean;
913
922
  emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData?: NonSharedBuffer): boolean;
914
923
  emit(event: "localSettings", settings: Settings): boolean;
915
924
  emit(event: "ping"): boolean;
@@ -918,7 +927,7 @@ declare module "http2" {
918
927
  emit(event: string | symbol, ...args: any[]): boolean;
919
928
  on(event: "close", listener: () => void): this;
920
929
  on(event: "error", listener: (err: Error) => void): this;
921
- on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
930
+ on(event: "frameError", listener: (frameType: number, errorCode: number, id: number) => void): this;
922
931
  on(
923
932
  event: "goaway",
924
933
  listener: (errorCode: number, lastStreamID: number, opaqueData?: NonSharedBuffer) => void,
@@ -930,7 +939,7 @@ declare module "http2" {
930
939
  on(event: string | symbol, listener: (...args: any[]) => void): this;
931
940
  once(event: "close", listener: () => void): this;
932
941
  once(event: "error", listener: (err: Error) => void): this;
933
- once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
942
+ once(event: "frameError", listener: (frameType: number, errorCode: number, id: number) => void): this;
934
943
  once(
935
944
  event: "goaway",
936
945
  listener: (errorCode: number, lastStreamID: number, opaqueData?: NonSharedBuffer) => void,
@@ -944,7 +953,7 @@ declare module "http2" {
944
953
  prependListener(event: "error", listener: (err: Error) => void): this;
945
954
  prependListener(
946
955
  event: "frameError",
947
- listener: (frameType: number, errorCode: number, streamID: number) => void,
956
+ listener: (frameType: number, errorCode: number, id: number) => void,
948
957
  ): this;
949
958
  prependListener(
950
959
  event: "goaway",
@@ -959,7 +968,7 @@ declare module "http2" {
959
968
  prependOnceListener(event: "error", listener: (err: Error) => void): this;
960
969
  prependOnceListener(
961
970
  event: "frameError",
962
- listener: (frameType: number, errorCode: number, streamID: number) => void,
971
+ listener: (frameType: number, errorCode: number, id: number) => void,
963
972
  ): this;
964
973
  prependOnceListener(
965
974
  event: "goaway",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "24.12.3",
3
+ "version": "24.12.4",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -150,6 +150,6 @@
150
150
  "undici-types": "~7.16.0"
151
151
  },
152
152
  "peerDependencies": {},
153
- "typesPublisherContentHash": "b739507708fe87e7676b4fc3062718186fca41edcad460e8b76f9c01934c1097",
153
+ "typesPublisherContentHash": "76f3f21159e10d4dfd4f84eb8376e314b89e0549eccd8d4518ac9b2eca4e55bc",
154
154
  "typeScriptVersion": "5.3"
155
155
  }
@@ -15,6 +15,6 @@
15
15
  "@yeoman/types": "1.11.1",
16
16
  "mem-fs": "4.1.4",
17
17
  "@yeoman/adapter": "4.0.2",
18
- "@types/node": "24.12.3"
18
+ "@types/node": "24.12.4"
19
19
  }
20
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainlink/external-adapter-framework",
3
- "version": "2.14.2",
3
+ "version": "2.14.4",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "repository": "git://github.com/smartcontractkit/ea-framework-js.git",
@@ -8,7 +8,7 @@
8
8
  "dependencies": {
9
9
  "@date-fns/tz": "1.4.1",
10
10
  "ajv": "8.20.0",
11
- "axios": "1.16.0",
11
+ "axios": "1.16.1",
12
12
  "eventsource": "4.1.0",
13
13
  "fastify": "5.8.5",
14
14
  "ioredis": "5.10.1",
@@ -17,7 +17,7 @@
17
17
  "pino-pretty": "13.1.3",
18
18
  "prom-client": "15.1.3",
19
19
  "redlock": "5.0.0-beta.2",
20
- "ws": "8.20.0"
20
+ "ws": "8.20.1"
21
21
  },
22
22
  "scripts": {
23
23
  "build": "rm -rf dist/src && mkdir -p ./dist/src && cp package.json dist/src && cp README.md dist/src && tsc && yarn pre-build-generator",
@@ -47,11 +47,11 @@
47
47
  "@eslint/eslintrc": "3.3.5",
48
48
  "@eslint/js": "10.0.1",
49
49
  "@sinonjs/fake-timers": "15.4.0",
50
- "@types/node": "24.12.3",
50
+ "@types/node": "24.12.4",
51
51
  "@types/sinonjs__fake-timers": "15.0.1",
52
52
  "@types/ws": "8.18.1",
53
- "@typescript-eslint/eslint-plugin": "8.59.2",
54
- "@typescript-eslint/parser": "8.59.2",
53
+ "@typescript-eslint/eslint-plugin": "8.59.3",
54
+ "@typescript-eslint/parser": "8.59.3",
55
55
  "ava": "8.0.0",
56
56
  "axios-mock-adapter": "2.1.0",
57
57
  "c8": "11.0.0",
@@ -226,7 +226,6 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
226
226
  const timeSinceLastActivity = Math.min(timeSinceLastMessage, timeSinceConnectionOpened);
227
227
  const connectionUnresponsive = timeSinceLastActivity > 0 &&
228
228
  timeSinceLastActivity > context.adapterSettings.WS_SUBSCRIPTION_UNRESPONSIVE_TTL;
229
- let connectionClosed = this.connectionClosed();
230
229
  logger.trace(`WS conn staleness info:
231
230
  now: ${now} |
232
231
  timeSinceLastMessage: ${timeSinceLastMessage} |
@@ -255,7 +254,7 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
255
254
  });
256
255
  const urlChanged = this.currentUrl !== urlFromConfig;
257
256
  // Check if we should close the current connection
258
- if (!connectionClosed && (urlChanged || connectionUnresponsive)) {
257
+ if (!this.connectionClosed() && (urlChanged || connectionUnresponsive)) {
259
258
  if (urlChanged) {
260
259
  logger.info('Websocket URL has changed, closing connection to reconnect...');
261
260
  (0, util_1.censorLogs)(() => logger.debug(`Websocket URL changed from ${this.currentUrl} to ${urlFromConfig}`));
@@ -271,7 +270,7 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
271
270
  await (0, util_1.sleep)(1000 - timeSinceConnectionOpened);
272
271
  }
273
272
  this.wsConnection?.close(1000);
274
- connectionClosed = true;
273
+ this.wsConnection = undefined;
275
274
  if (subscriptions.desired.length) {
276
275
  // Clear subscription metrics for all active subscriptions
277
276
  (0, metrics_2.recordWsMessageSubMetrics)(context, [], subscriptions.desired);
@@ -279,7 +278,7 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
279
278
  }
280
279
  }
281
280
  // Check if we need to open a new connection
282
- if (connectionClosed && subscriptions.desired.length) {
281
+ if (this.connectionClosed() && subscriptions.desired.length) {
283
282
  logger.debug('No established connection and new subscriptions available, connecting to WS');
284
283
  const options = this.config.options && (await this.config.options(context, subscriptions.desired));
285
284
  this.currentUrl = urlFromConfig;
@@ -292,13 +291,12 @@ class WebSocketTransport extends streaming_1.StreamingTransport {
292
291
  // Connect to the provider
293
292
  this.wsConnection = await this.establishWsConnection(context, urlFromConfig, options);
294
293
  // Now that we successfully opened the connection, we can reset the variables
295
- connectionClosed = false;
296
294
  this.connectionOpenedAt = Date.now();
297
295
  }
298
296
  // Send messages only if the connection is open
299
297
  // Otherwise we could encounter the case where we just closed the connection because there's no desired ones,
300
298
  // but without this check we'd attempt to send out all the unsubscribe messages
301
- if (!connectionClosed) {
299
+ if (!this.connectionClosed()) {
302
300
  logger.debug('Connection is open, sending subs/unsubs if there are any');
303
301
  const builders = this.config.builders;
304
302
  if (builders) {
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/transports/websocket.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export declare function runPeriodicAsyncBackgroundExecution(clock: InstalledCloc
36
36
  }): Promise<void>;
37
37
  export declare function runAllUntil(clock: InstalledClock, isComplete: () => boolean): Promise<void>;
38
38
  export declare function runAllUntilTime(clock: InstalledClock, time: number): Promise<void>;
39
+ export declare function runAllUntilSettled<T>(clock: InstalledClock, promise: Promise<T>): Promise<T>;
39
40
  export declare class RedisMock {
40
41
  store: LocalCache<string>;
41
42
  keys: {
@@ -37,6 +37,7 @@ exports.allowedUndefinedStubProps = exports.mockWebSocketProvider = exports.Test
37
37
  exports.runPeriodicAsyncBackgroundExecution = runPeriodicAsyncBackgroundExecution;
38
38
  exports.runAllUntil = runAllUntil;
39
39
  exports.runAllUntilTime = runAllUntilTime;
40
+ exports.runAllUntilSettled = runAllUntilSettled;
40
41
  exports.assertEqualResponses = assertEqualResponses;
41
42
  exports.waitUntilResolved = waitUntilResolved;
42
43
  exports.setEnvVariables = setEnvVariables;
@@ -102,6 +103,18 @@ async function runAllUntilTime(clock, time) {
102
103
  await clock.nextAsync();
103
104
  }
104
105
  }
106
+ async function runAllUntilSettled(clock, promise) {
107
+ let settled = false;
108
+ try {
109
+ // Return the derived promise to avoid unhandled promise rejections.
110
+ return promise.finally(() => {
111
+ settled = true;
112
+ });
113
+ }
114
+ finally {
115
+ await runAllUntil(clock, () => settled);
116
+ }
117
+ }
105
118
  class RedisMock {
106
119
  store = new cache_1.LocalCache(10000);
107
120
  keys = {};
@@ -1 +1 @@
1
- {"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../../../src/util/testing-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../../../src/util/testing-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwEA,kFAoBC;AAED,kCAIC;AAED,0CAOC;AAED,gDAaC;AAqFD,oDAqBC;AAqPD,8CAeC;AAED,0CAIC;AA+ED,4BAiBC;AA1kBD,6CAAuC;AACvC,oDAAqC;AAErC,oCAA4C;AAG5C,oCAAgC;AAQhC,mCAAwF;AACxF,2CAAuF;AAA9E,4GAAA,SAAS,OAAiB;AAAE,kHAAA,MAAM,OAAuB;AAWlE,qBAAqB,CAAC,sBAAsB;AAC5C,MAAa,YAAY;IACvB,IAAI,CAAS;IACb,aAAa,CAAmB;IAEhC,KAAK,CAAC,UAAU,CACd,YAAsC,EACtC,eAA8B,EAC9B,YAAoB,EACpB,aAAqB;QAErB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAA;QAC/C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QACzB,OAAM;IACR,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,CAAsD;QAEtD,OAAM;IACR,CAAC;CACF;AApBD,oCAoBC;AAED,MAAa,SAAU,SAAQ,kBAAU;IACvC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IACO,sBAAsB,CAA2B;IAEzD,cAAc;QACZ,sDAAsD;QACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAA;IAC1E,CAAC;IAEQ,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAwB,EAAE,GAAW;QACnE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC1B,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;CACF;AAjBD,8BAiBC;AAEM,KAAK,UAAU,mCAAmC,CACvD,KAAqB,EACrB,EACE,QAAQ,EACR,KAAK,EACL,cAAc,GAKf;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,6BAA6B;QAC7B,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAE/B,yEAAyE;QACzE,iDAAiD;QACjD,MAAM,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,KAAqB,EAAE,UAAyB;IAChF,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,KAAqB,EAAE,IAAY;IACvE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;IACnC,sGAAsG;IACtG,IAAA,aAAK,EAAC,IAAI,CAAC,CAAA;IACX,OAAO,KAAK,CAAC,GAAG,GAAG,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,KAAqB,EACrB,OAAmB;IAEnB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,CAAC;QACH,oEAAoE;QACpE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YAC1B,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED,MAAa,SAAS;IACpB,KAAK,GAAG,IAAI,kBAAU,CAAS,KAAK,CAAC,CAAA;IACrC,IAAI,GAA8B,EAAE,CAAA;IAEpC,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAQ,EAAE,GAAW;QACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAuB,CAAA;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,aAAa,CACX,KAAmC,EACnC,QAA+C;QAE/C,OAAM;IACR,CAAC;IAED,0BAA0B,CAAC,GAAW,EAAE,KAAa,EAAE,GAAW;QAChE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,CAAC,GAAG,IAAgD;QACzD,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAEzC,kFAAkF;QAClF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,WAAW,EAAE,CAAC;YAC1C,OAAO,CAAC,CAAA;QACV,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,WAAW,CAAA;YACnC,OAAO,CAAC,CAAA;QACV,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAM;IACR,CAAC;IAED,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI;QACF,OAAM;IACR,CAAC;CACF;AA7DD,8BA6DC;AAED,MAAM,gBAAgB;IAGA;IAFpB,QAAQ,GAAuB,EAAE,CAAA;IAEjC,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAQ,EAAE,GAAW;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,0BAA0B,CAAC,GAAW,EAAE,KAAa,EAAE,GAAW;QAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QAC9E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACF;AAED,SAAgB,oBAAoB,CAClC,CAAmB,EACnB,MAAuB,EACvB,QAEC;IAED,CAAC,CAAC,EAAE,CAAC,OAAO,MAAM,EAAE,UAAU,EAAE,0BAA0B,EAAE,QAAQ,CAAC,CAAA;IACrE,CAAC,CAAC,EAAE,CACF,OAAO,CACL,MAAM,EAAE,UAAU,EAAE,0BAA0B;QAC9C,MAAM,EAAE,UAAU,EAAE,mCAAmC,CACxD,EACD,QAAQ,CACT,CAAA;IAED,OAAO,MAAM,EAAE,IAAI,CAAA;IAEnB,OAAQ,MAA6C,CAAC,YAAY,CAAC,CAAA;IAEnE,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,WAAW;IACf,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvB,aAAa,CAAC,CAAS;QAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,YAAY,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IACE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC1B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC3B,CAAC,IAAI,EACL,CAAC;gBACD,SAAQ;YACV,CAAC;YAED,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAa,CAAA;YAChF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;iBAC/C,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;iBAC5D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;iBACnB,IAAI,CAAC,GAAG,CAAC,CAAA;YACZ,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,YAAY,EAAE,CAAA;YAE1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAEO,GAAG,CACT,CAAmB,EACnB,EAAE,IAAI,EAAE,MAAM,EAAqD;QAEnE,MAAM,YAAY,GAAG,MAAM;YACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;iBACnB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;iBAC1E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAClC,IAAI,CAAC,GAAG,CAAC;YACd,CAAC,CAAC,EAAE,CAAA;QAEN,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC,CAAA;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;iBACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACzB,MAAM,uBAAuB,GAAG,eAAe,CAAC,MAAM;gBACpD,CAAC,CAAC,mCAAmC,eAAe,EAAE;gBACtD,CAAC,CAAC,mFAAmF,CAAA;YAEvF,CAAC,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,YAAY,KAAK,uBAAuB,EAAE,CAAC,CAAA;QACpF,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CACJ,CAAmB,EACnB,MAIC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAClC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IACpC,CAAC;IAED,oBAAoB,CAClB,CAAmB,EACnB,MAGC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,CAAC,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,EAAE,IAAI,CAAC,CAAA;YACrC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;CACF;AAED,MAAa,WAAW;IAKb;IACA;IACA;IACA;IAPT,SAAS,CAAY;IAErB,sCAAsC;IACtC,YACS,GAAoB,EACpB,OAAmB,EACnB,UAA4B,EAC5B,KAAsB,EAC7B,KAAa;QAJN,QAAG,GAAH,GAAG,CAAiB;QACpB,YAAO,GAAP,OAAO,CAAY;QACnB,eAAU,GAAV,UAAU,CAAkB;QAC5B,UAAK,GAAL,KAAK,CAAiB;QAG7B,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACxB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAC/B,OAAmB,EACnB,OAGa,EACb,YAA2C;QAE3C,2DAA2D;QAC3D,sEAAsE;QACtE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QAExE,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE;YACzC,KAAK,EAAE,SAAS;YAChB,GAAG,YAAY;SAChB,CAIA,CAAA;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,OAAmB,EACnB,OAGa,EACb,YAA2C;QAE3C,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,aAAK,EAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,CAAC,WAAW,GAAG,IAAI,WAAW,CACnC,GAAG,EACH,OAAO,EACP,UAAU,EACV,OAAO,CAAC,KAAK,EACb,YAAY,EAAE,KAAK,CACpB,CAAA;QACD,OAAO,OAAO,CAAC,WAAW,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAa,EAAE,OAAgC;QAC3D,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YACd,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG;YACR,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;YACD,OAAO,EAAE;gBACP,IAAI;aACL;SACF,CAAC,CAAA;QAEJ,yEAAyE;QACzE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,WAAW,EAAE,CAAA;QACtB,CAAC;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,qCAAqC,CACzC,CAAmB,EACnB,MAMC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAA;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAA;QACH,CAAC;QAED,wCAAwC;QACxC,6EAA6E;QAC7E,qBAAqB;QACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACpD,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAE3B,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAEjD,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEvD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,oBAAoB,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAChC,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAqB;QACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAA;QACH,CAAC;QAED,8FAA8F;QAC9F,kGAAkG;QAClG,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAU,CAAC,KAAK,CAAC,IAAI,CAAA;YAC5C,OAAO,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAChD,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;CACF;AAxJD,kCAwJC;AAED,yGAAyG;AAClG,KAAK,UAAU,iBAAiB,CACrC,KAAqB,EACrB,EAAoB;IAEpB,IAAI,MAAM,CAAA;IACV,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;IACrB,CAAC,CAAA;IACD,OAAO,EAAE,CAAA;IACT,wDAAwD;IACxD,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,eAAe,CAAC,YAA+B;IAC7D,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACI,MAAM,qBAAqB,GAAG,CAAC,QAAuC,EAAQ,EAAE;IACrF,+DAA+D;IAC/D,MAAM,aAAc,SAAQ,uBAAS;QACnC,oGAAoG;QAC5F,WAAW,GAAkD,IAAI,GAAG,EAAE,CAAA;QAE9E,YAAY,GAAW,EAAE,QAAgE;YACvF,KAAK,CAAC,GAAG,EAAE,QAAQ,YAAY,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC/D,CAAC;QAED,wGAAwG;QACxG,kBAAkB;YAChB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvC,gIAAgI;gBAChI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC;QAED,uEAAuE;QACvE,EAAE,CAAC,KAAa,EAAE,QAAsC;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YAClD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;YACpD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,KAAa,EAAE,GAAG,IAAe;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YACnD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;YACZ,CAAC;YACD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;QAC7B,CAAC;KACF;IAED,yFAAyF;IACzF,QAAQ,CAAC,GAAG,CAAC,aAAoB,CAAC,CAAA,CAAC,yDAAyD;AAC9F,CAAC,CAAA;AAvCY,QAAA,qBAAqB,yBAuCjC;AAED,8EAA8E;AAC9E,2CAA2C;AAC3C,EAAE;AACF,uEAAuE;AACvE,6EAA6E;AAC7E,oCAAoC;AACpC,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,oBAAoB;AACpB,EAAE;AACF,iBAAiB;AACjB,EAAE;AACF,sBAAsB;AACtB,EAAE;AACF,4BAA4B;AAC5B,8BAA8B;AAC9B,UAAU;AACV,MAAM;AACN,EAAE;AACF,gBAAgB;AAChB,EAAE;AACF,qDAAqD;AACrD,iBAAiB;AACjB,EAAE;AACF,yEAAyE;AACzE,+CAA+C;AAC/C,SAAgB,QAAQ,CAAI,IAAY,EAAE,GAAM;IAC9C,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;QACpB,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACpB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;YAC1C,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,MAAM,OAAO,GAAG,aAAa,QAAQ,kBAAkB,CAAA;gBACvD,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC;YACD,8DAA8D;YAC9D,OAAO,QAAQ,CAAC,QAAQ,EAAG,MAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QAClD,CAAC;KACF,CAAM,CAAA;AACT,CAAC;AAED,6DAA6D;AAChD,QAAA,yBAAyB,GAAG;IACvC,UAAU;IACV,UAAU;IACV,SAAS;IACT,cAAc;IACd,4BAA4B;IAC5B,0BAA0B;IAC1B,QAAQ;IACR,iBAAiB;IACjB,MAAM;CACP,CAAA;AAED,MAAM,0BAA0B,GAAG,CAAC,IAAqB,EAAE,EAAE;IAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,iCAAyB,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,oBAAoB,CAAC,sBAAsB"}