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
@@ -0,0 +1,351 @@
1
+ import { s as Logger } from "./logger-BauSUhUv.js";
2
+ import { Attributes, Link } from "@opentelemetry/api";
3
+
4
+ //#region src/sampling.d.ts
5
+ /**
6
+ * Tail sampling attribute keys (autotel-internal, not OTel semconv)
7
+ */
8
+ declare const AUTOTEL_SAMPLING_TAIL_KEEP = "autotel.sampling.tail.keep";
9
+ declare const AUTOTEL_SAMPLING_TAIL_EVALUATED = "autotel.sampling.tail.evaluated";
10
+ /**
11
+ * Sampler interface - return true to trace, false to skip
12
+ */
13
+ interface Sampler {
14
+ /**
15
+ * Decide whether to trace this operation
16
+ *
17
+ * @param context - Sampling context
18
+ * @returns true to trace, false to skip
19
+ */
20
+ shouldSample(context: SamplingContext): boolean;
21
+ /**
22
+ * Whether this sampler needs tail sampling (post-execution decision)
23
+ * If true, spans are always created and shouldKeepTrace() is called after execution
24
+ *
25
+ * @returns true if this sampler needs to evaluate after operation completes
26
+ */
27
+ needsTailSampling?(): boolean;
28
+ /**
29
+ * Re-evaluate sampling decision after operation completes (tail sampling)
30
+ * Only called if needsTailSampling() returns true
31
+ *
32
+ * @param context - Sampling context
33
+ * @param result - Operation result
34
+ * @returns true if this trace should be kept, false to drop it
35
+ */
36
+ shouldKeepTrace?(context: SamplingContext, result: OperationResult): boolean;
37
+ }
38
+ /**
39
+ * Context information for sampling decisions
40
+ */
41
+ interface SamplingContext {
42
+ /** Operation name */
43
+ operationName: string;
44
+ /** Method arguments (for extracting user IDs, etc.) */
45
+ args: unknown[];
46
+ /** Optional metadata (e.g., feature flags, request headers) */
47
+ metadata?: Record<string, unknown>;
48
+ /** Optional span links for links-based sampling */
49
+ links?: Link[];
50
+ }
51
+ /**
52
+ * Result of a trace operation (for post-execution sampling)
53
+ */
54
+ interface OperationResult {
55
+ /** Whether the operation succeeded */
56
+ success: boolean;
57
+ /** Duration in milliseconds */
58
+ duration: number;
59
+ /** Error if operation failed */
60
+ error?: Error;
61
+ }
62
+ /**
63
+ * Simple random sampler
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * new RandomSampler(0.1) // Sample 10% of requests
68
+ * ```
69
+ */
70
+ declare class RandomSampler implements Sampler {
71
+ private readonly sampleRate;
72
+ constructor(sampleRate: number);
73
+ shouldSample(_context: SamplingContext): boolean;
74
+ }
75
+ /**
76
+ * Always sample (100% tracing)
77
+ */
78
+ declare class AlwaysSampler implements Sampler {
79
+ shouldSample(_context: SamplingContext): boolean;
80
+ }
81
+ /**
82
+ * Never sample (0% tracing)
83
+ */
84
+ declare class NeverSampler implements Sampler {
85
+ shouldSample(_context: SamplingContext): boolean;
86
+ }
87
+ /**
88
+ * Adaptive sampler that always traces errors and slow requests
89
+ *
90
+ * This is the recommended sampler for production use.
91
+ * It ensures you never miss critical issues while keeping costs down.
92
+ *
93
+ * Strategy:
94
+ * - Always trace errors (critical for debugging)
95
+ * - Always trace slow requests (performance issues)
96
+ * - Use baseline sample rate for successful fast requests
97
+ *
98
+ * **IMPORTANT - Tail Sampling Requirement:**
99
+ * This sampler uses tail sampling (makes decisions AFTER execution).
100
+ * You MUST use TailSamplingSpanProcessor for it to work correctly:
101
+ *
102
+ * - If using initInstrumentation(): TailSamplingSpanProcessor is auto-configured
103
+ * - If using custom TracerProvider: You MUST manually register TailSamplingSpanProcessor
104
+ *
105
+ * Without TailSamplingSpanProcessor, ALL spans are exported (defeating the cost savings).
106
+ *
107
+ * @see TailSamplingSpanProcessor
108
+ * @see README.md "Tail Sampling with Custom Providers" section
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * new AdaptiveSampler({
113
+ * baselineSampleRate: 0.1, // 10% of normal requests
114
+ * slowThresholdMs: 1000, // Requests > 1s are "slow"
115
+ * alwaysSampleErrors: true, // Always trace errors
116
+ * alwaysSampleSlow: true // Always trace slow requests
117
+ * })
118
+ * ```
119
+ */
120
+ declare class AdaptiveSampler implements Sampler {
121
+ private baselineSampleRate;
122
+ private slowThresholdMs;
123
+ private alwaysSampleErrors;
124
+ private alwaysSampleSlow;
125
+ private linksBased;
126
+ private linksRate;
127
+ private logger?;
128
+ private readonly samplingDecisions;
129
+ private readonly operationResults;
130
+ constructor(options?: {
131
+ baselineSampleRate?: number;
132
+ slowThresholdMs?: number;
133
+ alwaysSampleErrors?: boolean;
134
+ alwaysSampleSlow?: boolean; /** Enable links-based sampling for event-driven architectures */
135
+ linksBased?: boolean; /** Sampling rate for spans linked to sampled spans (0.0-1.0) */
136
+ linksRate?: number;
137
+ logger?: Logger;
138
+ });
139
+ needsTailSampling(): boolean;
140
+ shouldSample(context: SamplingContext): boolean;
141
+ /**
142
+ * Check if any links point to sampled spans.
143
+ *
144
+ * A span is considered linked to a sampled span if any of its links
145
+ * have trace_flags with the sampled bit set (0x01).
146
+ *
147
+ * @param links - Array of span links to check
148
+ * @returns true if any linked span is sampled, false otherwise
149
+ */
150
+ hasSampledLink(links: Link[]): boolean;
151
+ /**
152
+ * Re-evaluate sampling decision after operation completes
153
+ *
154
+ * This allows us to always capture errors and slow requests,
155
+ * even if they weren't initially sampled.
156
+ *
157
+ * @param context - Sampling context
158
+ * @param result - Operation result
159
+ * @returns true if this operation should be kept (not discarded)
160
+ */
161
+ shouldKeepTrace(context: SamplingContext, result: OperationResult): boolean;
162
+ }
163
+ /**
164
+ * User-based sampler for consistent tracing
165
+ *
166
+ * Always samples requests from specific user IDs.
167
+ * Useful for debugging specific user issues or monitoring VIP users.
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * new UserIdSampler({
172
+ * baselineSampleRate: 0.01, // 1% of normal users
173
+ * alwaysSampleUsers: ['vip_123'], // Always trace VIP users
174
+ * extractUserId: (args) => args[0]?.userId // Extract user ID from first arg
175
+ * })
176
+ * ```
177
+ */
178
+ declare class UserIdSampler implements Sampler {
179
+ private baselineSampleRate;
180
+ private alwaysSampleUsers;
181
+ private extractUserId;
182
+ private logger?;
183
+ constructor(options: {
184
+ baselineSampleRate?: number;
185
+ alwaysSampleUsers?: string[];
186
+ extractUserId: (args: unknown[]) => string | undefined;
187
+ logger?: Logger;
188
+ });
189
+ shouldSample(context: SamplingContext): boolean;
190
+ /**
191
+ * Add user IDs to always-sample list
192
+ */
193
+ addAlwaysSampleUsers(...userIds: string[]): void;
194
+ /**
195
+ * Remove user IDs from always-sample list
196
+ */
197
+ removeAlwaysSampleUsers(...userIds: string[]): void;
198
+ /**
199
+ * Simple hash function for consistent user sampling
200
+ */
201
+ private hashString;
202
+ }
203
+ /**
204
+ * Composite sampler that combines multiple samplers
205
+ *
206
+ * Samples if ANY of the child samplers returns true.
207
+ *
208
+ * @example
209
+ * ```typescript
210
+ * new CompositeSampler([
211
+ * new UserIdSampler({ extractUserId: (args) => args[0]?.userId }),
212
+ * new AdaptiveSampler({ baselineSampleRate: 0.1 })
213
+ * ])
214
+ * ```
215
+ */
216
+ declare class CompositeSampler implements Sampler {
217
+ private readonly samplers;
218
+ constructor(samplers: Sampler[]);
219
+ shouldSample(context: SamplingContext): boolean;
220
+ }
221
+ /**
222
+ * Feature flag sampler
223
+ *
224
+ * Always samples requests with specific feature flags enabled.
225
+ * Perfect for correlating A/B test experiments with metrics.
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * new FeatureFlagSampler({
230
+ * baselineSampleRate: 0.01,
231
+ * alwaysSampleFlags: ['new_checkout', 'experimental_ui'],
232
+ * extractFlags: (args, metadata) => metadata?.featureFlags
233
+ * })
234
+ * ```
235
+ */
236
+ declare class FeatureFlagSampler implements Sampler {
237
+ private baselineSampleRate;
238
+ private alwaysSampleFlags;
239
+ private extractFlags;
240
+ private logger?;
241
+ constructor(options: {
242
+ baselineSampleRate?: number;
243
+ alwaysSampleFlags?: string[];
244
+ extractFlags: (args: unknown[], metadata?: Record<string, unknown>) => string[] | undefined;
245
+ logger?: Logger;
246
+ });
247
+ shouldSample(context: SamplingContext): boolean;
248
+ /**
249
+ * Add feature flags to always-sample list
250
+ */
251
+ addAlwaysSampleFlags(...flags: string[]): void;
252
+ /**
253
+ * Remove feature flags from always-sample list
254
+ */
255
+ removeAlwaysSampleFlags(...flags: string[]): void;
256
+ }
257
+ /**
258
+ * Named sampling presets for common environments.
259
+ * Use with `init({ sampling: 'production' })` or directly via factories.
260
+ */
261
+ type SamplingPreset = 'development' | 'errors-only' | 'production' | 'off';
262
+ /**
263
+ * Sampling preset factories.
264
+ *
265
+ * For most users, the string shorthand on `init()` is simpler:
266
+ * ```typescript
267
+ * init({ service: 'my-app', sampling: 'production' })
268
+ * ```
269
+ *
270
+ * Use factories when you need to customize:
271
+ * ```typescript
272
+ * init({ service: 'my-app', sampler: samplingPresets.production({ baselineSampleRate: 0.05 }) })
273
+ * ```
274
+ */
275
+ declare const samplingPresets: {
276
+ /** Capture everything — best for local development and debugging */development: () => AlwaysSampler; /** Only bad outcomes — zero baseline, errors always kept */
277
+ errorsOnly: () => AdaptiveSampler;
278
+ /**
279
+ * Balanced production defaults — 10% baseline + errors + slow traces.
280
+ * Pass overrides to tune (uses the same option names as AdaptiveSampler).
281
+ */
282
+ production: (overrides?: {
283
+ baselineSampleRate?: number;
284
+ slowThresholdMs?: number;
285
+ alwaysSampleErrors?: boolean;
286
+ alwaysSampleSlow?: boolean;
287
+ }) => AdaptiveSampler; /** Disable sampling entirely */
288
+ off: () => NeverSampler;
289
+ };
290
+ /**
291
+ * Resolve a preset string to a Sampler instance.
292
+ * Used internally by `init()` when `sampling` string is provided.
293
+ *
294
+ * @throws Error if preset is not recognized
295
+ */
296
+ declare function resolveSamplingPreset(preset: SamplingPreset): Sampler;
297
+ /**
298
+ * Create a Link from W3C trace context headers (e.g., from a message queue).
299
+ *
300
+ * This is useful for message consumers that need to link to the producer span.
301
+ * The headers should contain at least a `traceparent` header in W3C format.
302
+ *
303
+ * @param headers - Dictionary containing traceparent/tracestate headers
304
+ * @param attributes - Optional attributes for the link
305
+ * @returns Link object if context could be extracted, null otherwise
306
+ *
307
+ * @example
308
+ * ```typescript
309
+ * // In a Kafka consumer
310
+ * const headers = { traceparent: '00-abc123...-def456...-01' };
311
+ * const link = createLinkFromHeaders(headers);
312
+ * if (link) {
313
+ * // Use with tracer.startActiveSpan options or ctx.addLink()
314
+ * tracer.startActiveSpan('process.message', { links: [link] }, span => { ... });
315
+ * }
316
+ * ```
317
+ */
318
+ declare function createLinkFromHeaders(headers: Record<string, string>, attributes?: Attributes): Link | null;
319
+ /**
320
+ * Extract Links from a batch of messages for fan-in scenarios.
321
+ *
322
+ * Useful for batch processing where multiple producer spans should be linked.
323
+ * This enables tracing causality in event-driven architectures where a single
324
+ * consumer processes messages from multiple producers.
325
+ *
326
+ * @param messages - List of message objects
327
+ * @param headersKey - Key in each message containing trace headers (default: 'headers')
328
+ * @returns List of Link objects for all valid trace contexts
329
+ *
330
+ * @example
331
+ * ```typescript
332
+ * // Processing a batch of SQS/Kafka messages
333
+ * const messages = [
334
+ * { body: '...', headers: { traceparent: '...' } },
335
+ * { body: '...', headers: { traceparent: '...' } },
336
+ * ];
337
+ * const links = extractLinksFromBatch(messages);
338
+ *
339
+ * tracer.startActiveSpan('process.batch', { links }, span => {
340
+ * for (const msg of messages) {
341
+ * processMessage(msg);
342
+ * }
343
+ * });
344
+ * ```
345
+ */
346
+ declare function extractLinksFromBatch(messages: Array<{
347
+ [key: string]: unknown;
348
+ }>, headersKey?: string): Link[];
349
+ //#endregion
350
+ export { samplingPresets as _, CompositeSampler as a, OperationResult as c, SamplingContext as d, SamplingPreset as f, resolveSamplingPreset as g, extractLinksFromBatch as h, AlwaysSampler as i, RandomSampler as l, createLinkFromHeaders as m, AUTOTEL_SAMPLING_TAIL_KEEP as n, FeatureFlagSampler as o, UserIdSampler as p, AdaptiveSampler as r, NeverSampler as s, AUTOTEL_SAMPLING_TAIL_EVALUATED as t, Sampler as u };
351
+ //# sourceMappingURL=sampling-CR0Va1VB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampling-CR0Va1VB.d.ts","names":[],"sources":["../src/sampling.ts"],"mappings":";;;;;;;cA+Ba,0BAAA;AAAA,cACA,+BAAA;;;AA+BuD;UAzBnD,OAAA;EA+Be;;;;;;EAxB9B,YAAA,CAAa,OAAA,EAAS,eAAA;EAgCtB;;;AAAY;AAMd;;EA9BE,iBAAA;EAoCa;;;;;;AAAA;AAWf;EArCE,eAAA,EAAiB,OAAA,EAAS,eAAA,EAAiB,MAAA,EAAQ,eAAA;AAAA;;;;UAMpC,eAAA;EAgCc;EA9B7B,aAAA;EAqCuB;EAnCvB,IAAA;EAmCsC;EAjCtC,QAAA,GAAW,MAAA;EAyCA;EAvCX,KAAA,GAAQ,IAAI;AAAA;;;;UAMG,eAAA;EAmCF;EAjCb,OAAA;EAiCsC;EA/BtC,QAAA;EAuCwB;EArCxB,KAAA,GAAQ,KAAK;AAAA;;;;;;AAuCyB;AAsCxC;;cAlEa,aAAA,YAAyB,OAAO;EAAA,iBACd,UAAA;cAAA,UAAA;EAO7B,YAAA,CAAa,QAAA,EAAU,eAAA;AAAA;;;;cAQZ,aAAA,YAAyB,OAAO;EAE3C,YAAA,CAAa,QAAA,EAAU,eAAA;AAAA;;;;cAQZ,YAAA,YAAwB,OAAO;EAE1C,YAAA,CAAa,QAAA,EAAU,eAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA8H0C;AAuEnE;;;;;;;cA/Ja,eAAA,YAA2B,OAAA;EAAA,QAC9B,kBAAA;EAAA,QACA,eAAA;EAAA,QACA,kBAAA;EAAA,QACA,gBAAA;EAAA,QACA,UAAA;EAAA,QACA,SAAA;EAAA,QACA,MAAA;EAAA,iBAGS,iBAAA;EAAA,iBAEA,gBAAA;cAGf,OAAA;IACE,kBAAA;IACA,eAAA;IACA,kBAAA;IACA,gBAAA,YA8JkB;IA5JlB,UAAA,YAwLJ;IAtLI,SAAA;IACA,MAAA,GAAS,MAAA;EAAA;EAmBb,iBAAA;EAKA,YAAA,CAAa,OAAA,EAAS,eAAA;EA+KJ;AAwBpB;;;;;;;;EAnLE,cAAA,CAAe,KAAA,EAAO,IAAA;EAoLO;;;;;;;;AAMQ;AAoBvC;EA1LE,eAAA,CAAgB,OAAA,EAAS,eAAA,EAAiB,MAAA,EAAQ,eAAA;AAAA;;;;;;;;;;;;;;;;cAuEvC,aAAA,YAAyB,OAAA;EAAA,QAC5B,kBAAA;EAAA,QACA,iBAAA;EAAA,QACA,aAAA;EAAA,QACA,MAAA;cAEI,OAAA;IACV,kBAAA;IACA,iBAAA;IACA,aAAA,GAAgB,IAAA;IAChB,MAAA,GAAS,MAAA;EAAA;EAQX,YAAA,CAAa,OAAA,EAAS,eAAA;EAwJK;;AAAK;EA5HhC,oBAAA,IAAwB,OAAA;EA2IA;;;EAlIxB,uBAAA,IAA2B,OAAA;EAqJhB;;;EAAA,QA5IH,UAAA;AAAA;;;;;;;;;;;;;;cAwBG,gBAAA,YAA4B,OAAA;EAAA,iBACV,QAAA;cAAA,QAAA,EAAU,OAAA;EAMvC,YAAA,CAAa,OAAA,EAAS,eAAA;AAAA;;AAoJxB;;;;;;;;AAAsE;AA0CtE;;;;;cA1Ka,kBAAA,YAA8B,OAAA;EAAA,QACjC,kBAAA;EAAA,QACA,iBAAA;EAAA,QACA,YAAA;EAAA,QAIA,MAAA;cAEI,OAAA;IACV,kBAAA;IACA,iBAAA;IACA,YAAA,GACE,IAAA,aACA,QAAA,GAAW,MAAA;IAEb,MAAA,GAAS,MAAA;EAAA;EAQX,YAAA,CAAa,OAAA,EAAS,eAAA;;;;EAsBtB,oBAAA,IAAwB,KAAA;EA8KxB;;;EArKA,uBAAA,IAA2B,KAAA;AAAA;;;;;KAejB,cAAA;;;;;;;;;;;;;;cAmBC,eAAA;;;;;;;;IAgBT,kBAAA;IACA,eAAA;IACA,kBAAA;IACA,gBAAA;EAAA,MACD,eAAA;;;;;;;;;iBAmBa,qBAAA,CAAsB,MAAA,EAAQ,cAAA,GAAiB,OAAO;;;;;;;;;;;;;;;;;;;;;;iBA0CtD,qBAAA,CACd,OAAA,EAAS,MAAA,kBACT,UAAA,GAAa,UAAA,GACZ,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8Ca,qBAAA,CACd,QAAA,EAAU,KAAA;EAAA,CAAS,GAAA;AAAA,IACnB,UAAA,YACC,IAAI"}
@@ -0,0 +1,351 @@
1
+ import { s as Logger } from "./logger-BauSUhUv.cjs";
2
+ import { Attributes, Link } from "@opentelemetry/api";
3
+
4
+ //#region src/sampling.d.ts
5
+ /**
6
+ * Tail sampling attribute keys (autotel-internal, not OTel semconv)
7
+ */
8
+ declare const AUTOTEL_SAMPLING_TAIL_KEEP = "autotel.sampling.tail.keep";
9
+ declare const AUTOTEL_SAMPLING_TAIL_EVALUATED = "autotel.sampling.tail.evaluated";
10
+ /**
11
+ * Sampler interface - return true to trace, false to skip
12
+ */
13
+ interface Sampler {
14
+ /**
15
+ * Decide whether to trace this operation
16
+ *
17
+ * @param context - Sampling context
18
+ * @returns true to trace, false to skip
19
+ */
20
+ shouldSample(context: SamplingContext): boolean;
21
+ /**
22
+ * Whether this sampler needs tail sampling (post-execution decision)
23
+ * If true, spans are always created and shouldKeepTrace() is called after execution
24
+ *
25
+ * @returns true if this sampler needs to evaluate after operation completes
26
+ */
27
+ needsTailSampling?(): boolean;
28
+ /**
29
+ * Re-evaluate sampling decision after operation completes (tail sampling)
30
+ * Only called if needsTailSampling() returns true
31
+ *
32
+ * @param context - Sampling context
33
+ * @param result - Operation result
34
+ * @returns true if this trace should be kept, false to drop it
35
+ */
36
+ shouldKeepTrace?(context: SamplingContext, result: OperationResult): boolean;
37
+ }
38
+ /**
39
+ * Context information for sampling decisions
40
+ */
41
+ interface SamplingContext {
42
+ /** Operation name */
43
+ operationName: string;
44
+ /** Method arguments (for extracting user IDs, etc.) */
45
+ args: unknown[];
46
+ /** Optional metadata (e.g., feature flags, request headers) */
47
+ metadata?: Record<string, unknown>;
48
+ /** Optional span links for links-based sampling */
49
+ links?: Link[];
50
+ }
51
+ /**
52
+ * Result of a trace operation (for post-execution sampling)
53
+ */
54
+ interface OperationResult {
55
+ /** Whether the operation succeeded */
56
+ success: boolean;
57
+ /** Duration in milliseconds */
58
+ duration: number;
59
+ /** Error if operation failed */
60
+ error?: Error;
61
+ }
62
+ /**
63
+ * Simple random sampler
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * new RandomSampler(0.1) // Sample 10% of requests
68
+ * ```
69
+ */
70
+ declare class RandomSampler implements Sampler {
71
+ private readonly sampleRate;
72
+ constructor(sampleRate: number);
73
+ shouldSample(_context: SamplingContext): boolean;
74
+ }
75
+ /**
76
+ * Always sample (100% tracing)
77
+ */
78
+ declare class AlwaysSampler implements Sampler {
79
+ shouldSample(_context: SamplingContext): boolean;
80
+ }
81
+ /**
82
+ * Never sample (0% tracing)
83
+ */
84
+ declare class NeverSampler implements Sampler {
85
+ shouldSample(_context: SamplingContext): boolean;
86
+ }
87
+ /**
88
+ * Adaptive sampler that always traces errors and slow requests
89
+ *
90
+ * This is the recommended sampler for production use.
91
+ * It ensures you never miss critical issues while keeping costs down.
92
+ *
93
+ * Strategy:
94
+ * - Always trace errors (critical for debugging)
95
+ * - Always trace slow requests (performance issues)
96
+ * - Use baseline sample rate for successful fast requests
97
+ *
98
+ * **IMPORTANT - Tail Sampling Requirement:**
99
+ * This sampler uses tail sampling (makes decisions AFTER execution).
100
+ * You MUST use TailSamplingSpanProcessor for it to work correctly:
101
+ *
102
+ * - If using initInstrumentation(): TailSamplingSpanProcessor is auto-configured
103
+ * - If using custom TracerProvider: You MUST manually register TailSamplingSpanProcessor
104
+ *
105
+ * Without TailSamplingSpanProcessor, ALL spans are exported (defeating the cost savings).
106
+ *
107
+ * @see TailSamplingSpanProcessor
108
+ * @see README.md "Tail Sampling with Custom Providers" section
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * new AdaptiveSampler({
113
+ * baselineSampleRate: 0.1, // 10% of normal requests
114
+ * slowThresholdMs: 1000, // Requests > 1s are "slow"
115
+ * alwaysSampleErrors: true, // Always trace errors
116
+ * alwaysSampleSlow: true // Always trace slow requests
117
+ * })
118
+ * ```
119
+ */
120
+ declare class AdaptiveSampler implements Sampler {
121
+ private baselineSampleRate;
122
+ private slowThresholdMs;
123
+ private alwaysSampleErrors;
124
+ private alwaysSampleSlow;
125
+ private linksBased;
126
+ private linksRate;
127
+ private logger?;
128
+ private readonly samplingDecisions;
129
+ private readonly operationResults;
130
+ constructor(options?: {
131
+ baselineSampleRate?: number;
132
+ slowThresholdMs?: number;
133
+ alwaysSampleErrors?: boolean;
134
+ alwaysSampleSlow?: boolean; /** Enable links-based sampling for event-driven architectures */
135
+ linksBased?: boolean; /** Sampling rate for spans linked to sampled spans (0.0-1.0) */
136
+ linksRate?: number;
137
+ logger?: Logger;
138
+ });
139
+ needsTailSampling(): boolean;
140
+ shouldSample(context: SamplingContext): boolean;
141
+ /**
142
+ * Check if any links point to sampled spans.
143
+ *
144
+ * A span is considered linked to a sampled span if any of its links
145
+ * have trace_flags with the sampled bit set (0x01).
146
+ *
147
+ * @param links - Array of span links to check
148
+ * @returns true if any linked span is sampled, false otherwise
149
+ */
150
+ hasSampledLink(links: Link[]): boolean;
151
+ /**
152
+ * Re-evaluate sampling decision after operation completes
153
+ *
154
+ * This allows us to always capture errors and slow requests,
155
+ * even if they weren't initially sampled.
156
+ *
157
+ * @param context - Sampling context
158
+ * @param result - Operation result
159
+ * @returns true if this operation should be kept (not discarded)
160
+ */
161
+ shouldKeepTrace(context: SamplingContext, result: OperationResult): boolean;
162
+ }
163
+ /**
164
+ * User-based sampler for consistent tracing
165
+ *
166
+ * Always samples requests from specific user IDs.
167
+ * Useful for debugging specific user issues or monitoring VIP users.
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * new UserIdSampler({
172
+ * baselineSampleRate: 0.01, // 1% of normal users
173
+ * alwaysSampleUsers: ['vip_123'], // Always trace VIP users
174
+ * extractUserId: (args) => args[0]?.userId // Extract user ID from first arg
175
+ * })
176
+ * ```
177
+ */
178
+ declare class UserIdSampler implements Sampler {
179
+ private baselineSampleRate;
180
+ private alwaysSampleUsers;
181
+ private extractUserId;
182
+ private logger?;
183
+ constructor(options: {
184
+ baselineSampleRate?: number;
185
+ alwaysSampleUsers?: string[];
186
+ extractUserId: (args: unknown[]) => string | undefined;
187
+ logger?: Logger;
188
+ });
189
+ shouldSample(context: SamplingContext): boolean;
190
+ /**
191
+ * Add user IDs to always-sample list
192
+ */
193
+ addAlwaysSampleUsers(...userIds: string[]): void;
194
+ /**
195
+ * Remove user IDs from always-sample list
196
+ */
197
+ removeAlwaysSampleUsers(...userIds: string[]): void;
198
+ /**
199
+ * Simple hash function for consistent user sampling
200
+ */
201
+ private hashString;
202
+ }
203
+ /**
204
+ * Composite sampler that combines multiple samplers
205
+ *
206
+ * Samples if ANY of the child samplers returns true.
207
+ *
208
+ * @example
209
+ * ```typescript
210
+ * new CompositeSampler([
211
+ * new UserIdSampler({ extractUserId: (args) => args[0]?.userId }),
212
+ * new AdaptiveSampler({ baselineSampleRate: 0.1 })
213
+ * ])
214
+ * ```
215
+ */
216
+ declare class CompositeSampler implements Sampler {
217
+ private readonly samplers;
218
+ constructor(samplers: Sampler[]);
219
+ shouldSample(context: SamplingContext): boolean;
220
+ }
221
+ /**
222
+ * Feature flag sampler
223
+ *
224
+ * Always samples requests with specific feature flags enabled.
225
+ * Perfect for correlating A/B test experiments with metrics.
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * new FeatureFlagSampler({
230
+ * baselineSampleRate: 0.01,
231
+ * alwaysSampleFlags: ['new_checkout', 'experimental_ui'],
232
+ * extractFlags: (args, metadata) => metadata?.featureFlags
233
+ * })
234
+ * ```
235
+ */
236
+ declare class FeatureFlagSampler implements Sampler {
237
+ private baselineSampleRate;
238
+ private alwaysSampleFlags;
239
+ private extractFlags;
240
+ private logger?;
241
+ constructor(options: {
242
+ baselineSampleRate?: number;
243
+ alwaysSampleFlags?: string[];
244
+ extractFlags: (args: unknown[], metadata?: Record<string, unknown>) => string[] | undefined;
245
+ logger?: Logger;
246
+ });
247
+ shouldSample(context: SamplingContext): boolean;
248
+ /**
249
+ * Add feature flags to always-sample list
250
+ */
251
+ addAlwaysSampleFlags(...flags: string[]): void;
252
+ /**
253
+ * Remove feature flags from always-sample list
254
+ */
255
+ removeAlwaysSampleFlags(...flags: string[]): void;
256
+ }
257
+ /**
258
+ * Named sampling presets for common environments.
259
+ * Use with `init({ sampling: 'production' })` or directly via factories.
260
+ */
261
+ type SamplingPreset = 'development' | 'errors-only' | 'production' | 'off';
262
+ /**
263
+ * Sampling preset factories.
264
+ *
265
+ * For most users, the string shorthand on `init()` is simpler:
266
+ * ```typescript
267
+ * init({ service: 'my-app', sampling: 'production' })
268
+ * ```
269
+ *
270
+ * Use factories when you need to customize:
271
+ * ```typescript
272
+ * init({ service: 'my-app', sampler: samplingPresets.production({ baselineSampleRate: 0.05 }) })
273
+ * ```
274
+ */
275
+ declare const samplingPresets: {
276
+ /** Capture everything — best for local development and debugging */development: () => AlwaysSampler; /** Only bad outcomes — zero baseline, errors always kept */
277
+ errorsOnly: () => AdaptiveSampler;
278
+ /**
279
+ * Balanced production defaults — 10% baseline + errors + slow traces.
280
+ * Pass overrides to tune (uses the same option names as AdaptiveSampler).
281
+ */
282
+ production: (overrides?: {
283
+ baselineSampleRate?: number;
284
+ slowThresholdMs?: number;
285
+ alwaysSampleErrors?: boolean;
286
+ alwaysSampleSlow?: boolean;
287
+ }) => AdaptiveSampler; /** Disable sampling entirely */
288
+ off: () => NeverSampler;
289
+ };
290
+ /**
291
+ * Resolve a preset string to a Sampler instance.
292
+ * Used internally by `init()` when `sampling` string is provided.
293
+ *
294
+ * @throws Error if preset is not recognized
295
+ */
296
+ declare function resolveSamplingPreset(preset: SamplingPreset): Sampler;
297
+ /**
298
+ * Create a Link from W3C trace context headers (e.g., from a message queue).
299
+ *
300
+ * This is useful for message consumers that need to link to the producer span.
301
+ * The headers should contain at least a `traceparent` header in W3C format.
302
+ *
303
+ * @param headers - Dictionary containing traceparent/tracestate headers
304
+ * @param attributes - Optional attributes for the link
305
+ * @returns Link object if context could be extracted, null otherwise
306
+ *
307
+ * @example
308
+ * ```typescript
309
+ * // In a Kafka consumer
310
+ * const headers = { traceparent: '00-abc123...-def456...-01' };
311
+ * const link = createLinkFromHeaders(headers);
312
+ * if (link) {
313
+ * // Use with tracer.startActiveSpan options or ctx.addLink()
314
+ * tracer.startActiveSpan('process.message', { links: [link] }, span => { ... });
315
+ * }
316
+ * ```
317
+ */
318
+ declare function createLinkFromHeaders(headers: Record<string, string>, attributes?: Attributes): Link | null;
319
+ /**
320
+ * Extract Links from a batch of messages for fan-in scenarios.
321
+ *
322
+ * Useful for batch processing where multiple producer spans should be linked.
323
+ * This enables tracing causality in event-driven architectures where a single
324
+ * consumer processes messages from multiple producers.
325
+ *
326
+ * @param messages - List of message objects
327
+ * @param headersKey - Key in each message containing trace headers (default: 'headers')
328
+ * @returns List of Link objects for all valid trace contexts
329
+ *
330
+ * @example
331
+ * ```typescript
332
+ * // Processing a batch of SQS/Kafka messages
333
+ * const messages = [
334
+ * { body: '...', headers: { traceparent: '...' } },
335
+ * { body: '...', headers: { traceparent: '...' } },
336
+ * ];
337
+ * const links = extractLinksFromBatch(messages);
338
+ *
339
+ * tracer.startActiveSpan('process.batch', { links }, span => {
340
+ * for (const msg of messages) {
341
+ * processMessage(msg);
342
+ * }
343
+ * });
344
+ * ```
345
+ */
346
+ declare function extractLinksFromBatch(messages: Array<{
347
+ [key: string]: unknown;
348
+ }>, headersKey?: string): Link[];
349
+ //#endregion
350
+ export { samplingPresets as _, CompositeSampler as a, OperationResult as c, SamplingContext as d, SamplingPreset as f, resolveSamplingPreset as g, extractLinksFromBatch as h, AlwaysSampler as i, RandomSampler as l, createLinkFromHeaders as m, AUTOTEL_SAMPLING_TAIL_KEEP as n, FeatureFlagSampler as o, UserIdSampler as p, AdaptiveSampler as r, NeverSampler as s, AUTOTEL_SAMPLING_TAIL_EVALUATED as t, Sampler as u };
351
+ //# sourceMappingURL=sampling-DfYhDJij.d.cts.map