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
@@ -1,430 +1,517 @@
1
- import { emitCorrelatedEvent } from './chunk-KIL5CUN6.js';
2
- import { createSafeBaggageSchema } from './chunk-4IFSYQVX.js';
3
- import { trace } from './chunk-T7JO2TCP.js';
4
- import './chunk-HT5JQKN2.js';
5
- import './chunk-SEO6NAQT.js';
6
- import './chunk-66YJ66GG.js';
7
- import './chunk-LVIPBYFE.js';
8
- import './chunk-ALPYR2GC.js';
9
- import './chunk-CMHVQR6P.js';
10
- import './chunk-A4E5AQFK.js';
11
- import './chunk-WGWSHJ2N.js';
12
- import './chunk-GYR5K654.js';
13
- import './chunk-RUPKBKUF.js';
14
- import './chunk-6UQRVUN3.js';
15
- import './chunk-3QXBFGKP.js';
16
- import './chunk-Q4EULJQY.js';
17
- import './chunk-DPSA4QLA.js';
18
- import './chunk-55ER2KD5.js';
19
- import './chunk-J5QENANM.js';
20
- import './chunk-HA2WBOGQ.js';
21
- import { SpanKind, context, propagation } from '@opentelemetry/api';
1
+ import { a as trace$1 } from "./functional-BGkT8J-h.js";
2
+ import { t as emitCorrelatedEvent } from "./correlated-events-Bzh5y-UB.js";
3
+ import { createSafeBaggageSchema } from "./business-baggage.js";
4
+ import { SpanKind, context, propagation } from "@opentelemetry/api";
22
5
 
23
- var workflowBaggageFields = {
24
- /** Unique identifier for the workflow instance */
25
- workflowId: { type: "string", maxLength: 128, required: true },
26
- /** Name/type of the workflow (e.g., "OrderFulfillment") */
27
- workflowName: { type: "string", maxLength: 64, required: true },
28
- /** Version of the workflow definition */
29
- workflowVersion: { type: "string", maxLength: 32 },
30
- /** Current step name */
31
- stepName: { type: "string", maxLength: 64 },
32
- /** Current step index (0-based) */
33
- stepIndex: { type: "number" },
34
- /** Total number of steps (if known) */
35
- totalSteps: { type: "number" },
36
- /** Parent workflow ID (for sub-workflows) */
37
- parentWorkflowId: { type: "string", maxLength: 128 },
38
- /** Correlation ID for external systems */
39
- correlationId: { type: "string", maxLength: 128 },
40
- /** Workflow priority */
41
- priority: {
42
- type: "enum",
43
- values: ["low", "normal", "high", "critical"]
44
- },
45
- /** Initiating user/system */
46
- initiatedBy: { type: "string", maxLength: 64 },
47
- /** Workflow start timestamp (ISO) */
48
- startedAt: { type: "string", maxLength: 30 }
6
+ //#region src/workflow-distributed.ts
7
+ /**
8
+ * Distributed workflow tracing with cross-service correlation
9
+ *
10
+ * Enables tracking workflows that span multiple microservices by propagating
11
+ * workflow identity (workflowId, stepName, stepIndex) via baggage in message headers.
12
+ *
13
+ * Unlike local workflow.ts (which uses AsyncLocalStorage), distributed workflows
14
+ * propagate context across network boundaries using W3C baggage.
15
+ *
16
+ * @example Order fulfillment saga across services
17
+ * ```typescript
18
+ * // Service A: Order Service
19
+ * import { traceDistributedWorkflow, WorkflowBaggage } from 'autotel/workflow-distributed';
20
+ * import { traceProducer } from 'autotel/messaging';
21
+ *
22
+ * export const createOrder = traceDistributedWorkflow({
23
+ * name: 'OrderFulfillment',
24
+ * workflowIdFrom: (order) => order.id,
25
+ * version: '1.0.0',
26
+ * })(ctx => async (order: Order) => {
27
+ * // Workflow baggage is auto-set
28
+ * await publishToInventory(order);
29
+ * });
30
+ *
31
+ * const publishToInventory = traceProducer({
32
+ * system: 'kafka',
33
+ * destination: 'inventory-requests',
34
+ * propagateBaggage: true, // Includes workflow.* baggage
35
+ * })(ctx => async (order) => {
36
+ * await producer.send({ topic: 'inventory-requests', value: order });
37
+ * });
38
+ *
39
+ * // Service B: Inventory Service
40
+ * import { traceDistributedStep, WorkflowBaggage } from 'autotel/workflow-distributed';
41
+ *
42
+ * export const processInventory = traceDistributedStep({
43
+ * name: 'ReserveInventory',
44
+ * extractBaggage: true, // Extracts workflow.* from headers
45
+ * })(ctx => async (message) => {
46
+ * const workflow = WorkflowBaggage.get(ctx);
47
+ * // workflow.workflowId === order.id (propagated from Service A)
48
+ * console.log(`Processing step for workflow ${workflow.workflowId}`);
49
+ * await reserveItems(message.items);
50
+ * });
51
+ * ```
52
+ *
53
+ * @module
54
+ */
55
+ /**
56
+ * Workflow baggage field definitions
57
+ */
58
+ const workflowBaggageFields = {
59
+ /** Unique identifier for the workflow instance */
60
+ workflowId: {
61
+ type: "string",
62
+ maxLength: 128,
63
+ required: true
64
+ },
65
+ /** Name/type of the workflow (e.g., "OrderFulfillment") */
66
+ workflowName: {
67
+ type: "string",
68
+ maxLength: 64,
69
+ required: true
70
+ },
71
+ /** Version of the workflow definition */
72
+ workflowVersion: {
73
+ type: "string",
74
+ maxLength: 32
75
+ },
76
+ /** Current step name */
77
+ stepName: {
78
+ type: "string",
79
+ maxLength: 64
80
+ },
81
+ /** Current step index (0-based) */
82
+ stepIndex: { type: "number" },
83
+ /** Total number of steps (if known) */
84
+ totalSteps: { type: "number" },
85
+ /** Parent workflow ID (for sub-workflows) */
86
+ parentWorkflowId: {
87
+ type: "string",
88
+ maxLength: 128
89
+ },
90
+ /** Correlation ID for external systems */
91
+ correlationId: {
92
+ type: "string",
93
+ maxLength: 128
94
+ },
95
+ /** Workflow priority */
96
+ priority: {
97
+ type: "enum",
98
+ values: [
99
+ "low",
100
+ "normal",
101
+ "high",
102
+ "critical"
103
+ ]
104
+ },
105
+ /** Initiating user/system */
106
+ initiatedBy: {
107
+ type: "string",
108
+ maxLength: 64
109
+ },
110
+ /** Workflow start timestamp (ISO) */
111
+ startedAt: {
112
+ type: "string",
113
+ maxLength: 30
114
+ }
49
115
  };
50
- var WorkflowBaggage = createSafeBaggageSchema(workflowBaggageFields, {
51
- prefix: "workflow",
52
- hashHighCardinality: false,
53
- // Workflow IDs should be traceable
54
- redactPII: false
55
- // Workflow fields are internal identifiers
116
+ /**
117
+ * Pre-built baggage schema for distributed workflows
118
+ *
119
+ * Use this to read/write workflow context that propagates across services.
120
+ *
121
+ * @example Setting workflow baggage
122
+ * ```typescript
123
+ * WorkflowBaggage.set(ctx, {
124
+ * workflowId: 'order-12345',
125
+ * workflowName: 'OrderFulfillment',
126
+ * stepName: 'ReserveInventory',
127
+ * stepIndex: 1,
128
+ * });
129
+ * ```
130
+ *
131
+ * @example Reading workflow baggage in downstream service
132
+ * ```typescript
133
+ * const { workflowId, workflowName, stepIndex } = WorkflowBaggage.get(ctx);
134
+ * console.log(`Processing ${workflowName} step ${stepIndex}`);
135
+ * ```
136
+ */
137
+ const WorkflowBaggage = createSafeBaggageSchema(workflowBaggageFields, {
138
+ prefix: "workflow",
139
+ hashHighCardinality: false,
140
+ redactPII: false
56
141
  });
142
+ /**
143
+ * Create a traced distributed workflow function
144
+ *
145
+ * Wraps a function as the entry point for a distributed workflow. Automatically:
146
+ * - Generates or extracts workflow ID
147
+ * - Sets workflow baggage for downstream propagation
148
+ * - Creates root span with workflow attributes
149
+ *
150
+ * @param config - Workflow configuration
151
+ * @returns Factory function for the workflow handler
152
+ *
153
+ * @example Basic usage
154
+ * ```typescript
155
+ * export const createOrder = traceDistributedWorkflow({
156
+ * name: 'OrderFulfillment',
157
+ * workflowIdFrom: (order) => order.id,
158
+ * version: '1.0.0',
159
+ * })(ctx => async (order: Order) => {
160
+ * ctx.recordStepProgress('ValidateOrder', 0);
161
+ * await validateOrder(order);
162
+ *
163
+ * ctx.recordStepProgress('ReserveInventory', 1);
164
+ * await publishToInventoryService(order);
165
+ *
166
+ * return { workflowId: ctx.workflowId, status: 'started' };
167
+ * });
168
+ * ```
169
+ */
57
170
  function traceDistributedWorkflow(config) {
58
- const spanName = `workflow.${config.name}`;
59
- return (fnFactory) => {
60
- return trace(
61
- { name: spanName, spanKind: SpanKind.INTERNAL },
62
- (baseCtx) => {
63
- return async (...args) => {
64
- const workflowId = config.workflowIdFrom(...args);
65
- const startedAt = (/* @__PURE__ */ new Date()).toISOString();
66
- const baggageValues = {
67
- workflowId,
68
- workflowName: config.name,
69
- workflowVersion: config.version,
70
- stepIndex: 0,
71
- totalSteps: config.totalSteps,
72
- parentWorkflowId: config.parentWorkflowId,
73
- correlationId: config.correlationId,
74
- priority: config.priority,
75
- initiatedBy: config.initiatedBy,
76
- startedAt
77
- };
78
- WorkflowBaggage.set(baseCtx, baggageValues);
79
- baseCtx.setAttribute("workflow.id", workflowId);
80
- baseCtx.setAttribute("workflow.name", config.name);
81
- if (config.version) {
82
- baseCtx.setAttribute("workflow.version", config.version);
83
- }
84
- if (config.totalSteps) {
85
- baseCtx.setAttribute("workflow.total_steps", config.totalSteps);
86
- }
87
- if (config.parentWorkflowId) {
88
- baseCtx.setAttribute("workflow.parent_id", config.parentWorkflowId);
89
- }
90
- if (config.priority) {
91
- baseCtx.setAttribute("workflow.priority", config.priority);
92
- }
93
- if (config.initiatedBy) {
94
- baseCtx.setAttribute("workflow.initiated_by", config.initiatedBy);
95
- }
96
- baseCtx.setAttribute("workflow.started_at", startedAt);
97
- if (config.attributes) {
98
- for (const [key, value] of Object.entries(config.attributes)) {
99
- baseCtx.setAttribute(key, value);
100
- }
101
- }
102
- const workflowCtx = {
103
- ...baseCtx,
104
- workflowId,
105
- workflowName: config.name,
106
- workflowVersion: config.version,
107
- getWorkflowBaggage() {
108
- return { ...baggageValues };
109
- },
110
- setWorkflowBaggage(values) {
111
- Object.assign(baggageValues, values);
112
- WorkflowBaggage.set(baseCtx, baggageValues);
113
- },
114
- getWorkflowHeaders() {
115
- const headers = {};
116
- const ctx = context.active();
117
- propagation.inject(ctx, headers);
118
- return headers;
119
- },
120
- recordStepProgress(stepName, stepIndex) {
121
- baggageValues.stepName = stepName;
122
- baggageValues.stepIndex = stepIndex;
123
- WorkflowBaggage.set(baseCtx, baggageValues);
124
- emitCorrelatedEvent(baseCtx, "workflow.step_progress", {
125
- "workflow.step.name": stepName,
126
- "workflow.step.index": stepIndex
127
- });
128
- }
129
- };
130
- config.onStart?.(workflowCtx);
131
- emitCorrelatedEvent(baseCtx, "workflow.started", {
132
- "workflow.id": workflowId,
133
- "workflow.name": config.name
134
- });
135
- try {
136
- const userFn = fnFactory(workflowCtx);
137
- const result = await userFn(...args);
138
- config.onComplete?.(workflowCtx, result);
139
- emitCorrelatedEvent(baseCtx, "workflow.completed", {
140
- "workflow.id": workflowId
141
- });
142
- return result;
143
- } catch (error) {
144
- config.onError?.(workflowCtx, error);
145
- emitCorrelatedEvent(baseCtx, "workflow.failed", {
146
- "workflow.id": workflowId,
147
- "workflow.error": error.message
148
- });
149
- throw error;
150
- }
151
- };
152
- }
153
- );
154
- };
171
+ const spanName = `workflow.${config.name}`;
172
+ return (fnFactory) => {
173
+ return trace$1({
174
+ name: spanName,
175
+ spanKind: SpanKind.INTERNAL
176
+ }, (baseCtx) => {
177
+ return async (...args) => {
178
+ const workflowId = config.workflowIdFrom(...args);
179
+ const startedAt = (/* @__PURE__ */ new Date()).toISOString();
180
+ const baggageValues = {
181
+ workflowId,
182
+ workflowName: config.name,
183
+ workflowVersion: config.version,
184
+ stepIndex: 0,
185
+ totalSteps: config.totalSteps,
186
+ parentWorkflowId: config.parentWorkflowId,
187
+ correlationId: config.correlationId,
188
+ priority: config.priority,
189
+ initiatedBy: config.initiatedBy,
190
+ startedAt
191
+ };
192
+ WorkflowBaggage.set(baseCtx, baggageValues);
193
+ baseCtx.setAttribute("workflow.id", workflowId);
194
+ baseCtx.setAttribute("workflow.name", config.name);
195
+ if (config.version) baseCtx.setAttribute("workflow.version", config.version);
196
+ if (config.totalSteps) baseCtx.setAttribute("workflow.total_steps", config.totalSteps);
197
+ if (config.parentWorkflowId) baseCtx.setAttribute("workflow.parent_id", config.parentWorkflowId);
198
+ if (config.priority) baseCtx.setAttribute("workflow.priority", config.priority);
199
+ if (config.initiatedBy) baseCtx.setAttribute("workflow.initiated_by", config.initiatedBy);
200
+ baseCtx.setAttribute("workflow.started_at", startedAt);
201
+ if (config.attributes) for (const [key, value] of Object.entries(config.attributes)) baseCtx.setAttribute(key, value);
202
+ const workflowCtx = {
203
+ ...baseCtx,
204
+ workflowId,
205
+ workflowName: config.name,
206
+ workflowVersion: config.version,
207
+ getWorkflowBaggage() {
208
+ return { ...baggageValues };
209
+ },
210
+ setWorkflowBaggage(values) {
211
+ Object.assign(baggageValues, values);
212
+ WorkflowBaggage.set(baseCtx, baggageValues);
213
+ },
214
+ getWorkflowHeaders() {
215
+ const headers = {};
216
+ const ctx = context.active();
217
+ propagation.inject(ctx, headers);
218
+ return headers;
219
+ },
220
+ recordStepProgress(stepName, stepIndex) {
221
+ baggageValues.stepName = stepName;
222
+ baggageValues.stepIndex = stepIndex;
223
+ WorkflowBaggage.set(baseCtx, baggageValues);
224
+ emitCorrelatedEvent(baseCtx, "workflow.step_progress", {
225
+ "workflow.step.name": stepName,
226
+ "workflow.step.index": stepIndex
227
+ });
228
+ }
229
+ };
230
+ config.onStart?.(workflowCtx);
231
+ emitCorrelatedEvent(baseCtx, "workflow.started", {
232
+ "workflow.id": workflowId,
233
+ "workflow.name": config.name
234
+ });
235
+ try {
236
+ const result = await fnFactory(workflowCtx)(...args);
237
+ config.onComplete?.(workflowCtx, result);
238
+ emitCorrelatedEvent(baseCtx, "workflow.completed", { "workflow.id": workflowId });
239
+ return result;
240
+ } catch (error) {
241
+ config.onError?.(workflowCtx, error);
242
+ emitCorrelatedEvent(baseCtx, "workflow.failed", {
243
+ "workflow.id": workflowId,
244
+ "workflow.error": error.message
245
+ });
246
+ throw error;
247
+ }
248
+ };
249
+ });
250
+ };
155
251
  }
252
+ /**
253
+ * Create a traced distributed workflow step
254
+ *
255
+ * Use in downstream services to trace steps that are part of a distributed workflow.
256
+ * Automatically extracts workflow baggage from the current context.
257
+ *
258
+ * @param config - Step configuration
259
+ * @returns Factory function for the step handler
260
+ *
261
+ * @example Consumer in downstream service
262
+ * ```typescript
263
+ * export const processInventory = traceConsumer({
264
+ * system: 'kafka',
265
+ * destination: 'inventory-requests',
266
+ * extractBaggage: true, // Extracts workflow.* from headers
267
+ * })(ctx => {
268
+ * // Wrap inner logic with traceDistributedStep
269
+ * return traceDistributedStep({
270
+ * name: 'ReserveInventory',
271
+ * })(stepCtx => async (message) => {
272
+ * console.log(`Processing workflow ${stepCtx.workflowId}`);
273
+ * await reserveItems(message.items);
274
+ * })(message);
275
+ * });
276
+ * ```
277
+ *
278
+ * @example Standalone step handler
279
+ * ```typescript
280
+ * export const reserveInventory = traceDistributedStep({
281
+ * name: 'ReserveInventory',
282
+ * idempotent: true,
283
+ * })(ctx => async (request: InventoryRequest) => {
284
+ * if (ctx.workflowId) {
285
+ * console.log(`Part of workflow ${ctx.workflowId}, step ${ctx.stepIndex}`);
286
+ * }
287
+ * return await inventoryService.reserve(request.items);
288
+ * });
289
+ * ```
290
+ */
156
291
  function traceDistributedStep(config) {
157
- const spanName = `workflow.step.${config.name}`;
158
- return (fnFactory) => {
159
- return trace(
160
- { name: spanName, spanKind: SpanKind.INTERNAL },
161
- (baseCtx) => {
162
- return async (...args) => {
163
- let baggageValues = null;
164
- const extractBaggage = config.extractBaggage ?? true;
165
- if (typeof extractBaggage === "function") {
166
- baggageValues = extractBaggage(args);
167
- } else if (extractBaggage) {
168
- const extracted = WorkflowBaggage.get(baseCtx);
169
- if (extracted.workflowId && extracted.workflowName) {
170
- baggageValues = extracted;
171
- }
172
- }
173
- let stepIndex;
174
- if (config.stepIndex !== void 0) {
175
- stepIndex = config.stepIndex;
176
- } else if (baggageValues?.stepIndex === void 0) {
177
- stepIndex = null;
178
- } else {
179
- stepIndex = baggageValues.stepIndex + 1;
180
- }
181
- if (baggageValues) {
182
- baggageValues.stepName = config.name;
183
- if (stepIndex !== null) {
184
- baggageValues.stepIndex = stepIndex;
185
- }
186
- WorkflowBaggage.set(baseCtx, baggageValues);
187
- }
188
- baseCtx.setAttribute("workflow.step.name", config.name);
189
- if (stepIndex !== null) {
190
- baseCtx.setAttribute("workflow.step.index", stepIndex);
191
- }
192
- if (config.idempotent !== void 0) {
193
- baseCtx.setAttribute("workflow.step.idempotent", config.idempotent);
194
- }
195
- if (config.isCompensation) {
196
- baseCtx.setAttribute("workflow.step.is_compensation", true);
197
- }
198
- if (baggageValues) {
199
- baseCtx.setAttribute("workflow.id", baggageValues.workflowId);
200
- baseCtx.setAttribute("workflow.name", baggageValues.workflowName);
201
- if (baggageValues.workflowVersion) {
202
- baseCtx.setAttribute(
203
- "workflow.version",
204
- baggageValues.workflowVersion
205
- );
206
- }
207
- if (baggageValues.totalSteps) {
208
- baseCtx.setAttribute(
209
- "workflow.total_steps",
210
- baggageValues.totalSteps
211
- );
212
- }
213
- }
214
- if (config.attributes) {
215
- for (const [key, value] of Object.entries(config.attributes)) {
216
- baseCtx.setAttribute(key, value);
217
- }
218
- }
219
- let compensationData;
220
- const stepCtx = {
221
- ...baseCtx,
222
- workflowId: baggageValues?.workflowId ?? null,
223
- workflowName: baggageValues?.workflowName ?? null,
224
- stepName: config.name,
225
- stepIndex,
226
- isCompensation: config.isCompensation ?? false,
227
- getWorkflowBaggage() {
228
- return baggageValues ? { ...baggageValues } : null;
229
- },
230
- updateWorkflowBaggage(values) {
231
- if (baggageValues) {
232
- Object.assign(baggageValues, values);
233
- WorkflowBaggage.set(baseCtx, baggageValues);
234
- }
235
- },
236
- getWorkflowHeaders() {
237
- const headers = {};
238
- const ctx = context.active();
239
- propagation.inject(ctx, headers);
240
- return headers;
241
- },
242
- requiresCompensation(data) {
243
- compensationData = data;
244
- baseCtx.setAttribute("workflow.step.requires_compensation", true);
245
- emitCorrelatedEvent(
246
- baseCtx,
247
- "workflow.step.compensation_registered",
248
- {
249
- "workflow.step.name": config.name,
250
- ...data && {
251
- "workflow.step.compensation_data": JSON.stringify(data)
252
- }
253
- }
254
- );
255
- }
256
- };
257
- config.onStart?.(stepCtx);
258
- emitCorrelatedEvent(baseCtx, "workflow.step.started", {
259
- "workflow.step.name": config.name,
260
- ...baggageValues && { "workflow.id": baggageValues.workflowId }
261
- });
262
- try {
263
- const userFn = fnFactory(stepCtx);
264
- const result = await userFn(...args);
265
- config.onComplete?.(stepCtx, result);
266
- emitCorrelatedEvent(baseCtx, "workflow.step.completed", {
267
- "workflow.step.name": config.name
268
- });
269
- return result;
270
- } catch (error) {
271
- config.onError?.(stepCtx, error);
272
- emitCorrelatedEvent(baseCtx, "workflow.step.failed", {
273
- "workflow.step.name": config.name,
274
- "workflow.step.error": error.message,
275
- ...compensationData && {
276
- "workflow.step.requires_compensation": true
277
- }
278
- });
279
- throw error;
280
- }
281
- };
282
- }
283
- );
284
- };
292
+ const spanName = `workflow.step.${config.name}`;
293
+ return (fnFactory) => {
294
+ return trace$1({
295
+ name: spanName,
296
+ spanKind: SpanKind.INTERNAL
297
+ }, (baseCtx) => {
298
+ return async (...args) => {
299
+ let baggageValues = null;
300
+ const extractBaggage = config.extractBaggage ?? true;
301
+ if (typeof extractBaggage === "function") baggageValues = extractBaggage(args);
302
+ else if (extractBaggage) {
303
+ const extracted = WorkflowBaggage.get(baseCtx);
304
+ if (extracted.workflowId && extracted.workflowName) baggageValues = extracted;
305
+ }
306
+ let stepIndex;
307
+ if (config.stepIndex !== void 0) stepIndex = config.stepIndex;
308
+ else if (baggageValues?.stepIndex === void 0) stepIndex = null;
309
+ else stepIndex = baggageValues.stepIndex + 1;
310
+ if (baggageValues) {
311
+ baggageValues.stepName = config.name;
312
+ if (stepIndex !== null) baggageValues.stepIndex = stepIndex;
313
+ WorkflowBaggage.set(baseCtx, baggageValues);
314
+ }
315
+ baseCtx.setAttribute("workflow.step.name", config.name);
316
+ if (stepIndex !== null) baseCtx.setAttribute("workflow.step.index", stepIndex);
317
+ if (config.idempotent !== void 0) baseCtx.setAttribute("workflow.step.idempotent", config.idempotent);
318
+ if (config.isCompensation) baseCtx.setAttribute("workflow.step.is_compensation", true);
319
+ if (baggageValues) {
320
+ baseCtx.setAttribute("workflow.id", baggageValues.workflowId);
321
+ baseCtx.setAttribute("workflow.name", baggageValues.workflowName);
322
+ if (baggageValues.workflowVersion) baseCtx.setAttribute("workflow.version", baggageValues.workflowVersion);
323
+ if (baggageValues.totalSteps) baseCtx.setAttribute("workflow.total_steps", baggageValues.totalSteps);
324
+ }
325
+ if (config.attributes) for (const [key, value] of Object.entries(config.attributes)) baseCtx.setAttribute(key, value);
326
+ let compensationData;
327
+ const stepCtx = {
328
+ ...baseCtx,
329
+ workflowId: baggageValues?.workflowId ?? null,
330
+ workflowName: baggageValues?.workflowName ?? null,
331
+ stepName: config.name,
332
+ stepIndex,
333
+ isCompensation: config.isCompensation ?? false,
334
+ getWorkflowBaggage() {
335
+ return baggageValues ? { ...baggageValues } : null;
336
+ },
337
+ updateWorkflowBaggage(values) {
338
+ if (baggageValues) {
339
+ Object.assign(baggageValues, values);
340
+ WorkflowBaggage.set(baseCtx, baggageValues);
341
+ }
342
+ },
343
+ getWorkflowHeaders() {
344
+ const headers = {};
345
+ const ctx = context.active();
346
+ propagation.inject(ctx, headers);
347
+ return headers;
348
+ },
349
+ requiresCompensation(data) {
350
+ compensationData = data;
351
+ baseCtx.setAttribute("workflow.step.requires_compensation", true);
352
+ emitCorrelatedEvent(baseCtx, "workflow.step.compensation_registered", {
353
+ "workflow.step.name": config.name,
354
+ ...data && { "workflow.step.compensation_data": JSON.stringify(data) }
355
+ });
356
+ }
357
+ };
358
+ config.onStart?.(stepCtx);
359
+ emitCorrelatedEvent(baseCtx, "workflow.step.started", {
360
+ "workflow.step.name": config.name,
361
+ ...baggageValues && { "workflow.id": baggageValues.workflowId }
362
+ });
363
+ try {
364
+ const result = await fnFactory(stepCtx)(...args);
365
+ config.onComplete?.(stepCtx, result);
366
+ emitCorrelatedEvent(baseCtx, "workflow.step.completed", { "workflow.step.name": config.name });
367
+ return result;
368
+ } catch (error) {
369
+ config.onError?.(stepCtx, error);
370
+ emitCorrelatedEvent(baseCtx, "workflow.step.failed", {
371
+ "workflow.step.name": config.name,
372
+ "workflow.step.error": error.message,
373
+ ...compensationData && { "workflow.step.requires_compensation": true }
374
+ });
375
+ throw error;
376
+ }
377
+ };
378
+ });
379
+ };
285
380
  }
381
+ /**
382
+ * Generate a unique workflow ID
383
+ *
384
+ * @param prefix - Optional prefix for the ID
385
+ * @returns A unique workflow ID
386
+ *
387
+ * @example
388
+ * ```typescript
389
+ * const workflowId = generateWorkflowId('order'); // "order-abc123def456"
390
+ * ```
391
+ */
286
392
  function generateWorkflowId(prefix) {
287
- const random = Math.random().toString(36).slice(2, 15);
288
- const timestamp = Date.now().toString(36);
289
- const id = `${timestamp}-${random}`;
290
- return prefix ? `${prefix}-${id}` : id;
393
+ const random = Math.random().toString(36).slice(2, 15);
394
+ const id = `${Date.now().toString(36)}-${random}`;
395
+ return prefix ? `${prefix}-${id}` : id;
291
396
  }
397
+ /**
398
+ * Check if the current context is part of a distributed workflow
399
+ *
400
+ * @param ctx - The trace context
401
+ * @returns True if workflow baggage is present
402
+ */
292
403
  function isInDistributedWorkflow(ctx) {
293
- const baggage = WorkflowBaggage.get(ctx);
294
- return !!(baggage.workflowId && baggage.workflowName);
404
+ const baggage = WorkflowBaggage.get(ctx);
405
+ return !!(baggage.workflowId && baggage.workflowName);
295
406
  }
407
+ /**
408
+ * Get workflow progress information
409
+ *
410
+ * @param ctx - The trace context
411
+ * @returns Progress info or null if not in a workflow
412
+ */
296
413
  function getWorkflowProgress(ctx) {
297
- const baggage = WorkflowBaggage.get(ctx);
298
- if (!baggage.workflowId || !baggage.workflowName) {
299
- return null;
300
- }
301
- const percentComplete = baggage.totalSteps && baggage.stepIndex !== void 0 ? Math.round((baggage.stepIndex + 1) / baggage.totalSteps * 100) : null;
302
- return {
303
- workflowId: baggage.workflowId,
304
- workflowName: baggage.workflowName,
305
- currentStep: baggage.stepName ?? null,
306
- currentStepIndex: baggage.stepIndex ?? null,
307
- totalSteps: baggage.totalSteps ?? null,
308
- percentComplete
309
- };
414
+ const baggage = WorkflowBaggage.get(ctx);
415
+ if (!baggage.workflowId || !baggage.workflowName) return null;
416
+ const percentComplete = baggage.totalSteps && baggage.stepIndex !== void 0 ? Math.round((baggage.stepIndex + 1) / baggage.totalSteps * 100) : null;
417
+ return {
418
+ workflowId: baggage.workflowId,
419
+ workflowName: baggage.workflowName,
420
+ currentStep: baggage.stepName ?? null,
421
+ currentStepIndex: baggage.stepIndex ?? null,
422
+ totalSteps: baggage.totalSteps ?? null,
423
+ percentComplete
424
+ };
310
425
  }
426
+ /**
427
+ * Create workflow correlation headers for manual propagation
428
+ *
429
+ * Use when you need to manually add workflow context to outgoing requests.
430
+ *
431
+ * @param values - Workflow baggage values
432
+ * @returns Headers object with workflow baggage
433
+ *
434
+ * @example
435
+ * ```typescript
436
+ * const headers = createWorkflowHeaders({
437
+ * workflowId: 'order-123',
438
+ * workflowName: 'OrderFulfillment',
439
+ * stepIndex: 2,
440
+ * });
441
+ *
442
+ * await fetch('/api/inventory', { headers });
443
+ * ```
444
+ */
311
445
  function createWorkflowHeaders(values) {
312
- const headers = {};
313
- const baggageEntries = [];
314
- if (values.workflowId) {
315
- baggageEntries.push(
316
- `workflow.workflowId=${encodeURIComponent(values.workflowId)}`
317
- );
318
- }
319
- if (values.workflowName) {
320
- baggageEntries.push(
321
- `workflow.workflowName=${encodeURIComponent(values.workflowName)}`
322
- );
323
- }
324
- if (values.workflowVersion) {
325
- baggageEntries.push(
326
- `workflow.workflowVersion=${encodeURIComponent(values.workflowVersion)}`
327
- );
328
- }
329
- if (values.stepName) {
330
- baggageEntries.push(
331
- `workflow.stepName=${encodeURIComponent(values.stepName)}`
332
- );
333
- }
334
- if (values.stepIndex !== void 0) {
335
- baggageEntries.push(`workflow.stepIndex=${values.stepIndex}`);
336
- }
337
- if (values.totalSteps !== void 0) {
338
- baggageEntries.push(`workflow.totalSteps=${values.totalSteps}`);
339
- }
340
- if (values.priority) {
341
- baggageEntries.push(`workflow.priority=${values.priority}`);
342
- }
343
- if (values.correlationId) {
344
- baggageEntries.push(
345
- `workflow.correlationId=${encodeURIComponent(values.correlationId)}`
346
- );
347
- }
348
- if (values.parentWorkflowId) {
349
- baggageEntries.push(
350
- `workflow.parentWorkflowId=${encodeURIComponent(values.parentWorkflowId)}`
351
- );
352
- }
353
- if (values.initiatedBy) {
354
- baggageEntries.push(
355
- `workflow.initiatedBy=${encodeURIComponent(values.initiatedBy)}`
356
- );
357
- }
358
- if (values.startedAt) {
359
- baggageEntries.push(
360
- `workflow.startedAt=${encodeURIComponent(values.startedAt)}`
361
- );
362
- }
363
- if (baggageEntries.length > 0) {
364
- headers["baggage"] = baggageEntries.join(",");
365
- }
366
- return headers;
446
+ const headers = {};
447
+ const baggageEntries = [];
448
+ if (values.workflowId) baggageEntries.push(`workflow.workflowId=${encodeURIComponent(values.workflowId)}`);
449
+ if (values.workflowName) baggageEntries.push(`workflow.workflowName=${encodeURIComponent(values.workflowName)}`);
450
+ if (values.workflowVersion) baggageEntries.push(`workflow.workflowVersion=${encodeURIComponent(values.workflowVersion)}`);
451
+ if (values.stepName) baggageEntries.push(`workflow.stepName=${encodeURIComponent(values.stepName)}`);
452
+ if (values.stepIndex !== void 0) baggageEntries.push(`workflow.stepIndex=${values.stepIndex}`);
453
+ if (values.totalSteps !== void 0) baggageEntries.push(`workflow.totalSteps=${values.totalSteps}`);
454
+ if (values.priority) baggageEntries.push(`workflow.priority=${values.priority}`);
455
+ if (values.correlationId) baggageEntries.push(`workflow.correlationId=${encodeURIComponent(values.correlationId)}`);
456
+ if (values.parentWorkflowId) baggageEntries.push(`workflow.parentWorkflowId=${encodeURIComponent(values.parentWorkflowId)}`);
457
+ if (values.initiatedBy) baggageEntries.push(`workflow.initiatedBy=${encodeURIComponent(values.initiatedBy)}`);
458
+ if (values.startedAt) baggageEntries.push(`workflow.startedAt=${encodeURIComponent(values.startedAt)}`);
459
+ if (baggageEntries.length > 0) headers["baggage"] = baggageEntries.join(",");
460
+ return headers;
367
461
  }
462
+ /**
463
+ * Parse workflow context from baggage header
464
+ *
465
+ * @param baggageHeader - The baggage header value
466
+ * @returns Parsed workflow values or null
467
+ */
368
468
  function parseWorkflowFromBaggage(baggageHeader) {
369
- if (!baggageHeader) {
370
- return null;
371
- }
372
- const values = {};
373
- const entries = baggageHeader.split(",");
374
- for (const entry of entries) {
375
- const [key, value] = entry.trim().split("=");
376
- if (!key || !value) continue;
377
- const decodedValue = decodeURIComponent(value);
378
- switch (key) {
379
- case "workflow.workflowId": {
380
- values.workflowId = decodedValue;
381
- break;
382
- }
383
- case "workflow.workflowName": {
384
- values.workflowName = decodedValue;
385
- break;
386
- }
387
- case "workflow.workflowVersion": {
388
- values.workflowVersion = decodedValue;
389
- break;
390
- }
391
- case "workflow.stepName": {
392
- values.stepName = decodedValue;
393
- break;
394
- }
395
- case "workflow.stepIndex": {
396
- values.stepIndex = Number.parseInt(decodedValue, 10);
397
- break;
398
- }
399
- case "workflow.totalSteps": {
400
- values.totalSteps = Number.parseInt(decodedValue, 10);
401
- break;
402
- }
403
- case "workflow.priority": {
404
- values.priority = decodedValue;
405
- break;
406
- }
407
- case "workflow.correlationId": {
408
- values.correlationId = decodedValue;
409
- break;
410
- }
411
- case "workflow.parentWorkflowId": {
412
- values.parentWorkflowId = decodedValue;
413
- break;
414
- }
415
- case "workflow.initiatedBy": {
416
- values.initiatedBy = decodedValue;
417
- break;
418
- }
419
- case "workflow.startedAt": {
420
- values.startedAt = decodedValue;
421
- break;
422
- }
423
- }
424
- }
425
- return Object.keys(values).length > 0 ? values : null;
469
+ if (!baggageHeader) return null;
470
+ const values = {};
471
+ const entries = baggageHeader.split(",");
472
+ for (const entry of entries) {
473
+ const [key, value] = entry.trim().split("=");
474
+ if (!key || !value) continue;
475
+ const decodedValue = decodeURIComponent(value);
476
+ switch (key) {
477
+ case "workflow.workflowId":
478
+ values.workflowId = decodedValue;
479
+ break;
480
+ case "workflow.workflowName":
481
+ values.workflowName = decodedValue;
482
+ break;
483
+ case "workflow.workflowVersion":
484
+ values.workflowVersion = decodedValue;
485
+ break;
486
+ case "workflow.stepName":
487
+ values.stepName = decodedValue;
488
+ break;
489
+ case "workflow.stepIndex":
490
+ values.stepIndex = Number.parseInt(decodedValue, 10);
491
+ break;
492
+ case "workflow.totalSteps":
493
+ values.totalSteps = Number.parseInt(decodedValue, 10);
494
+ break;
495
+ case "workflow.priority":
496
+ values.priority = decodedValue;
497
+ break;
498
+ case "workflow.correlationId":
499
+ values.correlationId = decodedValue;
500
+ break;
501
+ case "workflow.parentWorkflowId":
502
+ values.parentWorkflowId = decodedValue;
503
+ break;
504
+ case "workflow.initiatedBy":
505
+ values.initiatedBy = decodedValue;
506
+ break;
507
+ case "workflow.startedAt":
508
+ values.startedAt = decodedValue;
509
+ break;
510
+ }
511
+ }
512
+ return Object.keys(values).length > 0 ? values : null;
426
513
  }
427
514
 
515
+ //#endregion
428
516
  export { WorkflowBaggage, createWorkflowHeaders, generateWorkflowId, getWorkflowProgress, isInDistributedWorkflow, parseWorkflowFromBaggage, traceDistributedStep, traceDistributedWorkflow };
429
- //# sourceMappingURL=workflow-distributed.js.map
430
517
  //# sourceMappingURL=workflow-distributed.js.map