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