autotel 3.6.0 → 4.0.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 (617) 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-CmYpdqCN.js +591 -0
  12. package/dist/attributes-CmYpdqCN.js.map +1 -0
  13. package/dist/attributes-PZ5doLgw.cjs +704 -0
  14. package/dist/attributes-PZ5doLgw.cjs.map +1 -0
  15. package/dist/attributes.cjs +21 -85
  16. package/dist/attributes.d.cts +2 -20
  17. package/dist/attributes.d.ts +2 -20
  18. package/dist/attributes.js +3 -5
  19. package/dist/auto.cjs +50 -28
  20. package/dist/auto.cjs.map +1 -1
  21. package/dist/auto.d.cts +1 -2
  22. package/dist/auto.d.ts +1 -2
  23. package/dist/auto.js +49 -23
  24. package/dist/auto.js.map +1 -1
  25. package/dist/business-baggage.cjs +357 -13
  26. package/dist/business-baggage.cjs.map +1 -1
  27. package/dist/business-baggage.d.cts +106 -139
  28. package/dist/business-baggage.d.cts.map +1 -0
  29. package/dist/business-baggage.d.ts +106 -139
  30. package/dist/business-baggage.d.ts.map +1 -0
  31. package/dist/business-baggage.js +357 -2
  32. package/dist/business-baggage.js.map +1 -1
  33. package/dist/canonical-log-line-processor--RlFDHhm.cjs +377 -0
  34. package/dist/canonical-log-line-processor--RlFDHhm.cjs.map +1 -0
  35. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts +147 -0
  36. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts.map +1 -0
  37. package/dist/canonical-log-line-processor-DbBQT5vY.js +366 -0
  38. package/dist/canonical-log-line-processor-DbBQT5vY.js.map +1 -0
  39. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts +147 -0
  40. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts.map +1 -0
  41. package/dist/config.cjs +118 -22
  42. package/dist/config.cjs.map +1 -1
  43. package/dist/config.d.cts +33 -45
  44. package/dist/config.d.cts.map +1 -0
  45. package/dist/config.d.ts +33 -45
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +116 -3
  48. package/dist/config.js.map +1 -1
  49. package/dist/correlated-events-Bzh5y-UB.js +28 -0
  50. package/dist/correlated-events-Bzh5y-UB.js.map +1 -0
  51. package/dist/correlated-events-kSwLo3mi.cjs +34 -0
  52. package/dist/correlated-events-kSwLo3mi.cjs.map +1 -0
  53. package/dist/correlation-id.cjs +11 -54
  54. package/dist/correlation-id.d.cts +6 -5
  55. package/dist/correlation-id.d.cts.map +1 -0
  56. package/dist/correlation-id.d.ts +6 -5
  57. package/dist/correlation-id.d.ts.map +1 -0
  58. package/dist/correlation-id.js +3 -17
  59. package/dist/db.cjs +244 -209
  60. package/dist/db.cjs.map +1 -1
  61. package/dist/db.d.cts +28 -26
  62. package/dist/db.d.cts.map +1 -0
  63. package/dist/db.d.ts +28 -26
  64. package/dist/db.d.ts.map +1 -0
  65. package/dist/db.js +243 -207
  66. package/dist/db.js.map +1 -1
  67. package/dist/decorators.cjs +39 -66
  68. package/dist/decorators.cjs.map +1 -1
  69. package/dist/decorators.d.cts +10 -37
  70. package/dist/decorators.d.cts.map +1 -0
  71. package/dist/decorators.d.ts +10 -37
  72. package/dist/decorators.d.ts.map +1 -0
  73. package/dist/decorators.js +38 -64
  74. package/dist/decorators.js.map +1 -1
  75. package/dist/define-event-CreknLm3.d.ts +25 -0
  76. package/dist/define-event-CreknLm3.d.ts.map +1 -0
  77. package/dist/define-event-HZRizPwz.d.cts +25 -0
  78. package/dist/define-event-HZRizPwz.d.cts.map +1 -0
  79. package/dist/drain-pipeline.cjs +111 -9
  80. package/dist/drain-pipeline.cjs.map +1 -1
  81. package/dist/drain-pipeline.d.cts +27 -32
  82. package/dist/drain-pipeline.d.cts.map +1 -0
  83. package/dist/drain-pipeline.d.ts +27 -32
  84. package/dist/drain-pipeline.d.ts.map +1 -0
  85. package/dist/drain-pipeline.js +111 -2
  86. package/dist/drain-pipeline.js.map +1 -1
  87. package/dist/enrichers.cjs +59 -66
  88. package/dist/enrichers.cjs.map +1 -1
  89. package/dist/enrichers.d.cts +15 -13
  90. package/dist/enrichers.d.cts.map +1 -0
  91. package/dist/enrichers.d.ts +15 -13
  92. package/dist/enrichers.d.ts.map +1 -0
  93. package/dist/enrichers.js +58 -65
  94. package/dist/enrichers.js.map +1 -1
  95. package/dist/event-Dlqr4ZNL.cjs +778 -0
  96. package/dist/event-Dlqr4ZNL.cjs.map +1 -0
  97. package/dist/event-_58ryBjh.js +761 -0
  98. package/dist/event-_58ryBjh.js.map +1 -0
  99. package/dist/event-subscriber-D1XLkPzi.d.cts +223 -0
  100. package/dist/event-subscriber-D1XLkPzi.d.cts.map +1 -0
  101. package/dist/event-subscriber-D1XLkPzi.d.ts +223 -0
  102. package/dist/event-subscriber-D1XLkPzi.d.ts.map +1 -0
  103. package/dist/event-subscriber.cjs +0 -6
  104. package/dist/event-subscriber.d.cts +2 -221
  105. package/dist/event-subscriber.d.ts +2 -221
  106. package/dist/event-subscriber.js +1 -3
  107. package/dist/event-testing-BqRnI0z4.d.cts +106 -0
  108. package/dist/event-testing-BqRnI0z4.d.cts.map +1 -0
  109. package/dist/event-testing-CfFs3to2.d.ts +106 -0
  110. package/dist/event-testing-CfFs3to2.d.ts.map +1 -0
  111. package/dist/event-testing.cjs +93 -17
  112. package/dist/event-testing.cjs.map +1 -1
  113. package/dist/event-testing.d.cts +2 -110
  114. package/dist/event-testing.d.ts +2 -110
  115. package/dist/event-testing.js +91 -2
  116. package/dist/event-testing.js.map +1 -1
  117. package/dist/event.cjs +5 -37
  118. package/dist/event.d.cts +295 -340
  119. package/dist/event.d.cts.map +1 -0
  120. package/dist/event.d.ts +295 -340
  121. package/dist/event.d.ts.map +1 -0
  122. package/dist/event.js +3 -21
  123. package/dist/exporters.cjs +12 -16
  124. package/dist/exporters.d.cts +86 -111
  125. package/dist/exporters.d.cts.map +1 -0
  126. package/dist/exporters.d.ts +86 -111
  127. package/dist/exporters.d.ts.map +1 -0
  128. package/dist/exporters.js +4 -4
  129. package/dist/filtering-span-processor-B8R8B7Uk.d.cts +59 -0
  130. package/dist/filtering-span-processor-B8R8B7Uk.d.cts.map +1 -0
  131. package/dist/filtering-span-processor-B8R8B7Uk.d.ts +59 -0
  132. package/dist/filtering-span-processor-B8R8B7Uk.d.ts.map +1 -0
  133. package/dist/filtering-span-processor.cjs +49 -9
  134. package/dist/filtering-span-processor.cjs.map +1 -1
  135. package/dist/filtering-span-processor.d.cts +2 -80
  136. package/dist/filtering-span-processor.d.ts +2 -80
  137. package/dist/filtering-span-processor.js +49 -2
  138. package/dist/filtering-span-processor.js.map +1 -1
  139. package/dist/functional-BGkT8J-h.js +1265 -0
  140. package/dist/functional-BGkT8J-h.js.map +1 -0
  141. package/dist/functional-C4CzoVrX.cjs +1312 -0
  142. package/dist/functional-C4CzoVrX.cjs.map +1 -0
  143. package/dist/functional.cjs +11 -57
  144. package/dist/functional.d.cts +96 -97
  145. package/dist/functional.d.cts.map +1 -0
  146. package/dist/functional.d.ts +96 -97
  147. package/dist/functional.d.ts.map +1 -0
  148. package/dist/functional.js +3 -20
  149. package/dist/http.cjs +276 -176
  150. package/dist/http.cjs.map +1 -1
  151. package/dist/http.d.cts +17 -37
  152. package/dist/http.d.cts.map +1 -0
  153. package/dist/http.d.ts +17 -37
  154. package/dist/http.d.ts.map +1 -0
  155. package/dist/http.js +275 -174
  156. package/dist/http.js.map +1 -1
  157. package/dist/index-Ck06vlW2.d.ts +678 -0
  158. package/dist/index-Ck06vlW2.d.ts.map +1 -0
  159. package/dist/index-eKuioqT1.d.cts +678 -0
  160. package/dist/index-eKuioqT1.d.cts.map +1 -0
  161. package/dist/index.cjs +751 -1218
  162. package/dist/index.cjs.map +1 -1
  163. package/dist/index.d.cts +341 -659
  164. package/dist/index.d.cts.map +1 -0
  165. package/dist/index.d.ts +341 -659
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +606 -737
  168. package/dist/index.js.map +1 -1
  169. package/dist/init-CNp-ee80.d.cts +1157 -0
  170. package/dist/init-CNp-ee80.d.cts.map +1 -0
  171. package/dist/init-Ch6t7MNI.js +1015 -0
  172. package/dist/init-Ch6t7MNI.js.map +1 -0
  173. package/dist/init-DJQOdVlN.d.ts +1157 -0
  174. package/dist/init-DJQOdVlN.d.ts.map +1 -0
  175. package/dist/init-DvapOXCc.cjs +1092 -0
  176. package/dist/init-DvapOXCc.cjs.map +1 -0
  177. package/dist/instrumentation.cjs +159 -185
  178. package/dist/instrumentation.cjs.map +1 -1
  179. package/dist/instrumentation.d.cts +42 -40
  180. package/dist/instrumentation.d.cts.map +1 -0
  181. package/dist/instrumentation.d.ts +42 -40
  182. package/dist/instrumentation.d.ts.map +1 -0
  183. package/dist/instrumentation.js +158 -183
  184. package/dist/instrumentation.js.map +1 -1
  185. package/dist/logger-BauSUhUv.d.cts +313 -0
  186. package/dist/logger-BauSUhUv.d.cts.map +1 -0
  187. package/dist/logger-BauSUhUv.d.ts +313 -0
  188. package/dist/logger-BauSUhUv.d.ts.map +1 -0
  189. package/dist/logger.cjs +225 -25
  190. package/dist/logger.cjs.map +1 -1
  191. package/dist/logger.d.cts +2 -348
  192. package/dist/logger.d.ts +2 -348
  193. package/dist/logger.js +204 -4
  194. package/dist/logger.js.map +1 -1
  195. package/dist/messaging-adapters.cjs +292 -187
  196. package/dist/messaging-adapters.cjs.map +1 -1
  197. package/dist/messaging-adapters.d.cts +28 -66
  198. package/dist/messaging-adapters.d.cts.map +1 -0
  199. package/dist/messaging-adapters.d.ts +28 -66
  200. package/dist/messaging-adapters.d.ts.map +1 -0
  201. package/dist/messaging-adapters.js +291 -185
  202. package/dist/messaging-adapters.js.map +1 -1
  203. package/dist/messaging-testing.cjs +306 -372
  204. package/dist/messaging-testing.cjs.map +1 -1
  205. package/dist/messaging-testing.d.cts +194 -223
  206. package/dist/messaging-testing.d.cts.map +1 -0
  207. package/dist/messaging-testing.d.ts +194 -223
  208. package/dist/messaging-testing.d.ts.map +1 -0
  209. package/dist/messaging-testing.js +305 -371
  210. package/dist/messaging-testing.js.map +1 -1
  211. package/dist/messaging.cjs +757 -36
  212. package/dist/messaging.cjs.map +1 -1
  213. package/dist/messaging.d.cts +603 -644
  214. package/dist/messaging.d.cts.map +1 -0
  215. package/dist/messaging.d.ts +603 -644
  216. package/dist/messaging.d.ts.map +1 -0
  217. package/dist/messaging.js +756 -21
  218. package/dist/messaging.js.map +1 -1
  219. package/dist/metric-helpers.cjs +27 -27
  220. package/dist/metric-helpers.cjs.map +1 -1
  221. package/dist/metric-helpers.d.cts +4 -2
  222. package/dist/metric-helpers.d.cts.map +1 -0
  223. package/dist/metric-helpers.d.ts +4 -2
  224. package/dist/metric-helpers.d.ts.map +1 -0
  225. package/dist/metric-helpers.js +24 -4
  226. package/dist/metric-helpers.js.map +1 -1
  227. package/dist/metric-testing-DXdK3-Q3.d.ts +106 -0
  228. package/dist/metric-testing-DXdK3-Q3.d.ts.map +1 -0
  229. package/dist/metric-testing-MxvzChDp.d.cts +106 -0
  230. package/dist/metric-testing-MxvzChDp.d.cts.map +1 -0
  231. package/dist/metric-testing.cjs +93 -17
  232. package/dist/metric-testing.cjs.map +1 -1
  233. package/dist/metric-testing.d.cts +2 -110
  234. package/dist/metric-testing.d.ts +2 -110
  235. package/dist/metric-testing.js +91 -2
  236. package/dist/metric-testing.js.map +1 -1
  237. package/dist/metric.cjs +306 -22
  238. package/dist/metric.cjs.map +1 -1
  239. package/dist/metric.d.cts +170 -198
  240. package/dist/metric.d.cts.map +1 -0
  241. package/dist/metric.d.ts +170 -198
  242. package/dist/metric.d.ts.map +1 -0
  243. package/dist/metric.js +277 -7
  244. package/dist/metric.js.map +1 -1
  245. package/dist/node-require-DF5QBX6z.cjs +99 -0
  246. package/dist/node-require-DF5QBX6z.cjs.map +1 -0
  247. package/dist/node-require-Db1oDpLj.js +88 -0
  248. package/dist/node-require-Db1oDpLj.js.map +1 -0
  249. package/dist/operation-context-C-2hmmtP.js +59 -0
  250. package/dist/operation-context-C-2hmmtP.js.map +1 -0
  251. package/dist/operation-context-n4_obUwq.cjs +70 -0
  252. package/dist/operation-context-n4_obUwq.cjs.map +1 -0
  253. package/dist/parse-error.cjs +55 -9
  254. package/dist/parse-error.cjs.map +1 -1
  255. package/dist/parse-error.d.cts +12 -10
  256. package/dist/parse-error.d.cts.map +1 -0
  257. package/dist/parse-error.d.ts +12 -10
  258. package/dist/parse-error.d.ts.map +1 -0
  259. package/dist/parse-error.js +55 -2
  260. package/dist/parse-error.js.map +1 -1
  261. package/dist/pretty-console-exporter-CMzlrRNg.cjs +232 -0
  262. package/dist/pretty-console-exporter-CMzlrRNg.cjs.map +1 -0
  263. package/dist/pretty-console-exporter-DqKl_q9z.js +227 -0
  264. package/dist/pretty-console-exporter-DqKl_q9z.js.map +1 -0
  265. package/dist/processors.cjs +13 -17
  266. package/dist/processors.d.cts +3 -171
  267. package/dist/processors.d.ts +3 -171
  268. package/dist/processors.js +4 -4
  269. package/dist/register.cjs +35 -6
  270. package/dist/register.cjs.map +1 -1
  271. package/dist/register.d.cts +1 -2
  272. package/dist/register.d.ts +1 -2
  273. package/dist/register.js +36 -3
  274. package/dist/register.js.map +1 -1
  275. package/dist/registry-DVSmWg6Y.js +175 -0
  276. package/dist/registry-DVSmWg6Y.js.map +1 -0
  277. package/dist/registry-DYgvb62e.cjs +319 -0
  278. package/dist/registry-DYgvb62e.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 +327 -39
  308. package/dist/semantic-helpers.cjs.map +1 -1
  309. package/dist/semantic-helpers.d.cts +30 -150
  310. package/dist/semantic-helpers.d.cts.map +1 -0
  311. package/dist/semantic-helpers.d.ts +30 -150
  312. package/dist/semantic-helpers.d.ts.map +1 -0
  313. package/dist/semantic-helpers.js +326 -20
  314. package/dist/semantic-helpers.js.map +1 -1
  315. package/dist/span-name-normalizer-8ZOGJuwv.d.cts +70 -0
  316. package/dist/span-name-normalizer-8ZOGJuwv.d.cts.map +1 -0
  317. package/dist/span-name-normalizer-8ZOGJuwv.d.ts +70 -0
  318. package/dist/span-name-normalizer-8ZOGJuwv.d.ts.map +1 -0
  319. package/dist/span-name-normalizer.cjs +95 -17
  320. package/dist/span-name-normalizer.cjs.map +1 -1
  321. package/dist/span-name-normalizer.d.cts +2 -94
  322. package/dist/span-name-normalizer.d.ts +2 -94
  323. package/dist/span-name-normalizer.js +93 -2
  324. package/dist/span-name-normalizer.js.map +1 -1
  325. package/dist/stable-hash-BNTMrmdB.cjs +28 -0
  326. package/dist/stable-hash-BNTMrmdB.cjs.map +1 -0
  327. package/dist/stable-hash-Cg5cT34Q.js +23 -0
  328. package/dist/stable-hash-Cg5cT34Q.js.map +1 -0
  329. package/dist/structured-error-9--cxBay.js +143 -0
  330. package/dist/structured-error-9--cxBay.js.map +1 -0
  331. package/dist/structured-error-CHg7DoIQ.cjs +178 -0
  332. package/dist/structured-error-CHg7DoIQ.cjs.map +1 -0
  333. package/dist/tail-sampling-processor.cjs +26 -13
  334. package/dist/tail-sampling-processor.cjs.map +1 -1
  335. package/dist/tail-sampling-processor.d.cts +11 -23
  336. package/dist/tail-sampling-processor.d.cts.map +1 -0
  337. package/dist/tail-sampling-processor.d.ts +11 -23
  338. package/dist/tail-sampling-processor.d.ts.map +1 -0
  339. package/dist/tail-sampling-processor.js +27 -6
  340. package/dist/tail-sampling-processor.js.map +1 -1
  341. package/dist/test-span-collector.cjs +70 -72
  342. package/dist/test-span-collector.cjs.map +1 -1
  343. package/dist/test-span-collector.d.cts +25 -43
  344. package/dist/test-span-collector.d.cts.map +1 -0
  345. package/dist/test-span-collector.d.ts +25 -43
  346. package/dist/test-span-collector.d.ts.map +1 -0
  347. package/dist/test-span-collector.js +69 -70
  348. package/dist/test-span-collector.js.map +1 -1
  349. package/dist/testing.cjs +389 -278
  350. package/dist/testing.cjs.map +1 -1
  351. package/dist/testing.d.cts +39 -62
  352. package/dist/testing.d.cts.map +1 -0
  353. package/dist/testing.d.ts +39 -62
  354. package/dist/testing.d.ts.map +1 -0
  355. package/dist/testing.js +386 -265
  356. package/dist/testing.js.map +1 -1
  357. package/dist/trace-context-Cijqoi6e.d.cts +212 -0
  358. package/dist/trace-context-Cijqoi6e.d.cts.map +1 -0
  359. package/dist/trace-context-Cijqoi6e.d.ts +212 -0
  360. package/dist/trace-context-Cijqoi6e.d.ts.map +1 -0
  361. package/dist/trace-helpers.cjs +634 -54
  362. package/dist/trace-helpers.cjs.map +1 -1
  363. package/dist/trace-helpers.d.cts +17 -49
  364. package/dist/trace-helpers.d.cts.map +1 -0
  365. package/dist/trace-helpers.d.ts +17 -49
  366. package/dist/trace-helpers.d.ts.map +1 -0
  367. package/dist/trace-helpers.js +624 -3
  368. package/dist/trace-helpers.js.map +1 -1
  369. package/dist/tracer-provider.cjs +227 -16
  370. package/dist/tracer-provider.cjs.map +1 -1
  371. package/dist/tracer-provider.d.cts +5 -4
  372. package/dist/tracer-provider.d.cts.map +1 -0
  373. package/dist/tracer-provider.d.ts +5 -4
  374. package/dist/tracer-provider.d.ts.map +1 -0
  375. package/dist/tracer-provider.js +227 -2
  376. package/dist/tracer-provider.js.map +1 -1
  377. package/dist/track-3HY4NGV-.cjs +1212 -0
  378. package/dist/track-3HY4NGV-.cjs.map +1 -0
  379. package/dist/track-nsKVy-pj.js +1111 -0
  380. package/dist/track-nsKVy-pj.js.map +1 -0
  381. package/dist/validate.cjs +178 -115
  382. package/dist/validate.cjs.map +1 -1
  383. package/dist/validate.d.cts +40 -64
  384. package/dist/validate.d.cts.map +1 -0
  385. package/dist/validate.d.ts +40 -64
  386. package/dist/validate.d.ts.map +1 -0
  387. package/dist/validate.js +177 -113
  388. package/dist/validate.js.map +1 -1
  389. package/dist/validation-attributes.cjs +42 -17
  390. package/dist/validation-attributes.cjs.map +1 -1
  391. package/dist/validation-attributes.d.cts +13 -20
  392. package/dist/validation-attributes.d.cts.map +1 -0
  393. package/dist/validation-attributes.d.ts +13 -20
  394. package/dist/validation-attributes.d.ts.map +1 -0
  395. package/dist/validation-attributes.js +40 -2
  396. package/dist/validation-attributes.js.map +1 -1
  397. package/dist/webhook.cjs +286 -256
  398. package/dist/webhook.cjs.map +1 -1
  399. package/dist/webhook.d.cts +157 -192
  400. package/dist/webhook.d.cts.map +1 -0
  401. package/dist/webhook.d.ts +157 -192
  402. package/dist/webhook.d.ts.map +1 -0
  403. package/dist/webhook.js +285 -254
  404. package/dist/webhook.js.map +1 -1
  405. package/dist/workflow-distributed.cjs +498 -412
  406. package/dist/workflow-distributed.cjs.map +1 -1
  407. package/dist/workflow-distributed.d.cts +163 -173
  408. package/dist/workflow-distributed.d.cts.map +1 -0
  409. package/dist/workflow-distributed.d.ts +163 -173
  410. package/dist/workflow-distributed.d.ts.map +1 -0
  411. package/dist/workflow-distributed.js +497 -410
  412. package/dist/workflow-distributed.js.map +1 -1
  413. package/dist/workflow.cjs +405 -40
  414. package/dist/workflow.cjs.map +1 -1
  415. package/dist/workflow.d.cts +78 -131
  416. package/dist/workflow.d.cts.map +1 -0
  417. package/dist/workflow.d.ts +78 -131
  418. package/dist/workflow.d.ts.map +1 -0
  419. package/dist/workflow.js +403 -21
  420. package/dist/workflow.js.map +1 -1
  421. package/dist/yaml-config-B3dQ82GR.cjs +272 -0
  422. package/dist/yaml-config-B3dQ82GR.cjs.map +1 -0
  423. package/dist/yaml-config.cjs +5 -24
  424. package/dist/yaml-config.d.cts +30 -64
  425. package/dist/yaml-config.d.cts.map +1 -0
  426. package/dist/yaml-config.d.ts +30 -64
  427. package/dist/yaml-config.d.ts.map +1 -0
  428. package/dist/yaml-config.js +226 -7
  429. package/dist/yaml-config.js.map +1 -1
  430. package/package.json +4 -4
  431. package/skills/analyze-traces/SKILL.md +14 -12
  432. package/skills/review-otel-patterns/SKILL.md +4 -2
  433. package/skills/tune-sampling/SKILL.md +8 -3
  434. package/src/attributes/builders.ts +2 -20
  435. package/src/attributes/index.ts +0 -1
  436. package/src/attributes/registry.ts +2 -9
  437. package/src/attributes/types.ts +0 -8
  438. package/src/index.ts +7 -41
  439. package/src/request-logger.test.ts +53 -1
  440. package/src/request-logger.ts +58 -0
  441. package/src/semantic-helpers.test.ts +2 -87
  442. package/src/semantic-helpers.ts +0 -146
  443. package/src/validate.test.ts +3 -1
  444. package/src/validate.ts +9 -3
  445. package/dist/attributes.cjs.map +0 -1
  446. package/dist/attributes.js.map +0 -1
  447. package/dist/chunk-2ZKEORFN.cjs +0 -14
  448. package/dist/chunk-2ZKEORFN.cjs.map +0 -1
  449. package/dist/chunk-3QXBFGKP.js +0 -344
  450. package/dist/chunk-3QXBFGKP.js.map +0 -1
  451. package/dist/chunk-454CH4OV.js +0 -744
  452. package/dist/chunk-454CH4OV.js.map +0 -1
  453. package/dist/chunk-4A53YIAX.js +0 -180
  454. package/dist/chunk-4A53YIAX.js.map +0 -1
  455. package/dist/chunk-4IFSYQVX.js +0 -337
  456. package/dist/chunk-4IFSYQVX.js.map +0 -1
  457. package/dist/chunk-4P6ZOARG.cjs +0 -33
  458. package/dist/chunk-4P6ZOARG.cjs.map +0 -1
  459. package/dist/chunk-55ER2KD5.js +0 -228
  460. package/dist/chunk-55ER2KD5.js.map +0 -1
  461. package/dist/chunk-5ZN622AO.js +0 -73
  462. package/dist/chunk-5ZN622AO.js.map +0 -1
  463. package/dist/chunk-66YJ66GG.js +0 -1021
  464. package/dist/chunk-66YJ66GG.js.map +0 -1
  465. package/dist/chunk-6S5RUKU3.cjs +0 -347
  466. package/dist/chunk-6S5RUKU3.cjs.map +0 -1
  467. package/dist/chunk-6UQRVUN3.js +0 -222
  468. package/dist/chunk-6UQRVUN3.js.map +0 -1
  469. package/dist/chunk-7552UTQW.js +0 -11
  470. package/dist/chunk-7552UTQW.js.map +0 -1
  471. package/dist/chunk-7EQ4G4SI.cjs +0 -146
  472. package/dist/chunk-7EQ4G4SI.cjs.map +0 -1
  473. package/dist/chunk-7SAWIN74.js +0 -285
  474. package/dist/chunk-7SAWIN74.js.map +0 -1
  475. package/dist/chunk-A4E5AQFK.js +0 -30
  476. package/dist/chunk-A4E5AQFK.js.map +0 -1
  477. package/dist/chunk-ALPYR2GC.js +0 -1061
  478. package/dist/chunk-ALPYR2GC.js.map +0 -1
  479. package/dist/chunk-B7SWBE4P.cjs +0 -799
  480. package/dist/chunk-B7SWBE4P.cjs.map +0 -1
  481. package/dist/chunk-BZHG5IZ4.js +0 -73
  482. package/dist/chunk-BZHG5IZ4.js.map +0 -1
  483. package/dist/chunk-CEAQK2QY.cjs +0 -32
  484. package/dist/chunk-CEAQK2QY.cjs.map +0 -1
  485. package/dist/chunk-CMHVQR6P.js +0 -170
  486. package/dist/chunk-CMHVQR6P.js.map +0 -1
  487. package/dist/chunk-CU6IDACR.cjs +0 -224
  488. package/dist/chunk-CU6IDACR.cjs.map +0 -1
  489. package/dist/chunk-D4TM63S3.js +0 -795
  490. package/dist/chunk-D4TM63S3.js.map +0 -1
  491. package/dist/chunk-DCEDJQGG.js +0 -28
  492. package/dist/chunk-DCEDJQGG.js.map +0 -1
  493. package/dist/chunk-DPSA4QLA.js +0 -344
  494. package/dist/chunk-DPSA4QLA.js.map +0 -1
  495. package/dist/chunk-E6TERL5O.cjs +0 -23
  496. package/dist/chunk-E6TERL5O.cjs.map +0 -1
  497. package/dist/chunk-EE6CPXKH.cjs +0 -164
  498. package/dist/chunk-EE6CPXKH.cjs.map +0 -1
  499. package/dist/chunk-EOFB7XCL.cjs +0 -837
  500. package/dist/chunk-EOFB7XCL.cjs.map +0 -1
  501. package/dist/chunk-ESLWRGAG.cjs +0 -92
  502. package/dist/chunk-ESLWRGAG.cjs.map +0 -1
  503. package/dist/chunk-ESMHTKLJ.cjs +0 -206
  504. package/dist/chunk-ESMHTKLJ.cjs.map +0 -1
  505. package/dist/chunk-FMTHVSYY.cjs +0 -1039
  506. package/dist/chunk-FMTHVSYY.cjs.map +0 -1
  507. package/dist/chunk-FU6R566Y.cjs +0 -236
  508. package/dist/chunk-FU6R566Y.cjs.map +0 -1
  509. package/dist/chunk-GYR5K654.js +0 -91
  510. package/dist/chunk-GYR5K654.js.map +0 -1
  511. package/dist/chunk-HA2WBOGQ.js +0 -57
  512. package/dist/chunk-HA2WBOGQ.js.map +0 -1
  513. package/dist/chunk-HT5JQKN2.js +0 -118
  514. package/dist/chunk-HT5JQKN2.js.map +0 -1
  515. package/dist/chunk-INJD3G4K.cjs +0 -340
  516. package/dist/chunk-INJD3G4K.cjs.map +0 -1
  517. package/dist/chunk-IOYFAFHJ.cjs +0 -95
  518. package/dist/chunk-IOYFAFHJ.cjs.map +0 -1
  519. package/dist/chunk-J5QENANM.js +0 -87
  520. package/dist/chunk-J5QENANM.js.map +0 -1
  521. package/dist/chunk-J7VGRIAJ.js +0 -64
  522. package/dist/chunk-J7VGRIAJ.js.map +0 -1
  523. package/dist/chunk-KFOHQK7X.js +0 -144
  524. package/dist/chunk-KFOHQK7X.js.map +0 -1
  525. package/dist/chunk-KIL5CUN6.js +0 -31
  526. package/dist/chunk-KIL5CUN6.js.map +0 -1
  527. package/dist/chunk-KYXZS3EA.cjs +0 -100
  528. package/dist/chunk-KYXZS3EA.cjs.map +0 -1
  529. package/dist/chunk-LITNXTTT.js +0 -3
  530. package/dist/chunk-LITNXTTT.js.map +0 -1
  531. package/dist/chunk-LVIPBYFE.js +0 -157
  532. package/dist/chunk-LVIPBYFE.js.map +0 -1
  533. package/dist/chunk-M3LFHHTN.cjs +0 -764
  534. package/dist/chunk-M3LFHHTN.cjs.map +0 -1
  535. package/dist/chunk-N25JDZSC.js +0 -95
  536. package/dist/chunk-N25JDZSC.js.map +0 -1
  537. package/dist/chunk-NEIB3TLD.cjs +0 -360
  538. package/dist/chunk-NEIB3TLD.cjs.map +0 -1
  539. package/dist/chunk-NENU7E6V.cjs +0 -344
  540. package/dist/chunk-NENU7E6V.cjs.map +0 -1
  541. package/dist/chunk-NVAI5CCN.cjs +0 -39
  542. package/dist/chunk-NVAI5CCN.cjs.map +0 -1
  543. package/dist/chunk-NZ72VDNY.cjs +0 -4
  544. package/dist/chunk-NZ72VDNY.cjs.map +0 -1
  545. package/dist/chunk-OPPXYVEZ.cjs +0 -131
  546. package/dist/chunk-OPPXYVEZ.cjs.map +0 -1
  547. package/dist/chunk-Q4EULJQY.js +0 -35
  548. package/dist/chunk-Q4EULJQY.js.map +0 -1
  549. package/dist/chunk-QF7ARNUM.js +0 -339
  550. package/dist/chunk-QF7ARNUM.js.map +0 -1
  551. package/dist/chunk-QWW3E3JM.cjs +0 -178
  552. package/dist/chunk-QWW3E3JM.cjs.map +0 -1
  553. package/dist/chunk-R7QYGZUP.cjs +0 -1075
  554. package/dist/chunk-R7QYGZUP.cjs.map +0 -1
  555. package/dist/chunk-RUPKBKUF.js +0 -352
  556. package/dist/chunk-RUPKBKUF.js.map +0 -1
  557. package/dist/chunk-SEO6NAQT.js +0 -14
  558. package/dist/chunk-SEO6NAQT.js.map +0 -1
  559. package/dist/chunk-T4B5LB6E.cjs +0 -66
  560. package/dist/chunk-T4B5LB6E.cjs.map +0 -1
  561. package/dist/chunk-T5WRA76K.cjs +0 -32
  562. package/dist/chunk-T5WRA76K.cjs.map +0 -1
  563. package/dist/chunk-T7JO2TCP.js +0 -1233
  564. package/dist/chunk-T7JO2TCP.js.map +0 -1
  565. package/dist/chunk-TC5ZPWM4.cjs +0 -289
  566. package/dist/chunk-TC5ZPWM4.cjs.map +0 -1
  567. package/dist/chunk-TQ5UWA7S.js +0 -26
  568. package/dist/chunk-TQ5UWA7S.js.map +0 -1
  569. package/dist/chunk-UIKYE2QZ.js +0 -833
  570. package/dist/chunk-UIKYE2QZ.js.map +0 -1
  571. package/dist/chunk-UNPLAVE7.js +0 -21
  572. package/dist/chunk-UNPLAVE7.js.map +0 -1
  573. package/dist/chunk-UY3UYPBZ.cjs +0 -77
  574. package/dist/chunk-UY3UYPBZ.cjs.map +0 -1
  575. package/dist/chunk-V7UBMJAB.cjs +0 -1242
  576. package/dist/chunk-V7UBMJAB.cjs.map +0 -1
  577. package/dist/chunk-VH77IPJN.cjs +0 -358
  578. package/dist/chunk-VH77IPJN.cjs.map +0 -1
  579. package/dist/chunk-VQTCQKHQ.cjs +0 -17
  580. package/dist/chunk-VQTCQKHQ.cjs.map +0 -1
  581. package/dist/chunk-WGWSHJ2N.js +0 -38
  582. package/dist/chunk-WGWSHJ2N.js.map +0 -1
  583. package/dist/chunk-WJH6IYU2.cjs +0 -32
  584. package/dist/chunk-WJH6IYU2.cjs.map +0 -1
  585. package/dist/chunk-YREV3LGG.cjs +0 -61
  586. package/dist/chunk-YREV3LGG.cjs.map +0 -1
  587. package/dist/chunk-YTXEZ4SD.cjs +0 -77
  588. package/dist/chunk-YTXEZ4SD.cjs.map +0 -1
  589. package/dist/chunk-ZNMBW67B.cjs +0 -40
  590. package/dist/chunk-ZNMBW67B.cjs.map +0 -1
  591. package/dist/correlation-id.cjs.map +0 -1
  592. package/dist/correlation-id.js.map +0 -1
  593. package/dist/define-event-BL6Li7CM.d.ts +0 -23
  594. package/dist/define-event-ClP3T1Jx.d.cts +0 -23
  595. package/dist/event-subscriber.cjs.map +0 -1
  596. package/dist/event-subscriber.js.map +0 -1
  597. package/dist/event.cjs.map +0 -1
  598. package/dist/event.js.map +0 -1
  599. package/dist/exporters.cjs.map +0 -1
  600. package/dist/exporters.js.map +0 -1
  601. package/dist/functional.cjs.map +0 -1
  602. package/dist/functional.js.map +0 -1
  603. package/dist/init-DIowiiCh.d.ts +0 -1167
  604. package/dist/init-j-A1zI16.d.cts +0 -1167
  605. package/dist/processors.cjs.map +0 -1
  606. package/dist/processors.js.map +0 -1
  607. package/dist/trace-context-DbGKd1Rn.d.cts +0 -213
  608. package/dist/trace-context-DbGKd1Rn.d.ts +0 -213
  609. package/dist/utils-BahBCFtJ.d.cts +0 -712
  610. package/dist/utils-CLKwaUlG.d.ts +0 -712
  611. package/dist/yaml-config.cjs.map +0 -1
  612. package/src/gen-ai-cost.test.ts +0 -81
  613. package/src/gen-ai-cost.ts +0 -145
  614. package/src/gen-ai-events.test.ts +0 -135
  615. package/src/gen-ai-events.ts +0 -208
  616. package/src/gen-ai-metrics.test.ts +0 -96
  617. package/src/gen-ai-metrics.ts +0 -128
package/dist/webhook.js CHANGED
@@ -1,266 +1,297 @@
1
- import { emitCorrelatedEvent } from './chunk-KIL5CUN6.js';
2
- import { trace } from './chunk-T7JO2TCP.js';
3
- import './chunk-HT5JQKN2.js';
4
- import './chunk-SEO6NAQT.js';
5
- import './chunk-66YJ66GG.js';
6
- import { recordStructuredError } from './chunk-LVIPBYFE.js';
7
- import './chunk-ALPYR2GC.js';
8
- import './chunk-CMHVQR6P.js';
9
- import './chunk-A4E5AQFK.js';
10
- import './chunk-WGWSHJ2N.js';
11
- import './chunk-GYR5K654.js';
12
- import './chunk-RUPKBKUF.js';
13
- import './chunk-6UQRVUN3.js';
14
- import './chunk-3QXBFGKP.js';
15
- import './chunk-Q4EULJQY.js';
16
- import './chunk-DPSA4QLA.js';
17
- import './chunk-55ER2KD5.js';
18
- import './chunk-J5QENANM.js';
19
- import './chunk-HA2WBOGQ.js';
20
- import { SpanKind, trace as trace$1 } from '@opentelemetry/api';
1
+ import { r as recordStructuredError } from "./structured-error-9--cxBay.js";
2
+ import { a as trace$1 } from "./functional-BGkT8J-h.js";
3
+ import { t as emitCorrelatedEvent } from "./correlated-events-Bzh5y-UB.js";
4
+ import { SpanKind, trace } from "@opentelemetry/api";
21
5
 
6
+ //#region src/webhook.ts
7
+ /**
8
+ * Webhook and callback tracing with the "Parking Lot" pattern
9
+ *
10
+ * When initiating async operations that return hours/days later (webhooks,
11
+ * payment callbacks, human approvals), you can't keep a span open. This module
12
+ * provides utilities to "park" trace context and retrieve it when callbacks arrive.
13
+ *
14
+ * @example Stripe payment webhook
15
+ * ```typescript
16
+ * import { createParkingLot, InMemoryTraceContextStore } from 'autotel/webhook';
17
+ *
18
+ * const parkingLot = createParkingLot({
19
+ * store: new InMemoryTraceContextStore(),
20
+ * defaultTTLMs: 24 * 60 * 60 * 1000, // 24 hours
21
+ * });
22
+ *
23
+ * // When initiating payment
24
+ * export const initiatePayment = trace(ctx => async (orderId: string) => {
25
+ * await parkingLot.park(`payment:${orderId}`, { orderId });
26
+ * await stripeClient.createPaymentIntent({ metadata: { orderId } });
27
+ * });
28
+ *
29
+ * // When Stripe webhook arrives (hours later)
30
+ * export const handleStripeWebhook = parkingLot.traceCallback({
31
+ * name: 'stripe.webhook.payment_intent.succeeded',
32
+ * correlationKeyFrom: (event) => `payment:${event.data.object.metadata.orderId}`,
33
+ * })(ctx => async (event: Stripe.Event) => {
34
+ * // ctx.parkedContext contains the original trace context
35
+ * // ctx.elapsedMs shows time since payment was initiated
36
+ * await fulfillOrder(event.data.object);
37
+ * });
38
+ * ```
39
+ *
40
+ * @module
41
+ */
42
+ /**
43
+ * In-memory trace context store
44
+ *
45
+ * Useful for testing and development. For production, use a persistent
46
+ * store like Redis or DynamoDB.
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * const store = new InMemoryTraceContextStore();
51
+ * const parkingLot = createParkingLot({ store });
52
+ * ```
53
+ */
22
54
  var InMemoryTraceContextStore = class {
23
- constructor(options = {}) {
24
- this.options = options;
25
- const cleanupMs = options.cleanupIntervalMs ?? 6e4;
26
- if (cleanupMs > 0) {
27
- this.cleanupInterval = setInterval(() => this.cleanup(), cleanupMs);
28
- if (this.cleanupInterval.unref) {
29
- this.cleanupInterval.unref();
30
- }
31
- }
32
- }
33
- options;
34
- store = /* @__PURE__ */ new Map();
35
- cleanupInterval = null;
36
- async save(key, context) {
37
- this.store.set(key, context);
38
- }
39
- async load(key) {
40
- const context = this.store.get(key);
41
- if (!context) {
42
- return null;
43
- }
44
- if (context.ttlMs) {
45
- const age = Date.now() - context.parkedAt;
46
- if (age > context.ttlMs) {
47
- this.store.delete(key);
48
- return null;
49
- }
50
- }
51
- return context;
52
- }
53
- async delete(key) {
54
- this.store.delete(key);
55
- }
56
- /**
57
- * Get number of stored contexts (for testing)
58
- */
59
- get size() {
60
- return this.store.size;
61
- }
62
- /**
63
- * Clear all stored contexts (for testing)
64
- */
65
- clear() {
66
- this.store.clear();
67
- }
68
- /**
69
- * Stop the cleanup interval
70
- */
71
- destroy() {
72
- if (this.cleanupInterval) {
73
- clearInterval(this.cleanupInterval);
74
- this.cleanupInterval = null;
75
- }
76
- }
77
- cleanup() {
78
- const now = Date.now();
79
- for (const [key, context] of this.store.entries()) {
80
- if (context.ttlMs) {
81
- const age = now - context.parkedAt;
82
- if (age > context.ttlMs) {
83
- this.store.delete(key);
84
- }
85
- }
86
- }
87
- }
55
+ options;
56
+ store = /* @__PURE__ */ new Map();
57
+ cleanupInterval = null;
58
+ constructor(options = {}) {
59
+ this.options = options;
60
+ const cleanupMs = options.cleanupIntervalMs ?? 6e4;
61
+ if (cleanupMs > 0) {
62
+ this.cleanupInterval = setInterval(() => this.cleanup(), cleanupMs);
63
+ if (this.cleanupInterval.unref) this.cleanupInterval.unref();
64
+ }
65
+ }
66
+ async save(key, context) {
67
+ this.store.set(key, context);
68
+ }
69
+ async load(key) {
70
+ const context = this.store.get(key);
71
+ if (!context) return null;
72
+ if (context.ttlMs) {
73
+ if (Date.now() - context.parkedAt > context.ttlMs) {
74
+ this.store.delete(key);
75
+ return null;
76
+ }
77
+ }
78
+ return context;
79
+ }
80
+ async delete(key) {
81
+ this.store.delete(key);
82
+ }
83
+ /**
84
+ * Get number of stored contexts (for testing)
85
+ */
86
+ get size() {
87
+ return this.store.size;
88
+ }
89
+ /**
90
+ * Clear all stored contexts (for testing)
91
+ */
92
+ clear() {
93
+ this.store.clear();
94
+ }
95
+ /**
96
+ * Stop the cleanup interval
97
+ */
98
+ destroy() {
99
+ if (this.cleanupInterval) {
100
+ clearInterval(this.cleanupInterval);
101
+ this.cleanupInterval = null;
102
+ }
103
+ }
104
+ cleanup() {
105
+ const now = Date.now();
106
+ for (const [key, context] of this.store.entries()) if (context.ttlMs) {
107
+ if (now - context.parkedAt > context.ttlMs) this.store.delete(key);
108
+ }
109
+ }
88
110
  };
111
+ /**
112
+ * Create a parking lot for trace context storage and retrieval
113
+ *
114
+ * @param config - Parking lot configuration
115
+ * @returns A parking lot instance
116
+ *
117
+ * @example Basic usage
118
+ * ```typescript
119
+ * const parkingLot = createParkingLot({
120
+ * store: new InMemoryTraceContextStore(),
121
+ * defaultTTLMs: 24 * 60 * 60 * 1000, // 24 hours
122
+ * });
123
+ * ```
124
+ *
125
+ * @example With Redis store
126
+ * ```typescript
127
+ * class RedisTraceContextStore implements TraceContextStore {
128
+ * constructor(private redis: Redis) {}
129
+ *
130
+ * async save(key: string, context: StoredTraceContext) {
131
+ * const ttlSeconds = context.ttlMs ? Math.ceil(context.ttlMs / 1000) : 86400;
132
+ * await this.redis.setex(key, ttlSeconds, JSON.stringify(context));
133
+ * }
134
+ *
135
+ * async load(key: string) {
136
+ * const data = await this.redis.get(key);
137
+ * return data ? JSON.parse(data) : null;
138
+ * }
139
+ *
140
+ * async delete(key: string) {
141
+ * await this.redis.del(key);
142
+ * }
143
+ * }
144
+ *
145
+ * const parkingLot = createParkingLot({
146
+ * store: new RedisTraceContextStore(redis),
147
+ * });
148
+ * ```
149
+ */
89
150
  function createParkingLot(config) {
90
- const {
91
- store,
92
- defaultTTLMs = 24 * 60 * 60 * 1e3,
93
- // 24 hours
94
- keyPrefix = "parkingLot:",
95
- autoDeleteOnRetrieve = true,
96
- onMiss
97
- } = config;
98
- function getCurrentSpanContext() {
99
- const activeSpan = trace$1.getActiveSpan();
100
- if (!activeSpan) {
101
- return null;
102
- }
103
- return activeSpan.spanContext();
104
- }
105
- function prefixKey(key) {
106
- return `${keyPrefix}${key}`;
107
- }
108
- const parkingLot = {
109
- async park(correlationKey, metadata) {
110
- const spanContext = getCurrentSpanContext();
111
- const fullKey = prefixKey(correlationKey);
112
- const storedContext = {
113
- traceId: spanContext?.traceId ?? "",
114
- spanId: spanContext?.spanId ?? "",
115
- traceFlags: spanContext?.traceFlags ?? 0,
116
- parkedAt: Date.now(),
117
- ttlMs: defaultTTLMs,
118
- metadata
119
- };
120
- await store.save(fullKey, storedContext);
121
- const activeSpan = trace$1.getActiveSpan();
122
- if (activeSpan) {
123
- const parkAttrs = {
124
- "parking_lot.correlation_key": correlationKey,
125
- "parking_lot.ttl_ms": defaultTTLMs,
126
- ...metadata && Object.fromEntries(
127
- Object.entries(metadata).map(([k, v]) => [
128
- `parking_lot.metadata.${k}`,
129
- v
130
- ])
131
- )
132
- };
133
- emitCorrelatedEvent(
134
- {
135
- setAttribute: (k, v) => activeSpan.setAttribute(k, v),
136
- setAttributes: (a) => activeSpan.setAttributes(a),
137
- addEvent: (n, a) => activeSpan.addEvent(n, a)
138
- },
139
- "trace_context_parked",
140
- parkAttrs
141
- );
142
- }
143
- return correlationKey;
144
- },
145
- async retrieve(correlationKey) {
146
- const fullKey = prefixKey(correlationKey);
147
- const storedContext = await store.load(fullKey);
148
- if (!storedContext) {
149
- onMiss?.(correlationKey);
150
- return null;
151
- }
152
- if (autoDeleteOnRetrieve) {
153
- await store.delete(fullKey);
154
- }
155
- return storedContext;
156
- },
157
- traceCallback(callbackConfig) {
158
- return (fnFactory) => {
159
- return trace(
160
- {
161
- name: callbackConfig.name,
162
- spanKind: SpanKind.SERVER
163
- },
164
- (baseCtx) => {
165
- return async (...args) => {
166
- const correlationKey = callbackConfig.correlationKeyFrom(args);
167
- const parkedContext = await parkingLot.retrieve(correlationKey);
168
- const elapsedMs = parkedContext ? Date.now() - parkedContext.parkedAt : null;
169
- baseCtx.setAttribute(
170
- "parking_lot.correlation_key",
171
- correlationKey
172
- );
173
- if (parkedContext) {
174
- baseCtx.setAttribute("parking_lot.elapsed_ms", elapsedMs);
175
- baseCtx.setAttribute(
176
- "parking_lot.original_trace_id",
177
- parkedContext.traceId
178
- );
179
- baseCtx.setAttribute(
180
- "parking_lot.original_span_id",
181
- parkedContext.spanId
182
- );
183
- if (parkedContext.metadata) {
184
- for (const [key, value] of Object.entries(
185
- parkedContext.metadata
186
- )) {
187
- baseCtx.setAttribute(`parking_lot.metadata.${key}`, value);
188
- }
189
- }
190
- const link = parkingLot.createLink(parkedContext);
191
- baseCtx.addLinks([link]);
192
- emitCorrelatedEvent(baseCtx, "parked_context_retrieved", {
193
- "parking_lot.correlation_key": correlationKey,
194
- "parking_lot.elapsed_ms": elapsedMs,
195
- "parking_lot.original_trace_id": parkedContext.traceId
196
- });
197
- } else {
198
- baseCtx.setAttribute("parking_lot.context_found", false);
199
- if (callbackConfig.requireParkedContext) {
200
- const error = new Error(
201
- `Required parked context not found for key: ${correlationKey}`
202
- );
203
- recordStructuredError(baseCtx, error);
204
- throw error;
205
- }
206
- }
207
- if (callbackConfig.attributes) {
208
- for (const [key, value] of Object.entries(
209
- callbackConfig.attributes
210
- )) {
211
- baseCtx.setAttribute(key, value);
212
- }
213
- }
214
- const callbackCtx = {
215
- ...baseCtx,
216
- parkedContext,
217
- elapsedMs,
218
- correlationKey
219
- };
220
- const userFn = fnFactory(callbackCtx);
221
- return userFn(...args);
222
- };
223
- }
224
- );
225
- };
226
- },
227
- createLink(storedContext) {
228
- return {
229
- context: {
230
- traceId: storedContext.traceId,
231
- spanId: storedContext.spanId,
232
- traceFlags: storedContext.traceFlags,
233
- isRemote: true
234
- },
235
- attributes: {
236
- "link.type": "parking_lot",
237
- "parking_lot.parked_at": storedContext.parkedAt,
238
- ...storedContext.metadata && {
239
- "parking_lot.has_metadata": true
240
- }
241
- }
242
- };
243
- },
244
- async exists(correlationKey) {
245
- const fullKey = prefixKey(correlationKey);
246
- const context = await store.load(fullKey);
247
- return context !== null;
248
- }
249
- };
250
- return parkingLot;
151
+ const { store, defaultTTLMs = 1440 * 60 * 1e3, keyPrefix = "parkingLot:", autoDeleteOnRetrieve = true, onMiss } = config;
152
+ /**
153
+ * Get current span context from active context
154
+ */
155
+ function getCurrentSpanContext() {
156
+ const activeSpan = trace.getActiveSpan();
157
+ if (!activeSpan) return null;
158
+ return activeSpan.spanContext();
159
+ }
160
+ /**
161
+ * Apply key prefix
162
+ */
163
+ function prefixKey(key) {
164
+ return `${keyPrefix}${key}`;
165
+ }
166
+ const parkingLot = {
167
+ async park(correlationKey, metadata) {
168
+ const spanContext = getCurrentSpanContext();
169
+ const fullKey = prefixKey(correlationKey);
170
+ const storedContext = {
171
+ traceId: spanContext?.traceId ?? "",
172
+ spanId: spanContext?.spanId ?? "",
173
+ traceFlags: spanContext?.traceFlags ?? 0,
174
+ parkedAt: Date.now(),
175
+ ttlMs: defaultTTLMs,
176
+ metadata
177
+ };
178
+ await store.save(fullKey, storedContext);
179
+ const activeSpan = trace.getActiveSpan();
180
+ if (activeSpan) emitCorrelatedEvent({
181
+ setAttribute: (k, v) => activeSpan.setAttribute(k, v),
182
+ setAttributes: (a) => activeSpan.setAttributes(a),
183
+ addEvent: (n, a) => activeSpan.addEvent(n, a)
184
+ }, "trace_context_parked", {
185
+ "parking_lot.correlation_key": correlationKey,
186
+ "parking_lot.ttl_ms": defaultTTLMs,
187
+ ...metadata && Object.fromEntries(Object.entries(metadata).map(([k, v]) => [`parking_lot.metadata.${k}`, v]))
188
+ });
189
+ return correlationKey;
190
+ },
191
+ async retrieve(correlationKey) {
192
+ const fullKey = prefixKey(correlationKey);
193
+ const storedContext = await store.load(fullKey);
194
+ if (!storedContext) {
195
+ onMiss?.(correlationKey);
196
+ return null;
197
+ }
198
+ if (autoDeleteOnRetrieve) await store.delete(fullKey);
199
+ return storedContext;
200
+ },
201
+ traceCallback(callbackConfig) {
202
+ return (fnFactory) => {
203
+ return trace$1({
204
+ name: callbackConfig.name,
205
+ spanKind: SpanKind.SERVER
206
+ }, (baseCtx) => {
207
+ return async (...args) => {
208
+ const correlationKey = callbackConfig.correlationKeyFrom(args);
209
+ const parkedContext = await parkingLot.retrieve(correlationKey);
210
+ const elapsedMs = parkedContext ? Date.now() - parkedContext.parkedAt : null;
211
+ baseCtx.setAttribute("parking_lot.correlation_key", correlationKey);
212
+ if (parkedContext) {
213
+ baseCtx.setAttribute("parking_lot.elapsed_ms", elapsedMs);
214
+ baseCtx.setAttribute("parking_lot.original_trace_id", parkedContext.traceId);
215
+ baseCtx.setAttribute("parking_lot.original_span_id", parkedContext.spanId);
216
+ if (parkedContext.metadata) for (const [key, value] of Object.entries(parkedContext.metadata)) baseCtx.setAttribute(`parking_lot.metadata.${key}`, value);
217
+ const link = parkingLot.createLink(parkedContext);
218
+ baseCtx.addLinks([link]);
219
+ emitCorrelatedEvent(baseCtx, "parked_context_retrieved", {
220
+ "parking_lot.correlation_key": correlationKey,
221
+ "parking_lot.elapsed_ms": elapsedMs,
222
+ "parking_lot.original_trace_id": parkedContext.traceId
223
+ });
224
+ } else {
225
+ baseCtx.setAttribute("parking_lot.context_found", false);
226
+ if (callbackConfig.requireParkedContext) {
227
+ const error = /* @__PURE__ */ new Error(`Required parked context not found for key: ${correlationKey}`);
228
+ recordStructuredError(baseCtx, error);
229
+ throw error;
230
+ }
231
+ }
232
+ if (callbackConfig.attributes) for (const [key, value] of Object.entries(callbackConfig.attributes)) baseCtx.setAttribute(key, value);
233
+ return fnFactory({
234
+ ...baseCtx,
235
+ parkedContext,
236
+ elapsedMs,
237
+ correlationKey
238
+ })(...args);
239
+ };
240
+ });
241
+ };
242
+ },
243
+ createLink(storedContext) {
244
+ return {
245
+ context: {
246
+ traceId: storedContext.traceId,
247
+ spanId: storedContext.spanId,
248
+ traceFlags: storedContext.traceFlags,
249
+ isRemote: true
250
+ },
251
+ attributes: {
252
+ "link.type": "parking_lot",
253
+ "parking_lot.parked_at": storedContext.parkedAt,
254
+ ...storedContext.metadata && { "parking_lot.has_metadata": true }
255
+ }
256
+ };
257
+ },
258
+ async exists(correlationKey) {
259
+ const fullKey = prefixKey(correlationKey);
260
+ return await store.load(fullKey) !== null;
261
+ }
262
+ };
263
+ return parkingLot;
251
264
  }
265
+ /**
266
+ * Create a correlation key from multiple parts
267
+ *
268
+ * @param parts - Key parts to join
269
+ * @returns A correlation key string
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * const key = createCorrelationKey('payment', orderId, 'stripe');
274
+ * // Returns: "payment:order-123:stripe"
275
+ * ```
276
+ */
252
277
  function createCorrelationKey(...parts) {
253
- return parts.map(String).join(":");
278
+ return parts.map(String).join(":");
254
279
  }
280
+ /**
281
+ * Extract span context from stored context for manual linking
282
+ *
283
+ * @param storedContext - The stored trace context
284
+ * @returns SpanContext compatible object
285
+ */
255
286
  function toSpanContext(storedContext) {
256
- return {
257
- traceId: storedContext.traceId,
258
- spanId: storedContext.spanId,
259
- traceFlags: storedContext.traceFlags,
260
- isRemote: true
261
- };
287
+ return {
288
+ traceId: storedContext.traceId,
289
+ spanId: storedContext.spanId,
290
+ traceFlags: storedContext.traceFlags,
291
+ isRemote: true
292
+ };
262
293
  }
263
294
 
295
+ //#endregion
264
296
  export { InMemoryTraceContextStore, createCorrelationKey, createParkingLot, toSpanContext };
265
- //# sourceMappingURL=webhook.js.map
266
297
  //# sourceMappingURL=webhook.js.map