@chainlink/external-adapter-framework 2.8.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +1 -1
  2. package/adapter/basic.js +21 -4
  3. package/adapter/basic.js.map +1 -1
  4. package/adapter/endpoint.js +13 -0
  5. package/adapter/endpoint.js.map +1 -1
  6. package/adapter/por.js +6 -6
  7. package/adapter/por.js.map +1 -1
  8. package/adapter/price.js +1 -0
  9. package/adapter/price.js.map +1 -1
  10. package/cache/local.js +5 -1
  11. package/cache/local.js.map +1 -1
  12. package/cache/redis.js +3 -1
  13. package/cache/redis.js.map +1 -1
  14. package/cache/response.js +5 -0
  15. package/cache/response.js.map +1 -1
  16. package/config/index.js +9 -6
  17. package/config/index.js.map +1 -1
  18. package/generator-adapter/node_modules/.yarn-integrity +4 -4
  19. package/generator-adapter/node_modules/@types/node/README.md +3 -3
  20. package/generator-adapter/node_modules/@types/node/assert/strict.d.ts +105 -2
  21. package/generator-adapter/node_modules/@types/node/assert.d.ts +162 -101
  22. package/generator-adapter/node_modules/@types/node/async_hooks.d.ts +25 -5
  23. package/generator-adapter/node_modules/@types/node/buffer.buffer.d.ts +9 -0
  24. package/generator-adapter/node_modules/@types/node/buffer.d.ts +9 -5
  25. package/generator-adapter/node_modules/@types/node/child_process.d.ts +67 -44
  26. package/generator-adapter/node_modules/@types/node/cluster.d.ts +19 -20
  27. package/generator-adapter/node_modules/@types/node/compatibility/iterators.d.ts +1 -0
  28. package/generator-adapter/node_modules/@types/node/console.d.ts +19 -18
  29. package/generator-adapter/node_modules/@types/node/crypto.d.ts +1247 -355
  30. package/generator-adapter/node_modules/@types/node/dgram.d.ts +10 -9
  31. package/generator-adapter/node_modules/@types/node/diagnostics_channel.d.ts +1 -3
  32. package/generator-adapter/node_modules/@types/node/dns/promises.d.ts +1 -1
  33. package/generator-adapter/node_modules/@types/node/dns.d.ts +23 -18
  34. package/generator-adapter/node_modules/@types/node/domain.d.ts +1 -1
  35. package/generator-adapter/node_modules/@types/node/events.d.ts +81 -35
  36. package/generator-adapter/node_modules/@types/node/fs/promises.d.ts +62 -22
  37. package/generator-adapter/node_modules/@types/node/fs.d.ts +364 -98
  38. package/generator-adapter/node_modules/@types/node/globals.d.ts +4 -4
  39. package/generator-adapter/node_modules/@types/node/globals.typedarray.d.ts +20 -0
  40. package/generator-adapter/node_modules/@types/node/http.d.ts +120 -32
  41. package/generator-adapter/node_modules/@types/node/http2.d.ts +185 -65
  42. package/generator-adapter/node_modules/@types/node/https.d.ts +92 -63
  43. package/generator-adapter/node_modules/@types/node/index.d.ts +10 -5
  44. package/generator-adapter/node_modules/@types/node/inspector.d.ts +277 -0
  45. package/generator-adapter/node_modules/@types/node/inspector.generated.d.ts +908 -886
  46. package/generator-adapter/node_modules/@types/node/module.d.ts +21 -18
  47. package/generator-adapter/node_modules/@types/node/net.d.ts +35 -16
  48. package/generator-adapter/node_modules/@types/node/os.d.ts +22 -10
  49. package/generator-adapter/node_modules/@types/node/package.json +13 -3
  50. package/generator-adapter/node_modules/@types/node/path.d.ts +1 -1
  51. package/generator-adapter/node_modules/@types/node/perf_hooks.d.ts +28 -16
  52. package/generator-adapter/node_modules/@types/node/process.d.ts +30 -30
  53. package/generator-adapter/node_modules/@types/node/punycode.d.ts +1 -1
  54. package/generator-adapter/node_modules/@types/node/querystring.d.ts +1 -1
  55. package/generator-adapter/node_modules/@types/node/readline/promises.d.ts +1 -1
  56. package/generator-adapter/node_modules/@types/node/readline.d.ts +13 -13
  57. package/generator-adapter/node_modules/@types/node/repl.d.ts +23 -13
  58. package/generator-adapter/node_modules/@types/node/sea.d.ts +10 -1
  59. package/generator-adapter/node_modules/@types/node/sqlite.d.ts +245 -23
  60. package/generator-adapter/node_modules/@types/node/stream/consumers.d.ts +2 -2
  61. package/generator-adapter/node_modules/@types/node/stream/web.d.ts +6 -55
  62. package/generator-adapter/node_modules/@types/node/stream.d.ts +63 -37
  63. package/generator-adapter/node_modules/@types/node/string_decoder.d.ts +3 -3
  64. package/generator-adapter/node_modules/@types/node/test.d.ts +196 -40
  65. package/generator-adapter/node_modules/@types/node/timers/promises.d.ts +1 -1
  66. package/generator-adapter/node_modules/@types/node/timers.d.ts +1 -3
  67. package/generator-adapter/node_modules/@types/node/tls.d.ts +124 -114
  68. package/generator-adapter/node_modules/@types/node/trace_events.d.ts +6 -6
  69. package/generator-adapter/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +10 -2
  70. package/generator-adapter/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  71. package/generator-adapter/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +17 -0
  72. package/generator-adapter/node_modules/@types/node/ts5.6/index.d.ts +12 -5
  73. package/generator-adapter/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  74. package/generator-adapter/node_modules/@types/node/ts5.7/index.d.ts +103 -0
  75. package/generator-adapter/node_modules/@types/node/tty.d.ts +1 -1
  76. package/generator-adapter/node_modules/@types/node/url.d.ts +109 -33
  77. package/generator-adapter/node_modules/@types/node/util.d.ts +31 -305
  78. package/generator-adapter/node_modules/@types/node/v8.d.ts +41 -8
  79. package/generator-adapter/node_modules/@types/node/vm.d.ts +258 -107
  80. package/generator-adapter/node_modules/@types/node/wasi.d.ts +23 -2
  81. package/generator-adapter/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
  82. package/generator-adapter/node_modules/@types/node/web-globals/events.d.ts +3 -0
  83. package/generator-adapter/node_modules/@types/node/web-globals/fetch.d.ts +4 -0
  84. package/generator-adapter/node_modules/@types/node/web-globals/navigator.d.ts +3 -0
  85. package/generator-adapter/node_modules/@types/node/web-globals/streams.d.ts +22 -0
  86. package/generator-adapter/node_modules/@types/node/worker_threads.d.ts +142 -51
  87. package/generator-adapter/node_modules/@types/node/zlib.d.ts +36 -31
  88. package/generator-adapter/node_modules/undici-types/agent.d.ts +12 -11
  89. package/generator-adapter/node_modules/undici-types/api.d.ts +24 -24
  90. package/generator-adapter/node_modules/undici-types/balanced-pool.d.ts +11 -11
  91. package/generator-adapter/node_modules/undici-types/cache-interceptor.d.ts +172 -0
  92. package/generator-adapter/node_modules/undici-types/client-stats.d.ts +15 -0
  93. package/generator-adapter/node_modules/undici-types/client.d.ts +18 -18
  94. package/generator-adapter/node_modules/undici-types/cookies.d.ts +2 -0
  95. package/generator-adapter/node_modules/undici-types/diagnostics-channel.d.ts +18 -10
  96. package/generator-adapter/node_modules/undici-types/dispatcher.d.ts +119 -99
  97. package/generator-adapter/node_modules/undici-types/env-http-proxy-agent.d.ts +4 -3
  98. package/generator-adapter/node_modules/undici-types/errors.d.ts +66 -54
  99. package/generator-adapter/node_modules/undici-types/eventsource.d.ts +9 -4
  100. package/generator-adapter/node_modules/undici-types/fetch.d.ts +18 -16
  101. package/generator-adapter/node_modules/undici-types/formdata.d.ts +7 -7
  102. package/generator-adapter/node_modules/undici-types/global-dispatcher.d.ts +4 -4
  103. package/generator-adapter/node_modules/undici-types/global-origin.d.ts +5 -5
  104. package/generator-adapter/node_modules/undici-types/h2c-client.d.ts +73 -0
  105. package/generator-adapter/node_modules/undici-types/handlers.d.ts +8 -8
  106. package/generator-adapter/node_modules/undici-types/header.d.ts +157 -1
  107. package/generator-adapter/node_modules/undici-types/index.d.ts +56 -47
  108. package/generator-adapter/node_modules/undici-types/interceptors.d.ts +30 -8
  109. package/generator-adapter/node_modules/undici-types/mock-agent.d.ts +36 -18
  110. package/generator-adapter/node_modules/undici-types/mock-call-history.d.ts +111 -0
  111. package/generator-adapter/node_modules/undici-types/mock-client.d.ts +6 -4
  112. package/generator-adapter/node_modules/undici-types/mock-errors.d.ts +3 -3
  113. package/generator-adapter/node_modules/undici-types/mock-interceptor.d.ts +21 -20
  114. package/generator-adapter/node_modules/undici-types/mock-pool.d.ts +6 -4
  115. package/generator-adapter/node_modules/undici-types/package.json +1 -1
  116. package/generator-adapter/node_modules/undici-types/patch.d.ts +0 -4
  117. package/generator-adapter/node_modules/undici-types/pool-stats.d.ts +8 -8
  118. package/generator-adapter/node_modules/undici-types/pool.d.ts +14 -12
  119. package/generator-adapter/node_modules/undici-types/proxy-agent.d.ts +5 -4
  120. package/generator-adapter/node_modules/undici-types/readable.d.ts +18 -15
  121. package/generator-adapter/node_modules/undici-types/retry-agent.d.ts +1 -1
  122. package/generator-adapter/node_modules/undici-types/retry-handler.d.ts +19 -10
  123. package/generator-adapter/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  124. package/generator-adapter/node_modules/undici-types/util.d.ts +3 -3
  125. package/generator-adapter/node_modules/undici-types/utility.d.ts +7 -0
  126. package/generator-adapter/node_modules/undici-types/webidl.d.ts +142 -29
  127. package/generator-adapter/node_modules/undici-types/websocket.d.ts +38 -2
  128. package/generator-adapter/package.json +1 -1
  129. package/metrics/index.js +3 -0
  130. package/metrics/index.js.map +1 -1
  131. package/package.json +8 -8
  132. package/rate-limiting/burst.js +6 -6
  133. package/rate-limiting/burst.js.map +1 -1
  134. package/rate-limiting/fixed-interval.js +2 -3
  135. package/rate-limiting/fixed-interval.js.map +1 -1
  136. package/transports/abstract/streaming.js +7 -10
  137. package/transports/abstract/streaming.js.map +1 -1
  138. package/transports/abstract/subscription.js +4 -0
  139. package/transports/abstract/subscription.js.map +1 -1
  140. package/transports/http.js +5 -3
  141. package/transports/http.js.map +1 -1
  142. package/transports/index.js +1 -3
  143. package/transports/index.js.map +1 -1
  144. package/transports/sse.js +6 -2
  145. package/transports/sse.js.map +1 -1
  146. package/transports/websocket.d.ts +9 -1
  147. package/transports/websocket.js +25 -13
  148. package/transports/websocket.js.map +1 -1
  149. package/util/censor/censor-list.js +1 -1
  150. package/util/censor/censor-list.js.map +1 -1
  151. package/util/group-runner.js +3 -2
  152. package/util/group-runner.js.map +1 -1
  153. package/util/index.js +8 -1
  154. package/util/index.js.map +1 -1
  155. package/util/logger.js +8 -1
  156. package/util/logger.js.map +1 -1
  157. package/util/requester.js +11 -3
  158. package/util/requester.js.map +1 -1
  159. package/util/subscription-set/expiring-sorted-set.js +3 -0
  160. package/util/subscription-set/expiring-sorted-set.js.map +1 -1
  161. package/util/subscription-set/redis-sorted-set.js +3 -0
  162. package/util/subscription-set/redis-sorted-set.js.map +1 -1
  163. package/util/subscription-set/subscription-set.js +5 -0
  164. package/util/subscription-set/subscription-set.js.map +1 -1
  165. package/util/testing-utils.js +13 -6
  166. package/util/testing-utils.js.map +1 -1
  167. package/validation/error.js +13 -0
  168. package/validation/error.js.map +1 -1
  169. package/validation/input-params.js +14 -0
  170. package/validation/input-params.js.map +1 -1
  171. package/generator-adapter/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  172. package/generator-adapter/node_modules/@types/node/compatibility/index.d.ts +0 -9
  173. package/generator-adapter/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  174. package/generator-adapter/node_modules/undici-types/file.d.ts +0 -39
  175. package/generator-adapter/node_modules/undici-types/filereader.d.ts +0 -54
@@ -0,0 +1,109 @@
1
+ import MockAgent from './mock-agent'
2
+
3
+ declare class SnapshotRecorder {
4
+ constructor (options?: SnapshotRecorder.Options)
5
+
6
+ record (requestOpts: any, response: any): Promise<void>
7
+ findSnapshot (requestOpts: any): SnapshotRecorder.Snapshot | undefined
8
+ loadSnapshots (filePath?: string): Promise<void>
9
+ saveSnapshots (filePath?: string): Promise<void>
10
+ clear (): void
11
+ getSnapshots (): SnapshotRecorder.Snapshot[]
12
+ size (): number
13
+ resetCallCounts (): void
14
+ deleteSnapshot (requestOpts: any): boolean
15
+ getSnapshotInfo (requestOpts: any): SnapshotRecorder.SnapshotInfo | null
16
+ replaceSnapshots (snapshotData: SnapshotRecorder.SnapshotData[]): void
17
+ destroy (): void
18
+ }
19
+
20
+ declare namespace SnapshotRecorder {
21
+ type SnapshotRecorderMode = 'record' | 'playback' | 'update'
22
+
23
+ export interface Options {
24
+ snapshotPath?: string
25
+ mode?: SnapshotRecorderMode
26
+ maxSnapshots?: number
27
+ autoFlush?: boolean
28
+ flushInterval?: number
29
+ matchHeaders?: string[]
30
+ ignoreHeaders?: string[]
31
+ excludeHeaders?: string[]
32
+ matchBody?: boolean
33
+ matchQuery?: boolean
34
+ caseSensitive?: boolean
35
+ shouldRecord?: (requestOpts: any) => boolean
36
+ shouldPlayback?: (requestOpts: any) => boolean
37
+ excludeUrls?: (string | RegExp)[]
38
+ }
39
+
40
+ export interface Snapshot {
41
+ request: {
42
+ method: string
43
+ url: string
44
+ headers: Record<string, string>
45
+ body?: string
46
+ }
47
+ responses: {
48
+ statusCode: number
49
+ headers: Record<string, string>
50
+ body: string
51
+ trailers: Record<string, string>
52
+ }[]
53
+ callCount: number
54
+ timestamp: string
55
+ }
56
+
57
+ export interface SnapshotInfo {
58
+ hash: string
59
+ request: {
60
+ method: string
61
+ url: string
62
+ headers: Record<string, string>
63
+ body?: string
64
+ }
65
+ responseCount: number
66
+ callCount: number
67
+ timestamp: string
68
+ }
69
+
70
+ export interface SnapshotData {
71
+ hash: string
72
+ snapshot: Snapshot
73
+ }
74
+ }
75
+
76
+ declare class SnapshotAgent extends MockAgent {
77
+ constructor (options?: SnapshotAgent.Options)
78
+
79
+ saveSnapshots (filePath?: string): Promise<void>
80
+ loadSnapshots (filePath?: string): Promise<void>
81
+ getRecorder (): SnapshotRecorder
82
+ getMode (): SnapshotRecorder.SnapshotRecorderMode
83
+ clearSnapshots (): void
84
+ resetCallCounts (): void
85
+ deleteSnapshot (requestOpts: any): boolean
86
+ getSnapshotInfo (requestOpts: any): SnapshotRecorder.SnapshotInfo | null
87
+ replaceSnapshots (snapshotData: SnapshotRecorder.SnapshotData[]): void
88
+ }
89
+
90
+ declare namespace SnapshotAgent {
91
+ export interface Options extends MockAgent.Options {
92
+ mode?: SnapshotRecorder.SnapshotRecorderMode
93
+ snapshotPath?: string
94
+ maxSnapshots?: number
95
+ autoFlush?: boolean
96
+ flushInterval?: number
97
+ matchHeaders?: string[]
98
+ ignoreHeaders?: string[]
99
+ excludeHeaders?: string[]
100
+ matchBody?: boolean
101
+ matchQuery?: boolean
102
+ caseSensitive?: boolean
103
+ shouldRecord?: (requestOpts: any) => boolean
104
+ shouldPlayback?: (requestOpts: any) => boolean
105
+ excludeUrls?: (string | RegExp)[]
106
+ }
107
+ }
108
+
109
+ export { SnapshotAgent, SnapshotRecorder }
@@ -3,7 +3,7 @@ export namespace util {
3
3
  * Retrieves a header name and returns its lowercase value.
4
4
  * @param value Header name
5
5
  */
6
- export function headerNameToString(value: string | Buffer): string;
6
+ export function headerNameToString (value: string | Buffer): string
7
7
 
8
8
  /**
9
9
  * Receives a header object and returns the parsed value.
@@ -11,8 +11,8 @@ export namespace util {
11
11
  * @param obj Object to specify a proxy object. Used to assign parsed values.
12
12
  * @returns If `obj` is specified, it is equivalent to `obj`.
13
13
  */
14
- export function parseHeaders(
14
+ export function parseHeaders (
15
15
  headers: (Buffer | string | (Buffer | string)[])[],
16
16
  obj?: Record<string, string | string[]>
17
- ): Record<string, string | string[]>;
17
+ ): Record<string, string | string[]>
18
18
  }
@@ -0,0 +1,7 @@
1
+ type AutocompletePrimitiveBaseType<T> =
2
+ T extends string ? string :
3
+ T extends number ? number :
4
+ T extends boolean ? boolean :
5
+ never
6
+
7
+ export type Autocomplete<T> = T | (AutocompletePrimitiveBaseType<T> & Record<never, never>)
@@ -1,4 +1,5 @@
1
1
  // These types are not exported, and are only used internally
2
+ import * as undici from './index'
2
3
 
3
4
  /**
4
5
  * Take in an unknown value and return one that is of type T
@@ -9,15 +10,13 @@ type SequenceConverter<T> = (object: unknown, iterable?: IterableIterator<T>) =>
9
10
 
10
11
  type RecordConverter<K extends string, V> = (object: unknown) => Record<K, V>
11
12
 
12
- interface ConvertToIntOpts {
13
- clamp?: boolean
14
- enforceRange?: boolean
15
- }
16
-
17
13
  interface WebidlErrors {
14
+ /**
15
+ * @description Instantiate an error
16
+ */
18
17
  exception (opts: { header: string, message: string }): TypeError
19
18
  /**
20
- * @description Throw an error when conversion from one type to another has failed
19
+ * @description Instantiate an error when conversion from one type to another has failed
21
20
  */
22
21
  conversionFailed (opts: {
23
22
  prefix: string
@@ -34,11 +33,24 @@ interface WebidlErrors {
34
33
  }): TypeError
35
34
  }
36
35
 
36
+ interface WebIDLTypes {
37
+ UNDEFINED: 1,
38
+ BOOLEAN: 2,
39
+ STRING: 3,
40
+ SYMBOL: 4,
41
+ NUMBER: 5,
42
+ BIGINT: 6,
43
+ NULL: 7
44
+ OBJECT: 8
45
+ }
46
+
37
47
  interface WebidlUtil {
38
48
  /**
39
49
  * @see https://tc39.es/ecma262/#sec-ecmascript-data-types-and-values
40
50
  */
41
- Type (object: unknown):
51
+ Type (object: unknown): WebIDLTypes[keyof WebIDLTypes]
52
+
53
+ TypeValueToString (o: unknown):
42
54
  | 'Undefined'
43
55
  | 'Boolean'
44
56
  | 'String'
@@ -48,6 +60,8 @@ interface WebidlUtil {
48
60
  | 'Null'
49
61
  | 'Object'
50
62
 
63
+ Types: WebIDLTypes
64
+
51
65
  /**
52
66
  * @see https://webidl.spec.whatwg.org/#abstract-opdef-converttoint
53
67
  */
@@ -55,11 +69,11 @@ interface WebidlUtil {
55
69
  V: unknown,
56
70
  bitLength: number,
57
71
  signedness: 'signed' | 'unsigned',
58
- opts?: ConvertToIntOpts
72
+ flags?: number
59
73
  ): number
60
74
 
61
75
  /**
62
- * @see https://webidl.spec.whatwg.org/#abstract-opdef-converttoint
76
+ * @see https://webidl.spec.whatwg.org/#abstract-opdef-integerpart
63
77
  */
64
78
  IntegerPart (N: number): number
65
79
 
@@ -68,20 +82,24 @@ interface WebidlUtil {
68
82
  */
69
83
  Stringify (V: any): string
70
84
 
85
+ MakeTypeAssertion <I>(I: I): (arg: any) => arg is I
86
+
71
87
  /**
72
88
  * Mark a value as uncloneable for Node.js.
73
89
  * This is only effective in some newer Node.js versions.
74
90
  */
75
91
  markAsUncloneable (V: any): void
92
+
93
+ IsResizableArrayBuffer (V: ArrayBufferLike): boolean
94
+
95
+ HasFlag (flag: number, attributes: number): boolean
76
96
  }
77
97
 
78
98
  interface WebidlConverters {
79
99
  /**
80
100
  * @see https://webidl.spec.whatwg.org/#es-DOMString
81
101
  */
82
- DOMString (V: unknown, prefix: string, argument: string, opts?: {
83
- legacyNullToEmptyString: boolean
84
- }): string
102
+ DOMString (V: unknown, prefix: string, argument: string, flags?: number): string
85
103
 
86
104
  /**
87
105
  * @see https://webidl.spec.whatwg.org/#es-ByteString
@@ -121,59 +139,140 @@ interface WebidlConverters {
121
139
  /**
122
140
  * @see https://webidl.spec.whatwg.org/#es-unsigned-short
123
141
  */
124
- ['unsigned short'] (V: unknown, opts?: ConvertToIntOpts): number
142
+ ['unsigned short'] (V: unknown, flags?: number): number
125
143
 
126
144
  /**
127
145
  * @see https://webidl.spec.whatwg.org/#idl-ArrayBuffer
128
146
  */
129
- ArrayBuffer (V: unknown): ArrayBufferLike
130
- ArrayBuffer (V: unknown, opts: { allowShared: false }): ArrayBuffer
147
+ ArrayBuffer (
148
+ V: unknown,
149
+ prefix: string,
150
+ argument: string,
151
+ options?: { allowResizable: boolean }
152
+ ): ArrayBuffer
153
+
154
+ /**
155
+ * @see https://webidl.spec.whatwg.org/#idl-SharedArrayBuffer
156
+ */
157
+ SharedArrayBuffer (
158
+ V: unknown,
159
+ prefix: string,
160
+ argument: string,
161
+ options?: { allowResizable: boolean }
162
+ ): SharedArrayBuffer
131
163
 
132
164
  /**
133
165
  * @see https://webidl.spec.whatwg.org/#es-buffer-source-types
134
166
  */
135
167
  TypedArray (
136
168
  V: unknown,
137
- TypedArray: NodeJS.TypedArray | ArrayBufferLike
138
- ): NodeJS.TypedArray | ArrayBufferLike
139
- TypedArray (
169
+ T: new () => NodeJS.TypedArray,
170
+ prefix: string,
171
+ argument: string,
172
+ flags?: number
173
+ ): NodeJS.TypedArray
174
+
175
+ /**
176
+ * @see https://webidl.spec.whatwg.org/#es-buffer-source-types
177
+ */
178
+ DataView (
140
179
  V: unknown,
141
- TypedArray: NodeJS.TypedArray | ArrayBufferLike,
142
- opts?: { allowShared: false }
143
- ): NodeJS.TypedArray | ArrayBuffer
180
+ prefix: string,
181
+ argument: string,
182
+ flags?: number
183
+ ): DataView
144
184
 
145
185
  /**
146
186
  * @see https://webidl.spec.whatwg.org/#es-buffer-source-types
147
187
  */
148
- DataView (V: unknown, opts?: { allowShared: boolean }): DataView
188
+ ArrayBufferView (
189
+ V: unknown,
190
+ prefix: string,
191
+ argument: string,
192
+ flags?: number
193
+ ): NodeJS.ArrayBufferView
149
194
 
150
195
  /**
151
196
  * @see https://webidl.spec.whatwg.org/#BufferSource
152
197
  */
153
198
  BufferSource (
154
199
  V: unknown,
155
- opts?: { allowShared: boolean }
156
- ): NodeJS.TypedArray | ArrayBufferLike | DataView
200
+ prefix: string,
201
+ argument: string,
202
+ flags?: number
203
+ ): ArrayBuffer | NodeJS.ArrayBufferView
204
+
205
+ /**
206
+ * @see https://webidl.spec.whatwg.org/#AllowSharedBufferSource
207
+ */
208
+ AllowSharedBufferSource (
209
+ V: unknown,
210
+ prefix: string,
211
+ argument: string,
212
+ flags?: number
213
+ ): ArrayBuffer | SharedArrayBuffer | NodeJS.ArrayBufferView
157
214
 
158
215
  ['sequence<ByteString>']: SequenceConverter<string>
159
-
216
+
160
217
  ['sequence<sequence<ByteString>>']: SequenceConverter<string[]>
161
218
 
162
219
  ['record<ByteString, ByteString>']: RecordConverter<string, string>
163
220
 
221
+ /**
222
+ * @see https://fetch.spec.whatwg.org/#requestinfo
223
+ */
224
+ RequestInfo (V: unknown): undici.Request | string
225
+
226
+ /**
227
+ * @see https://fetch.spec.whatwg.org/#requestinit
228
+ */
229
+ RequestInit (V: unknown): undici.RequestInit
230
+
231
+ /**
232
+ * @see https://html.spec.whatwg.org/multipage/webappapis.html#eventhandlernonnull
233
+ */
234
+ EventHandlerNonNull (V: unknown): Function | null
235
+
236
+ WebSocketStreamWrite (V: unknown): ArrayBuffer | NodeJS.TypedArray | string
237
+
164
238
  [Key: string]: (...args: any[]) => unknown
165
239
  }
166
240
 
241
+ type WebidlIsFunction<T> = (arg: any) => arg is T
242
+
243
+ interface WebidlIs {
244
+ Request: WebidlIsFunction<undici.Request>
245
+ Response: WebidlIsFunction<undici.Response>
246
+ ReadableStream: WebidlIsFunction<ReadableStream>
247
+ Blob: WebidlIsFunction<Blob>
248
+ URLSearchParams: WebidlIsFunction<URLSearchParams>
249
+ File: WebidlIsFunction<File>
250
+ FormData: WebidlIsFunction<undici.FormData>
251
+ URL: WebidlIsFunction<URL>
252
+ WebSocketError: WebidlIsFunction<undici.WebSocketError>
253
+ AbortSignal: WebidlIsFunction<AbortSignal>
254
+ MessagePort: WebidlIsFunction<MessagePort>
255
+ USVString: WebidlIsFunction<string>
256
+ /**
257
+ * @see https://webidl.spec.whatwg.org/#BufferSource
258
+ */
259
+ BufferSource: WebidlIsFunction<ArrayBuffer | NodeJS.TypedArray>
260
+ }
261
+
167
262
  export interface Webidl {
168
263
  errors: WebidlErrors
169
264
  util: WebidlUtil
170
265
  converters: WebidlConverters
266
+ is: WebidlIs
267
+ attributes: WebIDLExtendedAttributes
171
268
 
172
269
  /**
173
270
  * @description Performs a brand-check on {@param V} to ensure it is a
174
271
  * {@param cls} object.
175
272
  */
176
- brandCheck <Interface>(V: unknown, cls: Interface, opts?: { strict?: boolean }): asserts V is Interface
273
+ brandCheck <Interface extends new () => unknown>(V: unknown, cls: Interface): asserts V is Interface
274
+
275
+ brandCheckMultiple <Interfaces extends (new () => unknown)[]> (list: Interfaces): (V: any) => asserts V is Interfaces[number]
177
276
 
178
277
  /**
179
278
  * @see https://webidl.spec.whatwg.org/#es-sequence
@@ -196,10 +295,11 @@ export interface Webidl {
196
295
  * Similar to {@link Webidl.brandCheck} but allows skipping the check if third party
197
296
  * interfaces are allowed.
198
297
  */
199
- interfaceConverter <Interface>(cls: Interface): (
298
+ interfaceConverter <Interface>(typeCheck: WebidlIsFunction<Interface>, name: string): (
200
299
  V: unknown,
201
- opts?: { strict: boolean }
202
- ) => asserts V is typeof cls
300
+ prefix: string,
301
+ argument: string
302
+ ) => asserts V is Interface
203
303
 
204
304
  // TODO(@KhafraDev): a type could likely be implemented that can infer the return type
205
305
  // from the converters given?
@@ -226,3 +326,16 @@ export interface Webidl {
226
326
 
227
327
  argumentLengthCheck (args: { length: number }, min: number, context: string): void
228
328
  }
329
+
330
+ interface WebIDLExtendedAttributes {
331
+ /** https://webidl.spec.whatwg.org/#Clamp */
332
+ Clamp: number
333
+ /** https://webidl.spec.whatwg.org/#EnforceRange */
334
+ EnforceRange: number
335
+ /** https://webidl.spec.whatwg.org/#AllowShared */
336
+ AllowShared: number
337
+ /** https://webidl.spec.whatwg.org/#AllowResizable */
338
+ AllowResizable: number
339
+ /** https://webidl.spec.whatwg.org/#LegacyNullToEmptyString */
340
+ LegacyNullToEmptyString: number
341
+ }
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
 
3
3
  import type { Blob } from 'buffer'
4
+ import type { ReadableStream, WritableStream } from 'stream/web'
4
5
  import type { MessagePort } from 'worker_threads'
5
6
  import {
6
7
  EventInit,
@@ -22,7 +23,7 @@ interface WebSocketEventMap {
22
23
 
23
24
  interface WebSocket extends EventTarget {
24
25
  binaryType: BinaryType
25
-
26
+
26
27
  readonly bufferedAmount: number
27
28
  readonly extensions: string
28
29
 
@@ -135,7 +136,7 @@ interface ErrorEvent extends Event {
135
136
  readonly filename: string
136
137
  readonly lineno: number
137
138
  readonly colno: number
138
- readonly error: any
139
+ readonly error: Error
139
140
  }
140
141
 
141
142
  export declare const ErrorEvent: {
@@ -148,3 +149,38 @@ interface WebSocketInit {
148
149
  dispatcher?: Dispatcher,
149
150
  headers?: HeadersInit
150
151
  }
152
+
153
+ interface WebSocketStreamOptions {
154
+ protocols?: string | string[]
155
+ signal?: AbortSignal
156
+ }
157
+
158
+ interface WebSocketCloseInfo {
159
+ closeCode: number
160
+ reason: string
161
+ }
162
+
163
+ interface WebSocketStream {
164
+ closed: Promise<WebSocketCloseInfo>
165
+ opened: Promise<{
166
+ extensions: string
167
+ protocol: string
168
+ readable: ReadableStream
169
+ writable: WritableStream
170
+ }>
171
+ url: string
172
+ }
173
+
174
+ export declare const WebSocketStream: {
175
+ prototype: WebSocketStream
176
+ new (url: string | URL, options?: WebSocketStreamOptions): WebSocketStream
177
+ }
178
+
179
+ interface WebSocketError extends Event, WebSocketCloseInfo {}
180
+
181
+ export declare const WebSocketError: {
182
+ prototype: WebSocketError
183
+ new (type: string, init?: WebSocketCloseInfo): WebSocketError
184
+ }
185
+
186
+ export declare const ping: (ws: WebSocket, body?: Buffer) => void
@@ -15,6 +15,6 @@
15
15
  "@yeoman/types": "1.8.0",
16
16
  "mem-fs": "4.1.2",
17
17
  "@yeoman/adapter": "3.1.0",
18
- "@types/node": "22.18.6"
18
+ "@types/node": "24.10.0"
19
19
  }
20
20
  }
package/metrics/index.js CHANGED
@@ -102,6 +102,9 @@ const buildMetricsMiddleware = (rawReq, res, done) => {
102
102
  };
103
103
  exports.buildMetricsMiddleware = buildMetricsMiddleware;
104
104
  class Metrics {
105
+ // Stores the method to register metrics to be used later on initialization
106
+ metricsDefinition;
107
+ metrics;
105
108
  constructor(metricsDefinition) {
106
109
  this.metricsDefinition = metricsDefinition;
107
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,gDAsBC;AAxCD,sDAAwF;AACxF,+BAA2B;AAC3B,oDAAqC;AAErC,oCAAsD;AACtD,kCAAgE;AAChE,+CAAkD;AAElD,2CAAqE;AAErE,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,SAAS,CAAC,CAAA;AAEpC,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAED,SAAgB,kBAAkB,CAAC,IAAY,EAAE,eAAgC;IAC/E,MAAM,WAAW,GAA2C,IAAA,qBAAa,EAAC,eAAe,CAAC,CAAA;IAC1F,MAAM,UAAU,GAAG,IAAA,iBAAO,EAAC;QACzB,GAAG,WAAW;QACd,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,CAAA;IAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,oBAAoB;QACnD,CAAC,CAAC,IAAA,WAAI,EAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC3C,CAAC,CAAC,UAAU,CAAA;IACd,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAA;IACtC,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC,CAAA;IAE3E,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAA;IAElB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACpC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACf,GAAG,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,OAAO,UAAU,CAAA;AACnB,CAAC;AAEM,MAAM,YAAY,GAAG,CAAC,IAAY,EAAQ,EAAE;IACjD,MAAM,CAAC,qBAAqB,EAAE,CAAA;IAC9B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC/B,QAAQ,EAAE,IAAI,IAAI,KAAK;QACvB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;KAChD,CAAC,CAAA;AACJ,CAAC,CAAA;AANY,QAAA,YAAY,gBAMxB;AAED;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CACpC,MAAsB,EACtB,GAAiB,EACjB,IAA6B,EAC7B,EAAE;IACF,MAAM,GAAG,GAAG,MAA8C,CAAA;IAE1D,8EAA8E;IAC9E,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,CAAA;IACjE,MAAM,MAAM,GAAG,IAAA,oCAA4B,EACzC,MAAM,EACN,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAC/B,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAC3C,GAAG,CAAC,UAAU,CACf,CAAA;IAED,uCAAuC;IACvC,eAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAA;IAErD,oDAAoD;IACpD,eAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACzE,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAA;IAEnF,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/D,eAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACtD,IAAI,EAAE,CAAA;AACR,CAAC,CAAA;AA1BY,QAAA,sBAAsB,0BA0BlC;AAED,MAAa,OAAO;IAClB,2EAA2E;IACnE,iBAAiB,CAAS;IAC1B,OAAO,CAAI;IAEnB,YAAY,iBAA0B;QACpC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;IAED,kEAAkE;IAClE,+DAA+D;IAC/D,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACzC,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,GAAG,CAAoB,IAAO;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,WAAW,IAAc,kCAAkC,CAAC,CAAA;QAC9E,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK;QACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;IAC1B,CAAC;CACF;AAjCD,0BAiCC;AAED,MAAM,uBAAuB,GAAG;IAC9B,QAAQ;IACR,aAAa;IACb,OAAO;IACP,MAAM;IACN,SAAS;IACT,sBAAsB;CACd,CAAA;AAEV,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,YAAY,CAAU,CAAA;AAExE,MAAM,4BAA4B,GAAG,CAC1C,MAAc,EACd,KAA4B,EAC5B,QAAkB,EAClB,kBAA2B,EACkB,EAAE;IAC/C,MAAM,MAAM,GAAG,EAAmF,CAAA;IAClG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,IAAI,KAAK,YAAY,oBAAY,EAAE,CAAC;QAClC,+EAA+E;QAC/E,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,YAAY,IAAI,2BAAe,CAAC,aAAa,CAAA;QAClE,MAAM,CAAC,WAAW,GAAG,KAAK,EAAE,UAAU,CAAA;QACtC,MAAM,CAAC,oBAAoB,GAAG,KAAK,EAAE,kBAAkB,CAAA;IACzD,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAClC,kFAAkF;QAClF,MAAM,CAAC,IAAI,GAAG,2BAAe,CAAC,aAAa,CAAA;QAC3C,MAAM,CAAC,WAAW,GAAG,GAAG,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,MAAM,CAAC,WAAW,GAAG,kBAAkB,IAAI,GAAG,CAAA;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,GAAG,2BAAe,CAAC,SAAS,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,GAAG,2BAAe,CAAC,iBAAiB,CAAA;YAC/C,MAAM,CAAC,oBAAoB,GAAG,GAAG,CAAA;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA9BY,QAAA,4BAA4B,gCA8BxC;AAED,iCAAiC;AAC1B,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;AAEF,8CAA8C;AAC9C,kCAAkC;AAC3B,MAAM,YAAY,GAAG,CAAuB,IAA0B,EAAU,EAAE;IACvF,MAAM,IAAI,GAAI,IAAgC,EAAE,CAAC,MAAM,CAAC,CAAA;IACxD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,YAAY,gBAOxB;AAEM,MAAM,wBAAwB,GAAG,CAAC,MAAuB,EAAE,YAAoB,EAAQ,EAAE,CAC9F,eAAO;KACJ,GAAG,CAAC,wBAAwB,CAAC;KAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;KACxE,GAAG,EAAE,CAAA;AAJG,QAAA,wBAAwB,4BAI3B;AAEG,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,iBAAiB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,sFAAsF;QAC5F,UAAU,EAAE,uBAAuB;KACpC,CAAC;IACF,0BAA0B,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;QAC/C,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,kEAAkE;QACxE,OAAO,EAAE,kCAAsB;KAChC,CAAC;IACF,wBAAwB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QACzC,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,uEAAuE;QAC7E,UAAU,EAAE,CAAC,kBAAkB,CAAU;KAC1C,CAAC;IACF,oBAAoB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACvC,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,8DAA8D;QACpE,UAAU,EAAE,CAAC,QAAQ,EAAE,sBAAsB,CAAU;KACxD,CAAC;IACF,kCAAkC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;QACvD,IAAI,EAAE,wCAAwC;QAC9C,IAAI,EAAE,2EAA2E;QACjF,OAAO,EAAE,kCAAsB;KAChC,CAAC;IACF,kBAAkB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,sEAAsE;KAC7E,CAAC;IACF,sBAAsB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACzC,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,+EAA+E;KACtF,CAAC;IACF,kBAAkB,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;QACvC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,yEAAyE;QAC/E,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACtC,CAAC;IACF,6BAA6B,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QAC9C,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,0DAA0D;QAChE,UAAU,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,CAAU;KACzE,CAAC;IACF,cAAc,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,0DAA0D;QAChE,UAAU,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAU;KACvD,CAAC;IACF,eAAe,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QAClC,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,kEAAkE;QACxE,UAAU,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAU;KACvD,CAAC;IACF,wBAAwB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QACzC,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,wEAAwE;QAC9E,UAAU,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAU;KACvD,CAAC;IACF,iBAAiB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,wEAAwE;QAC9E,UAAU,EAAE,kBAAkB;KAC/B,CAAC;IACF,kBAAkB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,0DAA0D;QAChE,UAAU,EAAE,kBAAkB;KAC/B,CAAC;IACF,eAAe,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,4DAA4D;QAClE,UAAU,EAAE,kBAAkB;KAC/B,CAAC;IACF,iBAAiB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,kEAAkE;QACxE,UAAU,EAAE,CAAC,GAAG,kBAAkB,EAAE,aAAa,CAAC;KACnD,CAAC;IACF,yBAAyB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QAC1C,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,wGAAwG;QAC9G,UAAU,EAAE,kBAAkB;KAC/B,CAAC;IACF,kBAAkB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACrC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,uEAAuE;KAC9E,CAAC;IACF,yBAAyB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QAC1C,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,+GAA+G;QACrH,UAAU,EAAE,kBAAkB;KAC/B,CAAC;IACF,iBAAiB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,4GAA4G;QAClH,UAAU,EAAE,CAAC,SAAS,CAAC;KACxB,CAAC;IACF,oBAAoB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACvC,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,+CAA+C;KACtD,CAAC;IACF,iBAAiB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,2EAA2E;KAClF,CAAC;IACF,sBAAsB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACzC,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;KACxC,CAAC;IACF,mBAAmB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,8DAA8D;QACpE,UAAU,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAU;KACvD,CAAC;IACF,gBAAgB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,qCAAqC;QAC3C,UAAU,EAAE,CAAC,WAAW,CAAU;KACnC,CAAC;IACF,mBAAmB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,wCAAwC;KAC/C,CAAC;IACF,kBAAkB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,kCAAkC;KACzC,CAAC;IACF,kBAAkB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACrC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,CAAC,SAAS,CAAU;KACjC,CAAC;IACF,oBAAoB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACvC,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAU;KACrC,CAAC;IACF,oBAAoB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,8CAA8C;QACpD,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAU;KACrD,CAAC;IACF,mBAAmB,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,6CAA6C;QACnD,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAU;KACrD,CAAC;IACF,cAAc,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,sCAAsC;QAC5C,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,WAAW,CAAU;KAClE,CAAC;IACF,4BAA4B,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QAC/C,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,+FAA+F;QACrG,UAAU,EAAE,CAAC,kBAAkB,CAAU;KAC1C,CAAC;IACF,+BAA+B,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QAChD,IAAI,EAAE,oCAAoC;QAC1C,IAAI,EAAE,iFAAiF;QACvF,UAAU,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAU;KACvD,CAAC;IACF,0BAA0B,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC;QAC7C,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,8DAA8D;QACpE,UAAU,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAU;KACnD,CAAC;IACF,uBAAuB,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;QACxC,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,yDAAyD;QAC/D,UAAU,EAAE,CAAC,SAAS,CAAU;KACjC,CAAC;CACH,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@chainlink/external-adapter-framework",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "repository": "git://github.com/smartcontractkit/ea-framework-js.git",
7
7
  "dependencies": {
8
8
  "ajv": "8.17.1",
9
- "axios": "1.12.2",
9
+ "axios": "1.13.1",
10
10
  "eventsource": "4.0.0",
11
11
  "fastify": "5.6.1",
12
- "ioredis": "5.8.1",
12
+ "ioredis": "5.8.2",
13
13
  "mock-socket": "9.3.1",
14
14
  "pino": "10.1.0",
15
15
  "pino-pretty": "13.1.2",
@@ -37,15 +37,15 @@
37
37
  },
38
38
  "devDependencies": {
39
39
  "@sinonjs/fake-timers": "15.0.0",
40
- "@types/node": "22.18.6",
41
- "@types/sinonjs__fake-timers": "8.1.5",
40
+ "@types/node": "24.10.0",
41
+ "@types/sinonjs__fake-timers": "15.0.1",
42
42
  "@types/ws": "8.18.1",
43
- "@typescript-eslint/eslint-plugin": "8.46.1",
44
- "@typescript-eslint/parser": "8.46.1",
43
+ "@typescript-eslint/eslint-plugin": "8.46.2",
44
+ "@typescript-eslint/parser": "8.46.2",
45
45
  "ava": "6.4.1",
46
46
  "axios-mock-adapter": "2.1.0",
47
47
  "c8": "10.1.3",
48
- "eslint": "9.38.0",
48
+ "eslint": "9.39.0",
49
49
  "eslint-config-prettier": "10.1.8",
50
50
  "eslint-plugin-tsdoc": "0.4.0",
51
51
  "mocksse": "1.0.4",
@@ -14,12 +14,12 @@ const logger = (0, util_1.makeLogger)('BurstRateLimiter');
14
14
  * loads or spikes, in cases where e.g. the per second limit is high but daily quotas low.
15
15
  */
16
16
  class BurstRateLimiter {
17
- constructor() {
18
- this.latestSecondInterval = 0;
19
- this.creditsThisSecond = 0;
20
- this.latestMinuteInterval = 0;
21
- this.creditsThisMinute = 0;
22
- }
17
+ latestSecondInterval = 0;
18
+ creditsThisSecond = 0;
19
+ latestMinuteInterval = 0;
20
+ creditsThisMinute = 0;
21
+ perSecondLimit;
22
+ perMinuteLimit;
23
23
  initialize(endpoints, limits) {
24
24
  // Translate the hourly limit into reqs per minute
25
25
  const perHourLimit = (limits?.rateLimit1h || Infinity) / 60;
@@ -1 +1 @@
1
- {"version":3,"file":"burst.js","sourceRoot":"","sources":["../../../src/rate-limiting/burst.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"burst.js","sourceRoot":"","sources":["../../../src/rate-limiting/burst.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,8 @@ const logger = (0, util_1.makeLogger)('FixedIntervalRateLimiter');
10
10
  * of time with no requests and avoiding the wait of the initial request.
11
11
  */
12
12
  class FixedIntervalRateLimiter {
13
- constructor() {
14
- this.lastRequestAt = null;
15
- }
13
+ period;
14
+ lastRequestAt = null;
16
15
  initialize(endpoints, limits) {
17
16
  // Translate the hourly and minute limits into reqs per minute
18
17
  const perHourLimitInRPS = (limits?.rateLimit1h || Infinity) / 60 / 60;
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-interval.js","sourceRoot":"","sources":["../../../src/rate-limiting/fixed-interval.ts"],"names":[],"mappings":";;;AAEA,kCAA2C;AAE3C,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,0BAA0B,CAAC,CAAA;AAErD;;;;;GAKG;AACH,MAAa,wBAAwB;IAArC;QAEE,kBAAa,GAAkB,IAAI,CAAA;IA+CrC,CAAC;IA7CC,UAAU,CACR,SAA+B,EAC/B,MAA6B;QAE7B,8DAA8D;QAC9D,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;QACrE,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAA;QAClE,MAAM,mBAAmB,GAAG,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAA;QAC3D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAA;QAChG,MAAM,CAAC,KAAK,CAAC,yDAAyD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAEpF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oBAAoB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CACV,8FAA8F,IAAI,CAAC,MAAM,KAAK,CAC/G,CAAA;YACD,OAAO,CAAC,CAAA;QACV,CAAC;QAED,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAA,CAAC,eAAe;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAA;QACrE,MAAM,CAAC,KAAK,CAAC;aACJ,GAAG;8BACc,oBAAoB;gBAClC,IAAI,CAAC,MAAM;uBACJ,aAAa;KAC/B,CAAC,CAAA;QACF,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC9C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,gBAAgB,UAAU,+CAA+C,CAAC,CAAA;YACvF,MAAM,IAAA,YAAK,EAAC,UAAU,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACjC,CAAC;CACF;AAjDD,4DAiDC"}
1
+ {"version":3,"file":"fixed-interval.js","sourceRoot":"","sources":["../../../src/rate-limiting/fixed-interval.ts"],"names":[],"mappings":";;;AAEA,kCAA2C;AAE3C,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,0BAA0B,CAAC,CAAA;AAErD;;;;;GAKG;AACH,MAAa,wBAAwB;IACnC,MAAM,CAAS;IACf,aAAa,GAAkB,IAAI,CAAA;IAEnC,UAAU,CACR,SAA+B,EAC/B,MAA6B;QAE7B,8DAA8D;QAC9D,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;QACrE,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAA;QAClE,MAAM,mBAAmB,GAAG,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAA;QAC3D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAA;QAChG,MAAM,CAAC,KAAK,CAAC,yDAAyD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAEpF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oBAAoB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CACV,8FAA8F,IAAI,CAAC,MAAM,KAAK,CAC/G,CAAA;YACD,OAAO,CAAC,CAAA;QACV,CAAC;QAED,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAA,CAAC,eAAe;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAA;QACrE,MAAM,CAAC,KAAK,CAAC;aACJ,GAAG;8BACc,oBAAoB;gBAClC,IAAI,CAAC,MAAM;uBACJ,aAAa;KAC/B,CAAC,CAAA;QACF,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC9C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,gBAAgB,UAAU,+CAA+C,CAAC,CAAA;YACvF,MAAM,IAAA,YAAK,EAAC,UAAU,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACjC,CAAC;CACF;AAjDD,4DAiDC"}