autotel 4.3.0 → 6.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 (384) hide show
  1. package/README.md +125 -103
  2. package/dist/analysis.cjs +87 -0
  3. package/dist/analysis.cjs.map +1 -0
  4. package/dist/analysis.d.cts +87 -0
  5. package/dist/analysis.d.cts.map +1 -0
  6. package/dist/analysis.d.ts +87 -0
  7. package/dist/analysis.d.ts.map +1 -0
  8. package/dist/analysis.js +85 -0
  9. package/dist/analysis.js.map +1 -0
  10. package/dist/{attribute-redacting-processor-DtTS9xxh.d.ts → attribute-redacting-processor-Pk7lAzWd.d.cts} +13 -8
  11. package/dist/attribute-redacting-processor-Pk7lAzWd.d.cts.map +1 -0
  12. package/dist/{attribute-redacting-processor-DtTS9xxh.d.cts → attribute-redacting-processor-Pk7lAzWd.d.ts} +13 -8
  13. package/dist/attribute-redacting-processor-Pk7lAzWd.d.ts.map +1 -0
  14. package/dist/attribute-redacting-processor.cjs +4 -4
  15. package/dist/attribute-redacting-processor.cjs.map +1 -1
  16. package/dist/attribute-redacting-processor.d.cts +1 -1
  17. package/dist/attribute-redacting-processor.d.ts +1 -1
  18. package/dist/attribute-redacting-processor.js +4 -4
  19. package/dist/attribute-redacting-processor.js.map +1 -1
  20. package/dist/attributes.d.cts +1 -1
  21. package/dist/attributes.d.ts +1 -1
  22. package/dist/auto.cjs +1 -1
  23. package/dist/auto.cjs.map +1 -1
  24. package/dist/auto.d.cts +1 -1
  25. package/dist/auto.d.ts +1 -1
  26. package/dist/auto.js +1 -1
  27. package/dist/auto.js.map +1 -1
  28. package/dist/business-baggage.d.cts +2 -3
  29. package/dist/business-baggage.d.cts.map +1 -1
  30. package/dist/business-baggage.d.ts +2 -3
  31. package/dist/business-baggage.d.ts.map +1 -1
  32. package/dist/{canonical-log-line-processor-xvjMgtpF.d.cts → canonical-log-line-processor-B4WgG-VS.d.cts} +2 -3
  33. package/dist/canonical-log-line-processor-B4WgG-VS.d.cts.map +1 -0
  34. package/dist/{canonical-log-line-processor-BcRuAdRk.d.ts → canonical-log-line-processor-CL_J7gb5.d.ts} +2 -3
  35. package/dist/canonical-log-line-processor-CL_J7gb5.d.ts.map +1 -0
  36. package/dist/{canonical-log-line-processor-CcrDi6TO.cjs → canonical-log-line-processor-DOjb6Kxy.cjs} +5 -5
  37. package/dist/canonical-log-line-processor-DOjb6Kxy.cjs.map +1 -0
  38. package/dist/{canonical-log-line-processor-FLezvFCB.js → canonical-log-line-processor-mKABvGP0.js} +5 -5
  39. package/dist/canonical-log-line-processor-mKABvGP0.js.map +1 -0
  40. package/dist/config.d.cts +12 -7
  41. package/dist/config.d.cts.map +1 -1
  42. package/dist/config.d.ts +12 -7
  43. package/dist/config.d.ts.map +1 -1
  44. package/dist/correlation-id.cjs +9 -9
  45. package/dist/correlation-id.d.cts +0 -1
  46. package/dist/correlation-id.d.cts.map +1 -1
  47. package/dist/correlation-id.d.ts +0 -1
  48. package/dist/correlation-id.d.ts.map +1 -1
  49. package/dist/correlation-id.js +1 -1
  50. package/dist/db.d.cts.map +1 -1
  51. package/dist/db.d.ts.map +1 -1
  52. package/dist/decorators.cjs +2 -2
  53. package/dist/decorators.cjs.map +1 -1
  54. package/dist/decorators.d.cts +1 -2
  55. package/dist/decorators.d.cts.map +1 -1
  56. package/dist/decorators.d.ts +1 -2
  57. package/dist/decorators.d.ts.map +1 -1
  58. package/dist/decorators.js +1 -1
  59. package/dist/decorators.js.map +1 -1
  60. package/dist/{define-event-CreknLm3.d.ts → define-event-B2z1SBe7.d.ts} +2 -3
  61. package/dist/define-event-B2z1SBe7.d.ts.map +1 -0
  62. package/dist/{define-event-HZRizPwz.d.cts → define-event-CGG048HE.d.cts} +2 -3
  63. package/dist/define-event-CGG048HE.d.cts.map +1 -0
  64. package/dist/diagnostics.cjs +10 -1
  65. package/dist/diagnostics.cjs.map +1 -1
  66. package/dist/diagnostics.d.cts +0 -1
  67. package/dist/diagnostics.d.cts.map +1 -1
  68. package/dist/diagnostics.d.ts +0 -1
  69. package/dist/diagnostics.d.ts.map +1 -1
  70. package/dist/diagnostics.js +10 -1
  71. package/dist/diagnostics.js.map +1 -1
  72. package/dist/drain-pipeline.d.cts +12 -5
  73. package/dist/drain-pipeline.d.cts.map +1 -1
  74. package/dist/drain-pipeline.d.ts +12 -5
  75. package/dist/drain-pipeline.d.ts.map +1 -1
  76. package/dist/enrichers.d.cts.map +1 -1
  77. package/dist/enrichers.d.ts.map +1 -1
  78. package/dist/{event-subscriber-D1XLkPzi.d.ts → event-subscriber-CWh8sTGh.d.cts} +2 -2
  79. package/dist/event-subscriber-CWh8sTGh.d.cts.map +1 -0
  80. package/dist/{event-subscriber-D1XLkPzi.d.cts → event-subscriber-CWh8sTGh.d.ts} +2 -2
  81. package/dist/event-subscriber-CWh8sTGh.d.ts.map +1 -0
  82. package/dist/event-subscriber.d.cts +1 -1
  83. package/dist/event-subscriber.d.ts +1 -1
  84. package/dist/{event-testing-CfFs3to2.d.ts → event-testing-CA2mIx1E.d.ts} +2 -3
  85. package/dist/event-testing-CA2mIx1E.d.ts.map +1 -0
  86. package/dist/{event-testing-BqRnI0z4.d.cts → event-testing-D0qWfqAy.d.cts} +2 -3
  87. package/dist/event-testing-D0qWfqAy.d.cts.map +1 -0
  88. package/dist/event-testing.d.cts +1 -1
  89. package/dist/event-testing.d.ts +1 -1
  90. package/dist/event.cjs +4 -4
  91. package/dist/event.d.cts +3 -4
  92. package/dist/event.d.cts.map +1 -1
  93. package/dist/event.d.ts +3 -4
  94. package/dist/event.d.ts.map +1 -1
  95. package/dist/event.js +1 -1
  96. package/dist/exporters.d.cts +0 -4
  97. package/dist/exporters.d.cts.map +1 -1
  98. package/dist/exporters.d.ts +0 -4
  99. package/dist/exporters.d.ts.map +1 -1
  100. package/dist/{filtering-span-processor-B8R8B7Uk.d.ts → filtering-span-processor-BpDagWNa.d.cts} +1 -2
  101. package/dist/filtering-span-processor-BpDagWNa.d.cts.map +1 -0
  102. package/dist/{filtering-span-processor-B8R8B7Uk.d.cts → filtering-span-processor-BpDagWNa.d.ts} +1 -2
  103. package/dist/filtering-span-processor-BpDagWNa.d.ts.map +1 -0
  104. package/dist/filtering-span-processor.d.cts +1 -1
  105. package/dist/filtering-span-processor.d.ts +1 -1
  106. package/dist/functional-BnDUxnSl.js +838 -0
  107. package/dist/functional-BnDUxnSl.js.map +1 -0
  108. package/dist/functional-DcLBuCPz.cjs +888 -0
  109. package/dist/functional-DcLBuCPz.cjs.map +1 -0
  110. package/dist/functional.cjs +2 -2
  111. package/dist/functional.d.cts +79 -130
  112. package/dist/functional.d.cts.map +1 -1
  113. package/dist/functional.d.ts +79 -130
  114. package/dist/functional.d.ts.map +1 -1
  115. package/dist/functional.js +2 -2
  116. package/dist/http.cjs +6 -6
  117. package/dist/http.cjs.map +1 -1
  118. package/dist/http.d.cts +4 -5
  119. package/dist/http.d.cts.map +1 -1
  120. package/dist/http.d.ts +4 -5
  121. package/dist/http.d.ts.map +1 -1
  122. package/dist/http.js +5 -5
  123. package/dist/http.js.map +1 -1
  124. package/dist/{index-eKuioqT1.d.cts → index-BPcxVucm.d.cts} +2 -3
  125. package/dist/index-BPcxVucm.d.cts.map +1 -0
  126. package/dist/{index-Ck06vlW2.d.ts → index-DolOVX6F.d.ts} +2 -3
  127. package/dist/index-DolOVX6F.d.ts.map +1 -0
  128. package/dist/index.cjs +25 -167
  129. package/dist/index.cjs.map +1 -1
  130. package/dist/index.d.cts +14 -14
  131. package/dist/index.d.cts.map +1 -1
  132. package/dist/index.d.ts +14 -14
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +6 -148
  135. package/dist/index.js.map +1 -1
  136. package/dist/init-C3RApHKJ.cjs +3371 -0
  137. package/dist/init-C3RApHKJ.cjs.map +1 -0
  138. package/dist/{init-DSrRmVnz.d.cts → init-D6n2diBy.d.ts} +46 -20
  139. package/dist/init-D6n2diBy.d.ts.map +1 -0
  140. package/dist/init-R-gSEXkJ.js +3190 -0
  141. package/dist/init-R-gSEXkJ.js.map +1 -0
  142. package/dist/{init-B7u-DjxM.d.ts → init-XzXzrarP.d.cts} +46 -20
  143. package/dist/init-XzXzrarP.d.cts.map +1 -0
  144. package/dist/instrumentation.cjs +7 -13
  145. package/dist/instrumentation.cjs.map +1 -1
  146. package/dist/instrumentation.d.cts +0 -1
  147. package/dist/instrumentation.d.cts.map +1 -1
  148. package/dist/instrumentation.d.ts +0 -1
  149. package/dist/instrumentation.d.ts.map +1 -1
  150. package/dist/instrumentation.js +8 -14
  151. package/dist/instrumentation.js.map +1 -1
  152. package/dist/{logger-BauSUhUv.d.ts → logger-CN4xpzMd.d.cts} +1 -2
  153. package/dist/logger-CN4xpzMd.d.cts.map +1 -0
  154. package/dist/{logger-BauSUhUv.d.cts → logger-CN4xpzMd.d.ts} +1 -2
  155. package/dist/logger-CN4xpzMd.d.ts.map +1 -0
  156. package/dist/logger-D3Ej3DII.js.map +1 -1
  157. package/dist/logger-thMPLpOG.cjs.map +1 -1
  158. package/dist/logger.d.cts +1 -1
  159. package/dist/logger.d.ts +1 -1
  160. package/dist/messaging-adapters.cjs.map +1 -1
  161. package/dist/messaging-adapters.d.cts +0 -1
  162. package/dist/messaging-adapters.d.cts.map +1 -1
  163. package/dist/messaging-adapters.d.ts +0 -1
  164. package/dist/messaging-adapters.d.ts.map +1 -1
  165. package/dist/messaging-adapters.js.map +1 -1
  166. package/dist/messaging-testing.d.cts +0 -1
  167. package/dist/messaging-testing.d.cts.map +1 -1
  168. package/dist/messaging-testing.d.ts +0 -1
  169. package/dist/messaging-testing.d.ts.map +1 -1
  170. package/dist/messaging.cjs +27 -10
  171. package/dist/messaging.cjs.map +1 -1
  172. package/dist/messaging.d.cts +6 -7
  173. package/dist/messaging.d.cts.map +1 -1
  174. package/dist/messaging.d.ts +6 -7
  175. package/dist/messaging.d.ts.map +1 -1
  176. package/dist/messaging.js +27 -10
  177. package/dist/messaging.js.map +1 -1
  178. package/dist/metric-helpers.d.cts +0 -1
  179. package/dist/metric-helpers.d.cts.map +1 -1
  180. package/dist/metric-helpers.d.ts +0 -1
  181. package/dist/metric-helpers.d.ts.map +1 -1
  182. package/dist/{metric-testing-DXdK3-Q3.d.ts → metric-testing-CWm6UhaR.d.ts} +2 -3
  183. package/dist/metric-testing-CWm6UhaR.d.ts.map +1 -0
  184. package/dist/{metric-testing-MxvzChDp.d.cts → metric-testing-CpvP3ZIa.d.cts} +2 -3
  185. package/dist/metric-testing-CpvP3ZIa.d.cts.map +1 -0
  186. package/dist/metric-testing.d.cts +1 -1
  187. package/dist/metric-testing.d.ts +1 -1
  188. package/dist/metric.d.cts +3 -4
  189. package/dist/metric.d.cts.map +1 -1
  190. package/dist/metric.d.ts +3 -4
  191. package/dist/metric.d.ts.map +1 -1
  192. package/dist/parse-error.d.cts.map +1 -1
  193. package/dist/parse-error.d.ts.map +1 -1
  194. package/dist/processors.cjs +1 -1
  195. package/dist/processors.d.cts +1 -1
  196. package/dist/processors.d.ts +1 -1
  197. package/dist/processors.js +1 -1
  198. package/dist/register.d.cts +1 -1
  199. package/dist/register.d.ts +1 -1
  200. package/dist/{sampling-DfYhDJij.d.cts → sampling-BR9fkSwx.d.cts} +127 -10
  201. package/dist/sampling-BR9fkSwx.d.cts.map +1 -0
  202. package/dist/{sampling-CR0Va1VB.d.ts → sampling-CP3e7-Yr.d.ts} +127 -10
  203. package/dist/sampling-CP3e7-Yr.d.ts.map +1 -0
  204. package/dist/sampling.cjs +160 -12
  205. package/dist/sampling.cjs.map +1 -1
  206. package/dist/sampling.d.cts +2 -2
  207. package/dist/sampling.d.ts +2 -2
  208. package/dist/sampling.js +157 -13
  209. package/dist/sampling.js.map +1 -1
  210. package/dist/security-schema.d.cts +9 -4
  211. package/dist/security-schema.d.cts.map +1 -1
  212. package/dist/security-schema.d.ts +9 -4
  213. package/dist/security-schema.d.ts.map +1 -1
  214. package/dist/semantic-conventions-FhSxv-bK.d.cts.map +1 -1
  215. package/dist/semantic-conventions-FhSxv-bK.d.ts.map +1 -1
  216. package/dist/semantic-conventions.cjs.map +1 -1
  217. package/dist/semantic-conventions.js.map +1 -1
  218. package/dist/semantic-helpers.cjs +85 -304
  219. package/dist/semantic-helpers.cjs.map +1 -1
  220. package/dist/semantic-helpers.d.cts +21 -12
  221. package/dist/semantic-helpers.d.cts.map +1 -1
  222. package/dist/semantic-helpers.d.ts +21 -12
  223. package/dist/semantic-helpers.d.ts.map +1 -1
  224. package/dist/semantic-helpers.js +85 -304
  225. package/dist/semantic-helpers.js.map +1 -1
  226. package/dist/slo.cjs +225 -0
  227. package/dist/slo.cjs.map +1 -0
  228. package/dist/slo.d.cts +97 -0
  229. package/dist/slo.d.cts.map +1 -0
  230. package/dist/slo.d.ts +97 -0
  231. package/dist/slo.d.ts.map +1 -0
  232. package/dist/slo.js +223 -0
  233. package/dist/slo.js.map +1 -0
  234. package/dist/{span-name-normalizer-8ZOGJuwv.d.ts → span-name-normalizer-CN1-8C76.d.cts} +1 -2
  235. package/dist/span-name-normalizer-CN1-8C76.d.cts.map +1 -0
  236. package/dist/{span-name-normalizer-8ZOGJuwv.d.cts → span-name-normalizer-CN1-8C76.d.ts} +1 -2
  237. package/dist/span-name-normalizer-CN1-8C76.d.ts.map +1 -0
  238. package/dist/span-name-normalizer.cjs.map +1 -1
  239. package/dist/span-name-normalizer.d.cts +1 -1
  240. package/dist/span-name-normalizer.d.ts +1 -1
  241. package/dist/span-name-normalizer.js.map +1 -1
  242. package/dist/tail-sampling-processor.d.cts +0 -1
  243. package/dist/tail-sampling-processor.d.cts.map +1 -1
  244. package/dist/tail-sampling-processor.d.ts +0 -1
  245. package/dist/tail-sampling-processor.d.ts.map +1 -1
  246. package/dist/test-span-collector.cjs.map +1 -1
  247. package/dist/test-span-collector.d.cts +0 -1
  248. package/dist/test-span-collector.d.cts.map +1 -1
  249. package/dist/test-span-collector.d.ts +0 -1
  250. package/dist/test-span-collector.d.ts.map +1 -1
  251. package/dist/test-span-collector.js.map +1 -1
  252. package/dist/testing.cjs +76 -11
  253. package/dist/testing.cjs.map +1 -1
  254. package/dist/testing.d.cts +30 -5
  255. package/dist/testing.d.cts.map +1 -1
  256. package/dist/testing.d.ts +30 -5
  257. package/dist/testing.d.ts.map +1 -1
  258. package/dist/testing.js +73 -12
  259. package/dist/testing.js.map +1 -1
  260. package/dist/{trace-context-Cijqoi6e.d.ts → trace-context-IuyoPyNq.d.cts} +9 -9
  261. package/dist/trace-context-IuyoPyNq.d.cts.map +1 -0
  262. package/dist/{trace-context-Cijqoi6e.d.cts → trace-context-IuyoPyNq.d.ts} +9 -9
  263. package/dist/trace-context-IuyoPyNq.d.ts.map +1 -0
  264. package/dist/trace-factory-validation-BjVAinz6.js +13 -0
  265. package/dist/trace-factory-validation-BjVAinz6.js.map +1 -0
  266. package/dist/trace-factory-validation-Dc8epn87.cjs +19 -0
  267. package/dist/trace-factory-validation-Dc8epn87.cjs.map +1 -0
  268. package/dist/trace-helpers.cjs +7 -7
  269. package/dist/trace-helpers.cjs.map +1 -1
  270. package/dist/trace-helpers.d.cts +6 -7
  271. package/dist/trace-helpers.d.cts.map +1 -1
  272. package/dist/trace-helpers.d.ts +6 -7
  273. package/dist/trace-helpers.d.ts.map +1 -1
  274. package/dist/trace-helpers.js +7 -7
  275. package/dist/trace-helpers.js.map +1 -1
  276. package/dist/tracer-provider.d.cts +0 -1
  277. package/dist/tracer-provider.d.cts.map +1 -1
  278. package/dist/tracer-provider.d.ts +0 -1
  279. package/dist/tracer-provider.d.ts.map +1 -1
  280. package/dist/validate.cjs.map +1 -1
  281. package/dist/validate.d.cts +1 -2
  282. package/dist/validate.d.cts.map +1 -1
  283. package/dist/validate.d.ts +1 -2
  284. package/dist/validate.d.ts.map +1 -1
  285. package/dist/validate.js.map +1 -1
  286. package/dist/validation-attributes.d.cts +17 -8
  287. package/dist/validation-attributes.d.cts.map +1 -1
  288. package/dist/validation-attributes.d.ts +17 -8
  289. package/dist/validation-attributes.d.ts.map +1 -1
  290. package/dist/webhook.cjs +5 -4
  291. package/dist/webhook.cjs.map +1 -1
  292. package/dist/webhook.d.cts +4 -4
  293. package/dist/webhook.d.cts.map +1 -1
  294. package/dist/webhook.d.ts +4 -4
  295. package/dist/webhook.d.ts.map +1 -1
  296. package/dist/webhook.js +5 -4
  297. package/dist/webhook.js.map +1 -1
  298. package/dist/workflow-distributed.cjs +5 -5
  299. package/dist/workflow-distributed.cjs.map +1 -1
  300. package/dist/workflow-distributed.d.cts +25 -15
  301. package/dist/workflow-distributed.d.cts.map +1 -1
  302. package/dist/workflow-distributed.d.ts +25 -15
  303. package/dist/workflow-distributed.d.ts.map +1 -1
  304. package/dist/workflow-distributed.js +5 -5
  305. package/dist/workflow-distributed.js.map +1 -1
  306. package/dist/workflow.cjs +24 -30
  307. package/dist/workflow.cjs.map +1 -1
  308. package/dist/workflow.d.cts +11 -6
  309. package/dist/workflow.d.cts.map +1 -1
  310. package/dist/workflow.d.ts +11 -6
  311. package/dist/workflow.d.ts.map +1 -1
  312. package/dist/workflow.js +24 -30
  313. package/dist/workflow.js.map +1 -1
  314. package/dist/yaml-config.d.cts +2 -3
  315. package/dist/yaml-config.d.cts.map +1 -1
  316. package/dist/yaml-config.d.ts +2 -3
  317. package/dist/yaml-config.d.ts.map +1 -1
  318. package/package.json +24 -16
  319. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts.map +0 -1
  320. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts.map +0 -1
  321. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts.map +0 -1
  322. package/dist/canonical-log-line-processor-CcrDi6TO.cjs.map +0 -1
  323. package/dist/canonical-log-line-processor-FLezvFCB.js.map +0 -1
  324. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts.map +0 -1
  325. package/dist/define-event-CreknLm3.d.ts.map +0 -1
  326. package/dist/define-event-HZRizPwz.d.cts.map +0 -1
  327. package/dist/event-BEm5IJ8U.js +0 -761
  328. package/dist/event-BEm5IJ8U.js.map +0 -1
  329. package/dist/event-rzA1X5h3.cjs +0 -778
  330. package/dist/event-rzA1X5h3.cjs.map +0 -1
  331. package/dist/event-subscriber-D1XLkPzi.d.cts.map +0 -1
  332. package/dist/event-subscriber-D1XLkPzi.d.ts.map +0 -1
  333. package/dist/event-testing-BqRnI0z4.d.cts.map +0 -1
  334. package/dist/event-testing-CfFs3to2.d.ts.map +0 -1
  335. package/dist/filtering-span-processor-B8R8B7Uk.d.cts.map +0 -1
  336. package/dist/filtering-span-processor-B8R8B7Uk.d.ts.map +0 -1
  337. package/dist/functional-CwsPyc4l.cjs +0 -1298
  338. package/dist/functional-CwsPyc4l.cjs.map +0 -1
  339. package/dist/functional-dAYhXQPA.js +0 -1248
  340. package/dist/functional-dAYhXQPA.js.map +0 -1
  341. package/dist/index-Ck06vlW2.d.ts.map +0 -1
  342. package/dist/index-eKuioqT1.d.cts.map +0 -1
  343. package/dist/init-B7u-DjxM.d.ts.map +0 -1
  344. package/dist/init-BvBB45-T.js +0 -1034
  345. package/dist/init-BvBB45-T.js.map +0 -1
  346. package/dist/init-BxJEJ9Tn.cjs +0 -1111
  347. package/dist/init-BxJEJ9Tn.cjs.map +0 -1
  348. package/dist/init-DSrRmVnz.d.cts.map +0 -1
  349. package/dist/logger-BauSUhUv.d.cts.map +0 -1
  350. package/dist/logger-BauSUhUv.d.ts.map +0 -1
  351. package/dist/metric-testing-DXdK3-Q3.d.ts.map +0 -1
  352. package/dist/metric-testing-MxvzChDp.d.cts.map +0 -1
  353. package/dist/operation-context-CKBoA4Qy.js +0 -59
  354. package/dist/operation-context-CKBoA4Qy.js.map +0 -1
  355. package/dist/operation-context-hzKbTKnt.cjs +0 -72
  356. package/dist/operation-context-hzKbTKnt.cjs.map +0 -1
  357. package/dist/sampling-CR0Va1VB.d.ts.map +0 -1
  358. package/dist/sampling-DfYhDJij.d.cts.map +0 -1
  359. package/dist/span-name-normalizer-8ZOGJuwv.d.cts.map +0 -1
  360. package/dist/span-name-normalizer-8ZOGJuwv.d.ts.map +0 -1
  361. package/dist/trace-context-Cijqoi6e.d.cts.map +0 -1
  362. package/dist/trace-context-Cijqoi6e.d.ts.map +0 -1
  363. package/dist/track-D7O7oIZa.js +0 -1115
  364. package/dist/track-D7O7oIZa.js.map +0 -1
  365. package/dist/track-eovhCJ-I.cjs +0 -1218
  366. package/dist/track-eovhCJ-I.cjs.map +0 -1
  367. package/skills/analyze-traces/SKILL.md +0 -180
  368. package/skills/autotel-core/SKILL.md +0 -159
  369. package/skills/autotel-events/SKILL.md +0 -84
  370. package/skills/autotel-frameworks/SKILL.md +0 -90
  371. package/skills/autotel-instrumentation/SKILL.md +0 -145
  372. package/skills/autotel-request-logging/SKILL.md +0 -94
  373. package/skills/autotel-structured-errors/SKILL.md +0 -125
  374. package/skills/build-audit-trails/SKILL.md +0 -460
  375. package/skills/build-audit-trails/references/audit-queries.md +0 -73
  376. package/skills/build-audit-trails/references/framework-wiring.md +0 -196
  377. package/skills/debug-missing-spans/SKILL.md +0 -250
  378. package/skills/migrate-to-autotel/SKILL.md +0 -269
  379. package/skills/review-otel-patterns/SKILL.md +0 -538
  380. package/skills/review-otel-patterns/references/code-review.md +0 -76
  381. package/skills/review-otel-patterns/references/processor-pipeline.md +0 -205
  382. package/skills/review-otel-patterns/references/structured-errors.md +0 -102
  383. package/skills/review-otel-patterns/references/wide-spans.md +0 -85
  384. package/skills/tune-sampling/SKILL.md +0 -215
@@ -1,196 +0,0 @@
1
- # Framework wiring for audit trails
2
-
3
- Each handler below records an authorization decision (allow and deny) and emits one audit span. They assume the `audit()` / `withAuthz()` helpers from Step 1–2 of the skill, or the `withAudit` helper from `autotel-audit`. Keep the audit call inside the traced request so it inherits the trace context.
4
-
5
- The rule across every framework is the same: wrap the authorization decision so both branches reach the audit pipeline, and never put raw payloads on the span.
6
-
7
- ## Next.js (App Router)
8
-
9
- ```typescript
10
- // app/admin/users/[id]/route.ts
11
- import { withAuthz } from '@/lib/audit';
12
-
13
- export async function DELETE(
14
- req: Request,
15
- { params }: { params: { id: string } },
16
- ) {
17
- return withAuthz(
18
- {
19
- action: 'user.delete',
20
- resource: { type: 'user', id: params.id },
21
- actor: { id: req.headers.get('x-user-id')!, role: 'admin' },
22
- },
23
- async () => ({ allow: await canDelete(req, params.id) }),
24
- async () => {
25
- await db.user.delete({ where: { id: params.id } });
26
- return Response.json({ ok: true });
27
- },
28
- );
29
- }
30
- ```
31
-
32
- ## Nuxt / Nitro
33
-
34
- ```typescript
35
- // server/api/secrets/[id].delete.ts
36
- import { withAuthz } from '~/server/utils/audit';
37
-
38
- export default defineEventHandler((event) =>
39
- withAuthz(
40
- {
41
- action: 'secret.delete',
42
- resource: { type: 'secret', id: getRouterParam(event, 'id')! },
43
- actor: { id: event.context.user.id, role: event.context.user.role },
44
- },
45
- async () => ({ allow: await canManageSecret(event) }),
46
- async () => {
47
- await secrets.delete(getRouterParam(event, 'id')!);
48
- return { ok: true };
49
- },
50
- ),
51
- );
52
- ```
53
-
54
- ## NestJS
55
-
56
- Wrap the audited work inside the service or an interceptor. The decision lives next to the business logic:
57
-
58
- ```typescript
59
- @Injectable()
60
- export class UsersService {
61
- async remove(id: string, actor: Actor) {
62
- return withAuthz(
63
- { action: 'user.delete', resource: { type: 'user', id }, actor },
64
- async () => ({ allow: actor.role === 'admin' }),
65
- async () => this.repo.delete(id),
66
- );
67
- }
68
- }
69
- ```
70
-
71
- ## Express
72
-
73
- ```typescript
74
- import { withAuthz } from './audit';
75
-
76
- app.delete('/admin/users/:id', async (req, res, next) => {
77
- try {
78
- await withAuthz(
79
- {
80
- action: 'user.delete',
81
- resource: { type: 'user', id: req.params.id },
82
- actor: { id: req.user.id, role: req.user.role },
83
- },
84
- async () => ({ allow: req.user.role === 'admin' }),
85
- async () => db.user.delete({ where: { id: req.params.id } }),
86
- );
87
- res.json({ ok: true });
88
- } catch (err) {
89
- next(err);
90
- }
91
- });
92
- ```
93
-
94
- ## Fastify
95
-
96
- ```typescript
97
- import { withAuthz } from './audit';
98
-
99
- fastify.delete('/admin/users/:id', async (request, reply) => {
100
- await withAuthz(
101
- {
102
- action: 'user.delete',
103
- resource: { type: 'user', id: (request.params as { id: string }).id },
104
- actor: { id: request.user.id, role: request.user.role },
105
- },
106
- async () => ({ allow: request.user.role === 'admin' }),
107
- async () =>
108
- db.user.delete({ where: { id: (request.params as { id: string }).id } }),
109
- );
110
- return { ok: true };
111
- });
112
- ```
113
-
114
- ## Hono
115
-
116
- ```typescript
117
- import { withAuthz } from './audit';
118
-
119
- app.post('/secrets/:id/read', (c) =>
120
- withAuthz(
121
- {
122
- action: 'secret.read',
123
- resource: { type: 'secret', id: c.req.param('id') },
124
- actor: { id: c.var.user.id, role: c.var.user.role },
125
- },
126
- () => requireScope(c, 'secrets:read'),
127
- async () => c.json({ value: await secrets.read(c.req.param('id')) }),
128
- ),
129
- );
130
- ```
131
-
132
- ## Cloudflare Workers
133
-
134
- Audit from inside `defineWorkerFetch` so `ctx.waitUntil` exports the audit span before the response returns:
135
-
136
- ```typescript
137
- import { defineWorkerFetch } from 'autotel-cloudflare';
138
- import { withAuthz } from './audit';
139
-
140
- export default defineWorkerFetch(
141
- { service: { name: 'admin-api' } },
142
- async (request, env, ctx, log) =>
143
- withAuthz(
144
- {
145
- action: 'data.export',
146
- resource: { type: 'project', id: 'p_123' },
147
- actor: { id: 'usr_42' },
148
- },
149
- async () => ({ allow: true }),
150
- async () => Response.json({ ok: true }),
151
- ),
152
- );
153
- ```
154
-
155
- ## AWS Lambda
156
-
157
- Wrap the traced handler; the audit span is flushed when the handler settles:
158
-
159
- ```typescript
160
- import { withAuthz } from './audit';
161
-
162
- export const handler = async (event: APIGatewayProxyEventV2) =>
163
- withAuthz(
164
- {
165
- action: 'invoice.void',
166
- resource: { type: 'invoice', id: event.pathParameters!.id! },
167
- actor: { id: event.requestContext.authorizer!.userId },
168
- },
169
- async () => ({ allow: await canVoid(event) }),
170
- async () => {
171
- await invoices.void(event.pathParameters!.id!);
172
- return { statusCode: 200, body: JSON.stringify({ ok: true }) };
173
- },
174
- );
175
- ```
176
-
177
- ## Standalone scripts and cron jobs
178
-
179
- Outside a request there is no ambient trace context. Wrap the job in `trace()` first so the audit span has a parent, and set the actor to the system principal:
180
-
181
- ```typescript
182
- import { trace } from 'autotel';
183
- import { withAudit } from 'autotel-audit';
184
-
185
- export const nightlyPurge = trace(async function nightlyPurge() {
186
- await withAudit(
187
- {
188
- action: 'data.purge',
189
- resource: 'expired-sessions',
190
- actorId: 'system:cron',
191
- category: 'maintenance',
192
- },
193
- async () => sessions.purgeExpired(),
194
- );
195
- });
196
- ```
@@ -1,250 +0,0 @@
1
- ---
2
- name: debug-missing-spans
3
- description: >
4
- Troubleshoot when expected OpenTelemetry spans don't reach the backend.
5
- Walks the chain top-to-bottom — code → SDK init → processor → exporter →
6
- network → backend ingest — with concrete tests at each step. Covers head
7
- sampling, ctx.waitUntil drops on Cloudflare, init-order races, runtime
8
- detection failures, propagation breaks, exporter auth errors, and
9
- silent ratelimits.
10
- license: MIT
11
- ---
12
-
13
- # Debug missing spans
14
-
15
- When a span you expect isn't in the backend, the cause is somewhere in this chain:
16
-
17
- ```
18
- code → SDK init → head sampler → processor → exporter → network → backend ingest → backend index
19
- ```
20
-
21
- This skill walks each link in order with a quick check you can run. Don't skip steps — the cause is rarely where you'd guess.
22
-
23
- ## Step 0: Reproduce locally with the pretty exporter
24
-
25
- Before chasing remote backends, confirm the span exists at all:
26
-
27
- ```typescript
28
- init({
29
- service: 'my-app',
30
- debug: 'pretty', // hierarchical colourised output to stdout
31
- });
32
- ```
33
-
34
- If you see the span in stdout, the SDK + sampler are fine — skip to "exporter / network". If you don't, keep reading.
35
-
36
- ## Step 1: Is the SDK actually initialised?
37
-
38
- Common failure: `init()` runs after the first request because of import-order.
39
-
40
- ```typescript
41
- import { trace } from '@opentelemetry/api';
42
-
43
- const tracer = trace.getTracer('autotel-debug');
44
- console.log(
45
- '[autotel-debug] tracer is no-op:',
46
- tracer.constructor.name === 'NoopTracer',
47
- );
48
- ```
49
-
50
- If `true`, `init()` ran too late. Move it to the very top of the entry file (or to `instrumentation.ts` for Next.js).
51
-
52
- ## Step 2: Head sampler
53
-
54
- Print the effective head rate:
55
-
56
- ```typescript
57
- import { getActiveConfig } from 'autotel-edge';
58
- console.log('[autotel-debug] sampling:', getActiveConfig()?.sampling);
59
- ```
60
-
61
- Common gotchas:
62
-
63
- - `sampling.rates: { server: 5 }` — 5 % means 95 % of spans never start.
64
- - Inheriting `OTEL_TRACES_SAMPLER_ARG=0.01` from the environment via the OTel default sampler.
65
- - Your test happens to hit the unsampled branch — instrument with `sampling: { rates: { server: 100 } }` while reproducing.
66
-
67
- To force sampling for one request, send a `traceparent` with the sampled flag set:
68
-
69
- ```
70
- traceparent: 00-<traceid>-<spanid>-01
71
- ```
72
-
73
- (`-01` at the end = sampled.) autotel's parent-based sampler will respect it.
74
-
75
- ## Step 3: Cloudflare Workers — `ctx.waitUntil`
76
-
77
- The single biggest cause of missing spans on the edge: **the response returned before the exporter flushed**.
78
-
79
- If you're using `addEventListener('fetch', …)` or a hand-rolled `fetch` in a module worker without wiring `ctx.waitUntil(…)` to the export call, async drains drop silently.
80
-
81
- Fix — switch to `defineWorkerFetch` or `wrapModule`, both of which wire `waitUntil` automatically:
82
-
83
- ```typescript
84
- import { defineWorkerFetch } from 'autotel-cloudflare';
85
-
86
- export default defineWorkerFetch(
87
- { service: { name: 'edge' } },
88
- async (request, env, ctx, log) => {
89
- // log.set / spans here all flush via ctx.waitUntil before response returns
90
- return new Response('ok');
91
- },
92
- );
93
- ```
94
-
95
- ## Step 4: Processor pipeline
96
-
97
- Print what's wired:
98
-
99
- ```typescript
100
- import { trace } from '@opentelemetry/api';
101
- const provider = trace.getTracerProvider();
102
- console.log('[autotel-debug] provider:', provider.constructor.name);
103
- console.log(
104
- '[autotel-debug] processors:',
105
- (provider as any)._registeredSpanProcessors?.map(
106
- (p: any) => p.constructor.name,
107
- ),
108
- );
109
- ```
110
-
111
- Common issues:
112
-
113
- - **A `FilteringSpanProcessor` excludes your span.** Check the `include` / `exclude` predicates.
114
- - **A `TailSamplingProcessor` dropped the trace** (no error, no slow root, no debug header).
115
- - **A `composePostProcessors` step returns `[]` for your span.**
116
-
117
- To bisect, temporarily strip post-processors:
118
-
119
- ```typescript
120
- init({
121
- service: 'my-app',
122
- endpoint: process.env.OTLP_ENDPOINT!,
123
- // no postProcessor, no tail sampler, no filter
124
- });
125
- ```
126
-
127
- If the span shows up now, add back the processors one at a time.
128
-
129
- ## Step 5: Exporter
130
-
131
- Tail the SDK's diagnostic log:
132
-
133
- ```typescript
134
- import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
135
- diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
136
- ```
137
-
138
- Look for:
139
-
140
- ```
141
- @opentelemetry/api: ... OTLPExporter: failed to send 4 traces, status: 401, error: ...
142
- ```
143
-
144
- Common exporter errors:
145
-
146
- | Status | Meaning | Fix |
147
- | ------------- | ------------------------- | ----------------------------------------------------------- |
148
- | `401` | Bad / missing auth header | Check `OTLP_HEADERS` / vendor token name |
149
- | `403` | Token has no write scope | Issue a token with the right scope |
150
- | `404` | Wrong endpoint URL | Check region (`api.honeycomb.io` vs `api.eu1.honeycomb.io`) |
151
- | `413` | Batch too big | Lower `BatchSpanProcessor` `maxExportBatchSize` |
152
- | `429` | Rate-limited | Reduce head/tail rates; honour `retry-after` |
153
- | `502/503/504` | Upstream unhealthy | Often transient; add retries; check backend status |
154
- | Network error | DNS / firewall | `curl -v <url>` from the same network |
155
-
156
- ## Step 6: Network / TLS
157
-
158
- For self-hosted Collectors:
159
-
160
- ```bash
161
- curl -v -X POST $OTLP_ENDPOINT \
162
- -H 'content-type: application/json' \
163
- -H "$AUTH_HEADER" \
164
- -d '{"resourceSpans":[]}'
165
- ```
166
-
167
- Should return `200`. If it doesn't, the problem is between you and the Collector — not autotel.
168
-
169
- For Cloudflare Workers, run `wrangler tail` and look for `OTLPExporter` errors.
170
-
171
- ## Step 7: Backend ingest — silent rejection
172
-
173
- Some backends accept the request with a 200 but drop the events:
174
-
175
- - **Honeycomb**: dataset must exist _and_ the API key must have write access to it. Mismatched key/dataset → silent drop.
176
- - **Datadog**: check `service` is set (resource attribute `service.name`) — they ignore spans without it.
177
- - **Sentry**: SDK version mismatch on envelope → 200 but events disappear.
178
- - **Grafana Cloud Tempo**: spans without `service.name` go to a fallback service called `unknown_service`.
179
-
180
- For each backend, the dataset / index / project where you'd expect the span:
181
-
182
- | Backend | Where the span lands |
183
- | ------------- | --------------------------------------- |
184
- | Honeycomb | dataset = `service.name` (auto-created) |
185
- | Datadog | `service:<name>` filter |
186
- | Grafana Tempo | search by `traceId` |
187
- | Jaeger | service dropdown = `service.name` |
188
- | Sentry | project linked to the DSN |
189
-
190
- ## Step 8: Backend index lag
191
-
192
- After a 200, expect ingestion lag of:
193
-
194
- | Backend | Typical lag |
195
- | ------------------ | ----------- |
196
- | Honeycomb | < 5 s |
197
- | Datadog | 30–60 s |
198
- | Grafana Tempo | 10–30 s |
199
- | Sentry | 30–120 s |
200
- | Self-hosted Jaeger | < 1 s |
201
-
202
- Don't conclude the span is missing until you've waited > 2× the expected lag.
203
-
204
- ## Step-by-step checklist
205
-
206
- ```
207
- [ ] Span shows in `debug: 'pretty'` stdout
208
- [ ] `tracer.constructor.name !== 'NoopTracer'` (SDK initialised)
209
- [ ] Head rate is high enough to allow the request
210
- [ ] Workers handler uses defineWorkerFetch / wrapModule
211
- [ ] No post-processor / tail sampler / filter strips it
212
- [ ] Exporter logs no 4xx/5xx
213
- [ ] Curl to OTLP endpoint returns 200
214
- [ ] Backend has the right service.name / dataset / project
215
- [ ] Waited 2× expected ingest lag
216
- ```
217
-
218
- ## When the trace partially shows up
219
-
220
- Some spans land, some don't:
221
-
222
- - **Trace context broken between services** — outbound HTTP calls aren't propagating `traceparent`. Confirm autotel's global fetch instrumentation is on (`instrumentation.instrumentGlobalFetch: true`, default).
223
- - **Async boundary loses context** — a `setTimeout` / queue callback ran outside the AsyncLocalStorage scope. Wrap with `trace()` or use `context.with()`.
224
- - **Cross-runtime call** — Node service → Workers → browser; verify `traceparent` arrives at each leg via response headers / network panel.
225
-
226
- ## When the SDK itself crashes
227
-
228
- ```
229
- TypeError: Cannot read properties of undefined (reading 'startActiveSpan')
230
- ```
231
-
232
- Usually means the API version (`@opentelemetry/api`) and SDK version (`@opentelemetry/sdk-trace-base`) drifted. Run:
233
-
234
- ```bash
235
- pnpm why @opentelemetry/api
236
- ```
237
-
238
- There should be exactly one resolved version. If there are two, dedup via `pnpm.overrides`.
239
-
240
- ## Anti-patterns to fix as you debug
241
-
242
- | Anti-pattern | Why it loses spans |
243
- | --------------------------------------------------------- | ------------------------------------------------------------------ |
244
- | `init()` after the first import that uses tracing | Spans before `init()` are no-ops |
245
- | `addEventListener('fetch', …)` on Workers | Pre-module-worker style; no `ctx.waitUntil` to wire |
246
- | Single `OTLP_ENDPOINT` env var with `?` chars URL-encoded | Auth gets parsed as part of the path |
247
- | Importing both `@sentry/tracing` and `autotel` | Double-instrumentation eats spans |
248
- | `process.exit(0)` immediately after the work | The exporter never flushed; call `await provider.shutdown()` first |
249
-
250
- If spans reach one backend but not another in a fan-out setup, bisect with `destinations`: keep one destination at a time, then re-add the others until the failing backend is isolated.