autotel 3.6.0 → 3.7.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 (602) hide show
  1. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts +175 -0
  2. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts.map +1 -0
  3. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts +175 -0
  4. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts.map +1 -0
  5. package/dist/attribute-redacting-processor.cjs +374 -33
  6. package/dist/attribute-redacting-processor.cjs.map +1 -1
  7. package/dist/attribute-redacting-processor.d.cts +2 -207
  8. package/dist/attribute-redacting-processor.d.ts +2 -207
  9. package/dist/attribute-redacting-processor.js +368 -2
  10. package/dist/attribute-redacting-processor.js.map +1 -1
  11. package/dist/attributes-D3etyRVc.cjs +713 -0
  12. package/dist/attributes-D3etyRVc.cjs.map +1 -0
  13. package/dist/attributes-ksn4HVbd.js +600 -0
  14. package/dist/attributes-ksn4HVbd.js.map +1 -0
  15. package/dist/attributes.cjs +21 -85
  16. package/dist/attributes.d.cts +2 -20
  17. package/dist/attributes.d.ts +2 -20
  18. package/dist/attributes.js +3 -5
  19. package/dist/auto.cjs +50 -28
  20. package/dist/auto.cjs.map +1 -1
  21. package/dist/auto.d.cts +1 -2
  22. package/dist/auto.d.ts +1 -2
  23. package/dist/auto.js +49 -23
  24. package/dist/auto.js.map +1 -1
  25. package/dist/business-baggage.cjs +357 -13
  26. package/dist/business-baggage.cjs.map +1 -1
  27. package/dist/business-baggage.d.cts +106 -139
  28. package/dist/business-baggage.d.cts.map +1 -0
  29. package/dist/business-baggage.d.ts +106 -139
  30. package/dist/business-baggage.d.ts.map +1 -0
  31. package/dist/business-baggage.js +357 -2
  32. package/dist/business-baggage.js.map +1 -1
  33. package/dist/canonical-log-line-processor--RlFDHhm.cjs +377 -0
  34. package/dist/canonical-log-line-processor--RlFDHhm.cjs.map +1 -0
  35. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts +147 -0
  36. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts.map +1 -0
  37. package/dist/canonical-log-line-processor-DbBQT5vY.js +366 -0
  38. package/dist/canonical-log-line-processor-DbBQT5vY.js.map +1 -0
  39. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts +147 -0
  40. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts.map +1 -0
  41. package/dist/config.cjs +118 -22
  42. package/dist/config.cjs.map +1 -1
  43. package/dist/config.d.cts +33 -45
  44. package/dist/config.d.cts.map +1 -0
  45. package/dist/config.d.ts +33 -45
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +116 -3
  48. package/dist/config.js.map +1 -1
  49. package/dist/correlated-events-Bzh5y-UB.js +28 -0
  50. package/dist/correlated-events-Bzh5y-UB.js.map +1 -0
  51. package/dist/correlated-events-kSwLo3mi.cjs +34 -0
  52. package/dist/correlated-events-kSwLo3mi.cjs.map +1 -0
  53. package/dist/correlation-id.cjs +11 -54
  54. package/dist/correlation-id.d.cts +6 -5
  55. package/dist/correlation-id.d.cts.map +1 -0
  56. package/dist/correlation-id.d.ts +6 -5
  57. package/dist/correlation-id.d.ts.map +1 -0
  58. package/dist/correlation-id.js +3 -17
  59. package/dist/db.cjs +244 -209
  60. package/dist/db.cjs.map +1 -1
  61. package/dist/db.d.cts +28 -26
  62. package/dist/db.d.cts.map +1 -0
  63. package/dist/db.d.ts +28 -26
  64. package/dist/db.d.ts.map +1 -0
  65. package/dist/db.js +243 -207
  66. package/dist/db.js.map +1 -1
  67. package/dist/decorators.cjs +39 -66
  68. package/dist/decorators.cjs.map +1 -1
  69. package/dist/decorators.d.cts +10 -37
  70. package/dist/decorators.d.cts.map +1 -0
  71. package/dist/decorators.d.ts +10 -37
  72. package/dist/decorators.d.ts.map +1 -0
  73. package/dist/decorators.js +38 -64
  74. package/dist/decorators.js.map +1 -1
  75. package/dist/define-event-CreknLm3.d.ts +25 -0
  76. package/dist/define-event-CreknLm3.d.ts.map +1 -0
  77. package/dist/define-event-HZRizPwz.d.cts +25 -0
  78. package/dist/define-event-HZRizPwz.d.cts.map +1 -0
  79. package/dist/drain-pipeline.cjs +111 -9
  80. package/dist/drain-pipeline.cjs.map +1 -1
  81. package/dist/drain-pipeline.d.cts +27 -32
  82. package/dist/drain-pipeline.d.cts.map +1 -0
  83. package/dist/drain-pipeline.d.ts +27 -32
  84. package/dist/drain-pipeline.d.ts.map +1 -0
  85. package/dist/drain-pipeline.js +111 -2
  86. package/dist/drain-pipeline.js.map +1 -1
  87. package/dist/enrichers.cjs +59 -66
  88. package/dist/enrichers.cjs.map +1 -1
  89. package/dist/enrichers.d.cts +15 -13
  90. package/dist/enrichers.d.cts.map +1 -0
  91. package/dist/enrichers.d.ts +15 -13
  92. package/dist/enrichers.d.ts.map +1 -0
  93. package/dist/enrichers.js +58 -65
  94. package/dist/enrichers.js.map +1 -1
  95. package/dist/event-Dlqr4ZNL.cjs +778 -0
  96. package/dist/event-Dlqr4ZNL.cjs.map +1 -0
  97. package/dist/event-_58ryBjh.js +761 -0
  98. package/dist/event-_58ryBjh.js.map +1 -0
  99. package/dist/event-subscriber-D1XLkPzi.d.cts +223 -0
  100. package/dist/event-subscriber-D1XLkPzi.d.cts.map +1 -0
  101. package/dist/event-subscriber-D1XLkPzi.d.ts +223 -0
  102. package/dist/event-subscriber-D1XLkPzi.d.ts.map +1 -0
  103. package/dist/event-subscriber.cjs +0 -6
  104. package/dist/event-subscriber.d.cts +2 -221
  105. package/dist/event-subscriber.d.ts +2 -221
  106. package/dist/event-subscriber.js +1 -3
  107. package/dist/event-testing-BqRnI0z4.d.cts +106 -0
  108. package/dist/event-testing-BqRnI0z4.d.cts.map +1 -0
  109. package/dist/event-testing-CfFs3to2.d.ts +106 -0
  110. package/dist/event-testing-CfFs3to2.d.ts.map +1 -0
  111. package/dist/event-testing.cjs +93 -17
  112. package/dist/event-testing.cjs.map +1 -1
  113. package/dist/event-testing.d.cts +2 -110
  114. package/dist/event-testing.d.ts +2 -110
  115. package/dist/event-testing.js +91 -2
  116. package/dist/event-testing.js.map +1 -1
  117. package/dist/event.cjs +5 -37
  118. package/dist/event.d.cts +295 -340
  119. package/dist/event.d.cts.map +1 -0
  120. package/dist/event.d.ts +295 -340
  121. package/dist/event.d.ts.map +1 -0
  122. package/dist/event.js +3 -21
  123. package/dist/exporters.cjs +12 -16
  124. package/dist/exporters.d.cts +86 -111
  125. package/dist/exporters.d.cts.map +1 -0
  126. package/dist/exporters.d.ts +86 -111
  127. package/dist/exporters.d.ts.map +1 -0
  128. package/dist/exporters.js +4 -4
  129. package/dist/filtering-span-processor-B8R8B7Uk.d.cts +59 -0
  130. package/dist/filtering-span-processor-B8R8B7Uk.d.cts.map +1 -0
  131. package/dist/filtering-span-processor-B8R8B7Uk.d.ts +59 -0
  132. package/dist/filtering-span-processor-B8R8B7Uk.d.ts.map +1 -0
  133. package/dist/filtering-span-processor.cjs +49 -9
  134. package/dist/filtering-span-processor.cjs.map +1 -1
  135. package/dist/filtering-span-processor.d.cts +2 -80
  136. package/dist/filtering-span-processor.d.ts +2 -80
  137. package/dist/filtering-span-processor.js +49 -2
  138. package/dist/filtering-span-processor.js.map +1 -1
  139. package/dist/functional-BGkT8J-h.js +1265 -0
  140. package/dist/functional-BGkT8J-h.js.map +1 -0
  141. package/dist/functional-C4CzoVrX.cjs +1312 -0
  142. package/dist/functional-C4CzoVrX.cjs.map +1 -0
  143. package/dist/functional.cjs +11 -57
  144. package/dist/functional.d.cts +96 -97
  145. package/dist/functional.d.cts.map +1 -0
  146. package/dist/functional.d.ts +96 -97
  147. package/dist/functional.d.ts.map +1 -0
  148. package/dist/functional.js +3 -20
  149. package/dist/http.cjs +276 -176
  150. package/dist/http.cjs.map +1 -1
  151. package/dist/http.d.cts +17 -37
  152. package/dist/http.d.cts.map +1 -0
  153. package/dist/http.d.ts +17 -37
  154. package/dist/http.d.ts.map +1 -0
  155. package/dist/http.js +275 -174
  156. package/dist/http.js.map +1 -1
  157. package/dist/index-CX0aG1Uh.d.ts +708 -0
  158. package/dist/index-CX0aG1Uh.d.ts.map +1 -0
  159. package/dist/index-DIWZFKUS.d.cts +708 -0
  160. package/dist/index-DIWZFKUS.d.cts.map +1 -0
  161. package/dist/index.cjs +1049 -1172
  162. package/dist/index.cjs.map +1 -1
  163. package/dist/index.d.cts +401 -551
  164. package/dist/index.d.cts.map +1 -0
  165. package/dist/index.d.ts +401 -551
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +912 -714
  168. package/dist/index.js.map +1 -1
  169. package/dist/init-CNp-ee80.d.cts +1157 -0
  170. package/dist/init-CNp-ee80.d.cts.map +1 -0
  171. package/dist/init-Ch6t7MNI.js +1015 -0
  172. package/dist/init-Ch6t7MNI.js.map +1 -0
  173. package/dist/init-DJQOdVlN.d.ts +1157 -0
  174. package/dist/init-DJQOdVlN.d.ts.map +1 -0
  175. package/dist/init-DvapOXCc.cjs +1092 -0
  176. package/dist/init-DvapOXCc.cjs.map +1 -0
  177. package/dist/instrumentation.cjs +159 -185
  178. package/dist/instrumentation.cjs.map +1 -1
  179. package/dist/instrumentation.d.cts +42 -40
  180. package/dist/instrumentation.d.cts.map +1 -0
  181. package/dist/instrumentation.d.ts +42 -40
  182. package/dist/instrumentation.d.ts.map +1 -0
  183. package/dist/instrumentation.js +158 -183
  184. package/dist/instrumentation.js.map +1 -1
  185. package/dist/logger-BauSUhUv.d.cts +313 -0
  186. package/dist/logger-BauSUhUv.d.cts.map +1 -0
  187. package/dist/logger-BauSUhUv.d.ts +313 -0
  188. package/dist/logger-BauSUhUv.d.ts.map +1 -0
  189. package/dist/logger.cjs +225 -25
  190. package/dist/logger.cjs.map +1 -1
  191. package/dist/logger.d.cts +2 -348
  192. package/dist/logger.d.ts +2 -348
  193. package/dist/logger.js +204 -4
  194. package/dist/logger.js.map +1 -1
  195. package/dist/messaging-adapters.cjs +292 -187
  196. package/dist/messaging-adapters.cjs.map +1 -1
  197. package/dist/messaging-adapters.d.cts +28 -66
  198. package/dist/messaging-adapters.d.cts.map +1 -0
  199. package/dist/messaging-adapters.d.ts +28 -66
  200. package/dist/messaging-adapters.d.ts.map +1 -0
  201. package/dist/messaging-adapters.js +291 -185
  202. package/dist/messaging-adapters.js.map +1 -1
  203. package/dist/messaging-testing.cjs +306 -372
  204. package/dist/messaging-testing.cjs.map +1 -1
  205. package/dist/messaging-testing.d.cts +194 -223
  206. package/dist/messaging-testing.d.cts.map +1 -0
  207. package/dist/messaging-testing.d.ts +194 -223
  208. package/dist/messaging-testing.d.ts.map +1 -0
  209. package/dist/messaging-testing.js +305 -371
  210. package/dist/messaging-testing.js.map +1 -1
  211. package/dist/messaging.cjs +757 -36
  212. package/dist/messaging.cjs.map +1 -1
  213. package/dist/messaging.d.cts +603 -644
  214. package/dist/messaging.d.cts.map +1 -0
  215. package/dist/messaging.d.ts +603 -644
  216. package/dist/messaging.d.ts.map +1 -0
  217. package/dist/messaging.js +756 -21
  218. package/dist/messaging.js.map +1 -1
  219. package/dist/metric-helpers.cjs +27 -27
  220. package/dist/metric-helpers.cjs.map +1 -1
  221. package/dist/metric-helpers.d.cts +4 -2
  222. package/dist/metric-helpers.d.cts.map +1 -0
  223. package/dist/metric-helpers.d.ts +4 -2
  224. package/dist/metric-helpers.d.ts.map +1 -0
  225. package/dist/metric-helpers.js +24 -4
  226. package/dist/metric-helpers.js.map +1 -1
  227. package/dist/metric-testing-DXdK3-Q3.d.ts +106 -0
  228. package/dist/metric-testing-DXdK3-Q3.d.ts.map +1 -0
  229. package/dist/metric-testing-MxvzChDp.d.cts +106 -0
  230. package/dist/metric-testing-MxvzChDp.d.cts.map +1 -0
  231. package/dist/metric-testing.cjs +93 -17
  232. package/dist/metric-testing.cjs.map +1 -1
  233. package/dist/metric-testing.d.cts +2 -110
  234. package/dist/metric-testing.d.ts +2 -110
  235. package/dist/metric-testing.js +91 -2
  236. package/dist/metric-testing.js.map +1 -1
  237. package/dist/metric.cjs +306 -22
  238. package/dist/metric.cjs.map +1 -1
  239. package/dist/metric.d.cts +170 -198
  240. package/dist/metric.d.cts.map +1 -0
  241. package/dist/metric.d.ts +170 -198
  242. package/dist/metric.d.ts.map +1 -0
  243. package/dist/metric.js +277 -7
  244. package/dist/metric.js.map +1 -1
  245. package/dist/node-require-DF5QBX6z.cjs +99 -0
  246. package/dist/node-require-DF5QBX6z.cjs.map +1 -0
  247. package/dist/node-require-Db1oDpLj.js +88 -0
  248. package/dist/node-require-Db1oDpLj.js.map +1 -0
  249. package/dist/operation-context-C-2hmmtP.js +59 -0
  250. package/dist/operation-context-C-2hmmtP.js.map +1 -0
  251. package/dist/operation-context-n4_obUwq.cjs +70 -0
  252. package/dist/operation-context-n4_obUwq.cjs.map +1 -0
  253. package/dist/parse-error.cjs +55 -9
  254. package/dist/parse-error.cjs.map +1 -1
  255. package/dist/parse-error.d.cts +12 -10
  256. package/dist/parse-error.d.cts.map +1 -0
  257. package/dist/parse-error.d.ts +12 -10
  258. package/dist/parse-error.d.ts.map +1 -0
  259. package/dist/parse-error.js +55 -2
  260. package/dist/parse-error.js.map +1 -1
  261. package/dist/pretty-console-exporter-CMzlrRNg.cjs +232 -0
  262. package/dist/pretty-console-exporter-CMzlrRNg.cjs.map +1 -0
  263. package/dist/pretty-console-exporter-DqKl_q9z.js +227 -0
  264. package/dist/pretty-console-exporter-DqKl_q9z.js.map +1 -0
  265. package/dist/processors.cjs +13 -17
  266. package/dist/processors.d.cts +3 -171
  267. package/dist/processors.d.ts +3 -171
  268. package/dist/processors.js +4 -4
  269. package/dist/register.cjs +35 -6
  270. package/dist/register.cjs.map +1 -1
  271. package/dist/register.d.cts +1 -2
  272. package/dist/register.d.ts +1 -2
  273. package/dist/register.js +36 -3
  274. package/dist/register.js.map +1 -1
  275. package/dist/registry-DfXA3R1L.js +184 -0
  276. package/dist/registry-DfXA3R1L.js.map +1 -0
  277. package/dist/registry-JZg2J3RZ.cjs +334 -0
  278. package/dist/registry-JZg2J3RZ.cjs.map +1 -0
  279. package/dist/sampling-CR0Va1VB.d.ts +351 -0
  280. package/dist/sampling-CR0Va1VB.d.ts.map +1 -0
  281. package/dist/sampling-DfYhDJij.d.cts +351 -0
  282. package/dist/sampling-DfYhDJij.d.cts.map +1 -0
  283. package/dist/sampling.cjs +452 -60
  284. package/dist/sampling.cjs.map +1 -1
  285. package/dist/sampling.d.cts +2 -379
  286. package/dist/sampling.d.ts +2 -379
  287. package/dist/sampling.js +441 -5
  288. package/dist/sampling.js.map +1 -1
  289. package/dist/security-schema.cjs +65 -46
  290. package/dist/security-schema.cjs.map +1 -1
  291. package/dist/security-schema.d.cts +23 -26
  292. package/dist/security-schema.d.cts.map +1 -0
  293. package/dist/security-schema.d.ts +23 -26
  294. package/dist/security-schema.d.ts.map +1 -0
  295. package/dist/security-schema.js +64 -45
  296. package/dist/security-schema.js.map +1 -1
  297. package/dist/semantic-conventions-FhSxv-bK.d.cts +32 -0
  298. package/dist/semantic-conventions-FhSxv-bK.d.cts.map +1 -0
  299. package/dist/semantic-conventions-FhSxv-bK.d.ts +32 -0
  300. package/dist/semantic-conventions-FhSxv-bK.d.ts.map +1 -0
  301. package/dist/semantic-conventions.cjs +15 -26
  302. package/dist/semantic-conventions.cjs.map +1 -1
  303. package/dist/semantic-conventions.d.cts +2 -29
  304. package/dist/semantic-conventions.d.ts +2 -29
  305. package/dist/semantic-conventions.js +12 -3
  306. package/dist/semantic-conventions.js.map +1 -1
  307. package/dist/semantic-helpers.cjs +440 -39
  308. package/dist/semantic-helpers.cjs.map +1 -1
  309. package/dist/semantic-helpers.d.cts +38 -45
  310. package/dist/semantic-helpers.d.cts.map +1 -0
  311. package/dist/semantic-helpers.d.ts +38 -45
  312. package/dist/semantic-helpers.d.ts.map +1 -0
  313. package/dist/semantic-helpers.js +438 -20
  314. package/dist/semantic-helpers.js.map +1 -1
  315. package/dist/span-name-normalizer-8ZOGJuwv.d.cts +70 -0
  316. package/dist/span-name-normalizer-8ZOGJuwv.d.cts.map +1 -0
  317. package/dist/span-name-normalizer-8ZOGJuwv.d.ts +70 -0
  318. package/dist/span-name-normalizer-8ZOGJuwv.d.ts.map +1 -0
  319. package/dist/span-name-normalizer.cjs +95 -17
  320. package/dist/span-name-normalizer.cjs.map +1 -1
  321. package/dist/span-name-normalizer.d.cts +2 -94
  322. package/dist/span-name-normalizer.d.ts +2 -94
  323. package/dist/span-name-normalizer.js +93 -2
  324. package/dist/span-name-normalizer.js.map +1 -1
  325. package/dist/stable-hash-BNTMrmdB.cjs +28 -0
  326. package/dist/stable-hash-BNTMrmdB.cjs.map +1 -0
  327. package/dist/stable-hash-Cg5cT34Q.js +23 -0
  328. package/dist/stable-hash-Cg5cT34Q.js.map +1 -0
  329. package/dist/structured-error-9--cxBay.js +143 -0
  330. package/dist/structured-error-9--cxBay.js.map +1 -0
  331. package/dist/structured-error-CHg7DoIQ.cjs +178 -0
  332. package/dist/structured-error-CHg7DoIQ.cjs.map +1 -0
  333. package/dist/tail-sampling-processor.cjs +26 -13
  334. package/dist/tail-sampling-processor.cjs.map +1 -1
  335. package/dist/tail-sampling-processor.d.cts +11 -23
  336. package/dist/tail-sampling-processor.d.cts.map +1 -0
  337. package/dist/tail-sampling-processor.d.ts +11 -23
  338. package/dist/tail-sampling-processor.d.ts.map +1 -0
  339. package/dist/tail-sampling-processor.js +27 -6
  340. package/dist/tail-sampling-processor.js.map +1 -1
  341. package/dist/test-span-collector.cjs +70 -72
  342. package/dist/test-span-collector.cjs.map +1 -1
  343. package/dist/test-span-collector.d.cts +25 -43
  344. package/dist/test-span-collector.d.cts.map +1 -0
  345. package/dist/test-span-collector.d.ts +25 -43
  346. package/dist/test-span-collector.d.ts.map +1 -0
  347. package/dist/test-span-collector.js +69 -70
  348. package/dist/test-span-collector.js.map +1 -1
  349. package/dist/testing.cjs +389 -278
  350. package/dist/testing.cjs.map +1 -1
  351. package/dist/testing.d.cts +39 -62
  352. package/dist/testing.d.cts.map +1 -0
  353. package/dist/testing.d.ts +39 -62
  354. package/dist/testing.d.ts.map +1 -0
  355. package/dist/testing.js +386 -265
  356. package/dist/testing.js.map +1 -1
  357. package/dist/trace-context-Cijqoi6e.d.cts +212 -0
  358. package/dist/trace-context-Cijqoi6e.d.cts.map +1 -0
  359. package/dist/trace-context-Cijqoi6e.d.ts +212 -0
  360. package/dist/trace-context-Cijqoi6e.d.ts.map +1 -0
  361. package/dist/trace-helpers.cjs +634 -54
  362. package/dist/trace-helpers.cjs.map +1 -1
  363. package/dist/trace-helpers.d.cts +17 -49
  364. package/dist/trace-helpers.d.cts.map +1 -0
  365. package/dist/trace-helpers.d.ts +17 -49
  366. package/dist/trace-helpers.d.ts.map +1 -0
  367. package/dist/trace-helpers.js +624 -3
  368. package/dist/trace-helpers.js.map +1 -1
  369. package/dist/tracer-provider.cjs +227 -16
  370. package/dist/tracer-provider.cjs.map +1 -1
  371. package/dist/tracer-provider.d.cts +5 -4
  372. package/dist/tracer-provider.d.cts.map +1 -0
  373. package/dist/tracer-provider.d.ts +5 -4
  374. package/dist/tracer-provider.d.ts.map +1 -0
  375. package/dist/tracer-provider.js +227 -2
  376. package/dist/tracer-provider.js.map +1 -1
  377. package/dist/track-3HY4NGV-.cjs +1212 -0
  378. package/dist/track-3HY4NGV-.cjs.map +1 -0
  379. package/dist/track-nsKVy-pj.js +1111 -0
  380. package/dist/track-nsKVy-pj.js.map +1 -0
  381. package/dist/validate.cjs +178 -115
  382. package/dist/validate.cjs.map +1 -1
  383. package/dist/validate.d.cts +40 -64
  384. package/dist/validate.d.cts.map +1 -0
  385. package/dist/validate.d.ts +40 -64
  386. package/dist/validate.d.ts.map +1 -0
  387. package/dist/validate.js +177 -113
  388. package/dist/validate.js.map +1 -1
  389. package/dist/validation-attributes.cjs +42 -17
  390. package/dist/validation-attributes.cjs.map +1 -1
  391. package/dist/validation-attributes.d.cts +13 -20
  392. package/dist/validation-attributes.d.cts.map +1 -0
  393. package/dist/validation-attributes.d.ts +13 -20
  394. package/dist/validation-attributes.d.ts.map +1 -0
  395. package/dist/validation-attributes.js +40 -2
  396. package/dist/validation-attributes.js.map +1 -1
  397. package/dist/webhook.cjs +286 -256
  398. package/dist/webhook.cjs.map +1 -1
  399. package/dist/webhook.d.cts +157 -192
  400. package/dist/webhook.d.cts.map +1 -0
  401. package/dist/webhook.d.ts +157 -192
  402. package/dist/webhook.d.ts.map +1 -0
  403. package/dist/webhook.js +285 -254
  404. package/dist/webhook.js.map +1 -1
  405. package/dist/workflow-distributed.cjs +498 -412
  406. package/dist/workflow-distributed.cjs.map +1 -1
  407. package/dist/workflow-distributed.d.cts +163 -173
  408. package/dist/workflow-distributed.d.cts.map +1 -0
  409. package/dist/workflow-distributed.d.ts +163 -173
  410. package/dist/workflow-distributed.d.ts.map +1 -0
  411. package/dist/workflow-distributed.js +497 -410
  412. package/dist/workflow-distributed.js.map +1 -1
  413. package/dist/workflow.cjs +405 -40
  414. package/dist/workflow.cjs.map +1 -1
  415. package/dist/workflow.d.cts +78 -131
  416. package/dist/workflow.d.cts.map +1 -0
  417. package/dist/workflow.d.ts +78 -131
  418. package/dist/workflow.d.ts.map +1 -0
  419. package/dist/workflow.js +403 -21
  420. package/dist/workflow.js.map +1 -1
  421. package/dist/yaml-config-B3dQ82GR.cjs +272 -0
  422. package/dist/yaml-config-B3dQ82GR.cjs.map +1 -0
  423. package/dist/yaml-config.cjs +5 -24
  424. package/dist/yaml-config.d.cts +30 -64
  425. package/dist/yaml-config.d.cts.map +1 -0
  426. package/dist/yaml-config.d.ts +30 -64
  427. package/dist/yaml-config.d.ts.map +1 -0
  428. package/dist/yaml-config.js +226 -7
  429. package/dist/yaml-config.js.map +1 -1
  430. package/package.json +4 -4
  431. package/src/index.ts +3 -0
  432. package/src/request-logger.test.ts +53 -1
  433. package/src/request-logger.ts +58 -0
  434. package/src/validate.test.ts +3 -1
  435. package/src/validate.ts +9 -3
  436. package/dist/attributes.cjs.map +0 -1
  437. package/dist/attributes.js.map +0 -1
  438. package/dist/chunk-2ZKEORFN.cjs +0 -14
  439. package/dist/chunk-2ZKEORFN.cjs.map +0 -1
  440. package/dist/chunk-3QXBFGKP.js +0 -344
  441. package/dist/chunk-3QXBFGKP.js.map +0 -1
  442. package/dist/chunk-454CH4OV.js +0 -744
  443. package/dist/chunk-454CH4OV.js.map +0 -1
  444. package/dist/chunk-4A53YIAX.js +0 -180
  445. package/dist/chunk-4A53YIAX.js.map +0 -1
  446. package/dist/chunk-4IFSYQVX.js +0 -337
  447. package/dist/chunk-4IFSYQVX.js.map +0 -1
  448. package/dist/chunk-4P6ZOARG.cjs +0 -33
  449. package/dist/chunk-4P6ZOARG.cjs.map +0 -1
  450. package/dist/chunk-55ER2KD5.js +0 -228
  451. package/dist/chunk-55ER2KD5.js.map +0 -1
  452. package/dist/chunk-5ZN622AO.js +0 -73
  453. package/dist/chunk-5ZN622AO.js.map +0 -1
  454. package/dist/chunk-66YJ66GG.js +0 -1021
  455. package/dist/chunk-66YJ66GG.js.map +0 -1
  456. package/dist/chunk-6S5RUKU3.cjs +0 -347
  457. package/dist/chunk-6S5RUKU3.cjs.map +0 -1
  458. package/dist/chunk-6UQRVUN3.js +0 -222
  459. package/dist/chunk-6UQRVUN3.js.map +0 -1
  460. package/dist/chunk-7552UTQW.js +0 -11
  461. package/dist/chunk-7552UTQW.js.map +0 -1
  462. package/dist/chunk-7EQ4G4SI.cjs +0 -146
  463. package/dist/chunk-7EQ4G4SI.cjs.map +0 -1
  464. package/dist/chunk-7SAWIN74.js +0 -285
  465. package/dist/chunk-7SAWIN74.js.map +0 -1
  466. package/dist/chunk-A4E5AQFK.js +0 -30
  467. package/dist/chunk-A4E5AQFK.js.map +0 -1
  468. package/dist/chunk-ALPYR2GC.js +0 -1061
  469. package/dist/chunk-ALPYR2GC.js.map +0 -1
  470. package/dist/chunk-B7SWBE4P.cjs +0 -799
  471. package/dist/chunk-B7SWBE4P.cjs.map +0 -1
  472. package/dist/chunk-BZHG5IZ4.js +0 -73
  473. package/dist/chunk-BZHG5IZ4.js.map +0 -1
  474. package/dist/chunk-CEAQK2QY.cjs +0 -32
  475. package/dist/chunk-CEAQK2QY.cjs.map +0 -1
  476. package/dist/chunk-CMHVQR6P.js +0 -170
  477. package/dist/chunk-CMHVQR6P.js.map +0 -1
  478. package/dist/chunk-CU6IDACR.cjs +0 -224
  479. package/dist/chunk-CU6IDACR.cjs.map +0 -1
  480. package/dist/chunk-D4TM63S3.js +0 -795
  481. package/dist/chunk-D4TM63S3.js.map +0 -1
  482. package/dist/chunk-DCEDJQGG.js +0 -28
  483. package/dist/chunk-DCEDJQGG.js.map +0 -1
  484. package/dist/chunk-DPSA4QLA.js +0 -344
  485. package/dist/chunk-DPSA4QLA.js.map +0 -1
  486. package/dist/chunk-E6TERL5O.cjs +0 -23
  487. package/dist/chunk-E6TERL5O.cjs.map +0 -1
  488. package/dist/chunk-EE6CPXKH.cjs +0 -164
  489. package/dist/chunk-EE6CPXKH.cjs.map +0 -1
  490. package/dist/chunk-EOFB7XCL.cjs +0 -837
  491. package/dist/chunk-EOFB7XCL.cjs.map +0 -1
  492. package/dist/chunk-ESLWRGAG.cjs +0 -92
  493. package/dist/chunk-ESLWRGAG.cjs.map +0 -1
  494. package/dist/chunk-ESMHTKLJ.cjs +0 -206
  495. package/dist/chunk-ESMHTKLJ.cjs.map +0 -1
  496. package/dist/chunk-FMTHVSYY.cjs +0 -1039
  497. package/dist/chunk-FMTHVSYY.cjs.map +0 -1
  498. package/dist/chunk-FU6R566Y.cjs +0 -236
  499. package/dist/chunk-FU6R566Y.cjs.map +0 -1
  500. package/dist/chunk-GYR5K654.js +0 -91
  501. package/dist/chunk-GYR5K654.js.map +0 -1
  502. package/dist/chunk-HA2WBOGQ.js +0 -57
  503. package/dist/chunk-HA2WBOGQ.js.map +0 -1
  504. package/dist/chunk-HT5JQKN2.js +0 -118
  505. package/dist/chunk-HT5JQKN2.js.map +0 -1
  506. package/dist/chunk-INJD3G4K.cjs +0 -340
  507. package/dist/chunk-INJD3G4K.cjs.map +0 -1
  508. package/dist/chunk-IOYFAFHJ.cjs +0 -95
  509. package/dist/chunk-IOYFAFHJ.cjs.map +0 -1
  510. package/dist/chunk-J5QENANM.js +0 -87
  511. package/dist/chunk-J5QENANM.js.map +0 -1
  512. package/dist/chunk-J7VGRIAJ.js +0 -64
  513. package/dist/chunk-J7VGRIAJ.js.map +0 -1
  514. package/dist/chunk-KFOHQK7X.js +0 -144
  515. package/dist/chunk-KFOHQK7X.js.map +0 -1
  516. package/dist/chunk-KIL5CUN6.js +0 -31
  517. package/dist/chunk-KIL5CUN6.js.map +0 -1
  518. package/dist/chunk-KYXZS3EA.cjs +0 -100
  519. package/dist/chunk-KYXZS3EA.cjs.map +0 -1
  520. package/dist/chunk-LITNXTTT.js +0 -3
  521. package/dist/chunk-LITNXTTT.js.map +0 -1
  522. package/dist/chunk-LVIPBYFE.js +0 -157
  523. package/dist/chunk-LVIPBYFE.js.map +0 -1
  524. package/dist/chunk-M3LFHHTN.cjs +0 -764
  525. package/dist/chunk-M3LFHHTN.cjs.map +0 -1
  526. package/dist/chunk-N25JDZSC.js +0 -95
  527. package/dist/chunk-N25JDZSC.js.map +0 -1
  528. package/dist/chunk-NEIB3TLD.cjs +0 -360
  529. package/dist/chunk-NEIB3TLD.cjs.map +0 -1
  530. package/dist/chunk-NENU7E6V.cjs +0 -344
  531. package/dist/chunk-NENU7E6V.cjs.map +0 -1
  532. package/dist/chunk-NVAI5CCN.cjs +0 -39
  533. package/dist/chunk-NVAI5CCN.cjs.map +0 -1
  534. package/dist/chunk-NZ72VDNY.cjs +0 -4
  535. package/dist/chunk-NZ72VDNY.cjs.map +0 -1
  536. package/dist/chunk-OPPXYVEZ.cjs +0 -131
  537. package/dist/chunk-OPPXYVEZ.cjs.map +0 -1
  538. package/dist/chunk-Q4EULJQY.js +0 -35
  539. package/dist/chunk-Q4EULJQY.js.map +0 -1
  540. package/dist/chunk-QF7ARNUM.js +0 -339
  541. package/dist/chunk-QF7ARNUM.js.map +0 -1
  542. package/dist/chunk-QWW3E3JM.cjs +0 -178
  543. package/dist/chunk-QWW3E3JM.cjs.map +0 -1
  544. package/dist/chunk-R7QYGZUP.cjs +0 -1075
  545. package/dist/chunk-R7QYGZUP.cjs.map +0 -1
  546. package/dist/chunk-RUPKBKUF.js +0 -352
  547. package/dist/chunk-RUPKBKUF.js.map +0 -1
  548. package/dist/chunk-SEO6NAQT.js +0 -14
  549. package/dist/chunk-SEO6NAQT.js.map +0 -1
  550. package/dist/chunk-T4B5LB6E.cjs +0 -66
  551. package/dist/chunk-T4B5LB6E.cjs.map +0 -1
  552. package/dist/chunk-T5WRA76K.cjs +0 -32
  553. package/dist/chunk-T5WRA76K.cjs.map +0 -1
  554. package/dist/chunk-T7JO2TCP.js +0 -1233
  555. package/dist/chunk-T7JO2TCP.js.map +0 -1
  556. package/dist/chunk-TC5ZPWM4.cjs +0 -289
  557. package/dist/chunk-TC5ZPWM4.cjs.map +0 -1
  558. package/dist/chunk-TQ5UWA7S.js +0 -26
  559. package/dist/chunk-TQ5UWA7S.js.map +0 -1
  560. package/dist/chunk-UIKYE2QZ.js +0 -833
  561. package/dist/chunk-UIKYE2QZ.js.map +0 -1
  562. package/dist/chunk-UNPLAVE7.js +0 -21
  563. package/dist/chunk-UNPLAVE7.js.map +0 -1
  564. package/dist/chunk-UY3UYPBZ.cjs +0 -77
  565. package/dist/chunk-UY3UYPBZ.cjs.map +0 -1
  566. package/dist/chunk-V7UBMJAB.cjs +0 -1242
  567. package/dist/chunk-V7UBMJAB.cjs.map +0 -1
  568. package/dist/chunk-VH77IPJN.cjs +0 -358
  569. package/dist/chunk-VH77IPJN.cjs.map +0 -1
  570. package/dist/chunk-VQTCQKHQ.cjs +0 -17
  571. package/dist/chunk-VQTCQKHQ.cjs.map +0 -1
  572. package/dist/chunk-WGWSHJ2N.js +0 -38
  573. package/dist/chunk-WGWSHJ2N.js.map +0 -1
  574. package/dist/chunk-WJH6IYU2.cjs +0 -32
  575. package/dist/chunk-WJH6IYU2.cjs.map +0 -1
  576. package/dist/chunk-YREV3LGG.cjs +0 -61
  577. package/dist/chunk-YREV3LGG.cjs.map +0 -1
  578. package/dist/chunk-YTXEZ4SD.cjs +0 -77
  579. package/dist/chunk-YTXEZ4SD.cjs.map +0 -1
  580. package/dist/chunk-ZNMBW67B.cjs +0 -40
  581. package/dist/chunk-ZNMBW67B.cjs.map +0 -1
  582. package/dist/correlation-id.cjs.map +0 -1
  583. package/dist/correlation-id.js.map +0 -1
  584. package/dist/define-event-BL6Li7CM.d.ts +0 -23
  585. package/dist/define-event-ClP3T1Jx.d.cts +0 -23
  586. package/dist/event-subscriber.cjs.map +0 -1
  587. package/dist/event-subscriber.js.map +0 -1
  588. package/dist/event.cjs.map +0 -1
  589. package/dist/event.js.map +0 -1
  590. package/dist/exporters.cjs.map +0 -1
  591. package/dist/exporters.js.map +0 -1
  592. package/dist/functional.cjs.map +0 -1
  593. package/dist/functional.js.map +0 -1
  594. package/dist/init-DIowiiCh.d.ts +0 -1167
  595. package/dist/init-j-A1zI16.d.cts +0 -1167
  596. package/dist/processors.cjs.map +0 -1
  597. package/dist/processors.js.map +0 -1
  598. package/dist/trace-context-DbGKd1Rn.d.cts +0 -213
  599. package/dist/trace-context-DbGKd1Rn.d.ts +0 -213
  600. package/dist/utils-BahBCFtJ.d.cts +0 -712
  601. package/dist/utils-CLKwaUlG.d.ts +0 -712
  602. package/dist/yaml-config.cjs.map +0 -1
@@ -1,398 +1,333 @@
1
- 'use strict';
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
 
3
- // src/messaging-testing.ts
3
+ //#region src/messaging-testing.ts
4
+ /**
5
+ * Generate a random hex string
6
+ */
4
7
  function randomHex(length) {
5
- let result = "";
6
- const chars = "0123456789abcdef";
7
- for (let i = 0; i < length; i++) {
8
- result += chars.charAt(Math.floor(Math.random() * chars.length));
9
- }
10
- return result;
8
+ let result = "";
9
+ const chars = "0123456789abcdef";
10
+ for (let i = 0; i < length; i++) result += chars.charAt(Math.floor(Math.random() * 16));
11
+ return result;
11
12
  }
13
+ /**
14
+ * Create a messaging test harness
15
+ *
16
+ * Provides utilities for recording and asserting on producer/consumer calls
17
+ * during testing.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const harness = createMessagingTestHarness();
22
+ *
23
+ * // In your test setup
24
+ * beforeEach(() => harness.reset());
25
+ *
26
+ * // In your tests
27
+ * it('should publish order event', async () => {
28
+ * await orderService.createOrder({ id: '123' });
29
+ *
30
+ * harness.assertProducerCalled('orders', {
31
+ * messageCount: 1,
32
+ * hasTraceHeaders: true,
33
+ * });
34
+ *
35
+ * const lastCall = harness.getLastProducerCall('orders');
36
+ * expect(lastCall?.payload).toMatchObject({ orderId: '123' });
37
+ * });
38
+ * ```
39
+ */
12
40
  function createMessagingTestHarness() {
13
- const producerCalls = [];
14
- const consumerCalls = [];
15
- const rebalanceEvents = [];
16
- return {
17
- producerCalls,
18
- consumerCalls,
19
- rebalanceEvents,
20
- recordProducerCall(call) {
21
- producerCalls.push({
22
- ...call,
23
- timestamp: Date.now()
24
- });
25
- },
26
- recordConsumerCall(call) {
27
- consumerCalls.push({
28
- ...call,
29
- timestamp: Date.now()
30
- });
31
- },
32
- recordRebalanceEvent(event) {
33
- rebalanceEvents.push(event);
34
- },
35
- createMockMessage(payload, options = {}) {
36
- return {
37
- payload,
38
- headers: options.headers ?? this.createMockTraceHeaders(),
39
- offset: options.offset ?? Math.floor(Math.random() * 1e4),
40
- partition: options.partition ?? 0,
41
- key: options.key,
42
- messageId: options.messageId ?? `msg-${randomHex(8)}`,
43
- timestamp: options.timestamp ?? Date.now()
44
- };
45
- },
46
- createMockTraceHeaders(traceId, spanId) {
47
- const tid = traceId ?? randomHex(32);
48
- const sid = spanId ?? randomHex(16);
49
- return {
50
- traceparent: `00-${tid}-${sid}-01`
51
- };
52
- },
53
- assertProducerCalled(destination, options = {}) {
54
- const calls = producerCalls.filter((c) => c.destination === destination);
55
- if (calls.length === 0) {
56
- throw new Error(
57
- `Expected producer to be called for destination '${destination}', but it was not called`
58
- );
59
- }
60
- if (options.messageCount !== void 0 && calls.length !== options.messageCount) {
61
- throw new Error(
62
- `Expected ${options.messageCount} producer calls for '${destination}', got ${calls.length}`
63
- );
64
- }
65
- if (options.hasTraceHeaders) {
66
- const withoutHeaders = calls.filter((c) => !c.headers?.traceparent);
67
- if (withoutHeaders.length > 0) {
68
- throw new Error(
69
- `Expected all producer calls for '${destination}' to have trace headers, but ${withoutHeaders.length} did not`
70
- );
71
- }
72
- }
73
- if (options.traceId) {
74
- const matchingTraceId = calls.filter(
75
- (c) => c.traceId === options.traceId
76
- );
77
- if (matchingTraceId.length === 0) {
78
- throw new Error(
79
- `Expected producer call for '${destination}' with traceId '${options.traceId}', but none found`
80
- );
81
- }
82
- }
83
- if (options.payloadMatcher) {
84
- const matching = calls.filter(
85
- (c) => options.payloadMatcher(c.payload)
86
- );
87
- if (matching.length === 0) {
88
- throw new Error(
89
- `Expected producer call for '${destination}' to match payload matcher, but none did`
90
- );
91
- }
92
- }
93
- },
94
- assertProducerNotCalled(destination) {
95
- if (destination) {
96
- const calls = producerCalls.filter(
97
- (c) => c.destination === destination
98
- );
99
- if (calls.length > 0) {
100
- throw new Error(
101
- `Expected producer not to be called for '${destination}', but it was called ${calls.length} times`
102
- );
103
- }
104
- } else {
105
- if (producerCalls.length > 0) {
106
- throw new Error(
107
- `Expected no producer calls, but ${producerCalls.length} calls were made`
108
- );
109
- }
110
- }
111
- },
112
- assertConsumerProcessed(destination, options = {}) {
113
- const calls = consumerCalls.filter((c) => c.destination === destination);
114
- if (calls.length === 0) {
115
- throw new Error(
116
- `Expected consumer to process messages for destination '${destination}', but none were processed`
117
- );
118
- }
119
- if (options.messageCount !== void 0 && calls.length !== options.messageCount) {
120
- throw new Error(
121
- `Expected ${options.messageCount} consumer calls for '${destination}', got ${calls.length}`
122
- );
123
- }
124
- if (options.consumerGroup) {
125
- const wrongGroup = calls.filter(
126
- (c) => c.consumerGroup !== options.consumerGroup
127
- );
128
- if (wrongGroup.length > 0) {
129
- throw new Error(
130
- `Expected consumer group '${options.consumerGroup}' for '${destination}', but found different groups`
131
- );
132
- }
133
- }
134
- if (options.hasProducerLinks) {
135
- const withoutLinks = calls.filter((c) => c.producerLinks.length === 0);
136
- if (withoutLinks.length > 0) {
137
- throw new Error(
138
- `Expected all consumer calls for '${destination}' to have producer links, but ${withoutLinks.length} did not`
139
- );
140
- }
141
- }
142
- if (options.hasDuplicates !== void 0) {
143
- const duplicates = calls.filter((c) => c.isDuplicate);
144
- if (options.hasDuplicates && duplicates.length === 0) {
145
- throw new Error(
146
- `Expected duplicate messages for '${destination}', but none were detected`
147
- );
148
- }
149
- if (!options.hasDuplicates && duplicates.length > 0) {
150
- throw new Error(
151
- `Expected no duplicate messages for '${destination}', but ${duplicates.length} were detected`
152
- );
153
- }
154
- }
155
- if (options.hasOutOfOrder !== void 0) {
156
- const outOfOrder = calls.filter((c) => c.outOfOrderInfo !== null);
157
- if (options.hasOutOfOrder && outOfOrder.length === 0) {
158
- throw new Error(
159
- `Expected out-of-order messages for '${destination}', but none were detected`
160
- );
161
- }
162
- if (!options.hasOutOfOrder && outOfOrder.length > 0) {
163
- throw new Error(
164
- `Expected no out-of-order messages for '${destination}', but ${outOfOrder.length} were detected`
165
- );
166
- }
167
- }
168
- if (options.hasDLQ !== void 0) {
169
- const dlqCalls = calls.filter((c) => c.dlqReason !== void 0);
170
- if (options.hasDLQ && dlqCalls.length === 0) {
171
- throw new Error(
172
- `Expected DLQ routing for '${destination}', but none occurred`
173
- );
174
- }
175
- if (!options.hasDLQ && dlqCalls.length > 0) {
176
- throw new Error(
177
- `Expected no DLQ routing for '${destination}', but ${dlqCalls.length} occurred`
178
- );
179
- }
180
- }
181
- },
182
- assertConsumerNotCalled(destination) {
183
- if (destination) {
184
- const calls = consumerCalls.filter(
185
- (c) => c.destination === destination
186
- );
187
- if (calls.length > 0) {
188
- throw new Error(
189
- `Expected consumer not to be called for '${destination}', but it processed ${calls.length} messages`
190
- );
191
- }
192
- } else {
193
- if (consumerCalls.length > 0) {
194
- throw new Error(
195
- `Expected no consumer calls, but ${consumerCalls.length} messages were processed`
196
- );
197
- }
198
- }
199
- },
200
- assertRebalanceOccurred(destination, type, partitionCount) {
201
- const events = rebalanceEvents.filter(
202
- (e) => e.destination === destination && e.type === type
203
- );
204
- if (events.length === 0) {
205
- throw new Error(
206
- `Expected rebalance '${type}' for '${destination}', but none occurred`
207
- );
208
- }
209
- if (partitionCount !== void 0) {
210
- const matching = events.filter(
211
- (e) => e.partitions.length === partitionCount
212
- );
213
- if (matching.length === 0) {
214
- throw new Error(
215
- `Expected rebalance '${type}' for '${destination}' with ${partitionCount} partitions, but none matched`
216
- );
217
- }
218
- }
219
- },
220
- getProducerCalls(destination) {
221
- if (destination) {
222
- return producerCalls.filter((c) => c.destination === destination);
223
- }
224
- return [...producerCalls];
225
- },
226
- getConsumerCalls(destination) {
227
- if (destination) {
228
- return consumerCalls.filter((c) => c.destination === destination);
229
- }
230
- return [...consumerCalls];
231
- },
232
- getLastProducerCall(destination) {
233
- const calls = this.getProducerCalls(destination);
234
- return calls.at(-1);
235
- },
236
- getLastConsumerCall(destination) {
237
- const calls = this.getConsumerCalls(destination);
238
- return calls.at(-1);
239
- },
240
- reset() {
241
- producerCalls.length = 0;
242
- consumerCalls.length = 0;
243
- rebalanceEvents.length = 0;
244
- },
245
- shutdown() {
246
- this.reset();
247
- }
248
- };
41
+ const producerCalls = [];
42
+ const consumerCalls = [];
43
+ const rebalanceEvents = [];
44
+ return {
45
+ producerCalls,
46
+ consumerCalls,
47
+ rebalanceEvents,
48
+ recordProducerCall(call) {
49
+ producerCalls.push({
50
+ ...call,
51
+ timestamp: Date.now()
52
+ });
53
+ },
54
+ recordConsumerCall(call) {
55
+ consumerCalls.push({
56
+ ...call,
57
+ timestamp: Date.now()
58
+ });
59
+ },
60
+ recordRebalanceEvent(event) {
61
+ rebalanceEvents.push(event);
62
+ },
63
+ createMockMessage(payload, options = {}) {
64
+ return {
65
+ payload,
66
+ headers: options.headers ?? this.createMockTraceHeaders(),
67
+ offset: options.offset ?? Math.floor(Math.random() * 1e4),
68
+ partition: options.partition ?? 0,
69
+ key: options.key,
70
+ messageId: options.messageId ?? `msg-${randomHex(8)}`,
71
+ timestamp: options.timestamp ?? Date.now()
72
+ };
73
+ },
74
+ createMockTraceHeaders(traceId, spanId) {
75
+ return { traceparent: `00-${traceId ?? randomHex(32)}-${spanId ?? randomHex(16)}-01` };
76
+ },
77
+ assertProducerCalled(destination, options = {}) {
78
+ const calls = producerCalls.filter((c) => c.destination === destination);
79
+ if (calls.length === 0) throw new Error(`Expected producer to be called for destination '${destination}', but it was not called`);
80
+ if (options.messageCount !== void 0 && calls.length !== options.messageCount) throw new Error(`Expected ${options.messageCount} producer calls for '${destination}', got ${calls.length}`);
81
+ if (options.hasTraceHeaders) {
82
+ const withoutHeaders = calls.filter((c) => !c.headers?.traceparent);
83
+ if (withoutHeaders.length > 0) throw new Error(`Expected all producer calls for '${destination}' to have trace headers, but ${withoutHeaders.length} did not`);
84
+ }
85
+ if (options.traceId) {
86
+ if (calls.filter((c) => c.traceId === options.traceId).length === 0) throw new Error(`Expected producer call for '${destination}' with traceId '${options.traceId}', but none found`);
87
+ }
88
+ if (options.payloadMatcher) {
89
+ if (calls.filter((c) => options.payloadMatcher(c.payload)).length === 0) throw new Error(`Expected producer call for '${destination}' to match payload matcher, but none did`);
90
+ }
91
+ },
92
+ assertProducerNotCalled(destination) {
93
+ if (destination) {
94
+ const calls = producerCalls.filter((c) => c.destination === destination);
95
+ if (calls.length > 0) throw new Error(`Expected producer not to be called for '${destination}', but it was called ${calls.length} times`);
96
+ } else if (producerCalls.length > 0) throw new Error(`Expected no producer calls, but ${producerCalls.length} calls were made`);
97
+ },
98
+ assertConsumerProcessed(destination, options = {}) {
99
+ const calls = consumerCalls.filter((c) => c.destination === destination);
100
+ if (calls.length === 0) throw new Error(`Expected consumer to process messages for destination '${destination}', but none were processed`);
101
+ if (options.messageCount !== void 0 && calls.length !== options.messageCount) throw new Error(`Expected ${options.messageCount} consumer calls for '${destination}', got ${calls.length}`);
102
+ if (options.consumerGroup) {
103
+ if (calls.filter((c) => c.consumerGroup !== options.consumerGroup).length > 0) throw new Error(`Expected consumer group '${options.consumerGroup}' for '${destination}', but found different groups`);
104
+ }
105
+ if (options.hasProducerLinks) {
106
+ const withoutLinks = calls.filter((c) => c.producerLinks.length === 0);
107
+ if (withoutLinks.length > 0) throw new Error(`Expected all consumer calls for '${destination}' to have producer links, but ${withoutLinks.length} did not`);
108
+ }
109
+ if (options.hasDuplicates !== void 0) {
110
+ const duplicates = calls.filter((c) => c.isDuplicate);
111
+ if (options.hasDuplicates && duplicates.length === 0) throw new Error(`Expected duplicate messages for '${destination}', but none were detected`);
112
+ if (!options.hasDuplicates && duplicates.length > 0) throw new Error(`Expected no duplicate messages for '${destination}', but ${duplicates.length} were detected`);
113
+ }
114
+ if (options.hasOutOfOrder !== void 0) {
115
+ const outOfOrder = calls.filter((c) => c.outOfOrderInfo !== null);
116
+ if (options.hasOutOfOrder && outOfOrder.length === 0) throw new Error(`Expected out-of-order messages for '${destination}', but none were detected`);
117
+ if (!options.hasOutOfOrder && outOfOrder.length > 0) throw new Error(`Expected no out-of-order messages for '${destination}', but ${outOfOrder.length} were detected`);
118
+ }
119
+ if (options.hasDLQ !== void 0) {
120
+ const dlqCalls = calls.filter((c) => c.dlqReason !== void 0);
121
+ if (options.hasDLQ && dlqCalls.length === 0) throw new Error(`Expected DLQ routing for '${destination}', but none occurred`);
122
+ if (!options.hasDLQ && dlqCalls.length > 0) throw new Error(`Expected no DLQ routing for '${destination}', but ${dlqCalls.length} occurred`);
123
+ }
124
+ },
125
+ assertConsumerNotCalled(destination) {
126
+ if (destination) {
127
+ const calls = consumerCalls.filter((c) => c.destination === destination);
128
+ if (calls.length > 0) throw new Error(`Expected consumer not to be called for '${destination}', but it processed ${calls.length} messages`);
129
+ } else if (consumerCalls.length > 0) throw new Error(`Expected no consumer calls, but ${consumerCalls.length} messages were processed`);
130
+ },
131
+ assertRebalanceOccurred(destination, type, partitionCount) {
132
+ const events = rebalanceEvents.filter((e) => e.destination === destination && e.type === type);
133
+ if (events.length === 0) throw new Error(`Expected rebalance '${type}' for '${destination}', but none occurred`);
134
+ if (partitionCount !== void 0) {
135
+ if (events.filter((e) => e.partitions.length === partitionCount).length === 0) throw new Error(`Expected rebalance '${type}' for '${destination}' with ${partitionCount} partitions, but none matched`);
136
+ }
137
+ },
138
+ getProducerCalls(destination) {
139
+ if (destination) return producerCalls.filter((c) => c.destination === destination);
140
+ return [...producerCalls];
141
+ },
142
+ getConsumerCalls(destination) {
143
+ if (destination) return consumerCalls.filter((c) => c.destination === destination);
144
+ return [...consumerCalls];
145
+ },
146
+ getLastProducerCall(destination) {
147
+ return this.getProducerCalls(destination).at(-1);
148
+ },
149
+ getLastConsumerCall(destination) {
150
+ return this.getConsumerCalls(destination).at(-1);
151
+ },
152
+ reset() {
153
+ producerCalls.length = 0;
154
+ consumerCalls.length = 0;
155
+ rebalanceEvents.length = 0;
156
+ },
157
+ shutdown() {
158
+ this.reset();
159
+ }
160
+ };
249
161
  }
162
+ /**
163
+ * Create a mock message broker for testing
164
+ *
165
+ * Simulates a message broker (Kafka, SQS, RabbitMQ, etc.) for unit testing.
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const broker = createMockMessageBroker();
170
+ *
171
+ * // Producer publishes
172
+ * broker.publish('orders', { payload: { orderId: '123' }, headers: {} });
173
+ *
174
+ * // Consumer receives
175
+ * const messages = broker.consume('orders');
176
+ * expect(messages).toHaveLength(1);
177
+ * expect(messages[0].payload).toEqual({ orderId: '123' });
178
+ * ```
179
+ */
250
180
  function createMockMessageBroker() {
251
- const topics = /* @__PURE__ */ new Map();
252
- return {
253
- topics,
254
- publish(topic, message) {
255
- if (!topics.has(topic)) {
256
- topics.set(topic, []);
257
- }
258
- topics.get(topic).push({
259
- ...message,
260
- timestamp: message.timestamp ?? Date.now(),
261
- offset: message.offset ?? topics.get(topic).length
262
- });
263
- },
264
- consume(topic, count) {
265
- const messages = topics.get(topic) ?? [];
266
- if (count === void 0) {
267
- const all = [...messages];
268
- messages.length = 0;
269
- return all;
270
- }
271
- return messages.splice(0, count);
272
- },
273
- peek(topic, count) {
274
- const messages = topics.get(topic) ?? [];
275
- if (count === void 0) {
276
- return [...messages];
277
- }
278
- return messages.slice(0, count);
279
- },
280
- getMessageCount(topic) {
281
- return topics.get(topic)?.length ?? 0;
282
- },
283
- clear(topic) {
284
- if (topic) {
285
- topics.set(topic, []);
286
- } else {
287
- topics.clear();
288
- }
289
- },
290
- createTopic(topic) {
291
- if (!topics.has(topic)) {
292
- topics.set(topic, []);
293
- }
294
- },
295
- deleteTopic(topic) {
296
- topics.delete(topic);
297
- },
298
- listTopics() {
299
- return [...topics.keys()];
300
- }
301
- };
181
+ const topics = /* @__PURE__ */ new Map();
182
+ return {
183
+ topics,
184
+ publish(topic, message) {
185
+ if (!topics.has(topic)) topics.set(topic, []);
186
+ topics.get(topic).push({
187
+ ...message,
188
+ timestamp: message.timestamp ?? Date.now(),
189
+ offset: message.offset ?? topics.get(topic).length
190
+ });
191
+ },
192
+ consume(topic, count) {
193
+ const messages = topics.get(topic) ?? [];
194
+ if (count === void 0) {
195
+ const all = [...messages];
196
+ messages.length = 0;
197
+ return all;
198
+ }
199
+ return messages.splice(0, count);
200
+ },
201
+ peek(topic, count) {
202
+ const messages = topics.get(topic) ?? [];
203
+ if (count === void 0) return [...messages];
204
+ return messages.slice(0, count);
205
+ },
206
+ getMessageCount(topic) {
207
+ return topics.get(topic)?.length ?? 0;
208
+ },
209
+ clear(topic) {
210
+ if (topic) topics.set(topic, []);
211
+ else topics.clear();
212
+ },
213
+ createTopic(topic) {
214
+ if (!topics.has(topic)) topics.set(topic, []);
215
+ },
216
+ deleteTopic(topic) {
217
+ topics.delete(topic);
218
+ },
219
+ listTopics() {
220
+ return [...topics.keys()];
221
+ }
222
+ };
302
223
  }
224
+ /**
225
+ * Extract trace ID from traceparent header
226
+ */
303
227
  function extractTraceIdFromHeader(traceparent) {
304
- const parts = traceparent.split("-");
305
- if (parts.length >= 3 && parts[1] !== void 0) {
306
- return parts[1];
307
- }
308
- return null;
228
+ const parts = traceparent.split("-");
229
+ if (parts.length >= 3 && parts[1] !== void 0) return parts[1];
230
+ return null;
309
231
  }
232
+ /**
233
+ * Extract span ID from traceparent header
234
+ */
310
235
  function extractSpanIdFromHeader(traceparent) {
311
- const parts = traceparent.split("-");
312
- if (parts.length >= 4 && parts[2] !== void 0) {
313
- return parts[2];
314
- }
315
- return null;
236
+ const parts = traceparent.split("-");
237
+ if (parts.length >= 4 && parts[2] !== void 0) return parts[2];
238
+ return null;
316
239
  }
240
+ /**
241
+ * Create a mock span context
242
+ */
317
243
  function createMockSpanContext(traceId, spanId) {
318
- return {
319
- traceId: traceId ?? randomHex(32),
320
- spanId: spanId ?? randomHex(16),
321
- traceFlags: 1,
322
- isRemote: true
323
- };
244
+ return {
245
+ traceId: traceId ?? randomHex(32),
246
+ spanId: spanId ?? randomHex(16),
247
+ traceFlags: 1,
248
+ isRemote: true
249
+ };
324
250
  }
251
+ /**
252
+ * Create a mock link to a producer span
253
+ */
325
254
  function createMockProducerLink(traceId, spanId) {
326
- return {
327
- context: createMockSpanContext(traceId, spanId),
328
- attributes: {
329
- "messaging.link.source": "producer"
330
- }
331
- };
255
+ return {
256
+ context: createMockSpanContext(traceId, spanId),
257
+ attributes: { "messaging.link.source": "producer" }
258
+ };
332
259
  }
260
+ /**
261
+ * Create a batch of mock messages
262
+ */
333
263
  function createMockMessageBatch(payloads, options = {}) {
334
- const startOffset = options.startOffset ?? 0;
335
- const addTraceHeaders = options.addTraceHeaders ?? true;
336
- const traceId = options.traceId ?? randomHex(32);
337
- return payloads.map((payload, index) => ({
338
- payload,
339
- headers: addTraceHeaders ? { traceparent: `00-${traceId}-${randomHex(16)}-01` } : void 0,
340
- offset: startOffset + index,
341
- partition: options.partition ?? 0,
342
- messageId: `msg-${randomHex(8)}`,
343
- timestamp: Date.now() + index
344
- }));
264
+ const startOffset = options.startOffset ?? 0;
265
+ const addTraceHeaders = options.addTraceHeaders ?? true;
266
+ const traceId = options.traceId ?? randomHex(32);
267
+ return payloads.map((payload, index) => ({
268
+ payload,
269
+ headers: addTraceHeaders ? { traceparent: `00-${traceId}-${randomHex(16)}-01` } : void 0,
270
+ offset: startOffset + index,
271
+ partition: options.partition ?? 0,
272
+ messageId: `msg-${randomHex(8)}`,
273
+ timestamp: Date.now() + index
274
+ }));
345
275
  }
276
+ /**
277
+ * Create a rebalance scenario
278
+ */
346
279
  function createRebalanceScenario(topic, consumerGroup, partitions) {
347
- const assignments = partitions.map((p) => ({
348
- topic,
349
- partition: p,
350
- offset: 0
351
- }));
352
- return {
353
- assignEvent: {
354
- type: "assigned",
355
- partitions: assignments,
356
- timestamp: Date.now(),
357
- generation: 1,
358
- destination: topic,
359
- consumerGroup
360
- },
361
- revokeEvent: {
362
- type: "revoked",
363
- partitions: assignments,
364
- timestamp: Date.now() + 1e3,
365
- generation: 2,
366
- destination: topic,
367
- consumerGroup
368
- }
369
- };
280
+ const assignments = partitions.map((p) => ({
281
+ topic,
282
+ partition: p,
283
+ offset: 0
284
+ }));
285
+ return {
286
+ assignEvent: {
287
+ type: "assigned",
288
+ partitions: assignments,
289
+ timestamp: Date.now(),
290
+ generation: 1,
291
+ destination: topic,
292
+ consumerGroup
293
+ },
294
+ revokeEvent: {
295
+ type: "revoked",
296
+ partitions: assignments,
297
+ timestamp: Date.now() + 1e3,
298
+ generation: 2,
299
+ destination: topic,
300
+ consumerGroup
301
+ }
302
+ };
370
303
  }
304
+ /**
305
+ * Create an out-of-order scenario
306
+ */
371
307
  function createOutOfOrderScenario(payloads, outOfOrderIndices) {
372
- const messages = createMockMessageBatch(payloads, { addTraceHeaders: true });
373
- const shuffled = [...messages];
374
- for (const index of outOfOrderIndices) {
375
- if (index > 0 && index < shuffled.length) {
376
- const prev = shuffled[index - 1];
377
- const curr = shuffled[index];
378
- shuffled[index - 1] = curr;
379
- shuffled[index] = prev;
380
- }
381
- }
382
- return shuffled;
308
+ const shuffled = [...createMockMessageBatch(payloads, { addTraceHeaders: true })];
309
+ for (const index of outOfOrderIndices) if (index > 0 && index < shuffled.length) {
310
+ const prev = shuffled[index - 1];
311
+ const curr = shuffled[index];
312
+ shuffled[index - 1] = curr;
313
+ shuffled[index] = prev;
314
+ }
315
+ return shuffled;
383
316
  }
317
+ /**
318
+ * Create a duplicate message scenario
319
+ */
384
320
  function createDuplicateScenario(payloads, duplicateIndices) {
385
- const messages = createMockMessageBatch(payloads, { addTraceHeaders: true });
386
- const result = [...messages];
387
- for (const index of duplicateIndices) {
388
- const originalMessage = messages[index];
389
- if (index >= 0 && index < messages.length && originalMessage) {
390
- result.splice(index + 1, 0, { ...originalMessage });
391
- }
392
- }
393
- return result;
321
+ const messages = createMockMessageBatch(payloads, { addTraceHeaders: true });
322
+ const result = [...messages];
323
+ for (const index of duplicateIndices) {
324
+ const originalMessage = messages[index];
325
+ if (index >= 0 && index < messages.length && originalMessage) result.splice(index + 1, 0, { ...originalMessage });
326
+ }
327
+ return result;
394
328
  }
395
329
 
330
+ //#endregion
396
331
  exports.createDuplicateScenario = createDuplicateScenario;
397
332
  exports.createMessagingTestHarness = createMessagingTestHarness;
398
333
  exports.createMockMessageBatch = createMockMessageBatch;
@@ -403,5 +338,4 @@ exports.createOutOfOrderScenario = createOutOfOrderScenario;
403
338
  exports.createRebalanceScenario = createRebalanceScenario;
404
339
  exports.extractSpanIdFromHeader = extractSpanIdFromHeader;
405
340
  exports.extractTraceIdFromHeader = extractTraceIdFromHeader;
406
- //# sourceMappingURL=messaging-testing.cjs.map
407
341
  //# sourceMappingURL=messaging-testing.cjs.map