autotel 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts +175 -0
  2. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts.map +1 -0
  3. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts +175 -0
  4. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts.map +1 -0
  5. package/dist/attribute-redacting-processor.cjs +374 -33
  6. package/dist/attribute-redacting-processor.cjs.map +1 -1
  7. package/dist/attribute-redacting-processor.d.cts +2 -207
  8. package/dist/attribute-redacting-processor.d.ts +2 -207
  9. package/dist/attribute-redacting-processor.js +368 -2
  10. package/dist/attribute-redacting-processor.js.map +1 -1
  11. package/dist/attributes-D3etyRVc.cjs +713 -0
  12. package/dist/attributes-D3etyRVc.cjs.map +1 -0
  13. package/dist/attributes-ksn4HVbd.js +600 -0
  14. package/dist/attributes-ksn4HVbd.js.map +1 -0
  15. package/dist/attributes.cjs +21 -85
  16. package/dist/attributes.d.cts +2 -20
  17. package/dist/attributes.d.ts +2 -20
  18. package/dist/attributes.js +3 -5
  19. package/dist/auto.cjs +50 -28
  20. package/dist/auto.cjs.map +1 -1
  21. package/dist/auto.d.cts +1 -2
  22. package/dist/auto.d.ts +1 -2
  23. package/dist/auto.js +49 -23
  24. package/dist/auto.js.map +1 -1
  25. package/dist/business-baggage.cjs +357 -13
  26. package/dist/business-baggage.cjs.map +1 -1
  27. package/dist/business-baggage.d.cts +106 -139
  28. package/dist/business-baggage.d.cts.map +1 -0
  29. package/dist/business-baggage.d.ts +106 -139
  30. package/dist/business-baggage.d.ts.map +1 -0
  31. package/dist/business-baggage.js +357 -2
  32. package/dist/business-baggage.js.map +1 -1
  33. package/dist/canonical-log-line-processor--RlFDHhm.cjs +377 -0
  34. package/dist/canonical-log-line-processor--RlFDHhm.cjs.map +1 -0
  35. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts +147 -0
  36. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts.map +1 -0
  37. package/dist/canonical-log-line-processor-DbBQT5vY.js +366 -0
  38. package/dist/canonical-log-line-processor-DbBQT5vY.js.map +1 -0
  39. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts +147 -0
  40. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts.map +1 -0
  41. package/dist/config.cjs +118 -22
  42. package/dist/config.cjs.map +1 -1
  43. package/dist/config.d.cts +33 -45
  44. package/dist/config.d.cts.map +1 -0
  45. package/dist/config.d.ts +33 -45
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +116 -3
  48. package/dist/config.js.map +1 -1
  49. package/dist/correlated-events-Bzh5y-UB.js +28 -0
  50. package/dist/correlated-events-Bzh5y-UB.js.map +1 -0
  51. package/dist/correlated-events-kSwLo3mi.cjs +34 -0
  52. package/dist/correlated-events-kSwLo3mi.cjs.map +1 -0
  53. package/dist/correlation-id.cjs +11 -54
  54. package/dist/correlation-id.d.cts +6 -5
  55. package/dist/correlation-id.d.cts.map +1 -0
  56. package/dist/correlation-id.d.ts +6 -5
  57. package/dist/correlation-id.d.ts.map +1 -0
  58. package/dist/correlation-id.js +3 -17
  59. package/dist/db.cjs +244 -209
  60. package/dist/db.cjs.map +1 -1
  61. package/dist/db.d.cts +28 -26
  62. package/dist/db.d.cts.map +1 -0
  63. package/dist/db.d.ts +28 -26
  64. package/dist/db.d.ts.map +1 -0
  65. package/dist/db.js +243 -207
  66. package/dist/db.js.map +1 -1
  67. package/dist/decorators.cjs +39 -66
  68. package/dist/decorators.cjs.map +1 -1
  69. package/dist/decorators.d.cts +10 -37
  70. package/dist/decorators.d.cts.map +1 -0
  71. package/dist/decorators.d.ts +10 -37
  72. package/dist/decorators.d.ts.map +1 -0
  73. package/dist/decorators.js +38 -64
  74. package/dist/decorators.js.map +1 -1
  75. package/dist/define-event-CreknLm3.d.ts +25 -0
  76. package/dist/define-event-CreknLm3.d.ts.map +1 -0
  77. package/dist/define-event-HZRizPwz.d.cts +25 -0
  78. package/dist/define-event-HZRizPwz.d.cts.map +1 -0
  79. package/dist/drain-pipeline.cjs +111 -9
  80. package/dist/drain-pipeline.cjs.map +1 -1
  81. package/dist/drain-pipeline.d.cts +27 -32
  82. package/dist/drain-pipeline.d.cts.map +1 -0
  83. package/dist/drain-pipeline.d.ts +27 -32
  84. package/dist/drain-pipeline.d.ts.map +1 -0
  85. package/dist/drain-pipeline.js +111 -2
  86. package/dist/drain-pipeline.js.map +1 -1
  87. package/dist/enrichers.cjs +59 -66
  88. package/dist/enrichers.cjs.map +1 -1
  89. package/dist/enrichers.d.cts +15 -13
  90. package/dist/enrichers.d.cts.map +1 -0
  91. package/dist/enrichers.d.ts +15 -13
  92. package/dist/enrichers.d.ts.map +1 -0
  93. package/dist/enrichers.js +58 -65
  94. package/dist/enrichers.js.map +1 -1
  95. package/dist/event-Dlqr4ZNL.cjs +778 -0
  96. package/dist/event-Dlqr4ZNL.cjs.map +1 -0
  97. package/dist/event-_58ryBjh.js +761 -0
  98. package/dist/event-_58ryBjh.js.map +1 -0
  99. package/dist/event-subscriber-D1XLkPzi.d.cts +223 -0
  100. package/dist/event-subscriber-D1XLkPzi.d.cts.map +1 -0
  101. package/dist/event-subscriber-D1XLkPzi.d.ts +223 -0
  102. package/dist/event-subscriber-D1XLkPzi.d.ts.map +1 -0
  103. package/dist/event-subscriber.cjs +0 -6
  104. package/dist/event-subscriber.d.cts +2 -221
  105. package/dist/event-subscriber.d.ts +2 -221
  106. package/dist/event-subscriber.js +1 -3
  107. package/dist/event-testing-BqRnI0z4.d.cts +106 -0
  108. package/dist/event-testing-BqRnI0z4.d.cts.map +1 -0
  109. package/dist/event-testing-CfFs3to2.d.ts +106 -0
  110. package/dist/event-testing-CfFs3to2.d.ts.map +1 -0
  111. package/dist/event-testing.cjs +93 -17
  112. package/dist/event-testing.cjs.map +1 -1
  113. package/dist/event-testing.d.cts +2 -110
  114. package/dist/event-testing.d.ts +2 -110
  115. package/dist/event-testing.js +91 -2
  116. package/dist/event-testing.js.map +1 -1
  117. package/dist/event.cjs +5 -37
  118. package/dist/event.d.cts +295 -340
  119. package/dist/event.d.cts.map +1 -0
  120. package/dist/event.d.ts +295 -340
  121. package/dist/event.d.ts.map +1 -0
  122. package/dist/event.js +3 -21
  123. package/dist/exporters.cjs +12 -16
  124. package/dist/exporters.d.cts +86 -111
  125. package/dist/exporters.d.cts.map +1 -0
  126. package/dist/exporters.d.ts +86 -111
  127. package/dist/exporters.d.ts.map +1 -0
  128. package/dist/exporters.js +4 -4
  129. package/dist/filtering-span-processor-B8R8B7Uk.d.cts +59 -0
  130. package/dist/filtering-span-processor-B8R8B7Uk.d.cts.map +1 -0
  131. package/dist/filtering-span-processor-B8R8B7Uk.d.ts +59 -0
  132. package/dist/filtering-span-processor-B8R8B7Uk.d.ts.map +1 -0
  133. package/dist/filtering-span-processor.cjs +49 -9
  134. package/dist/filtering-span-processor.cjs.map +1 -1
  135. package/dist/filtering-span-processor.d.cts +2 -80
  136. package/dist/filtering-span-processor.d.ts +2 -80
  137. package/dist/filtering-span-processor.js +49 -2
  138. package/dist/filtering-span-processor.js.map +1 -1
  139. package/dist/functional-BGkT8J-h.js +1265 -0
  140. package/dist/functional-BGkT8J-h.js.map +1 -0
  141. package/dist/functional-C4CzoVrX.cjs +1312 -0
  142. package/dist/functional-C4CzoVrX.cjs.map +1 -0
  143. package/dist/functional.cjs +11 -57
  144. package/dist/functional.d.cts +96 -97
  145. package/dist/functional.d.cts.map +1 -0
  146. package/dist/functional.d.ts +96 -97
  147. package/dist/functional.d.ts.map +1 -0
  148. package/dist/functional.js +3 -20
  149. package/dist/http.cjs +276 -176
  150. package/dist/http.cjs.map +1 -1
  151. package/dist/http.d.cts +17 -37
  152. package/dist/http.d.cts.map +1 -0
  153. package/dist/http.d.ts +17 -37
  154. package/dist/http.d.ts.map +1 -0
  155. package/dist/http.js +275 -174
  156. package/dist/http.js.map +1 -1
  157. package/dist/index-CX0aG1Uh.d.ts +708 -0
  158. package/dist/index-CX0aG1Uh.d.ts.map +1 -0
  159. package/dist/index-DIWZFKUS.d.cts +708 -0
  160. package/dist/index-DIWZFKUS.d.cts.map +1 -0
  161. package/dist/index.cjs +1049 -1172
  162. package/dist/index.cjs.map +1 -1
  163. package/dist/index.d.cts +401 -551
  164. package/dist/index.d.cts.map +1 -0
  165. package/dist/index.d.ts +401 -551
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +912 -714
  168. package/dist/index.js.map +1 -1
  169. package/dist/init-CNp-ee80.d.cts +1157 -0
  170. package/dist/init-CNp-ee80.d.cts.map +1 -0
  171. package/dist/init-Ch6t7MNI.js +1015 -0
  172. package/dist/init-Ch6t7MNI.js.map +1 -0
  173. package/dist/init-DJQOdVlN.d.ts +1157 -0
  174. package/dist/init-DJQOdVlN.d.ts.map +1 -0
  175. package/dist/init-DvapOXCc.cjs +1092 -0
  176. package/dist/init-DvapOXCc.cjs.map +1 -0
  177. package/dist/instrumentation.cjs +159 -185
  178. package/dist/instrumentation.cjs.map +1 -1
  179. package/dist/instrumentation.d.cts +42 -40
  180. package/dist/instrumentation.d.cts.map +1 -0
  181. package/dist/instrumentation.d.ts +42 -40
  182. package/dist/instrumentation.d.ts.map +1 -0
  183. package/dist/instrumentation.js +158 -183
  184. package/dist/instrumentation.js.map +1 -1
  185. package/dist/logger-BauSUhUv.d.cts +313 -0
  186. package/dist/logger-BauSUhUv.d.cts.map +1 -0
  187. package/dist/logger-BauSUhUv.d.ts +313 -0
  188. package/dist/logger-BauSUhUv.d.ts.map +1 -0
  189. package/dist/logger.cjs +225 -25
  190. package/dist/logger.cjs.map +1 -1
  191. package/dist/logger.d.cts +2 -348
  192. package/dist/logger.d.ts +2 -348
  193. package/dist/logger.js +204 -4
  194. package/dist/logger.js.map +1 -1
  195. package/dist/messaging-adapters.cjs +292 -187
  196. package/dist/messaging-adapters.cjs.map +1 -1
  197. package/dist/messaging-adapters.d.cts +28 -66
  198. package/dist/messaging-adapters.d.cts.map +1 -0
  199. package/dist/messaging-adapters.d.ts +28 -66
  200. package/dist/messaging-adapters.d.ts.map +1 -0
  201. package/dist/messaging-adapters.js +291 -185
  202. package/dist/messaging-adapters.js.map +1 -1
  203. package/dist/messaging-testing.cjs +306 -372
  204. package/dist/messaging-testing.cjs.map +1 -1
  205. package/dist/messaging-testing.d.cts +194 -223
  206. package/dist/messaging-testing.d.cts.map +1 -0
  207. package/dist/messaging-testing.d.ts +194 -223
  208. package/dist/messaging-testing.d.ts.map +1 -0
  209. package/dist/messaging-testing.js +305 -371
  210. package/dist/messaging-testing.js.map +1 -1
  211. package/dist/messaging.cjs +757 -36
  212. package/dist/messaging.cjs.map +1 -1
  213. package/dist/messaging.d.cts +603 -644
  214. package/dist/messaging.d.cts.map +1 -0
  215. package/dist/messaging.d.ts +603 -644
  216. package/dist/messaging.d.ts.map +1 -0
  217. package/dist/messaging.js +756 -21
  218. package/dist/messaging.js.map +1 -1
  219. package/dist/metric-helpers.cjs +27 -27
  220. package/dist/metric-helpers.cjs.map +1 -1
  221. package/dist/metric-helpers.d.cts +4 -2
  222. package/dist/metric-helpers.d.cts.map +1 -0
  223. package/dist/metric-helpers.d.ts +4 -2
  224. package/dist/metric-helpers.d.ts.map +1 -0
  225. package/dist/metric-helpers.js +24 -4
  226. package/dist/metric-helpers.js.map +1 -1
  227. package/dist/metric-testing-DXdK3-Q3.d.ts +106 -0
  228. package/dist/metric-testing-DXdK3-Q3.d.ts.map +1 -0
  229. package/dist/metric-testing-MxvzChDp.d.cts +106 -0
  230. package/dist/metric-testing-MxvzChDp.d.cts.map +1 -0
  231. package/dist/metric-testing.cjs +93 -17
  232. package/dist/metric-testing.cjs.map +1 -1
  233. package/dist/metric-testing.d.cts +2 -110
  234. package/dist/metric-testing.d.ts +2 -110
  235. package/dist/metric-testing.js +91 -2
  236. package/dist/metric-testing.js.map +1 -1
  237. package/dist/metric.cjs +306 -22
  238. package/dist/metric.cjs.map +1 -1
  239. package/dist/metric.d.cts +170 -198
  240. package/dist/metric.d.cts.map +1 -0
  241. package/dist/metric.d.ts +170 -198
  242. package/dist/metric.d.ts.map +1 -0
  243. package/dist/metric.js +277 -7
  244. package/dist/metric.js.map +1 -1
  245. package/dist/node-require-DF5QBX6z.cjs +99 -0
  246. package/dist/node-require-DF5QBX6z.cjs.map +1 -0
  247. package/dist/node-require-Db1oDpLj.js +88 -0
  248. package/dist/node-require-Db1oDpLj.js.map +1 -0
  249. package/dist/operation-context-C-2hmmtP.js +59 -0
  250. package/dist/operation-context-C-2hmmtP.js.map +1 -0
  251. package/dist/operation-context-n4_obUwq.cjs +70 -0
  252. package/dist/operation-context-n4_obUwq.cjs.map +1 -0
  253. package/dist/parse-error.cjs +55 -9
  254. package/dist/parse-error.cjs.map +1 -1
  255. package/dist/parse-error.d.cts +12 -10
  256. package/dist/parse-error.d.cts.map +1 -0
  257. package/dist/parse-error.d.ts +12 -10
  258. package/dist/parse-error.d.ts.map +1 -0
  259. package/dist/parse-error.js +55 -2
  260. package/dist/parse-error.js.map +1 -1
  261. package/dist/pretty-console-exporter-CMzlrRNg.cjs +232 -0
  262. package/dist/pretty-console-exporter-CMzlrRNg.cjs.map +1 -0
  263. package/dist/pretty-console-exporter-DqKl_q9z.js +227 -0
  264. package/dist/pretty-console-exporter-DqKl_q9z.js.map +1 -0
  265. package/dist/processors.cjs +13 -17
  266. package/dist/processors.d.cts +3 -171
  267. package/dist/processors.d.ts +3 -171
  268. package/dist/processors.js +4 -4
  269. package/dist/register.cjs +35 -6
  270. package/dist/register.cjs.map +1 -1
  271. package/dist/register.d.cts +1 -2
  272. package/dist/register.d.ts +1 -2
  273. package/dist/register.js +36 -3
  274. package/dist/register.js.map +1 -1
  275. package/dist/registry-DfXA3R1L.js +184 -0
  276. package/dist/registry-DfXA3R1L.js.map +1 -0
  277. package/dist/registry-JZg2J3RZ.cjs +334 -0
  278. package/dist/registry-JZg2J3RZ.cjs.map +1 -0
  279. package/dist/sampling-CR0Va1VB.d.ts +351 -0
  280. package/dist/sampling-CR0Va1VB.d.ts.map +1 -0
  281. package/dist/sampling-DfYhDJij.d.cts +351 -0
  282. package/dist/sampling-DfYhDJij.d.cts.map +1 -0
  283. package/dist/sampling.cjs +452 -60
  284. package/dist/sampling.cjs.map +1 -1
  285. package/dist/sampling.d.cts +2 -379
  286. package/dist/sampling.d.ts +2 -379
  287. package/dist/sampling.js +441 -5
  288. package/dist/sampling.js.map +1 -1
  289. package/dist/security-schema.cjs +65 -46
  290. package/dist/security-schema.cjs.map +1 -1
  291. package/dist/security-schema.d.cts +23 -26
  292. package/dist/security-schema.d.cts.map +1 -0
  293. package/dist/security-schema.d.ts +23 -26
  294. package/dist/security-schema.d.ts.map +1 -0
  295. package/dist/security-schema.js +64 -45
  296. package/dist/security-schema.js.map +1 -1
  297. package/dist/semantic-conventions-FhSxv-bK.d.cts +32 -0
  298. package/dist/semantic-conventions-FhSxv-bK.d.cts.map +1 -0
  299. package/dist/semantic-conventions-FhSxv-bK.d.ts +32 -0
  300. package/dist/semantic-conventions-FhSxv-bK.d.ts.map +1 -0
  301. package/dist/semantic-conventions.cjs +15 -26
  302. package/dist/semantic-conventions.cjs.map +1 -1
  303. package/dist/semantic-conventions.d.cts +2 -29
  304. package/dist/semantic-conventions.d.ts +2 -29
  305. package/dist/semantic-conventions.js +12 -3
  306. package/dist/semantic-conventions.js.map +1 -1
  307. package/dist/semantic-helpers.cjs +440 -39
  308. package/dist/semantic-helpers.cjs.map +1 -1
  309. package/dist/semantic-helpers.d.cts +38 -45
  310. package/dist/semantic-helpers.d.cts.map +1 -0
  311. package/dist/semantic-helpers.d.ts +38 -45
  312. package/dist/semantic-helpers.d.ts.map +1 -0
  313. package/dist/semantic-helpers.js +438 -20
  314. package/dist/semantic-helpers.js.map +1 -1
  315. package/dist/span-name-normalizer-8ZOGJuwv.d.cts +70 -0
  316. package/dist/span-name-normalizer-8ZOGJuwv.d.cts.map +1 -0
  317. package/dist/span-name-normalizer-8ZOGJuwv.d.ts +70 -0
  318. package/dist/span-name-normalizer-8ZOGJuwv.d.ts.map +1 -0
  319. package/dist/span-name-normalizer.cjs +95 -17
  320. package/dist/span-name-normalizer.cjs.map +1 -1
  321. package/dist/span-name-normalizer.d.cts +2 -94
  322. package/dist/span-name-normalizer.d.ts +2 -94
  323. package/dist/span-name-normalizer.js +93 -2
  324. package/dist/span-name-normalizer.js.map +1 -1
  325. package/dist/stable-hash-BNTMrmdB.cjs +28 -0
  326. package/dist/stable-hash-BNTMrmdB.cjs.map +1 -0
  327. package/dist/stable-hash-Cg5cT34Q.js +23 -0
  328. package/dist/stable-hash-Cg5cT34Q.js.map +1 -0
  329. package/dist/structured-error-9--cxBay.js +143 -0
  330. package/dist/structured-error-9--cxBay.js.map +1 -0
  331. package/dist/structured-error-CHg7DoIQ.cjs +178 -0
  332. package/dist/structured-error-CHg7DoIQ.cjs.map +1 -0
  333. package/dist/tail-sampling-processor.cjs +26 -13
  334. package/dist/tail-sampling-processor.cjs.map +1 -1
  335. package/dist/tail-sampling-processor.d.cts +11 -23
  336. package/dist/tail-sampling-processor.d.cts.map +1 -0
  337. package/dist/tail-sampling-processor.d.ts +11 -23
  338. package/dist/tail-sampling-processor.d.ts.map +1 -0
  339. package/dist/tail-sampling-processor.js +27 -6
  340. package/dist/tail-sampling-processor.js.map +1 -1
  341. package/dist/test-span-collector.cjs +70 -72
  342. package/dist/test-span-collector.cjs.map +1 -1
  343. package/dist/test-span-collector.d.cts +25 -43
  344. package/dist/test-span-collector.d.cts.map +1 -0
  345. package/dist/test-span-collector.d.ts +25 -43
  346. package/dist/test-span-collector.d.ts.map +1 -0
  347. package/dist/test-span-collector.js +69 -70
  348. package/dist/test-span-collector.js.map +1 -1
  349. package/dist/testing.cjs +389 -278
  350. package/dist/testing.cjs.map +1 -1
  351. package/dist/testing.d.cts +39 -62
  352. package/dist/testing.d.cts.map +1 -0
  353. package/dist/testing.d.ts +39 -62
  354. package/dist/testing.d.ts.map +1 -0
  355. package/dist/testing.js +386 -265
  356. package/dist/testing.js.map +1 -1
  357. package/dist/trace-context-Cijqoi6e.d.cts +212 -0
  358. package/dist/trace-context-Cijqoi6e.d.cts.map +1 -0
  359. package/dist/trace-context-Cijqoi6e.d.ts +212 -0
  360. package/dist/trace-context-Cijqoi6e.d.ts.map +1 -0
  361. package/dist/trace-helpers.cjs +634 -54
  362. package/dist/trace-helpers.cjs.map +1 -1
  363. package/dist/trace-helpers.d.cts +17 -49
  364. package/dist/trace-helpers.d.cts.map +1 -0
  365. package/dist/trace-helpers.d.ts +17 -49
  366. package/dist/trace-helpers.d.ts.map +1 -0
  367. package/dist/trace-helpers.js +624 -3
  368. package/dist/trace-helpers.js.map +1 -1
  369. package/dist/tracer-provider.cjs +227 -16
  370. package/dist/tracer-provider.cjs.map +1 -1
  371. package/dist/tracer-provider.d.cts +5 -4
  372. package/dist/tracer-provider.d.cts.map +1 -0
  373. package/dist/tracer-provider.d.ts +5 -4
  374. package/dist/tracer-provider.d.ts.map +1 -0
  375. package/dist/tracer-provider.js +227 -2
  376. package/dist/tracer-provider.js.map +1 -1
  377. package/dist/track-3HY4NGV-.cjs +1212 -0
  378. package/dist/track-3HY4NGV-.cjs.map +1 -0
  379. package/dist/track-nsKVy-pj.js +1111 -0
  380. package/dist/track-nsKVy-pj.js.map +1 -0
  381. package/dist/validate.cjs +178 -115
  382. package/dist/validate.cjs.map +1 -1
  383. package/dist/validate.d.cts +40 -64
  384. package/dist/validate.d.cts.map +1 -0
  385. package/dist/validate.d.ts +40 -64
  386. package/dist/validate.d.ts.map +1 -0
  387. package/dist/validate.js +177 -113
  388. package/dist/validate.js.map +1 -1
  389. package/dist/validation-attributes.cjs +42 -17
  390. package/dist/validation-attributes.cjs.map +1 -1
  391. package/dist/validation-attributes.d.cts +13 -20
  392. package/dist/validation-attributes.d.cts.map +1 -0
  393. package/dist/validation-attributes.d.ts +13 -20
  394. package/dist/validation-attributes.d.ts.map +1 -0
  395. package/dist/validation-attributes.js +40 -2
  396. package/dist/validation-attributes.js.map +1 -1
  397. package/dist/webhook.cjs +286 -256
  398. package/dist/webhook.cjs.map +1 -1
  399. package/dist/webhook.d.cts +157 -192
  400. package/dist/webhook.d.cts.map +1 -0
  401. package/dist/webhook.d.ts +157 -192
  402. package/dist/webhook.d.ts.map +1 -0
  403. package/dist/webhook.js +285 -254
  404. package/dist/webhook.js.map +1 -1
  405. package/dist/workflow-distributed.cjs +498 -412
  406. package/dist/workflow-distributed.cjs.map +1 -1
  407. package/dist/workflow-distributed.d.cts +163 -173
  408. package/dist/workflow-distributed.d.cts.map +1 -0
  409. package/dist/workflow-distributed.d.ts +163 -173
  410. package/dist/workflow-distributed.d.ts.map +1 -0
  411. package/dist/workflow-distributed.js +497 -410
  412. package/dist/workflow-distributed.js.map +1 -1
  413. package/dist/workflow.cjs +405 -40
  414. package/dist/workflow.cjs.map +1 -1
  415. package/dist/workflow.d.cts +78 -131
  416. package/dist/workflow.d.cts.map +1 -0
  417. package/dist/workflow.d.ts +78 -131
  418. package/dist/workflow.d.ts.map +1 -0
  419. package/dist/workflow.js +403 -21
  420. package/dist/workflow.js.map +1 -1
  421. package/dist/yaml-config-B3dQ82GR.cjs +272 -0
  422. package/dist/yaml-config-B3dQ82GR.cjs.map +1 -0
  423. package/dist/yaml-config.cjs +5 -24
  424. package/dist/yaml-config.d.cts +30 -64
  425. package/dist/yaml-config.d.cts.map +1 -0
  426. package/dist/yaml-config.d.ts +30 -64
  427. package/dist/yaml-config.d.ts.map +1 -0
  428. package/dist/yaml-config.js +226 -7
  429. package/dist/yaml-config.js.map +1 -1
  430. package/package.json +4 -4
  431. package/src/index.ts +3 -0
  432. package/src/request-logger.test.ts +53 -1
  433. package/src/request-logger.ts +58 -0
  434. package/src/validate.test.ts +3 -1
  435. package/src/validate.ts +9 -3
  436. package/dist/attributes.cjs.map +0 -1
  437. package/dist/attributes.js.map +0 -1
  438. package/dist/chunk-2ZKEORFN.cjs +0 -14
  439. package/dist/chunk-2ZKEORFN.cjs.map +0 -1
  440. package/dist/chunk-3QXBFGKP.js +0 -344
  441. package/dist/chunk-3QXBFGKP.js.map +0 -1
  442. package/dist/chunk-454CH4OV.js +0 -744
  443. package/dist/chunk-454CH4OV.js.map +0 -1
  444. package/dist/chunk-4A53YIAX.js +0 -180
  445. package/dist/chunk-4A53YIAX.js.map +0 -1
  446. package/dist/chunk-4IFSYQVX.js +0 -337
  447. package/dist/chunk-4IFSYQVX.js.map +0 -1
  448. package/dist/chunk-4P6ZOARG.cjs +0 -33
  449. package/dist/chunk-4P6ZOARG.cjs.map +0 -1
  450. package/dist/chunk-55ER2KD5.js +0 -228
  451. package/dist/chunk-55ER2KD5.js.map +0 -1
  452. package/dist/chunk-5ZN622AO.js +0 -73
  453. package/dist/chunk-5ZN622AO.js.map +0 -1
  454. package/dist/chunk-66YJ66GG.js +0 -1021
  455. package/dist/chunk-66YJ66GG.js.map +0 -1
  456. package/dist/chunk-6S5RUKU3.cjs +0 -347
  457. package/dist/chunk-6S5RUKU3.cjs.map +0 -1
  458. package/dist/chunk-6UQRVUN3.js +0 -222
  459. package/dist/chunk-6UQRVUN3.js.map +0 -1
  460. package/dist/chunk-7552UTQW.js +0 -11
  461. package/dist/chunk-7552UTQW.js.map +0 -1
  462. package/dist/chunk-7EQ4G4SI.cjs +0 -146
  463. package/dist/chunk-7EQ4G4SI.cjs.map +0 -1
  464. package/dist/chunk-7SAWIN74.js +0 -285
  465. package/dist/chunk-7SAWIN74.js.map +0 -1
  466. package/dist/chunk-A4E5AQFK.js +0 -30
  467. package/dist/chunk-A4E5AQFK.js.map +0 -1
  468. package/dist/chunk-ALPYR2GC.js +0 -1061
  469. package/dist/chunk-ALPYR2GC.js.map +0 -1
  470. package/dist/chunk-B7SWBE4P.cjs +0 -799
  471. package/dist/chunk-B7SWBE4P.cjs.map +0 -1
  472. package/dist/chunk-BZHG5IZ4.js +0 -73
  473. package/dist/chunk-BZHG5IZ4.js.map +0 -1
  474. package/dist/chunk-CEAQK2QY.cjs +0 -32
  475. package/dist/chunk-CEAQK2QY.cjs.map +0 -1
  476. package/dist/chunk-CMHVQR6P.js +0 -170
  477. package/dist/chunk-CMHVQR6P.js.map +0 -1
  478. package/dist/chunk-CU6IDACR.cjs +0 -224
  479. package/dist/chunk-CU6IDACR.cjs.map +0 -1
  480. package/dist/chunk-D4TM63S3.js +0 -795
  481. package/dist/chunk-D4TM63S3.js.map +0 -1
  482. package/dist/chunk-DCEDJQGG.js +0 -28
  483. package/dist/chunk-DCEDJQGG.js.map +0 -1
  484. package/dist/chunk-DPSA4QLA.js +0 -344
  485. package/dist/chunk-DPSA4QLA.js.map +0 -1
  486. package/dist/chunk-E6TERL5O.cjs +0 -23
  487. package/dist/chunk-E6TERL5O.cjs.map +0 -1
  488. package/dist/chunk-EE6CPXKH.cjs +0 -164
  489. package/dist/chunk-EE6CPXKH.cjs.map +0 -1
  490. package/dist/chunk-EOFB7XCL.cjs +0 -837
  491. package/dist/chunk-EOFB7XCL.cjs.map +0 -1
  492. package/dist/chunk-ESLWRGAG.cjs +0 -92
  493. package/dist/chunk-ESLWRGAG.cjs.map +0 -1
  494. package/dist/chunk-ESMHTKLJ.cjs +0 -206
  495. package/dist/chunk-ESMHTKLJ.cjs.map +0 -1
  496. package/dist/chunk-FMTHVSYY.cjs +0 -1039
  497. package/dist/chunk-FMTHVSYY.cjs.map +0 -1
  498. package/dist/chunk-FU6R566Y.cjs +0 -236
  499. package/dist/chunk-FU6R566Y.cjs.map +0 -1
  500. package/dist/chunk-GYR5K654.js +0 -91
  501. package/dist/chunk-GYR5K654.js.map +0 -1
  502. package/dist/chunk-HA2WBOGQ.js +0 -57
  503. package/dist/chunk-HA2WBOGQ.js.map +0 -1
  504. package/dist/chunk-HT5JQKN2.js +0 -118
  505. package/dist/chunk-HT5JQKN2.js.map +0 -1
  506. package/dist/chunk-INJD3G4K.cjs +0 -340
  507. package/dist/chunk-INJD3G4K.cjs.map +0 -1
  508. package/dist/chunk-IOYFAFHJ.cjs +0 -95
  509. package/dist/chunk-IOYFAFHJ.cjs.map +0 -1
  510. package/dist/chunk-J5QENANM.js +0 -87
  511. package/dist/chunk-J5QENANM.js.map +0 -1
  512. package/dist/chunk-J7VGRIAJ.js +0 -64
  513. package/dist/chunk-J7VGRIAJ.js.map +0 -1
  514. package/dist/chunk-KFOHQK7X.js +0 -144
  515. package/dist/chunk-KFOHQK7X.js.map +0 -1
  516. package/dist/chunk-KIL5CUN6.js +0 -31
  517. package/dist/chunk-KIL5CUN6.js.map +0 -1
  518. package/dist/chunk-KYXZS3EA.cjs +0 -100
  519. package/dist/chunk-KYXZS3EA.cjs.map +0 -1
  520. package/dist/chunk-LITNXTTT.js +0 -3
  521. package/dist/chunk-LITNXTTT.js.map +0 -1
  522. package/dist/chunk-LVIPBYFE.js +0 -157
  523. package/dist/chunk-LVIPBYFE.js.map +0 -1
  524. package/dist/chunk-M3LFHHTN.cjs +0 -764
  525. package/dist/chunk-M3LFHHTN.cjs.map +0 -1
  526. package/dist/chunk-N25JDZSC.js +0 -95
  527. package/dist/chunk-N25JDZSC.js.map +0 -1
  528. package/dist/chunk-NEIB3TLD.cjs +0 -360
  529. package/dist/chunk-NEIB3TLD.cjs.map +0 -1
  530. package/dist/chunk-NENU7E6V.cjs +0 -344
  531. package/dist/chunk-NENU7E6V.cjs.map +0 -1
  532. package/dist/chunk-NVAI5CCN.cjs +0 -39
  533. package/dist/chunk-NVAI5CCN.cjs.map +0 -1
  534. package/dist/chunk-NZ72VDNY.cjs +0 -4
  535. package/dist/chunk-NZ72VDNY.cjs.map +0 -1
  536. package/dist/chunk-OPPXYVEZ.cjs +0 -131
  537. package/dist/chunk-OPPXYVEZ.cjs.map +0 -1
  538. package/dist/chunk-Q4EULJQY.js +0 -35
  539. package/dist/chunk-Q4EULJQY.js.map +0 -1
  540. package/dist/chunk-QF7ARNUM.js +0 -339
  541. package/dist/chunk-QF7ARNUM.js.map +0 -1
  542. package/dist/chunk-QWW3E3JM.cjs +0 -178
  543. package/dist/chunk-QWW3E3JM.cjs.map +0 -1
  544. package/dist/chunk-R7QYGZUP.cjs +0 -1075
  545. package/dist/chunk-R7QYGZUP.cjs.map +0 -1
  546. package/dist/chunk-RUPKBKUF.js +0 -352
  547. package/dist/chunk-RUPKBKUF.js.map +0 -1
  548. package/dist/chunk-SEO6NAQT.js +0 -14
  549. package/dist/chunk-SEO6NAQT.js.map +0 -1
  550. package/dist/chunk-T4B5LB6E.cjs +0 -66
  551. package/dist/chunk-T4B5LB6E.cjs.map +0 -1
  552. package/dist/chunk-T5WRA76K.cjs +0 -32
  553. package/dist/chunk-T5WRA76K.cjs.map +0 -1
  554. package/dist/chunk-T7JO2TCP.js +0 -1233
  555. package/dist/chunk-T7JO2TCP.js.map +0 -1
  556. package/dist/chunk-TC5ZPWM4.cjs +0 -289
  557. package/dist/chunk-TC5ZPWM4.cjs.map +0 -1
  558. package/dist/chunk-TQ5UWA7S.js +0 -26
  559. package/dist/chunk-TQ5UWA7S.js.map +0 -1
  560. package/dist/chunk-UIKYE2QZ.js +0 -833
  561. package/dist/chunk-UIKYE2QZ.js.map +0 -1
  562. package/dist/chunk-UNPLAVE7.js +0 -21
  563. package/dist/chunk-UNPLAVE7.js.map +0 -1
  564. package/dist/chunk-UY3UYPBZ.cjs +0 -77
  565. package/dist/chunk-UY3UYPBZ.cjs.map +0 -1
  566. package/dist/chunk-V7UBMJAB.cjs +0 -1242
  567. package/dist/chunk-V7UBMJAB.cjs.map +0 -1
  568. package/dist/chunk-VH77IPJN.cjs +0 -358
  569. package/dist/chunk-VH77IPJN.cjs.map +0 -1
  570. package/dist/chunk-VQTCQKHQ.cjs +0 -17
  571. package/dist/chunk-VQTCQKHQ.cjs.map +0 -1
  572. package/dist/chunk-WGWSHJ2N.js +0 -38
  573. package/dist/chunk-WGWSHJ2N.js.map +0 -1
  574. package/dist/chunk-WJH6IYU2.cjs +0 -32
  575. package/dist/chunk-WJH6IYU2.cjs.map +0 -1
  576. package/dist/chunk-YREV3LGG.cjs +0 -61
  577. package/dist/chunk-YREV3LGG.cjs.map +0 -1
  578. package/dist/chunk-YTXEZ4SD.cjs +0 -77
  579. package/dist/chunk-YTXEZ4SD.cjs.map +0 -1
  580. package/dist/chunk-ZNMBW67B.cjs +0 -40
  581. package/dist/chunk-ZNMBW67B.cjs.map +0 -1
  582. package/dist/correlation-id.cjs.map +0 -1
  583. package/dist/correlation-id.js.map +0 -1
  584. package/dist/define-event-BL6Li7CM.d.ts +0 -23
  585. package/dist/define-event-ClP3T1Jx.d.cts +0 -23
  586. package/dist/event-subscriber.cjs.map +0 -1
  587. package/dist/event-subscriber.js.map +0 -1
  588. package/dist/event.cjs.map +0 -1
  589. package/dist/event.js.map +0 -1
  590. package/dist/exporters.cjs.map +0 -1
  591. package/dist/exporters.js.map +0 -1
  592. package/dist/functional.cjs.map +0 -1
  593. package/dist/functional.js.map +0 -1
  594. package/dist/init-DIowiiCh.d.ts +0 -1167
  595. package/dist/init-j-A1zI16.d.cts +0 -1167
  596. package/dist/processors.cjs.map +0 -1
  597. package/dist/processors.js.map +0 -1
  598. package/dist/trace-context-DbGKd1Rn.d.cts +0 -213
  599. package/dist/trace-context-DbGKd1Rn.d.ts +0 -213
  600. package/dist/utils-BahBCFtJ.d.cts +0 -712
  601. package/dist/utils-CLKwaUlG.d.ts +0 -712
  602. package/dist/yaml-config.cjs.map +0 -1
@@ -1,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