@openclaw/diagnostics-otel 2026.6.8 → 2026.6.9-beta.1

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 (819) hide show
  1. package/dist/index.js +98 -0
  2. package/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.d.ts +4 -0
  3. package/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.js +6 -0
  4. package/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.js.map +1 -1
  5. package/node_modules/@opentelemetry/api-logs/build/esm/api/logs.d.ts +10 -2
  6. package/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js +10 -2
  7. package/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js.map +1 -1
  8. package/node_modules/@opentelemetry/api-logs/build/esm/index.d.ts +1 -1
  9. package/node_modules/@opentelemetry/api-logs/build/esm/index.js +1 -1
  10. package/node_modules/@opentelemetry/api-logs/build/esm/index.js.map +1 -1
  11. package/node_modules/@opentelemetry/api-logs/build/esm/types/LoggerOptions.d.ts +3 -2
  12. package/node_modules/@opentelemetry/api-logs/build/esm/types/LoggerOptions.js.map +1 -1
  13. package/node_modules/@opentelemetry/api-logs/build/esm/types/LoggerProvider.d.ts +7 -3
  14. package/node_modules/@opentelemetry/api-logs/build/esm/types/LoggerProvider.js.map +1 -1
  15. package/node_modules/@opentelemetry/api-logs/build/esm/version.d.ts +1 -1
  16. package/node_modules/@opentelemetry/api-logs/build/esm/version.js +1 -1
  17. package/node_modules/@opentelemetry/api-logs/build/esm/version.js.map +1 -1
  18. package/node_modules/@opentelemetry/api-logs/build/esnext/NoopLogger.d.ts +4 -0
  19. package/node_modules/@opentelemetry/api-logs/build/esnext/NoopLogger.js +6 -0
  20. package/node_modules/@opentelemetry/api-logs/build/esnext/NoopLogger.js.map +1 -1
  21. package/node_modules/@opentelemetry/api-logs/build/esnext/api/logs.d.ts +10 -2
  22. package/node_modules/@opentelemetry/api-logs/build/esnext/api/logs.js +10 -2
  23. package/node_modules/@opentelemetry/api-logs/build/esnext/api/logs.js.map +1 -1
  24. package/node_modules/@opentelemetry/api-logs/build/esnext/index.d.ts +1 -1
  25. package/node_modules/@opentelemetry/api-logs/build/esnext/index.js +1 -1
  26. package/node_modules/@opentelemetry/api-logs/build/esnext/index.js.map +1 -1
  27. package/node_modules/@opentelemetry/api-logs/build/esnext/types/LoggerOptions.d.ts +3 -2
  28. package/node_modules/@opentelemetry/api-logs/build/esnext/types/LoggerOptions.js.map +1 -1
  29. package/node_modules/@opentelemetry/api-logs/build/esnext/types/LoggerProvider.d.ts +7 -3
  30. package/node_modules/@opentelemetry/api-logs/build/esnext/types/LoggerProvider.js.map +1 -1
  31. package/node_modules/@opentelemetry/api-logs/build/esnext/version.d.ts +1 -1
  32. package/node_modules/@opentelemetry/api-logs/build/esnext/version.js +1 -1
  33. package/node_modules/@opentelemetry/api-logs/build/esnext/version.js.map +1 -1
  34. package/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.d.ts +4 -0
  35. package/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js +8 -1
  36. package/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js.map +1 -1
  37. package/node_modules/@opentelemetry/api-logs/build/src/api/logs.d.ts +10 -2
  38. package/node_modules/@opentelemetry/api-logs/build/src/api/logs.js +10 -2
  39. package/node_modules/@opentelemetry/api-logs/build/src/api/logs.js.map +1 -1
  40. package/node_modules/@opentelemetry/api-logs/build/src/index.d.ts +1 -1
  41. package/node_modules/@opentelemetry/api-logs/build/src/index.js +2 -3
  42. package/node_modules/@opentelemetry/api-logs/build/src/index.js.map +1 -1
  43. package/node_modules/@opentelemetry/api-logs/build/src/types/LoggerOptions.d.ts +3 -2
  44. package/node_modules/@opentelemetry/api-logs/build/src/types/LoggerOptions.js.map +1 -1
  45. package/node_modules/@opentelemetry/api-logs/build/src/types/LoggerProvider.d.ts +7 -3
  46. package/node_modules/@opentelemetry/api-logs/build/src/types/LoggerProvider.js.map +1 -1
  47. package/node_modules/@opentelemetry/api-logs/build/src/version.d.ts +1 -1
  48. package/node_modules/@opentelemetry/api-logs/build/src/version.js +1 -1
  49. package/node_modules/@opentelemetry/api-logs/build/src/version.js.map +1 -1
  50. package/node_modules/@opentelemetry/api-logs/package.json +5 -5
  51. package/node_modules/@opentelemetry/configuration/build/src/EnvironmentConfigFactory.js +23 -26
  52. package/node_modules/@opentelemetry/configuration/build/src/EnvironmentConfigFactory.js.map +1 -1
  53. package/node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.js +3 -155
  54. package/node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.js.map +1 -1
  55. package/node_modules/@opentelemetry/configuration/build/src/generated/types.d.ts +596 -614
  56. package/node_modules/@opentelemetry/configuration/build/src/generated/types.js.map +1 -1
  57. package/node_modules/@opentelemetry/configuration/build/src/index.d.ts +1 -1
  58. package/node_modules/@opentelemetry/configuration/build/src/index.js.map +1 -1
  59. package/node_modules/@opentelemetry/configuration/build/src/utils.d.ts +12 -1
  60. package/node_modules/@opentelemetry/configuration/build/src/utils.js +93 -19
  61. package/node_modules/@opentelemetry/configuration/build/src/utils.js.map +1 -1
  62. package/node_modules/@opentelemetry/configuration/build/src/version.d.ts +1 -1
  63. package/node_modules/@opentelemetry/configuration/build/src/version.js +1 -1
  64. package/node_modules/@opentelemetry/configuration/build/src/version.js.map +1 -1
  65. package/node_modules/@opentelemetry/configuration/package.json +6 -6
  66. package/node_modules/@opentelemetry/context-async-hooks/build/src/version.d.ts +1 -1
  67. package/node_modules/@opentelemetry/context-async-hooks/build/src/version.js +1 -1
  68. package/node_modules/@opentelemetry/context-async-hooks/build/src/version.js.map +1 -1
  69. package/node_modules/@opentelemetry/context-async-hooks/package.json +4 -4
  70. package/node_modules/@opentelemetry/core/build/esm/baggage/propagation/W3CBaggagePropagator.js +14 -20
  71. package/node_modules/@opentelemetry/core/build/esm/baggage/propagation/W3CBaggagePropagator.js.map +1 -1
  72. package/node_modules/@opentelemetry/core/build/esm/baggage/utils.d.ts +7 -1
  73. package/node_modules/@opentelemetry/core/build/esm/baggage/utils.js +32 -1
  74. package/node_modules/@opentelemetry/core/build/esm/baggage/utils.js.map +1 -1
  75. package/node_modules/@opentelemetry/core/build/esm/common/time.d.ts +7 -2
  76. package/node_modules/@opentelemetry/core/build/esm/common/time.js +10 -3
  77. package/node_modules/@opentelemetry/core/build/esm/common/time.js.map +1 -1
  78. package/node_modules/@opentelemetry/core/build/esm/index.d.ts +1 -1
  79. package/node_modules/@opentelemetry/core/build/esm/index.js +1 -1
  80. package/node_modules/@opentelemetry/core/build/esm/index.js.map +1 -1
  81. package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
  82. package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
  83. package/node_modules/@opentelemetry/core/build/esm/version.js.map +1 -1
  84. package/node_modules/@opentelemetry/core/build/esnext/baggage/propagation/W3CBaggagePropagator.js +14 -20
  85. package/node_modules/@opentelemetry/core/build/esnext/baggage/propagation/W3CBaggagePropagator.js.map +1 -1
  86. package/node_modules/@opentelemetry/core/build/esnext/baggage/utils.d.ts +7 -1
  87. package/node_modules/@opentelemetry/core/build/esnext/baggage/utils.js +32 -1
  88. package/node_modules/@opentelemetry/core/build/esnext/baggage/utils.js.map +1 -1
  89. package/node_modules/@opentelemetry/core/build/esnext/common/time.d.ts +7 -2
  90. package/node_modules/@opentelemetry/core/build/esnext/common/time.js +10 -3
  91. package/node_modules/@opentelemetry/core/build/esnext/common/time.js.map +1 -1
  92. package/node_modules/@opentelemetry/core/build/esnext/index.d.ts +1 -1
  93. package/node_modules/@opentelemetry/core/build/esnext/index.js +1 -1
  94. package/node_modules/@opentelemetry/core/build/esnext/index.js.map +1 -1
  95. package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
  96. package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
  97. package/node_modules/@opentelemetry/core/build/esnext/version.js.map +1 -1
  98. package/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js +12 -18
  99. package/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js.map +1 -1
  100. package/node_modules/@opentelemetry/core/build/src/baggage/utils.d.ts +7 -1
  101. package/node_modules/@opentelemetry/core/build/src/baggage/utils.js +33 -1
  102. package/node_modules/@opentelemetry/core/build/src/baggage/utils.js.map +1 -1
  103. package/node_modules/@opentelemetry/core/build/src/common/time.d.ts +7 -2
  104. package/node_modules/@opentelemetry/core/build/src/common/time.js +13 -5
  105. package/node_modules/@opentelemetry/core/build/src/common/time.js.map +1 -1
  106. package/node_modules/@opentelemetry/core/build/src/index.d.ts +1 -1
  107. package/node_modules/@opentelemetry/core/build/src/index.js +3 -1
  108. package/node_modules/@opentelemetry/core/build/src/index.js.map +1 -1
  109. package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
  110. package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
  111. package/node_modules/@opentelemetry/core/build/src/version.js.map +1 -1
  112. package/node_modules/@opentelemetry/core/package.json +6 -6
  113. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.d.ts +1 -1
  114. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.js +1 -1
  115. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.js.map +1 -1
  116. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/package.json +13 -13
  117. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.d.ts +1 -1
  118. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.js +1 -1
  119. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.js.map +1 -1
  120. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.d.ts +1 -1
  121. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.js +1 -1
  122. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.js.map +1 -1
  123. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.d.ts +1 -1
  124. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.js +1 -1
  125. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.js.map +1 -1
  126. package/node_modules/@opentelemetry/exporter-logs-otlp-http/package.json +13 -13
  127. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.d.ts +1 -1
  128. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.js +1 -1
  129. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.js.map +1 -1
  130. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.d.ts +1 -1
  131. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.js +1 -1
  132. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.js.map +1 -1
  133. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.d.ts +1 -1
  134. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.js +1 -1
  135. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.js.map +1 -1
  136. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/package.json +14 -14
  137. package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.d.ts +1 -1
  138. package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.js +1 -1
  139. package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.js.map +1 -1
  140. package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/package.json +13 -13
  141. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.d.ts +1 -1
  142. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.js +1 -1
  143. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.js.map +1 -1
  144. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.d.ts +1 -1
  145. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.js +1 -1
  146. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.js.map +1 -1
  147. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.d.ts +1 -1
  148. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.js +1 -1
  149. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.js.map +1 -1
  150. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/package.json +12 -12
  151. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.d.ts +1 -1
  152. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.js +1 -1
  153. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.js.map +1 -1
  154. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.d.ts +1 -1
  155. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.js +1 -1
  156. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.js.map +1 -1
  157. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.d.ts +1 -1
  158. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.js +1 -1
  159. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.js.map +1 -1
  160. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/package.json +13 -13
  161. package/node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusExporter.js +2 -0
  162. package/node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusExporter.js.map +1 -1
  163. package/node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusSerializer.js +15 -1
  164. package/node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusSerializer.js.map +1 -1
  165. package/node_modules/@opentelemetry/exporter-prometheus/build/src/semconv.d.ts +9 -0
  166. package/node_modules/@opentelemetry/exporter-prometheus/build/src/semconv.js +21 -0
  167. package/node_modules/@opentelemetry/exporter-prometheus/build/src/semconv.js.map +1 -0
  168. package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.d.ts +1 -1
  169. package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.js +1 -1
  170. package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.js.map +1 -1
  171. package/node_modules/@opentelemetry/exporter-prometheus/package.json +7 -7
  172. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/README.md +1 -1
  173. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.d.ts +1 -1
  174. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.js +1 -1
  175. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.js.map +1 -1
  176. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/package.json +12 -12
  177. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.d.ts +1 -1
  178. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.js +1 -1
  179. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.js.map +1 -1
  180. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.d.ts +1 -1
  181. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.js +1 -1
  182. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.js.map +1 -1
  183. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.d.ts +1 -1
  184. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.js +1 -1
  185. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.js.map +1 -1
  186. package/node_modules/@opentelemetry/exporter-trace-otlp-http/package.json +12 -12
  187. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.d.ts +1 -1
  188. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.js +1 -1
  189. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.js.map +1 -1
  190. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.d.ts +1 -1
  191. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.js +1 -1
  192. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.js.map +1 -1
  193. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.d.ts +1 -1
  194. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.js +1 -1
  195. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.js.map +1 -1
  196. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/package.json +12 -12
  197. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.d.ts +1 -1
  198. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.js +1 -1
  199. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.js.map +1 -1
  200. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.d.ts +1 -1
  201. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.js +1 -1
  202. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.js.map +1 -1
  203. package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.d.ts +1 -1
  204. package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.js +1 -1
  205. package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.js.map +1 -1
  206. package/node_modules/@opentelemetry/exporter-zipkin/package.json +11 -11
  207. package/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js +1 -1
  208. package/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js.map +1 -1
  209. package/node_modules/@opentelemetry/instrumentation/build/esm/semver.js +2 -2
  210. package/node_modules/@opentelemetry/instrumentation/build/esm/semver.js.map +1 -1
  211. package/node_modules/@opentelemetry/instrumentation/build/esm/version.d.ts +1 -1
  212. package/node_modules/@opentelemetry/instrumentation/build/esm/version.js +1 -1
  213. package/node_modules/@opentelemetry/instrumentation/build/esm/version.js.map +1 -1
  214. package/node_modules/@opentelemetry/instrumentation/build/esnext/instrumentation.js +1 -1
  215. package/node_modules/@opentelemetry/instrumentation/build/esnext/instrumentation.js.map +1 -1
  216. package/node_modules/@opentelemetry/instrumentation/build/esnext/semver.js +2 -2
  217. package/node_modules/@opentelemetry/instrumentation/build/esnext/semver.js.map +1 -1
  218. package/node_modules/@opentelemetry/instrumentation/build/esnext/version.d.ts +1 -1
  219. package/node_modules/@opentelemetry/instrumentation/build/esnext/version.js +1 -1
  220. package/node_modules/@opentelemetry/instrumentation/build/esnext/version.js.map +1 -1
  221. package/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js +1 -1
  222. package/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js.map +1 -1
  223. package/node_modules/@opentelemetry/instrumentation/build/src/semver.js +2 -2
  224. package/node_modules/@opentelemetry/instrumentation/build/src/semver.js.map +1 -1
  225. package/node_modules/@opentelemetry/instrumentation/build/src/version.d.ts +1 -1
  226. package/node_modules/@opentelemetry/instrumentation/build/src/version.js +1 -1
  227. package/node_modules/@opentelemetry/instrumentation/build/src/version.js.map +1 -1
  228. package/node_modules/@opentelemetry/instrumentation/hook.mjs +3 -14
  229. package/node_modules/@opentelemetry/instrumentation/package.json +9 -9
  230. package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.d.ts +1 -1
  231. package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js +1 -1
  232. package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js.map +1 -1
  233. package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.d.ts +1 -1
  234. package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js +1 -1
  235. package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js.map +1 -1
  236. package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.d.ts +1 -1
  237. package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js +1 -1
  238. package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js.map +1 -1
  239. package/node_modules/@opentelemetry/otlp-exporter-base/package.json +9 -9
  240. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/otlp-grpc-env-configuration.js +2 -2
  241. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/otlp-grpc-env-configuration.js.map +1 -1
  242. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/grpc-exporter-transport.d.ts +1 -0
  243. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/grpc-exporter-transport.js +17 -0
  244. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/grpc-exporter-transport.js.map +1 -1
  245. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/index.d.ts +1 -0
  246. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/index.js +5 -1
  247. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/index.js.map +1 -1
  248. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.d.ts +1 -1
  249. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.js +1 -1
  250. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.js.map +1 -1
  251. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/package.json +10 -10
  252. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.d.ts +6 -3
  253. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.js +7 -2
  254. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.js.map +1 -1
  255. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/common-serializer.d.ts +10 -1
  256. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/common-serializer.js +9 -0
  257. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/common-serializer.js.map +1 -1
  258. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/protobuf-reader.d.ts +5 -1
  259. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/protobuf-reader.js +5 -21
  260. package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/protobuf-reader.js.map +1 -1
  261. package/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.d.ts +0 -3
  262. package/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js +6 -10
  263. package/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js.map +1 -1
  264. package/node_modules/@opentelemetry/otlp-transformer/build/esm/metrics/internal.js +1 -1
  265. package/node_modules/@opentelemetry/otlp-transformer/build/esm/metrics/internal.js.map +1 -1
  266. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js +1 -1
  267. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js.map +1 -1
  268. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/internal.d.ts +6 -3
  269. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/internal.js +7 -2
  270. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/internal.js.map +1 -1
  271. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/common-serializer.d.ts +10 -1
  272. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/common-serializer.js +9 -0
  273. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/common-serializer.js.map +1 -1
  274. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/protobuf-reader.d.ts +5 -1
  275. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/protobuf-reader.js +5 -21
  276. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/protobuf-reader.js.map +1 -1
  277. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/internal.d.ts +0 -3
  278. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/internal.js +6 -10
  279. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/internal.js.map +1 -1
  280. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/metrics/internal.js +1 -1
  281. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/metrics/internal.js.map +1 -1
  282. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js +1 -1
  283. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js.map +1 -1
  284. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.d.ts +6 -3
  285. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.js +7 -2
  286. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.js.map +1 -1
  287. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.d.ts +10 -1
  288. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.js +9 -0
  289. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.js.map +1 -1
  290. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.d.ts +5 -1
  291. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.js +5 -21
  292. package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.js.map +1 -1
  293. package/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.d.ts +0 -3
  294. package/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.js +6 -11
  295. package/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.js.map +1 -1
  296. package/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.js +1 -1
  297. package/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.js.map +1 -1
  298. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js +1 -1
  299. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js.map +1 -1
  300. package/node_modules/@opentelemetry/otlp-transformer/package.json +13 -13
  301. package/node_modules/@opentelemetry/propagator-b3/build/esm/version.d.ts +1 -1
  302. package/node_modules/@opentelemetry/propagator-b3/build/esm/version.js +1 -1
  303. package/node_modules/@opentelemetry/propagator-b3/build/esm/version.js.map +1 -1
  304. package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.d.ts +1 -1
  305. package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.js +1 -1
  306. package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.js.map +1 -1
  307. package/node_modules/@opentelemetry/propagator-b3/build/src/version.d.ts +1 -1
  308. package/node_modules/@opentelemetry/propagator-b3/build/src/version.js +1 -1
  309. package/node_modules/@opentelemetry/propagator-b3/build/src/version.js.map +1 -1
  310. package/node_modules/@opentelemetry/propagator-b3/package.json +6 -6
  311. package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.d.ts +1 -1
  312. package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.js +1 -1
  313. package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.js.map +1 -1
  314. package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.d.ts +1 -1
  315. package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.js +1 -1
  316. package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.js.map +1 -1
  317. package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.d.ts +1 -1
  318. package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.js +1 -1
  319. package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.js.map +1 -1
  320. package/node_modules/@opentelemetry/propagator-jaeger/package.json +7 -7
  321. package/node_modules/@opentelemetry/resources/build/esm/detectors/EnvDetector.js +2 -2
  322. package/node_modules/@opentelemetry/resources/build/esm/detectors/EnvDetector.js.map +1 -1
  323. package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
  324. package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
  325. package/node_modules/@opentelemetry/resources/build/esm/version.js.map +1 -1
  326. package/node_modules/@opentelemetry/resources/build/esnext/detectors/EnvDetector.js +2 -2
  327. package/node_modules/@opentelemetry/resources/build/esnext/detectors/EnvDetector.js.map +1 -1
  328. package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
  329. package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
  330. package/node_modules/@opentelemetry/resources/build/esnext/version.js.map +1 -1
  331. package/node_modules/@opentelemetry/resources/build/src/detectors/EnvDetector.js +2 -2
  332. package/node_modules/@opentelemetry/resources/build/src/detectors/EnvDetector.js.map +1 -1
  333. package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
  334. package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
  335. package/node_modules/@opentelemetry/resources/build/src/version.js.map +1 -1
  336. package/node_modules/@opentelemetry/resources/package.json +5 -5
  337. package/node_modules/@opentelemetry/sdk-logs/README.md +3 -0
  338. package/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordImpl.d.ts +4 -3
  339. package/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordImpl.js +5 -57
  340. package/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordImpl.js.map +1 -1
  341. package/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.d.ts +4 -4
  342. package/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.js +5 -5
  343. package/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.js.map +1 -1
  344. package/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerProvider.js +12 -5
  345. package/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerProvider.js.map +1 -1
  346. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js +6 -3
  347. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js.map +1 -1
  348. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/ReadableLogRecord.d.ts +4 -1
  349. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/ReadableLogRecord.js.map +1 -1
  350. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SdkLogRecord.d.ts +7 -0
  351. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SdkLogRecord.js.map +1 -1
  352. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.js +0 -1
  353. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.js.map +1 -1
  354. package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/utils.d.ts +6 -1
  355. package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/utils.js +62 -1
  356. package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/utils.js.map +1 -1
  357. package/node_modules/@opentelemetry/sdk-logs/build/esm/utils/validation.d.ts +21 -2
  358. package/node_modules/@opentelemetry/sdk-logs/build/esm/utils/validation.js +112 -3
  359. package/node_modules/@opentelemetry/sdk-logs/build/esm/utils/validation.js.map +1 -1
  360. package/node_modules/@opentelemetry/sdk-logs/build/esm/version.d.ts +1 -1
  361. package/node_modules/@opentelemetry/sdk-logs/build/esm/version.js +1 -1
  362. package/node_modules/@opentelemetry/sdk-logs/build/esm/version.js.map +1 -1
  363. package/node_modules/@opentelemetry/sdk-logs/build/esnext/LogRecordImpl.d.ts +4 -3
  364. package/node_modules/@opentelemetry/sdk-logs/build/esnext/LogRecordImpl.js +5 -57
  365. package/node_modules/@opentelemetry/sdk-logs/build/esnext/LogRecordImpl.js.map +1 -1
  366. package/node_modules/@opentelemetry/sdk-logs/build/esnext/Logger.d.ts +4 -4
  367. package/node_modules/@opentelemetry/sdk-logs/build/esnext/Logger.js +5 -5
  368. package/node_modules/@opentelemetry/sdk-logs/build/esnext/Logger.js.map +1 -1
  369. package/node_modules/@opentelemetry/sdk-logs/build/esnext/LoggerProvider.js +12 -5
  370. package/node_modules/@opentelemetry/sdk-logs/build/esnext/LoggerProvider.js.map +1 -1
  371. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.js +6 -3
  372. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.js.map +1 -1
  373. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/ReadableLogRecord.d.ts +4 -1
  374. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/ReadableLogRecord.js.map +1 -1
  375. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SdkLogRecord.d.ts +7 -0
  376. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SdkLogRecord.js.map +1 -1
  377. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.js +0 -1
  378. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.js.map +1 -1
  379. package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/utils.d.ts +6 -1
  380. package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/utils.js +62 -1
  381. package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/utils.js.map +1 -1
  382. package/node_modules/@opentelemetry/sdk-logs/build/esnext/utils/validation.d.ts +21 -2
  383. package/node_modules/@opentelemetry/sdk-logs/build/esnext/utils/validation.js +112 -3
  384. package/node_modules/@opentelemetry/sdk-logs/build/esnext/utils/validation.js.map +1 -1
  385. package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.d.ts +1 -1
  386. package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.js +1 -1
  387. package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.js.map +1 -1
  388. package/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.d.ts +4 -3
  389. package/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.js +4 -56
  390. package/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.js.map +1 -1
  391. package/node_modules/@opentelemetry/sdk-logs/build/src/Logger.d.ts +4 -4
  392. package/node_modules/@opentelemetry/sdk-logs/build/src/Logger.js +5 -5
  393. package/node_modules/@opentelemetry/sdk-logs/build/src/Logger.js.map +1 -1
  394. package/node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js +11 -4
  395. package/node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js.map +1 -1
  396. package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js +6 -3
  397. package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js.map +1 -1
  398. package/node_modules/@opentelemetry/sdk-logs/build/src/export/ReadableLogRecord.d.ts +4 -1
  399. package/node_modules/@opentelemetry/sdk-logs/build/src/export/ReadableLogRecord.js.map +1 -1
  400. package/node_modules/@opentelemetry/sdk-logs/build/src/export/SdkLogRecord.d.ts +7 -0
  401. package/node_modules/@opentelemetry/sdk-logs/build/src/export/SdkLogRecord.js.map +1 -1
  402. package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js +0 -1
  403. package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js.map +1 -1
  404. package/node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.d.ts +6 -1
  405. package/node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.js +62 -1
  406. package/node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.js.map +1 -1
  407. package/node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.d.ts +21 -2
  408. package/node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.js +115 -4
  409. package/node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.js.map +1 -1
  410. package/node_modules/@opentelemetry/sdk-logs/build/src/version.d.ts +1 -1
  411. package/node_modules/@opentelemetry/sdk-logs/build/src/version.js +1 -1
  412. package/node_modules/@opentelemetry/sdk-logs/build/src/version.js.map +1 -1
  413. package/node_modules/@opentelemetry/sdk-logs/package.json +11 -11
  414. package/node_modules/@opentelemetry/sdk-metrics/build/esm/MeterProvider.d.ts +6 -1
  415. package/node_modules/@opentelemetry/sdk-metrics/build/esm/MeterProvider.js +4 -0
  416. package/node_modules/@opentelemetry/sdk-metrics/build/esm/MeterProvider.js.map +1 -1
  417. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.d.ts +9 -0
  418. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js +19 -0
  419. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js.map +1 -1
  420. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReaderMetrics.d.ts +12 -0
  421. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReaderMetrics.js +36 -0
  422. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReaderMetrics.js.map +1 -0
  423. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js +2 -0
  424. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js.map +1 -1
  425. package/node_modules/@opentelemetry/sdk-metrics/build/esm/semconv.d.ts +82 -0
  426. package/node_modules/@opentelemetry/sdk-metrics/build/esm/semconv.js +91 -0
  427. package/node_modules/@opentelemetry/sdk-metrics/build/esm/semconv.js.map +1 -0
  428. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js +0 -3
  429. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js.map +1 -1
  430. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js +0 -1
  431. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js.map +1 -1
  432. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js +0 -2
  433. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js.map +1 -1
  434. package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.d.ts +1 -1
  435. package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js +1 -1
  436. package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js.map +1 -1
  437. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/MeterProvider.d.ts +6 -1
  438. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/MeterProvider.js +4 -0
  439. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/MeterProvider.js.map +1 -1
  440. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.d.ts +9 -0
  441. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js +19 -0
  442. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js.map +1 -1
  443. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReaderMetrics.d.ts +12 -0
  444. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReaderMetrics.js +36 -0
  445. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReaderMetrics.js.map +1 -0
  446. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js +2 -0
  447. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js.map +1 -1
  448. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/semconv.d.ts +82 -0
  449. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/semconv.js +91 -0
  450. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/semconv.js.map +1 -0
  451. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js +0 -3
  452. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js.map +1 -1
  453. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js +0 -1
  454. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js.map +1 -1
  455. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js +0 -2
  456. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js.map +1 -1
  457. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.d.ts +1 -1
  458. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js +1 -1
  459. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js.map +1 -1
  460. package/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.d.ts +6 -1
  461. package/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.js +4 -0
  462. package/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.js.map +1 -1
  463. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.d.ts +9 -0
  464. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js +19 -0
  465. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js.map +1 -1
  466. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReaderMetrics.d.ts +12 -0
  467. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReaderMetrics.js +40 -0
  468. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReaderMetrics.js.map +1 -0
  469. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js +2 -0
  470. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js.map +1 -1
  471. package/node_modules/@opentelemetry/sdk-metrics/build/src/semconv.d.ts +82 -0
  472. package/node_modules/@opentelemetry/sdk-metrics/build/src/semconv.js +94 -0
  473. package/node_modules/@opentelemetry/sdk-metrics/build/src/semconv.js.map +1 -0
  474. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js +0 -3
  475. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js.map +1 -1
  476. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js +0 -1
  477. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js.map +1 -1
  478. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js +0 -2
  479. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js.map +1 -1
  480. package/node_modules/@opentelemetry/sdk-metrics/build/src/version.d.ts +1 -1
  481. package/node_modules/@opentelemetry/sdk-metrics/build/src/version.js +1 -1
  482. package/node_modules/@opentelemetry/sdk-metrics/build/src/version.js.map +1 -1
  483. package/node_modules/@opentelemetry/sdk-metrics/package.json +10 -10
  484. package/node_modules/@opentelemetry/sdk-node/README.md +1 -0
  485. package/node_modules/@opentelemetry/sdk-node/build/src/index.d.ts +0 -1
  486. package/node_modules/@opentelemetry/sdk-node/build/src/index.js +1 -3
  487. package/node_modules/@opentelemetry/sdk-node/build/src/index.js.map +1 -1
  488. package/node_modules/@opentelemetry/sdk-node/build/src/sdk.js +3 -3
  489. package/node_modules/@opentelemetry/sdk-node/build/src/sdk.js.map +1 -1
  490. package/node_modules/@opentelemetry/sdk-node/build/src/start.js +2 -2
  491. package/node_modules/@opentelemetry/sdk-node/build/src/start.js.map +1 -1
  492. package/node_modules/@opentelemetry/sdk-node/build/src/utils.d.ts +1 -1
  493. package/node_modules/@opentelemetry/sdk-node/build/src/utils.js +175 -103
  494. package/node_modules/@opentelemetry/sdk-node/build/src/utils.js.map +1 -1
  495. package/node_modules/@opentelemetry/sdk-node/build/src/version.d.ts +1 -1
  496. package/node_modules/@opentelemetry/sdk-node/build/src/version.js +1 -1
  497. package/node_modules/@opentelemetry/sdk-node/build/src/version.js.map +1 -1
  498. package/node_modules/@opentelemetry/sdk-node/package.json +30 -29
  499. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.d.ts +3 -0
  500. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js +10 -1
  501. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js.map +1 -1
  502. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.d.ts +3 -0
  503. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.js +23 -0
  504. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.js.map +1 -1
  505. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.d.ts +8 -0
  506. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.js +10 -0
  507. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.js.map +1 -1
  508. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/inspect.d.ts +32 -0
  509. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/inspect.js +53 -0
  510. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/inspect.js.map +1 -0
  511. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
  512. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
  513. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js.map +1 -1
  514. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider.d.ts +3 -0
  515. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider.js +10 -1
  516. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider.js.map +1 -1
  517. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Span.d.ts +3 -0
  518. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Span.js +23 -0
  519. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Span.js.map +1 -1
  520. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Tracer.d.ts +8 -0
  521. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Tracer.js +10 -0
  522. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Tracer.js.map +1 -1
  523. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/inspect.d.ts +32 -0
  524. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/inspect.js +53 -0
  525. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/inspect.js.map +1 -0
  526. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
  527. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
  528. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js.map +1 -1
  529. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.d.ts +3 -0
  530. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.js +10 -1
  531. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.js.map +1 -1
  532. package/node_modules/@opentelemetry/sdk-trace-base/build/src/Span.d.ts +3 -0
  533. package/node_modules/@opentelemetry/sdk-trace-base/build/src/Span.js +23 -0
  534. package/node_modules/@opentelemetry/sdk-trace-base/build/src/Span.js.map +1 -1
  535. package/node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.d.ts +8 -0
  536. package/node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.js +10 -0
  537. package/node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.js.map +1 -1
  538. package/node_modules/@opentelemetry/sdk-trace-base/build/src/inspect.d.ts +32 -0
  539. package/node_modules/@opentelemetry/sdk-trace-base/build/src/inspect.js +58 -0
  540. package/node_modules/@opentelemetry/sdk-trace-base/build/src/inspect.js.map +1 -0
  541. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
  542. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
  543. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js.map +1 -1
  544. package/node_modules/@opentelemetry/sdk-trace-base/package.json +9 -9
  545. package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.d.ts +1 -1
  546. package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.js +1 -1
  547. package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.js.map +1 -1
  548. package/node_modules/@opentelemetry/sdk-trace-node/package.json +8 -8
  549. package/node_modules/@protobufjs/aspromise/LICENSE +26 -0
  550. package/node_modules/@protobufjs/aspromise/README.md +13 -0
  551. package/node_modules/{protobufjs/src/util/aspromise.d.ts → @protobufjs/aspromise/index.d.ts} +13 -13
  552. package/node_modules/{protobufjs/src/util/aspromise.js → @protobufjs/aspromise/index.js} +52 -52
  553. package/node_modules/@protobufjs/aspromise/package.json +21 -0
  554. package/node_modules/@protobufjs/aspromise/tests/index.js +130 -0
  555. package/node_modules/@protobufjs/base64/LICENSE +26 -0
  556. package/node_modules/@protobufjs/base64/README.md +19 -0
  557. package/node_modules/{protobufjs/src/util/base64.d.ts → @protobufjs/base64/index.d.ts} +32 -32
  558. package/node_modules/{protobufjs/src/util/base64.js → @protobufjs/base64/index.js} +139 -146
  559. package/node_modules/@protobufjs/base64/package.json +21 -0
  560. package/node_modules/@protobufjs/base64/tests/index.js +46 -0
  561. package/node_modules/@protobufjs/codegen/LICENSE +26 -0
  562. package/node_modules/@protobufjs/codegen/README.md +49 -0
  563. package/node_modules/{protobufjs/src/util/codegen.d.ts → @protobufjs/codegen/index.d.ts} +31 -31
  564. package/node_modules/{protobufjs/src/util/codegen.js → @protobufjs/codegen/index.js} +112 -113
  565. package/node_modules/@protobufjs/codegen/package.json +13 -0
  566. package/node_modules/@protobufjs/codegen/tests/index.js +13 -0
  567. package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
  568. package/node_modules/@protobufjs/eventemitter/LICENSE +26 -0
  569. package/node_modules/@protobufjs/eventemitter/README.md +22 -0
  570. package/node_modules/{protobufjs/src/util/eventemitter.d.ts → @protobufjs/eventemitter/index.d.ts} +45 -45
  571. package/node_modules/{protobufjs/src/util/eventemitter.js → @protobufjs/eventemitter/index.js} +86 -86
  572. package/node_modules/@protobufjs/eventemitter/package.json +21 -0
  573. package/node_modules/@protobufjs/eventemitter/tests/index.js +83 -0
  574. package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
  575. package/node_modules/@protobufjs/fetch/LICENSE +26 -0
  576. package/node_modules/@protobufjs/fetch/README.md +13 -0
  577. package/node_modules/{protobufjs/src/util/fetch.d.ts → @protobufjs/fetch/index.d.ts} +56 -56
  578. package/node_modules/{protobufjs/src/util/fetch.js → @protobufjs/fetch/index.js} +112 -112
  579. package/node_modules/@protobufjs/fetch/package.json +27 -0
  580. package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
  581. package/node_modules/@protobufjs/fetch/tests/index.js +158 -0
  582. package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
  583. package/node_modules/@protobufjs/float/LICENSE +26 -0
  584. package/node_modules/@protobufjs/float/README.md +102 -0
  585. package/node_modules/@protobufjs/float/bench/index.js +87 -0
  586. package/node_modules/@protobufjs/float/bench/suite.js +46 -0
  587. package/node_modules/{protobufjs/src/util/float.js → @protobufjs/float/index.js} +335 -335
  588. package/node_modules/@protobufjs/float/package.json +26 -0
  589. package/node_modules/@protobufjs/float/tests/index.js +100 -0
  590. package/node_modules/@protobufjs/inquire/CHANGELOG.md +8 -0
  591. package/node_modules/@protobufjs/inquire/LICENSE +26 -0
  592. package/node_modules/@protobufjs/inquire/README.md +13 -0
  593. package/node_modules/{protobufjs/src/util/inquire.d.ts → @protobufjs/inquire/index.d.ts} +10 -10
  594. package/node_modules/{protobufjs/src/util/inquire.js → @protobufjs/inquire/index.js} +38 -38
  595. package/node_modules/@protobufjs/inquire/package.json +21 -0
  596. package/node_modules/@protobufjs/inquire/tests/data/array.js +1 -0
  597. package/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +1 -0
  598. package/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +1 -0
  599. package/node_modules/@protobufjs/inquire/tests/data/object.js +1 -0
  600. package/node_modules/@protobufjs/inquire/tests/index.js +20 -0
  601. package/node_modules/@protobufjs/path/LICENSE +26 -0
  602. package/node_modules/@protobufjs/path/README.md +19 -0
  603. package/node_modules/{protobufjs/src/util/path.d.ts → @protobufjs/path/index.d.ts} +22 -22
  604. package/node_modules/{protobufjs/src/util/path.js → @protobufjs/path/index.js} +65 -72
  605. package/node_modules/@protobufjs/path/package.json +21 -0
  606. package/node_modules/@protobufjs/path/tests/index.js +60 -0
  607. package/node_modules/@protobufjs/pool/.npmignore +3 -0
  608. package/node_modules/@protobufjs/pool/LICENSE +26 -0
  609. package/node_modules/@protobufjs/pool/README.md +13 -0
  610. package/node_modules/{protobufjs/src/util/pool.d.ts → @protobufjs/pool/index.d.ts} +32 -32
  611. package/node_modules/{protobufjs/src/util/pool.js → @protobufjs/pool/index.js} +48 -48
  612. package/node_modules/@protobufjs/pool/package.json +21 -0
  613. package/node_modules/@protobufjs/pool/tests/index.js +33 -0
  614. package/node_modules/@protobufjs/utf8/LICENSE +26 -0
  615. package/node_modules/@protobufjs/utf8/README.md +20 -0
  616. package/node_modules/{protobufjs/src/util/utf8.d.ts → @protobufjs/utf8/index.d.ts} +24 -24
  617. package/node_modules/{protobufjs/src/util/utf8.js → @protobufjs/utf8/index.js} +104 -130
  618. package/node_modules/@protobufjs/utf8/package.json +21 -0
  619. package/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +207 -0
  620. package/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -0
  621. package/node_modules/@protobufjs/utf8/tests/index.js +74 -0
  622. package/node_modules/@types/node/LICENSE +21 -0
  623. package/node_modules/@types/node/README.md +15 -0
  624. package/node_modules/@types/node/assert/strict.d.ts +59 -0
  625. package/node_modules/@types/node/assert.d.ts +950 -0
  626. package/node_modules/@types/node/async_hooks.d.ts +711 -0
  627. package/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  628. package/node_modules/@types/node/buffer.d.ts +1765 -0
  629. package/node_modules/@types/node/child_process.d.ts +1366 -0
  630. package/node_modules/@types/node/cluster.d.ts +432 -0
  631. package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  632. package/node_modules/@types/node/console.d.ts +93 -0
  633. package/node_modules/@types/node/constants.d.ts +14 -0
  634. package/node_modules/@types/node/crypto.d.ts +4058 -0
  635. package/node_modules/@types/node/dgram.d.ts +537 -0
  636. package/node_modules/@types/node/diagnostics_channel.d.ts +552 -0
  637. package/node_modules/@types/node/dns/promises.d.ts +497 -0
  638. package/node_modules/@types/node/dns.d.ts +876 -0
  639. package/node_modules/@types/node/domain.d.ts +150 -0
  640. package/node_modules/@types/node/events.d.ts +1008 -0
  641. package/node_modules/@types/node/fs/promises.d.ts +1468 -0
  642. package/node_modules/@types/node/fs.d.ts +4780 -0
  643. package/node_modules/@types/node/globals.d.ts +150 -0
  644. package/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  645. package/node_modules/@types/node/http.d.ts +2147 -0
  646. package/node_modules/@types/node/http2.d.ts +2485 -0
  647. package/node_modules/@types/node/https.d.ts +400 -0
  648. package/node_modules/@types/node/index.d.ts +117 -0
  649. package/node_modules/@types/node/inspector/promises.d.ts +35 -0
  650. package/node_modules/@types/node/inspector.d.ts +264 -0
  651. package/node_modules/@types/node/inspector.generated.d.ts +4406 -0
  652. package/node_modules/@types/node/module.d.ts +755 -0
  653. package/node_modules/@types/node/net.d.ts +970 -0
  654. package/node_modules/@types/node/os.d.ts +498 -0
  655. package/node_modules/@types/node/package.json +155 -0
  656. package/node_modules/@types/node/path/posix.d.ts +8 -0
  657. package/node_modules/@types/node/path/win32.d.ts +8 -0
  658. package/node_modules/@types/node/path.d.ts +178 -0
  659. package/node_modules/@types/node/perf_hooks.d.ts +612 -0
  660. package/node_modules/@types/node/process.d.ts +2204 -0
  661. package/node_modules/@types/node/punycode.d.ts +89 -0
  662. package/node_modules/@types/node/querystring.d.ts +139 -0
  663. package/node_modules/@types/node/quic.d.ts +897 -0
  664. package/node_modules/@types/node/readline/promises.d.ts +158 -0
  665. package/node_modules/@types/node/readline.d.ts +507 -0
  666. package/node_modules/@types/node/repl.d.ts +420 -0
  667. package/node_modules/@types/node/sea.d.ts +47 -0
  668. package/node_modules/@types/node/sqlite.d.ts +1068 -0
  669. package/node_modules/@types/node/stream/consumers.d.ts +114 -0
  670. package/node_modules/@types/node/stream/iter.d.ts +301 -0
  671. package/node_modules/@types/node/stream/promises.d.ts +211 -0
  672. package/node_modules/@types/node/stream/web.d.ts +300 -0
  673. package/node_modules/@types/node/stream.d.ts +1774 -0
  674. package/node_modules/@types/node/string_decoder.d.ts +27 -0
  675. package/node_modules/@types/node/test/reporters.d.ts +59 -0
  676. package/node_modules/@types/node/test.d.ts +2279 -0
  677. package/node_modules/@types/node/timers/promises.d.ts +93 -0
  678. package/node_modules/@types/node/timers.d.ts +149 -0
  679. package/node_modules/@types/node/tls.d.ts +1193 -0
  680. package/node_modules/@types/node/trace_events.d.ts +103 -0
  681. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  682. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  683. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  684. package/node_modules/@types/node/ts5.6/index.d.ts +119 -0
  685. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  686. package/node_modules/@types/node/ts5.7/index.d.ts +119 -0
  687. package/node_modules/@types/node/tty.d.ts +225 -0
  688. package/node_modules/@types/node/url.d.ts +556 -0
  689. package/node_modules/@types/node/util/types.d.ts +558 -0
  690. package/node_modules/@types/node/util.d.ts +1677 -0
  691. package/node_modules/@types/node/v8.d.ts +980 -0
  692. package/node_modules/@types/node/vm.d.ts +1136 -0
  693. package/node_modules/@types/node/wasi.d.ts +131 -0
  694. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  695. package/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  696. package/node_modules/@types/node/web-globals/console.d.ts +9 -0
  697. package/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  698. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  699. package/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  700. package/node_modules/@types/node/web-globals/events.d.ts +106 -0
  701. package/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  702. package/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  703. package/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  704. package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  705. package/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  706. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  707. package/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  708. package/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  709. package/node_modules/@types/node/web-globals/url.d.ts +24 -0
  710. package/node_modules/@types/node/worker_threads.d.ts +671 -0
  711. package/node_modules/@types/node/zlib/iter.d.ts +131 -0
  712. package/node_modules/@types/node/zlib.d.ts +589 -0
  713. package/node_modules/protobufjs/README.md +556 -263
  714. package/node_modules/protobufjs/dist/light/protobuf.js +1569 -1919
  715. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  716. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  717. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  718. package/node_modules/protobufjs/dist/minimal/protobuf.js +906 -1132
  719. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  720. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  721. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  722. package/node_modules/protobufjs/dist/protobuf.js +1576 -1993
  723. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  724. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  725. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  726. package/node_modules/protobufjs/ext/descriptor/README.md +70 -3
  727. package/node_modules/protobufjs/ext/descriptor/index.d.ts +193 -0
  728. package/node_modules/protobufjs/ext/descriptor/index.js +1185 -1
  729. package/node_modules/protobufjs/ext/descriptor/test.js +54 -0
  730. package/node_modules/protobufjs/index.d.ts +720 -834
  731. package/node_modules/protobufjs/package.json +44 -20
  732. package/node_modules/protobufjs/src/converter.js +36 -60
  733. package/node_modules/protobufjs/src/decoder.js +53 -124
  734. package/node_modules/protobufjs/src/encoder.js +2 -10
  735. package/node_modules/protobufjs/src/enum.js +3 -8
  736. package/node_modules/protobufjs/src/field.js +11 -13
  737. package/node_modules/protobufjs/src/index-light.js +1 -1
  738. package/node_modules/protobufjs/src/mapfield.js +0 -1
  739. package/node_modules/protobufjs/src/message.js +11 -5
  740. package/node_modules/protobufjs/src/method.js +4 -5
  741. package/node_modules/protobufjs/src/namespace.js +3 -10
  742. package/node_modules/protobufjs/src/object.js +20 -20
  743. package/node_modules/protobufjs/src/oneof.js +0 -3
  744. package/node_modules/protobufjs/src/parse.js +16 -78
  745. package/node_modules/protobufjs/src/reader.js +31 -136
  746. package/node_modules/protobufjs/src/reader_buffer.js +3 -24
  747. package/node_modules/protobufjs/src/root.js +3 -7
  748. package/node_modules/protobufjs/src/roots.js +1 -1
  749. package/node_modules/protobufjs/src/service.js +6 -13
  750. package/node_modules/protobufjs/src/tokenize.js +1 -6
  751. package/node_modules/protobufjs/src/type.js +30 -44
  752. package/node_modules/protobufjs/src/typescript.jsdoc +15 -0
  753. package/node_modules/protobufjs/src/util/minimal.js +12 -36
  754. package/node_modules/protobufjs/src/util.js +17 -6
  755. package/node_modules/protobufjs/src/verifier.js +6 -6
  756. package/node_modules/protobufjs/src/wrappers.js +1 -0
  757. package/node_modules/protobufjs/src/writer.js +16 -42
  758. package/node_modules/protobufjs/src/writer_buffer.js +1 -18
  759. package/node_modules/protobufjs/tsconfig.json +5 -3
  760. package/node_modules/undici-types/LICENSE +21 -0
  761. package/node_modules/undici-types/README.md +6 -0
  762. package/node_modules/undici-types/agent.d.ts +32 -0
  763. package/node_modules/undici-types/api.d.ts +43 -0
  764. package/node_modules/undici-types/balanced-pool.d.ts +30 -0
  765. package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
  766. package/node_modules/undici-types/cache.d.ts +36 -0
  767. package/node_modules/undici-types/client-stats.d.ts +15 -0
  768. package/node_modules/undici-types/client.d.ts +123 -0
  769. package/node_modules/undici-types/connector.d.ts +36 -0
  770. package/node_modules/undici-types/content-type.d.ts +21 -0
  771. package/node_modules/undici-types/cookies.d.ts +30 -0
  772. package/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  773. package/node_modules/undici-types/dispatcher.d.ts +279 -0
  774. package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  775. package/node_modules/undici-types/errors.d.ts +177 -0
  776. package/node_modules/undici-types/eventsource.d.ts +66 -0
  777. package/node_modules/undici-types/fetch.d.ts +211 -0
  778. package/node_modules/undici-types/formdata.d.ts +108 -0
  779. package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  780. package/node_modules/undici-types/global-origin.d.ts +7 -0
  781. package/node_modules/undici-types/h2c-client.d.ts +73 -0
  782. package/node_modules/undici-types/handlers.d.ts +15 -0
  783. package/node_modules/undici-types/header.d.ts +160 -0
  784. package/node_modules/undici-types/index.d.ts +91 -0
  785. package/node_modules/undici-types/interceptors.d.ts +80 -0
  786. package/node_modules/undici-types/mock-agent.d.ts +68 -0
  787. package/node_modules/undici-types/mock-call-history.d.ts +111 -0
  788. package/node_modules/undici-types/mock-client.d.ts +27 -0
  789. package/node_modules/undici-types/mock-errors.d.ts +12 -0
  790. package/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  791. package/node_modules/undici-types/mock-pool.d.ts +27 -0
  792. package/node_modules/undici-types/package.json +55 -0
  793. package/node_modules/undici-types/patch.d.ts +29 -0
  794. package/node_modules/undici-types/pool-stats.d.ts +19 -0
  795. package/node_modules/undici-types/pool.d.ts +41 -0
  796. package/node_modules/undici-types/proxy-agent.d.ts +29 -0
  797. package/node_modules/undici-types/readable.d.ts +68 -0
  798. package/node_modules/undici-types/retry-agent.d.ts +8 -0
  799. package/node_modules/undici-types/retry-handler.d.ts +125 -0
  800. package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  801. package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  802. package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
  803. package/node_modules/undici-types/util.d.ts +18 -0
  804. package/node_modules/undici-types/utility.d.ts +7 -0
  805. package/node_modules/undici-types/webidl.d.ts +347 -0
  806. package/node_modules/undici-types/websocket.d.ts +188 -0
  807. package/npm-shrinkwrap.json +294 -204
  808. package/package.json +13 -13
  809. package/node_modules/protobufjs/ext/README.md +0 -81
  810. package/node_modules/protobufjs/ext/descriptor.d.ts +0 -86
  811. package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -409
  812. package/node_modules/protobufjs/ext/descriptor.js +0 -1266
  813. package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
  814. package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -11
  815. package/node_modules/protobufjs/ext/textformat.js +0 -1235
  816. package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
  817. package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
  818. package/node_modules/protobufjs/src/typescript.js +0 -25
  819. /package/node_modules/{protobufjs/src/util/float.d.ts → @protobufjs/float/index.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentelemetry/context-async-hooks",
3
- "version": "2.7.1",
3
+ "version": "2.8.0",
4
4
  "description": "OpenTelemetry AsyncLocalStorage-based Context Manager",
5
5
  "main": "build/src/index.js",
6
6
  "types": "build/src/index.d.ts",
@@ -11,8 +11,8 @@
11
11
  "clean": "tsc --build --clean",
12
12
  "test": "nyc mocha 'test/**/*.test.ts'",
13
13
  "tdd": "npm run test -- --watch-extensions ts --watch",
14
- "lint": "eslint . --ext .ts",
15
- "lint:fix": "eslint . --ext .ts --fix",
14
+ "lint": "eslint .",
15
+ "lint:fix": "eslint . --fix",
16
16
  "version": "node ../../scripts/version-update.js",
17
17
  "prewatch": "npm run precompile",
18
18
  "peer-api-check": "node ../../scripts/peer-api-check.js",
@@ -55,5 +55,5 @@
55
55
  },
56
56
  "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-context-async-hooks",
57
57
  "sideEffects": false,
58
- "gitHead": "2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7"
58
+ "gitHead": "13a035bc695996cf4aec885fef7b9866f48bc555"
59
59
  }
@@ -4,8 +4,8 @@
4
4
  */
5
5
  import { propagation } from '@opentelemetry/api';
6
6
  import { isTracingSuppressed } from '../../trace/suppress-tracing';
7
- import { BAGGAGE_HEADER, BAGGAGE_ITEMS_SEPARATOR, BAGGAGE_MAX_NAME_VALUE_PAIRS, BAGGAGE_MAX_PER_NAME_VALUE_PAIRS, } from '../constants';
8
- import { getKeyPairs, parsePairKeyValue, serializeKeyPairs } from '../utils';
7
+ import { BAGGAGE_HEADER, BAGGAGE_MAX_NAME_VALUE_PAIRS, BAGGAGE_MAX_PER_NAME_VALUE_PAIRS, } from '../constants';
8
+ import { getKeyPairs, parseBaggageHeaderString, serializeKeyPairs, } from '../utils';
9
9
  /**
10
10
  * Propagates {@link Baggage} through Context format propagation.
11
11
  *
@@ -29,27 +29,21 @@ export class W3CBaggagePropagator {
29
29
  }
30
30
  extract(context, carrier, getter) {
31
31
  const headerValue = getter.get(carrier, BAGGAGE_HEADER);
32
- const baggageString = Array.isArray(headerValue)
33
- ? headerValue.join(BAGGAGE_ITEMS_SEPARATOR)
34
- : headerValue;
35
- if (!baggageString)
36
- return context;
37
- const baggage = {};
38
- if (baggageString.length === 0) {
32
+ if (!headerValue) {
39
33
  return context;
40
34
  }
41
- const pairs = baggageString.split(BAGGAGE_ITEMS_SEPARATOR);
42
- pairs.forEach(entry => {
43
- const keyPair = parsePairKeyValue(entry);
44
- if (keyPair) {
45
- const baggageEntry = { value: keyPair.value };
46
- if (keyPair.metadata) {
47
- baggageEntry.metadata = keyPair.metadata;
48
- }
49
- baggage[keyPair.key] = baggageEntry;
35
+ const baggage = {};
36
+ let count = 0;
37
+ let totalSize = 0;
38
+ if (Array.isArray(headerValue)) {
39
+ for (let i = 0; i < headerValue.length; i++) {
40
+ [count, totalSize] = parseBaggageHeaderString(headerValue[i], baggage, count, totalSize);
50
41
  }
51
- });
52
- if (Object.entries(baggage).length === 0) {
42
+ }
43
+ else {
44
+ [count] = parseBaggageHeaderString(headerValue, baggage, count, totalSize);
45
+ }
46
+ if (count === 0) {
53
47
  return context;
54
48
  }
55
49
  return propagation.setBaggage(context, propagation.createBaggage(baggage));
@@ -1 +1 @@
1
- {"version":3,"file":"W3CBaggagePropagator.js","sourceRoot":"","sources":["../../../../src/baggage/propagation/W3CBaggagePropagator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,OAAgB,EAAE,OAAgB,EAAE,MAAqB;QAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC;YAAE,OAAO;QACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;aAClC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,IAAI,gCAAgC,CAAC;QACzD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;SAClD;IACH,CAAC;IAED,OAAO,CAAC,OAAgB,EAAE,OAAgB,EAAE,MAAqB;QAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC3C,CAAC,CAAC,WAAW,CAAC;QAChB,IAAI,CAAC,aAAa;YAAE,OAAO,OAAO,CAAC;QACnC,MAAM,OAAO,GAAiC,EAAE,CAAC;QACjD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,OAAO,CAAC;SAChB;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,OAAO,EAAE;gBACX,MAAM,YAAY,GAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC5D,IAAI,OAAO,CAAC,QAAQ,EAAE;oBACpB,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;iBAC1C;gBACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n BaggageEntry,\n Context,\n TextMapGetter,\n TextMapPropagator,\n TextMapSetter,\n} from '@opentelemetry/api';\nimport { propagation } from '@opentelemetry/api';\n\nimport { isTracingSuppressed } from '../../trace/suppress-tracing';\nimport {\n BAGGAGE_HEADER,\n BAGGAGE_ITEMS_SEPARATOR,\n BAGGAGE_MAX_NAME_VALUE_PAIRS,\n BAGGAGE_MAX_PER_NAME_VALUE_PAIRS,\n} from '../constants';\nimport { getKeyPairs, parsePairKeyValue, serializeKeyPairs } from '../utils';\n\n/**\n * Propagates {@link Baggage} through Context format propagation.\n *\n * Based on the Baggage specification:\n * https://w3c.github.io/baggage/\n */\nexport class W3CBaggagePropagator implements TextMapPropagator {\n inject(context: Context, carrier: unknown, setter: TextMapSetter): void {\n const baggage = propagation.getBaggage(context);\n if (!baggage || isTracingSuppressed(context)) return;\n const keyPairs = getKeyPairs(baggage)\n .filter((pair: string) => {\n return pair.length <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;\n })\n .slice(0, BAGGAGE_MAX_NAME_VALUE_PAIRS);\n const headerValue = serializeKeyPairs(keyPairs);\n if (headerValue.length > 0) {\n setter.set(carrier, BAGGAGE_HEADER, headerValue);\n }\n }\n\n extract(context: Context, carrier: unknown, getter: TextMapGetter): Context {\n const headerValue = getter.get(carrier, BAGGAGE_HEADER);\n const baggageString = Array.isArray(headerValue)\n ? headerValue.join(BAGGAGE_ITEMS_SEPARATOR)\n : headerValue;\n if (!baggageString) return context;\n const baggage: Record<string, BaggageEntry> = {};\n if (baggageString.length === 0) {\n return context;\n }\n const pairs = baggageString.split(BAGGAGE_ITEMS_SEPARATOR);\n pairs.forEach(entry => {\n const keyPair = parsePairKeyValue(entry);\n if (keyPair) {\n const baggageEntry: BaggageEntry = { value: keyPair.value };\n if (keyPair.metadata) {\n baggageEntry.metadata = keyPair.metadata;\n }\n baggage[keyPair.key] = baggageEntry;\n }\n });\n if (Object.entries(baggage).length === 0) {\n return context;\n }\n return propagation.setBaggage(context, propagation.createBaggage(baggage));\n }\n\n fields(): string[] {\n return [BAGGAGE_HEADER];\n }\n}\n"]}
1
+ {"version":3,"file":"W3CBaggagePropagator.js","sourceRoot":"","sources":["../../../../src/baggage/propagation/W3CBaggagePropagator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAElB;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,OAAgB,EAAE,OAAgB,EAAE,MAAqB;QAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC;YAAE,OAAO;QACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;aAClC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,IAAI,gCAAgC,CAAC;QACzD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;SAClD;IACH,CAAC;IAED,OAAO,CAAC,OAAgB,EAAE,OAAgB,EAAE,MAAqB;QAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,OAAO,CAAC;SAChB;QAED,MAAM,OAAO,GAAiC,EAAE,CAAC;QACjD,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,wBAAwB,CAC3C,WAAW,CAAC,CAAC,CAAC,EACd,OAAO,EACP,KAAK,EACL,SAAS,CACV,CAAC;aACH;SACF;aAAM;YACL,CAAC,KAAK,CAAC,GAAG,wBAAwB,CAChC,WAAW,EACX,OAAO,EACP,KAAK,EACL,SAAS,CACV,CAAC;SACH;QAED,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,OAAO,CAAC;SAChB;QAED,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n BaggageEntry,\n Context,\n TextMapGetter,\n TextMapPropagator,\n TextMapSetter,\n} from '@opentelemetry/api';\nimport { propagation } from '@opentelemetry/api';\n\nimport { isTracingSuppressed } from '../../trace/suppress-tracing';\nimport {\n BAGGAGE_HEADER,\n BAGGAGE_MAX_NAME_VALUE_PAIRS,\n BAGGAGE_MAX_PER_NAME_VALUE_PAIRS,\n} from '../constants';\nimport {\n getKeyPairs,\n parseBaggageHeaderString,\n serializeKeyPairs,\n} from '../utils';\n\n/**\n * Propagates {@link Baggage} through Context format propagation.\n *\n * Based on the Baggage specification:\n * https://w3c.github.io/baggage/\n */\nexport class W3CBaggagePropagator implements TextMapPropagator {\n inject(context: Context, carrier: unknown, setter: TextMapSetter): void {\n const baggage = propagation.getBaggage(context);\n if (!baggage || isTracingSuppressed(context)) return;\n const keyPairs = getKeyPairs(baggage)\n .filter((pair: string) => {\n return pair.length <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;\n })\n .slice(0, BAGGAGE_MAX_NAME_VALUE_PAIRS);\n const headerValue = serializeKeyPairs(keyPairs);\n if (headerValue.length > 0) {\n setter.set(carrier, BAGGAGE_HEADER, headerValue);\n }\n }\n\n extract(context: Context, carrier: unknown, getter: TextMapGetter): Context {\n const headerValue = getter.get(carrier, BAGGAGE_HEADER);\n if (!headerValue) {\n return context;\n }\n\n const baggage: Record<string, BaggageEntry> = {};\n let count = 0;\n\n let totalSize = 0;\n if (Array.isArray(headerValue)) {\n for (let i = 0; i < headerValue.length; i++) {\n [count, totalSize] = parseBaggageHeaderString(\n headerValue[i],\n baggage,\n count,\n totalSize\n );\n }\n } else {\n [count] = parseBaggageHeaderString(\n headerValue,\n baggage,\n count,\n totalSize\n );\n }\n\n if (count === 0) {\n return context;\n }\n\n return propagation.setBaggage(context, propagation.createBaggage(baggage));\n }\n\n fields(): string[] {\n return [BAGGAGE_HEADER];\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { Baggage, BaggageEntryMetadata } from '@opentelemetry/api';
1
+ import type { Baggage, BaggageEntry, BaggageEntryMetadata } from '@opentelemetry/api';
2
2
  type ParsedBaggageKeyValue = {
3
3
  key: string;
4
4
  value: string;
@@ -7,6 +7,12 @@ type ParsedBaggageKeyValue = {
7
7
  export declare function serializeKeyPairs(keyPairs: string[]): string;
8
8
  export declare function getKeyPairs(baggage: Baggage): string[];
9
9
  export declare function parsePairKeyValue(entry: string): ParsedBaggageKeyValue | undefined;
10
+ /**
11
+ * Parses a single baggage header string into the provided record, applying limits defined in this package.
12
+ * Uses indexOf/substring in a while loop to avoid allocating a full array of split entries.
13
+ * Returns the updated pair count so callers can track totals across multiple header values.
14
+ */
15
+ export declare function parseBaggageHeaderString(value: string, baggage: Record<string, BaggageEntry>, count: number, totalSize: number): [count: number, totalSize: number];
10
16
  /**
11
17
  * Parse a string serialized in the baggage HTTP Format (without metadata):
12
18
  * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md
@@ -1,5 +1,5 @@
1
1
  import { baggageEntryMetadataFromString } from '@opentelemetry/api';
2
- import { BAGGAGE_ITEMS_SEPARATOR, BAGGAGE_PROPERTIES_SEPARATOR, BAGGAGE_KEY_PAIR_SEPARATOR, BAGGAGE_MAX_TOTAL_LENGTH, } from './constants';
2
+ import { BAGGAGE_ITEMS_SEPARATOR, BAGGAGE_PROPERTIES_SEPARATOR, BAGGAGE_KEY_PAIR_SEPARATOR, BAGGAGE_MAX_TOTAL_LENGTH, BAGGAGE_MAX_NAME_VALUE_PAIRS, BAGGAGE_MAX_PER_NAME_VALUE_PAIRS, } from './constants';
3
3
  export function serializeKeyPairs(keyPairs) {
4
4
  return keyPairs.reduce((hValue, current) => {
5
5
  const value = `${hValue}${hValue !== '' ? BAGGAGE_ITEMS_SEPARATOR : ''}${current}`;
@@ -48,6 +48,37 @@ export function parsePairKeyValue(entry) {
48
48
  }
49
49
  return { key, value, metadata };
50
50
  }
51
+ /**
52
+ * Parses a single baggage header string into the provided record, applying limits defined in this package.
53
+ * Uses indexOf/substring in a while loop to avoid allocating a full array of split entries.
54
+ * Returns the updated pair count so callers can track totals across multiple header values.
55
+ */
56
+ export function parseBaggageHeaderString(value, baggage, count, totalSize) {
57
+ let start = 0;
58
+ while (start < value.length && count < BAGGAGE_MAX_NAME_VALUE_PAIRS) {
59
+ const end = value.indexOf(BAGGAGE_ITEMS_SEPARATOR, start);
60
+ const entryEnd = end === -1 ? value.length : end;
61
+ const entryLength = entryEnd - start;
62
+ if (entryLength <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS) {
63
+ const keyPair = parsePairKeyValue(value.substring(start, entryEnd));
64
+ if (keyPair) {
65
+ // Comma separator is counted for every accepted entry after the first
66
+ const entrySize = (count === 0 ? 0 : 1) + entryLength;
67
+ if (totalSize + entrySize > BAGGAGE_MAX_TOTAL_LENGTH)
68
+ break;
69
+ baggage[keyPair.key] = keyPair.metadata
70
+ ? { value: keyPair.value, metadata: keyPair.metadata }
71
+ : { value: keyPair.value };
72
+ count++;
73
+ totalSize += entrySize;
74
+ }
75
+ }
76
+ if (end === -1)
77
+ break;
78
+ start = end + 1;
79
+ }
80
+ return [count, totalSize];
81
+ }
51
82
  /**
52
83
  * Parse a string serialized in the baggage HTTP Format (without metadata):
53
84
  * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/baggage/utils.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { Baggage, BaggageEntryMetadata } from '@opentelemetry/api';\nimport { baggageEntryMetadataFromString } from '@opentelemetry/api';\nimport {\n BAGGAGE_ITEMS_SEPARATOR,\n BAGGAGE_PROPERTIES_SEPARATOR,\n BAGGAGE_KEY_PAIR_SEPARATOR,\n BAGGAGE_MAX_TOTAL_LENGTH,\n} from './constants';\n\ntype ParsedBaggageKeyValue = {\n key: string;\n value: string;\n metadata: BaggageEntryMetadata | undefined;\n};\n\nexport function serializeKeyPairs(keyPairs: string[]): string {\n return keyPairs.reduce((hValue: string, current: string) => {\n const value = `${hValue}${\n hValue !== '' ? BAGGAGE_ITEMS_SEPARATOR : ''\n }${current}`;\n return value.length > BAGGAGE_MAX_TOTAL_LENGTH ? hValue : value;\n }, '');\n}\n\nexport function getKeyPairs(baggage: Baggage): string[] {\n return baggage.getAllEntries().map(([key, value]) => {\n let entry = `${encodeURIComponent(key)}=${encodeURIComponent(value.value)}`;\n\n // include opaque metadata if provided\n // NOTE: we intentionally don't URI-encode the metadata - that responsibility falls on the metadata implementation\n if (value.metadata !== undefined) {\n entry += BAGGAGE_PROPERTIES_SEPARATOR + value.metadata.toString();\n }\n\n return entry;\n });\n}\n\nexport function parsePairKeyValue(\n entry: string\n): ParsedBaggageKeyValue | undefined {\n if (!entry) return;\n const metadataSeparatorIndex = entry.indexOf(BAGGAGE_PROPERTIES_SEPARATOR);\n const keyPairPart =\n metadataSeparatorIndex === -1\n ? entry\n : entry.substring(0, metadataSeparatorIndex);\n\n const separatorIndex = keyPairPart.indexOf(BAGGAGE_KEY_PAIR_SEPARATOR);\n if (separatorIndex <= 0) return;\n\n const rawKey = keyPairPart.substring(0, separatorIndex).trim();\n const rawValue = keyPairPart.substring(separatorIndex + 1).trim();\n\n if (!rawKey || !rawValue) return;\n let key: string;\n let value: string;\n try {\n key = decodeURIComponent(rawKey);\n value = decodeURIComponent(rawValue);\n } catch {\n return;\n }\n\n let metadata;\n if (\n metadataSeparatorIndex !== -1 &&\n metadataSeparatorIndex < entry.length - 1\n ) {\n const metadataString = entry.substring(metadataSeparatorIndex + 1);\n metadata = baggageEntryMetadataFromString(metadataString);\n }\n\n return { key, value, metadata };\n}\n\n/**\n * Parse a string serialized in the baggage HTTP Format (without metadata):\n * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md\n */\nexport function parseKeyPairsIntoRecord(\n value?: string\n): Record<string, string> {\n const result: Record<string, string> = {};\n\n if (typeof value === 'string' && value.length > 0) {\n value.split(BAGGAGE_ITEMS_SEPARATOR).forEach(entry => {\n const keyPair = parsePairKeyValue(entry);\n\n if (keyPair !== undefined && keyPair.value.length > 0) {\n result[keyPair.key] = keyPair.value;\n }\n });\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/baggage/utils.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type {\n Baggage,\n BaggageEntry,\n BaggageEntryMetadata,\n} from '@opentelemetry/api';\nimport { baggageEntryMetadataFromString } from '@opentelemetry/api';\nimport {\n BAGGAGE_ITEMS_SEPARATOR,\n BAGGAGE_PROPERTIES_SEPARATOR,\n BAGGAGE_KEY_PAIR_SEPARATOR,\n BAGGAGE_MAX_TOTAL_LENGTH,\n BAGGAGE_MAX_NAME_VALUE_PAIRS,\n BAGGAGE_MAX_PER_NAME_VALUE_PAIRS,\n} from './constants';\n\ntype ParsedBaggageKeyValue = {\n key: string;\n value: string;\n metadata: BaggageEntryMetadata | undefined;\n};\n\nexport function serializeKeyPairs(keyPairs: string[]): string {\n return keyPairs.reduce((hValue: string, current: string) => {\n const value = `${hValue}${\n hValue !== '' ? BAGGAGE_ITEMS_SEPARATOR : ''\n }${current}`;\n return value.length > BAGGAGE_MAX_TOTAL_LENGTH ? hValue : value;\n }, '');\n}\n\nexport function getKeyPairs(baggage: Baggage): string[] {\n return baggage.getAllEntries().map(([key, value]) => {\n let entry = `${encodeURIComponent(key)}=${encodeURIComponent(value.value)}`;\n\n // include opaque metadata if provided\n // NOTE: we intentionally don't URI-encode the metadata - that responsibility falls on the metadata implementation\n if (value.metadata !== undefined) {\n entry += BAGGAGE_PROPERTIES_SEPARATOR + value.metadata.toString();\n }\n\n return entry;\n });\n}\n\nexport function parsePairKeyValue(\n entry: string\n): ParsedBaggageKeyValue | undefined {\n if (!entry) return;\n const metadataSeparatorIndex = entry.indexOf(BAGGAGE_PROPERTIES_SEPARATOR);\n const keyPairPart =\n metadataSeparatorIndex === -1\n ? entry\n : entry.substring(0, metadataSeparatorIndex);\n\n const separatorIndex = keyPairPart.indexOf(BAGGAGE_KEY_PAIR_SEPARATOR);\n if (separatorIndex <= 0) return;\n\n const rawKey = keyPairPart.substring(0, separatorIndex).trim();\n const rawValue = keyPairPart.substring(separatorIndex + 1).trim();\n\n if (!rawKey || !rawValue) return;\n let key: string;\n let value: string;\n try {\n key = decodeURIComponent(rawKey);\n value = decodeURIComponent(rawValue);\n } catch {\n return;\n }\n\n let metadata;\n if (\n metadataSeparatorIndex !== -1 &&\n metadataSeparatorIndex < entry.length - 1\n ) {\n const metadataString = entry.substring(metadataSeparatorIndex + 1);\n metadata = baggageEntryMetadataFromString(metadataString);\n }\n\n return { key, value, metadata };\n}\n\n/**\n * Parses a single baggage header string into the provided record, applying limits defined in this package.\n * Uses indexOf/substring in a while loop to avoid allocating a full array of split entries.\n * Returns the updated pair count so callers can track totals across multiple header values.\n */\nexport function parseBaggageHeaderString(\n value: string,\n baggage: Record<string, BaggageEntry>,\n count: number,\n totalSize: number\n): [count: number, totalSize: number] {\n let start = 0;\n while (start < value.length && count < BAGGAGE_MAX_NAME_VALUE_PAIRS) {\n const end = value.indexOf(BAGGAGE_ITEMS_SEPARATOR, start);\n const entryEnd = end === -1 ? value.length : end;\n const entryLength = entryEnd - start;\n\n if (entryLength <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS) {\n const keyPair = parsePairKeyValue(value.substring(start, entryEnd));\n if (keyPair) {\n // Comma separator is counted for every accepted entry after the first\n const entrySize = (count === 0 ? 0 : 1) + entryLength;\n if (totalSize + entrySize > BAGGAGE_MAX_TOTAL_LENGTH) break;\n baggage[keyPair.key] = keyPair.metadata\n ? { value: keyPair.value, metadata: keyPair.metadata }\n : { value: keyPair.value };\n count++;\n totalSize += entrySize;\n }\n }\n\n if (end === -1) break;\n start = end + 1;\n }\n return [count, totalSize];\n}\n\n/**\n * Parse a string serialized in the baggage HTTP Format (without metadata):\n * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md\n */\nexport function parseKeyPairsIntoRecord(\n value?: string\n): Record<string, string> {\n const result: Record<string, string> = {};\n\n if (typeof value === 'string' && value.length > 0) {\n value.split(BAGGAGE_ITEMS_SEPARATOR).forEach(entry => {\n const keyPair = parsePairKeyValue(entry);\n\n if (keyPair !== undefined && keyPair.value.length > 0) {\n result[keyPair.key] = keyPair.value;\n }\n });\n }\n\n return result;\n}\n"]}
@@ -35,16 +35,21 @@ export declare function hrTimeToTimeStamp(time: api.HrTime): string;
35
35
  * @param time
36
36
  */
37
37
  export declare function hrTimeToNanoseconds(time: api.HrTime): number;
38
+ /**
39
+ * Convert hrTime to microseconds.
40
+ * @param time
41
+ */
42
+ export declare function hrTimeToMicroseconds(time: api.HrTime): number;
38
43
  /**
39
44
  * Convert hrTime to milliseconds.
40
45
  * @param time
41
46
  */
42
47
  export declare function hrTimeToMilliseconds(time: api.HrTime): number;
43
48
  /**
44
- * Convert hrTime to microseconds.
49
+ * Convert hrTime to seconds.
45
50
  * @param time
46
51
  */
47
- export declare function hrTimeToMicroseconds(time: api.HrTime): number;
52
+ export declare function hrTimeToSeconds(time: api.HrTime): number;
48
53
  /**
49
54
  * check if time is HrTime
50
55
  * @param value
@@ -95,6 +95,13 @@ export function hrTimeToTimeStamp(time) {
95
95
  export function hrTimeToNanoseconds(time) {
96
96
  return time[0] * SECOND_TO_NANOSECONDS + time[1];
97
97
  }
98
+ /**
99
+ * Convert hrTime to microseconds.
100
+ * @param time
101
+ */
102
+ export function hrTimeToMicroseconds(time) {
103
+ return time[0] * 1e6 + time[1] / 1e3;
104
+ }
98
105
  /**
99
106
  * Convert hrTime to milliseconds.
100
107
  * @param time
@@ -103,11 +110,11 @@ export function hrTimeToMilliseconds(time) {
103
110
  return time[0] * 1e3 + time[1] / 1e6;
104
111
  }
105
112
  /**
106
- * Convert hrTime to microseconds.
113
+ * Convert hrTime to seconds.
107
114
  * @param time
108
115
  */
109
- export function hrTimeToMicroseconds(time) {
110
- return time[0] * 1e6 + time[1] / 1e3;
116
+ export function hrTimeToSeconds(time) {
117
+ return time[0] + time[1] / SECOND_TO_NANOSECONDS;
111
118
  }
112
119
  /**
113
120
  * check if time is HrTime
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/common/time.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as api from '@opentelemetry/api';\nimport { otperformance as performance } from '../platform';\n\nconst NANOSECOND_DIGITS = 9;\nconst NANOSECOND_DIGITS_IN_MILLIS = 6;\nconst MILLISECONDS_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS_IN_MILLIS);\nconst SECOND_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS);\n\n/**\n * Converts a number of milliseconds from epoch to HrTime([seconds, remainder in nanoseconds]).\n * @param epochMillis\n */\nexport function millisToHrTime(epochMillis: number): api.HrTime {\n const epochSeconds = epochMillis / 1000;\n // Decimals only.\n const seconds = Math.trunc(epochSeconds);\n // Round sub-nanosecond accuracy to nanosecond.\n const nanos = Math.round((epochMillis % 1000) * MILLISECONDS_TO_NANOSECONDS);\n return [seconds, nanos];\n}\n\n/**\n * @deprecated Use `performance.timeOrigin` directly.\n */\nexport function getTimeOrigin(): number {\n return performance.timeOrigin;\n}\n\n/**\n * Returns an hrtime calculated via performance component.\n * @param performanceNow\n */\nexport function hrTime(performanceNow?: number): api.HrTime {\n const timeOrigin = millisToHrTime(performance.timeOrigin);\n const now = millisToHrTime(\n typeof performanceNow === 'number' ? performanceNow : performance.now()\n );\n\n return addHrTimes(timeOrigin, now);\n}\n\n/**\n *\n * Converts a TimeInput to an HrTime, defaults to _hrtime().\n * @param time\n */\nexport function timeInputToHrTime(time: api.TimeInput): api.HrTime {\n // process.hrtime\n if (isTimeInputHrTime(time)) {\n return time as api.HrTime;\n } else if (typeof time === 'number') {\n // Must be a performance.now() if it's smaller than process start time.\n if (time < performance.timeOrigin) {\n return hrTime(time);\n } else {\n // epoch milliseconds or performance.timeOrigin\n return millisToHrTime(time);\n }\n } else if (time instanceof Date) {\n return millisToHrTime(time.getTime());\n } else {\n throw TypeError('Invalid input type');\n }\n}\n\n/**\n * Returns a duration of two hrTime.\n * @param startTime\n * @param endTime\n */\nexport function hrTimeDuration(\n startTime: api.HrTime,\n endTime: api.HrTime\n): api.HrTime {\n let seconds = endTime[0] - startTime[0];\n let nanos = endTime[1] - startTime[1];\n\n // overflow\n if (nanos < 0) {\n seconds -= 1;\n // negate\n nanos += SECOND_TO_NANOSECONDS;\n }\n\n return [seconds, nanos];\n}\n\n/**\n * Convert hrTime to timestamp, for example \"2019-05-14T17:00:00.000123456Z\"\n * @param time\n */\nexport function hrTimeToTimeStamp(time: api.HrTime): string {\n const precision = NANOSECOND_DIGITS;\n const tmp = `${'0'.repeat(precision)}${time[1]}Z`;\n const nanoString = tmp.substring(tmp.length - precision - 1);\n const date = new Date(time[0] * 1000).toISOString();\n return date.replace('000Z', nanoString);\n}\n\n/**\n * Convert hrTime to nanoseconds.\n * @param time\n */\nexport function hrTimeToNanoseconds(time: api.HrTime): number {\n return time[0] * SECOND_TO_NANOSECONDS + time[1];\n}\n\n/**\n * Convert hrTime to milliseconds.\n * @param time\n */\nexport function hrTimeToMilliseconds(time: api.HrTime): number {\n return time[0] * 1e3 + time[1] / 1e6;\n}\n\n/**\n * Convert hrTime to microseconds.\n * @param time\n */\nexport function hrTimeToMicroseconds(time: api.HrTime): number {\n return time[0] * 1e6 + time[1] / 1e3;\n}\n\n/**\n * check if time is HrTime\n * @param value\n */\nexport function isTimeInputHrTime(value: unknown): value is api.HrTime {\n return (\n Array.isArray(value) &&\n value.length === 2 &&\n typeof value[0] === 'number' &&\n typeof value[1] === 'number'\n );\n}\n\n/**\n * check if input value is a correct types.TimeInput\n * @param value\n */\nexport function isTimeInput(\n value: unknown\n): value is api.HrTime | number | Date {\n return (\n isTimeInputHrTime(value) ||\n typeof value === 'number' ||\n value instanceof Date\n );\n}\n\n/**\n * Given 2 HrTime formatted times, return their sum as an HrTime.\n */\nexport function addHrTimes(time1: api.HrTime, time2: api.HrTime): api.HrTime {\n const out = [time1[0] + time2[0], time1[1] + time2[1]] as api.HrTime;\n\n // Nanoseconds\n if (out[1] >= SECOND_TO_NANOSECONDS) {\n out[1] -= SECOND_TO_NANOSECONDS;\n out[0] += 1;\n }\n\n return out;\n}\n"]}
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/common/time.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as api from '@opentelemetry/api';\nimport { otperformance as performance } from '../platform';\n\nconst NANOSECOND_DIGITS = 9;\nconst NANOSECOND_DIGITS_IN_MILLIS = 6;\nconst MILLISECONDS_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS_IN_MILLIS);\nconst SECOND_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS);\n\n/**\n * Converts a number of milliseconds from epoch to HrTime([seconds, remainder in nanoseconds]).\n * @param epochMillis\n */\nexport function millisToHrTime(epochMillis: number): api.HrTime {\n const epochSeconds = epochMillis / 1000;\n // Decimals only.\n const seconds = Math.trunc(epochSeconds);\n // Round sub-nanosecond accuracy to nanosecond.\n const nanos = Math.round((epochMillis % 1000) * MILLISECONDS_TO_NANOSECONDS);\n return [seconds, nanos];\n}\n\n/**\n * @deprecated Use `performance.timeOrigin` directly.\n */\nexport function getTimeOrigin(): number {\n return performance.timeOrigin;\n}\n\n/**\n * Returns an hrtime calculated via performance component.\n * @param performanceNow\n */\nexport function hrTime(performanceNow?: number): api.HrTime {\n const timeOrigin = millisToHrTime(performance.timeOrigin);\n const now = millisToHrTime(\n typeof performanceNow === 'number' ? performanceNow : performance.now()\n );\n\n return addHrTimes(timeOrigin, now);\n}\n\n/**\n *\n * Converts a TimeInput to an HrTime, defaults to _hrtime().\n * @param time\n */\nexport function timeInputToHrTime(time: api.TimeInput): api.HrTime {\n // process.hrtime\n if (isTimeInputHrTime(time)) {\n return time as api.HrTime;\n } else if (typeof time === 'number') {\n // Must be a performance.now() if it's smaller than process start time.\n if (time < performance.timeOrigin) {\n return hrTime(time);\n } else {\n // epoch milliseconds or performance.timeOrigin\n return millisToHrTime(time);\n }\n } else if (time instanceof Date) {\n return millisToHrTime(time.getTime());\n } else {\n throw TypeError('Invalid input type');\n }\n}\n\n/**\n * Returns a duration of two hrTime.\n * @param startTime\n * @param endTime\n */\nexport function hrTimeDuration(\n startTime: api.HrTime,\n endTime: api.HrTime\n): api.HrTime {\n let seconds = endTime[0] - startTime[0];\n let nanos = endTime[1] - startTime[1];\n\n // overflow\n if (nanos < 0) {\n seconds -= 1;\n // negate\n nanos += SECOND_TO_NANOSECONDS;\n }\n\n return [seconds, nanos];\n}\n\n/**\n * Convert hrTime to timestamp, for example \"2019-05-14T17:00:00.000123456Z\"\n * @param time\n */\nexport function hrTimeToTimeStamp(time: api.HrTime): string {\n const precision = NANOSECOND_DIGITS;\n const tmp = `${'0'.repeat(precision)}${time[1]}Z`;\n const nanoString = tmp.substring(tmp.length - precision - 1);\n const date = new Date(time[0] * 1000).toISOString();\n return date.replace('000Z', nanoString);\n}\n\n/**\n * Convert hrTime to nanoseconds.\n * @param time\n */\nexport function hrTimeToNanoseconds(time: api.HrTime): number {\n return time[0] * SECOND_TO_NANOSECONDS + time[1];\n}\n\n/**\n * Convert hrTime to microseconds.\n * @param time\n */\nexport function hrTimeToMicroseconds(time: api.HrTime): number {\n return time[0] * 1e6 + time[1] / 1e3;\n}\n\n/**\n * Convert hrTime to milliseconds.\n * @param time\n */\nexport function hrTimeToMilliseconds(time: api.HrTime): number {\n return time[0] * 1e3 + time[1] / 1e6;\n}\n\n/**\n * Convert hrTime to seconds.\n * @param time\n */\nexport function hrTimeToSeconds(time: api.HrTime): number {\n return time[0] + time[1] / SECOND_TO_NANOSECONDS;\n}\n/**\n * check if time is HrTime\n * @param value\n */\nexport function isTimeInputHrTime(value: unknown): value is api.HrTime {\n return (\n Array.isArray(value) &&\n value.length === 2 &&\n typeof value[0] === 'number' &&\n typeof value[1] === 'number'\n );\n}\n\n/**\n * check if input value is a correct types.TimeInput\n * @param value\n */\nexport function isTimeInput(\n value: unknown\n): value is api.HrTime | number | Date {\n return (\n isTimeInputHrTime(value) ||\n typeof value === 'number' ||\n value instanceof Date\n );\n}\n\n/**\n * Given 2 HrTime formatted times, return their sum as an HrTime.\n */\nexport function addHrTimes(time1: api.HrTime, time2: api.HrTime): api.HrTime {\n const out = [time1[0] + time2[0], time1[1] + time2[1]] as api.HrTime;\n\n // Nanoseconds\n if (out[1] >= SECOND_TO_NANOSECONDS) {\n out[1] -= SECOND_TO_NANOSECONDS;\n out[0] += 1;\n }\n\n return out;\n}\n"]}
@@ -4,7 +4,7 @@ export type { Clock } from './common/anchored-clock';
4
4
  export { isAttributeValue, sanitizeAttributes } from './common/attributes';
5
5
  export { globalErrorHandler, setGlobalErrorHandler, } from './common/global-error-handler';
6
6
  export { loggingErrorHandler } from './common/logging-error-handler';
7
- export { addHrTimes, getTimeOrigin, hrTime, hrTimeDuration, hrTimeToMicroseconds, hrTimeToMilliseconds, hrTimeToNanoseconds, hrTimeToTimeStamp, isTimeInput, isTimeInputHrTime, millisToHrTime, timeInputToHrTime, } from './common/time';
7
+ export { addHrTimes, getTimeOrigin, hrTime, hrTimeDuration, hrTimeToMicroseconds, hrTimeToMilliseconds, hrTimeToNanoseconds, hrTimeToSeconds, hrTimeToTimeStamp, isTimeInput, isTimeInputHrTime, millisToHrTime, timeInputToHrTime, } from './common/time';
8
8
  export { unrefTimer } from './common/timer-util';
9
9
  export type { ErrorHandler, InstrumentationScope } from './common/types';
10
10
  export { ExportResultCode } from './ExportResult';
@@ -7,7 +7,7 @@ export { AnchoredClock } from './common/anchored-clock';
7
7
  export { isAttributeValue, sanitizeAttributes } from './common/attributes';
8
8
  export { globalErrorHandler, setGlobalErrorHandler, } from './common/global-error-handler';
9
9
  export { loggingErrorHandler } from './common/logging-error-handler';
10
- export { addHrTimes, getTimeOrigin, hrTime, hrTimeDuration, hrTimeToMicroseconds, hrTimeToMilliseconds, hrTimeToNanoseconds, hrTimeToTimeStamp, isTimeInput, isTimeInputHrTime, millisToHrTime, timeInputToHrTime, } from './common/time';
10
+ export { addHrTimes, getTimeOrigin, hrTime, hrTimeDuration, hrTimeToMicroseconds, hrTimeToMilliseconds, hrTimeToNanoseconds, hrTimeToSeconds, hrTimeToTimeStamp, isTimeInput, isTimeInputHrTime, millisToHrTime, timeInputToHrTime, } from './common/time';
11
11
  export { unrefTimer } from './common/timer-util';
12
12
  export { ExportResultCode } from './ExportResult';
13
13
  export { parseKeyPairsIntoRecord } from './baggage/utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EACL,UAAU,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO;CACR,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport { W3CBaggagePropagator } from './baggage/propagation/W3CBaggagePropagator';\nexport { AnchoredClock } from './common/anchored-clock';\nexport type { Clock } from './common/anchored-clock';\nexport { isAttributeValue, sanitizeAttributes } from './common/attributes';\nexport {\n globalErrorHandler,\n setGlobalErrorHandler,\n} from './common/global-error-handler';\nexport { loggingErrorHandler } from './common/logging-error-handler';\nexport {\n addHrTimes,\n getTimeOrigin,\n hrTime,\n hrTimeDuration,\n hrTimeToMicroseconds,\n hrTimeToMilliseconds,\n hrTimeToNanoseconds,\n hrTimeToTimeStamp,\n isTimeInput,\n isTimeInputHrTime,\n millisToHrTime,\n timeInputToHrTime,\n} from './common/time';\nexport { unrefTimer } from './common/timer-util';\nexport type { ErrorHandler, InstrumentationScope } from './common/types';\nexport { ExportResultCode } from './ExportResult';\nexport type { ExportResult } from './ExportResult';\nexport { parseKeyPairsIntoRecord } from './baggage/utils';\nexport {\n SDK_INFO,\n _globalThis,\n getStringFromEnv,\n getBooleanFromEnv,\n getNumberFromEnv,\n getStringListFromEnv,\n otperformance,\n} from './platform';\nexport { CompositePropagator } from './propagation/composite';\nexport type { CompositePropagatorConfig } from './propagation/composite';\nexport {\n TRACE_PARENT_HEADER,\n TRACE_STATE_HEADER,\n W3CTraceContextPropagator,\n parseTraceParent,\n} from './trace/W3CTraceContextPropagator';\nexport {\n RPCType,\n deleteRPCMetadata,\n getRPCMetadata,\n setRPCMetadata,\n} from './trace/rpc-metadata';\nexport type { RPCMetadata } from './trace/rpc-metadata';\nexport {\n isTracingSuppressed,\n suppressTracing,\n unsuppressTracing,\n} from './trace/suppress-tracing';\nexport { TraceState } from './trace/TraceState';\nexport { merge } from './utils/merge';\nexport { TimeoutError, callWithTimeout } from './utils/timeout';\nexport { isUrlIgnored, urlMatches } from './utils/url';\nexport { BindOnceFuture } from './utils/callback';\nexport { diagLogLevelFromString } from './utils/configuration';\nimport { _export } from './internal/exporter';\nexport const internal = {\n _export,\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EACL,UAAU,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO;CACR,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport { W3CBaggagePropagator } from './baggage/propagation/W3CBaggagePropagator';\nexport { AnchoredClock } from './common/anchored-clock';\nexport type { Clock } from './common/anchored-clock';\nexport { isAttributeValue, sanitizeAttributes } from './common/attributes';\nexport {\n globalErrorHandler,\n setGlobalErrorHandler,\n} from './common/global-error-handler';\nexport { loggingErrorHandler } from './common/logging-error-handler';\nexport {\n addHrTimes,\n getTimeOrigin,\n hrTime,\n hrTimeDuration,\n hrTimeToMicroseconds,\n hrTimeToMilliseconds,\n hrTimeToNanoseconds,\n hrTimeToSeconds,\n hrTimeToTimeStamp,\n isTimeInput,\n isTimeInputHrTime,\n millisToHrTime,\n timeInputToHrTime,\n} from './common/time';\nexport { unrefTimer } from './common/timer-util';\nexport type { ErrorHandler, InstrumentationScope } from './common/types';\nexport { ExportResultCode } from './ExportResult';\nexport type { ExportResult } from './ExportResult';\nexport { parseKeyPairsIntoRecord } from './baggage/utils';\nexport {\n SDK_INFO,\n _globalThis,\n getStringFromEnv,\n getBooleanFromEnv,\n getNumberFromEnv,\n getStringListFromEnv,\n otperformance,\n} from './platform';\nexport { CompositePropagator } from './propagation/composite';\nexport type { CompositePropagatorConfig } from './propagation/composite';\nexport {\n TRACE_PARENT_HEADER,\n TRACE_STATE_HEADER,\n W3CTraceContextPropagator,\n parseTraceParent,\n} from './trace/W3CTraceContextPropagator';\nexport {\n RPCType,\n deleteRPCMetadata,\n getRPCMetadata,\n setRPCMetadata,\n} from './trace/rpc-metadata';\nexport type { RPCMetadata } from './trace/rpc-metadata';\nexport {\n isTracingSuppressed,\n suppressTracing,\n unsuppressTracing,\n} from './trace/suppress-tracing';\nexport { TraceState } from './trace/TraceState';\nexport { merge } from './utils/merge';\nexport { TimeoutError, callWithTimeout } from './utils/timeout';\nexport { isUrlIgnored, urlMatches } from './utils/url';\nexport { BindOnceFuture } from './utils/callback';\nexport { diagLogLevelFromString } from './utils/configuration';\nimport { _export } from './internal/exporter';\nexport const internal = {\n _export,\n};\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.7.1";
1
+ export declare const VERSION = "2.8.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  // this is autogenerated file, see scripts/version-update.js
6
- export const VERSION = '2.7.1';
6
+ export const VERSION = '2.8.0';
7
7
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.7.1';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.8.0';\n"]}
@@ -4,8 +4,8 @@
4
4
  */
5
5
  import { propagation } from '@opentelemetry/api';
6
6
  import { isTracingSuppressed } from '../../trace/suppress-tracing';
7
- import { BAGGAGE_HEADER, BAGGAGE_ITEMS_SEPARATOR, BAGGAGE_MAX_NAME_VALUE_PAIRS, BAGGAGE_MAX_PER_NAME_VALUE_PAIRS, } from '../constants';
8
- import { getKeyPairs, parsePairKeyValue, serializeKeyPairs } from '../utils';
7
+ import { BAGGAGE_HEADER, BAGGAGE_MAX_NAME_VALUE_PAIRS, BAGGAGE_MAX_PER_NAME_VALUE_PAIRS, } from '../constants';
8
+ import { getKeyPairs, parseBaggageHeaderString, serializeKeyPairs, } from '../utils';
9
9
  /**
10
10
  * Propagates {@link Baggage} through Context format propagation.
11
11
  *
@@ -29,27 +29,21 @@ export class W3CBaggagePropagator {
29
29
  }
30
30
  extract(context, carrier, getter) {
31
31
  const headerValue = getter.get(carrier, BAGGAGE_HEADER);
32
- const baggageString = Array.isArray(headerValue)
33
- ? headerValue.join(BAGGAGE_ITEMS_SEPARATOR)
34
- : headerValue;
35
- if (!baggageString)
36
- return context;
37
- const baggage = {};
38
- if (baggageString.length === 0) {
32
+ if (!headerValue) {
39
33
  return context;
40
34
  }
41
- const pairs = baggageString.split(BAGGAGE_ITEMS_SEPARATOR);
42
- pairs.forEach(entry => {
43
- const keyPair = parsePairKeyValue(entry);
44
- if (keyPair) {
45
- const baggageEntry = { value: keyPair.value };
46
- if (keyPair.metadata) {
47
- baggageEntry.metadata = keyPair.metadata;
48
- }
49
- baggage[keyPair.key] = baggageEntry;
35
+ const baggage = {};
36
+ let count = 0;
37
+ let totalSize = 0;
38
+ if (Array.isArray(headerValue)) {
39
+ for (let i = 0; i < headerValue.length; i++) {
40
+ [count, totalSize] = parseBaggageHeaderString(headerValue[i], baggage, count, totalSize);
50
41
  }
51
- });
52
- if (Object.entries(baggage).length === 0) {
42
+ }
43
+ else {
44
+ [count] = parseBaggageHeaderString(headerValue, baggage, count, totalSize);
45
+ }
46
+ if (count === 0) {
53
47
  return context;
54
48
  }
55
49
  return propagation.setBaggage(context, propagation.createBaggage(baggage));
@@ -1 +1 @@
1
- {"version":3,"file":"W3CBaggagePropagator.js","sourceRoot":"","sources":["../../../../src/baggage/propagation/W3CBaggagePropagator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,OAAgB,EAAE,OAAgB,EAAE,MAAqB;QAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC;YAAE,OAAO;QACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;aAClC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,IAAI,gCAAgC,CAAC;QACzD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;SAClD;IACH,CAAC;IAED,OAAO,CAAC,OAAgB,EAAE,OAAgB,EAAE,MAAqB;QAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC3C,CAAC,CAAC,WAAW,CAAC;QAChB,IAAI,CAAC,aAAa;YAAE,OAAO,OAAO,CAAC;QACnC,MAAM,OAAO,GAAiC,EAAE,CAAC;QACjD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,OAAO,CAAC;SAChB;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,OAAO,EAAE;gBACX,MAAM,YAAY,GAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC5D,IAAI,OAAO,CAAC,QAAQ,EAAE;oBACpB,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;iBAC1C;gBACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n BaggageEntry,\n Context,\n TextMapGetter,\n TextMapPropagator,\n TextMapSetter,\n} from '@opentelemetry/api';\nimport { propagation } from '@opentelemetry/api';\n\nimport { isTracingSuppressed } from '../../trace/suppress-tracing';\nimport {\n BAGGAGE_HEADER,\n BAGGAGE_ITEMS_SEPARATOR,\n BAGGAGE_MAX_NAME_VALUE_PAIRS,\n BAGGAGE_MAX_PER_NAME_VALUE_PAIRS,\n} from '../constants';\nimport { getKeyPairs, parsePairKeyValue, serializeKeyPairs } from '../utils';\n\n/**\n * Propagates {@link Baggage} through Context format propagation.\n *\n * Based on the Baggage specification:\n * https://w3c.github.io/baggage/\n */\nexport class W3CBaggagePropagator implements TextMapPropagator {\n inject(context: Context, carrier: unknown, setter: TextMapSetter): void {\n const baggage = propagation.getBaggage(context);\n if (!baggage || isTracingSuppressed(context)) return;\n const keyPairs = getKeyPairs(baggage)\n .filter((pair: string) => {\n return pair.length <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;\n })\n .slice(0, BAGGAGE_MAX_NAME_VALUE_PAIRS);\n const headerValue = serializeKeyPairs(keyPairs);\n if (headerValue.length > 0) {\n setter.set(carrier, BAGGAGE_HEADER, headerValue);\n }\n }\n\n extract(context: Context, carrier: unknown, getter: TextMapGetter): Context {\n const headerValue = getter.get(carrier, BAGGAGE_HEADER);\n const baggageString = Array.isArray(headerValue)\n ? headerValue.join(BAGGAGE_ITEMS_SEPARATOR)\n : headerValue;\n if (!baggageString) return context;\n const baggage: Record<string, BaggageEntry> = {};\n if (baggageString.length === 0) {\n return context;\n }\n const pairs = baggageString.split(BAGGAGE_ITEMS_SEPARATOR);\n pairs.forEach(entry => {\n const keyPair = parsePairKeyValue(entry);\n if (keyPair) {\n const baggageEntry: BaggageEntry = { value: keyPair.value };\n if (keyPair.metadata) {\n baggageEntry.metadata = keyPair.metadata;\n }\n baggage[keyPair.key] = baggageEntry;\n }\n });\n if (Object.entries(baggage).length === 0) {\n return context;\n }\n return propagation.setBaggage(context, propagation.createBaggage(baggage));\n }\n\n fields(): string[] {\n return [BAGGAGE_HEADER];\n }\n}\n"]}
1
+ {"version":3,"file":"W3CBaggagePropagator.js","sourceRoot":"","sources":["../../../../src/baggage/propagation/W3CBaggagePropagator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAElB;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,OAAgB,EAAE,OAAgB,EAAE,MAAqB;QAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC;YAAE,OAAO;QACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;aAClC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,IAAI,gCAAgC,CAAC;QACzD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;SAClD;IACH,CAAC;IAED,OAAO,CAAC,OAAgB,EAAE,OAAgB,EAAE,MAAqB;QAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,OAAO,CAAC;SAChB;QAED,MAAM,OAAO,GAAiC,EAAE,CAAC;QACjD,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,wBAAwB,CAC3C,WAAW,CAAC,CAAC,CAAC,EACd,OAAO,EACP,KAAK,EACL,SAAS,CACV,CAAC;aACH;SACF;aAAM;YACL,CAAC,KAAK,CAAC,GAAG,wBAAwB,CAChC,WAAW,EACX,OAAO,EACP,KAAK,EACL,SAAS,CACV,CAAC;SACH;QAED,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,OAAO,CAAC;SAChB;QAED,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n BaggageEntry,\n Context,\n TextMapGetter,\n TextMapPropagator,\n TextMapSetter,\n} from '@opentelemetry/api';\nimport { propagation } from '@opentelemetry/api';\n\nimport { isTracingSuppressed } from '../../trace/suppress-tracing';\nimport {\n BAGGAGE_HEADER,\n BAGGAGE_MAX_NAME_VALUE_PAIRS,\n BAGGAGE_MAX_PER_NAME_VALUE_PAIRS,\n} from '../constants';\nimport {\n getKeyPairs,\n parseBaggageHeaderString,\n serializeKeyPairs,\n} from '../utils';\n\n/**\n * Propagates {@link Baggage} through Context format propagation.\n *\n * Based on the Baggage specification:\n * https://w3c.github.io/baggage/\n */\nexport class W3CBaggagePropagator implements TextMapPropagator {\n inject(context: Context, carrier: unknown, setter: TextMapSetter): void {\n const baggage = propagation.getBaggage(context);\n if (!baggage || isTracingSuppressed(context)) return;\n const keyPairs = getKeyPairs(baggage)\n .filter((pair: string) => {\n return pair.length <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;\n })\n .slice(0, BAGGAGE_MAX_NAME_VALUE_PAIRS);\n const headerValue = serializeKeyPairs(keyPairs);\n if (headerValue.length > 0) {\n setter.set(carrier, BAGGAGE_HEADER, headerValue);\n }\n }\n\n extract(context: Context, carrier: unknown, getter: TextMapGetter): Context {\n const headerValue = getter.get(carrier, BAGGAGE_HEADER);\n if (!headerValue) {\n return context;\n }\n\n const baggage: Record<string, BaggageEntry> = {};\n let count = 0;\n\n let totalSize = 0;\n if (Array.isArray(headerValue)) {\n for (let i = 0; i < headerValue.length; i++) {\n [count, totalSize] = parseBaggageHeaderString(\n headerValue[i],\n baggage,\n count,\n totalSize\n );\n }\n } else {\n [count] = parseBaggageHeaderString(\n headerValue,\n baggage,\n count,\n totalSize\n );\n }\n\n if (count === 0) {\n return context;\n }\n\n return propagation.setBaggage(context, propagation.createBaggage(baggage));\n }\n\n fields(): string[] {\n return [BAGGAGE_HEADER];\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { Baggage, BaggageEntryMetadata } from '@opentelemetry/api';
1
+ import type { Baggage, BaggageEntry, BaggageEntryMetadata } from '@opentelemetry/api';
2
2
  type ParsedBaggageKeyValue = {
3
3
  key: string;
4
4
  value: string;
@@ -7,6 +7,12 @@ type ParsedBaggageKeyValue = {
7
7
  export declare function serializeKeyPairs(keyPairs: string[]): string;
8
8
  export declare function getKeyPairs(baggage: Baggage): string[];
9
9
  export declare function parsePairKeyValue(entry: string): ParsedBaggageKeyValue | undefined;
10
+ /**
11
+ * Parses a single baggage header string into the provided record, applying limits defined in this package.
12
+ * Uses indexOf/substring in a while loop to avoid allocating a full array of split entries.
13
+ * Returns the updated pair count so callers can track totals across multiple header values.
14
+ */
15
+ export declare function parseBaggageHeaderString(value: string, baggage: Record<string, BaggageEntry>, count: number, totalSize: number): [count: number, totalSize: number];
10
16
  /**
11
17
  * Parse a string serialized in the baggage HTTP Format (without metadata):
12
18
  * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md
@@ -1,5 +1,5 @@
1
1
  import { baggageEntryMetadataFromString } from '@opentelemetry/api';
2
- import { BAGGAGE_ITEMS_SEPARATOR, BAGGAGE_PROPERTIES_SEPARATOR, BAGGAGE_KEY_PAIR_SEPARATOR, BAGGAGE_MAX_TOTAL_LENGTH, } from './constants';
2
+ import { BAGGAGE_ITEMS_SEPARATOR, BAGGAGE_PROPERTIES_SEPARATOR, BAGGAGE_KEY_PAIR_SEPARATOR, BAGGAGE_MAX_TOTAL_LENGTH, BAGGAGE_MAX_NAME_VALUE_PAIRS, BAGGAGE_MAX_PER_NAME_VALUE_PAIRS, } from './constants';
3
3
  export function serializeKeyPairs(keyPairs) {
4
4
  return keyPairs.reduce((hValue, current) => {
5
5
  const value = `${hValue}${hValue !== '' ? BAGGAGE_ITEMS_SEPARATOR : ''}${current}`;
@@ -48,6 +48,37 @@ export function parsePairKeyValue(entry) {
48
48
  }
49
49
  return { key, value, metadata };
50
50
  }
51
+ /**
52
+ * Parses a single baggage header string into the provided record, applying limits defined in this package.
53
+ * Uses indexOf/substring in a while loop to avoid allocating a full array of split entries.
54
+ * Returns the updated pair count so callers can track totals across multiple header values.
55
+ */
56
+ export function parseBaggageHeaderString(value, baggage, count, totalSize) {
57
+ let start = 0;
58
+ while (start < value.length && count < BAGGAGE_MAX_NAME_VALUE_PAIRS) {
59
+ const end = value.indexOf(BAGGAGE_ITEMS_SEPARATOR, start);
60
+ const entryEnd = end === -1 ? value.length : end;
61
+ const entryLength = entryEnd - start;
62
+ if (entryLength <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS) {
63
+ const keyPair = parsePairKeyValue(value.substring(start, entryEnd));
64
+ if (keyPair) {
65
+ // Comma separator is counted for every accepted entry after the first
66
+ const entrySize = (count === 0 ? 0 : 1) + entryLength;
67
+ if (totalSize + entrySize > BAGGAGE_MAX_TOTAL_LENGTH)
68
+ break;
69
+ baggage[keyPair.key] = keyPair.metadata
70
+ ? { value: keyPair.value, metadata: keyPair.metadata }
71
+ : { value: keyPair.value };
72
+ count++;
73
+ totalSize += entrySize;
74
+ }
75
+ }
76
+ if (end === -1)
77
+ break;
78
+ start = end + 1;
79
+ }
80
+ return [count, totalSize];
81
+ }
51
82
  /**
52
83
  * Parse a string serialized in the baggage HTTP Format (without metadata):
53
84
  * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/baggage/utils.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { Baggage, BaggageEntryMetadata } from '@opentelemetry/api';\nimport { baggageEntryMetadataFromString } from '@opentelemetry/api';\nimport {\n BAGGAGE_ITEMS_SEPARATOR,\n BAGGAGE_PROPERTIES_SEPARATOR,\n BAGGAGE_KEY_PAIR_SEPARATOR,\n BAGGAGE_MAX_TOTAL_LENGTH,\n} from './constants';\n\ntype ParsedBaggageKeyValue = {\n key: string;\n value: string;\n metadata: BaggageEntryMetadata | undefined;\n};\n\nexport function serializeKeyPairs(keyPairs: string[]): string {\n return keyPairs.reduce((hValue: string, current: string) => {\n const value = `${hValue}${\n hValue !== '' ? BAGGAGE_ITEMS_SEPARATOR : ''\n }${current}`;\n return value.length > BAGGAGE_MAX_TOTAL_LENGTH ? hValue : value;\n }, '');\n}\n\nexport function getKeyPairs(baggage: Baggage): string[] {\n return baggage.getAllEntries().map(([key, value]) => {\n let entry = `${encodeURIComponent(key)}=${encodeURIComponent(value.value)}`;\n\n // include opaque metadata if provided\n // NOTE: we intentionally don't URI-encode the metadata - that responsibility falls on the metadata implementation\n if (value.metadata !== undefined) {\n entry += BAGGAGE_PROPERTIES_SEPARATOR + value.metadata.toString();\n }\n\n return entry;\n });\n}\n\nexport function parsePairKeyValue(\n entry: string\n): ParsedBaggageKeyValue | undefined {\n if (!entry) return;\n const metadataSeparatorIndex = entry.indexOf(BAGGAGE_PROPERTIES_SEPARATOR);\n const keyPairPart =\n metadataSeparatorIndex === -1\n ? entry\n : entry.substring(0, metadataSeparatorIndex);\n\n const separatorIndex = keyPairPart.indexOf(BAGGAGE_KEY_PAIR_SEPARATOR);\n if (separatorIndex <= 0) return;\n\n const rawKey = keyPairPart.substring(0, separatorIndex).trim();\n const rawValue = keyPairPart.substring(separatorIndex + 1).trim();\n\n if (!rawKey || !rawValue) return;\n let key: string;\n let value: string;\n try {\n key = decodeURIComponent(rawKey);\n value = decodeURIComponent(rawValue);\n } catch {\n return;\n }\n\n let metadata;\n if (\n metadataSeparatorIndex !== -1 &&\n metadataSeparatorIndex < entry.length - 1\n ) {\n const metadataString = entry.substring(metadataSeparatorIndex + 1);\n metadata = baggageEntryMetadataFromString(metadataString);\n }\n\n return { key, value, metadata };\n}\n\n/**\n * Parse a string serialized in the baggage HTTP Format (without metadata):\n * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md\n */\nexport function parseKeyPairsIntoRecord(\n value?: string\n): Record<string, string> {\n const result: Record<string, string> = {};\n\n if (typeof value === 'string' && value.length > 0) {\n value.split(BAGGAGE_ITEMS_SEPARATOR).forEach(entry => {\n const keyPair = parsePairKeyValue(entry);\n\n if (keyPair !== undefined && keyPair.value.length > 0) {\n result[keyPair.key] = keyPair.value;\n }\n });\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/baggage/utils.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type {\n Baggage,\n BaggageEntry,\n BaggageEntryMetadata,\n} from '@opentelemetry/api';\nimport { baggageEntryMetadataFromString } from '@opentelemetry/api';\nimport {\n BAGGAGE_ITEMS_SEPARATOR,\n BAGGAGE_PROPERTIES_SEPARATOR,\n BAGGAGE_KEY_PAIR_SEPARATOR,\n BAGGAGE_MAX_TOTAL_LENGTH,\n BAGGAGE_MAX_NAME_VALUE_PAIRS,\n BAGGAGE_MAX_PER_NAME_VALUE_PAIRS,\n} from './constants';\n\ntype ParsedBaggageKeyValue = {\n key: string;\n value: string;\n metadata: BaggageEntryMetadata | undefined;\n};\n\nexport function serializeKeyPairs(keyPairs: string[]): string {\n return keyPairs.reduce((hValue: string, current: string) => {\n const value = `${hValue}${\n hValue !== '' ? BAGGAGE_ITEMS_SEPARATOR : ''\n }${current}`;\n return value.length > BAGGAGE_MAX_TOTAL_LENGTH ? hValue : value;\n }, '');\n}\n\nexport function getKeyPairs(baggage: Baggage): string[] {\n return baggage.getAllEntries().map(([key, value]) => {\n let entry = `${encodeURIComponent(key)}=${encodeURIComponent(value.value)}`;\n\n // include opaque metadata if provided\n // NOTE: we intentionally don't URI-encode the metadata - that responsibility falls on the metadata implementation\n if (value.metadata !== undefined) {\n entry += BAGGAGE_PROPERTIES_SEPARATOR + value.metadata.toString();\n }\n\n return entry;\n });\n}\n\nexport function parsePairKeyValue(\n entry: string\n): ParsedBaggageKeyValue | undefined {\n if (!entry) return;\n const metadataSeparatorIndex = entry.indexOf(BAGGAGE_PROPERTIES_SEPARATOR);\n const keyPairPart =\n metadataSeparatorIndex === -1\n ? entry\n : entry.substring(0, metadataSeparatorIndex);\n\n const separatorIndex = keyPairPart.indexOf(BAGGAGE_KEY_PAIR_SEPARATOR);\n if (separatorIndex <= 0) return;\n\n const rawKey = keyPairPart.substring(0, separatorIndex).trim();\n const rawValue = keyPairPart.substring(separatorIndex + 1).trim();\n\n if (!rawKey || !rawValue) return;\n let key: string;\n let value: string;\n try {\n key = decodeURIComponent(rawKey);\n value = decodeURIComponent(rawValue);\n } catch {\n return;\n }\n\n let metadata;\n if (\n metadataSeparatorIndex !== -1 &&\n metadataSeparatorIndex < entry.length - 1\n ) {\n const metadataString = entry.substring(metadataSeparatorIndex + 1);\n metadata = baggageEntryMetadataFromString(metadataString);\n }\n\n return { key, value, metadata };\n}\n\n/**\n * Parses a single baggage header string into the provided record, applying limits defined in this package.\n * Uses indexOf/substring in a while loop to avoid allocating a full array of split entries.\n * Returns the updated pair count so callers can track totals across multiple header values.\n */\nexport function parseBaggageHeaderString(\n value: string,\n baggage: Record<string, BaggageEntry>,\n count: number,\n totalSize: number\n): [count: number, totalSize: number] {\n let start = 0;\n while (start < value.length && count < BAGGAGE_MAX_NAME_VALUE_PAIRS) {\n const end = value.indexOf(BAGGAGE_ITEMS_SEPARATOR, start);\n const entryEnd = end === -1 ? value.length : end;\n const entryLength = entryEnd - start;\n\n if (entryLength <= BAGGAGE_MAX_PER_NAME_VALUE_PAIRS) {\n const keyPair = parsePairKeyValue(value.substring(start, entryEnd));\n if (keyPair) {\n // Comma separator is counted for every accepted entry after the first\n const entrySize = (count === 0 ? 0 : 1) + entryLength;\n if (totalSize + entrySize > BAGGAGE_MAX_TOTAL_LENGTH) break;\n baggage[keyPair.key] = keyPair.metadata\n ? { value: keyPair.value, metadata: keyPair.metadata }\n : { value: keyPair.value };\n count++;\n totalSize += entrySize;\n }\n }\n\n if (end === -1) break;\n start = end + 1;\n }\n return [count, totalSize];\n}\n\n/**\n * Parse a string serialized in the baggage HTTP Format (without metadata):\n * https://github.com/w3c/baggage/blob/master/baggage/HTTP_HEADER_FORMAT.md\n */\nexport function parseKeyPairsIntoRecord(\n value?: string\n): Record<string, string> {\n const result: Record<string, string> = {};\n\n if (typeof value === 'string' && value.length > 0) {\n value.split(BAGGAGE_ITEMS_SEPARATOR).forEach(entry => {\n const keyPair = parsePairKeyValue(entry);\n\n if (keyPair !== undefined && keyPair.value.length > 0) {\n result[keyPair.key] = keyPair.value;\n }\n });\n }\n\n return result;\n}\n"]}
@@ -35,16 +35,21 @@ export declare function hrTimeToTimeStamp(time: api.HrTime): string;
35
35
  * @param time
36
36
  */
37
37
  export declare function hrTimeToNanoseconds(time: api.HrTime): number;
38
+ /**
39
+ * Convert hrTime to microseconds.
40
+ * @param time
41
+ */
42
+ export declare function hrTimeToMicroseconds(time: api.HrTime): number;
38
43
  /**
39
44
  * Convert hrTime to milliseconds.
40
45
  * @param time
41
46
  */
42
47
  export declare function hrTimeToMilliseconds(time: api.HrTime): number;
43
48
  /**
44
- * Convert hrTime to microseconds.
49
+ * Convert hrTime to seconds.
45
50
  * @param time
46
51
  */
47
- export declare function hrTimeToMicroseconds(time: api.HrTime): number;
52
+ export declare function hrTimeToSeconds(time: api.HrTime): number;
48
53
  /**
49
54
  * check if time is HrTime
50
55
  * @param value
@@ -95,6 +95,13 @@ export function hrTimeToTimeStamp(time) {
95
95
  export function hrTimeToNanoseconds(time) {
96
96
  return time[0] * SECOND_TO_NANOSECONDS + time[1];
97
97
  }
98
+ /**
99
+ * Convert hrTime to microseconds.
100
+ * @param time
101
+ */
102
+ export function hrTimeToMicroseconds(time) {
103
+ return time[0] * 1e6 + time[1] / 1e3;
104
+ }
98
105
  /**
99
106
  * Convert hrTime to milliseconds.
100
107
  * @param time
@@ -103,11 +110,11 @@ export function hrTimeToMilliseconds(time) {
103
110
  return time[0] * 1e3 + time[1] / 1e6;
104
111
  }
105
112
  /**
106
- * Convert hrTime to microseconds.
113
+ * Convert hrTime to seconds.
107
114
  * @param time
108
115
  */
109
- export function hrTimeToMicroseconds(time) {
110
- return time[0] * 1e6 + time[1] / 1e3;
116
+ export function hrTimeToSeconds(time) {
117
+ return time[0] + time[1] / SECOND_TO_NANOSECONDS;
111
118
  }
112
119
  /**
113
120
  * check if time is HrTime