@chainlink/external-adapter-framework 0.14.5 → 0.15.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 (71) hide show
  1. package/adapter/basic.js +7 -6
  2. package/adapter/basic.js.map +1 -1
  3. package/adapter/types.d.ts +5 -4
  4. package/background-executor.js +4 -4
  5. package/background-executor.js.map +1 -1
  6. package/cache/factory.d.ts +4 -1
  7. package/cache/factory.js +2 -2
  8. package/cache/factory.js.map +1 -1
  9. package/cache/local.d.ts +26 -4
  10. package/cache/local.js +113 -22
  11. package/cache/local.js.map +1 -1
  12. package/config/index.d.ts +30 -28
  13. package/config/index.js +35 -61
  14. package/config/index.js.map +1 -1
  15. package/package.json +4 -4
  16. package/rate-limiting/index.d.ts +2 -15
  17. package/rate-limiting/index.js +1 -2
  18. package/rate-limiting/index.js.map +1 -1
  19. package/rate-limiting/request/simple-counting.d.ts +1 -1
  20. package/rate-limiting/request/simple-counting.js +12 -8
  21. package/rate-limiting/request/simple-counting.js.map +1 -1
  22. package/rate-limiting/simple-counting.d.ts +20 -0
  23. package/rate-limiting/simple-counting.js +67 -0
  24. package/rate-limiting/simple-counting.js.map +1 -0
  25. package/transports/abstract/subscription.d.ts +1 -3
  26. package/transports/abstract/subscription.js +0 -1
  27. package/transports/abstract/subscription.js.map +1 -1
  28. package/transports/batch-warming.d.ts +20 -8
  29. package/transports/batch-warming.js +55 -68
  30. package/transports/batch-warming.js.map +1 -1
  31. package/transports/http.d.ts +90 -0
  32. package/transports/http.js +172 -0
  33. package/transports/http.js.map +1 -0
  34. package/transports/index.d.ts +2 -3
  35. package/transports/index.js +1 -2
  36. package/transports/index.js.map +1 -1
  37. package/transports/metrics.d.ts +0 -6
  38. package/transports/metrics.js +1 -18
  39. package/transports/metrics.js.map +1 -1
  40. package/transports/sse.d.ts +3 -3
  41. package/transports/sse.js +6 -3
  42. package/transports/sse.js.map +1 -1
  43. package/transports/websocket.d.ts +2 -2
  44. package/transports/websocket.js +3 -0
  45. package/transports/websocket.js.map +1 -1
  46. package/util/index.d.ts +1 -1
  47. package/util/index.js +1 -1
  48. package/util/index.js.map +1 -1
  49. package/util/logger.d.ts +1 -1
  50. package/util/metrics.d.ts +9 -0
  51. package/util/metrics.js +53 -0
  52. package/util/metrics.js.map +1 -0
  53. package/util/request.d.ts +25 -25
  54. package/util/requester.d.ts +42 -0
  55. package/util/requester.js +233 -0
  56. package/util/requester.js.map +1 -0
  57. package/util/test-payload-loader.d.ts +1 -1
  58. package/util/types.d.ts +217 -0
  59. package/util/types.js +3 -0
  60. package/util/types.js.map +1 -0
  61. package/validation/error.d.ts +5 -2
  62. package/validation/error.js +4 -2
  63. package/validation/error.js.map +1 -1
  64. package/validation/index.d.ts +1 -1
  65. package/validation/index.js.map +1 -1
  66. package/validation/input-validator.d.ts +3 -0
  67. package/validation/input-validator.js +31 -1
  68. package/validation/input-validator.js.map +1 -1
  69. package/validation/utils.d.ts +1 -0
  70. package/validation/utils.js +10 -0
  71. package/validation/utils.js.map +1 -1
package/adapter/basic.js CHANGED
@@ -36,6 +36,7 @@ const rate_limiting_1 = require("../rate-limiting");
36
36
  const util_1 = require("../util");
37
37
  const censor_list_1 = __importDefault(require("../util/censor/censor-list"));
38
38
  const error_1 = require("../validation/error");
39
+ const requester_1 = require("../util/requester");
39
40
  const logger = (0, util_1.makeLogger)('Adapter');
40
41
  /**
41
42
  * Main class to represent an External Adapter
@@ -215,7 +216,7 @@ class Adapter {
215
216
  }
216
217
  }
217
218
  if (!dependencies.cache) {
218
- dependencies.cache = cache_1.CacheFactory.buildCache(this.config.CACHE_TYPE, dependencies.redisClient);
219
+ dependencies.cache = cache_1.CacheFactory.buildCache({ cacheType: this.config.CACHE_TYPE, maxSizeForLocalCache: this.config.CACHE_MAX_ITEMS }, dependencies.redisClient);
219
220
  }
220
221
  const rateLimitingTier = (0, rate_limiting_1.getRateLimitingTier)(this.config, this.rateLimiting?.tiers);
221
222
  const highestTierValue = (0, rate_limiting_1.highestRateLimitTiers)(this.rateLimiting?.tiers);
@@ -231,15 +232,15 @@ class Adapter {
231
232
  : 'RATE_LIMIT_CAPACITY'}
232
233
  value is higher than the highest tier value from limits.json ${highestTierValue}`);
233
234
  }
234
- if (!dependencies.requestRateLimiter) {
235
- dependencies.requestRateLimiter = new rate_limiting_1.SimpleCountingRateLimiter().initialize(this.endpoints, rateLimitingTier);
236
- }
237
- if (!dependencies.backgroundExecuteRateLimiter) {
238
- dependencies.backgroundExecuteRateLimiter = new rate_limiting_1.FixedFrequencyRateLimiter().initialize(this.endpoints, rateLimitingTier);
235
+ if (!dependencies.rateLimiter) {
236
+ dependencies.rateLimiter = new rate_limiting_1.SimpleCountingRateLimiter().initialize(this.endpoints, rateLimitingTier);
239
237
  }
240
238
  if (!dependencies.subscriptionSetFactory) {
241
239
  dependencies.subscriptionSetFactory = new util_1.SubscriptionSetFactory(this.config, this.name, dependencies.redisClient);
242
240
  }
241
+ if (!dependencies.requester) {
242
+ dependencies.requester = new requester_1.Requester(dependencies.rateLimiter, this.config);
243
+ }
243
244
  return dependencies;
244
245
  }
245
246
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/adapter/basic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/adapter/basic.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,10 @@ import type EventSource from 'eventsource';
2
2
  import Redis from 'ioredis';
3
3
  import { Cache } from '../cache';
4
4
  import { AdapterConfig, BaseAdapterConfig, SettingsMap } from '../config';
5
- import { AdapterRateLimitTier, BackgroundExecuteRateLimiter, RequestRateLimiter } from '../rate-limiting';
5
+ import { AdapterRateLimitTier, RateLimiter } from '../rate-limiting';
6
6
  import { Transport, TransportGenerics } from '../transports';
7
7
  import { AdapterRequest, RequestGenerics, SubscriptionSetFactory } from '../util';
8
+ import { Requester } from '../util/requester';
8
9
  import { InputParameters } from '../validation';
9
10
  import { AdapterError } from '../validation/error';
10
11
  import { Adapter } from './basic';
@@ -20,15 +21,15 @@ export interface AdapterDependencies {
20
21
  /** Specific instance of the Cache the adapter will use (e.g. Local, Redis, etc.) */
21
22
  cache: Cache;
22
23
  /** Shared instance of the request rate limiter */
23
- requestRateLimiter: RequestRateLimiter;
24
- /** Shared instance of the background execute rate limiter */
25
- backgroundExecuteRateLimiter: BackgroundExecuteRateLimiter;
24
+ rateLimiter: RateLimiter;
26
25
  /** Factory to create subscription sets based on the specified cache type */
27
26
  subscriptionSetFactory: SubscriptionSetFactory;
28
27
  /** Redis client used for cache and subscription set */
29
28
  redisClient: Redis;
30
29
  /** EventSource to use for listening to server sent events. A mock EventSource can be provided as a dependency for testing */
31
30
  eventSource: typeof EventSource;
31
+ /** Shared instance to handle sending http requests in a centralized fashion */
32
+ requester: Requester;
32
33
  }
33
34
  /**
34
35
  * Context that will be used on background executions of a Transport.
@@ -38,7 +38,6 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
38
38
  // Set up variable to check later on to see if we need to stop this background "thread"
39
39
  // If no server is provided, the listener won't be set and serverClosed will always be false
40
40
  let serverClosed = false;
41
- const rateLimiter = adapter.dependencies.backgroundExecuteRateLimiter;
42
41
  const timeoutsMap = {};
43
42
  apiShutdownPromise?.then(() => {
44
43
  serverClosed = true;
@@ -78,10 +77,11 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
78
77
  catch (error) {
79
78
  logger.error(error);
80
79
  }
81
- const timeToWait = rateLimiter.msUntilNextExecution(endpoint.name);
82
- logger.debug(`Finished background execute for endpoint "${endpoint.name}", sleeping for ${timeToWait}ms`);
80
+ // This background execute loop is no longer the one to determine the sleep between bg execute calls.
81
+ // That is now instead responsibility of each transport, to allow for custom ones to implement their own timings.
82
+ logger.trace(`Finished background execute for endpoint "${endpoint.name}", calling it again in 1ms...`);
83
83
  metricsTimer();
84
- timeoutsMap[endpoint.name] = setTimeout(handler, timeToWait);
84
+ timeoutsMap[endpoint.name] = setTimeout(handler, 1);
85
85
  };
86
86
  // Start recursive async calls
87
87
  handler();
@@ -1 +1 @@
1
- {"version":3,"file":"background-executor.js","sourceRoot":"","sources":["../../src/background-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background-executor.js","sourceRoot":"","sources":["../../src/background-executor.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,8 @@ import Redis from 'ioredis';
2
2
  import { LocalCache } from './local';
3
3
  import { RedisCache } from './redis';
4
4
  export declare class CacheFactory {
5
- static buildCache(cacheType: string, redisClient?: Redis): LocalCache<unknown> | RedisCache<unknown> | undefined;
5
+ static buildCache({ cacheType, maxSizeForLocalCache }: {
6
+ cacheType: string;
7
+ maxSizeForLocalCache: number;
8
+ }, redisClient?: Redis): LocalCache<unknown> | RedisCache<unknown> | undefined;
6
9
  }
package/cache/factory.js CHANGED
@@ -6,11 +6,11 @@ const local_1 = require("./local");
6
6
  const redis_1 = require("./redis");
7
7
  const logger = (0, util_1.makeLogger)('CacheFactory');
8
8
  class CacheFactory {
9
- static buildCache(cacheType, redisClient) {
9
+ static buildCache({ cacheType, maxSizeForLocalCache }, redisClient) {
10
10
  logger.info(`Using "${cacheType}" cache.`);
11
11
  switch (cacheType) {
12
12
  case 'local':
13
- return new local_1.LocalCache();
13
+ return new local_1.LocalCache(maxSizeForLocalCache);
14
14
  case 'redis': {
15
15
  if (!redisClient) {
16
16
  throw new Error('Redis client undefined. Cannot create Redis cache');
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/cache/factory.ts"],"names":[],"mappings":";;;AACA,kCAAoC;AACpC,mCAAoC;AACpC,mCAAoC;AAEpC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAA;AACzC,MAAa,YAAY;IACvB,MAAM,CAAC,UAAU,CAAC,SAAiB,EAAE,WAAmB;QACtD,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,UAAU,CAAC,CAAA;QAC1C,QAAQ,SAAS,EAAE;YACjB,KAAK,OAAO;gBACV,OAAO,IAAI,kBAAU,EAAE,CAAA;YACzB,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,WAAW,EAAE;oBAChB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;iBACrE;gBACD,OAAO,IAAI,kBAAU,CAAC,WAAW,CAAC,CAAA;aACnC;SACF;IACH,CAAC;CACF;AAdD,oCAcC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/cache/factory.ts"],"names":[],"mappings":";;;AACA,kCAAoC;AACpC,mCAAoC;AACpC,mCAAoC;AAEpC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAA;AACzC,MAAa,YAAY;IACvB,MAAM,CAAC,UAAU,CACf,EAAE,SAAS,EAAE,oBAAoB,EAAuD,EACxF,WAAmB;QAEnB,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,UAAU,CAAC,CAAA;QAC1C,QAAQ,SAAS,EAAE;YACjB,KAAK,OAAO;gBACV,OAAO,IAAI,kBAAU,CAAC,oBAAoB,CAAC,CAAA;YAC7C,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,WAAW,EAAE;oBAChB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;iBACrE;gBACD,OAAO,IAAI,kBAAU,CAAC,WAAW,CAAC,CAAA;aACnC;SACF;IACH,CAAC;CACF;AAjBD,oCAiBC"}
package/cache/local.d.ts CHANGED
@@ -9,17 +9,39 @@ export interface LocalCacheEntry<T> {
9
9
  expirationTimestamp: number;
10
10
  value: T;
11
11
  }
12
+ declare class LinkedListNode<T = unknown> {
13
+ data: T;
14
+ next: LinkedListNode | null;
15
+ prev: LinkedListNode | null;
16
+ key: string;
17
+ constructor(key: string, data: T);
18
+ }
19
+ declare class DoubleLinkedList {
20
+ head: LinkedListNode | null;
21
+ tail: LinkedListNode | null;
22
+ size: number;
23
+ constructor();
24
+ insertAtTail(node: LinkedListNode): LinkedListNode<unknown>;
25
+ remove(node: LinkedListNode | null): LinkedListNode | undefined;
26
+ removeHead(): LinkedListNode | undefined;
27
+ }
12
28
  /**
13
- * Local implementation of a Cache. It uses a simple js Object, storing entries with both
14
- * a value and an expiration timestamp. Expired entries are deleted on reads (i.e. no background gc/upkeep).
15
- *
29
+ * Local implementation of a Cache. It uses a DoubleLinkedList class for storing cache nodes.
30
+ * Each LinkedListNode is storing entries with both value and an expiration timestamp.
31
+ * Expired entries are deleted on reads (i.e. no background gc/upkeep).
16
32
  * @typeParam T - the type for the entries' values
17
33
  */
18
34
  export declare class LocalCache<T = unknown> implements Cache<T> {
19
35
  type: CacheTypes;
20
- store: Record<string, LocalCacheEntry<T>>;
36
+ capacity: number;
37
+ cache: Map<string, LinkedListNode<LocalCacheEntry<T>>>;
38
+ list: DoubleLinkedList;
39
+ constructor(capacity: number);
21
40
  get(key: string): Promise<T | undefined>;
22
41
  delete(key: string): Promise<void>;
23
42
  set(key: string, value: T, ttl: number): Promise<void>;
24
43
  setMany(entries: CacheEntry<T>[], ttl: number): Promise<void>;
44
+ private evictIfNeeded;
45
+ private moveToTail;
25
46
  }
47
+ export {};
package/cache/local.js CHANGED
@@ -4,45 +4,123 @@ exports.LocalCache = void 0;
4
4
  const util_1 = require("../util");
5
5
  const metrics_1 = require("./metrics");
6
6
  const logger = (0, util_1.makeLogger)('LocalCache');
7
+ class LinkedListNode {
8
+ constructor(key, data) {
9
+ this.data = data;
10
+ this.next = null;
11
+ this.prev = null;
12
+ this.key = key;
13
+ }
14
+ }
15
+ class DoubleLinkedList {
16
+ constructor() {
17
+ this.head = null;
18
+ this.tail = null;
19
+ this.size = 0;
20
+ }
21
+ insertAtTail(node) {
22
+ if (!this.tail) {
23
+ this.tail = node;
24
+ this.head = node;
25
+ node.next = null;
26
+ }
27
+ else {
28
+ this.tail.next = node;
29
+ node.prev = this.tail;
30
+ this.tail = node;
31
+ node.next = null;
32
+ }
33
+ this.size++;
34
+ return node;
35
+ }
36
+ remove(node) {
37
+ if (!node) {
38
+ return;
39
+ }
40
+ if (node.prev !== null) {
41
+ node.prev.next = node.next;
42
+ }
43
+ if (node.next !== null) {
44
+ node.next.prev = node.prev;
45
+ }
46
+ if (node === this.head) {
47
+ this.head = this.head.next;
48
+ }
49
+ if (node === this.tail) {
50
+ this.tail = this.tail.prev;
51
+ }
52
+ this.size--;
53
+ return node;
54
+ }
55
+ removeHead() {
56
+ return this.remove(this.head);
57
+ }
58
+ }
7
59
  /**
8
- * Local implementation of a Cache. It uses a simple js Object, storing entries with both
9
- * a value and an expiration timestamp. Expired entries are deleted on reads (i.e. no background gc/upkeep).
10
- *
60
+ * Local implementation of a Cache. It uses a DoubleLinkedList class for storing cache nodes.
61
+ * Each LinkedListNode is storing entries with both value and an expiration timestamp.
62
+ * Expired entries are deleted on reads (i.e. no background gc/upkeep).
11
63
  * @typeParam T - the type for the entries' values
12
64
  */
13
65
  class LocalCache {
14
- constructor() {
66
+ constructor(capacity) {
15
67
  this.type = metrics_1.CacheTypes.Local;
16
- this.store = {};
68
+ this.capacity = capacity;
69
+ this.cache = new Map();
70
+ this.list = new DoubleLinkedList();
17
71
  }
18
72
  async get(key) {
19
73
  logger.trace(`Getting key ${key}`);
20
- const entry = this.store[key];
21
- if (!entry) {
22
- logger.debug(`No entry in local cache for key "${key}", returning undefined`);
23
- return undefined;
24
- }
25
- const expired = entry.expirationTimestamp <= Date.now();
26
- if (expired) {
27
- logger.debug('Entry in local cache expired, deleting and returning undefined');
28
- this.delete(key);
29
- return undefined;
74
+ if (this.cache.has(key)) {
75
+ const node = this.cache.get(key);
76
+ const expired = node.data.expirationTimestamp <= Date.now();
77
+ if (expired) {
78
+ logger.debug('Entry in local cache expired, deleting and returning undefined');
79
+ this.delete(key);
80
+ return undefined;
81
+ }
82
+ else {
83
+ logger.debug('Found valid entry in local cache, returning value');
84
+ return node.data.value;
85
+ }
30
86
  }
31
87
  else {
32
- logger.debug('Found valid entry in local cache, returning value');
33
- return entry.value;
88
+ logger.debug(`No entry in local cache for key "${key}", returning undefined`);
89
+ return undefined;
34
90
  }
35
91
  }
36
92
  async delete(key) {
37
93
  logger.trace(`Deleting key ${key}`);
38
- delete this.store[key]; // Deletes are slower than ignoring or setting null, fyi
94
+ if (this.cache.has(key)) {
95
+ const node = this.cache.get(key);
96
+ this.list.remove(node);
97
+ this.cache.delete(key);
98
+ }
39
99
  }
40
100
  async set(key, value, ttl) {
41
101
  logger.trace(`Setting key ${key} with ttl ${ttl}`);
42
- this.store[key] = {
43
- value,
44
- expirationTimestamp: Date.now() + ttl,
45
- };
102
+ if (this.cache.has(key)) {
103
+ logger.trace(`Found existing key ${key}. Updating value...`);
104
+ const node = this.cache.get(key);
105
+ node.data = {
106
+ value,
107
+ expirationTimestamp: Date.now() + ttl,
108
+ };
109
+ // When existing key is updated we move it to the end of the list as we keep recently updated entries there
110
+ this.moveToTail(node);
111
+ }
112
+ else {
113
+ // For new cache entries check if we reached maximum size to delete least recently updated entry and free up space
114
+ this.evictIfNeeded();
115
+ const data = {
116
+ value,
117
+ expirationTimestamp: Date.now() + ttl,
118
+ };
119
+ const node = new LinkedListNode(key, data);
120
+ // New entries are always added at the end of the list
121
+ this.list.insertAtTail(node);
122
+ this.cache.set(key, node);
123
+ }
46
124
  }
47
125
  async setMany(entries, ttl) {
48
126
  logger.trace(`Setting a bunch of keys with ttl ${ttl}`);
@@ -50,6 +128,19 @@ class LocalCache {
50
128
  this.set(key, value, ttl);
51
129
  }
52
130
  }
131
+ evictIfNeeded() {
132
+ if (this.list.size >= this.capacity) {
133
+ logger.warn(`Cache list reached maximum capacity, evicting least recently updated entry`);
134
+ const node = this.list.removeHead();
135
+ if (node) {
136
+ this.cache.delete(node.key);
137
+ }
138
+ }
139
+ }
140
+ moveToTail(node) {
141
+ this.list.remove(node);
142
+ this.list.insertAtTail(node);
143
+ }
53
144
  }
54
145
  exports.LocalCache = LocalCache;
55
146
  //# sourceMappingURL=local.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/cache/local.ts"],"names":[],"mappings":";;;AAAA,kCAAoC;AAEpC,uCAAsC;AAEtC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,YAAY,CAAC,CAAA;AAYvC;;;;;GAKG;AACH,MAAa,UAAU;IAAvB;QACE,SAAI,GAAG,oBAAU,CAAC,KAAK,CAAA;QAEvB,UAAK,GAAuC,EAAE,CAAA;IAyChD,CAAC;IAvCC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,wBAAwB,CAAC,CAAA;YAC7E,OAAO,SAAS,CAAA;SACjB;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;QACvD,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAA;YAC9E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChB,OAAO,SAAS,CAAA;SACjB;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;YACjE,OAAO,KAAK,CAAC,KAAK,CAAA;SACnB;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAA;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,wDAAwD;IACjF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,GAAW;QAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,aAAa,GAAG,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;YAChB,KAAK;YACL,mBAAmB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG;SACtC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,GAAW;QACjD,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAA;QACvD,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;SAC1B;IACH,CAAC;CACF;AA5CD,gCA4CC"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/cache/local.ts"],"names":[],"mappings":"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"}
package/config/index.d.ts CHANGED
@@ -15,17 +15,18 @@ export declare const BaseSettings: {
15
15
  readonly type: "string";
16
16
  readonly default: "/";
17
17
  };
18
- readonly BATCH_TRANSPORT_SETUP_VALIDATION: {
19
- readonly description: "Flag to toggle batch transport setup validation";
20
- readonly type: "boolean";
21
- readonly default: false;
22
- };
23
18
  readonly CACHE_MAX_AGE: {
24
19
  readonly description: "Maximum amount of time (in ms) that a response will stay cached";
25
20
  readonly type: "number";
26
21
  readonly default: 90000;
27
22
  readonly validate: import("../validation/utils").Validator<string | number>;
28
23
  };
24
+ readonly CACHE_MAX_ITEMS: {
25
+ readonly type: "number";
26
+ readonly description: "The maximum number of items that remain in the cache";
27
+ readonly default: 10000;
28
+ readonly validate: import("../validation/utils").Validator<string | number>;
29
+ };
29
30
  readonly CACHE_REDIS_CONNECTION_TIMEOUT: {
30
31
  readonly description: "Connection timeout for redis client";
31
32
  readonly type: "number";
@@ -141,17 +142,6 @@ export declare const BaseSettings: {
141
142
  readonly type: "number";
142
143
  readonly validate: import("../validation/utils").Validator<string | number>;
143
144
  };
144
- readonly REQUEST_COALESCING_ENABLED: {
145
- readonly description: "Enable request coalescing";
146
- readonly type: "boolean";
147
- readonly default: false;
148
- };
149
- readonly REQUEST_COALESCING_ENTROPY_MAX: {
150
- readonly description: "Amount of random delay (entropy) in milliseconds that will be added to requests. Avoids issue where the request coalescing key will not be set before multiple other instances in a burst try to access the same key";
151
- readonly type: "number";
152
- readonly default: 0;
153
- readonly validate: import("../validation/utils").Validator<string | number>;
154
- };
155
145
  readonly RETRY: {
156
146
  readonly type: "number";
157
147
  readonly description: "Retry count for failed HTTP requests";
@@ -223,18 +213,6 @@ export declare const BaseSettings: {
223
213
  readonly default: 300;
224
214
  readonly validate: import("../validation/utils").Validator<string | number>;
225
215
  };
226
- readonly REST_TRANSPORT_MAX_RATE_LIMIT_RETRIES: {
227
- readonly description: "Maximum amount of times the Rest Transport will attempt to set up a request when blocked by the rate limiter";
228
- readonly type: "number";
229
- readonly default: 3;
230
- readonly validate: import("../validation/utils").Validator<string | number>;
231
- };
232
- readonly REST_TRANSPORT_MS_BETWEEN_RATE_LIMIT_RETRIES: {
233
- readonly description: "Time that the Rest Transport will wait between retries when blocked by the rate limiter";
234
- readonly type: "number";
235
- readonly default: 400;
236
- readonly validate: import("../validation/utils").Validator<string | number>;
237
- };
238
216
  readonly SMOKE_TEST_PAYLOAD_FILE_NAME: {
239
217
  readonly description: "Name of the test payload file used for the smoke endpoint";
240
218
  readonly type: "string";
@@ -261,6 +239,30 @@ export declare const BaseSettings: {
261
239
  readonly description: "CA certificate to use for authenticating client certificates";
262
240
  readonly type: "string";
263
241
  };
242
+ readonly MAX_HTTP_REQUEST_QUEUE_LENGTH: {
243
+ readonly description: "The maximum amount of queued requests for Http transports before new ones push oldest ones out of the queue";
244
+ readonly type: "number";
245
+ readonly default: 200;
246
+ readonly validate: import("../validation/utils").Validator<string | number>;
247
+ };
248
+ readonly BACKGROUND_EXECUTE_MS_SSE: {
249
+ readonly description: "Time in milliseconds to sleep between SSE transports' background execute calls";
250
+ readonly type: "number";
251
+ readonly default: 1000;
252
+ readonly validate: import("../validation/utils").Validator<string | number>;
253
+ };
254
+ readonly BACKGROUND_EXECUTE_MS_WS: {
255
+ readonly description: "Time in milliseconds to sleep between WS transports' background execute calls";
256
+ readonly type: "number";
257
+ readonly default: 1000;
258
+ readonly validate: import("../validation/utils").Validator<string | number>;
259
+ };
260
+ readonly BACKGROUND_EXECUTE_MS_HTTP: {
261
+ readonly description: "Time in milliseconds to sleep between HTTP transports' background execute calls, when there are no requests to send";
262
+ readonly type: "number";
263
+ readonly default: 1000;
264
+ readonly validate: import("../validation/utils").Validator<string | number>;
265
+ };
264
266
  };
265
267
  export declare const buildAdapterConfig: <CustomSettings extends CustomSettingsType<CustomSettings> = EmptySettings>({ overrides, customSettings, envVarsPrefix, }: {
266
268
  overrides?: Partial<BaseAdapterConfig> | undefined;