autotel 3.5.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts +175 -0
  2. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts.map +1 -0
  3. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts +175 -0
  4. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts.map +1 -0
  5. package/dist/attribute-redacting-processor.cjs +374 -33
  6. package/dist/attribute-redacting-processor.cjs.map +1 -1
  7. package/dist/attribute-redacting-processor.d.cts +2 -207
  8. package/dist/attribute-redacting-processor.d.ts +2 -207
  9. package/dist/attribute-redacting-processor.js +368 -2
  10. package/dist/attribute-redacting-processor.js.map +1 -1
  11. package/dist/attributes-D3etyRVc.cjs +713 -0
  12. package/dist/attributes-D3etyRVc.cjs.map +1 -0
  13. package/dist/attributes-ksn4HVbd.js +600 -0
  14. package/dist/attributes-ksn4HVbd.js.map +1 -0
  15. package/dist/attributes.cjs +21 -85
  16. package/dist/attributes.d.cts +2 -20
  17. package/dist/attributes.d.ts +2 -20
  18. package/dist/attributes.js +3 -5
  19. package/dist/auto.cjs +50 -28
  20. package/dist/auto.cjs.map +1 -1
  21. package/dist/auto.d.cts +1 -2
  22. package/dist/auto.d.ts +1 -2
  23. package/dist/auto.js +49 -23
  24. package/dist/auto.js.map +1 -1
  25. package/dist/business-baggage.cjs +357 -13
  26. package/dist/business-baggage.cjs.map +1 -1
  27. package/dist/business-baggage.d.cts +106 -139
  28. package/dist/business-baggage.d.cts.map +1 -0
  29. package/dist/business-baggage.d.ts +106 -139
  30. package/dist/business-baggage.d.ts.map +1 -0
  31. package/dist/business-baggage.js +357 -2
  32. package/dist/business-baggage.js.map +1 -1
  33. package/dist/canonical-log-line-processor--RlFDHhm.cjs +377 -0
  34. package/dist/canonical-log-line-processor--RlFDHhm.cjs.map +1 -0
  35. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts +147 -0
  36. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts.map +1 -0
  37. package/dist/canonical-log-line-processor-DbBQT5vY.js +366 -0
  38. package/dist/canonical-log-line-processor-DbBQT5vY.js.map +1 -0
  39. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts +147 -0
  40. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts.map +1 -0
  41. package/dist/config.cjs +118 -22
  42. package/dist/config.cjs.map +1 -1
  43. package/dist/config.d.cts +33 -45
  44. package/dist/config.d.cts.map +1 -0
  45. package/dist/config.d.ts +33 -45
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +116 -3
  48. package/dist/config.js.map +1 -1
  49. package/dist/correlated-events-Bzh5y-UB.js +28 -0
  50. package/dist/correlated-events-Bzh5y-UB.js.map +1 -0
  51. package/dist/correlated-events-kSwLo3mi.cjs +34 -0
  52. package/dist/correlated-events-kSwLo3mi.cjs.map +1 -0
  53. package/dist/correlation-id.cjs +11 -53
  54. package/dist/correlation-id.d.cts +6 -5
  55. package/dist/correlation-id.d.cts.map +1 -0
  56. package/dist/correlation-id.d.ts +6 -5
  57. package/dist/correlation-id.d.ts.map +1 -0
  58. package/dist/correlation-id.js +3 -16
  59. package/dist/db.cjs +244 -209
  60. package/dist/db.cjs.map +1 -1
  61. package/dist/db.d.cts +28 -26
  62. package/dist/db.d.cts.map +1 -0
  63. package/dist/db.d.ts +28 -26
  64. package/dist/db.d.ts.map +1 -0
  65. package/dist/db.js +243 -207
  66. package/dist/db.js.map +1 -1
  67. package/dist/decorators.cjs +39 -65
  68. package/dist/decorators.cjs.map +1 -1
  69. package/dist/decorators.d.cts +10 -37
  70. package/dist/decorators.d.cts.map +1 -0
  71. package/dist/decorators.d.ts +10 -37
  72. package/dist/decorators.d.ts.map +1 -0
  73. package/dist/decorators.js +38 -63
  74. package/dist/decorators.js.map +1 -1
  75. package/dist/define-event-CreknLm3.d.ts +25 -0
  76. package/dist/define-event-CreknLm3.d.ts.map +1 -0
  77. package/dist/define-event-HZRizPwz.d.cts +25 -0
  78. package/dist/define-event-HZRizPwz.d.cts.map +1 -0
  79. package/dist/drain-pipeline.cjs +111 -9
  80. package/dist/drain-pipeline.cjs.map +1 -1
  81. package/dist/drain-pipeline.d.cts +27 -32
  82. package/dist/drain-pipeline.d.cts.map +1 -0
  83. package/dist/drain-pipeline.d.ts +27 -32
  84. package/dist/drain-pipeline.d.ts.map +1 -0
  85. package/dist/drain-pipeline.js +111 -2
  86. package/dist/drain-pipeline.js.map +1 -1
  87. package/dist/enrichers.cjs +59 -66
  88. package/dist/enrichers.cjs.map +1 -1
  89. package/dist/enrichers.d.cts +15 -13
  90. package/dist/enrichers.d.cts.map +1 -0
  91. package/dist/enrichers.d.ts +15 -13
  92. package/dist/enrichers.d.ts.map +1 -0
  93. package/dist/enrichers.js +58 -65
  94. package/dist/enrichers.js.map +1 -1
  95. package/dist/event-Dlqr4ZNL.cjs +778 -0
  96. package/dist/event-Dlqr4ZNL.cjs.map +1 -0
  97. package/dist/event-_58ryBjh.js +761 -0
  98. package/dist/event-_58ryBjh.js.map +1 -0
  99. package/dist/event-subscriber-D1XLkPzi.d.cts +223 -0
  100. package/dist/event-subscriber-D1XLkPzi.d.cts.map +1 -0
  101. package/dist/event-subscriber-D1XLkPzi.d.ts +223 -0
  102. package/dist/event-subscriber-D1XLkPzi.d.ts.map +1 -0
  103. package/dist/event-subscriber.cjs +0 -6
  104. package/dist/event-subscriber.d.cts +2 -221
  105. package/dist/event-subscriber.d.ts +2 -221
  106. package/dist/event-subscriber.js +1 -3
  107. package/dist/event-testing-BqRnI0z4.d.cts +106 -0
  108. package/dist/event-testing-BqRnI0z4.d.cts.map +1 -0
  109. package/dist/event-testing-CfFs3to2.d.ts +106 -0
  110. package/dist/event-testing-CfFs3to2.d.ts.map +1 -0
  111. package/dist/event-testing.cjs +93 -17
  112. package/dist/event-testing.cjs.map +1 -1
  113. package/dist/event-testing.d.cts +2 -110
  114. package/dist/event-testing.d.ts +2 -110
  115. package/dist/event-testing.js +91 -2
  116. package/dist/event-testing.js.map +1 -1
  117. package/dist/event.cjs +5 -36
  118. package/dist/event.d.cts +295 -340
  119. package/dist/event.d.cts.map +1 -0
  120. package/dist/event.d.ts +295 -340
  121. package/dist/event.d.ts.map +1 -0
  122. package/dist/event.js +3 -20
  123. package/dist/exporters.cjs +12 -16
  124. package/dist/exporters.d.cts +86 -111
  125. package/dist/exporters.d.cts.map +1 -0
  126. package/dist/exporters.d.ts +86 -111
  127. package/dist/exporters.d.ts.map +1 -0
  128. package/dist/exporters.js +4 -4
  129. package/dist/filtering-span-processor-B8R8B7Uk.d.cts +59 -0
  130. package/dist/filtering-span-processor-B8R8B7Uk.d.cts.map +1 -0
  131. package/dist/filtering-span-processor-B8R8B7Uk.d.ts +59 -0
  132. package/dist/filtering-span-processor-B8R8B7Uk.d.ts.map +1 -0
  133. package/dist/filtering-span-processor.cjs +49 -9
  134. package/dist/filtering-span-processor.cjs.map +1 -1
  135. package/dist/filtering-span-processor.d.cts +2 -80
  136. package/dist/filtering-span-processor.d.ts +2 -80
  137. package/dist/filtering-span-processor.js +49 -2
  138. package/dist/filtering-span-processor.js.map +1 -1
  139. package/dist/functional-BGkT8J-h.js +1265 -0
  140. package/dist/functional-BGkT8J-h.js.map +1 -0
  141. package/dist/functional-C4CzoVrX.cjs +1312 -0
  142. package/dist/functional-C4CzoVrX.cjs.map +1 -0
  143. package/dist/functional.cjs +11 -56
  144. package/dist/functional.d.cts +96 -97
  145. package/dist/functional.d.cts.map +1 -0
  146. package/dist/functional.d.ts +96 -97
  147. package/dist/functional.d.ts.map +1 -0
  148. package/dist/functional.js +3 -19
  149. package/dist/http.cjs +276 -175
  150. package/dist/http.cjs.map +1 -1
  151. package/dist/http.d.cts +17 -37
  152. package/dist/http.d.cts.map +1 -0
  153. package/dist/http.d.ts +17 -37
  154. package/dist/http.d.ts.map +1 -0
  155. package/dist/http.js +275 -173
  156. package/dist/http.js.map +1 -1
  157. package/dist/index-CX0aG1Uh.d.ts +708 -0
  158. package/dist/index-CX0aG1Uh.d.ts.map +1 -0
  159. package/dist/index-DIWZFKUS.d.cts +708 -0
  160. package/dist/index-DIWZFKUS.d.cts.map +1 -0
  161. package/dist/index.cjs +1050 -1184
  162. package/dist/index.cjs.map +1 -1
  163. package/dist/index.d.cts +401 -570
  164. package/dist/index.d.cts.map +1 -0
  165. package/dist/index.d.ts +401 -570
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +913 -725
  168. package/dist/index.js.map +1 -1
  169. package/dist/init-CNp-ee80.d.cts +1157 -0
  170. package/dist/init-CNp-ee80.d.cts.map +1 -0
  171. package/dist/init-Ch6t7MNI.js +1015 -0
  172. package/dist/init-Ch6t7MNI.js.map +1 -0
  173. package/dist/init-DJQOdVlN.d.ts +1157 -0
  174. package/dist/init-DJQOdVlN.d.ts.map +1 -0
  175. package/dist/init-DvapOXCc.cjs +1092 -0
  176. package/dist/init-DvapOXCc.cjs.map +1 -0
  177. package/dist/instrumentation.cjs +159 -185
  178. package/dist/instrumentation.cjs.map +1 -1
  179. package/dist/instrumentation.d.cts +42 -40
  180. package/dist/instrumentation.d.cts.map +1 -0
  181. package/dist/instrumentation.d.ts +42 -40
  182. package/dist/instrumentation.d.ts.map +1 -0
  183. package/dist/instrumentation.js +158 -183
  184. package/dist/instrumentation.js.map +1 -1
  185. package/dist/logger-BauSUhUv.d.cts +313 -0
  186. package/dist/logger-BauSUhUv.d.cts.map +1 -0
  187. package/dist/logger-BauSUhUv.d.ts +313 -0
  188. package/dist/logger-BauSUhUv.d.ts.map +1 -0
  189. package/dist/logger.cjs +225 -25
  190. package/dist/logger.cjs.map +1 -1
  191. package/dist/logger.d.cts +2 -348
  192. package/dist/logger.d.ts +2 -348
  193. package/dist/logger.js +204 -4
  194. package/dist/logger.js.map +1 -1
  195. package/dist/messaging-adapters.cjs +292 -187
  196. package/dist/messaging-adapters.cjs.map +1 -1
  197. package/dist/messaging-adapters.d.cts +28 -66
  198. package/dist/messaging-adapters.d.cts.map +1 -0
  199. package/dist/messaging-adapters.d.ts +28 -66
  200. package/dist/messaging-adapters.d.ts.map +1 -0
  201. package/dist/messaging-adapters.js +291 -185
  202. package/dist/messaging-adapters.js.map +1 -1
  203. package/dist/messaging-testing.cjs +306 -372
  204. package/dist/messaging-testing.cjs.map +1 -1
  205. package/dist/messaging-testing.d.cts +194 -223
  206. package/dist/messaging-testing.d.cts.map +1 -0
  207. package/dist/messaging-testing.d.ts +194 -223
  208. package/dist/messaging-testing.d.ts.map +1 -0
  209. package/dist/messaging-testing.js +305 -371
  210. package/dist/messaging-testing.js.map +1 -1
  211. package/dist/messaging.cjs +757 -35
  212. package/dist/messaging.cjs.map +1 -1
  213. package/dist/messaging.d.cts +603 -644
  214. package/dist/messaging.d.cts.map +1 -0
  215. package/dist/messaging.d.ts +603 -644
  216. package/dist/messaging.d.ts.map +1 -0
  217. package/dist/messaging.js +756 -20
  218. package/dist/messaging.js.map +1 -1
  219. package/dist/metric-helpers.cjs +27 -27
  220. package/dist/metric-helpers.cjs.map +1 -1
  221. package/dist/metric-helpers.d.cts +4 -2
  222. package/dist/metric-helpers.d.cts.map +1 -0
  223. package/dist/metric-helpers.d.ts +4 -2
  224. package/dist/metric-helpers.d.ts.map +1 -0
  225. package/dist/metric-helpers.js +24 -4
  226. package/dist/metric-helpers.js.map +1 -1
  227. package/dist/metric-testing-DXdK3-Q3.d.ts +106 -0
  228. package/dist/metric-testing-DXdK3-Q3.d.ts.map +1 -0
  229. package/dist/metric-testing-MxvzChDp.d.cts +106 -0
  230. package/dist/metric-testing-MxvzChDp.d.cts.map +1 -0
  231. package/dist/metric-testing.cjs +93 -17
  232. package/dist/metric-testing.cjs.map +1 -1
  233. package/dist/metric-testing.d.cts +2 -110
  234. package/dist/metric-testing.d.ts +2 -110
  235. package/dist/metric-testing.js +91 -2
  236. package/dist/metric-testing.js.map +1 -1
  237. package/dist/metric.cjs +306 -22
  238. package/dist/metric.cjs.map +1 -1
  239. package/dist/metric.d.cts +170 -198
  240. package/dist/metric.d.cts.map +1 -0
  241. package/dist/metric.d.ts +170 -198
  242. package/dist/metric.d.ts.map +1 -0
  243. package/dist/metric.js +277 -7
  244. package/dist/metric.js.map +1 -1
  245. package/dist/node-require-DF5QBX6z.cjs +99 -0
  246. package/dist/node-require-DF5QBX6z.cjs.map +1 -0
  247. package/dist/node-require-Db1oDpLj.js +88 -0
  248. package/dist/node-require-Db1oDpLj.js.map +1 -0
  249. package/dist/operation-context-C-2hmmtP.js +59 -0
  250. package/dist/operation-context-C-2hmmtP.js.map +1 -0
  251. package/dist/operation-context-n4_obUwq.cjs +70 -0
  252. package/dist/operation-context-n4_obUwq.cjs.map +1 -0
  253. package/dist/parse-error.cjs +55 -9
  254. package/dist/parse-error.cjs.map +1 -1
  255. package/dist/parse-error.d.cts +12 -10
  256. package/dist/parse-error.d.cts.map +1 -0
  257. package/dist/parse-error.d.ts +12 -10
  258. package/dist/parse-error.d.ts.map +1 -0
  259. package/dist/parse-error.js +55 -2
  260. package/dist/parse-error.js.map +1 -1
  261. package/dist/pretty-console-exporter-CMzlrRNg.cjs +232 -0
  262. package/dist/pretty-console-exporter-CMzlrRNg.cjs.map +1 -0
  263. package/dist/pretty-console-exporter-DqKl_q9z.js +227 -0
  264. package/dist/pretty-console-exporter-DqKl_q9z.js.map +1 -0
  265. package/dist/processors.cjs +13 -17
  266. package/dist/processors.d.cts +3 -171
  267. package/dist/processors.d.ts +3 -171
  268. package/dist/processors.js +4 -4
  269. package/dist/register.cjs +35 -6
  270. package/dist/register.cjs.map +1 -1
  271. package/dist/register.d.cts +1 -2
  272. package/dist/register.d.ts +1 -2
  273. package/dist/register.js +36 -3
  274. package/dist/register.js.map +1 -1
  275. package/dist/registry-DfXA3R1L.js +184 -0
  276. package/dist/registry-DfXA3R1L.js.map +1 -0
  277. package/dist/registry-JZg2J3RZ.cjs +334 -0
  278. package/dist/registry-JZg2J3RZ.cjs.map +1 -0
  279. package/dist/sampling-CR0Va1VB.d.ts +351 -0
  280. package/dist/sampling-CR0Va1VB.d.ts.map +1 -0
  281. package/dist/sampling-DfYhDJij.d.cts +351 -0
  282. package/dist/sampling-DfYhDJij.d.cts.map +1 -0
  283. package/dist/sampling.cjs +452 -60
  284. package/dist/sampling.cjs.map +1 -1
  285. package/dist/sampling.d.cts +2 -379
  286. package/dist/sampling.d.ts +2 -379
  287. package/dist/sampling.js +441 -5
  288. package/dist/sampling.js.map +1 -1
  289. package/dist/security-schema.cjs +65 -46
  290. package/dist/security-schema.cjs.map +1 -1
  291. package/dist/security-schema.d.cts +23 -26
  292. package/dist/security-schema.d.cts.map +1 -0
  293. package/dist/security-schema.d.ts +23 -26
  294. package/dist/security-schema.d.ts.map +1 -0
  295. package/dist/security-schema.js +64 -45
  296. package/dist/security-schema.js.map +1 -1
  297. package/dist/semantic-conventions-FhSxv-bK.d.cts +32 -0
  298. package/dist/semantic-conventions-FhSxv-bK.d.cts.map +1 -0
  299. package/dist/semantic-conventions-FhSxv-bK.d.ts +32 -0
  300. package/dist/semantic-conventions-FhSxv-bK.d.ts.map +1 -0
  301. package/dist/semantic-conventions.cjs +15 -26
  302. package/dist/semantic-conventions.cjs.map +1 -1
  303. package/dist/semantic-conventions.d.cts +2 -29
  304. package/dist/semantic-conventions.d.ts +2 -29
  305. package/dist/semantic-conventions.js +12 -3
  306. package/dist/semantic-conventions.js.map +1 -1
  307. package/dist/semantic-helpers.cjs +440 -38
  308. package/dist/semantic-helpers.cjs.map +1 -1
  309. package/dist/semantic-helpers.d.cts +38 -45
  310. package/dist/semantic-helpers.d.cts.map +1 -0
  311. package/dist/semantic-helpers.d.ts +38 -45
  312. package/dist/semantic-helpers.d.ts.map +1 -0
  313. package/dist/semantic-helpers.js +438 -19
  314. package/dist/semantic-helpers.js.map +1 -1
  315. package/dist/span-name-normalizer-8ZOGJuwv.d.cts +70 -0
  316. package/dist/span-name-normalizer-8ZOGJuwv.d.cts.map +1 -0
  317. package/dist/span-name-normalizer-8ZOGJuwv.d.ts +70 -0
  318. package/dist/span-name-normalizer-8ZOGJuwv.d.ts.map +1 -0
  319. package/dist/span-name-normalizer.cjs +95 -17
  320. package/dist/span-name-normalizer.cjs.map +1 -1
  321. package/dist/span-name-normalizer.d.cts +2 -94
  322. package/dist/span-name-normalizer.d.ts +2 -94
  323. package/dist/span-name-normalizer.js +93 -2
  324. package/dist/span-name-normalizer.js.map +1 -1
  325. package/dist/stable-hash-BNTMrmdB.cjs +28 -0
  326. package/dist/stable-hash-BNTMrmdB.cjs.map +1 -0
  327. package/dist/stable-hash-Cg5cT34Q.js +23 -0
  328. package/dist/stable-hash-Cg5cT34Q.js.map +1 -0
  329. package/dist/structured-error-9--cxBay.js +143 -0
  330. package/dist/structured-error-9--cxBay.js.map +1 -0
  331. package/dist/structured-error-CHg7DoIQ.cjs +178 -0
  332. package/dist/structured-error-CHg7DoIQ.cjs.map +1 -0
  333. package/dist/tail-sampling-processor.cjs +26 -13
  334. package/dist/tail-sampling-processor.cjs.map +1 -1
  335. package/dist/tail-sampling-processor.d.cts +11 -23
  336. package/dist/tail-sampling-processor.d.cts.map +1 -0
  337. package/dist/tail-sampling-processor.d.ts +11 -23
  338. package/dist/tail-sampling-processor.d.ts.map +1 -0
  339. package/dist/tail-sampling-processor.js +27 -6
  340. package/dist/tail-sampling-processor.js.map +1 -1
  341. package/dist/test-span-collector.cjs +70 -72
  342. package/dist/test-span-collector.cjs.map +1 -1
  343. package/dist/test-span-collector.d.cts +25 -43
  344. package/dist/test-span-collector.d.cts.map +1 -0
  345. package/dist/test-span-collector.d.ts +25 -43
  346. package/dist/test-span-collector.d.ts.map +1 -0
  347. package/dist/test-span-collector.js +69 -70
  348. package/dist/test-span-collector.js.map +1 -1
  349. package/dist/testing.cjs +389 -278
  350. package/dist/testing.cjs.map +1 -1
  351. package/dist/testing.d.cts +39 -62
  352. package/dist/testing.d.cts.map +1 -0
  353. package/dist/testing.d.ts +39 -62
  354. package/dist/testing.d.ts.map +1 -0
  355. package/dist/testing.js +386 -265
  356. package/dist/testing.js.map +1 -1
  357. package/dist/trace-context-Cijqoi6e.d.cts +212 -0
  358. package/dist/trace-context-Cijqoi6e.d.cts.map +1 -0
  359. package/dist/trace-context-Cijqoi6e.d.ts +212 -0
  360. package/dist/trace-context-Cijqoi6e.d.ts.map +1 -0
  361. package/dist/trace-helpers.cjs +634 -54
  362. package/dist/trace-helpers.cjs.map +1 -1
  363. package/dist/trace-helpers.d.cts +17 -49
  364. package/dist/trace-helpers.d.cts.map +1 -0
  365. package/dist/trace-helpers.d.ts +17 -49
  366. package/dist/trace-helpers.d.ts.map +1 -0
  367. package/dist/trace-helpers.js +624 -3
  368. package/dist/trace-helpers.js.map +1 -1
  369. package/dist/tracer-provider.cjs +227 -16
  370. package/dist/tracer-provider.cjs.map +1 -1
  371. package/dist/tracer-provider.d.cts +5 -4
  372. package/dist/tracer-provider.d.cts.map +1 -0
  373. package/dist/tracer-provider.d.ts +5 -4
  374. package/dist/tracer-provider.d.ts.map +1 -0
  375. package/dist/tracer-provider.js +227 -2
  376. package/dist/tracer-provider.js.map +1 -1
  377. package/dist/track-3HY4NGV-.cjs +1212 -0
  378. package/dist/track-3HY4NGV-.cjs.map +1 -0
  379. package/dist/track-nsKVy-pj.js +1111 -0
  380. package/dist/track-nsKVy-pj.js.map +1 -0
  381. package/dist/validate.cjs +201 -0
  382. package/dist/validate.cjs.map +1 -0
  383. package/dist/validate.d.cts +105 -0
  384. package/dist/validate.d.cts.map +1 -0
  385. package/dist/validate.d.ts +105 -0
  386. package/dist/validate.d.ts.map +1 -0
  387. package/dist/validate.js +197 -0
  388. package/dist/validate.js.map +1 -0
  389. package/dist/validation-attributes.cjs +45 -0
  390. package/dist/validation-attributes.cjs.map +1 -0
  391. package/dist/validation-attributes.d.cts +33 -0
  392. package/dist/validation-attributes.d.cts.map +1 -0
  393. package/dist/validation-attributes.d.ts +33 -0
  394. package/dist/validation-attributes.d.ts.map +1 -0
  395. package/dist/validation-attributes.js +41 -0
  396. package/dist/validation-attributes.js.map +1 -0
  397. package/dist/webhook.cjs +286 -255
  398. package/dist/webhook.cjs.map +1 -1
  399. package/dist/webhook.d.cts +157 -192
  400. package/dist/webhook.d.cts.map +1 -0
  401. package/dist/webhook.d.ts +157 -192
  402. package/dist/webhook.d.ts.map +1 -0
  403. package/dist/webhook.js +285 -253
  404. package/dist/webhook.js.map +1 -1
  405. package/dist/workflow-distributed.cjs +498 -411
  406. package/dist/workflow-distributed.cjs.map +1 -1
  407. package/dist/workflow-distributed.d.cts +163 -173
  408. package/dist/workflow-distributed.d.cts.map +1 -0
  409. package/dist/workflow-distributed.d.ts +163 -173
  410. package/dist/workflow-distributed.d.ts.map +1 -0
  411. package/dist/workflow-distributed.js +497 -409
  412. package/dist/workflow-distributed.js.map +1 -1
  413. package/dist/workflow.cjs +405 -39
  414. package/dist/workflow.cjs.map +1 -1
  415. package/dist/workflow.d.cts +78 -131
  416. package/dist/workflow.d.cts.map +1 -0
  417. package/dist/workflow.d.ts +78 -131
  418. package/dist/workflow.d.ts.map +1 -0
  419. package/dist/workflow.js +403 -20
  420. package/dist/workflow.js.map +1 -1
  421. package/dist/yaml-config-B3dQ82GR.cjs +272 -0
  422. package/dist/yaml-config-B3dQ82GR.cjs.map +1 -0
  423. package/dist/yaml-config.cjs +5 -24
  424. package/dist/yaml-config.d.cts +30 -64
  425. package/dist/yaml-config.d.cts.map +1 -0
  426. package/dist/yaml-config.d.ts +30 -64
  427. package/dist/yaml-config.d.ts.map +1 -0
  428. package/dist/yaml-config.js +226 -7
  429. package/dist/yaml-config.js.map +1 -1
  430. package/package.json +14 -4
  431. package/src/define-event.ts +2 -21
  432. package/src/index.ts +3 -0
  433. package/src/request-logger.test.ts +53 -1
  434. package/src/request-logger.ts +58 -0
  435. package/src/stable-hash.ts +27 -0
  436. package/src/validate.test.ts +287 -0
  437. package/src/validate.ts +307 -0
  438. package/src/validation-attributes.ts +43 -0
  439. package/dist/attributes.cjs.map +0 -1
  440. package/dist/attributes.js.map +0 -1
  441. package/dist/chunk-2ZKEORFN.cjs +0 -14
  442. package/dist/chunk-2ZKEORFN.cjs.map +0 -1
  443. package/dist/chunk-3QXBFGKP.js +0 -344
  444. package/dist/chunk-3QXBFGKP.js.map +0 -1
  445. package/dist/chunk-454CH4OV.js +0 -744
  446. package/dist/chunk-454CH4OV.js.map +0 -1
  447. package/dist/chunk-4A53YIAX.js +0 -180
  448. package/dist/chunk-4A53YIAX.js.map +0 -1
  449. package/dist/chunk-4IFSYQVX.js +0 -337
  450. package/dist/chunk-4IFSYQVX.js.map +0 -1
  451. package/dist/chunk-4P6ZOARG.cjs +0 -33
  452. package/dist/chunk-4P6ZOARG.cjs.map +0 -1
  453. package/dist/chunk-55ER2KD5.js +0 -228
  454. package/dist/chunk-55ER2KD5.js.map +0 -1
  455. package/dist/chunk-5ZN622AO.js +0 -73
  456. package/dist/chunk-5ZN622AO.js.map +0 -1
  457. package/dist/chunk-6S5RUKU3.cjs +0 -347
  458. package/dist/chunk-6S5RUKU3.cjs.map +0 -1
  459. package/dist/chunk-6UQRVUN3.js +0 -222
  460. package/dist/chunk-6UQRVUN3.js.map +0 -1
  461. package/dist/chunk-7552UTQW.js +0 -11
  462. package/dist/chunk-7552UTQW.js.map +0 -1
  463. package/dist/chunk-7EQ4G4SI.cjs +0 -146
  464. package/dist/chunk-7EQ4G4SI.cjs.map +0 -1
  465. package/dist/chunk-7SAWIN74.js +0 -285
  466. package/dist/chunk-7SAWIN74.js.map +0 -1
  467. package/dist/chunk-A4E5AQFK.js +0 -30
  468. package/dist/chunk-A4E5AQFK.js.map +0 -1
  469. package/dist/chunk-AC5GNZKB.cjs +0 -344
  470. package/dist/chunk-AC5GNZKB.cjs.map +0 -1
  471. package/dist/chunk-ALPYR2GC.js +0 -1061
  472. package/dist/chunk-ALPYR2GC.js.map +0 -1
  473. package/dist/chunk-BZHG5IZ4.js +0 -73
  474. package/dist/chunk-BZHG5IZ4.js.map +0 -1
  475. package/dist/chunk-CEAQK2QY.cjs +0 -32
  476. package/dist/chunk-CEAQK2QY.cjs.map +0 -1
  477. package/dist/chunk-CMHVQR6P.js +0 -170
  478. package/dist/chunk-CMHVQR6P.js.map +0 -1
  479. package/dist/chunk-CU6IDACR.cjs +0 -224
  480. package/dist/chunk-CU6IDACR.cjs.map +0 -1
  481. package/dist/chunk-DPSA4QLA.js +0 -344
  482. package/dist/chunk-DPSA4QLA.js.map +0 -1
  483. package/dist/chunk-DQEHQNQE.js +0 -795
  484. package/dist/chunk-DQEHQNQE.js.map +0 -1
  485. package/dist/chunk-ESLWRGAG.cjs +0 -92
  486. package/dist/chunk-ESLWRGAG.cjs.map +0 -1
  487. package/dist/chunk-ESMHTKLJ.cjs +0 -206
  488. package/dist/chunk-ESMHTKLJ.cjs.map +0 -1
  489. package/dist/chunk-FGNDN2FD.cjs +0 -1242
  490. package/dist/chunk-FGNDN2FD.cjs.map +0 -1
  491. package/dist/chunk-FU6R566Y.cjs +0 -236
  492. package/dist/chunk-FU6R566Y.cjs.map +0 -1
  493. package/dist/chunk-GBFTC7Q7.cjs +0 -837
  494. package/dist/chunk-GBFTC7Q7.cjs.map +0 -1
  495. package/dist/chunk-GYR5K654.js +0 -91
  496. package/dist/chunk-GYR5K654.js.map +0 -1
  497. package/dist/chunk-HA2WBOGQ.js +0 -57
  498. package/dist/chunk-HA2WBOGQ.js.map +0 -1
  499. package/dist/chunk-HT5JQKN2.js +0 -118
  500. package/dist/chunk-HT5JQKN2.js.map +0 -1
  501. package/dist/chunk-INJD3G4K.cjs +0 -340
  502. package/dist/chunk-INJD3G4K.cjs.map +0 -1
  503. package/dist/chunk-IOYFAFHJ.cjs +0 -95
  504. package/dist/chunk-IOYFAFHJ.cjs.map +0 -1
  505. package/dist/chunk-J5QENANM.js +0 -87
  506. package/dist/chunk-J5QENANM.js.map +0 -1
  507. package/dist/chunk-J7VGRIAJ.js +0 -64
  508. package/dist/chunk-J7VGRIAJ.js.map +0 -1
  509. package/dist/chunk-KFOHQK7X.js +0 -144
  510. package/dist/chunk-KFOHQK7X.js.map +0 -1
  511. package/dist/chunk-KIL5CUN6.js +0 -31
  512. package/dist/chunk-KIL5CUN6.js.map +0 -1
  513. package/dist/chunk-LITNXTTT.js +0 -3
  514. package/dist/chunk-LITNXTTT.js.map +0 -1
  515. package/dist/chunk-M3LFHHTN.cjs +0 -764
  516. package/dist/chunk-M3LFHHTN.cjs.map +0 -1
  517. package/dist/chunk-NEIB3TLD.cjs +0 -360
  518. package/dist/chunk-NEIB3TLD.cjs.map +0 -1
  519. package/dist/chunk-NVAI5CCN.cjs +0 -39
  520. package/dist/chunk-NVAI5CCN.cjs.map +0 -1
  521. package/dist/chunk-NVGPMGI4.js +0 -95
  522. package/dist/chunk-NVGPMGI4.js.map +0 -1
  523. package/dist/chunk-NZ72VDNY.cjs +0 -4
  524. package/dist/chunk-NZ72VDNY.cjs.map +0 -1
  525. package/dist/chunk-O4JZUCUE.js +0 -1174
  526. package/dist/chunk-O4JZUCUE.js.map +0 -1
  527. package/dist/chunk-O7JOKRN2.js +0 -833
  528. package/dist/chunk-O7JOKRN2.js.map +0 -1
  529. package/dist/chunk-OPPXYVEZ.cjs +0 -131
  530. package/dist/chunk-OPPXYVEZ.cjs.map +0 -1
  531. package/dist/chunk-Q4EULJQY.js +0 -35
  532. package/dist/chunk-Q4EULJQY.js.map +0 -1
  533. package/dist/chunk-QWW3E3JM.cjs +0 -178
  534. package/dist/chunk-QWW3E3JM.cjs.map +0 -1
  535. package/dist/chunk-R7QYGZUP.cjs +0 -1075
  536. package/dist/chunk-R7QYGZUP.cjs.map +0 -1
  537. package/dist/chunk-RUPKBKUF.js +0 -352
  538. package/dist/chunk-RUPKBKUF.js.map +0 -1
  539. package/dist/chunk-SEO6NAQT.js +0 -14
  540. package/dist/chunk-SEO6NAQT.js.map +0 -1
  541. package/dist/chunk-T4B5LB6E.cjs +0 -66
  542. package/dist/chunk-T4B5LB6E.cjs.map +0 -1
  543. package/dist/chunk-TC5ZPWM4.cjs +0 -289
  544. package/dist/chunk-TC5ZPWM4.cjs.map +0 -1
  545. package/dist/chunk-TQ5UWA7S.js +0 -26
  546. package/dist/chunk-TQ5UWA7S.js.map +0 -1
  547. package/dist/chunk-URHPSJW2.js +0 -339
  548. package/dist/chunk-URHPSJW2.js.map +0 -1
  549. package/dist/chunk-UY3UYPBZ.cjs +0 -77
  550. package/dist/chunk-UY3UYPBZ.cjs.map +0 -1
  551. package/dist/chunk-VG2ABKJX.cjs +0 -100
  552. package/dist/chunk-VG2ABKJX.cjs.map +0 -1
  553. package/dist/chunk-VH77IPJN.cjs +0 -358
  554. package/dist/chunk-VH77IPJN.cjs.map +0 -1
  555. package/dist/chunk-VQTCQKHQ.cjs +0 -17
  556. package/dist/chunk-VQTCQKHQ.cjs.map +0 -1
  557. package/dist/chunk-WGWSHJ2N.js +0 -38
  558. package/dist/chunk-WGWSHJ2N.js.map +0 -1
  559. package/dist/chunk-WJH6IYU2.cjs +0 -32
  560. package/dist/chunk-WJH6IYU2.cjs.map +0 -1
  561. package/dist/chunk-YREV3LGG.cjs +0 -61
  562. package/dist/chunk-YREV3LGG.cjs.map +0 -1
  563. package/dist/chunk-YTXEZ4SD.cjs +0 -77
  564. package/dist/chunk-YTXEZ4SD.cjs.map +0 -1
  565. package/dist/chunk-YWCESU4Y.js +0 -1233
  566. package/dist/chunk-YWCESU4Y.js.map +0 -1
  567. package/dist/chunk-Z6HRSM2Y.cjs +0 -799
  568. package/dist/chunk-Z6HRSM2Y.cjs.map +0 -1
  569. package/dist/chunk-Z7PW3KHL.cjs +0 -1198
  570. package/dist/chunk-Z7PW3KHL.cjs.map +0 -1
  571. package/dist/chunk-ZNMBW67B.cjs +0 -40
  572. package/dist/chunk-ZNMBW67B.cjs.map +0 -1
  573. package/dist/correlation-id.cjs.map +0 -1
  574. package/dist/correlation-id.js.map +0 -1
  575. package/dist/event-subscriber.cjs.map +0 -1
  576. package/dist/event-subscriber.js.map +0 -1
  577. package/dist/event.cjs.map +0 -1
  578. package/dist/event.js.map +0 -1
  579. package/dist/exporters.cjs.map +0 -1
  580. package/dist/exporters.js.map +0 -1
  581. package/dist/functional.cjs.map +0 -1
  582. package/dist/functional.js.map +0 -1
  583. package/dist/init-DIowiiCh.d.ts +0 -1167
  584. package/dist/init-j-A1zI16.d.cts +0 -1167
  585. package/dist/processors.cjs.map +0 -1
  586. package/dist/processors.js.map +0 -1
  587. package/dist/trace-context-DbGKd1Rn.d.cts +0 -213
  588. package/dist/trace-context-DbGKd1Rn.d.ts +0 -213
  589. package/dist/utils-BahBCFtJ.d.cts +0 -712
  590. package/dist/utils-CLKwaUlG.d.ts +0 -712
  591. package/dist/yaml-config.cjs.map +0 -1
@@ -1,1061 +0,0 @@
1
- import { loadYamlConfig } from './chunk-CMHVQR6P.js';
2
- import { TailSamplingSpanProcessor } from './chunk-A4E5AQFK.js';
3
- import { FilteringSpanProcessor } from './chunk-WGWSHJ2N.js';
4
- import { SpanNameNormalizingProcessor } from './chunk-GYR5K654.js';
5
- import { REDACTOR_PRESETS, normalizeAttributeRedactorConfig, AttributeRedactingProcessor } from './chunk-RUPKBKUF.js';
6
- import { PrettyConsoleExporter } from './chunk-6UQRVUN3.js';
7
- import { CanonicalLogLineProcessor } from './chunk-3QXBFGKP.js';
8
- import { requireModule, safeRequire } from './chunk-Q4EULJQY.js';
9
- import { resolveSamplingPreset, samplingPresets } from './chunk-DPSA4QLA.js';
10
- import { propagation, context } from '@opentelemetry/api';
11
- import { NodeSDK } from '@opentelemetry/sdk-node';
12
- import { BatchSpanProcessor, SimpleSpanProcessor, ConsoleSpanExporter, SamplingDecision, ParentBasedSampler, TraceIdRatioBasedSampler, AlwaysOffSampler, AlwaysOnSampler } from '@opentelemetry/sdk-trace-base';
13
- import { resourceFromAttributes } from '@opentelemetry/resources';
14
- import { ATTR_SERVICE_VERSION, ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
15
- import { PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
16
- import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
17
- import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
18
- import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
19
- import { BatchLogRecordProcessor } from '@opentelemetry/sdk-logs';
20
-
21
- var BaggageSpanProcessor = class {
22
- prefix;
23
- constructor(options = {}) {
24
- this.prefix = options.prefix ?? "baggage.";
25
- }
26
- onStart(span, parentContext) {
27
- let baggage = propagation.getBaggage(parentContext);
28
- if (!baggage) {
29
- baggage = propagation.getBaggage(context.active());
30
- }
31
- if (!baggage) {
32
- try {
33
- const { getActiveContextWithBaggage } = requireModule("./trace-context");
34
- const storedContext = getActiveContextWithBaggage();
35
- baggage = propagation.getBaggage(storedContext);
36
- } catch {
37
- }
38
- }
39
- if (!baggage) return;
40
- for (const [key, entry] of baggage.getAllEntries()) {
41
- span.setAttribute(`${this.prefix}${key}`, entry.value);
42
- }
43
- }
44
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
45
- onEnd(_span) {
46
- }
47
- async shutdown() {
48
- }
49
- async forceFlush() {
50
- }
51
- };
52
-
53
- // src/redact-values.ts
54
- function createStringRedactor(config2) {
55
- const resolved = typeof config2 === "string" ? REDACTOR_PRESETS[config2] : config2;
56
- const valuePatterns = resolved.valuePatterns ?? [];
57
- const defaultReplacement = resolved.replacement ?? "[REDACTED]";
58
- return (value) => {
59
- let result = value;
60
- for (const { pattern, replacement, mask } of valuePatterns) {
61
- pattern.lastIndex = 0;
62
- if (mask) {
63
- result = result.replaceAll(pattern, (match) => mask(match));
64
- } else {
65
- result = result.replaceAll(pattern, replacement ?? defaultReplacement);
66
- }
67
- }
68
- return result;
69
- };
70
- }
71
-
72
- // src/posthog-logs.ts
73
- var RedactingLogRecordProcessor = class {
74
- constructor(wrapped, redact) {
75
- this.wrapped = wrapped;
76
- this.redact = redact;
77
- }
78
- wrapped;
79
- redact;
80
- onEmit(logRecord, context) {
81
- if (logRecord.body && typeof logRecord.body === "string") {
82
- logRecord.body = this.redact(logRecord.body);
83
- }
84
- if (logRecord.attributes) {
85
- for (const [key, value] of Object.entries(logRecord.attributes)) {
86
- if (typeof value === "string") {
87
- logRecord.attributes[key] = this.redact(value);
88
- } else if (Array.isArray(value)) {
89
- logRecord.attributes[key] = value.map(
90
- (item) => typeof item === "string" ? this.redact(item) : item
91
- );
92
- }
93
- }
94
- }
95
- this.wrapped.onEmit(logRecord, context);
96
- }
97
- shutdown() {
98
- return this.wrapped.shutdown();
99
- }
100
- forceFlush() {
101
- return this.wrapped.forceFlush();
102
- }
103
- };
104
- function buildPostHogLogProcessors(config2, stringRedactor) {
105
- const url = config2?.url || process.env.POSTHOG_LOGS_URL;
106
- if (!url) return [];
107
- const sdkLogs = safeRequire("@opentelemetry/sdk-logs");
108
- const exporterModule = safeRequire("@opentelemetry/exporter-logs-otlp-http");
109
- if (!sdkLogs || !exporterModule) return [];
110
- const exporter = new exporterModule.OTLPLogExporter({ url });
111
- let processor = new sdkLogs.BatchLogRecordProcessor(
112
- exporter
113
- );
114
- if (stringRedactor) {
115
- processor = new RedactingLogRecordProcessor(processor, stringRedactor);
116
- }
117
- return [processor];
118
- }
119
- function isValidUrl(urlString) {
120
- try {
121
- const url = new URL(urlString);
122
- return url.protocol === "http:" || url.protocol === "https:";
123
- } catch {
124
- return false;
125
- }
126
- }
127
- function resolveOtelEnv() {
128
- const env = {};
129
- if (process.env.OTEL_SERVICE_NAME) {
130
- const value = process.env.OTEL_SERVICE_NAME.trim();
131
- if (value) {
132
- env.OTEL_SERVICE_NAME = value;
133
- }
134
- }
135
- if (process.env.OTEL_EXPORTER_OTLP_ENDPOINT) {
136
- const value = process.env.OTEL_EXPORTER_OTLP_ENDPOINT.trim();
137
- if (value && isValidUrl(value)) {
138
- env.OTEL_EXPORTER_OTLP_ENDPOINT = value;
139
- }
140
- }
141
- if (process.env.OTEL_EXPORTER_OTLP_HEADERS) {
142
- const value = process.env.OTEL_EXPORTER_OTLP_HEADERS.trim();
143
- if (value) {
144
- env.OTEL_EXPORTER_OTLP_HEADERS = value;
145
- }
146
- }
147
- if (process.env.OTEL_RESOURCE_ATTRIBUTES) {
148
- const value = process.env.OTEL_RESOURCE_ATTRIBUTES.trim();
149
- if (value) {
150
- env.OTEL_RESOURCE_ATTRIBUTES = value;
151
- }
152
- }
153
- if (process.env.OTEL_EXPORTER_OTLP_PROTOCOL) {
154
- const value = process.env.OTEL_EXPORTER_OTLP_PROTOCOL.trim().toLowerCase();
155
- if (value === "http" || value === "grpc") {
156
- env.OTEL_EXPORTER_OTLP_PROTOCOL = value;
157
- }
158
- }
159
- if (process.env.OTEL_TRACES_SAMPLER) {
160
- const value = process.env.OTEL_TRACES_SAMPLER.trim();
161
- if (value) {
162
- env.OTEL_TRACES_SAMPLER = value;
163
- }
164
- }
165
- if (process.env.OTEL_TRACES_SAMPLER_ARG) {
166
- const value = process.env.OTEL_TRACES_SAMPLER_ARG.trim();
167
- if (value) {
168
- env.OTEL_TRACES_SAMPLER_ARG = value;
169
- }
170
- }
171
- return env;
172
- }
173
- function parseRatioSamplerArg(samplerName, samplerArg) {
174
- if (samplerArg === void 0) {
175
- return 1;
176
- }
177
- const ratio = Number(samplerArg);
178
- if (!Number.isFinite(ratio) || ratio < 0 || ratio > 1) {
179
- console.error(
180
- `[autotel] Invalid OTEL_TRACES_SAMPLER_ARG="${samplerArg}" for ${samplerName}. Expected a number in [0..1]. Falling back to 1.0.`
181
- );
182
- return 1;
183
- }
184
- return ratio;
185
- }
186
- function warnOnUnusedSamplerArg(samplerName, samplerArg) {
187
- if (samplerArg !== void 0) {
188
- console.error(
189
- `[autotel] OTEL_TRACES_SAMPLER_ARG is not used by OTEL_TRACES_SAMPLER="${samplerName}". Ignoring value "${samplerArg}".`
190
- );
191
- }
192
- }
193
- function createSamplerFromEnv(env) {
194
- const samplerName = env.OTEL_TRACES_SAMPLER;
195
- if (!samplerName) {
196
- return void 0;
197
- }
198
- switch (samplerName) {
199
- case "always_on":
200
- warnOnUnusedSamplerArg(samplerName, env.OTEL_TRACES_SAMPLER_ARG);
201
- return new AlwaysOnSampler();
202
- case "always_off":
203
- warnOnUnusedSamplerArg(samplerName, env.OTEL_TRACES_SAMPLER_ARG);
204
- return new AlwaysOffSampler();
205
- case "traceidratio":
206
- return new TraceIdRatioBasedSampler(
207
- parseRatioSamplerArg(samplerName, env.OTEL_TRACES_SAMPLER_ARG)
208
- );
209
- case "parentbased_always_on":
210
- warnOnUnusedSamplerArg(samplerName, env.OTEL_TRACES_SAMPLER_ARG);
211
- return new ParentBasedSampler({ root: new AlwaysOnSampler() });
212
- case "parentbased_always_off":
213
- warnOnUnusedSamplerArg(samplerName, env.OTEL_TRACES_SAMPLER_ARG);
214
- return new ParentBasedSampler({ root: new AlwaysOffSampler() });
215
- case "parentbased_traceidratio":
216
- return new ParentBasedSampler({
217
- root: new TraceIdRatioBasedSampler(
218
- parseRatioSamplerArg(samplerName, env.OTEL_TRACES_SAMPLER_ARG)
219
- )
220
- });
221
- case "jaeger_remote":
222
- case "parentbased_jaeger_remote":
223
- case "xray":
224
- console.error(
225
- `[autotel] OTEL_TRACES_SAMPLER="${samplerName}" is not supported yet by autotel. Falling back to the next sampler source.`
226
- );
227
- return void 0;
228
- default:
229
- console.error(
230
- `[autotel] Unknown OTEL_TRACES_SAMPLER="${samplerName}". Falling back to the next sampler source.`
231
- );
232
- return void 0;
233
- }
234
- }
235
- function parseResourceAttributes(input) {
236
- if (!input || input.trim() === "") {
237
- return {};
238
- }
239
- const attributes = {};
240
- const pairs = input.split(",");
241
- for (const pair of pairs) {
242
- const trimmedPair = pair.trim();
243
- if (!trimmedPair) continue;
244
- const equalIndex = trimmedPair.indexOf("=");
245
- if (equalIndex === -1) {
246
- continue;
247
- }
248
- const key = trimmedPair.slice(0, equalIndex).trim();
249
- const value = trimmedPair.slice(equalIndex + 1).trim();
250
- if (key && value) {
251
- attributes[key] = value;
252
- }
253
- }
254
- return attributes;
255
- }
256
- function parseOtlpHeaders(input) {
257
- if (!input || input.trim() === "") {
258
- return {};
259
- }
260
- const headers = {};
261
- const pairs = input.split(",");
262
- for (const pair of pairs) {
263
- const trimmedPair = pair.trim();
264
- if (!trimmedPair) continue;
265
- const equalIndex = trimmedPair.indexOf("=");
266
- if (equalIndex === -1) {
267
- continue;
268
- }
269
- const key = trimmedPair.slice(0, equalIndex).trim();
270
- const value = trimmedPair.slice(equalIndex + 1).trim();
271
- if (key && value) {
272
- headers[key] = value;
273
- }
274
- }
275
- return headers;
276
- }
277
- function envToConfig(env) {
278
- const config2 = {};
279
- if (env.OTEL_SERVICE_NAME) {
280
- config2.service = env.OTEL_SERVICE_NAME;
281
- }
282
- if (env.OTEL_EXPORTER_OTLP_ENDPOINT) {
283
- config2.endpoint = env.OTEL_EXPORTER_OTLP_ENDPOINT;
284
- }
285
- if (env.OTEL_EXPORTER_OTLP_PROTOCOL) {
286
- config2.protocol = env.OTEL_EXPORTER_OTLP_PROTOCOL;
287
- }
288
- if (env.OTEL_EXPORTER_OTLP_HEADERS) {
289
- config2.headers = parseOtlpHeaders(env.OTEL_EXPORTER_OTLP_HEADERS);
290
- }
291
- const resourceAttrs = parseResourceAttributes(env.OTEL_RESOURCE_ATTRIBUTES);
292
- if (Object.keys(resourceAttrs).length > 0) {
293
- config2.resourceAttributes = resourceAttrs;
294
- }
295
- const sampler = createSamplerFromEnv(env);
296
- if (sampler) {
297
- config2.otelSampler = sampler;
298
- }
299
- return config2;
300
- }
301
- function resolveConfigFromEnv() {
302
- const env = resolveOtelEnv();
303
- return envToConfig(env);
304
- }
305
-
306
- // src/devtools.ts
307
- var defaultHost = "127.0.0.1";
308
- var defaultPort = 4318;
309
- function resolveDevtoolsConfig(config2) {
310
- if (!config2) {
311
- return {
312
- enabled: false,
313
- endpoint: void 0,
314
- embedded: false,
315
- host: defaultHost,
316
- port: defaultPort,
317
- verbose: false
318
- };
319
- }
320
- if (config2 === true) {
321
- return {
322
- enabled: true,
323
- endpoint: `http://${defaultHost}:${defaultPort}`,
324
- embedded: false,
325
- host: defaultHost,
326
- port: defaultPort,
327
- verbose: false
328
- };
329
- }
330
- const enabled = config2.enabled ?? true;
331
- const host = config2.host ?? defaultHost;
332
- const port = config2.port ?? defaultPort;
333
- const endpoint = config2.endpoint ?? `http://${host}:${port}`;
334
- return {
335
- enabled,
336
- endpoint: enabled ? endpoint : void 0,
337
- embedded: enabled && (config2.embedded ?? false),
338
- host,
339
- port,
340
- verbose: config2.verbose ?? false
341
- };
342
- }
343
-
344
- // src/init.ts
345
- var silentLogger = {
346
- info: () => {
347
- },
348
- warn: () => {
349
- },
350
- error: () => {
351
- },
352
- debug: () => {
353
- }
354
- };
355
- function toOtelSampler(sampler) {
356
- return {
357
- shouldSample(_context, _traceId, spanName, _spanKind, _attributes, links) {
358
- const shouldTrace = sampler.shouldSample({
359
- operationName: spanName,
360
- args: [],
361
- links
362
- });
363
- return {
364
- decision: shouldTrace ? SamplingDecision.RECORD_AND_SAMPLED : SamplingDecision.NOT_RECORD
365
- };
366
- },
367
- toString() {
368
- return `AutotelSamplerAdapter`;
369
- }
370
- };
371
- }
372
- var OTLPTraceExporterGRPC;
373
- var OTLPMetricExporterGRPC;
374
- var OTLPLogExporterGRPC;
375
- function loadGRPCTraceExporter() {
376
- if (OTLPTraceExporterGRPC) return OTLPTraceExporterGRPC;
377
- try {
378
- const grpcModule = requireModule("@opentelemetry/exporter-trace-otlp-grpc");
379
- OTLPTraceExporterGRPC = grpcModule.OTLPTraceExporter;
380
- return OTLPTraceExporterGRPC;
381
- } catch {
382
- throw new Error(
383
- "gRPC trace exporter not found. Install @opentelemetry/exporter-trace-otlp-grpc"
384
- );
385
- }
386
- }
387
- function loadGRPCMetricExporter() {
388
- if (OTLPMetricExporterGRPC) return OTLPMetricExporterGRPC;
389
- try {
390
- const grpcModule = requireModule("@opentelemetry/exporter-metrics-otlp-grpc");
391
- OTLPMetricExporterGRPC = grpcModule.OTLPMetricExporter;
392
- return OTLPMetricExporterGRPC;
393
- } catch {
394
- throw new Error(
395
- "gRPC metric exporter not found. Install @opentelemetry/exporter-metrics-otlp-grpc"
396
- );
397
- }
398
- }
399
- function createTraceExporter(protocol, config2) {
400
- if (protocol === "grpc") {
401
- const Exporter = loadGRPCTraceExporter();
402
- return new Exporter(config2);
403
- }
404
- return new OTLPTraceExporter(config2);
405
- }
406
- function createMetricExporter(protocol, config2) {
407
- if (protocol === "grpc") {
408
- const Exporter = loadGRPCMetricExporter();
409
- return new Exporter(config2);
410
- }
411
- return new OTLPMetricExporter(config2);
412
- }
413
- function loadGRPCLogExporter() {
414
- if (OTLPLogExporterGRPC) return OTLPLogExporterGRPC;
415
- try {
416
- const grpcModule = requireModule("@opentelemetry/exporter-logs-otlp-grpc");
417
- OTLPLogExporterGRPC = grpcModule.OTLPLogExporter;
418
- return OTLPLogExporterGRPC;
419
- } catch {
420
- throw new Error(
421
- "gRPC log exporter not found. Install @opentelemetry/exporter-logs-otlp-grpc"
422
- );
423
- }
424
- }
425
- function createLogExporter(protocol, config2) {
426
- if (protocol === "grpc") {
427
- const Exporter = loadGRPCLogExporter();
428
- return new Exporter(config2);
429
- }
430
- return new OTLPLogExporter(config2);
431
- }
432
- function resolveProtocol(configProtocol) {
433
- if (configProtocol === "grpc" || configProtocol === "http") {
434
- return configProtocol;
435
- }
436
- const envProtocol = process.env.OTEL_EXPORTER_OTLP_PROTOCOL;
437
- if (envProtocol === "grpc") return "grpc";
438
- if (envProtocol === "http/protobuf" || envProtocol === "http") return "http";
439
- return "http";
440
- }
441
- function formatEndpointUrl(endpoint, signal, protocol) {
442
- if (protocol === "grpc") {
443
- return endpoint.replace(/\/(v1\/)?(traces|metrics|logs)$/, "");
444
- }
445
- if (!endpoint.endsWith(`/v1/${signal}`)) {
446
- return `${endpoint}/v1/${signal}`;
447
- }
448
- return endpoint;
449
- }
450
- var initialized = false;
451
- var locked = false;
452
- var config = null;
453
- var sdk = null;
454
- var warnedOnce = false;
455
- var logger = silentLogger;
456
- var validationConfig = null;
457
- var eventsConfig = null;
458
- var _stringRedactor = null;
459
- var _optionalRequire = safeRequire;
460
- var _devtoolsClose = null;
461
- var LOG_LEVELS = { debug: 0, info: 1, warn: 2, error: 3 };
462
- function lockLogger() {
463
- locked = true;
464
- }
465
- function isLoggerLocked() {
466
- return locked;
467
- }
468
- function createSilentLogger() {
469
- return {
470
- info: () => {
471
- },
472
- warn: () => {
473
- },
474
- error: () => {
475
- },
476
- debug: () => {
477
- }
478
- };
479
- }
480
- function wrapLogger(base, silent, minLevel) {
481
- if (silent) return createSilentLogger();
482
- const threshold = LOG_LEVELS[minLevel];
483
- const wrap = (fn, level) => {
484
- if (LOG_LEVELS[level] < threshold) {
485
- return (() => {
486
- });
487
- }
488
- return ((...args) => fn(...args));
489
- };
490
- return {
491
- debug: wrap(base.debug, "debug"),
492
- info: wrap(base.info, "info"),
493
- warn: wrap(base.warn, "warn"),
494
- error: wrap(base.error, "error")
495
- };
496
- }
497
- function resolveAttributeRedactor(explicit, environment) {
498
- if (explicit === false) return void 0;
499
- if (explicit !== void 0) return explicit;
500
- const flag = process.env.AUTOTEL_REDACT_PII?.trim().toLowerCase();
501
- if (flag) {
502
- if (["off", "false", "0", "none", "disabled"].includes(flag)) {
503
- return void 0;
504
- }
505
- if (flag === "default" || flag === "strict" || flag === "pci-dss") {
506
- return flag;
507
- }
508
- if (["on", "true", "1", "enabled"].includes(flag)) {
509
- return "default";
510
- }
511
- }
512
- return environment === "production" ? "default" : void 0;
513
- }
514
- function detectEnvironmentAttributes() {
515
- const attrs = {};
516
- const commitSha = process.env.COMMIT_SHA || process.env.GITHUB_SHA || process.env.VERCEL_GIT_COMMIT_SHA || process.env.CF_PAGES_COMMIT_SHA || process.env.AWS_CODEPIPELINE_EXECUTION_ID;
517
- if (commitSha) attrs["service.commit.sha"] = commitSha;
518
- const region = process.env.VERCEL_REGION || process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION || process.env.FLY_REGION || process.env.CF_REGION || process.env.GOOGLE_CLOUD_REGION;
519
- if (region) attrs["service.region"] = region;
520
- const version = process.env.APP_VERSION || process.env.HEROKU_RELEASE_VERSION || process.env.VERCEL_GIT_COMMIT_REF;
521
- if (version) attrs["service.deploy.version"] = version;
522
- return attrs;
523
- }
524
- function resolveMetricsFlag(configFlag = "auto") {
525
- const envFlag = process.env.AUTOTEL_METRICS;
526
- if (envFlag === "on" || envFlag === "true") return true;
527
- if (envFlag === "off" || envFlag === "false") return false;
528
- if (configFlag === true) return true;
529
- if (configFlag === false) return false;
530
- return true;
531
- }
532
- function resolveLogsFlag(configFlag = "auto") {
533
- const envFlag = process.env.AUTOTEL_LOGS;
534
- if (envFlag === "on" || envFlag === "true") return true;
535
- if (envFlag === "off" || envFlag === "false") return false;
536
- if (configFlag === true) return true;
537
- if (configFlag === false) return false;
538
- return false;
539
- }
540
- function resolveDebugFlag(configFlag) {
541
- const envFlag = process.env.AUTOTEL_DEBUG;
542
- if (envFlag === "pretty") return "pretty";
543
- if (envFlag === "true" || envFlag === "1") return true;
544
- if (envFlag === "false" || envFlag === "0") return false;
545
- return configFlag ?? false;
546
- }
547
- function normalizeOtlpHeaders(headers) {
548
- if (!headers) return void 0;
549
- if (typeof headers !== "string") return headers;
550
- const parsed = {};
551
- for (const pair of headers.split(",")) {
552
- const [key, ...valueParts] = pair.split("=");
553
- if (!key || valueParts.length === 0) continue;
554
- parsed[key.trim()] = valueParts.join("=").trim();
555
- }
556
- return parsed;
557
- }
558
- function init(cfg) {
559
- if (locked) {
560
- return;
561
- }
562
- const envConfig = resolveConfigFromEnv();
563
- const yamlConfig = loadYamlConfig() ?? {};
564
- const mergedConfig = {
565
- ...envConfig,
566
- // Environment variables (lowest priority)
567
- ...yamlConfig,
568
- // YAML file (middle priority)
569
- ...cfg,
570
- // Explicit config (highest priority)
571
- // Deep merge for resourceAttributes
572
- resourceAttributes: {
573
- ...envConfig.resourceAttributes,
574
- ...yamlConfig.resourceAttributes,
575
- ...detectEnvironmentAttributes(),
576
- ...cfg.resourceAttributes
577
- },
578
- // Handle headers merge (can be string or object)
579
- headers: cfg.headers ?? yamlConfig.headers ?? envConfig.headers
580
- };
581
- const resolvedRedactor = resolveAttributeRedactor(
582
- mergedConfig.attributeRedactor,
583
- mergedConfig.environment || process.env.NODE_ENV || "development"
584
- );
585
- if (resolvedRedactor === void 0) {
586
- mergedConfig.attributeRedactor = void 0;
587
- } else {
588
- const normalizedRedactor = normalizeAttributeRedactorConfig(resolvedRedactor);
589
- if (!normalizedRedactor) {
590
- throw new Error("Invalid attributeRedactor config");
591
- }
592
- mergedConfig.attributeRedactor = normalizedRedactor;
593
- }
594
- const devtoolsConfig = resolveDevtoolsConfig(mergedConfig.devtools);
595
- if (devtoolsConfig.enabled && mergedConfig.logs === void 0) {
596
- mergedConfig.logs = true;
597
- }
598
- const silent = mergedConfig.silent ?? false;
599
- const minLevel = mergedConfig.minLevel ?? "info";
600
- const baseLogger = mergedConfig.logger || silentLogger;
601
- logger = wrapLogger(baseLogger, silent, minLevel);
602
- if (initialized) {
603
- logger.warn(
604
- {},
605
- "[autotel] init() called again - last config wins. This may cause unexpected behavior."
606
- );
607
- }
608
- config = mergedConfig;
609
- validationConfig = mergedConfig.validation || null;
610
- eventsConfig = mergedConfig.events || null;
611
- let endpoint = mergedConfig.endpoint ?? devtoolsConfig.endpoint;
612
- const otlpHeaders = normalizeOtlpHeaders(mergedConfig.headers);
613
- const version = mergedConfig.version || detectVersion();
614
- const environment = mergedConfig.environment || process.env.NODE_ENV || "development";
615
- const metricsEnabled = resolveMetricsFlag(mergedConfig.metrics);
616
- const logsEnabled = resolveLogsFlag(mergedConfig.logs);
617
- if (devtoolsConfig.enabled && devtoolsConfig.embedded) {
618
- const devtoolsModule = _optionalRequire("autotel-devtools");
619
- if (devtoolsModule?.createDevtools) {
620
- const devtoolsInstance = devtoolsModule.createDevtools({
621
- port: devtoolsConfig.port,
622
- host: devtoolsConfig.host,
623
- verbose: devtoolsConfig.verbose
624
- });
625
- _devtoolsClose = devtoolsInstance.close;
626
- endpoint = `http://${devtoolsConfig.host}:${devtoolsInstance.port}`;
627
- logger.info(
628
- {},
629
- `[autotel] autotel-devtools embedded server started at ${endpoint}`
630
- );
631
- } else {
632
- logger.warn(
633
- {},
634
- "[autotel] devtools.embedded requested but autotel-devtools is not installed. Falling back to endpoint-only mode."
635
- );
636
- }
637
- }
638
- const hostname = detectHostname();
639
- let resource = resourceFromAttributes({
640
- [ATTR_SERVICE_NAME]: mergedConfig.service,
641
- [ATTR_SERVICE_VERSION]: version,
642
- // Support both old and new OpenTelemetry semantic conventions for environment
643
- "deployment.environment": environment,
644
- // Deprecated but widely supported
645
- "deployment.environment.name": environment
646
- // OTel v1.27.0+ standard
647
- });
648
- if (hostname) {
649
- resource = resource.merge(
650
- resourceFromAttributes({
651
- "host.name": hostname,
652
- // OpenTelemetry standard
653
- "datadog.host.name": hostname
654
- // Datadog-specific, highest priority for Datadog
655
- })
656
- );
657
- }
658
- if (mergedConfig.resource) {
659
- resource = resource.merge(mergedConfig.resource);
660
- }
661
- if (mergedConfig.resourceAttributes) {
662
- resource = resource.merge(
663
- resourceFromAttributes(mergedConfig.resourceAttributes)
664
- );
665
- }
666
- const protocol = resolveProtocol(mergedConfig.protocol);
667
- const configuredSpanProcessors = mergedConfig.spanProcessors && mergedConfig.spanProcessors.length > 0 ? mergedConfig.spanProcessors : mergedConfig.spanProcessor ? [mergedConfig.spanProcessor] : void 0;
668
- const configuredSpanExporters = mergedConfig.spanExporters && mergedConfig.spanExporters.length > 0 ? mergedConfig.spanExporters : mergedConfig.spanExporter ? [mergedConfig.spanExporter] : void 0;
669
- const configuredMetricReaders = mergedConfig.metricReaders && mergedConfig.metricReaders.length > 0 ? mergedConfig.metricReaders : mergedConfig.metricReader ? [mergedConfig.metricReader] : void 0;
670
- const configuredLogRecordProcessors = mergedConfig.logRecordProcessors && mergedConfig.logRecordProcessors.length > 0 ? mergedConfig.logRecordProcessors : mergedConfig.logRecordProcessor ? [mergedConfig.logRecordProcessor] : void 0;
671
- let spanProcessors = [];
672
- if (configuredSpanProcessors && configuredSpanProcessors.length > 0) {
673
- spanProcessors.push(...configuredSpanProcessors);
674
- } else if (configuredSpanExporters && configuredSpanExporters.length > 0) {
675
- for (const exporter of configuredSpanExporters) {
676
- spanProcessors.push(
677
- new TailSamplingSpanProcessor(new BatchSpanProcessor(exporter))
678
- );
679
- }
680
- } else if (endpoint) {
681
- const traceExporter = createTraceExporter(protocol, {
682
- url: formatEndpointUrl(endpoint, "traces", protocol),
683
- headers: otlpHeaders
684
- });
685
- spanProcessors.push(
686
- new TailSamplingSpanProcessor(new BatchSpanProcessor(traceExporter))
687
- );
688
- }
689
- if (mergedConfig.baggage) {
690
- const prefix = typeof mergedConfig.baggage === "string" ? mergedConfig.baggage ? `${mergedConfig.baggage}.` : "" : "baggage.";
691
- spanProcessors.push(new BaggageSpanProcessor({ prefix }));
692
- }
693
- const debugMode = resolveDebugFlag(mergedConfig.debug);
694
- if (debugMode === "pretty") {
695
- spanProcessors.push(new SimpleSpanProcessor(new PrettyConsoleExporter()));
696
- } else if (debugMode === true) {
697
- spanProcessors.push(new SimpleSpanProcessor(new ConsoleSpanExporter()));
698
- }
699
- if (mergedConfig.canonicalLogLines?.enabled) {
700
- const canonicalOptions = {
701
- logger: mergedConfig.canonicalLogLines.logger || mergedConfig.logger,
702
- rootSpansOnly: mergedConfig.canonicalLogLines.rootSpansOnly,
703
- minLevel: mergedConfig.canonicalLogLines.minLevel,
704
- messageFormat: mergedConfig.canonicalLogLines.messageFormat,
705
- includeResourceAttributes: mergedConfig.canonicalLogLines.includeResourceAttributes,
706
- shouldEmit: mergedConfig.canonicalLogLines.shouldEmit,
707
- keep: mergedConfig.canonicalLogLines.keep,
708
- drain: mergedConfig.canonicalLogLines.drain,
709
- onDrainError: mergedConfig.canonicalLogLines.onDrainError,
710
- pretty: mergedConfig.canonicalLogLines.pretty
711
- };
712
- spanProcessors.push(new CanonicalLogLineProcessor(canonicalOptions));
713
- }
714
- if (mergedConfig.attributeRedactor && spanProcessors.length > 0) {
715
- const redactor = mergedConfig.attributeRedactor;
716
- spanProcessors = spanProcessors.map(
717
- (processor) => new AttributeRedactingProcessor(processor, {
718
- redactor
719
- })
720
- );
721
- }
722
- if (mergedConfig.attributeRedactor) {
723
- _stringRedactor = createStringRedactor(mergedConfig.attributeRedactor);
724
- }
725
- if (_stringRedactor && mergedConfig.subscribers) {
726
- for (const subscriber of mergedConfig.subscribers) {
727
- if ("setStringRedactor" in subscriber && typeof subscriber.setStringRedactor === "function") {
728
- subscriber.setStringRedactor(_stringRedactor);
729
- }
730
- }
731
- }
732
- if (mergedConfig.spanNameNormalizer && spanProcessors.length > 0) {
733
- spanProcessors = spanProcessors.map(
734
- (processor) => new SpanNameNormalizingProcessor(processor, {
735
- normalizer: mergedConfig.spanNameNormalizer
736
- })
737
- );
738
- }
739
- if (mergedConfig.spanFilter && spanProcessors.length > 0) {
740
- spanProcessors = spanProcessors.map(
741
- (processor) => new FilteringSpanProcessor(processor, {
742
- filter: mergedConfig.spanFilter
743
- })
744
- );
745
- }
746
- const metricReaders = [];
747
- if (configuredMetricReaders && configuredMetricReaders.length > 0) {
748
- metricReaders.push(...configuredMetricReaders);
749
- } else if (metricsEnabled && endpoint) {
750
- const metricExporter = createMetricExporter(protocol, {
751
- url: formatEndpointUrl(endpoint, "metrics", protocol),
752
- headers: otlpHeaders
753
- });
754
- metricReaders.push(
755
- new PeriodicExportingMetricReader({
756
- exporter: metricExporter
757
- })
758
- );
759
- }
760
- let logRecordProcessors;
761
- if (configuredLogRecordProcessors && configuredLogRecordProcessors.length > 0) {
762
- logRecordProcessors = [...configuredLogRecordProcessors];
763
- }
764
- if (logsEnabled && endpoint) {
765
- const logExporter = createLogExporter(protocol, {
766
- url: formatEndpointUrl(endpoint, "logs", protocol),
767
- headers: otlpHeaders
768
- });
769
- let processor = new BatchLogRecordProcessor(
770
- logExporter
771
- );
772
- if (_stringRedactor) {
773
- processor = new RedactingLogRecordProcessor(processor, _stringRedactor);
774
- }
775
- if (!logRecordProcessors) {
776
- logRecordProcessors = [];
777
- }
778
- logRecordProcessors.push(processor);
779
- logger.info({}, "[autotel] OTLP log exporter configured");
780
- }
781
- const posthogProcessors = buildPostHogLogProcessors(
782
- mergedConfig.posthog,
783
- _stringRedactor
784
- );
785
- if (posthogProcessors.length > 0) {
786
- if (!logRecordProcessors) {
787
- logRecordProcessors = [];
788
- }
789
- logRecordProcessors.push(...posthogProcessors);
790
- logger.info({}, "[autotel] PostHog OTLP logs configured");
791
- }
792
- let finalInstrumentations = mergedConfig.instrumentations ? [...mergedConfig.instrumentations] : [];
793
- if (mergedConfig.autoInstrumentations !== void 0 && mergedConfig.autoInstrumentations !== false) {
794
- const isESM = isESMMode();
795
- if (isESM) {
796
- logger.info(
797
- {},
798
- "[autotel] ESM mode detected. For auto-instrumentation to work:\n 1. Install @opentelemetry/auto-instrumentations-node as a direct dependency\n 2. Import autotel/register FIRST in your instrumentation file\n 3. Use getNodeAutoInstrumentations() directly instead of autoInstrumentations\n See: https://github.com/jagreehal/autotel#esm-setup"
799
- );
800
- }
801
- try {
802
- const manualInstrumentationNames = getInstrumentationNames(
803
- mergedConfig.instrumentations ?? []
804
- );
805
- if (manualInstrumentationNames.size > 0) {
806
- const manualNames = [...manualInstrumentationNames].join(", ");
807
- logger.info(
808
- {},
809
- `[autotel] Detected manual instrumentations (${manualNames}). These will take precedence over auto-instrumentations. Tip: Set autoInstrumentations:false if you want full manual control, or remove manual configs to use auto-instrumentations.`
810
- );
811
- }
812
- const autoInstrumentations = getAutoInstrumentations(
813
- mergedConfig.autoInstrumentations,
814
- manualInstrumentationNames
815
- );
816
- if (autoInstrumentations && autoInstrumentations.length > 0) {
817
- finalInstrumentations = [
818
- ...finalInstrumentations,
819
- ...autoInstrumentations
820
- ];
821
- }
822
- } catch (error) {
823
- logger.warn(
824
- {},
825
- `[autotel] Failed to configure auto-instrumentations: ${error instanceof Error ? error.message : String(error)}`
826
- );
827
- }
828
- }
829
- const autotelSampler = mergedConfig.sampler ?? (mergedConfig.sampling ? resolveSamplingPreset(mergedConfig.sampling) : void 0);
830
- if (autotelSampler) {
831
- mergedConfig.sampler = autotelSampler;
832
- }
833
- const sampler = autotelSampler ? toOtelSampler(autotelSampler) : envConfig.otelSampler ?? toOtelSampler(samplingPresets.production());
834
- const sdkOptions = {
835
- resource,
836
- sampler,
837
- instrumentations: finalInstrumentations
838
- };
839
- if (spanProcessors.length > 0) {
840
- sdkOptions.spanProcessors = spanProcessors;
841
- }
842
- if (metricReaders.length > 0) {
843
- sdkOptions.metricReaders = metricReaders;
844
- }
845
- if (logRecordProcessors && logRecordProcessors.length > 0) {
846
- sdkOptions.logRecordProcessors = logRecordProcessors;
847
- }
848
- sdk = mergedConfig.sdkFactory ? mergedConfig.sdkFactory(sdkOptions) : new NodeSDK(sdkOptions);
849
- if (!sdk) {
850
- throw new Error("[autotel] sdkFactory must return a NodeSDK instance");
851
- }
852
- sdk.start();
853
- if (mergedConfig.openllmetry?.enabled) {
854
- const traceloop = _optionalRequire("@traceloop/node-server-sdk");
855
- if (traceloop) {
856
- const initOptions = {
857
- ...mergedConfig.openllmetry.options
858
- };
859
- try {
860
- const tracerProvider = sdk.getTracerProvider();
861
- initOptions.tracerProvider = tracerProvider;
862
- } catch {
863
- }
864
- if (configuredSpanExporters?.[0]) {
865
- initOptions.exporter = configuredSpanExporters[0];
866
- }
867
- if (typeof traceloop.initialize === "function") {
868
- traceloop.initialize(initOptions);
869
- logger.info({}, "[autotel] OpenLLMetry initialized successfully");
870
- } else {
871
- logger.warn(
872
- {},
873
- "[autotel] OpenLLMetry initialize function not found. Check @traceloop/node-server-sdk version."
874
- );
875
- }
876
- } else {
877
- logger.warn(
878
- {},
879
- "[autotel] OpenLLMetry enabled but @traceloop/node-server-sdk is not installed. Install it as a peer dependency to use OpenLLMetry integration."
880
- );
881
- }
882
- }
883
- initialized = true;
884
- }
885
- function getInstrumentationNames(instrumentations) {
886
- const names = /* @__PURE__ */ new Set();
887
- if (!instrumentations) return names;
888
- for (const instrumentation of instrumentations) {
889
- if (instrumentation && typeof instrumentation === "object") {
890
- names.add(instrumentation.constructor.name);
891
- }
892
- }
893
- return names;
894
- }
895
- var INSTRUMENTATION_CLASS_TO_PACKAGE = {
896
- HttpInstrumentation: "@opentelemetry/instrumentation-http",
897
- HttpsInstrumentation: "@opentelemetry/instrumentation-http",
898
- ExpressInstrumentation: "@opentelemetry/instrumentation-express",
899
- FastifyInstrumentation: "@opentelemetry/instrumentation-fastify",
900
- MongoDBInstrumentation: "@opentelemetry/instrumentation-mongodb",
901
- MongooseInstrumentation: "@opentelemetry/instrumentation-mongoose",
902
- PrismaInstrumentation: "@opentelemetry/instrumentation-prisma",
903
- PinoInstrumentation: "@opentelemetry/instrumentation-pino",
904
- WinstonInstrumentation: "@opentelemetry/instrumentation-winston",
905
- RedisInstrumentation: "@opentelemetry/instrumentation-redis",
906
- GraphQLInstrumentation: "@opentelemetry/instrumentation-graphql",
907
- GrpcInstrumentation: "@opentelemetry/instrumentation-grpc",
908
- IORedisInstrumentation: "@opentelemetry/instrumentation-ioredis",
909
- KnexInstrumentation: "@opentelemetry/instrumentation-knex",
910
- NestJsInstrumentation: "@opentelemetry/instrumentation-nestjs-core",
911
- PgInstrumentation: "@opentelemetry/instrumentation-pg",
912
- MySQLInstrumentation: "@opentelemetry/instrumentation-mysql",
913
- MySQL2Instrumentation: "@opentelemetry/instrumentation-mysql2"
914
- };
915
- function isESMMode() {
916
- try {
917
- const fs = requireModule("node:fs");
918
- try {
919
- const pkg = JSON.parse(
920
- fs.readFileSync(`${process.cwd()}/package.json`, "utf8")
921
- );
922
- return pkg.type === "module";
923
- } catch {
924
- return false;
925
- }
926
- } catch {
927
- return false;
928
- }
929
- }
930
- function loadNodeAutoInstrumentations() {
931
- try {
932
- const mod = requireModule("@opentelemetry/auto-instrumentations-node");
933
- return mod.getNodeAutoInstrumentations;
934
- } catch {
935
- const isESM = isESMMode();
936
- const baseMessage = "@opentelemetry/auto-instrumentations-node not found.";
937
- if (isESM) {
938
- throw new Error(
939
- `${baseMessage}
940
-
941
- ESM Setup Required:
942
- 1. Install as a direct dependency: pnpm add @opentelemetry/auto-instrumentations-node
943
- 2. Create instrumentation.mjs with:
944
- import 'autotel/register'; // MUST be first!
945
- import { init } from 'autotel';
946
- import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
947
- init({ service: "my-app", instrumentations: getNodeAutoInstrumentations() });
948
- 3. Run with: tsx --import ./instrumentation.mjs src/index.ts
949
-
950
- See: https://github.com/jagreehal/autotel#esm-setup`
951
- );
952
- }
953
- throw new Error(
954
- `${baseMessage} Install it: pnpm add @opentelemetry/auto-instrumentations-node`
955
- );
956
- }
957
- }
958
- function getAutoInstrumentations(integrations, manualInstrumentationNames = /* @__PURE__ */ new Set()) {
959
- if (integrations === false) {
960
- return [];
961
- }
962
- const getNodeAutoInstrumentations = loadNodeAutoInstrumentations();
963
- const exclusionConfig = {};
964
- for (const className of manualInstrumentationNames) {
965
- const packageName = INSTRUMENTATION_CLASS_TO_PACKAGE[className];
966
- if (packageName) {
967
- exclusionConfig[packageName] = { enabled: false };
968
- }
969
- }
970
- if (integrations === true) {
971
- if (Object.keys(exclusionConfig).length > 0) {
972
- return getNodeAutoInstrumentations(exclusionConfig);
973
- }
974
- return getNodeAutoInstrumentations();
975
- }
976
- if (Array.isArray(integrations)) {
977
- const config3 = { ...exclusionConfig };
978
- for (const name of integrations) {
979
- const packageName = `@opentelemetry/instrumentation-${name}`;
980
- if (!exclusionConfig[packageName]) {
981
- config3[packageName] = { enabled: true };
982
- }
983
- }
984
- return getNodeAutoInstrumentations(config3);
985
- }
986
- const config2 = {
987
- ...exclusionConfig,
988
- ...integrations
989
- };
990
- for (const packageName of Object.keys(exclusionConfig)) {
991
- const integrationsKey = Object.keys(integrations).find(
992
- (key) => packageName.includes(key)
993
- );
994
- if (integrationsKey) {
995
- config2[packageName] = { enabled: false };
996
- }
997
- }
998
- return getNodeAutoInstrumentations(config2);
999
- }
1000
- function isInitialized() {
1001
- return initialized;
1002
- }
1003
- function getConfig() {
1004
- return config;
1005
- }
1006
- function getLogger() {
1007
- return logger;
1008
- }
1009
- function getValidationConfig() {
1010
- return validationConfig;
1011
- }
1012
- function getEventsConfig() {
1013
- return eventsConfig;
1014
- }
1015
- function warnIfNotInitialized(context) {
1016
- if (!initialized && !warnedOnce) {
1017
- logger.warn(
1018
- {},
1019
- `[autotel] ${context} used before init() called. Call init({ service: "..." }) first. See: https://docs.autotel.dev/quickstart`
1020
- );
1021
- warnedOnce = true;
1022
- }
1023
- }
1024
- function detectVersion() {
1025
- try {
1026
- const fs = requireModule("node:fs");
1027
- const pkg = JSON.parse(
1028
- fs.readFileSync(`${process.cwd()}/package.json`, "utf8")
1029
- );
1030
- return pkg.version || "1.0.0";
1031
- } catch {
1032
- return "1.0.0";
1033
- }
1034
- }
1035
- function detectHostname() {
1036
- if (process.env.DD_HOSTNAME) {
1037
- return process.env.DD_HOSTNAME;
1038
- }
1039
- if (process.env.HOSTNAME) {
1040
- return process.env.HOSTNAME;
1041
- }
1042
- try {
1043
- const os = requireModule("node:os");
1044
- return os.hostname();
1045
- } catch {
1046
- return void 0;
1047
- }
1048
- }
1049
- async function _closeEmbeddedDevtools() {
1050
- if (_devtoolsClose) {
1051
- await _devtoolsClose();
1052
- _devtoolsClose = null;
1053
- }
1054
- }
1055
- function getSdk() {
1056
- return sdk;
1057
- }
1058
-
1059
- export { BaggageSpanProcessor, _closeEmbeddedDevtools, createStringRedactor, getConfig, getEventsConfig, getLogger, getSdk, getValidationConfig, init, isInitialized, isLoggerLocked, lockLogger, warnIfNotInitialized };
1060
- //# sourceMappingURL=chunk-ALPYR2GC.js.map
1061
- //# sourceMappingURL=chunk-ALPYR2GC.js.map