autotel 3.6.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (617) hide show
  1. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts +175 -0
  2. package/dist/attribute-redacting-processor-DtTS9xxh.d.cts.map +1 -0
  3. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts +175 -0
  4. package/dist/attribute-redacting-processor-DtTS9xxh.d.ts.map +1 -0
  5. package/dist/attribute-redacting-processor.cjs +374 -33
  6. package/dist/attribute-redacting-processor.cjs.map +1 -1
  7. package/dist/attribute-redacting-processor.d.cts +2 -207
  8. package/dist/attribute-redacting-processor.d.ts +2 -207
  9. package/dist/attribute-redacting-processor.js +368 -2
  10. package/dist/attribute-redacting-processor.js.map +1 -1
  11. package/dist/attributes-CmYpdqCN.js +591 -0
  12. package/dist/attributes-CmYpdqCN.js.map +1 -0
  13. package/dist/attributes-PZ5doLgw.cjs +704 -0
  14. package/dist/attributes-PZ5doLgw.cjs.map +1 -0
  15. package/dist/attributes.cjs +21 -85
  16. package/dist/attributes.d.cts +2 -20
  17. package/dist/attributes.d.ts +2 -20
  18. package/dist/attributes.js +3 -5
  19. package/dist/auto.cjs +50 -28
  20. package/dist/auto.cjs.map +1 -1
  21. package/dist/auto.d.cts +1 -2
  22. package/dist/auto.d.ts +1 -2
  23. package/dist/auto.js +49 -23
  24. package/dist/auto.js.map +1 -1
  25. package/dist/business-baggage.cjs +357 -13
  26. package/dist/business-baggage.cjs.map +1 -1
  27. package/dist/business-baggage.d.cts +106 -139
  28. package/dist/business-baggage.d.cts.map +1 -0
  29. package/dist/business-baggage.d.ts +106 -139
  30. package/dist/business-baggage.d.ts.map +1 -0
  31. package/dist/business-baggage.js +357 -2
  32. package/dist/business-baggage.js.map +1 -1
  33. package/dist/canonical-log-line-processor--RlFDHhm.cjs +377 -0
  34. package/dist/canonical-log-line-processor--RlFDHhm.cjs.map +1 -0
  35. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts +147 -0
  36. package/dist/canonical-log-line-processor-BcRuAdRk.d.ts.map +1 -0
  37. package/dist/canonical-log-line-processor-DbBQT5vY.js +366 -0
  38. package/dist/canonical-log-line-processor-DbBQT5vY.js.map +1 -0
  39. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts +147 -0
  40. package/dist/canonical-log-line-processor-xvjMgtpF.d.cts.map +1 -0
  41. package/dist/config.cjs +118 -22
  42. package/dist/config.cjs.map +1 -1
  43. package/dist/config.d.cts +33 -45
  44. package/dist/config.d.cts.map +1 -0
  45. package/dist/config.d.ts +33 -45
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +116 -3
  48. package/dist/config.js.map +1 -1
  49. package/dist/correlated-events-Bzh5y-UB.js +28 -0
  50. package/dist/correlated-events-Bzh5y-UB.js.map +1 -0
  51. package/dist/correlated-events-kSwLo3mi.cjs +34 -0
  52. package/dist/correlated-events-kSwLo3mi.cjs.map +1 -0
  53. package/dist/correlation-id.cjs +11 -54
  54. package/dist/correlation-id.d.cts +6 -5
  55. package/dist/correlation-id.d.cts.map +1 -0
  56. package/dist/correlation-id.d.ts +6 -5
  57. package/dist/correlation-id.d.ts.map +1 -0
  58. package/dist/correlation-id.js +3 -17
  59. package/dist/db.cjs +244 -209
  60. package/dist/db.cjs.map +1 -1
  61. package/dist/db.d.cts +28 -26
  62. package/dist/db.d.cts.map +1 -0
  63. package/dist/db.d.ts +28 -26
  64. package/dist/db.d.ts.map +1 -0
  65. package/dist/db.js +243 -207
  66. package/dist/db.js.map +1 -1
  67. package/dist/decorators.cjs +39 -66
  68. package/dist/decorators.cjs.map +1 -1
  69. package/dist/decorators.d.cts +10 -37
  70. package/dist/decorators.d.cts.map +1 -0
  71. package/dist/decorators.d.ts +10 -37
  72. package/dist/decorators.d.ts.map +1 -0
  73. package/dist/decorators.js +38 -64
  74. package/dist/decorators.js.map +1 -1
  75. package/dist/define-event-CreknLm3.d.ts +25 -0
  76. package/dist/define-event-CreknLm3.d.ts.map +1 -0
  77. package/dist/define-event-HZRizPwz.d.cts +25 -0
  78. package/dist/define-event-HZRizPwz.d.cts.map +1 -0
  79. package/dist/drain-pipeline.cjs +111 -9
  80. package/dist/drain-pipeline.cjs.map +1 -1
  81. package/dist/drain-pipeline.d.cts +27 -32
  82. package/dist/drain-pipeline.d.cts.map +1 -0
  83. package/dist/drain-pipeline.d.ts +27 -32
  84. package/dist/drain-pipeline.d.ts.map +1 -0
  85. package/dist/drain-pipeline.js +111 -2
  86. package/dist/drain-pipeline.js.map +1 -1
  87. package/dist/enrichers.cjs +59 -66
  88. package/dist/enrichers.cjs.map +1 -1
  89. package/dist/enrichers.d.cts +15 -13
  90. package/dist/enrichers.d.cts.map +1 -0
  91. package/dist/enrichers.d.ts +15 -13
  92. package/dist/enrichers.d.ts.map +1 -0
  93. package/dist/enrichers.js +58 -65
  94. package/dist/enrichers.js.map +1 -1
  95. package/dist/event-Dlqr4ZNL.cjs +778 -0
  96. package/dist/event-Dlqr4ZNL.cjs.map +1 -0
  97. package/dist/event-_58ryBjh.js +761 -0
  98. package/dist/event-_58ryBjh.js.map +1 -0
  99. package/dist/event-subscriber-D1XLkPzi.d.cts +223 -0
  100. package/dist/event-subscriber-D1XLkPzi.d.cts.map +1 -0
  101. package/dist/event-subscriber-D1XLkPzi.d.ts +223 -0
  102. package/dist/event-subscriber-D1XLkPzi.d.ts.map +1 -0
  103. package/dist/event-subscriber.cjs +0 -6
  104. package/dist/event-subscriber.d.cts +2 -221
  105. package/dist/event-subscriber.d.ts +2 -221
  106. package/dist/event-subscriber.js +1 -3
  107. package/dist/event-testing-BqRnI0z4.d.cts +106 -0
  108. package/dist/event-testing-BqRnI0z4.d.cts.map +1 -0
  109. package/dist/event-testing-CfFs3to2.d.ts +106 -0
  110. package/dist/event-testing-CfFs3to2.d.ts.map +1 -0
  111. package/dist/event-testing.cjs +93 -17
  112. package/dist/event-testing.cjs.map +1 -1
  113. package/dist/event-testing.d.cts +2 -110
  114. package/dist/event-testing.d.ts +2 -110
  115. package/dist/event-testing.js +91 -2
  116. package/dist/event-testing.js.map +1 -1
  117. package/dist/event.cjs +5 -37
  118. package/dist/event.d.cts +295 -340
  119. package/dist/event.d.cts.map +1 -0
  120. package/dist/event.d.ts +295 -340
  121. package/dist/event.d.ts.map +1 -0
  122. package/dist/event.js +3 -21
  123. package/dist/exporters.cjs +12 -16
  124. package/dist/exporters.d.cts +86 -111
  125. package/dist/exporters.d.cts.map +1 -0
  126. package/dist/exporters.d.ts +86 -111
  127. package/dist/exporters.d.ts.map +1 -0
  128. package/dist/exporters.js +4 -4
  129. package/dist/filtering-span-processor-B8R8B7Uk.d.cts +59 -0
  130. package/dist/filtering-span-processor-B8R8B7Uk.d.cts.map +1 -0
  131. package/dist/filtering-span-processor-B8R8B7Uk.d.ts +59 -0
  132. package/dist/filtering-span-processor-B8R8B7Uk.d.ts.map +1 -0
  133. package/dist/filtering-span-processor.cjs +49 -9
  134. package/dist/filtering-span-processor.cjs.map +1 -1
  135. package/dist/filtering-span-processor.d.cts +2 -80
  136. package/dist/filtering-span-processor.d.ts +2 -80
  137. package/dist/filtering-span-processor.js +49 -2
  138. package/dist/filtering-span-processor.js.map +1 -1
  139. package/dist/functional-BGkT8J-h.js +1265 -0
  140. package/dist/functional-BGkT8J-h.js.map +1 -0
  141. package/dist/functional-C4CzoVrX.cjs +1312 -0
  142. package/dist/functional-C4CzoVrX.cjs.map +1 -0
  143. package/dist/functional.cjs +11 -57
  144. package/dist/functional.d.cts +96 -97
  145. package/dist/functional.d.cts.map +1 -0
  146. package/dist/functional.d.ts +96 -97
  147. package/dist/functional.d.ts.map +1 -0
  148. package/dist/functional.js +3 -20
  149. package/dist/http.cjs +276 -176
  150. package/dist/http.cjs.map +1 -1
  151. package/dist/http.d.cts +17 -37
  152. package/dist/http.d.cts.map +1 -0
  153. package/dist/http.d.ts +17 -37
  154. package/dist/http.d.ts.map +1 -0
  155. package/dist/http.js +275 -174
  156. package/dist/http.js.map +1 -1
  157. package/dist/index-Ck06vlW2.d.ts +678 -0
  158. package/dist/index-Ck06vlW2.d.ts.map +1 -0
  159. package/dist/index-eKuioqT1.d.cts +678 -0
  160. package/dist/index-eKuioqT1.d.cts.map +1 -0
  161. package/dist/index.cjs +751 -1218
  162. package/dist/index.cjs.map +1 -1
  163. package/dist/index.d.cts +341 -659
  164. package/dist/index.d.cts.map +1 -0
  165. package/dist/index.d.ts +341 -659
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +606 -737
  168. package/dist/index.js.map +1 -1
  169. package/dist/init-CNp-ee80.d.cts +1157 -0
  170. package/dist/init-CNp-ee80.d.cts.map +1 -0
  171. package/dist/init-Ch6t7MNI.js +1015 -0
  172. package/dist/init-Ch6t7MNI.js.map +1 -0
  173. package/dist/init-DJQOdVlN.d.ts +1157 -0
  174. package/dist/init-DJQOdVlN.d.ts.map +1 -0
  175. package/dist/init-DvapOXCc.cjs +1092 -0
  176. package/dist/init-DvapOXCc.cjs.map +1 -0
  177. package/dist/instrumentation.cjs +159 -185
  178. package/dist/instrumentation.cjs.map +1 -1
  179. package/dist/instrumentation.d.cts +42 -40
  180. package/dist/instrumentation.d.cts.map +1 -0
  181. package/dist/instrumentation.d.ts +42 -40
  182. package/dist/instrumentation.d.ts.map +1 -0
  183. package/dist/instrumentation.js +158 -183
  184. package/dist/instrumentation.js.map +1 -1
  185. package/dist/logger-BauSUhUv.d.cts +313 -0
  186. package/dist/logger-BauSUhUv.d.cts.map +1 -0
  187. package/dist/logger-BauSUhUv.d.ts +313 -0
  188. package/dist/logger-BauSUhUv.d.ts.map +1 -0
  189. package/dist/logger.cjs +225 -25
  190. package/dist/logger.cjs.map +1 -1
  191. package/dist/logger.d.cts +2 -348
  192. package/dist/logger.d.ts +2 -348
  193. package/dist/logger.js +204 -4
  194. package/dist/logger.js.map +1 -1
  195. package/dist/messaging-adapters.cjs +292 -187
  196. package/dist/messaging-adapters.cjs.map +1 -1
  197. package/dist/messaging-adapters.d.cts +28 -66
  198. package/dist/messaging-adapters.d.cts.map +1 -0
  199. package/dist/messaging-adapters.d.ts +28 -66
  200. package/dist/messaging-adapters.d.ts.map +1 -0
  201. package/dist/messaging-adapters.js +291 -185
  202. package/dist/messaging-adapters.js.map +1 -1
  203. package/dist/messaging-testing.cjs +306 -372
  204. package/dist/messaging-testing.cjs.map +1 -1
  205. package/dist/messaging-testing.d.cts +194 -223
  206. package/dist/messaging-testing.d.cts.map +1 -0
  207. package/dist/messaging-testing.d.ts +194 -223
  208. package/dist/messaging-testing.d.ts.map +1 -0
  209. package/dist/messaging-testing.js +305 -371
  210. package/dist/messaging-testing.js.map +1 -1
  211. package/dist/messaging.cjs +757 -36
  212. package/dist/messaging.cjs.map +1 -1
  213. package/dist/messaging.d.cts +603 -644
  214. package/dist/messaging.d.cts.map +1 -0
  215. package/dist/messaging.d.ts +603 -644
  216. package/dist/messaging.d.ts.map +1 -0
  217. package/dist/messaging.js +756 -21
  218. package/dist/messaging.js.map +1 -1
  219. package/dist/metric-helpers.cjs +27 -27
  220. package/dist/metric-helpers.cjs.map +1 -1
  221. package/dist/metric-helpers.d.cts +4 -2
  222. package/dist/metric-helpers.d.cts.map +1 -0
  223. package/dist/metric-helpers.d.ts +4 -2
  224. package/dist/metric-helpers.d.ts.map +1 -0
  225. package/dist/metric-helpers.js +24 -4
  226. package/dist/metric-helpers.js.map +1 -1
  227. package/dist/metric-testing-DXdK3-Q3.d.ts +106 -0
  228. package/dist/metric-testing-DXdK3-Q3.d.ts.map +1 -0
  229. package/dist/metric-testing-MxvzChDp.d.cts +106 -0
  230. package/dist/metric-testing-MxvzChDp.d.cts.map +1 -0
  231. package/dist/metric-testing.cjs +93 -17
  232. package/dist/metric-testing.cjs.map +1 -1
  233. package/dist/metric-testing.d.cts +2 -110
  234. package/dist/metric-testing.d.ts +2 -110
  235. package/dist/metric-testing.js +91 -2
  236. package/dist/metric-testing.js.map +1 -1
  237. package/dist/metric.cjs +306 -22
  238. package/dist/metric.cjs.map +1 -1
  239. package/dist/metric.d.cts +170 -198
  240. package/dist/metric.d.cts.map +1 -0
  241. package/dist/metric.d.ts +170 -198
  242. package/dist/metric.d.ts.map +1 -0
  243. package/dist/metric.js +277 -7
  244. package/dist/metric.js.map +1 -1
  245. package/dist/node-require-DF5QBX6z.cjs +99 -0
  246. package/dist/node-require-DF5QBX6z.cjs.map +1 -0
  247. package/dist/node-require-Db1oDpLj.js +88 -0
  248. package/dist/node-require-Db1oDpLj.js.map +1 -0
  249. package/dist/operation-context-C-2hmmtP.js +59 -0
  250. package/dist/operation-context-C-2hmmtP.js.map +1 -0
  251. package/dist/operation-context-n4_obUwq.cjs +70 -0
  252. package/dist/operation-context-n4_obUwq.cjs.map +1 -0
  253. package/dist/parse-error.cjs +55 -9
  254. package/dist/parse-error.cjs.map +1 -1
  255. package/dist/parse-error.d.cts +12 -10
  256. package/dist/parse-error.d.cts.map +1 -0
  257. package/dist/parse-error.d.ts +12 -10
  258. package/dist/parse-error.d.ts.map +1 -0
  259. package/dist/parse-error.js +55 -2
  260. package/dist/parse-error.js.map +1 -1
  261. package/dist/pretty-console-exporter-CMzlrRNg.cjs +232 -0
  262. package/dist/pretty-console-exporter-CMzlrRNg.cjs.map +1 -0
  263. package/dist/pretty-console-exporter-DqKl_q9z.js +227 -0
  264. package/dist/pretty-console-exporter-DqKl_q9z.js.map +1 -0
  265. package/dist/processors.cjs +13 -17
  266. package/dist/processors.d.cts +3 -171
  267. package/dist/processors.d.ts +3 -171
  268. package/dist/processors.js +4 -4
  269. package/dist/register.cjs +35 -6
  270. package/dist/register.cjs.map +1 -1
  271. package/dist/register.d.cts +1 -2
  272. package/dist/register.d.ts +1 -2
  273. package/dist/register.js +36 -3
  274. package/dist/register.js.map +1 -1
  275. package/dist/registry-DVSmWg6Y.js +175 -0
  276. package/dist/registry-DVSmWg6Y.js.map +1 -0
  277. package/dist/registry-DYgvb62e.cjs +319 -0
  278. package/dist/registry-DYgvb62e.cjs.map +1 -0
  279. package/dist/sampling-CR0Va1VB.d.ts +351 -0
  280. package/dist/sampling-CR0Va1VB.d.ts.map +1 -0
  281. package/dist/sampling-DfYhDJij.d.cts +351 -0
  282. package/dist/sampling-DfYhDJij.d.cts.map +1 -0
  283. package/dist/sampling.cjs +452 -60
  284. package/dist/sampling.cjs.map +1 -1
  285. package/dist/sampling.d.cts +2 -379
  286. package/dist/sampling.d.ts +2 -379
  287. package/dist/sampling.js +441 -5
  288. package/dist/sampling.js.map +1 -1
  289. package/dist/security-schema.cjs +65 -46
  290. package/dist/security-schema.cjs.map +1 -1
  291. package/dist/security-schema.d.cts +23 -26
  292. package/dist/security-schema.d.cts.map +1 -0
  293. package/dist/security-schema.d.ts +23 -26
  294. package/dist/security-schema.d.ts.map +1 -0
  295. package/dist/security-schema.js +64 -45
  296. package/dist/security-schema.js.map +1 -1
  297. package/dist/semantic-conventions-FhSxv-bK.d.cts +32 -0
  298. package/dist/semantic-conventions-FhSxv-bK.d.cts.map +1 -0
  299. package/dist/semantic-conventions-FhSxv-bK.d.ts +32 -0
  300. package/dist/semantic-conventions-FhSxv-bK.d.ts.map +1 -0
  301. package/dist/semantic-conventions.cjs +15 -26
  302. package/dist/semantic-conventions.cjs.map +1 -1
  303. package/dist/semantic-conventions.d.cts +2 -29
  304. package/dist/semantic-conventions.d.ts +2 -29
  305. package/dist/semantic-conventions.js +12 -3
  306. package/dist/semantic-conventions.js.map +1 -1
  307. package/dist/semantic-helpers.cjs +327 -39
  308. package/dist/semantic-helpers.cjs.map +1 -1
  309. package/dist/semantic-helpers.d.cts +30 -150
  310. package/dist/semantic-helpers.d.cts.map +1 -0
  311. package/dist/semantic-helpers.d.ts +30 -150
  312. package/dist/semantic-helpers.d.ts.map +1 -0
  313. package/dist/semantic-helpers.js +326 -20
  314. package/dist/semantic-helpers.js.map +1 -1
  315. package/dist/span-name-normalizer-8ZOGJuwv.d.cts +70 -0
  316. package/dist/span-name-normalizer-8ZOGJuwv.d.cts.map +1 -0
  317. package/dist/span-name-normalizer-8ZOGJuwv.d.ts +70 -0
  318. package/dist/span-name-normalizer-8ZOGJuwv.d.ts.map +1 -0
  319. package/dist/span-name-normalizer.cjs +95 -17
  320. package/dist/span-name-normalizer.cjs.map +1 -1
  321. package/dist/span-name-normalizer.d.cts +2 -94
  322. package/dist/span-name-normalizer.d.ts +2 -94
  323. package/dist/span-name-normalizer.js +93 -2
  324. package/dist/span-name-normalizer.js.map +1 -1
  325. package/dist/stable-hash-BNTMrmdB.cjs +28 -0
  326. package/dist/stable-hash-BNTMrmdB.cjs.map +1 -0
  327. package/dist/stable-hash-Cg5cT34Q.js +23 -0
  328. package/dist/stable-hash-Cg5cT34Q.js.map +1 -0
  329. package/dist/structured-error-9--cxBay.js +143 -0
  330. package/dist/structured-error-9--cxBay.js.map +1 -0
  331. package/dist/structured-error-CHg7DoIQ.cjs +178 -0
  332. package/dist/structured-error-CHg7DoIQ.cjs.map +1 -0
  333. package/dist/tail-sampling-processor.cjs +26 -13
  334. package/dist/tail-sampling-processor.cjs.map +1 -1
  335. package/dist/tail-sampling-processor.d.cts +11 -23
  336. package/dist/tail-sampling-processor.d.cts.map +1 -0
  337. package/dist/tail-sampling-processor.d.ts +11 -23
  338. package/dist/tail-sampling-processor.d.ts.map +1 -0
  339. package/dist/tail-sampling-processor.js +27 -6
  340. package/dist/tail-sampling-processor.js.map +1 -1
  341. package/dist/test-span-collector.cjs +70 -72
  342. package/dist/test-span-collector.cjs.map +1 -1
  343. package/dist/test-span-collector.d.cts +25 -43
  344. package/dist/test-span-collector.d.cts.map +1 -0
  345. package/dist/test-span-collector.d.ts +25 -43
  346. package/dist/test-span-collector.d.ts.map +1 -0
  347. package/dist/test-span-collector.js +69 -70
  348. package/dist/test-span-collector.js.map +1 -1
  349. package/dist/testing.cjs +389 -278
  350. package/dist/testing.cjs.map +1 -1
  351. package/dist/testing.d.cts +39 -62
  352. package/dist/testing.d.cts.map +1 -0
  353. package/dist/testing.d.ts +39 -62
  354. package/dist/testing.d.ts.map +1 -0
  355. package/dist/testing.js +386 -265
  356. package/dist/testing.js.map +1 -1
  357. package/dist/trace-context-Cijqoi6e.d.cts +212 -0
  358. package/dist/trace-context-Cijqoi6e.d.cts.map +1 -0
  359. package/dist/trace-context-Cijqoi6e.d.ts +212 -0
  360. package/dist/trace-context-Cijqoi6e.d.ts.map +1 -0
  361. package/dist/trace-helpers.cjs +634 -54
  362. package/dist/trace-helpers.cjs.map +1 -1
  363. package/dist/trace-helpers.d.cts +17 -49
  364. package/dist/trace-helpers.d.cts.map +1 -0
  365. package/dist/trace-helpers.d.ts +17 -49
  366. package/dist/trace-helpers.d.ts.map +1 -0
  367. package/dist/trace-helpers.js +624 -3
  368. package/dist/trace-helpers.js.map +1 -1
  369. package/dist/tracer-provider.cjs +227 -16
  370. package/dist/tracer-provider.cjs.map +1 -1
  371. package/dist/tracer-provider.d.cts +5 -4
  372. package/dist/tracer-provider.d.cts.map +1 -0
  373. package/dist/tracer-provider.d.ts +5 -4
  374. package/dist/tracer-provider.d.ts.map +1 -0
  375. package/dist/tracer-provider.js +227 -2
  376. package/dist/tracer-provider.js.map +1 -1
  377. package/dist/track-3HY4NGV-.cjs +1212 -0
  378. package/dist/track-3HY4NGV-.cjs.map +1 -0
  379. package/dist/track-nsKVy-pj.js +1111 -0
  380. package/dist/track-nsKVy-pj.js.map +1 -0
  381. package/dist/validate.cjs +178 -115
  382. package/dist/validate.cjs.map +1 -1
  383. package/dist/validate.d.cts +40 -64
  384. package/dist/validate.d.cts.map +1 -0
  385. package/dist/validate.d.ts +40 -64
  386. package/dist/validate.d.ts.map +1 -0
  387. package/dist/validate.js +177 -113
  388. package/dist/validate.js.map +1 -1
  389. package/dist/validation-attributes.cjs +42 -17
  390. package/dist/validation-attributes.cjs.map +1 -1
  391. package/dist/validation-attributes.d.cts +13 -20
  392. package/dist/validation-attributes.d.cts.map +1 -0
  393. package/dist/validation-attributes.d.ts +13 -20
  394. package/dist/validation-attributes.d.ts.map +1 -0
  395. package/dist/validation-attributes.js +40 -2
  396. package/dist/validation-attributes.js.map +1 -1
  397. package/dist/webhook.cjs +286 -256
  398. package/dist/webhook.cjs.map +1 -1
  399. package/dist/webhook.d.cts +157 -192
  400. package/dist/webhook.d.cts.map +1 -0
  401. package/dist/webhook.d.ts +157 -192
  402. package/dist/webhook.d.ts.map +1 -0
  403. package/dist/webhook.js +285 -254
  404. package/dist/webhook.js.map +1 -1
  405. package/dist/workflow-distributed.cjs +498 -412
  406. package/dist/workflow-distributed.cjs.map +1 -1
  407. package/dist/workflow-distributed.d.cts +163 -173
  408. package/dist/workflow-distributed.d.cts.map +1 -0
  409. package/dist/workflow-distributed.d.ts +163 -173
  410. package/dist/workflow-distributed.d.ts.map +1 -0
  411. package/dist/workflow-distributed.js +497 -410
  412. package/dist/workflow-distributed.js.map +1 -1
  413. package/dist/workflow.cjs +405 -40
  414. package/dist/workflow.cjs.map +1 -1
  415. package/dist/workflow.d.cts +78 -131
  416. package/dist/workflow.d.cts.map +1 -0
  417. package/dist/workflow.d.ts +78 -131
  418. package/dist/workflow.d.ts.map +1 -0
  419. package/dist/workflow.js +403 -21
  420. package/dist/workflow.js.map +1 -1
  421. package/dist/yaml-config-B3dQ82GR.cjs +272 -0
  422. package/dist/yaml-config-B3dQ82GR.cjs.map +1 -0
  423. package/dist/yaml-config.cjs +5 -24
  424. package/dist/yaml-config.d.cts +30 -64
  425. package/dist/yaml-config.d.cts.map +1 -0
  426. package/dist/yaml-config.d.ts +30 -64
  427. package/dist/yaml-config.d.ts.map +1 -0
  428. package/dist/yaml-config.js +226 -7
  429. package/dist/yaml-config.js.map +1 -1
  430. package/package.json +4 -4
  431. package/skills/analyze-traces/SKILL.md +14 -12
  432. package/skills/review-otel-patterns/SKILL.md +4 -2
  433. package/skills/tune-sampling/SKILL.md +8 -3
  434. package/src/attributes/builders.ts +2 -20
  435. package/src/attributes/index.ts +0 -1
  436. package/src/attributes/registry.ts +2 -9
  437. package/src/attributes/types.ts +0 -8
  438. package/src/index.ts +7 -41
  439. package/src/request-logger.test.ts +53 -1
  440. package/src/request-logger.ts +58 -0
  441. package/src/semantic-helpers.test.ts +2 -87
  442. package/src/semantic-helpers.ts +0 -146
  443. package/src/validate.test.ts +3 -1
  444. package/src/validate.ts +9 -3
  445. package/dist/attributes.cjs.map +0 -1
  446. package/dist/attributes.js.map +0 -1
  447. package/dist/chunk-2ZKEORFN.cjs +0 -14
  448. package/dist/chunk-2ZKEORFN.cjs.map +0 -1
  449. package/dist/chunk-3QXBFGKP.js +0 -344
  450. package/dist/chunk-3QXBFGKP.js.map +0 -1
  451. package/dist/chunk-454CH4OV.js +0 -744
  452. package/dist/chunk-454CH4OV.js.map +0 -1
  453. package/dist/chunk-4A53YIAX.js +0 -180
  454. package/dist/chunk-4A53YIAX.js.map +0 -1
  455. package/dist/chunk-4IFSYQVX.js +0 -337
  456. package/dist/chunk-4IFSYQVX.js.map +0 -1
  457. package/dist/chunk-4P6ZOARG.cjs +0 -33
  458. package/dist/chunk-4P6ZOARG.cjs.map +0 -1
  459. package/dist/chunk-55ER2KD5.js +0 -228
  460. package/dist/chunk-55ER2KD5.js.map +0 -1
  461. package/dist/chunk-5ZN622AO.js +0 -73
  462. package/dist/chunk-5ZN622AO.js.map +0 -1
  463. package/dist/chunk-66YJ66GG.js +0 -1021
  464. package/dist/chunk-66YJ66GG.js.map +0 -1
  465. package/dist/chunk-6S5RUKU3.cjs +0 -347
  466. package/dist/chunk-6S5RUKU3.cjs.map +0 -1
  467. package/dist/chunk-6UQRVUN3.js +0 -222
  468. package/dist/chunk-6UQRVUN3.js.map +0 -1
  469. package/dist/chunk-7552UTQW.js +0 -11
  470. package/dist/chunk-7552UTQW.js.map +0 -1
  471. package/dist/chunk-7EQ4G4SI.cjs +0 -146
  472. package/dist/chunk-7EQ4G4SI.cjs.map +0 -1
  473. package/dist/chunk-7SAWIN74.js +0 -285
  474. package/dist/chunk-7SAWIN74.js.map +0 -1
  475. package/dist/chunk-A4E5AQFK.js +0 -30
  476. package/dist/chunk-A4E5AQFK.js.map +0 -1
  477. package/dist/chunk-ALPYR2GC.js +0 -1061
  478. package/dist/chunk-ALPYR2GC.js.map +0 -1
  479. package/dist/chunk-B7SWBE4P.cjs +0 -799
  480. package/dist/chunk-B7SWBE4P.cjs.map +0 -1
  481. package/dist/chunk-BZHG5IZ4.js +0 -73
  482. package/dist/chunk-BZHG5IZ4.js.map +0 -1
  483. package/dist/chunk-CEAQK2QY.cjs +0 -32
  484. package/dist/chunk-CEAQK2QY.cjs.map +0 -1
  485. package/dist/chunk-CMHVQR6P.js +0 -170
  486. package/dist/chunk-CMHVQR6P.js.map +0 -1
  487. package/dist/chunk-CU6IDACR.cjs +0 -224
  488. package/dist/chunk-CU6IDACR.cjs.map +0 -1
  489. package/dist/chunk-D4TM63S3.js +0 -795
  490. package/dist/chunk-D4TM63S3.js.map +0 -1
  491. package/dist/chunk-DCEDJQGG.js +0 -28
  492. package/dist/chunk-DCEDJQGG.js.map +0 -1
  493. package/dist/chunk-DPSA4QLA.js +0 -344
  494. package/dist/chunk-DPSA4QLA.js.map +0 -1
  495. package/dist/chunk-E6TERL5O.cjs +0 -23
  496. package/dist/chunk-E6TERL5O.cjs.map +0 -1
  497. package/dist/chunk-EE6CPXKH.cjs +0 -164
  498. package/dist/chunk-EE6CPXKH.cjs.map +0 -1
  499. package/dist/chunk-EOFB7XCL.cjs +0 -837
  500. package/dist/chunk-EOFB7XCL.cjs.map +0 -1
  501. package/dist/chunk-ESLWRGAG.cjs +0 -92
  502. package/dist/chunk-ESLWRGAG.cjs.map +0 -1
  503. package/dist/chunk-ESMHTKLJ.cjs +0 -206
  504. package/dist/chunk-ESMHTKLJ.cjs.map +0 -1
  505. package/dist/chunk-FMTHVSYY.cjs +0 -1039
  506. package/dist/chunk-FMTHVSYY.cjs.map +0 -1
  507. package/dist/chunk-FU6R566Y.cjs +0 -236
  508. package/dist/chunk-FU6R566Y.cjs.map +0 -1
  509. package/dist/chunk-GYR5K654.js +0 -91
  510. package/dist/chunk-GYR5K654.js.map +0 -1
  511. package/dist/chunk-HA2WBOGQ.js +0 -57
  512. package/dist/chunk-HA2WBOGQ.js.map +0 -1
  513. package/dist/chunk-HT5JQKN2.js +0 -118
  514. package/dist/chunk-HT5JQKN2.js.map +0 -1
  515. package/dist/chunk-INJD3G4K.cjs +0 -340
  516. package/dist/chunk-INJD3G4K.cjs.map +0 -1
  517. package/dist/chunk-IOYFAFHJ.cjs +0 -95
  518. package/dist/chunk-IOYFAFHJ.cjs.map +0 -1
  519. package/dist/chunk-J5QENANM.js +0 -87
  520. package/dist/chunk-J5QENANM.js.map +0 -1
  521. package/dist/chunk-J7VGRIAJ.js +0 -64
  522. package/dist/chunk-J7VGRIAJ.js.map +0 -1
  523. package/dist/chunk-KFOHQK7X.js +0 -144
  524. package/dist/chunk-KFOHQK7X.js.map +0 -1
  525. package/dist/chunk-KIL5CUN6.js +0 -31
  526. package/dist/chunk-KIL5CUN6.js.map +0 -1
  527. package/dist/chunk-KYXZS3EA.cjs +0 -100
  528. package/dist/chunk-KYXZS3EA.cjs.map +0 -1
  529. package/dist/chunk-LITNXTTT.js +0 -3
  530. package/dist/chunk-LITNXTTT.js.map +0 -1
  531. package/dist/chunk-LVIPBYFE.js +0 -157
  532. package/dist/chunk-LVIPBYFE.js.map +0 -1
  533. package/dist/chunk-M3LFHHTN.cjs +0 -764
  534. package/dist/chunk-M3LFHHTN.cjs.map +0 -1
  535. package/dist/chunk-N25JDZSC.js +0 -95
  536. package/dist/chunk-N25JDZSC.js.map +0 -1
  537. package/dist/chunk-NEIB3TLD.cjs +0 -360
  538. package/dist/chunk-NEIB3TLD.cjs.map +0 -1
  539. package/dist/chunk-NENU7E6V.cjs +0 -344
  540. package/dist/chunk-NENU7E6V.cjs.map +0 -1
  541. package/dist/chunk-NVAI5CCN.cjs +0 -39
  542. package/dist/chunk-NVAI5CCN.cjs.map +0 -1
  543. package/dist/chunk-NZ72VDNY.cjs +0 -4
  544. package/dist/chunk-NZ72VDNY.cjs.map +0 -1
  545. package/dist/chunk-OPPXYVEZ.cjs +0 -131
  546. package/dist/chunk-OPPXYVEZ.cjs.map +0 -1
  547. package/dist/chunk-Q4EULJQY.js +0 -35
  548. package/dist/chunk-Q4EULJQY.js.map +0 -1
  549. package/dist/chunk-QF7ARNUM.js +0 -339
  550. package/dist/chunk-QF7ARNUM.js.map +0 -1
  551. package/dist/chunk-QWW3E3JM.cjs +0 -178
  552. package/dist/chunk-QWW3E3JM.cjs.map +0 -1
  553. package/dist/chunk-R7QYGZUP.cjs +0 -1075
  554. package/dist/chunk-R7QYGZUP.cjs.map +0 -1
  555. package/dist/chunk-RUPKBKUF.js +0 -352
  556. package/dist/chunk-RUPKBKUF.js.map +0 -1
  557. package/dist/chunk-SEO6NAQT.js +0 -14
  558. package/dist/chunk-SEO6NAQT.js.map +0 -1
  559. package/dist/chunk-T4B5LB6E.cjs +0 -66
  560. package/dist/chunk-T4B5LB6E.cjs.map +0 -1
  561. package/dist/chunk-T5WRA76K.cjs +0 -32
  562. package/dist/chunk-T5WRA76K.cjs.map +0 -1
  563. package/dist/chunk-T7JO2TCP.js +0 -1233
  564. package/dist/chunk-T7JO2TCP.js.map +0 -1
  565. package/dist/chunk-TC5ZPWM4.cjs +0 -289
  566. package/dist/chunk-TC5ZPWM4.cjs.map +0 -1
  567. package/dist/chunk-TQ5UWA7S.js +0 -26
  568. package/dist/chunk-TQ5UWA7S.js.map +0 -1
  569. package/dist/chunk-UIKYE2QZ.js +0 -833
  570. package/dist/chunk-UIKYE2QZ.js.map +0 -1
  571. package/dist/chunk-UNPLAVE7.js +0 -21
  572. package/dist/chunk-UNPLAVE7.js.map +0 -1
  573. package/dist/chunk-UY3UYPBZ.cjs +0 -77
  574. package/dist/chunk-UY3UYPBZ.cjs.map +0 -1
  575. package/dist/chunk-V7UBMJAB.cjs +0 -1242
  576. package/dist/chunk-V7UBMJAB.cjs.map +0 -1
  577. package/dist/chunk-VH77IPJN.cjs +0 -358
  578. package/dist/chunk-VH77IPJN.cjs.map +0 -1
  579. package/dist/chunk-VQTCQKHQ.cjs +0 -17
  580. package/dist/chunk-VQTCQKHQ.cjs.map +0 -1
  581. package/dist/chunk-WGWSHJ2N.js +0 -38
  582. package/dist/chunk-WGWSHJ2N.js.map +0 -1
  583. package/dist/chunk-WJH6IYU2.cjs +0 -32
  584. package/dist/chunk-WJH6IYU2.cjs.map +0 -1
  585. package/dist/chunk-YREV3LGG.cjs +0 -61
  586. package/dist/chunk-YREV3LGG.cjs.map +0 -1
  587. package/dist/chunk-YTXEZ4SD.cjs +0 -77
  588. package/dist/chunk-YTXEZ4SD.cjs.map +0 -1
  589. package/dist/chunk-ZNMBW67B.cjs +0 -40
  590. package/dist/chunk-ZNMBW67B.cjs.map +0 -1
  591. package/dist/correlation-id.cjs.map +0 -1
  592. package/dist/correlation-id.js.map +0 -1
  593. package/dist/define-event-BL6Li7CM.d.ts +0 -23
  594. package/dist/define-event-ClP3T1Jx.d.cts +0 -23
  595. package/dist/event-subscriber.cjs.map +0 -1
  596. package/dist/event-subscriber.js.map +0 -1
  597. package/dist/event.cjs.map +0 -1
  598. package/dist/event.js.map +0 -1
  599. package/dist/exporters.cjs.map +0 -1
  600. package/dist/exporters.js.map +0 -1
  601. package/dist/functional.cjs.map +0 -1
  602. package/dist/functional.js.map +0 -1
  603. package/dist/init-DIowiiCh.d.ts +0 -1167
  604. package/dist/init-j-A1zI16.d.cts +0 -1167
  605. package/dist/processors.cjs.map +0 -1
  606. package/dist/processors.js.map +0 -1
  607. package/dist/trace-context-DbGKd1Rn.d.cts +0 -213
  608. package/dist/trace-context-DbGKd1Rn.d.ts +0 -213
  609. package/dist/utils-BahBCFtJ.d.cts +0 -712
  610. package/dist/utils-CLKwaUlG.d.ts +0 -712
  611. package/dist/yaml-config.cjs.map +0 -1
  612. package/src/gen-ai-cost.test.ts +0 -81
  613. package/src/gen-ai-cost.ts +0 -145
  614. package/src/gen-ai-events.test.ts +0 -135
  615. package/src/gen-ai-events.ts +0 -208
  616. package/src/gen-ai-metrics.test.ts +0 -96
  617. package/src/gen-ai-metrics.ts +0 -128
package/dist/metric.d.ts CHANGED
@@ -1,37 +1,8 @@
1
- import { Logger } from './logger.js';
2
- import { EventAttributes, FunnelStatus, OutcomeStatus } from './event-subscriber.js';
3
- import { MetricsCollector } from './metric-testing.js';
4
- import 'pino';
5
-
6
- /**
7
- * Metrics API for OpenTelemetry
8
- *
9
- * Track business metrics for OpenTelemetry (Prometheus/Grafana).
10
- * For business people who think in metrics.
11
- *
12
- * @example Track business metrics
13
- * ```typescript
14
- * const metrics = new Metric('checkout')
15
- *
16
- * // Track events as metrics
17
- * metrics.trackEvent('order.completed', {
18
- * amount: 99.99,
19
- * currency: 'USD'
20
- * })
21
- *
22
- * // Track conversion funnels
23
- * metrics.trackFunnelStep('checkout', 'started', { cartValue: 99.99 })
24
- * metrics.trackFunnelStep('checkout', 'completed', { cartValue: 99.99 })
25
- *
26
- * // Track outcomes
27
- * metrics.trackOutcome('payment.process', 'success', { amount: 99.99 })
28
- * metrics.trackOutcome('payment.process', 'failure', { error: 'insufficient_funds' })
29
- *
30
- * // Track values
31
- * metrics.trackValue('revenue', 149.99, { currency: 'USD' })
32
- * ```
33
- */
1
+ import { s as Logger } from "./logger-BauSUhUv.js";
2
+ import { c as OutcomeStatus, n as EventAttributes, s as FunnelStatus } from "./event-subscriber-D1XLkPzi.js";
3
+ import { t as MetricsCollector } from "./metric-testing-DXdK3-Q3.js";
34
4
 
5
+ //#region src/metric.d.ts
35
6
  /**
36
7
  * Metrics class for tracking business metrics in OpenTelemetry
37
8
  *
@@ -47,176 +18,176 @@ import 'pino';
47
18
  * Metric configuration for customizing metric names and descriptions
48
19
  */
49
20
  interface MetricConfig {
50
- /** Metric name (e.g., 'metrics.events' or 'custom.events') */
51
- name?: string;
52
- /** Metric description */
53
- description?: string;
54
- /** Metric unit (default: '1') */
55
- unit?: string;
21
+ /** Metric name (e.g., 'metrics.events' or 'custom.events') */
22
+ name?: string;
23
+ /** Metric description */
24
+ description?: string;
25
+ /** Metric unit (default: '1') */
26
+ unit?: string;
56
27
  }
57
28
  /**
58
29
  * Metrics options
59
30
  */
60
31
  interface MetricsOptions {
61
- /** Optional logger for audit trail */
62
- logger?: Logger;
63
- /** Optional collector for testing (captures metrics in memory) */
64
- collector?: MetricsCollector;
65
- /**
66
- * Namespace for metrics (default: 'metrics')
67
- * Results in metrics like: {serviceName}.{namespace}.events
68
- */
69
- namespace?: string;
70
- /**
71
- * Custom metric configurations
72
- * Override metric names, descriptions, and units
73
- */
74
- metrics?: {
75
- events?: MetricConfig;
76
- funnel?: MetricConfig;
77
- outcomes?: MetricConfig;
78
- value?: MetricConfig;
79
- };
32
+ /** Optional logger for audit trail */
33
+ logger?: Logger;
34
+ /** Optional collector for testing (captures metrics in memory) */
35
+ collector?: MetricsCollector;
36
+ /**
37
+ * Namespace for metrics (default: 'metrics')
38
+ * Results in metrics like: {serviceName}.{namespace}.events
39
+ */
40
+ namespace?: string;
41
+ /**
42
+ * Custom metric configurations
43
+ * Override metric names, descriptions, and units
44
+ */
45
+ metrics?: {
46
+ events?: MetricConfig;
47
+ funnel?: MetricConfig;
48
+ outcomes?: MetricConfig;
49
+ value?: MetricConfig;
50
+ };
80
51
  }
81
52
  declare class Metric {
82
- private serviceName;
83
- private eventCounter;
84
- private funnelCounter;
85
- private outcomeCounter;
86
- private valueHistogram;
87
- private logger?;
88
- private collector?;
89
- /**
90
- * Create a new Metrics instance
91
- *
92
- * @param serviceName - Service name for metric namespacing
93
- * @param options - Optional configuration (logger, collector, namespace, metrics)
94
- *
95
- * @example Basic usage (default 'metrics' namespace)
96
- * ```typescript
97
- * const metrics = new Metric('checkout');
98
- * // Creates: checkout.metrics.events, checkout.metrics.funnel, etc.
99
- * ```
100
- *
101
- * @example Custom namespace
102
- * ```typescript
103
- * const metrics = new Metric('api', { namespace: 'business' });
104
- * // Creates: api.business.events, api.business.funnel, etc.
105
- * ```
106
- *
107
- * @example Custom metric names and descriptions
108
- * ```typescript
109
- * const metrics = new Metric('payments', {
110
- * metrics: {
111
- * outcomes: {
112
- * name: 'payments.transactions',
113
- * description: 'Payment transaction outcomes',
114
- * unit: 'transactions'
115
- * },
116
- * value: {
117
- * name: 'payments.revenue',
118
- * description: 'Payment revenue in USD',
119
- * unit: 'USD'
120
- * }
121
- * }
122
- * });
123
- * ```
124
- */
125
- constructor(serviceName: string, options?: MetricsOptions);
126
- /**
127
- * Track a business event as a metric
128
- *
129
- * Use this for tracking user actions, business events, product usage as metrics:
130
- * - "user.signup"
131
- * - "order.completed"
132
- * - "feature.used"
133
- *
134
- * @example
135
- * ```typescript
136
- * // Track user signup as metric
137
- * metrics.trackEvent('user.signup', {
138
- * userId: '123',
139
- * plan: 'pro'
140
- * })
141
- *
142
- * // Track order as metric
143
- * metrics.trackEvent('order.completed', {
144
- * orderId: 'ord_123',
145
- * amount: 99.99
146
- * })
147
- * ```
148
- */
149
- trackEvent(eventName: string, attributes?: EventAttributes): void;
150
- /**
151
- * Track conversion funnel steps as metrics
152
- *
153
- * Monitor where users drop off in multi-step processes.
154
- *
155
- * @example
156
- * ```typescript
157
- * // Track signup funnel
158
- * metrics.trackFunnelStep('signup', 'started', { userId: '123' })
159
- * metrics.trackFunnelStep('signup', 'email_verified', { userId: '123' })
160
- * metrics.trackFunnelStep('signup', 'completed', { userId: '123' })
161
- *
162
- * // Track checkout flow
163
- * metrics.trackFunnelStep('checkout', 'started', { cartValue: 99.99 })
164
- * metrics.trackFunnelStep('checkout', 'payment_info', { cartValue: 99.99 })
165
- * metrics.trackFunnelStep('checkout', 'completed', { cartValue: 99.99 })
166
- * ```
167
- */
168
- trackFunnelStep(funnelName: string, status: FunnelStatus, attributes?: EventAttributes): void;
169
- /**
170
- * Track outcomes (success/failure/partial) as metrics
171
- *
172
- * Monitor success rates of critical operations.
173
- *
174
- * @example
175
- * ```typescript
176
- * // Track email delivery
177
- * metrics.trackOutcome('email.delivery', 'success', {
178
- * recipientType: 'user',
179
- * emailType: 'welcome'
180
- * })
181
- *
182
- * metrics.trackOutcome('email.delivery', 'failure', {
183
- * recipientType: 'user',
184
- * errorCode: 'invalid_email'
185
- * })
186
- *
187
- * // Track payment processing
188
- * metrics.trackOutcome('payment.process', 'success', { amount: 99.99 })
189
- * metrics.trackOutcome('payment.process', 'failure', { error: 'insufficient_funds' })
190
- * ```
191
- */
192
- trackOutcome(operationName: string, status: OutcomeStatus, attributes?: EventAttributes): void;
193
- /**
194
- * Track value metrics
195
- *
196
- * Record numerical values like revenue, transaction amounts,
197
- * item counts, processing times, engagement scores, etc.
198
- *
199
- * @example
200
- * ```typescript
201
- * // Track revenue
202
- * metrics.trackValue('order.revenue', 149.99, {
203
- * currency: 'USD',
204
- * productCategory: 'electronics'
205
- * })
206
- *
207
- * // Track items per cart
208
- * metrics.trackValue('cart.item_count', 5, {
209
- * userId: '123'
210
- * })
211
- *
212
- * // Track processing time
213
- * metrics.trackValue('api.response_time', 250, {
214
- * unit: 'ms',
215
- * endpoint: '/api/checkout'
216
- * })
217
- * ```
218
- */
219
- trackValue(metricName: string, value: number, attributes?: EventAttributes): void;
53
+ private serviceName;
54
+ private eventCounter;
55
+ private funnelCounter;
56
+ private outcomeCounter;
57
+ private valueHistogram;
58
+ private logger?;
59
+ private collector?;
60
+ /**
61
+ * Create a new Metrics instance
62
+ *
63
+ * @param serviceName - Service name for metric namespacing
64
+ * @param options - Optional configuration (logger, collector, namespace, metrics)
65
+ *
66
+ * @example Basic usage (default 'metrics' namespace)
67
+ * ```typescript
68
+ * const metrics = new Metric('checkout');
69
+ * // Creates: checkout.metrics.events, checkout.metrics.funnel, etc.
70
+ * ```
71
+ *
72
+ * @example Custom namespace
73
+ * ```typescript
74
+ * const metrics = new Metric('api', { namespace: 'business' });
75
+ * // Creates: api.business.events, api.business.funnel, etc.
76
+ * ```
77
+ *
78
+ * @example Custom metric names and descriptions
79
+ * ```typescript
80
+ * const metrics = new Metric('payments', {
81
+ * metrics: {
82
+ * outcomes: {
83
+ * name: 'payments.transactions',
84
+ * description: 'Payment transaction outcomes',
85
+ * unit: 'transactions'
86
+ * },
87
+ * value: {
88
+ * name: 'payments.revenue',
89
+ * description: 'Payment revenue in USD',
90
+ * unit: 'USD'
91
+ * }
92
+ * }
93
+ * });
94
+ * ```
95
+ */
96
+ constructor(serviceName: string, options?: MetricsOptions);
97
+ /**
98
+ * Track a business event as a metric
99
+ *
100
+ * Use this for tracking user actions, business events, product usage as metrics:
101
+ * - "user.signup"
102
+ * - "order.completed"
103
+ * - "feature.used"
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * // Track user signup as metric
108
+ * metrics.trackEvent('user.signup', {
109
+ * userId: '123',
110
+ * plan: 'pro'
111
+ * })
112
+ *
113
+ * // Track order as metric
114
+ * metrics.trackEvent('order.completed', {
115
+ * orderId: 'ord_123',
116
+ * amount: 99.99
117
+ * })
118
+ * ```
119
+ */
120
+ trackEvent(eventName: string, attributes?: EventAttributes): void;
121
+ /**
122
+ * Track conversion funnel steps as metrics
123
+ *
124
+ * Monitor where users drop off in multi-step processes.
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * // Track signup funnel
129
+ * metrics.trackFunnelStep('signup', 'started', { userId: '123' })
130
+ * metrics.trackFunnelStep('signup', 'email_verified', { userId: '123' })
131
+ * metrics.trackFunnelStep('signup', 'completed', { userId: '123' })
132
+ *
133
+ * // Track checkout flow
134
+ * metrics.trackFunnelStep('checkout', 'started', { cartValue: 99.99 })
135
+ * metrics.trackFunnelStep('checkout', 'payment_info', { cartValue: 99.99 })
136
+ * metrics.trackFunnelStep('checkout', 'completed', { cartValue: 99.99 })
137
+ * ```
138
+ */
139
+ trackFunnelStep(funnelName: string, status: FunnelStatus, attributes?: EventAttributes): void;
140
+ /**
141
+ * Track outcomes (success/failure/partial) as metrics
142
+ *
143
+ * Monitor success rates of critical operations.
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * // Track email delivery
148
+ * metrics.trackOutcome('email.delivery', 'success', {
149
+ * recipientType: 'user',
150
+ * emailType: 'welcome'
151
+ * })
152
+ *
153
+ * metrics.trackOutcome('email.delivery', 'failure', {
154
+ * recipientType: 'user',
155
+ * errorCode: 'invalid_email'
156
+ * })
157
+ *
158
+ * // Track payment processing
159
+ * metrics.trackOutcome('payment.process', 'success', { amount: 99.99 })
160
+ * metrics.trackOutcome('payment.process', 'failure', { error: 'insufficient_funds' })
161
+ * ```
162
+ */
163
+ trackOutcome(operationName: string, status: OutcomeStatus, attributes?: EventAttributes): void;
164
+ /**
165
+ * Track value metrics
166
+ *
167
+ * Record numerical values like revenue, transaction amounts,
168
+ * item counts, processing times, engagement scores, etc.
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * // Track revenue
173
+ * metrics.trackValue('order.revenue', 149.99, {
174
+ * currency: 'USD',
175
+ * productCategory: 'electronics'
176
+ * })
177
+ *
178
+ * // Track items per cart
179
+ * metrics.trackValue('cart.item_count', 5, {
180
+ * userId: '123'
181
+ * })
182
+ *
183
+ * // Track processing time
184
+ * metrics.trackValue('api.response_time', 250, {
185
+ * unit: 'ms',
186
+ * endpoint: '/api/checkout'
187
+ * })
188
+ * ```
189
+ */
190
+ trackValue(metricName: string, value: number, attributes?: EventAttributes): void;
220
191
  }
221
192
  /**
222
193
  * Get or create a Metrics instance for a service
@@ -236,5 +207,6 @@ declare function getMetrics(serviceName: string, logger?: Logger): Metric;
236
207
  * Reset all metrics instances (mainly for testing)
237
208
  */
238
209
  declare function resetMetrics(): void;
239
-
240
- export { EventAttributes, FunnelStatus, Metric, type MetricConfig, type MetricsOptions, OutcomeStatus, getMetrics, resetMetrics };
210
+ //#endregion
211
+ export { type EventAttributes, type FunnelStatus, Metric, MetricConfig, MetricsOptions, type OutcomeStatus, getMetrics, resetMetrics };
212
+ //# sourceMappingURL=metric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric.d.ts","names":[],"sources":["../src/metric.ts"],"mappings":";;;;;;;;;;;;;AAgGwB;AAIxB;;;;;UApCiB,YAAA;EA8MA;EA5Mf,IAAA;EAoQe;EAlQf,WAAA;EA6T8B;EA3T9B,IAAA;AAAA;;;;UAMe,cAAA;EA8BP;EA5BR,MAAA,GAAS,MAAA;;EAET,SAAA,GAAY,gBAAA;EAiE8B;;;;EA3D1C,SAAA;EAyI8B;;;;EAnI9B,OAAA;IACE,MAAA,GAAS,YAAA;IACT,MAAA,GAAS,YAAA;IACT,QAAA,GAAW,YAAA;IACX,KAAA,GAAQ,YAAA;EAAA;AAAA;AAAA,cAIC,MAAA;EAAA,QACH,WAAA;EAAA,QACA,YAAA;EAAA,QACA,aAAA;EAAA,QACA,cAAA;EAAA,QACA,cAAA;EAAA,QACA,MAAA;EAAA,QACA,SAAA;EAsRsB;AAgDhC;;;;;;;;;AAAwE;AAUxE;;;;AAA4B;;;;;;;;;;;;;;;;;;;;;cA1Sd,WAAA,UAAqB,OAAA,GAAS,cAAA;;;;;;;;;;;;;;;;;;;;;;;;EA8E1C,UAAA,CAAW,SAAA,UAAmB,UAAA,GAAa,eAAA;;;;;;;;;;;;;;;;;;;EA4C3C,eAAA,CACE,UAAA,UACA,MAAA,EAAQ,YAAA,EACR,UAAA,GAAa,eAAA;;;;;;;;;;;;;;;;;;;;;;;;EAqDf,YAAA,CACE,aAAA,UACA,MAAA,EAAQ,aAAA,EACR,UAAA,GAAa,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDf,UAAA,CACE,UAAA,UACA,KAAA,UACA,UAAA,GAAa,eAAA;AAAA;;;;;;;;;;;;;;iBAgDD,UAAA,CAAW,WAAA,UAAqB,MAAA,GAAS,MAAA,GAAS,MAAM;;;;iBAUxD,YAAA"}
package/dist/metric.js CHANGED
@@ -1,8 +1,278 @@
1
- export { Metric, getMetrics, resetMetrics } from './chunk-7SAWIN74.js';
2
- import './chunk-5ZN622AO.js';
3
- import './chunk-LITNXTTT.js';
4
- import './chunk-55ER2KD5.js';
5
- import './chunk-J5QENANM.js';
6
- import './chunk-HA2WBOGQ.js';
7
- //# sourceMappingURL=metric.js.map
1
+ import { getConfig } from "./config.js";
2
+ import "@opentelemetry/api";
3
+
4
+ //#region src/metric.ts
5
+ var Metric = class {
6
+ serviceName;
7
+ eventCounter;
8
+ funnelCounter;
9
+ outcomeCounter;
10
+ valueHistogram;
11
+ logger;
12
+ collector;
13
+ /**
14
+ * Create a new Metrics instance
15
+ *
16
+ * @param serviceName - Service name for metric namespacing
17
+ * @param options - Optional configuration (logger, collector, namespace, metrics)
18
+ *
19
+ * @example Basic usage (default 'metrics' namespace)
20
+ * ```typescript
21
+ * const metrics = new Metric('checkout');
22
+ * // Creates: checkout.metrics.events, checkout.metrics.funnel, etc.
23
+ * ```
24
+ *
25
+ * @example Custom namespace
26
+ * ```typescript
27
+ * const metrics = new Metric('api', { namespace: 'business' });
28
+ * // Creates: api.business.events, api.business.funnel, etc.
29
+ * ```
30
+ *
31
+ * @example Custom metric names and descriptions
32
+ * ```typescript
33
+ * const metrics = new Metric('payments', {
34
+ * metrics: {
35
+ * outcomes: {
36
+ * name: 'payments.transactions',
37
+ * description: 'Payment transaction outcomes',
38
+ * unit: 'transactions'
39
+ * },
40
+ * value: {
41
+ * name: 'payments.revenue',
42
+ * description: 'Payment revenue in USD',
43
+ * unit: 'USD'
44
+ * }
45
+ * }
46
+ * });
47
+ * ```
48
+ */
49
+ constructor(serviceName, options = {}) {
50
+ this.serviceName = serviceName;
51
+ this.logger = options.logger;
52
+ this.collector = options.collector;
53
+ const meter = getConfig().meter;
54
+ const namespace = options.namespace || "metrics";
55
+ const metricsConfig = options.metrics || {};
56
+ const eventsConfig = metricsConfig.events || {};
57
+ this.eventCounter = meter.createCounter(eventsConfig.name || `${serviceName}.${namespace}.events`, {
58
+ description: eventsConfig.description || "Count of business events",
59
+ unit: eventsConfig.unit || "1"
60
+ });
61
+ const funnelConfig = metricsConfig.funnel || {};
62
+ this.funnelCounter = meter.createCounter(funnelConfig.name || `${serviceName}.${namespace}.funnel`, {
63
+ description: funnelConfig.description || "Conversion funnel tracking",
64
+ unit: funnelConfig.unit || "1"
65
+ });
66
+ const outcomesConfig = metricsConfig.outcomes || {};
67
+ this.outcomeCounter = meter.createCounter(outcomesConfig.name || `${serviceName}.${namespace}.outcomes`, {
68
+ description: outcomesConfig.description || "Outcome tracking (success/failure)",
69
+ unit: outcomesConfig.unit || "1"
70
+ });
71
+ const valueConfig = metricsConfig.value || {};
72
+ this.valueHistogram = meter.createHistogram(valueConfig.name || `${serviceName}.${namespace}.value`, {
73
+ description: valueConfig.description || "Value metrics (revenue, counts, etc.)",
74
+ unit: valueConfig.unit || "1"
75
+ });
76
+ }
77
+ /**
78
+ * Track a business event as a metric
79
+ *
80
+ * Use this for tracking user actions, business events, product usage as metrics:
81
+ * - "user.signup"
82
+ * - "order.completed"
83
+ * - "feature.used"
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * // Track user signup as metric
88
+ * metrics.trackEvent('user.signup', {
89
+ * userId: '123',
90
+ * plan: 'pro'
91
+ * })
92
+ *
93
+ * // Track order as metric
94
+ * metrics.trackEvent('order.completed', {
95
+ * orderId: 'ord_123',
96
+ * amount: 99.99
97
+ * })
98
+ * ```
99
+ */
100
+ trackEvent(eventName, attributes) {
101
+ const attrs = {
102
+ service: this.serviceName,
103
+ event: eventName,
104
+ ...attributes
105
+ };
106
+ this.eventCounter.add(1, attrs);
107
+ this.logger?.info({
108
+ event: eventName,
109
+ attributes
110
+ }, "Metric event tracked");
111
+ this.collector?.recordEvent({
112
+ event: eventName,
113
+ attributes,
114
+ service: this.serviceName,
115
+ timestamp: Date.now()
116
+ });
117
+ }
118
+ /**
119
+ * Track conversion funnel steps as metrics
120
+ *
121
+ * Monitor where users drop off in multi-step processes.
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * // Track signup funnel
126
+ * metrics.trackFunnelStep('signup', 'started', { userId: '123' })
127
+ * metrics.trackFunnelStep('signup', 'email_verified', { userId: '123' })
128
+ * metrics.trackFunnelStep('signup', 'completed', { userId: '123' })
129
+ *
130
+ * // Track checkout flow
131
+ * metrics.trackFunnelStep('checkout', 'started', { cartValue: 99.99 })
132
+ * metrics.trackFunnelStep('checkout', 'payment_info', { cartValue: 99.99 })
133
+ * metrics.trackFunnelStep('checkout', 'completed', { cartValue: 99.99 })
134
+ * ```
135
+ */
136
+ trackFunnelStep(funnelName, status, attributes) {
137
+ const attrs = {
138
+ service: this.serviceName,
139
+ funnel: funnelName,
140
+ status,
141
+ ...attributes
142
+ };
143
+ this.funnelCounter.add(1, attrs);
144
+ this.logger?.info({
145
+ funnel: funnelName,
146
+ status,
147
+ attributes
148
+ }, "Funnel step tracked");
149
+ this.collector?.recordFunnelStep({
150
+ funnel: funnelName,
151
+ status,
152
+ attributes,
153
+ service: this.serviceName,
154
+ timestamp: Date.now()
155
+ });
156
+ }
157
+ /**
158
+ * Track outcomes (success/failure/partial) as metrics
159
+ *
160
+ * Monitor success rates of critical operations.
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * // Track email delivery
165
+ * metrics.trackOutcome('email.delivery', 'success', {
166
+ * recipientType: 'user',
167
+ * emailType: 'welcome'
168
+ * })
169
+ *
170
+ * metrics.trackOutcome('email.delivery', 'failure', {
171
+ * recipientType: 'user',
172
+ * errorCode: 'invalid_email'
173
+ * })
174
+ *
175
+ * // Track payment processing
176
+ * metrics.trackOutcome('payment.process', 'success', { amount: 99.99 })
177
+ * metrics.trackOutcome('payment.process', 'failure', { error: 'insufficient_funds' })
178
+ * ```
179
+ */
180
+ trackOutcome(operationName, status, attributes) {
181
+ const attrs = {
182
+ service: this.serviceName,
183
+ operation: operationName,
184
+ status,
185
+ ...attributes
186
+ };
187
+ this.outcomeCounter.add(1, attrs);
188
+ this.logger?.info({
189
+ operation: operationName,
190
+ status,
191
+ attributes
192
+ }, "Outcome tracked");
193
+ this.collector?.recordOutcome({
194
+ operation: operationName,
195
+ status,
196
+ attributes,
197
+ service: this.serviceName,
198
+ timestamp: Date.now()
199
+ });
200
+ }
201
+ /**
202
+ * Track value metrics
203
+ *
204
+ * Record numerical values like revenue, transaction amounts,
205
+ * item counts, processing times, engagement scores, etc.
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * // Track revenue
210
+ * metrics.trackValue('order.revenue', 149.99, {
211
+ * currency: 'USD',
212
+ * productCategory: 'electronics'
213
+ * })
214
+ *
215
+ * // Track items per cart
216
+ * metrics.trackValue('cart.item_count', 5, {
217
+ * userId: '123'
218
+ * })
219
+ *
220
+ * // Track processing time
221
+ * metrics.trackValue('api.response_time', 250, {
222
+ * unit: 'ms',
223
+ * endpoint: '/api/checkout'
224
+ * })
225
+ * ```
226
+ */
227
+ trackValue(metricName, value, attributes) {
228
+ const attrs = {
229
+ service: this.serviceName,
230
+ metric: metricName,
231
+ ...attributes
232
+ };
233
+ this.valueHistogram.record(value, attrs);
234
+ this.logger?.debug({
235
+ metric: metricName,
236
+ value,
237
+ attributes
238
+ }, "Value metric tracked");
239
+ this.collector?.recordValue({
240
+ metric: metricName,
241
+ value,
242
+ attributes,
243
+ service: this.serviceName,
244
+ timestamp: Date.now()
245
+ });
246
+ }
247
+ };
248
+ /**
249
+ * Global metrics instances (singleton pattern)
250
+ */
251
+ const metricsInstances = /* @__PURE__ */ new Map();
252
+ /**
253
+ * Get or create a Metrics instance for a service
254
+ *
255
+ * @param serviceName - Service name for metric namespacing
256
+ * @param logger - Optional logger
257
+ * @returns Metrics instance
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * const metrics = getMetrics('checkout')
262
+ * metrics.trackEvent('order.completed', { orderId: '123' })
263
+ * ```
264
+ */
265
+ function getMetrics(serviceName, logger) {
266
+ if (!metricsInstances.has(serviceName)) metricsInstances.set(serviceName, new Metric(serviceName, { logger }));
267
+ return metricsInstances.get(serviceName);
268
+ }
269
+ /**
270
+ * Reset all metrics instances (mainly for testing)
271
+ */
272
+ function resetMetrics() {
273
+ metricsInstances.clear();
274
+ }
275
+
276
+ //#endregion
277
+ export { Metric, getMetrics, resetMetrics };
8
278
  //# sourceMappingURL=metric.js.map