@aztec/foundation 0.0.1-commit.2ed92850 → 0.0.1-commit.3100065

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 (332) hide show
  1. package/dest/array/sorted_array.d.ts +6 -1
  2. package/dest/array/sorted_array.d.ts.map +1 -1
  3. package/dest/array/sorted_array.js +18 -15
  4. package/dest/bigint-buffer/index.d.ts +1 -1
  5. package/dest/bigint-buffer/index.d.ts.map +1 -1
  6. package/dest/bigint-buffer/index.js +6 -1
  7. package/dest/branded-types/block_number.d.ts +3 -3
  8. package/dest/branded-types/block_number.d.ts.map +1 -1
  9. package/dest/branded-types/block_number.js +15 -4
  10. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  11. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  12. package/dest/branded-types/buffer32_hash.js +12 -0
  13. package/dest/branded-types/checkpoint_number.d.ts +9 -3
  14. package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
  15. package/dest/branded-types/checkpoint_number.js +11 -0
  16. package/dest/branded-types/epoch.d.ts +2 -2
  17. package/dest/branded-types/epoch.d.ts.map +1 -1
  18. package/dest/branded-types/index.d.ts +2 -1
  19. package/dest/branded-types/index.d.ts.map +1 -1
  20. package/dest/branded-types/index.js +1 -0
  21. package/dest/branded-types/index_within_checkpoint.d.ts +2 -2
  22. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -1
  23. package/dest/branded-types/slot.d.ts +5 -2
  24. package/dest/branded-types/slot.d.ts.map +1 -1
  25. package/dest/branded-types/slot.js +3 -0
  26. package/dest/buffer/buffer16.d.ts +3 -1
  27. package/dest/buffer/buffer16.d.ts.map +1 -1
  28. package/dest/buffer/buffer32.d.ts +28 -61
  29. package/dest/buffer/buffer32.d.ts.map +1 -1
  30. package/dest/buffer/buffer32.js +29 -63
  31. package/dest/buffer/index.d.ts +2 -1
  32. package/dest/buffer/index.d.ts.map +1 -1
  33. package/dest/buffer/index.js +1 -0
  34. package/dest/buffer/utils.d.ts +3 -0
  35. package/dest/buffer/utils.d.ts.map +1 -0
  36. package/dest/buffer/utils.js +7 -0
  37. package/dest/collection/array.d.ts +17 -1
  38. package/dest/collection/array.d.ts.map +1 -1
  39. package/dest/collection/array.js +57 -0
  40. package/dest/collection/index.d.ts +3 -1
  41. package/dest/collection/index.d.ts.map +1 -1
  42. package/dest/collection/index.js +2 -0
  43. package/dest/collection/lru_map.d.ts +41 -0
  44. package/dest/collection/lru_map.d.ts.map +1 -0
  45. package/dest/collection/lru_map.js +119 -0
  46. package/dest/collection/lru_set.d.ts +35 -0
  47. package/dest/collection/lru_set.d.ts.map +1 -0
  48. package/dest/collection/lru_set.js +95 -0
  49. package/dest/committable/committable.js +1 -1
  50. package/dest/config/env_var.d.ts +2 -2
  51. package/dest/config/env_var.d.ts.map +1 -1
  52. package/dest/config/index.d.ts +67 -37
  53. package/dest/config/index.d.ts.map +1 -1
  54. package/dest/config/index.js +86 -70
  55. package/dest/config/network_config.d.ts +15 -41
  56. package/dest/config/network_config.d.ts.map +1 -1
  57. package/dest/config/network_config.js +4 -1
  58. package/dest/config/network_name.d.ts +2 -2
  59. package/dest/config/network_name.d.ts.map +1 -1
  60. package/dest/config/network_name.js +3 -3
  61. package/dest/config/secret_value.d.ts +2 -2
  62. package/dest/config/secret_value.d.ts.map +1 -1
  63. package/dest/crypto/aes128/index.d.ts +2 -1
  64. package/dest/crypto/aes128/index.d.ts.map +1 -1
  65. package/dest/crypto/aes128/index.js +11 -2
  66. package/dest/crypto/bls/bn254_keystore.d.ts +10 -177
  67. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  68. package/dest/crypto/bls/bn254_keystore.js +22 -34
  69. package/dest/crypto/poseidon/index.d.ts +1 -1
  70. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  71. package/dest/crypto/poseidon/index.js +40 -33
  72. package/dest/crypto/random/randomness_singleton.d.ts +4 -3
  73. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  74. package/dest/crypto/random/randomness_singleton.js +4 -4
  75. package/dest/crypto/schnorr/index.d.ts +8 -7
  76. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  77. package/dest/crypto/schnorr/index.js +6 -6
  78. package/dest/crypto/schnorr/signature.d.ts +9 -29
  79. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  80. package/dest/crypto/schnorr/signature.js +20 -36
  81. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  82. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  83. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  84. package/dest/curves/bls12/field.d.ts +3 -3
  85. package/dest/curves/bls12/field.d.ts.map +1 -1
  86. package/dest/curves/bls12/field.js +0 -5
  87. package/dest/curves/bls12/point.d.ts +2 -2
  88. package/dest/curves/bls12/point.d.ts.map +1 -1
  89. package/dest/curves/bn254/field.d.ts +24 -19
  90. package/dest/curves/bn254/field.d.ts.map +1 -1
  91. package/dest/curves/bn254/field.js +28 -19
  92. package/dest/curves/grumpkin/point.d.ts +14 -28
  93. package/dest/curves/grumpkin/point.d.ts.map +1 -1
  94. package/dest/curves/grumpkin/point.js +29 -43
  95. package/dest/eth-address/index.d.ts +2 -2
  96. package/dest/eth-address/index.d.ts.map +1 -1
  97. package/dest/eth-address/index.js +0 -3
  98. package/dest/eth-signature/eth_signature.d.ts +3 -2
  99. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  100. package/dest/eth-signature/eth_signature.js +7 -2
  101. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  102. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  103. package/dest/fifo/fifo_frame_reader.js +74 -0
  104. package/dest/fifo/index.d.ts +2 -0
  105. package/dest/fifo/index.d.ts.map +1 -0
  106. package/dest/fifo/index.js +1 -0
  107. package/dest/fifo_set/fifo_set.d.ts +15 -0
  108. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  109. package/dest/fifo_set/fifo_set.js +39 -0
  110. package/dest/fifo_set/index.d.ts +2 -0
  111. package/dest/fifo_set/index.d.ts.map +1 -0
  112. package/dest/fifo_set/index.js +1 -0
  113. package/dest/jest/setup.js +28 -1
  114. package/dest/json-rpc/client/fetch.d.ts +1 -1
  115. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  116. package/dest/json-rpc/client/fetch.js +4 -3
  117. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
  118. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  119. package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
  120. package/dest/json-rpc/client/undici.d.ts +1 -1
  121. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  122. package/dest/json-rpc/client/undici.js +5 -3
  123. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  124. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  125. package/dest/json-rpc/fixtures/test_state.js +57 -17
  126. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  127. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  128. package/dest/json-rpc/server/api_key_auth.js +57 -0
  129. package/dest/json-rpc/server/index.d.ts +2 -1
  130. package/dest/json-rpc/server/index.d.ts.map +1 -1
  131. package/dest/json-rpc/server/index.js +1 -0
  132. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
  133. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  134. package/dest/json-rpc/server/safe_json_rpc_server.js +27 -13
  135. package/dest/log/bigint-utils.d.ts +5 -0
  136. package/dest/log/bigint-utils.d.ts.map +1 -0
  137. package/dest/log/bigint-utils.js +21 -0
  138. package/dest/log/gcloud-logger-config.d.ts +1 -1
  139. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  140. package/dest/log/gcloud-logger-config.js +3 -0
  141. package/dest/log/libp2p_logger.d.ts +5 -2
  142. package/dest/log/libp2p_logger.d.ts.map +1 -1
  143. package/dest/log/libp2p_logger.js +14 -4
  144. package/dest/log/log-filters.d.ts +17 -4
  145. package/dest/log/log-filters.d.ts.map +1 -1
  146. package/dest/log/log-filters.js +26 -12
  147. package/dest/log/pino-logger-server.d.ts +9 -0
  148. package/dest/log/pino-logger-server.d.ts.map +1 -0
  149. package/dest/log/pino-logger-server.js +18 -0
  150. package/dest/log/pino-logger.d.ts +37 -8
  151. package/dest/log/pino-logger.d.ts.map +1 -1
  152. package/dest/log/pino-logger.js +137 -29
  153. package/dest/noir/noir_package_config.d.ts +19 -104
  154. package/dest/noir/noir_package_config.d.ts.map +1 -1
  155. package/dest/noir/noir_package_config.js +1 -1
  156. package/dest/promise/running-promise.d.ts +5 -4
  157. package/dest/promise/running-promise.d.ts.map +1 -1
  158. package/dest/promise/running-promise.js +7 -3
  159. package/dest/queue/base_memory_queue.d.ts +2 -2
  160. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  161. package/dest/queue/batch_queue.d.ts +1 -1
  162. package/dest/queue/batch_queue.d.ts.map +1 -1
  163. package/dest/queue/batch_queue.js +1 -0
  164. package/dest/queue/semaphore.d.ts +5 -1
  165. package/dest/queue/semaphore.d.ts.map +1 -1
  166. package/dest/retry/index.d.ts +31 -3
  167. package/dest/retry/index.d.ts.map +1 -1
  168. package/dest/retry/index.js +44 -2
  169. package/dest/schemas/api.d.ts +12 -10
  170. package/dest/schemas/api.d.ts.map +1 -1
  171. package/dest/schemas/api.js +7 -1
  172. package/dest/schemas/parse.d.ts +4 -4
  173. package/dest/schemas/parse.d.ts.map +1 -1
  174. package/dest/schemas/parse.js +6 -5
  175. package/dest/schemas/schemas.d.ts +15 -15
  176. package/dest/schemas/types.d.ts +3 -3
  177. package/dest/schemas/types.d.ts.map +1 -1
  178. package/dest/schemas/utils.d.ts +7 -11
  179. package/dest/schemas/utils.d.ts.map +1 -1
  180. package/dest/schemas/utils.js +2 -18
  181. package/dest/serialize/buffer_reader.d.ts +8 -1
  182. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  183. package/dest/serialize/buffer_reader.js +13 -0
  184. package/dest/serialize/buffer_sink.d.ts +134 -0
  185. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  186. package/dest/serialize/buffer_sink.js +297 -0
  187. package/dest/serialize/index.d.ts +2 -1
  188. package/dest/serialize/index.d.ts.map +1 -1
  189. package/dest/serialize/index.js +1 -0
  190. package/dest/serialize/serialize.d.ts +19 -1
  191. package/dest/serialize/serialize.d.ts.map +1 -1
  192. package/dest/serialize/serialize.js +31 -0
  193. package/dest/sleep/index.d.ts +2 -1
  194. package/dest/sleep/index.d.ts.map +1 -1
  195. package/dest/sleep/index.js +10 -1
  196. package/dest/string/index.js +1 -1
  197. package/dest/testing/files/index.d.ts +2 -3
  198. package/dest/testing/files/index.d.ts.map +1 -1
  199. package/dest/testing/files/index.js +1 -2
  200. package/dest/timer/date.d.ts +25 -1
  201. package/dest/timer/date.d.ts.map +1 -1
  202. package/dest/timer/date.js +33 -0
  203. package/dest/timer/index.d.ts +2 -2
  204. package/dest/timer/index.d.ts.map +1 -1
  205. package/dest/timer/index.js +1 -1
  206. package/dest/timer/timeout.d.ts +3 -1
  207. package/dest/timer/timeout.d.ts.map +1 -1
  208. package/dest/timer/timeout.js +26 -0
  209. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  210. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  211. package/dest/transport/index.d.ts +1 -2
  212. package/dest/transport/index.d.ts.map +1 -1
  213. package/dest/transport/index.js +0 -1
  214. package/dest/transport/transport_client.js +2 -2
  215. package/dest/trees/balanced_merkle_tree_root.d.ts +2 -3
  216. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -1
  217. package/dest/trees/balanced_merkle_tree_root.js +2 -3
  218. package/dest/trees/hasher.d.ts +3 -2
  219. package/dest/trees/hasher.d.ts.map +1 -1
  220. package/dest/trees/hasher.js +5 -5
  221. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  222. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  223. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  224. package/dest/trees/membership_witness.d.ts +2 -6
  225. package/dest/trees/membership_witness.d.ts.map +1 -1
  226. package/dest/trees/membership_witness.js +0 -9
  227. package/dest/trees/merkle_tree_calculator.d.ts +4 -2
  228. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  229. package/dest/trees/merkle_tree_calculator.js +1 -5
  230. package/dest/trees/sibling_path.d.ts +5 -4
  231. package/dest/trees/sibling_path.d.ts.map +1 -1
  232. package/dest/trees/sibling_path.js +10 -8
  233. package/dest/trees/unbalanced_merkle_tree_root.d.ts +2 -3
  234. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -1
  235. package/dest/trees/unbalanced_merkle_tree_root.js +2 -3
  236. package/dest/types/index.d.ts +25 -1
  237. package/dest/types/index.d.ts.map +1 -1
  238. package/dest/types/index.js +18 -0
  239. package/package.json +27 -4
  240. package/src/array/sorted_array.ts +22 -17
  241. package/src/bigint-buffer/index.ts +6 -1
  242. package/src/branded-types/block_number.ts +20 -2
  243. package/src/branded-types/buffer32_hash.ts +38 -0
  244. package/src/branded-types/checkpoint_number.ts +16 -1
  245. package/src/branded-types/epoch.ts +1 -1
  246. package/src/branded-types/index.ts +1 -0
  247. package/src/branded-types/index_within_checkpoint.ts +1 -1
  248. package/src/branded-types/slot.ts +6 -1
  249. package/src/buffer/buffer16.ts +3 -0
  250. package/src/buffer/buffer32.ts +39 -68
  251. package/src/buffer/index.ts +1 -0
  252. package/src/buffer/utils.ts +8 -0
  253. package/src/collection/array.ts +55 -0
  254. package/src/collection/index.ts +2 -0
  255. package/src/collection/lru_map.ts +143 -0
  256. package/src/collection/lru_set.ts +115 -0
  257. package/src/committable/committable.ts +1 -1
  258. package/src/config/env_var.ts +89 -22
  259. package/src/config/index.ts +157 -121
  260. package/src/config/network_config.ts +3 -0
  261. package/src/config/network_name.ts +6 -6
  262. package/src/config/secret_value.ts +1 -1
  263. package/src/crypto/aes128/index.ts +11 -2
  264. package/src/crypto/bls/bn254_keystore.ts +33 -43
  265. package/src/crypto/poseidon/index.ts +42 -34
  266. package/src/crypto/random/randomness_singleton.ts +9 -5
  267. package/src/crypto/schnorr/index.ts +9 -8
  268. package/src/crypto/schnorr/signature.ts +17 -46
  269. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  270. package/src/curves/bls12/field.ts +0 -7
  271. package/src/curves/bn254/field.ts +41 -36
  272. package/src/curves/grumpkin/point.ts +23 -40
  273. package/src/eth-address/index.ts +0 -4
  274. package/src/eth-signature/eth_signature.ts +7 -1
  275. package/src/fifo/fifo_frame_reader.ts +98 -0
  276. package/src/fifo/index.ts +1 -0
  277. package/src/fifo_set/fifo_set.ts +52 -0
  278. package/src/fifo_set/index.ts +1 -0
  279. package/src/jest/setup.mjs +31 -1
  280. package/src/json-rpc/client/fetch.ts +4 -3
  281. package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
  282. package/src/json-rpc/client/undici.ts +5 -3
  283. package/src/json-rpc/fixtures/test_state.ts +10 -10
  284. package/src/json-rpc/server/api_key_auth.ts +63 -0
  285. package/src/json-rpc/server/index.ts +1 -0
  286. package/src/json-rpc/server/safe_json_rpc_server.ts +31 -13
  287. package/src/log/bigint-utils.ts +25 -0
  288. package/src/log/gcloud-logger-config.ts +5 -0
  289. package/src/log/libp2p_logger.ts +12 -5
  290. package/src/log/log-filters.ts +29 -11
  291. package/src/log/pino-logger-server.ts +25 -0
  292. package/src/log/pino-logger.ts +160 -39
  293. package/src/noir/noir_package_config.ts +32 -20
  294. package/src/promise/running-promise.ts +8 -5
  295. package/src/queue/base_memory_queue.ts +1 -1
  296. package/src/queue/batch_queue.ts +1 -0
  297. package/src/queue/semaphore.ts +5 -0
  298. package/src/retry/index.ts +66 -4
  299. package/src/schemas/api.ts +25 -25
  300. package/src/schemas/parse.ts +9 -6
  301. package/src/schemas/schemas.ts +4 -4
  302. package/src/schemas/types.ts +2 -2
  303. package/src/schemas/utils.ts +4 -38
  304. package/src/serialize/buffer_reader.ts +15 -0
  305. package/src/serialize/buffer_sink.ts +350 -0
  306. package/src/serialize/index.ts +1 -0
  307. package/src/serialize/serialize.ts +32 -0
  308. package/src/sleep/index.ts +10 -1
  309. package/src/string/index.ts +1 -1
  310. package/src/testing/files/index.ts +1 -2
  311. package/src/timer/date.ts +48 -0
  312. package/src/timer/index.ts +1 -1
  313. package/src/timer/timeout.ts +31 -0
  314. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  315. package/src/transport/index.ts +0 -1
  316. package/src/transport/transport_client.ts +2 -2
  317. package/src/trees/balanced_merkle_tree_root.ts +2 -5
  318. package/src/trees/hasher.ts +6 -3
  319. package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
  320. package/src/trees/membership_witness.ts +0 -8
  321. package/src/trees/merkle_tree_calculator.ts +4 -10
  322. package/src/trees/sibling_path.ts +11 -6
  323. package/src/trees/unbalanced_merkle_tree_root.ts +2 -5
  324. package/src/types/index.ts +52 -0
  325. package/dest/crypto/serialize.d.ts +0 -51
  326. package/dest/crypto/serialize.d.ts.map +0 -1
  327. package/dest/crypto/serialize.js +0 -68
  328. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  329. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  330. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  331. package/src/crypto/serialize.ts +0 -85
  332. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
@@ -4,12 +4,45 @@ import { pino, symbols } from 'pino';
4
4
  import { inspect } from 'util';
5
5
  import { compactArray } from '../collection/array.js';
6
6
  import { parseBooleanEnv } from '../config/parse-env.js';
7
+ import { convertBigintsToStrings } from './bigint-utils.js';
7
8
  import { GoogleCloudLoggerConfig } from './gcloud-logger-config.js';
8
- import { getLogLevelFromFilters, parseEnv } from './log-filters.js';
9
- export function createLogger(module) {
10
- module = logNameHandlers.reduce((moduleName, handler)=>handler(moduleName), module.replace(/^aztec:/, ''));
9
+ import { getLogLevelFromFilters, parseLogLevelEnvVar } from './log-filters.js';
10
+ const MAX_MODULE_NAME_LENGTH = 256;
11
+ const logBindingsHandlers = [];
12
+ export function addLogBindingsHandler(handler) {
13
+ logBindingsHandlers.push(handler);
14
+ }
15
+ export function removeLogBindingsHandler(handler) {
16
+ const index = logBindingsHandlers.indexOf(handler);
17
+ if (index !== -1) {
18
+ logBindingsHandlers.splice(index, 1);
19
+ }
20
+ }
21
+ function getBindingsFromHandlers() {
22
+ for (const handler of logBindingsHandlers){
23
+ const bindings = handler();
24
+ if (bindings) {
25
+ return bindings;
26
+ }
27
+ }
28
+ return undefined;
29
+ }
30
+ export function createLogger(module, bindings) {
31
+ module = module.slice(0, MAX_MODULE_NAME_LENGTH).replace(/^aztec:/, '');
32
+ const resolvedBindings = {
33
+ ...getBindingsFromHandlers(),
34
+ ...bindings
35
+ };
36
+ const actor = resolvedBindings?.actor;
37
+ const instanceId = resolvedBindings?.instanceId;
11
38
  const pinoLogger = logger.child({
12
- module
39
+ module,
40
+ ...actor && {
41
+ actor
42
+ },
43
+ ...instanceId && {
44
+ instanceId
45
+ }
13
46
  }, {
14
47
  level: getLogLevelFromFilters(logFilters, module)
15
48
  });
@@ -29,9 +62,25 @@ export function createLogger(module) {
29
62
  /** Level of the logger */ level: pinoLogger.level,
30
63
  /** Whether the given level is enabled for this logger. */ isLevelEnabled: (level)=>isLevelEnabled(pinoLogger, level),
31
64
  /** Module name for the logger. */ module,
32
- /** Creates another logger by extending this logger module name. */ createChild: (childModule)=>createLogger(`${module}:${childModule}`)
65
+ /** Creates another logger by extending this logger module name and preserving bindings. */ createChild: (childModule)=>createLogger(`${module}:${childModule}`, {
66
+ actor,
67
+ instanceId
68
+ }),
69
+ /** Returns the bindings (actor, instanceId) for this logger. */ getBindings: ()=>({
70
+ actor,
71
+ instanceId
72
+ })
33
73
  };
34
74
  }
75
+ /**
76
+ * Returns a logger for the given module. If loggerOrBindings is already a Logger, returns it directly.
77
+ * Otherwise, creates a new logger with the given module name and bindings.
78
+ */ export function resolveLogger(module, loggerOrBindings) {
79
+ if (loggerOrBindings && 'info' in loggerOrBindings) {
80
+ return loggerOrBindings;
81
+ }
82
+ return createLogger(module, loggerOrBindings);
83
+ }
35
84
  const logDataHandlers = [];
36
85
  export function addLogDataHandler(handler) {
37
86
  logDataHandlers.push(handler);
@@ -39,30 +88,13 @@ export function addLogDataHandler(handler) {
39
88
  function processLogData(data) {
40
89
  return logDataHandlers.reduce((accum, handler)=>handler(accum), data);
41
90
  }
42
- const logNameHandlers = [];
43
- export function addLogNameHandler(handler) {
44
- logNameHandlers.push(handler);
45
- }
46
- export function removeLogNameHandler(handler) {
47
- const index = logNameHandlers.indexOf(handler);
48
- if (index !== -1) {
49
- logNameHandlers.splice(index, 1);
50
- }
51
- }
52
- /** Creates all loggers within the given callback with the suffix appended to the module name. */ export async function withLogNameSuffix(suffix, callback) {
53
- const logNameHandler = (module)=>`${module}:${suffix}`;
54
- addLogNameHandler(logNameHandler);
55
- const result = await callback();
56
- removeLogNameHandler(logNameHandler);
57
- return result;
58
- }
59
91
  // Patch isLevelEnabled missing from pino/browser.
60
92
  function isLevelEnabled(logger, level) {
61
93
  return typeof logger.isLevelEnabled === 'function' ? logger.isLevelEnabled(level) : logger.levels.values[level] >= logger.levels.values[logger.level];
62
94
  }
63
95
  // Load log levels from environment variables.
64
96
  const defaultLogLevel = process.env.NODE_ENV === 'test' ? 'silent' : 'info';
65
- export const [logLevel, logFilters] = parseEnv(process.env.LOG_LEVEL, defaultLogLevel);
97
+ export const [logLevel, logFilters] = parseLogLevelEnvVar(process.env.LOG_LEVEL, defaultLogLevel);
66
98
  // Define custom logging levels for pino.
67
99
  const customLevels = {
68
100
  verbose: 25
@@ -99,6 +131,9 @@ const pinoOpts = {
99
131
  ...redactedPaths.map((p)=>`opts.${p}`)
100
132
  ]
101
133
  },
134
+ formatters: {
135
+ log: (obj)=>convertBigintsToStrings(obj)
136
+ },
102
137
  ...useGcloudLogging ? GoogleCloudLoggerConfig : {}
103
138
  };
104
139
  export const levels = {
@@ -114,23 +149,82 @@ export const levels = {
114
149
  // Transport options for pretty logging to stderr via pino-pretty.
115
150
  const colorEnv = process.env['FORCE_COLOR'];
116
151
  const useColor = colorEnv === undefined ? isColorSupported : parseBooleanEnv(colorEnv);
117
- const { bold, reset } = createColors({
152
+ const { bold, reset, cyan, magenta, yellow, blue, green, magentaBright, yellowBright, blueBright, greenBright } = createColors({
118
153
  useColor
119
154
  });
120
- export const pinoPrettyOpts = {
155
+ // Per-actor coloring: each unique actor gets a different color for easier visual distinction.
156
+ // Disabled when LOG_NO_COLOR_PER_ACTOR is set to a truthy value.
157
+ const useColorPerActor = useColor && !parseBooleanEnv(process.env['LOG_NO_COLOR_PER_ACTOR']);
158
+ const actorColors = [
159
+ yellow,
160
+ magenta,
161
+ blue,
162
+ green,
163
+ magentaBright,
164
+ yellowBright,
165
+ blueBright,
166
+ greenBright
167
+ ];
168
+ const actorColorMap = new Map();
169
+ let nextColorIndex = 0;
170
+ /** Returns the color function assigned to a given actor, assigning a new one if needed. */ export function getActorColor(actor) {
171
+ let color = actorColorMap.get(actor);
172
+ if (!color) {
173
+ color = actorColors[nextColorIndex % actorColors.length];
174
+ actorColorMap.set(actor, color);
175
+ nextColorIndex++;
176
+ }
177
+ return color;
178
+ }
179
+ /** Resets the actor-to-color mapping. Useful for testing. */ export function resetActorColors() {
180
+ actorColorMap.clear();
181
+ nextColorIndex = 0;
182
+ }
183
+ // String template for messageFormat (used in worker threads and when per-actor coloring is disabled).
184
+ const messageFormatString = `${bold('{module}')}{if actor} ${cyan('{actor}')}{end}{if instanceId} ${reset(cyan('{instanceId}'))}{end} ${reset('{msg}')}`;
185
+ /** Formats a log message with per-actor coloring. Actor, module, and instanceId share the same color. */ export function formatLogMessage(log, messageKey) {
186
+ const actor = log.actor;
187
+ const module = log.module ?? '';
188
+ const instanceId = log.instanceId;
189
+ const msg = log[messageKey] ?? '';
190
+ // Use actor color for actor, module, and instanceId when actor is present
191
+ const color = actor ? getActorColor(actor) : cyan;
192
+ let result = bold(color(module));
193
+ if (actor) {
194
+ result += ' ' + color(actor);
195
+ }
196
+ if (instanceId) {
197
+ result += ' ' + reset(color(instanceId));
198
+ }
199
+ result += ' ' + reset(String(msg));
200
+ return result;
201
+ }
202
+ // Base options for pino-pretty (shared between transport and direct use).
203
+ const pinoPrettyBaseOpts = {
121
204
  destination: 2,
122
205
  sync: true,
123
206
  colorize: useColor,
124
- ignore: 'module,pid,hostname,trace_id,span_id,trace_flags,severity',
125
- messageFormat: `${bold('{module}')} ${reset('{msg}')}`,
207
+ ignore: 'module,actor,instanceId,pid,hostname,trace_id,span_id,trace_flags,severity',
126
208
  customLevels: 'fatal:60,error:50,warn:40,info:30,verbose:25,debug:20,trace:10',
127
209
  customColors: 'fatal:bgRed,error:red,warn:yellow,info:green,verbose:magenta,debug:blue,trace:gray',
128
210
  minimumLevel: 'trace',
129
211
  singleLine: !parseBooleanEnv(process.env['LOG_MULTILINE'])
130
212
  };
213
+ /**
214
+ * Pino-pretty options for direct use (e.g., jest/setup.mjs).
215
+ * Includes function-based messageFormat for per-actor coloring when enabled.
216
+ */ export const pinoPrettyOpts = {
217
+ ...pinoPrettyBaseOpts,
218
+ messageFormat: useColorPerActor ? formatLogMessage : messageFormatString
219
+ };
220
+ // Transport options use string template only (functions can't be serialized to worker threads).
221
+ const prettyTransportOpts = {
222
+ ...pinoPrettyBaseOpts,
223
+ messageFormat: messageFormatString
224
+ };
131
225
  const prettyTransport = {
132
226
  target: 'pino-pretty',
133
- options: pinoPrettyOpts,
227
+ options: prettyTransportOpts,
134
228
  level: 'trace'
135
229
  };
136
230
  // Transport for vanilla stdio logging as JSON.
@@ -229,5 +323,19 @@ logger.verbose({
229
323
  * @param err - Error to log
230
324
  * @returns A string with both the log message and the error message.
231
325
  */ function formatErr(msg, err) {
232
- return err ? `${msg}: ${inspect(err)}` : msg;
326
+ if (!err) {
327
+ return msg;
328
+ }
329
+ try {
330
+ return `${msg}: ${inspect(err)}`;
331
+ } catch {
332
+ // inspect can crash on error objects with broken property descriptors
333
+ try {
334
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
335
+ return `${msg}: ${err instanceof Error ? `${err.name}: ${err.message}` : String(err)}`;
336
+ } catch {
337
+ // if even String(err) fails, return the original message with a note about the error
338
+ return `${msg}: [unserializable error]`;
339
+ }
340
+ }
233
341
  }
@@ -3,111 +3,10 @@ declare const noirGitDependencySchema: z.ZodObject<{
3
3
  git: z.ZodString;
4
4
  tag: z.ZodString;
5
5
  directory: z.ZodOptional<z.ZodString>;
6
- }, "strip", z.ZodTypeAny, {
7
- git: string;
8
- tag: string;
9
- directory?: string | undefined;
10
- }, {
11
- git: string;
12
- tag: string;
13
- directory?: string | undefined;
14
- }>;
6
+ }, z.core.$strip>;
15
7
  declare const noirLocalDependencySchema: z.ZodObject<{
16
8
  path: z.ZodString;
17
- }, "strip", z.ZodTypeAny, {
18
- path: string;
19
- }, {
20
- path: string;
21
- }>;
22
- declare const noirPackageConfigSchema: z.ZodObject<{
23
- package: z.ZodObject<{
24
- name: z.ZodDefault<z.ZodString>;
25
- type: z.ZodDefault<z.ZodEnum<["lib", "contract", "bin"]>>;
26
- entry: z.ZodOptional<z.ZodString>;
27
- description: z.ZodOptional<z.ZodString>;
28
- authors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
29
- compiler_version: z.ZodOptional<z.ZodString>;
30
- backend: z.ZodOptional<z.ZodString>;
31
- license: z.ZodOptional<z.ZodString>;
32
- }, "strip", z.ZodTypeAny, {
33
- name: string;
34
- type: "bin" | "contract" | "lib";
35
- entry?: string | undefined;
36
- description?: string | undefined;
37
- authors?: string[] | undefined;
38
- compiler_version?: string | undefined;
39
- backend?: string | undefined;
40
- license?: string | undefined;
41
- }, {
42
- name?: string | undefined;
43
- type?: "bin" | "contract" | "lib" | undefined;
44
- entry?: string | undefined;
45
- description?: string | undefined;
46
- authors?: string[] | undefined;
47
- compiler_version?: string | undefined;
48
- backend?: string | undefined;
49
- license?: string | undefined;
50
- }>;
51
- dependencies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
52
- git: z.ZodString;
53
- tag: z.ZodString;
54
- directory: z.ZodOptional<z.ZodString>;
55
- }, "strip", z.ZodTypeAny, {
56
- git: string;
57
- tag: string;
58
- directory?: string | undefined;
59
- }, {
60
- git: string;
61
- tag: string;
62
- directory?: string | undefined;
63
- }>, z.ZodObject<{
64
- path: z.ZodString;
65
- }, "strip", z.ZodTypeAny, {
66
- path: string;
67
- }, {
68
- path: string;
69
- }>]>>>;
70
- }, "strip", z.ZodTypeAny, {
71
- package: {
72
- name: string;
73
- type: "bin" | "contract" | "lib";
74
- entry?: string | undefined;
75
- description?: string | undefined;
76
- authors?: string[] | undefined;
77
- compiler_version?: string | undefined;
78
- backend?: string | undefined;
79
- license?: string | undefined;
80
- };
81
- dependencies: Record<string, {
82
- git: string;
83
- tag: string;
84
- directory?: string | undefined;
85
- } | {
86
- path: string;
87
- }>;
88
- }, {
89
- package: {
90
- name?: string | undefined;
91
- type?: "bin" | "contract" | "lib" | undefined;
92
- entry?: string | undefined;
93
- description?: string | undefined;
94
- authors?: string[] | undefined;
95
- compiler_version?: string | undefined;
96
- backend?: string | undefined;
97
- license?: string | undefined;
98
- };
99
- dependencies?: Record<string, {
100
- git: string;
101
- tag: string;
102
- directory?: string | undefined;
103
- } | {
104
- path: string;
105
- }> | undefined;
106
- }>;
107
- /**
108
- * Noir package configuration.
109
- */
110
- export type NoirPackageConfig = z.infer<typeof noirPackageConfigSchema>;
9
+ }, z.core.$strip>;
111
10
  /**
112
11
  * A remote package dependency.
113
12
  */
@@ -120,10 +19,26 @@ export type NoirLocalDependencyConfig = z.infer<typeof noirLocalDependencySchema
120
19
  * A package dependency.
121
20
  */
122
21
  export type NoirDependencyConfig = NoirGitDependencyConfig | NoirLocalDependencyConfig;
22
+ /**
23
+ * Noir package configuration.
24
+ */
25
+ export type NoirPackageConfig = {
26
+ package: {
27
+ name: string;
28
+ type: 'lib' | 'contract' | 'bin';
29
+ entry?: string | undefined;
30
+ description?: string | undefined;
31
+ authors?: string[] | undefined;
32
+ compiler_version?: string | undefined;
33
+ backend?: string | undefined;
34
+ license?: string | undefined;
35
+ };
36
+ dependencies: Record<string, NoirDependencyConfig>;
37
+ };
123
38
  /**
124
39
  * Checks that an object is a package configuration.
125
40
  * @param config - Config to check
126
41
  */
127
42
  export declare function parseNoirPackageConfig(config: any): NoirPackageConfig;
128
43
  export {};
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pcl9wYWNrYWdlX2NvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25vaXIvbm9pcl9wYWNrYWdlX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLFFBQUEsTUFBTSx1QkFBdUI7Ozs7Ozs7Ozs7OztFQUkzQixDQUFDO0FBRUgsUUFBQSxNQUFNLHlCQUF5Qjs7Ozs7O0VBRTdCLENBQUM7QUFFSCxRQUFBLE1BQU0sdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFhM0IsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx1QkFBdUIsQ0FBQyxDQUFDO0FBRXhFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx1QkFBdUIsQ0FBQyxDQUFDO0FBRTlFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx5QkFBeUIsQ0FBQyxDQUFDO0FBRWxGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBRXZGOzs7R0FHRztBQUNILHdCQUFnQixzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLGlCQUFpQixDQUVyRSJ9
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pcl9wYWNrYWdlX2NvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25vaXIvbm9pcl9wYWNrYWdlX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLFFBQUEsTUFBTSx1QkFBdUI7Ozs7aUJBSTNCLENBQUM7QUFFSCxRQUFBLE1BQU0seUJBQXlCOztpQkFFN0IsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx1QkFBdUIsQ0FBQyxDQUFDO0FBRTlFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx5QkFBeUIsQ0FBQyxDQUFDO0FBRWxGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBRXZGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxNQUFNLENBQUM7UUFDYixJQUFJLEVBQUUsS0FBSyxHQUFHLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDakMsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUMzQixXQUFXLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUMvQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDdEMsT0FBTyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUM3QixPQUFPLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0tBQzlCLENBQUM7SUFDRixZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0NBQ3BELENBQUM7QUFpQkY7OztHQUdHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsaUJBQWlCLENBRXJFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"noir_package_config.d.ts","sourceRoot":"","sources":["../../src/noir/noir_package_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,uBAAuB;;;;;;;;;;;;EAI3B,CAAC;AAEH,QAAA,MAAM,yBAAyB;;;;;;EAE7B,CAAC;AAEH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa3B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAEvF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,iBAAiB,CAErE"}
1
+ {"version":3,"file":"noir_package_config.d.ts","sourceRoot":"","sources":["../../src/noir/noir_package_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,uBAAuB;;;;iBAI3B,CAAC;AAEH,QAAA,MAAM,yBAAyB;;iBAE7B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACpD,CAAC;AAiBF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,iBAAiB,CAErE"}
@@ -23,7 +23,7 @@ const noirPackageConfigSchema = z.object({
23
23
  backend: z.string().optional(),
24
24
  license: z.string().optional()
25
25
  }),
26
- dependencies: z.record(z.union([
26
+ dependencies: z.record(z.string(), z.union([
27
27
  noirGitDependencySchema,
28
28
  noirLocalDependencySchema
29
29
  ])).default({})
@@ -7,7 +7,7 @@ export declare function makeLoggingErrorHandler(logger: Logger, ...ignoredErrors
7
7
  * at a specified polling interval. It allows starting, stopping, and checking the status of the
8
8
  * internally managed promise. The class also supports interrupting the polling process when stopped.
9
9
  */
10
- export declare class RunningPromise {
10
+ export declare class RunningPromise<T = void> {
11
11
  private fn;
12
12
  private logger;
13
13
  private pollingIntervalMS;
@@ -16,8 +16,9 @@ export declare class RunningPromise {
16
16
  private runningPromise;
17
17
  private interruptibleSleep;
18
18
  private requested;
19
+ private requestedArg;
19
20
  static readonly EXIT: typeof EXIT;
20
- constructor(fn: () => void | Promise<void>, logger?: Logger, pollingIntervalMS?: number, handleError?: ErrorHandler);
21
+ constructor(fn: (arg?: T) => void | Promise<void>, logger?: Logger, pollingIntervalMS?: number, handleError?: ErrorHandler);
21
22
  /**
22
23
  * Starts the running promise.
23
24
  */
@@ -36,7 +37,7 @@ export declare class RunningPromise {
36
37
  * Triggers an immediate run of the function, bypassing the polling interval.
37
38
  * If the function is currently running, it will be allowed to continue and then called again immediately.
38
39
  */
39
- trigger(): Promise<void>;
40
+ trigger(arg?: T): Promise<void>;
40
41
  /**
41
42
  * Updates the polling interval. The new interval will take effect after the next poll.
42
43
  * @param pollingIntervalMS The polling interval in milliseconds.
@@ -44,4 +45,4 @@ export declare class RunningPromise {
44
45
  setPollingIntervalMS(pollingIntervalMS: number): void;
45
46
  }
46
47
  export {};
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmluZy1wcm9taXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvbWlzZS9ydW5uaW5nLXByb21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSWxFLFFBQUEsTUFBTSxJQUFJLGVBQW9DLENBQUM7QUFFL0MsTUFBTSxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLEtBQUssT0FBTyxJQUFJLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztBQUU5Rix3QkFBZ0IsdUJBQXVCLENBQ3JDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLEdBQ2xELFlBQVksQ0FNZDtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFjO0lBU3ZCLE9BQU8sQ0FBQyxFQUFFO0lBQ1YsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLE9BQU8sQ0FBQyxXQUFXO0lBWHJCLE9BQU8sQ0FBQyxPQUFPLENBQVM7SUFDeEIsT0FBTyxDQUFDLGNBQWMsQ0FBcUI7SUFDM0MsT0FBTyxDQUFDLGtCQUFrQixDQUE0QjtJQUN0RCxPQUFPLENBQUMsU0FBUyxDQUFxRDtJQUV0RSxnQkFBdUIsSUFBSSxFQUFFLE9BQU8sSUFBSSxDQUFRO0lBRWhELFlBQ1UsRUFBRSxFQUFFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDOUIsTUFBTSxTQUFrQyxFQUN4QyxpQkFBaUIsU0FBUSxFQUN6QixXQUFXLEdBQUUsWUFBOEMsRUFDakU7SUFFSjs7T0FFRztJQUNJLEtBQUssU0FrQ1g7SUFFRDs7O09BR0c7SUFDRyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU8xQjtJQUVEOzs7T0FHRztJQUNJLFNBQVMsWUFFZjtJQUVEOzs7T0FHRztJQUNVLE9BQU8sa0JBWW5CO0lBRUQ7OztPQUdHO0lBQ0gsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxRQUU3QztDQUNGIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmluZy1wcm9taXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvbWlzZS9ydW5uaW5nLXByb21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSWxFLFFBQUEsTUFBTSxJQUFJLGVBQW9DLENBQUM7QUFFL0MsTUFBTSxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLEtBQUssT0FBTyxJQUFJLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztBQUU5Rix3QkFBZ0IsdUJBQXVCLENBQ3JDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLEdBQ2xELFlBQVksQ0FNZDtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFjLENBQUMsQ0FBQyxHQUFHLElBQUk7SUFVaEMsT0FBTyxDQUFDLEVBQUU7SUFDVixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxpQkFBaUI7SUFDekIsT0FBTyxDQUFDLFdBQVc7SUFackIsT0FBTyxDQUFDLE9BQU8sQ0FBUztJQUN4QixPQUFPLENBQUMsY0FBYyxDQUFxQjtJQUMzQyxPQUFPLENBQUMsa0JBQWtCLENBQTRCO0lBQ3RELE9BQU8sQ0FBQyxTQUFTLENBQXFEO0lBQ3RFLE9BQU8sQ0FBQyxZQUFZLENBQTRCO0lBRWhELGdCQUF1QixJQUFJLEVBQUUsT0FBTyxJQUFJLENBQVE7SUFFaEQsWUFDVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDckMsTUFBTSxTQUFrQyxFQUN4QyxpQkFBaUIsU0FBUSxFQUN6QixXQUFXLEdBQUUsWUFBOEMsRUFDakU7SUFFSjs7T0FFRztJQUNJLEtBQUssU0FtQ1g7SUFFRDs7O09BR0c7SUFDRyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU8xQjtJQUVEOzs7T0FHRztJQUNJLFNBQVMsWUFFZjtJQUVEOzs7T0FHRztJQUNVLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWEzQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLE1BQU0sUUFFN0M7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,QAAA,MAAM,IAAI,eAAoC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;AAE9F,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAE,GAClD,YAAY,CAMd;AAED;;;;GAIG;AACH,qBAAa,cAAc;IASvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IAXrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,SAAS,CAAqD;IAEtE,gBAAuB,IAAI,EAAE,OAAO,IAAI,CAAQ;IAEhD,YACU,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9B,MAAM,SAAkC,EACxC,iBAAiB,SAAQ,EACzB,WAAW,GAAE,YAA8C,EACjE;IAEJ;;OAEG;IACI,KAAK,SAkCX;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1B;IAED;;;OAGG;IACI,SAAS,YAEf;IAED;;;OAGG;IACU,OAAO,kBAYnB;IAED;;;OAGG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,QAE7C;CACF"}
1
+ {"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,QAAA,MAAM,IAAI,eAAoC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;AAE9F,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAE,GAClD,YAAY,CAMd;AAED;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,GAAG,IAAI;IAUhC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IAZrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,SAAS,CAAqD;IACtE,OAAO,CAAC,YAAY,CAA4B;IAEhD,gBAAuB,IAAI,EAAE,OAAO,IAAI,CAAQ;IAEhD,YACU,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACrC,MAAM,SAAkC,EACxC,iBAAiB,SAAQ,EACzB,WAAW,GAAE,YAA8C,EACjE;IAEJ;;OAEG;IACI,KAAK,SAmCX;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1B;IAED;;;OAGG;IACI,SAAS,YAEf;IAED;;;OAGG;IACU,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3C;IAED;;;OAGG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,QAE7C;CACF"}
@@ -22,6 +22,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
22
22
  runningPromise;
23
23
  interruptibleSleep;
24
24
  requested;
25
+ requestedArg;
25
26
  static EXIT = EXIT;
26
27
  constructor(fn, logger = createLogger('running-promise'), pollingIntervalMS = 10000, handleError = makeLoggingErrorHandler(logger)){
27
28
  this.fn = fn;
@@ -32,6 +33,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
32
33
  this.runningPromise = Promise.resolve();
33
34
  this.interruptibleSleep = new InterruptibleSleep();
34
35
  this.requested = undefined;
36
+ this.requestedArg = undefined;
35
37
  }
36
38
  /**
37
39
  * Starts the running promise.
@@ -45,7 +47,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
45
47
  while(this.running){
46
48
  const hasRequested = this.requested !== undefined;
47
49
  try {
48
- await this.fn();
50
+ await this.fn(this.requestedArg);
49
51
  } catch (err) {
50
52
  const code = await this.handleError(err);
51
53
  if (code === RunningPromise.EXIT) {
@@ -59,6 +61,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
59
61
  if (hasRequested) {
60
62
  this.requested.resolve();
61
63
  this.requested = undefined;
64
+ this.requestedArg = undefined;
62
65
  }
63
66
  // If no immediate run was requested, sleep for the polling interval.
64
67
  if (this.requested === undefined && this.running) {
@@ -89,14 +92,15 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
89
92
  /**
90
93
  * Triggers an immediate run of the function, bypassing the polling interval.
91
94
  * If the function is currently running, it will be allowed to continue and then called again immediately.
92
- */ async trigger() {
95
+ */ async trigger(arg) {
93
96
  if (!this.running) {
94
- return this.fn();
97
+ return this.fn(arg);
95
98
  }
96
99
  let requested = this.requested;
97
100
  if (!requested) {
98
101
  requested = promiseWithResolvers();
99
102
  this.requested = requested;
103
+ this.requestedArg = arg;
100
104
  this.interruptibleSleep.interrupt();
101
105
  }
102
106
  await requested.promise;
@@ -60,6 +60,6 @@ export declare abstract class BaseMemoryQueue<T> {
60
60
  * @param handler - A function that takes an item of type T and returns a Promise<void> after processing the item.
61
61
  * @returns A Promise<void> that resolves when the queue is finished processing.
62
62
  */
63
- process(handler: (item: T) => Promise<void>): Promise<void>;
63
+ process(handler: (item: T) => Promise<void> | void): Promise<void>;
64
64
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9tZW1vcnlfcXVldWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWV1ZS9iYXNlX21lbW9yeV9xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSw4QkFBc0IsZUFBZSxDQUFDLENBQUM7SUFJekIsT0FBTyxDQUFDLEdBQUc7SUFIdkIsT0FBTyxDQUFDLE9BQU8sQ0FBb0M7SUFDbkQsT0FBTyxDQUFDLFFBQVEsQ0FBUztJQUV6QixZQUFvQixHQUFHLHlDQUF5QyxFQUFJO0lBRXBFLFNBQVMsQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJO1FBQzlCLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDZixHQUFHLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNyQixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbkIsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0tBQ25CLENBQUM7SUFFRjs7Ozs7T0FLRztJQUNJLE1BQU0sV0FFWjtJQUVEOzs7T0FHRztJQUNJLFlBQVksSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUVuQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBNkJqRDtJQUVEOzs7O09BSUc7SUFDSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxPQUFPLENBVzNCO0lBRUQ7Ozs7T0FJRztJQUNJLEdBQUcsU0FHVDtJQUVEOzs7O09BSUc7SUFDSSxNQUFNLFNBSVo7SUFFRDs7Ozs7Ozs7T0FRRztJQUNVLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBWXZEO0NBQ0YifQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9tZW1vcnlfcXVldWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWV1ZS9iYXNlX21lbW9yeV9xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSw4QkFBc0IsZUFBZSxDQUFDLENBQUM7SUFJekIsT0FBTyxDQUFDLEdBQUc7SUFIdkIsT0FBTyxDQUFDLE9BQU8sQ0FBb0M7SUFDbkQsT0FBTyxDQUFDLFFBQVEsQ0FBUztJQUV6QixZQUFvQixHQUFHLHlDQUF5QyxFQUFJO0lBRXBFLFNBQVMsQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJO1FBQzlCLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDZixHQUFHLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNyQixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbkIsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0tBQ25CLENBQUM7SUFFRjs7Ozs7T0FLRztJQUNJLE1BQU0sV0FFWjtJQUVEOzs7T0FHRztJQUNJLFlBQVksSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUVuQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBNkJqRDtJQUVEOzs7O09BSUc7SUFDSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxPQUFPLENBVzNCO0lBRUQ7Ozs7T0FJRztJQUNJLEdBQUcsU0FHVDtJQUVEOzs7O09BSUc7SUFDSSxNQUFNLFNBSVo7SUFFRDs7Ozs7Ozs7T0FRRztJQUNVLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLGlCQVk5RDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"base_memory_queue.d.ts","sourceRoot":"","sources":["../../src/queue/base_memory_queue.ts"],"names":[],"mappings":"AAGA,8BAAsB,eAAe,CAAC,CAAC;IAIzB,OAAO,CAAC,GAAG;IAHvB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,QAAQ,CAAS;IAEzB,YAAoB,GAAG,yCAAyC,EAAI;IAEpE,SAAS,CAAC,QAAQ,KAAK,KAAK,IAAI;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;QACrB,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnB,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,CAAC;IAEF;;;;;OAKG;IACI,MAAM,WAEZ;IAED;;;OAGG;IACI,YAAY,IAAI,CAAC,GAAG,SAAS,CAEnC;IAED;;;;;;;;;;OAUG;IACI,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA6BjD;IAED;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAW3B;IAED;;;;OAIG;IACI,GAAG,SAGT;IAED;;;;OAIG;IACI,MAAM,SAIZ;IAED;;;;;;;;OAQG;IACU,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,iBAYvD;CACF"}
1
+ {"version":3,"file":"base_memory_queue.d.ts","sourceRoot":"","sources":["../../src/queue/base_memory_queue.ts"],"names":[],"mappings":"AAGA,8BAAsB,eAAe,CAAC,CAAC;IAIzB,OAAO,CAAC,GAAG;IAHvB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,QAAQ,CAAS;IAEzB,YAAoB,GAAG,yCAAyC,EAAI;IAEpE,SAAS,CAAC,QAAQ,KAAK,KAAK,IAAI;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;QACrB,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnB,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,CAAC;IAEF;;;;;OAKG;IACI,MAAM,WAEZ;IAED;;;OAGG;IACI,YAAY,IAAI,CAAC,GAAG,SAAS,CAEnC;IAED;;;;;;;;;;OAUG;IACI,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA6BjD;IAED;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAW3B;IAED;;;;OAIG;IACI,GAAG,SAGT;IAED;;;;OAIG;IACI,MAAM,SAIZ;IAED;;;;;;;;OAQG;IACU,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,iBAY9D;CACF"}
@@ -44,4 +44,4 @@ export declare class BatchQueue<T, K extends string | number> {
44
44
  stop(): Promise<void>;
45
45
  private execProcessor;
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfcXVldWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWV1ZS9iYXRjaF9xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHFCQUFhLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sR0FBRyxNQUFNO0lBTWhELE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLEdBQUc7SUFSYixPQUFPLENBQUMsU0FBUyxDQUFzQztJQUN2RCxPQUFPLENBQUMsWUFBWSxDQUFDLENBQWM7SUFDbkMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFnQjtJQUV2QyxZQUNVLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUMvRCxZQUFZLEVBQUUsTUFBTSxFQUNwQixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLEdBQUcseUNBQXlDLEVBQ2xEO0lBRUo7Ozs7O09BS0c7SUFDSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwQnpDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUIsYUFPdEI7SUFFRjs7T0FFRztJQUNJLEtBQUssU0FNWDtJQUVEOzs7T0FHRztJQUNJLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBVTNCO0lBRUQsT0FBTyxDQUFDLGFBQWEsQ0FPbkI7Q0FDSCJ9
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfcXVldWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWV1ZS9iYXRjaF9xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHFCQUFhLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sR0FBRyxNQUFNO0lBTWhELE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLEdBQUc7SUFSYixPQUFPLENBQUMsU0FBUyxDQUFzQztJQUN2RCxPQUFPLENBQUMsWUFBWSxDQUFDLENBQWM7SUFDbkMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFnQjtJQUV2QyxZQUNVLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUMvRCxZQUFZLEVBQUUsTUFBTSxFQUNwQixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLEdBQUcseUNBQXlDLEVBQ2xEO0lBRUo7Ozs7O09BS0c7SUFDSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwQnpDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUIsYUFPdEI7SUFFRjs7T0FFRztJQUNJLEtBQUssU0FNWDtJQUVEOzs7T0FHRztJQUNJLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBVzNCO0lBRUQsT0FBTyxDQUFDLGFBQWEsQ0FPbkI7Q0FDSCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"batch_queue.d.ts","sourceRoot":"","sources":["../../src/queue/batch_queue.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAMhD,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IARb,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,YACU,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC/D,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,GAAG,yCAAyC,EAClD;IAEJ;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BzC;IAED;;OAEG;IACI,iBAAiB,aAOtB;IAEF;;OAEG;IACI,KAAK,SAMX;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAU3B;IAED,OAAO,CAAC,aAAa,CAOnB;CACH"}
1
+ {"version":3,"file":"batch_queue.d.ts","sourceRoot":"","sources":["../../src/queue/batch_queue.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAMhD,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IARb,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,YACU,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC/D,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,GAAG,yCAAyC,EAClD;IAEJ;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BzC;IAED;;OAEG;IACI,iBAAiB,aAOtB;IAEF;;OAEG;IACI,KAAK,SAMX;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAW3B;IAED,OAAO,CAAC,aAAa,CAOnB;CACH"}
@@ -98,6 +98,7 @@ import { FifoMemoryQueue } from './fifo_memory_queue.js';
98
98
  if (!runningPromise) {
99
99
  return Promise.resolve();
100
100
  }
101
+ this.flushCurrentBatch();
101
102
  this.container.end();
102
103
  return runningPromise;
103
104
  }
@@ -1,3 +1,7 @@
1
+ export interface ISemaphore {
2
+ acquire(): Promise<void>;
3
+ release(): void;
4
+ }
1
5
  /**
2
6
  * Allows the acquiring of up to `size` tokens before calls to acquire block, waiting for a call to release().
3
7
  */
@@ -20,4 +24,4 @@ export declare class Semaphore {
20
24
  */
21
25
  release(): void;
22
26
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtYXBob3JlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVldWUvc2VtYXBob3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gscUJBQWEsU0FBUztJQUNwQixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBa0M7SUFFeEQsWUFBWSxJQUFJLEVBQUUsTUFBTSxFQUV2QjtJQUVEOzs7Ozs7T0FNRztJQUNVLE9BQU8sa0JBRW5CO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPLFNBRWI7Q0FDRiJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtYXBob3JlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVldWUvc2VtYXBob3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sV0FBVyxVQUFVO0lBQ3pCLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsT0FBTyxJQUFJLElBQUksQ0FBQztDQUNqQjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsU0FBUztJQUNwQixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBa0M7SUFFeEQsWUFBWSxJQUFJLEVBQUUsTUFBTSxFQUV2QjtJQUVEOzs7Ozs7T0FNRztJQUNVLE9BQU8sa0JBRW5CO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPLFNBRWI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../src/queue/semaphore.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IAExD,YAAY,IAAI,EAAE,MAAM,EAEvB;IAED;;;;;;OAMG;IACU,OAAO,kBAEnB;IAED;;;;;OAKG;IACI,OAAO,SAEb;CACF"}
1
+ {"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../src/queue/semaphore.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IAExD,YAAY,IAAI,EAAE,MAAM,EAEvB;IAED;;;;;;OAMG;IACU,OAAO,kBAEnB;IAED;;;;;OAKG;IACI,OAAO,SAEb;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { type Logger } from '../log/index.js';
2
+ import { type DateProvider } from '../timer/index.js';
2
3
  /** An error that indicates that the operation should not be retried. */
3
4
  export declare class NoRetryError extends Error {
4
5
  }
@@ -30,6 +31,19 @@ export declare function makeBackoff(retries: number[]): Generator<number, void,
30
31
  * @throws If `NoRetryError` is thrown by the `fn`, it is rethrown.
31
32
  */
32
33
  export declare function retry<Result>(fn: () => Promise<Result>, name?: string, backoff?: Generator<number, void, unknown>, log?: Logger, failSilently?: boolean): Promise<Result>;
34
+ /**
35
+ * Timeout specification accepted by {@link retryUntil}. Either a plain number of seconds, an explicit
36
+ * `{ timeout }` in seconds, or an absolute `{ deadline }` with an optional {@link DateProvider} used to
37
+ * read the current time. A deadline is converted to the remaining seconds at call time; a deadline that
38
+ * has already passed yields a zero remaining budget, matching the immediate-timeout semantics of a
39
+ * non-positive numeric timeout.
40
+ */
41
+ export type RetryUntilTimeout = number | {
42
+ timeout: number;
43
+ } | {
44
+ deadline: Date;
45
+ dateProvider?: DateProvider;
46
+ };
33
47
  /**
34
48
  * Retry an asynchronous function until it returns a truthy value or the specified timeout is exceeded.
35
49
  * The function is retried periodically with a fixed interval between attempts. The operation can be named for better error messages.
@@ -37,11 +51,25 @@ export declare function retry<Result>(fn: () => Promise<Result>, name?: string,
37
51
  *
38
52
  * @param fn - The asynchronous function to be retried, which should return a truthy value upon success or undefined otherwise.
39
53
  * @param name - The optional name of the operation, used for generating timeout error message.
40
- * @param timeout - The optional maximum time, in seconds, to keep retrying before throwing a timeout error. Defaults to 0 (never timeout).
54
+ * @param timeout - The maximum time to keep retrying before throwing a timeout error. Accepts a number of
55
+ * seconds (0 = never time out), an explicit `{ timeout }` in seconds, or an absolute `{ deadline }` with an
56
+ * optional `dateProvider`. A deadline already in the past times out on the first interval, the same as a
57
+ * zero/negative numeric timeout. Defaults to 0 (never timeout).
41
58
  * @param interval - The optional interval, in seconds, between retry attempts. Defaults to 1 second.
42
59
  * @returns A Promise that resolves with the successful (truthy) result of the provided function, or rejects if timeout is exceeded.
43
60
  */
44
- export declare function retryUntil<T>(fn: () => (T | undefined) | Promise<T | undefined>, name?: string, timeout?: number, interval?: number): Promise<NonNullable<Awaited<T>>>;
61
+ export declare function retryUntil<T>(fn: () => (T | undefined) | Promise<T | undefined>, name?: string, timeout?: RetryUntilTimeout, interval?: number): Promise<NonNullable<Awaited<T>>>;
62
+ /**
63
+ * Retry an asynchronous function until it returns a truthy value or the maximum number of retries is exceeded.
64
+ * The function is retried periodically with a fixed interval between attempts.
65
+ *
66
+ * @param fn - The asynchronous function to be retried, which should return a truthy value upon success or undefined otherwise.
67
+ * @param name - The optional name of the operation, used for generating error messages.
68
+ * @param maxRetries - The maximum number of retry attempts before throwing an error.
69
+ * @param retryInterval - The optional interval, in seconds, between retry attempts. Defaults to 1 second.
70
+ * @returns A Promise that resolves with the successful (truthy) result of the provided function, or rejects if retries are exhausted.
71
+ */
72
+ export declare function retryTimes<T>(fn: () => (T | undefined) | Promise<T | undefined>, name: string | undefined, maxRetries: number, retryInterval?: number): Promise<NonNullable<Awaited<T>>>;
45
73
  /**
46
74
  * Convenience wrapper around retryUntil with fast polling for tests.
47
75
  * Uses 10s timeout and 100ms polling interval by default.
@@ -52,4 +80,4 @@ export declare function retryUntil<T>(fn: () => (T | undefined) | Promise<T | un
52
80
  * @param interval - Optional interval in seconds. Defaults to 0.1s (100ms).
53
81
  */
54
82
  export declare function retryFastUntil<T>(fn: () => (T | undefined) | Promise<T | undefined>, name?: string, timeout?: number, interval?: number): Promise<NonNullable<Awaited<T>>>;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXRyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFJNUQsd0VBQXdFO0FBQ3hFLHFCQUFhLFlBQWEsU0FBUSxLQUFLO0NBQUc7QUFFMUM7Ozs7Ozs7R0FPRztBQUNILHdCQUFpQixnQkFBZ0IscUNBTWhDO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFpQixXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxvQ0FJN0M7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFzQixLQUFLLENBQUMsTUFBTSxFQUNoQyxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3pCLElBQUksU0FBYyxFQUNsQixPQUFPLG1DQUFxQixFQUM1QixHQUFHLEdBQUUsTUFBeUMsRUFDOUMsWUFBWSxVQUFRLG1CQW9CckI7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQXNCLFVBQVUsQ0FBQyxDQUFDLEVBQ2hDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQ2xELElBQUksU0FBSyxFQUNULE9BQU8sU0FBSSxFQUNYLFFBQVEsU0FBSSxvQ0FlYjtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQzlCLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQ2xELElBQUksU0FBSyxFQUNULE9BQU8sU0FBSyxFQUNaLFFBQVEsU0FBTSxvQ0FHZiJ9
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXRyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFFN0Qsd0VBQXdFO0FBQ3hFLHFCQUFhLFlBQWEsU0FBUSxLQUFLO0NBQUc7QUFFMUM7Ozs7Ozs7R0FPRztBQUNILHdCQUFpQixnQkFBZ0IscUNBTWhDO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFpQixXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxvQ0FJN0M7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFzQixLQUFLLENBQUMsTUFBTSxFQUNoQyxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3pCLElBQUksU0FBYyxFQUNsQixPQUFPLG1DQUFxQixFQUM1QixHQUFHLEdBQUUsTUFBeUMsRUFDOUMsWUFBWSxVQUFRLG1CQW9CckI7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxHQUFHO0lBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQUc7SUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDO0lBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFBO0NBQUUsQ0FBQztBQXFCL0c7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILHdCQUFzQixVQUFVLENBQUMsQ0FBQyxFQUNoQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUNsRCxJQUFJLFNBQUssRUFDVCxPQUFPLEdBQUUsaUJBQXFCLEVBQzlCLFFBQVEsU0FBSSxvQ0FnQmI7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0IsVUFBVSxDQUFDLENBQUMsRUFDaEMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsRUFDbEQsSUFBSSxvQkFBSyxFQUNULFVBQVUsRUFBRSxNQUFNLEVBQ2xCLGFBQWEsU0FBSSxvQ0FjbEI7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUM5QixFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUNsRCxJQUFJLFNBQUssRUFDVCxPQUFPLFNBQUssRUFDWixRQUFRLFNBQU0sb0NBR2YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AAI5D,wEAAwE;AACxE,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C;;;;;;;GAOG;AACH,wBAAiB,gBAAgB,qCAMhC;AAED;;;;GAIG;AACH,wBAAiB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,oCAI7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACzB,IAAI,SAAc,EAClB,OAAO,mCAAqB,EAC5B,GAAG,GAAE,MAAyC,EAC9C,YAAY,UAAQ,mBAoBrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,SAAI,EACX,QAAQ,SAAI,oCAeb;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,SAAK,EACZ,QAAQ,SAAM,oCAGf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,mBAAmB,CAAC;AAE7D,wEAAwE;AACxE,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C;;;;;;;GAOG;AACH,wBAAiB,gBAAgB,qCAMhC;AAED;;;;GAIG;AACH,wBAAiB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,oCAI7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACzB,IAAI,SAAc,EAClB,OAAO,mCAAqB,EAC5B,GAAG,GAAE,MAAyC,EAC9C,YAAY,UAAQ,mBAoBrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAqB/G;;;;;;;;;;;;;GAaG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,GAAE,iBAAqB,EAC9B,QAAQ,SAAI,oCAgBb;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,oBAAK,EACT,UAAU,EAAE,MAAM,EAClB,aAAa,SAAI,oCAclB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,SAAK,EACZ,QAAQ,SAAM,oCAGf"}