autotel 3.5.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 (591) 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 -53
  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 -16
  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 -65
  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 -63
  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 -36
  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 -20
  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 -56
  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 -19
  149. package/dist/http.cjs +276 -175
  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 -173
  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 +1050 -1184
  162. package/dist/index.cjs.map +1 -1
  163. package/dist/index.d.cts +401 -570
  164. package/dist/index.d.cts.map +1 -0
  165. package/dist/index.d.ts +401 -570
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +913 -725
  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 -35
  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 -20
  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 -38
  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 -19
  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 +201 -0
  382. package/dist/validate.cjs.map +1 -0
  383. package/dist/validate.d.cts +105 -0
  384. package/dist/validate.d.cts.map +1 -0
  385. package/dist/validate.d.ts +105 -0
  386. package/dist/validate.d.ts.map +1 -0
  387. package/dist/validate.js +197 -0
  388. package/dist/validate.js.map +1 -0
  389. package/dist/validation-attributes.cjs +45 -0
  390. package/dist/validation-attributes.cjs.map +1 -0
  391. package/dist/validation-attributes.d.cts +33 -0
  392. package/dist/validation-attributes.d.cts.map +1 -0
  393. package/dist/validation-attributes.d.ts +33 -0
  394. package/dist/validation-attributes.d.ts.map +1 -0
  395. package/dist/validation-attributes.js +41 -0
  396. package/dist/validation-attributes.js.map +1 -0
  397. package/dist/webhook.cjs +286 -255
  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 -253
  404. package/dist/webhook.js.map +1 -1
  405. package/dist/workflow-distributed.cjs +498 -411
  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 -409
  412. package/dist/workflow-distributed.js.map +1 -1
  413. package/dist/workflow.cjs +405 -39
  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 -20
  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 +14 -4
  431. package/src/define-event.ts +2 -21
  432. package/src/index.ts +3 -0
  433. package/src/request-logger.test.ts +53 -1
  434. package/src/request-logger.ts +58 -0
  435. package/src/stable-hash.ts +27 -0
  436. package/src/validate.test.ts +287 -0
  437. package/src/validate.ts +307 -0
  438. package/src/validation-attributes.ts +43 -0
  439. package/dist/attributes.cjs.map +0 -1
  440. package/dist/attributes.js.map +0 -1
  441. package/dist/chunk-2ZKEORFN.cjs +0 -14
  442. package/dist/chunk-2ZKEORFN.cjs.map +0 -1
  443. package/dist/chunk-3QXBFGKP.js +0 -344
  444. package/dist/chunk-3QXBFGKP.js.map +0 -1
  445. package/dist/chunk-454CH4OV.js +0 -744
  446. package/dist/chunk-454CH4OV.js.map +0 -1
  447. package/dist/chunk-4A53YIAX.js +0 -180
  448. package/dist/chunk-4A53YIAX.js.map +0 -1
  449. package/dist/chunk-4IFSYQVX.js +0 -337
  450. package/dist/chunk-4IFSYQVX.js.map +0 -1
  451. package/dist/chunk-4P6ZOARG.cjs +0 -33
  452. package/dist/chunk-4P6ZOARG.cjs.map +0 -1
  453. package/dist/chunk-55ER2KD5.js +0 -228
  454. package/dist/chunk-55ER2KD5.js.map +0 -1
  455. package/dist/chunk-5ZN622AO.js +0 -73
  456. package/dist/chunk-5ZN622AO.js.map +0 -1
  457. package/dist/chunk-6S5RUKU3.cjs +0 -347
  458. package/dist/chunk-6S5RUKU3.cjs.map +0 -1
  459. package/dist/chunk-6UQRVUN3.js +0 -222
  460. package/dist/chunk-6UQRVUN3.js.map +0 -1
  461. package/dist/chunk-7552UTQW.js +0 -11
  462. package/dist/chunk-7552UTQW.js.map +0 -1
  463. package/dist/chunk-7EQ4G4SI.cjs +0 -146
  464. package/dist/chunk-7EQ4G4SI.cjs.map +0 -1
  465. package/dist/chunk-7SAWIN74.js +0 -285
  466. package/dist/chunk-7SAWIN74.js.map +0 -1
  467. package/dist/chunk-A4E5AQFK.js +0 -30
  468. package/dist/chunk-A4E5AQFK.js.map +0 -1
  469. package/dist/chunk-AC5GNZKB.cjs +0 -344
  470. package/dist/chunk-AC5GNZKB.cjs.map +0 -1
  471. package/dist/chunk-ALPYR2GC.js +0 -1061
  472. package/dist/chunk-ALPYR2GC.js.map +0 -1
  473. package/dist/chunk-BZHG5IZ4.js +0 -73
  474. package/dist/chunk-BZHG5IZ4.js.map +0 -1
  475. package/dist/chunk-CEAQK2QY.cjs +0 -32
  476. package/dist/chunk-CEAQK2QY.cjs.map +0 -1
  477. package/dist/chunk-CMHVQR6P.js +0 -170
  478. package/dist/chunk-CMHVQR6P.js.map +0 -1
  479. package/dist/chunk-CU6IDACR.cjs +0 -224
  480. package/dist/chunk-CU6IDACR.cjs.map +0 -1
  481. package/dist/chunk-DPSA4QLA.js +0 -344
  482. package/dist/chunk-DPSA4QLA.js.map +0 -1
  483. package/dist/chunk-DQEHQNQE.js +0 -795
  484. package/dist/chunk-DQEHQNQE.js.map +0 -1
  485. package/dist/chunk-ESLWRGAG.cjs +0 -92
  486. package/dist/chunk-ESLWRGAG.cjs.map +0 -1
  487. package/dist/chunk-ESMHTKLJ.cjs +0 -206
  488. package/dist/chunk-ESMHTKLJ.cjs.map +0 -1
  489. package/dist/chunk-FGNDN2FD.cjs +0 -1242
  490. package/dist/chunk-FGNDN2FD.cjs.map +0 -1
  491. package/dist/chunk-FU6R566Y.cjs +0 -236
  492. package/dist/chunk-FU6R566Y.cjs.map +0 -1
  493. package/dist/chunk-GBFTC7Q7.cjs +0 -837
  494. package/dist/chunk-GBFTC7Q7.cjs.map +0 -1
  495. package/dist/chunk-GYR5K654.js +0 -91
  496. package/dist/chunk-GYR5K654.js.map +0 -1
  497. package/dist/chunk-HA2WBOGQ.js +0 -57
  498. package/dist/chunk-HA2WBOGQ.js.map +0 -1
  499. package/dist/chunk-HT5JQKN2.js +0 -118
  500. package/dist/chunk-HT5JQKN2.js.map +0 -1
  501. package/dist/chunk-INJD3G4K.cjs +0 -340
  502. package/dist/chunk-INJD3G4K.cjs.map +0 -1
  503. package/dist/chunk-IOYFAFHJ.cjs +0 -95
  504. package/dist/chunk-IOYFAFHJ.cjs.map +0 -1
  505. package/dist/chunk-J5QENANM.js +0 -87
  506. package/dist/chunk-J5QENANM.js.map +0 -1
  507. package/dist/chunk-J7VGRIAJ.js +0 -64
  508. package/dist/chunk-J7VGRIAJ.js.map +0 -1
  509. package/dist/chunk-KFOHQK7X.js +0 -144
  510. package/dist/chunk-KFOHQK7X.js.map +0 -1
  511. package/dist/chunk-KIL5CUN6.js +0 -31
  512. package/dist/chunk-KIL5CUN6.js.map +0 -1
  513. package/dist/chunk-LITNXTTT.js +0 -3
  514. package/dist/chunk-LITNXTTT.js.map +0 -1
  515. package/dist/chunk-M3LFHHTN.cjs +0 -764
  516. package/dist/chunk-M3LFHHTN.cjs.map +0 -1
  517. package/dist/chunk-NEIB3TLD.cjs +0 -360
  518. package/dist/chunk-NEIB3TLD.cjs.map +0 -1
  519. package/dist/chunk-NVAI5CCN.cjs +0 -39
  520. package/dist/chunk-NVAI5CCN.cjs.map +0 -1
  521. package/dist/chunk-NVGPMGI4.js +0 -95
  522. package/dist/chunk-NVGPMGI4.js.map +0 -1
  523. package/dist/chunk-NZ72VDNY.cjs +0 -4
  524. package/dist/chunk-NZ72VDNY.cjs.map +0 -1
  525. package/dist/chunk-O4JZUCUE.js +0 -1174
  526. package/dist/chunk-O4JZUCUE.js.map +0 -1
  527. package/dist/chunk-O7JOKRN2.js +0 -833
  528. package/dist/chunk-O7JOKRN2.js.map +0 -1
  529. package/dist/chunk-OPPXYVEZ.cjs +0 -131
  530. package/dist/chunk-OPPXYVEZ.cjs.map +0 -1
  531. package/dist/chunk-Q4EULJQY.js +0 -35
  532. package/dist/chunk-Q4EULJQY.js.map +0 -1
  533. package/dist/chunk-QWW3E3JM.cjs +0 -178
  534. package/dist/chunk-QWW3E3JM.cjs.map +0 -1
  535. package/dist/chunk-R7QYGZUP.cjs +0 -1075
  536. package/dist/chunk-R7QYGZUP.cjs.map +0 -1
  537. package/dist/chunk-RUPKBKUF.js +0 -352
  538. package/dist/chunk-RUPKBKUF.js.map +0 -1
  539. package/dist/chunk-SEO6NAQT.js +0 -14
  540. package/dist/chunk-SEO6NAQT.js.map +0 -1
  541. package/dist/chunk-T4B5LB6E.cjs +0 -66
  542. package/dist/chunk-T4B5LB6E.cjs.map +0 -1
  543. package/dist/chunk-TC5ZPWM4.cjs +0 -289
  544. package/dist/chunk-TC5ZPWM4.cjs.map +0 -1
  545. package/dist/chunk-TQ5UWA7S.js +0 -26
  546. package/dist/chunk-TQ5UWA7S.js.map +0 -1
  547. package/dist/chunk-URHPSJW2.js +0 -339
  548. package/dist/chunk-URHPSJW2.js.map +0 -1
  549. package/dist/chunk-UY3UYPBZ.cjs +0 -77
  550. package/dist/chunk-UY3UYPBZ.cjs.map +0 -1
  551. package/dist/chunk-VG2ABKJX.cjs +0 -100
  552. package/dist/chunk-VG2ABKJX.cjs.map +0 -1
  553. package/dist/chunk-VH77IPJN.cjs +0 -358
  554. package/dist/chunk-VH77IPJN.cjs.map +0 -1
  555. package/dist/chunk-VQTCQKHQ.cjs +0 -17
  556. package/dist/chunk-VQTCQKHQ.cjs.map +0 -1
  557. package/dist/chunk-WGWSHJ2N.js +0 -38
  558. package/dist/chunk-WGWSHJ2N.js.map +0 -1
  559. package/dist/chunk-WJH6IYU2.cjs +0 -32
  560. package/dist/chunk-WJH6IYU2.cjs.map +0 -1
  561. package/dist/chunk-YREV3LGG.cjs +0 -61
  562. package/dist/chunk-YREV3LGG.cjs.map +0 -1
  563. package/dist/chunk-YTXEZ4SD.cjs +0 -77
  564. package/dist/chunk-YTXEZ4SD.cjs.map +0 -1
  565. package/dist/chunk-YWCESU4Y.js +0 -1233
  566. package/dist/chunk-YWCESU4Y.js.map +0 -1
  567. package/dist/chunk-Z6HRSM2Y.cjs +0 -799
  568. package/dist/chunk-Z6HRSM2Y.cjs.map +0 -1
  569. package/dist/chunk-Z7PW3KHL.cjs +0 -1198
  570. package/dist/chunk-Z7PW3KHL.cjs.map +0 -1
  571. package/dist/chunk-ZNMBW67B.cjs +0 -40
  572. package/dist/chunk-ZNMBW67B.cjs.map +0 -1
  573. package/dist/correlation-id.cjs.map +0 -1
  574. package/dist/correlation-id.js.map +0 -1
  575. package/dist/event-subscriber.cjs.map +0 -1
  576. package/dist/event-subscriber.js.map +0 -1
  577. package/dist/event.cjs.map +0 -1
  578. package/dist/event.js.map +0 -1
  579. package/dist/exporters.cjs.map +0 -1
  580. package/dist/exporters.js.map +0 -1
  581. package/dist/functional.cjs.map +0 -1
  582. package/dist/functional.js.map +0 -1
  583. package/dist/init-DIowiiCh.d.ts +0 -1167
  584. package/dist/init-j-A1zI16.d.cts +0 -1167
  585. package/dist/processors.cjs.map +0 -1
  586. package/dist/processors.js.map +0 -1
  587. package/dist/trace-context-DbGKd1Rn.d.cts +0 -213
  588. package/dist/trace-context-DbGKd1Rn.d.ts +0 -213
  589. package/dist/utils-BahBCFtJ.d.cts +0 -712
  590. package/dist/utils-CLKwaUlG.d.ts +0 -712
  591. package/dist/yaml-config.cjs.map +0 -1
package/dist/testing.cjs CHANGED
@@ -1,311 +1,422 @@
1
- 'use strict';
2
-
3
- var chunkUY3UYPBZ_cjs = require('./chunk-UY3UYPBZ.cjs');
4
- require('./chunk-FU6R566Y.cjs');
5
- var chunkESLWRGAG_cjs = require('./chunk-ESLWRGAG.cjs');
6
- require('./chunk-YREV3LGG.cjs');
7
- var api = require('@opentelemetry/api');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_config = require('./config.cjs');
3
+ const require_event_testing = require('./event-testing.cjs');
4
+ let _opentelemetry_api = require("@opentelemetry/api");
8
5
 
6
+ //#region src/testing.ts
7
+ /**
8
+ * Testing Utilities
9
+ *
10
+ * Helpers for testing instrumented code and verifying telemetry.
11
+ * Perfect for integration tests and QA in production validation.
12
+ *
13
+ * @example Verify traces are created
14
+ * ```typescript
15
+ * import { assertTraceCreated, collectTraces } from '@your-org/otel-decorators/testing'
16
+ *
17
+ * describe('UserService', () => {
18
+ * it('should create trace for user creation', async () => {
19
+ * const collector = collectTraces()
20
+ *
21
+ * const service = new UserService()
22
+ * await service.createUser({ email: 'test@example.com' })
23
+ *
24
+ * assertTraceCreated(collector, 'user.createUser')
25
+ * })
26
+ * })
27
+ * ```
28
+ */
29
+ /**
30
+ * Create an in-memory trace collector for testing
31
+ *
32
+ * IMPORTANT: This automatically configures the global tracer to record spans.
33
+ * Call this in your test's beforeEach() to ensure proper setup.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * import { createTraceCollector } from 'autotel/testing'
38
+ *
39
+ * describe('MyService', () => {
40
+ * let collector: TraceCollector
41
+ *
42
+ * beforeEach(() => {
43
+ * collector = createTraceCollector()
44
+ * })
45
+ *
46
+ * it('should trace operations', async () => {
47
+ * await myService.doSomething()
48
+ *
49
+ * const spans = collector.getSpansByName('myService.doSomething')
50
+ * expect(spans).toHaveLength(1)
51
+ * })
52
+ * })
53
+ * ```
54
+ */
9
55
  function createTraceCollector() {
10
- const spans = [];
11
- const createMockSpan = (name, startTime) => {
12
- const spanData = {
13
- name,
14
- startTime,
15
- attributes: {},
16
- status: { code: api.SpanStatusCode.OK }
17
- };
18
- const spanContextData = {
19
- traceId: "1234567890abcdef1234567890abcdef",
20
- // 128-bit trace ID (32 hex chars)
21
- spanId: "1234567890abcdef",
22
- // 64-bit span ID (16 hex chars)
23
- traceFlags: 1,
24
- isRemote: false
25
- };
26
- const mockSpan = {
27
- spanContext: () => spanContextData,
28
- setStatus(status) {
29
- spanData.status = status;
30
- return this;
31
- },
32
- setAttributes(attributes) {
33
- spanData.attributes = { ...spanData.attributes, ...attributes };
34
- return this;
35
- },
36
- setAttribute(key, value) {
37
- spanData.attributes = spanData.attributes || {};
38
- spanData.attributes[key] = value;
39
- return this;
40
- },
41
- addEvent(name2, attributesOrStartTime, startTime2) {
42
- return this;
43
- },
44
- addLink(link) {
45
- return this;
46
- },
47
- addLinks(links) {
48
- return this;
49
- },
50
- updateName(newName) {
51
- spanData.name = newName;
52
- return this;
53
- },
54
- isRecording() {
55
- return true;
56
- },
57
- recordException(exception, time) {
58
- },
59
- end(endTimeArg) {
60
- const endTime = performance.now();
61
- spans.push({
62
- name: spanData.name,
63
- status: spanData.status,
64
- attributes: spanData.attributes || {},
65
- startTime: spanData.startTime,
66
- endTime,
67
- duration: endTime - spanData.startTime
68
- });
69
- }
70
- };
71
- return mockSpan;
72
- };
73
- const mockTracer = {
74
- startSpan(name, options, ctx) {
75
- const startTime = performance.now();
76
- return createMockSpan(name, startTime);
77
- },
78
- startActiveSpan(name, optionsOrFn, contextOrFn, fn) {
79
- const callback = (() => {
80
- if (typeof optionsOrFn === "function") {
81
- return optionsOrFn;
82
- }
83
- if (typeof contextOrFn === "function") {
84
- return contextOrFn;
85
- }
86
- if (fn) {
87
- return fn;
88
- }
89
- throw new Error("startActiveSpan requires a callback");
90
- })();
91
- const startTime = performance.now();
92
- const mockSpan = createMockSpan(name, startTime);
93
- const ctx = api.trace.setSpan(api.context.active(), mockSpan);
94
- return api.context.with(ctx, () => callback(mockSpan));
95
- }
96
- };
97
- chunkESLWRGAG_cjs.configure({ tracer: mockTracer });
98
- return {
99
- getSpans() {
100
- return [...spans];
101
- },
102
- getSpansByName(name) {
103
- return spans.filter((span) => span.name === name);
104
- },
105
- getSpansByAttributes(attributes) {
106
- return spans.filter((span) => {
107
- return Object.entries(attributes).every(
108
- ([key, value]) => span.attributes[key] === value
109
- );
110
- });
111
- },
112
- clear() {
113
- spans.length = 0;
114
- },
115
- recordSpan(span) {
116
- spans.push(span);
117
- }
118
- };
56
+ const spans = [];
57
+ const createMockSpan = (name, startTime) => {
58
+ const spanData = {
59
+ name,
60
+ startTime,
61
+ attributes: {},
62
+ status: { code: _opentelemetry_api.SpanStatusCode.OK }
63
+ };
64
+ const spanContextData = {
65
+ traceId: "1234567890abcdef1234567890abcdef",
66
+ spanId: "1234567890abcdef",
67
+ traceFlags: 1,
68
+ isRemote: false
69
+ };
70
+ return {
71
+ spanContext: () => spanContextData,
72
+ setStatus(status) {
73
+ spanData.status = status;
74
+ return this;
75
+ },
76
+ setAttributes(attributes) {
77
+ spanData.attributes = {
78
+ ...spanData.attributes,
79
+ ...attributes
80
+ };
81
+ return this;
82
+ },
83
+ setAttribute(key, value) {
84
+ spanData.attributes = spanData.attributes || {};
85
+ spanData.attributes[key] = value;
86
+ return this;
87
+ },
88
+ addEvent(name, attributesOrStartTime, startTime) {
89
+ return this;
90
+ },
91
+ addLink(link) {
92
+ return this;
93
+ },
94
+ addLinks(links) {
95
+ return this;
96
+ },
97
+ updateName(newName) {
98
+ spanData.name = newName;
99
+ return this;
100
+ },
101
+ isRecording() {
102
+ return true;
103
+ },
104
+ recordException(exception, time) {},
105
+ end(endTimeArg) {
106
+ const endTime = performance.now();
107
+ spans.push({
108
+ name: spanData.name,
109
+ status: spanData.status,
110
+ attributes: spanData.attributes || {},
111
+ startTime: spanData.startTime,
112
+ endTime,
113
+ duration: endTime - spanData.startTime
114
+ });
115
+ }
116
+ };
117
+ };
118
+ require_config.configure({ tracer: {
119
+ startSpan(name, options, ctx) {
120
+ return createMockSpan(name, performance.now());
121
+ },
122
+ startActiveSpan(name, optionsOrFn, contextOrFn, fn) {
123
+ const callback = (() => {
124
+ if (typeof optionsOrFn === "function") return optionsOrFn;
125
+ if (typeof contextOrFn === "function") return contextOrFn;
126
+ if (fn) return fn;
127
+ throw new Error("startActiveSpan requires a callback");
128
+ })();
129
+ const mockSpan = createMockSpan(name, performance.now());
130
+ const ctx = _opentelemetry_api.trace.setSpan(_opentelemetry_api.context.active(), mockSpan);
131
+ return _opentelemetry_api.context.with(ctx, () => callback(mockSpan));
132
+ }
133
+ } });
134
+ return {
135
+ getSpans() {
136
+ return [...spans];
137
+ },
138
+ getSpansByName(name) {
139
+ return spans.filter((span) => span.name === name);
140
+ },
141
+ getSpansByAttributes(attributes) {
142
+ return spans.filter((span) => {
143
+ return Object.entries(attributes).every(([key, value]) => span.attributes[key] === value);
144
+ });
145
+ },
146
+ clear() {
147
+ spans.length = 0;
148
+ },
149
+ recordSpan(span) {
150
+ spans.push(span);
151
+ }
152
+ };
119
153
  }
154
+ /**
155
+ * Assert that a trace was created for an operation
156
+ *
157
+ * @param collector - Trace collector
158
+ * @param operationName - Expected operation name
159
+ * @param options - Optional assertion options
160
+ * @throws Error if trace was not found or doesn't match expectations
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * assertTraceCreated(collector, 'user.createUser')
165
+ * assertTraceCreated(collector, 'user.createUser', {
166
+ * minCount: 1,
167
+ * maxCount: 1,
168
+ * status: SpanStatusCode.OK,
169
+ * attributes: { 'user.email': 'test@example.com' }
170
+ * })
171
+ * ```
172
+ */
120
173
  function assertTraceCreated(collector, operationName, options) {
121
- const spans = collector.getSpansByName(operationName);
122
- if (options?.minCount !== void 0 && spans.length < options.minCount) {
123
- throw new Error(
124
- `Expected at least ${options.minCount} traces for ${operationName}, got ${spans.length}`
125
- );
126
- }
127
- if (options?.maxCount !== void 0 && spans.length > options.maxCount) {
128
- throw new Error(
129
- `Expected at most ${options.maxCount} traces for ${operationName}, got ${spans.length}`
130
- );
131
- }
132
- if (spans.length === 0) {
133
- throw new Error(`No traces found for operation: ${operationName}`);
134
- }
135
- if (options?.status !== void 0) {
136
- const matchingSpans = spans.filter(
137
- (span) => span.status.code === options.status
138
- );
139
- if (matchingSpans.length === 0) {
140
- throw new Error(
141
- `No traces with status ${options.status} found for ${operationName}`
142
- );
143
- }
144
- }
145
- if (options?.attributes) {
146
- const matchingSpans = spans.filter((span) => {
147
- return Object.entries(options.attributes).every(
148
- ([key, value]) => span.attributes[key] === value
149
- );
150
- });
151
- if (matchingSpans.length === 0) {
152
- throw new Error(
153
- `No traces with attributes ${JSON.stringify(options.attributes)} found for ${operationName}`
154
- );
155
- }
156
- }
174
+ const spans = collector.getSpansByName(operationName);
175
+ if (options?.minCount !== void 0 && spans.length < options.minCount) throw new Error(`Expected at least ${options.minCount} traces for ${operationName}, got ${spans.length}`);
176
+ if (options?.maxCount !== void 0 && spans.length > options.maxCount) throw new Error(`Expected at most ${options.maxCount} traces for ${operationName}, got ${spans.length}`);
177
+ if (spans.length === 0) throw new Error(`No traces found for operation: ${operationName}`);
178
+ if (options?.status !== void 0) {
179
+ if (spans.filter((span) => span.status.code === options.status).length === 0) throw new Error(`No traces with status ${options.status} found for ${operationName}`);
180
+ }
181
+ if (options?.attributes) {
182
+ if (spans.filter((span) => {
183
+ return Object.entries(options.attributes).every(([key, value]) => span.attributes[key] === value);
184
+ }).length === 0) throw new Error(`No traces with attributes ${JSON.stringify(options.attributes)} found for ${operationName}`);
185
+ }
157
186
  }
187
+ /**
188
+ * Assert that no errors were logged
189
+ *
190
+ * Use this in smoke tests to verify critical paths don't have errors.
191
+ *
192
+ * @param collector - Trace collector
193
+ * @throws Error if any error traces are found
194
+ *
195
+ * @example
196
+ * ```typescript
197
+ * // Run critical user flows
198
+ * await runSmokeTests()
199
+ *
200
+ * // Verify no errors occurred
201
+ * assertNoErrors(collector)
202
+ * ```
203
+ */
158
204
  function assertNoErrors(collector) {
159
- const errorSpans = collector.getSpans().filter((span) => span.status.code === api.SpanStatusCode.ERROR);
160
- if (errorSpans.length > 0) {
161
- const errorSummary = errorSpans.map((span) => `${span.name}: ${span.status.message}`).join("\n");
162
- throw new Error(`Found ${errorSpans.length} error spans:
163
- ${errorSummary}`);
164
- }
205
+ const errorSpans = collector.getSpans().filter((span) => span.status.code === _opentelemetry_api.SpanStatusCode.ERROR);
206
+ if (errorSpans.length > 0) {
207
+ const errorSummary = errorSpans.map((span) => `${span.name}: ${span.status.message}`).join("\n");
208
+ throw new Error(`Found ${errorSpans.length} error spans:\n${errorSummary}`);
209
+ }
165
210
  }
211
+ /**
212
+ * Assert that a trace was created and succeeded
213
+ *
214
+ * @param collector - Trace collector
215
+ * @param operationName - Expected operation name
216
+ *
217
+ * @example
218
+ * ```typescript
219
+ * assertTraceSucceeded(collector, 'user.createUser')
220
+ * ```
221
+ */
166
222
  function assertTraceSucceeded(collector, operationName) {
167
- assertTraceCreated(collector, operationName, { status: api.SpanStatusCode.OK });
223
+ assertTraceCreated(collector, operationName, { status: _opentelemetry_api.SpanStatusCode.OK });
168
224
  }
225
+ /**
226
+ * Assert that a trace was created and failed
227
+ *
228
+ * @param collector - Trace collector
229
+ * @param operationName - Expected operation name
230
+ * @param errorMessage - Optional expected error message
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * assertTraceFailed(collector, 'user.createUser', 'Invalid email')
235
+ * ```
236
+ */
169
237
  function assertTraceFailed(collector, operationName, errorMessage) {
170
- const spans = collector.getSpansByName(operationName);
171
- if (spans.length === 0) {
172
- throw new Error(`No traces found for operation: ${operationName}`);
173
- }
174
- const errorSpans = spans.filter(
175
- (span) => span.status.code === api.SpanStatusCode.ERROR
176
- );
177
- if (errorSpans.length === 0) {
178
- throw new Error(`No error traces found for operation: ${operationName}`);
179
- }
180
- if (errorMessage) {
181
- const matchingSpans = errorSpans.filter(
182
- (span) => span.status.message === errorMessage
183
- );
184
- if (matchingSpans.length === 0) {
185
- throw new Error(
186
- `No error traces with message "${errorMessage}" found for ${operationName}`
187
- );
188
- }
189
- }
238
+ const spans = collector.getSpansByName(operationName);
239
+ if (spans.length === 0) throw new Error(`No traces found for operation: ${operationName}`);
240
+ const errorSpans = spans.filter((span) => span.status.code === _opentelemetry_api.SpanStatusCode.ERROR);
241
+ if (errorSpans.length === 0) throw new Error(`No error traces found for operation: ${operationName}`);
242
+ if (errorMessage) {
243
+ if (errorSpans.filter((span) => span.status.message === errorMessage).length === 0) throw new Error(`No error traces with message "${errorMessage}" found for ${operationName}`);
244
+ }
190
245
  }
246
+ /**
247
+ * Create an in-memory log collector for testing
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * const logger = createMockLogger()
252
+ *
253
+ * // Use logger in your code
254
+ * service.log = logger
255
+ * await service.doSomething()
256
+ *
257
+ * // Assert logs were created
258
+ * const logs = logger.getLogs()
259
+ * expect(logs).toHaveLength(2)
260
+ * expect(logs[0].message).toBe('Operation started')
261
+ * ```
262
+ */
191
263
  function createMockLogger() {
192
- const logs = [];
193
- const createLogMethod = (level) => {
194
- return (objOrMsg, msg) => {
195
- if (typeof objOrMsg === "string") {
196
- logs.push({
197
- level,
198
- message: objOrMsg,
199
- extra: void 0
200
- });
201
- } else {
202
- logs.push({
203
- level,
204
- message: msg || "",
205
- extra: objOrMsg
206
- });
207
- }
208
- };
209
- };
210
- return {
211
- info: createLogMethod("info"),
212
- warn: createLogMethod("warn"),
213
- debug: createLogMethod("debug"),
214
- error(objOrMsg, msg) {
215
- if (typeof objOrMsg === "string") {
216
- logs.push({
217
- level: "error",
218
- message: objOrMsg,
219
- extra: void 0,
220
- error: void 0
221
- });
222
- return;
223
- }
224
- const { err, ...rest } = objOrMsg;
225
- logs.push({
226
- level: "error",
227
- message: msg || "",
228
- error: err instanceof Error ? err : void 0,
229
- extra: err !== void 0 && !(err instanceof Error) ? { err, ...rest } : rest
230
- });
231
- },
232
- getLogs() {
233
- return [...logs];
234
- },
235
- getLogsByLevel(level) {
236
- return logs.filter((log) => log.level === level);
237
- },
238
- getLogsByMessage(message) {
239
- return logs.filter((log) => log.message.includes(message));
240
- },
241
- clear() {
242
- logs.length = 0;
243
- }
244
- };
264
+ const logs = [];
265
+ const createLogMethod = (level) => {
266
+ return (objOrMsg, msg) => {
267
+ if (typeof objOrMsg === "string") logs.push({
268
+ level,
269
+ message: objOrMsg,
270
+ extra: void 0
271
+ });
272
+ else logs.push({
273
+ level,
274
+ message: msg || "",
275
+ extra: objOrMsg
276
+ });
277
+ };
278
+ };
279
+ return {
280
+ info: createLogMethod("info"),
281
+ warn: createLogMethod("warn"),
282
+ debug: createLogMethod("debug"),
283
+ error(objOrMsg, msg) {
284
+ if (typeof objOrMsg === "string") {
285
+ logs.push({
286
+ level: "error",
287
+ message: objOrMsg,
288
+ extra: void 0,
289
+ error: void 0
290
+ });
291
+ return;
292
+ }
293
+ const { err, ...rest } = objOrMsg;
294
+ logs.push({
295
+ level: "error",
296
+ message: msg || "",
297
+ error: err instanceof Error ? err : void 0,
298
+ extra: err !== void 0 && !(err instanceof Error) ? {
299
+ err,
300
+ ...rest
301
+ } : rest
302
+ });
303
+ },
304
+ getLogs() {
305
+ return [...logs];
306
+ },
307
+ getLogsByLevel(level) {
308
+ return logs.filter((log) => log.level === level);
309
+ },
310
+ getLogsByMessage(message) {
311
+ return logs.filter((log) => log.message.includes(message));
312
+ },
313
+ clear() {
314
+ logs.length = 0;
315
+ }
316
+ };
245
317
  }
318
+ /**
319
+ * Assert that no error logs were created
320
+ *
321
+ * @param logger - Log collector
322
+ * @throws Error if any error logs are found
323
+ *
324
+ * @example
325
+ * ```typescript
326
+ * assertNoErrorsLogged(logger)
327
+ * ```
328
+ */
246
329
  function assertNoErrorsLogged(logger) {
247
- const errorLogs = logger.getLogsByLevel("error");
248
- if (errorLogs.length > 0) {
249
- const errorSummary = errorLogs.map(
250
- (log) => `${log.message}${log.error ? ": " + log.error.message : ""}`
251
- ).join("\n");
252
- throw new Error(`Found ${errorLogs.length} error logs:
253
- ${errorSummary}`);
254
- }
330
+ const errorLogs = logger.getLogsByLevel("error");
331
+ if (errorLogs.length > 0) {
332
+ const errorSummary = errorLogs.map((log) => `${log.message}${log.error ? ": " + log.error.message : ""}`).join("\n");
333
+ throw new Error(`Found ${errorLogs.length} error logs:\n${errorSummary}`);
334
+ }
255
335
  }
336
+ /**
337
+ * Wait for a specific trace to be created
338
+ *
339
+ * Useful for async operations where you need to wait for telemetry.
340
+ *
341
+ * @param collector - Trace collector
342
+ * @param operationName - Expected operation name
343
+ * @param timeoutMs - Timeout in milliseconds (default 5000)
344
+ * @returns Promise that resolves when trace is found
345
+ * @throws Error if timeout is reached
346
+ *
347
+ * @example
348
+ * ```typescript
349
+ * // Start async operation
350
+ * const promise = service.doAsyncWork()
351
+ *
352
+ * // Wait for trace
353
+ * await waitForTrace(collector, 'service.doAsyncWork', 1000)
354
+ *
355
+ * // Now you can assert on the trace
356
+ * assertTraceSucceeded(collector, 'service.doAsyncWork')
357
+ * ```
358
+ */
256
359
  async function waitForTrace(collector, operationName, timeoutMs = 5e3) {
257
- const startTime = Date.now();
258
- while (Date.now() - startTime < timeoutMs) {
259
- const spans = collector.getSpansByName(operationName);
260
- if (spans.length > 0) {
261
- return;
262
- }
263
- await new Promise((resolve) => setTimeout(resolve, 10));
264
- }
265
- throw new Error(
266
- `Timeout waiting for trace ${operationName} after ${timeoutMs}ms`
267
- );
360
+ const startTime = Date.now();
361
+ while (Date.now() - startTime < timeoutMs) {
362
+ if (collector.getSpansByName(operationName).length > 0) return;
363
+ await new Promise((resolve) => setTimeout(resolve, 10));
364
+ }
365
+ throw new Error(`Timeout waiting for trace ${operationName} after ${timeoutMs}ms`);
268
366
  }
367
+ /**
368
+ * Get trace duration in milliseconds
369
+ *
370
+ * @param collector - Trace collector
371
+ * @param operationName - Operation name
372
+ * @returns Duration in milliseconds, or undefined if trace not found
373
+ *
374
+ * @example
375
+ * ```typescript
376
+ * const duration = getTraceDuration(collector, 'user.createUser')
377
+ * expect(duration).toBeLessThan(1000) // Should be < 1s
378
+ * ```
379
+ */
269
380
  function getTraceDuration(collector, operationName) {
270
- const spans = collector.getSpansByName(operationName);
271
- if (spans.length === 0) {
272
- return void 0;
273
- }
274
- return spans[0]?.duration;
381
+ const spans = collector.getSpansByName(operationName);
382
+ if (spans.length === 0) return;
383
+ return spans[0]?.duration;
275
384
  }
385
+ /**
386
+ * Assert that an operation completed within a time threshold
387
+ *
388
+ * Perfect for performance testing and SLO validation.
389
+ *
390
+ * @param collector - Trace collector
391
+ * @param operationName - Operation name
392
+ * @param maxDurationMs - Maximum allowed duration in milliseconds
393
+ * @throws Error if operation took too long
394
+ *
395
+ * @example
396
+ * ```typescript
397
+ * // Verify operation meets SLO
398
+ * await service.createUser({ email: 'test@example.com' })
399
+ * assertTraceDuration(collector, 'user.createUser', 500) // Must be < 500ms
400
+ * ```
401
+ */
276
402
  function assertTraceDuration(collector, operationName, maxDurationMs) {
277
- const duration = getTraceDuration(collector, operationName);
278
- if (duration === void 0) {
279
- throw new Error(`No trace found for operation: ${operationName}`);
280
- }
281
- if (duration > maxDurationMs) {
282
- throw new Error(
283
- `Operation ${operationName} took ${duration.toFixed(2)}ms, exceeding ${maxDurationMs}ms threshold`
284
- );
285
- }
403
+ const duration = getTraceDuration(collector, operationName);
404
+ if (duration === void 0) throw new Error(`No trace found for operation: ${operationName}`);
405
+ if (duration > maxDurationMs) throw new Error(`Operation ${operationName} took ${duration.toFixed(2)}ms, exceeding ${maxDurationMs}ms threshold`);
286
406
  }
287
407
 
288
- Object.defineProperty(exports, "assertEventTracked", {
289
- enumerable: true,
290
- get: function () { return chunkUY3UYPBZ_cjs.assertEventTracked; }
291
- });
292
- Object.defineProperty(exports, "assertOutcomeTracked", {
293
- enumerable: true,
294
- get: function () { return chunkUY3UYPBZ_cjs.assertOutcomeTracked; }
295
- });
296
- Object.defineProperty(exports, "createEventCollector", {
297
- enumerable: true,
298
- get: function () { return chunkUY3UYPBZ_cjs.createEventCollector; }
299
- });
408
+ //#endregion
409
+ exports.assertEventTracked = require_event_testing.assertEventTracked;
300
410
  exports.assertNoErrors = assertNoErrors;
301
411
  exports.assertNoErrorsLogged = assertNoErrorsLogged;
412
+ exports.assertOutcomeTracked = require_event_testing.assertOutcomeTracked;
302
413
  exports.assertTraceCreated = assertTraceCreated;
303
414
  exports.assertTraceDuration = assertTraceDuration;
304
415
  exports.assertTraceFailed = assertTraceFailed;
305
416
  exports.assertTraceSucceeded = assertTraceSucceeded;
417
+ exports.createEventCollector = require_event_testing.createEventCollector;
306
418
  exports.createMockLogger = createMockLogger;
307
419
  exports.createTraceCollector = createTraceCollector;
308
420
  exports.getTraceDuration = getTraceDuration;
309
421
  exports.waitForTrace = waitForTrace;
310
- //# sourceMappingURL=testing.cjs.map
311
422
  //# sourceMappingURL=testing.cjs.map