@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
@@ -9,426 +9,719 @@
9
9
 
10
10
  **Protocol Buffers** are a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more, originally designed at Google ([see](https://protobuf.dev/)).
11
11
 
12
- **protobuf.js** is a standalone JavaScript implementation of Protocol Buffers for Node.js and the browser. It works with `.proto` files out of the box, is optimized for fast binary I/O, and supports runtime reflection as well as reflection-free static code generation with strong TypeScript declarations.
12
+ **protobuf.js** is a pure JavaScript implementation with [TypeScript](https://www.typescriptlang.org) support for [Node.js](https://nodejs.org) and the browser. It's easy to use, does not sacrifice on performance, has good conformance and works out of the box with [.proto](https://protobuf.dev/programming-guides/proto3/) files!
13
13
 
14
- ## About
14
+ Contents
15
+ --------
15
16
 
16
- protobuf.js has grown from a personal project into a widely used JavaScript infrastructure library for Protocol Buffers. It is independently maintained, with participation from the upstream Protocol Buffers ecosystem, and is intentionally not tied to any specific vendor platform, commercial service, or schema registry.
17
+ * [Installation](#installation)<br />
18
+ How to include protobuf.js in your project.
17
19
 
18
- If protobuf.js is important to your project or organization, especially if you depend on it commercially, [consider supporting](https://github.com/sponsors/dcodeIO) its ongoing maintenance.
20
+ * [Usage](#usage)<br />
21
+ A brief introduction to using the toolset.
19
22
 
20
- ## Getting started
23
+ * [Valid Message](#valid-message)
24
+ * [Toolset](#toolset)<br />
21
25
 
22
- ### Install
26
+ * [Examples](#examples)<br />
27
+ A few examples to get you started.
23
28
 
24
- ```sh
25
- npm install protobufjs
26
- ```
29
+ * [Using .proto files](#using-proto-files)
30
+ * [Using JSON descriptors](#using-json-descriptors)
31
+ * [Using reflection only](#using-reflection-only)
32
+ * [Using custom classes](#using-custom-classes)
33
+ * [Using services](#using-services)
34
+ * [Usage with TypeScript](#usage-with-typescript)<br />
35
+
36
+ * [Additional documentation](#additional-documentation)<br />
37
+ A list of available documentation resources.
38
+
39
+ * [Performance](#performance)<br />
40
+ A few internals and a benchmark on performance.
27
41
 
28
- The [command line utility](./cli/#readme) for generating reflection bundles, static code and TypeScript declarations is published as an add-on package:
42
+ * [Compatibility](#compatibility)<br />
43
+ Notes on compatibility regarding browsers and optional libraries.
44
+
45
+ * [Building](#building)<br />
46
+ How to build the library and its components yourself.
47
+
48
+ Installation
49
+ ---------------
50
+
51
+ ### Node.js
29
52
 
30
53
  ```sh
31
- npm install --save-dev protobufjs-cli
54
+ npm install protobufjs --save
32
55
  ```
33
56
 
34
- The CLI is a small but capable standalone protobuf.js toolchain. It does not require `protoc`, but also provides `protoc-gen-pbjs` for standard `protoc` plugin workflows.
57
+ ```js
58
+ // Static code + Reflection + .proto parser
59
+ var protobuf = require("protobufjs");
35
60
 
36
- ### Choose a runtime
61
+ // Static code + Reflection
62
+ var protobuf = require("protobufjs/light");
37
63
 
38
- Pick the smallest runtime variant that supports how your application loads schemas and whether it needs reflection at runtime.
64
+ // Static code only
65
+ var protobuf = require("protobufjs/minimal");
66
+ ```
39
67
 
40
- | Import | Includes | Use when
41
- | ----------------------- | ------------------ | --------
42
- | `protobufjs` | Reflection, Parser | You load `.proto` files at runtime
43
- | `protobufjs/light.js` | Reflection | You load JSON bundles or build schemas programmatically
44
- | `protobufjs/minimal.js` | Static runtime | You use generated static code
68
+ The optional [command line utility](./cli/) to generate static code and reflection bundles lives in the `protobufjs-cli` package and can be installed separately:
45
69
 
46
- The full build includes the light build, and the light build includes the minimal runtime.
70
+ ```sh
71
+ npm install protobufjs-cli --save-dev
72
+ ```
47
73
 
48
- ### Browser builds
74
+ ### Browsers
49
75
 
50
- Pick the distribution matching your runtime variant and pin an exact version:
76
+ Pick the variant matching your needs and replace the version tag with the exact [release](https://github.com/protobufjs/protobuf.js/tags) your project depends upon. For example, to use the minified full variant:
51
77
 
52
78
  ```html
53
- <!-- Full -->
54
- <script src="https://cdn.jsdelivr.net/npm/protobufjs@8.X.X/dist/protobuf.min.js"></script>
55
- <!-- Light -->
56
- <script src="https://cdn.jsdelivr.net/npm/protobufjs@8.X.X/dist/light/protobuf.min.js"></script>
57
- <!-- Minimal -->
58
- <script src="https://cdn.jsdelivr.net/npm/protobufjs@8.X.X/dist/minimal/protobuf.min.js"></script>
79
+ <script src="//cdn.jsdelivr.net/npm/protobufjs@7.X.X/dist/protobuf.min.js"></script>
59
80
  ```
60
81
 
61
- Browser builds support CommonJS and AMD loaders and export globally as `window.protobuf`.
82
+ | Distribution | Location
83
+ |--------------|--------------------------------------------------------
84
+ | Full | <https://cdn.jsdelivr.net/npm/protobufjs/dist/>
85
+ | Light | <https://cdn.jsdelivr.net/npm/protobufjs/dist/light/>
86
+ | Minimal | <https://cdn.jsdelivr.net/npm/protobufjs/dist/minimal/>
62
87
 
63
- ## Usage
88
+ All variants support CommonJS and AMD loaders and export globally as `window.protobuf`.
64
89
 
65
- The examples below use this schema:
90
+ Usage
91
+ -----
66
92
 
67
- ```proto
68
- syntax = "proto3";
93
+ Because JavaScript is a dynamically typed language, protobuf.js utilizes the concept of a **valid message** in order to provide the best possible [performance](#performance) (and, as a side product, proper typings):
94
+
95
+ ### Valid message
96
+
97
+ > A valid message is an object (1) not missing any required fields and (2) exclusively composed of JS types understood by the wire format writer.
98
+
99
+ There are two possible types of valid messages and the encoder is able to work with both of these for convenience:
100
+
101
+ * **Message instances** (explicit instances of message classes with default values on their prototype) naturally satisfy the requirements of a valid message and
102
+ * **Plain JavaScript objects** that just so happen to be composed in a way satisfying the requirements of a valid message as well.
103
+
104
+ In a nutshell, the wire format writer understands the following types:
105
+
106
+ | Field type | Expected JS type (create, encode) | Conversion (fromObject)
107
+ |------------|-----------------------------------|------------------------
108
+ | s-/u-/int32<br />s-/fixed32 | `number` (32 bit integer) | <code>value &#124; 0</code> if signed<br />`value >>> 0` if unsigned
109
+ | s-/u-/int64<br />s-/fixed64 | `Long`-like (optimal)<br />`number` (53 bit integer) | `Long.fromValue(value)` with long.js<br />`parseInt(value, 10)` otherwise
110
+ | float<br />double | `number` | `Number(value)`
111
+ | bool | `boolean` | `Boolean(value)`
112
+ | string | `string` | `String(value)`
113
+ | bytes | `Uint8Array` (optimal)<br />`Buffer` (optimal under node)<br />`Array.<number>` (8 bit integers) | `base64.decode(value)` if a `string`<br />`Object` with non-zero `.length` is assumed to be buffer-like
114
+ | enum | `number` (32 bit integer) | Looks up the numeric id if a `string`
115
+ | message | Valid message | `Message.fromObject(value)`
116
+ | repeated T | `Array<T>` | Copy
117
+ | map<K, V> | `Object<K,V>` | Copy
118
+
119
+ * Explicit `undefined` and `null` are considered as not set if the field is optional.
120
+ * Maps are objects where the key is the string representation of the respective value or an 8 characters long hash string for `Long`-likes.
121
+
122
+ ### Toolset
123
+
124
+ With that in mind and again for performance reasons, each message class provides a distinct set of methods with each method doing just one thing. This avoids unnecessary assertions / redundant operations where performance is a concern but also forces a user to perform verification (of plain JavaScript objects that *might* just so happen to be a valid message) explicitly where necessary - for example when dealing with user input.
125
+
126
+ **Note** that `Message` below refers to any message class.
127
+
128
+ * **Message.verify**(message: `Object`): `null|string`<br />
129
+ verifies that a **plain JavaScript object** satisfies the requirements of a valid message and thus can be encoded without issues. Instead of throwing, it returns the error message as a string, if any.
130
+
131
+ ```js
132
+ var payload = "invalid (not an object)";
133
+ var err = AwesomeMessage.verify(payload);
134
+ if (err)
135
+ throw Error(err);
136
+ ```
137
+
138
+ * **Message.encode**(message: `Message|Object` [, writer: `Writer`]): `Writer`<br />
139
+ encodes a **message instance** or valid **plain JavaScript object**. This method does not implicitly verify the message and it's up to the user to make sure that the payload is a valid message.
140
+
141
+ ```js
142
+ var buffer = AwesomeMessage.encode(message).finish();
143
+ ```
144
+
145
+ * **Message.encodeDelimited**(message: `Message|Object` [, writer: `Writer`]): `Writer`<br />
146
+ works like `Message.encode` but additionally prepends the length of the message as a varint.
147
+
148
+ * **Message.decode**(reader: `Reader|Uint8Array`): `Message`<br />
149
+ decodes a buffer to a **message instance**. If required fields are missing, it throws a `util.ProtocolError` with an `instance` property set to the so far decoded message. If the wire format is invalid, it throws an `Error`.
150
+
151
+ ```js
152
+ try {
153
+ var decodedMessage = AwesomeMessage.decode(buffer);
154
+ } catch (e) {
155
+ if (e instanceof protobuf.util.ProtocolError) {
156
+ // e.instance holds the so far decoded message with missing required fields
157
+ } else {
158
+ // wire format is invalid
159
+ }
160
+ }
161
+ ```
162
+
163
+ * **Message.decodeDelimited**(reader: `Reader|Uint8Array`): `Message`<br />
164
+ works like `Message.decode` but additionally reads the length of the message prepended as a varint.
165
+
166
+ * **Message.create**(properties: `Object`): `Message`<br />
167
+ creates a new **message instance** from a set of properties that satisfy the requirements of a valid message. Where applicable, it is recommended to prefer `Message.create` over `Message.fromObject` because it doesn't perform possibly redundant conversion.
168
+
169
+ ```js
170
+ var message = AwesomeMessage.create({ awesomeField: "AwesomeString" });
171
+ ```
69
172
 
173
+ * **Message.fromObject**(object: `Object`): `Message`<br />
174
+ converts any non-valid **plain JavaScript object** to a **message instance** using the conversion steps outlined within the table above.
175
+
176
+ ```js
177
+ var message = AwesomeMessage.fromObject({ awesomeField: 42 });
178
+ // converts awesomeField to a string
179
+ ```
180
+
181
+ * **Message.toObject**(message: `Message` [, options: `ConversionOptions`]): `Object`<br />
182
+ converts a **message instance** to an arbitrary **plain JavaScript object** for interoperability with other libraries or storage. The resulting plain JavaScript object *might* still satisfy the requirements of a valid message depending on the actual conversion options specified, but most of the time it does not.
183
+
184
+ ```js
185
+ var object = AwesomeMessage.toObject(message, {
186
+ enums: String, // enums as string names
187
+ longs: String, // longs as strings (or BigInt for bigint values)
188
+ bytes: String, // bytes as base64 encoded strings
189
+ defaults: true, // includes default values
190
+ arrays: true, // populates empty arrays (repeated fields) even if defaults=false
191
+ objects: true, // populates empty objects (map fields) even if defaults=false
192
+ oneofs: true // includes virtual oneof fields set to the present field's name
193
+ });
194
+ ```
195
+
196
+ For reference, the following diagram aims to display relationships between the different methods and the concept of a valid message:
197
+
198
+ <p align="center"><img alt="Toolset Diagram" src="https://protobufjs.github.io/protobuf.js/toolset.svg" /></p>
199
+
200
+ > In other words: `verify` indicates that calling `create` or `encode` directly on the plain object will [result in a valid message respectively] succeed. `fromObject`, on the other hand, does conversion from a broader range of plain objects to create valid messages. ([ref](https://github.com/protobufjs/protobuf.js/issues/748#issuecomment-291925749))
201
+
202
+ Examples
203
+ --------
204
+
205
+ ### Using .proto files
206
+
207
+ It is possible to load existing .proto files using the full library, which parses and compiles the definitions to ready to use (reflection-based) message classes:
208
+
209
+ ```protobuf
210
+ // awesome.proto
70
211
  package awesomepackage;
212
+ syntax = "proto3";
71
213
 
72
214
  message AwesomeMessage {
73
- string awesome_field = 1;
215
+ string awesome_field = 1; // becomes awesomeField
74
216
  }
75
217
  ```
76
218
 
77
- protobuf.js converts `.proto` field names to camelCase by default, so `awesome_field` is used as `awesomeField` in JavaScript. Use the `keepCase` option when loading or parsing `.proto` files to preserve field names as written.
219
+ ```js
220
+ protobuf.load("awesome.proto", function(err, root) {
221
+ if (err)
222
+ throw err;
78
223
 
79
- ### Load a schema
224
+ // Obtain a message type
225
+ var AwesomeMessage = root.lookupType("awesomepackage.AwesomeMessage");
80
226
 
81
- ```ts
82
- const protobuf = require("protobufjs");
227
+ // Exemplary payload
228
+ var payload = { awesomeField: "AwesomeString" };
83
229
 
84
- const root = await protobuf.load("awesome.proto");
85
- const AwesomeMessage = root.lookupType("awesomepackage.AwesomeMessage");
86
- ```
230
+ // Verify the payload if necessary (i.e. when possibly incomplete or invalid)
231
+ var errMsg = AwesomeMessage.verify(payload);
232
+ if (errMsg)
233
+ throw Error(errMsg);
87
234
 
88
- Optionally use `load()` with a callback, or `loadSync()` for synchronous loading on Node.js.
235
+ // Create a new message
236
+ var message = AwesomeMessage.create(payload); // or use .fromObject if conversion is necessary
89
237
 
90
- ### Encode and decode
238
+ // Encode a message to an Uint8Array (browser) or Buffer (node)
239
+ var buffer = AwesomeMessage.encode(message).finish();
240
+ // ... do something with buffer
91
241
 
92
- ```ts
93
- const payload = { awesomeField: "hello" };
242
+ // Decode an Uint8Array (browser) or Buffer (node) to a message
243
+ var message = AwesomeMessage.decode(buffer);
244
+ // ... do something with message
94
245
 
95
- // Optionally verify if the payload is of uncertain shape
96
- const err = AwesomeMessage.verify(payload);
97
- if (err) throw Error(err);
246
+ // If the application uses length-delimited buffers, there is also encodeDelimited and decodeDelimited.
98
247
 
99
- // Optionally create a message instance from already valid data
100
- const message = AwesomeMessage.create(payload);
248
+ // Maybe convert the message back to a plain object
249
+ var object = AwesomeMessage.toObject(message, {
250
+ longs: String,
251
+ enums: String,
252
+ bytes: String,
253
+ // see ConversionOptions
254
+ });
255
+ });
256
+ ```
101
257
 
102
- const encoded = AwesomeMessage.encode(message).finish();
103
- const decoded = AwesomeMessage.decode(encoded);
258
+ Additionally, promise syntax can be used by omitting the callback, if preferred:
259
+
260
+ ```js
261
+ protobuf.load("awesome.proto")
262
+ .then(function(root) {
263
+ ...
264
+ });
265
+ ```
266
+
267
+ ### Using JSON descriptors
268
+
269
+ The library utilizes JSON descriptors that are equivalent to a .proto definition. For example, the following is identical to the .proto definition seen above:
270
+
271
+ ```json
272
+ // awesome.json
273
+ {
274
+ "nested": {
275
+ "awesomepackage": {
276
+ "nested": {
277
+ "AwesomeMessage": {
278
+ "fields": {
279
+ "awesomeField": {
280
+ "type": "string",
281
+ "id": 1
282
+ }
283
+ }
284
+ }
285
+ }
286
+ }
287
+ }
288
+ }
104
289
  ```
105
290
 
106
- `encode` expects a message instance or equivalent plain object and does not verify input implicitly. Use `verify` for plain objects whose shape is not guaranteed, `create` to create a message instance from already valid data when useful, and `fromObject` when conversion from broader JavaScript objects is needed.
291
+ JSON descriptors closely resemble the internal reflection structure:
107
292
 
108
- Plain objects can be encoded directly when they already use protobuf.js runtime types: numbers for 32-bit numeric fields, booleans for `bool`, strings for `string`, `Uint8Array` or `Buffer` for `bytes`, arrays for repeated fields, and plain objects for maps. Map keys are the string representation of the respective value or an 8-character hash string for 64-bit/`Long` keys.
293
+ | Type (T) | Extends | Type-specific properties
294
+ |--------------------|--------------------|-------------------------
295
+ | *ReflectionObject* | | options
296
+ | *Namespace* | *ReflectionObject* | nested
297
+ | Root | *Namespace* | **nested**
298
+ | Type | *Namespace* | **fields**
299
+ | Enum | *ReflectionObject* | **values**
300
+ | Field | *ReflectionObject* | rule, **type**, **id**
301
+ | MapField | Field | **keyType**
302
+ | OneOf | *ReflectionObject* | **oneof** (array of field names)
303
+ | Service | *Namespace* | **methods**
304
+ | Method | *ReflectionObject* | type, **requestType**, **responseType**, requestStream, responseStream
109
305
 
110
- Install [`long`](https://github.com/dcodeIO/long.js) with protobuf.js when exact 64-bit integer support is required.
306
+ * **Bold properties** are required. *Italic types* are abstract.
307
+ * `T.fromJSON(name, json)` creates the respective reflection object from a JSON descriptor
308
+ * `T#toJSON()` creates a JSON descriptor from the respective reflection object (its name is used as the key within the parent)
111
309
 
112
- ### Convert plain objects
310
+ Exclusively using JSON descriptors instead of .proto files enables the use of just the light library (the parser isn't required in this case).
113
311
 
114
- Conversion is an explicit interoperability boundary. `fromObject` accepts common JavaScript inputs such as enum values by name, base64 bytes, decimal 64-bit strings, `Long`, and `BigInt`; `toObject` lets callers choose the output expected by their application or transport.
312
+ A JSON descriptor can either be loaded the usual way:
115
313
 
116
- ```ts
117
- const message = AwesomeMessage.fromObject({ awesomeField: 42 });
118
- const object = AwesomeMessage.toObject(message, {
119
- longs: String,
120
- enums: String,
121
- bytes: String
314
+ ```js
315
+ protobuf.load("awesome.json", function(err, root) {
316
+ if (err) throw err;
317
+
318
+ // Continue at "Obtain a message type" above
122
319
  });
123
320
  ```
124
321
 
125
- Common `ConversionOptions` are:
322
+ Or it can be loaded inline:
126
323
 
127
- | Option | Effect |
128
- |--------|--------|
129
- | `longs: BigInt` | Converts 64-bit values to bigint values |
130
- | `longs: String` | Converts 64-bit values to decimal strings |
131
- | `longs: Number` | Converts 64-bit values to JS numbers (may lose precision) |
132
- | `enums: String` | Converts enum values to names |
133
- | `bytes: String` | Converts bytes to base64 strings |
134
- | `defaults: true` | Includes default values for unset fields |
135
- | `arrays: true` | Includes empty arrays for repeated fields |
136
- | `objects: true` | Includes empty objects for map fields |
137
- | `oneofs: true` | Includes virtual oneof discriminator properties |
324
+ ```js
325
+ var jsonDescriptor = require("./awesome.json"); // exemplary for node
138
326
 
139
- ## Message API
327
+ var root = protobuf.Root.fromJSON(jsonDescriptor);
140
328
 
141
- Message types expose focused methods for validation, conversion, and binary I/O.
329
+ // Continue at "Obtain a message type" above
330
+ ```
142
331
 
143
- * **encode**(message: `Message | object`, writer?: `Writer`): `Writer`
144
- Encodes a message or equivalent plain object. Call `.finish()` on the returned writer to obtain a buffer.
332
+ ### Using reflection only
145
333
 
146
- * **encodeDelimited**(message: `Message | object`, writer?: `Writer`): `Writer`
147
- Encodes a length-delimited message.
334
+ Both the full and the light library include full reflection support. One could, for example, define the .proto definitions seen in the examples above using just reflection:
148
335
 
149
- * **decode**(reader: `Reader | Uint8Array`): `Message`
150
- Decodes a message from protobuf binary data.
336
+ ```js
337
+ ...
338
+ var Root = protobuf.Root,
339
+ Type = protobuf.Type,
340
+ Field = protobuf.Field;
151
341
 
152
- * **decodeDelimited**(reader: `Reader | Uint8Array`): `Message`
153
- Decodes a length-delimited message.
342
+ var AwesomeMessage = new Type("AwesomeMessage").add(new Field("awesomeField", 1, "string"));
154
343
 
155
- * **create**(properties?: `object`): `Message`
156
- Creates a message instance from already valid data.
344
+ var root = new Root().define("awesomepackage").add(AwesomeMessage);
157
345
 
158
- * **verify**(object: `object`): `null | string`
159
- Checks whether a plain object can be encoded as-is. Returns `null` if valid, otherwise an error message.
346
+ // Continue at "Create a new message" above
347
+ ...
348
+ ```
160
349
 
161
- * **fromObject**(object: `object`): `Message`
162
- Converts broader JavaScript input into a message instance.
350
+ Detailed information on the reflection structure is available within the [API documentation](#additional-documentation).
163
351
 
164
- * **toObject**(message: `Message`, options?: `ConversionOptions`): `object`
165
- Converts a message instance to a configurable plain JavaScript object.
352
+ ### Using custom classes
166
353
 
167
- * **message#toJSON**(): `object`
168
- Converts a message instance to JSON-compatible output using default conversion options.
354
+ Message classes can also be extended with custom functionality and it is also possible to register a custom constructor with a reflected message type:
169
355
 
170
- Length-delimited methods read and write a varint byte length before the message, which is useful for streams and framed protocols.
356
+ ```js
357
+ ...
171
358
 
172
- If required fields are missing while decoding proto2 data, `decode` throws `protobuf.util.ProtocolError` with the partially decoded message available as `err.instance`.
359
+ // Define a custom constructor
360
+ function AwesomeMessage(properties) {
361
+ // custom initialization code
362
+ ...
363
+ }
173
364
 
174
- ## Code generation
365
+ // Register the custom constructor with its reflected type (*)
366
+ root.lookupType("awesomepackage.AwesomeMessage").ctor = AwesomeMessage;
175
367
 
176
- Choose the integration style that fits your workflow and use [`protobufjs-cli`](./cli/#readme) to generate reflection bundles, static JavaScript code, and matching TypeScript declarations, either standalone with `pbjs` or through its `protoc-gen-pbjs` plugin for `protoc`.
368
+ // Define custom functionality
369
+ AwesomeMessage.customStaticMethod = function() { ... };
370
+ AwesomeMessage.prototype.customInstanceMethod = function() { ... };
177
371
 
178
- Reflection keeps schemas as JSON metadata and generates optimized functions at runtime. Static code emits schema-specific, reflection-free functions ahead of time. The main tradeoffs are how schemas are loaded, how bundle size scales with schema size, and whether reflection metadata should remain available at runtime.
372
+ // Continue at "Create a new message" above
373
+ ```
179
374
 
180
- | Target | Output | Minimum Runtime |
181
- |--------|--------|-----------------|
182
- | `json` | JSON bundle | `protobufjs/light.js` |
183
- | `json-module` | JSON bundle module | `protobufjs/light.js` |
184
- | `static-module` | Static code module | `protobufjs/minimal.js` |
375
+ (*) Besides referencing its reflected type through `AwesomeMessage.$type` and `AwesomeMesage#$type`, the respective custom class is automatically populated with:
185
376
 
186
- Module targets support `--wrap default` for CommonJS and AMD, plus `esm`, `commonjs`, `amd`, and `closure`; `--wrap` can also load a custom wrapper module.
377
+ * `AwesomeMessage.create`
378
+ * `AwesomeMessage.encode` and `AwesomeMessage.encodeDelimited`
379
+ * `AwesomeMessage.decode` and `AwesomeMessage.decodeDelimited`
380
+ * `AwesomeMessage.verify`
381
+ * `AwesomeMessage.fromObject`, `AwesomeMessage.toObject` and `AwesomeMessage#toJSON`
187
382
 
188
- ### Static modules
383
+ Afterwards, decoded messages of this type are `instanceof AwesomeMessage`.
189
384
 
190
- Static modules emit dedicated JavaScript for your schema, so they only need `protobufjs/minimal.js` at runtime.
385
+ Alternatively, it is also possible to reuse and extend the internal constructor if custom initialization code is not required:
191
386
 
192
- ```sh
193
- npx pbjs -t static-module -w esm -o awesome.js --dts awesome.proto
194
- ```
387
+ ```js
388
+ ...
195
389
 
196
- ```ts
197
- import { awesomepackage } from "./awesome.js";
390
+ // Reuse the internal constructor
391
+ var AwesomeMessage = root.lookupType("awesomepackage.AwesomeMessage").ctor;
198
392
 
199
- const message = awesomepackage.AwesomeMessage.create({ awesomeField: "hello" });
393
+ // Define custom functionality
394
+ AwesomeMessage.customStaticMethod = function() { ... };
395
+ AwesomeMessage.prototype.customInstanceMethod = function() { ... };
396
+
397
+ // Continue at "Create a new message" above
200
398
  ```
201
399
 
202
- ### Reflection bundles
400
+ ### Using services
203
401
 
204
- Bundling schemas avoids reparsing `.proto` files at runtime and can reduce browser requests when schemas would otherwise be loaded separately. While reflection requires at least `protobufjs/light.js`, large schemas often produce smaller bundles than equivalent static modules because most code is shared via reflection.
402
+ The library also supports consuming services but it doesn't make any assumptions about the actual transport channel. Instead, a user must provide a suitable RPC implementation, which is an asynchronous function that takes the reflected service method, the binary request and a node-style callback as its parameters:
205
403
 
206
- ```sh
207
- npx pbjs -t json -o awesome.json awesome1.proto awesome2.proto ...
404
+ ```js
405
+ function rpcImpl(method, requestData, callback) {
406
+ // perform the request using an HTTP request or a WebSocket for example
407
+ var responseData = ...;
408
+ // and call the callback with the binary response afterwards:
409
+ callback(null, responseData);
410
+ }
208
411
  ```
209
412
 
413
+ Below is a working example with a typescript implementation using grpc npm package.
210
414
  ```ts
211
- const bundle = require("./awesome.json");
415
+ const grpc = require('grpc')
416
+
417
+ const Client = grpc.makeGenericClientConstructor({})
418
+ const client = new Client(
419
+ grpcServerUrl,
420
+ grpc.credentials.createInsecure()
421
+ )
422
+
423
+ const rpcImpl = function(method, requestData, callback) {
424
+ client.makeUnaryRequest(
425
+ method.name,
426
+ arg => arg,
427
+ arg => arg,
428
+ requestData,
429
+ callback
430
+ )
431
+ }
432
+ ```
433
+
434
+ Example:
435
+
436
+ ```protobuf
437
+ // greeter.proto
438
+ syntax = "proto3";
212
439
 
213
- const root = protobuf.Root.fromJSON(bundle);
214
- const AwesomeMessage = root.lookupType("awesomepackage.AwesomeMessage");
440
+ service Greeter {
441
+ rpc SayHello (HelloRequest) returns (HelloReply) {}
442
+ }
443
+
444
+ message HelloRequest {
445
+ string name = 1;
446
+ }
447
+
448
+ message HelloReply {
449
+ string message = 1;
450
+ }
215
451
  ```
216
452
 
217
- ```sh
218
- npx pbjs -t json-module -w esm -o awesome.js --dts awesome.proto
453
+ ```js
454
+ ...
455
+ var Greeter = root.lookup("Greeter");
456
+ var greeter = Greeter.create(/* see above */ rpcImpl, /* request delimited? */ false, /* response delimited? */ false);
457
+
458
+ greeter.sayHello({ name: 'you' }, function(err, response) {
459
+ console.log('Greeting:', response.message);
460
+ });
219
461
  ```
220
462
 
221
- ```ts
222
- import { awesomepackage } from "./awesome.js";
463
+ Services also support promises:
223
464
 
224
- const AwesomeMessage = awesomepackage.AwesomeMessage;
465
+ ```js
466
+ greeter.sayHello({ name: 'you' })
467
+ .then(function(response) {
468
+ console.log('Greeting:', response.message);
469
+ });
225
470
  ```
226
471
 
227
- JSON modules export the reflection root and, with `-w esm`, also provide top-level named exports that align with static modules. Their declarations mirror `static-module` typings, but because JSON modules are backed by reflection objects, message instances should be created with `MyMessage.create(...)` instead of constructors. Code using `create(...)` works with static modules as well.
472
+ There is also an [example for streaming RPC](https://github.com/protobufjs/protobuf.js/blob/master/examples/streaming-rpc.js).
228
473
 
229
- ### TypeScript integration
474
+ Note that the service API is meant for clients. Implementing a server-side endpoint pretty much always requires transport channel (i.e. http, websocket, etc.) specific code with the only common denominator being that it decodes and encodes messages.
230
475
 
231
- protobuf.js works with TypeScript out of the box: the runtime API is typed, and generated JavaScript can be paired with strong TypeScript declarations in the same CLI invocation. Generated output is directly usable from JavaScript without a transpile step, and strongly typed in TypeScript projects, with type-checked oneofs and JavaScript-friendly plain-object input.
476
+ ### Usage with TypeScript
232
477
 
233
- For example, given the oneof:
478
+ The library ships with its own [type definitions](https://github.com/protobufjs/protobuf.js/blob/master/index.d.ts) and modern editors like [Visual Studio Code](https://code.visualstudio.com/) will automatically detect and use them for code completion.
234
479
 
235
- ```proto
236
- message Profile {
237
- oneof contact {
238
- string email = 1;
239
- string phone = 2;
240
- }
241
- }
242
- ```
480
+ The npm package depends on [@types/node](https://www.npmjs.com/package/@types/node) because of `Buffer` and [@types/long](https://www.npmjs.com/package/@types/long) because of `Long`. If you are not building for node and/or not using long.js, it should be safe to exclude them manually.
243
481
 
244
- Generated declarations narrow both the `contact` oneof and the concrete values:
482
+ #### Using the JS API
483
+
484
+ The API shown above works pretty much the same with TypeScript. However, because everything is typed, accessing fields on instances of dynamically generated message classes requires either using bracket-notation (i.e. `message["awesomeField"]`) or explicit casts. Alternatively, it is possible to use a [typings file generated for its static counterpart](#pbts-for-typescript).
245
485
 
246
486
  ```ts
247
- const profile = Profile.create({
248
- contact: "email",
249
- email: "hello@example.com"
250
- });
487
+ import { load } from "protobufjs"; // respectively "./node_modules/protobufjs"
251
488
 
252
- if (profile.contact === "email") {
253
- profile.email; // string
254
- }
489
+ load("awesome.proto", function(err, root) {
490
+ if (err)
491
+ throw err;
255
492
 
256
- const decoded = Profile.decode(bytes);
257
- if (decoded.contact === "phone") {
258
- decoded.phone; // string
259
- }
260
- ```
493
+ // example code
494
+ const AwesomeMessage = root.lookupType("awesomepackage.AwesomeMessage");
261
495
 
262
- Plain objects can use the same narrowed shape through a collision-free scoped type:
496
+ let message = AwesomeMessage.create({ awesomeField: "hello" });
497
+ console.log(`message = ${JSON.stringify(message)}`);
263
498
 
264
- ```ts
265
- const object: Profile.$Shape = {
266
- contact: "email",
267
- email: "hello@example.com"
268
- };
269
- ```
499
+ let buffer = AwesomeMessage.encode(message).finish();
500
+ console.log(`buffer = ${Array.prototype.toString.call(buffer)}`);
270
501
 
271
- ## Advanced usage
502
+ let decoded = AwesomeMessage.decode(buffer);
503
+ console.log(`decoded = ${JSON.stringify(decoded)}`);
504
+ });
505
+ ```
272
506
 
273
- ### Programmatic schemas
507
+ #### Using generated static code
274
508
 
275
- The full and light builds can construct schemas directly through reflection:
509
+ If you generated static code to `bundle.js` using the CLI and its type definitions to `bundle.d.ts`, then you can just do:
276
510
 
277
511
  ```ts
278
- const AwesomeMessage = new protobuf.Type("AwesomeMessage")
279
- .add(new protobuf.Field("awesomeField", 1, "string"));
512
+ import { AwesomeMessage } from "./bundle.js";
280
513
 
281
- const root = new protobuf.Root()
282
- .define("awesomepackage")
283
- .add(AwesomeMessage);
514
+ // example code
515
+ let message = AwesomeMessage.create({ awesomeField: "hello" });
516
+ let buffer = AwesomeMessage.encode(message).finish();
517
+ let decoded = AwesomeMessage.decode(buffer);
284
518
  ```
285
519
 
286
- ### Custom message classes
520
+ #### Using decorators
521
+
522
+ The library also includes an early implementation of [decorators](https://www.typescriptlang.org/docs/handbook/decorators.html).
287
523
 
288
- A reflected type can use a custom class as its runtime constructor:
524
+ **Note** that decorators are an experimental feature in TypeScript and that declaration order is important depending on the JS target. For example, `@Field.d(2, AwesomeArrayMessage)` requires that `AwesomeArrayMessage` has been defined earlier when targeting `ES5`.
289
525
 
290
526
  ```ts
291
- class AwesomeMessage extends protobuf.Message<AwesomeMessage> {
292
- awesomeField = "";
527
+ import { Message, Type, Field, OneOf } from "protobufjs/light"; // respectively "./node_modules/protobufjs/light.js"
293
528
 
294
- constructor(properties?: protobuf.Properties<AwesomeMessage>) {
295
- super(properties);
296
- // ...
297
- }
529
+ export class AwesomeSubMessage extends Message<AwesomeSubMessage> {
530
+
531
+ @Field.d(1, "string")
532
+ public awesomeString: string;
298
533
 
299
- customInstanceMethod() {
300
- return this.awesomeField.toLowerCase();
301
- }
302
534
  }
303
535
 
304
- root.lookupType("awesomepackage.AwesomeMessage").ctor = AwesomeMessage;
536
+ export enum AwesomeEnum {
537
+ ONE = 1,
538
+ TWO = 2
539
+ }
305
540
 
306
- const decoded = AwesomeMessage.decode(bytes);
307
- decoded.customInstanceMethod(); // string
308
- ```
541
+ @Type.d("SuperAwesomeMessage")
542
+ export class AwesomeMessage extends Message<AwesomeMessage> {
309
543
 
310
- protobuf.js will populate the constructor with the usual static runtime methods and use it for decoded messages. In TypeScript, custom members are visible when using the custom class type in consuming code.
544
+ @Field.d(1, "string", "optional", "awesome default string")
545
+ public awesomeField: string;
311
546
 
312
- ### Services
547
+ @Field.d(2, AwesomeSubMessage)
548
+ public awesomeSubMessage: AwesomeSubMessage;
313
549
 
314
- protobuf.js supports service clients built from reflected service definitions. The service API is transport-agnostic: provide an `rpcImpl` function to connect it to HTTP, WebSocket, gRPC, or another transport. See [examples/streaming-rpc.js](./examples/streaming-rpc.js) for details.
550
+ @Field.d(3, AwesomeEnum, "optional", AwesomeEnum.ONE)
551
+ public awesomeEnum: AwesomeEnum;
315
552
 
316
- ### Descriptors
553
+ @OneOf.d("awesomeSubMessage", "awesomeEnum")
554
+ public which: string;
317
555
 
318
- For `google/protobuf/descriptor.proto` interoperability, see [ext/descriptor](./ext/README.md#descriptor). Note that because protobuf.js does not use `descriptor.proto` internally, options are parsed and presented literally.
556
+ }
319
557
 
320
- ### Text format
558
+ // example code
559
+ let message = new AwesomeMessage({ awesomeField: "hello" });
560
+ let buffer = AwesomeMessage.encode(message).finish();
561
+ let decoded = AwesomeMessage.decode(buffer);
562
+ ```
321
563
 
322
- Protocol Buffers Text Format is supported via [ext/textformat](./ext/README.md#textformat) and exercised by the conformance suite.
564
+ Supported decorators are:
323
565
 
324
- ### Content Security Policy
566
+ * **Type.d(typeName?: `string`)** &nbsp; *(optional)*<br />
567
+ annotates a class as a protobuf message type. If `typeName` is not specified, the constructor's runtime function name is used for the reflected type.
325
568
 
326
- In [CSP](https://w3c.github.io/webappsec-csp/)-restricted environments that disallow unsafe-eval, use generated static code instead of runtime code generation.
569
+ * **Field.d&lt;T>(fieldId: `number`, fieldType: `string | Constructor<T>`, fieldRule?: `"optional" | "required" | "repeated"`, defaultValue?: `T`)**<br />
570
+ annotates a property as a protobuf field with the specified id and protobuf type.
327
571
 
328
- ## Conformance
572
+ * **MapField.d&lt;T extends { [key: string]: any }>(fieldId: `number`, fieldKeyType: `string`, fieldValueType. `string | Constructor<{}>`)**<br />
573
+ annotates a property as a protobuf map field with the specified id, protobuf key and value type.
329
574
 
330
- protobuf.js targets complete binary wire-format conformance for **Proto2**, **Proto3** and **Editions**. CI runs the official Protocol Buffers conformance suite, with logs [uploaded as artifacts](https://github.com/protobufjs/protobuf.js/actions/workflows/test.yml?query=branch%3Amaster+event%3Apush).
575
+ * **OneOf.d&lt;T extends string>(...fieldNames: `string[]`)**<br />
576
+ annotates a property as a protobuf oneof covering the specified fields.
331
577
 
332
- Wire format by syntax:
578
+ Other notes:
333
579
 
334
- | Syntax | Total | Required | Recommended |
335
- | -------- | ------------------: | ----------------: | ----------------: |
336
- | Proto2 | 100.00% (694/694) | 100.00% (485/485) | 100.00% (209/209) |
337
- | Proto3 | 100.00% (689/689) | 100.00% (482/482) | 100.00% (207/207) |
338
- | Editions | 100.00% (1176/1176) | 100.00% (926/926) | 100.00% (250/250) |
580
+ * Decorated types reside in `protobuf.roots["decorated"]` using a flat structure, so no duplicate names.
581
+ * Enums are copied to a reflected enum with a generic name on decorator evaluation because referenced enum objects have no runtime name the decorator could use.
582
+ * Default values must be specified as arguments to the decorator instead of using a property initializer for proper prototype behavior.
583
+ * Property names on decorated classes must not be renamed on compile time (i.e. by a minifier) because decorators just receive the original field name as a string.
339
584
 
340
- ## Performance
585
+ **ProTip!** Not as pretty, but you can [use decorators in plain JavaScript](https://github.com/protobufjs/protobuf.js/blob/master/examples/js-decorators.js) as well.
341
586
 
342
- In both reflection and static modes, protobuf.js builds specialized encoders and decoders instead of interpreting descriptors at runtime.
587
+ Additional documentation
588
+ ------------------------
343
589
 
344
- The repository includes a [small benchmark](./bench). It compares protobuf.js reflection and static code against JSON encode/decode, protoc-gen-js, and protoc-gen-es. Results depend on hardware, Node.js version, and message shape, so they should be treated as indicative rather than absolute.
590
+ #### Protocol Buffers
591
+ * [Google's Developer Guide](https://protobuf.dev/overview/)
345
592
 
346
- <details>
347
- <summary>Benchmark run on AMD Ryzen 9 9950X3D with Node.js 24.15.0</summary>
593
+ #### protobuf.js
594
+ * [API Documentation](https://protobufjs.github.io/protobuf.js)
595
+ * [CHANGELOG](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
596
+ * [Frequently asked questions](https://github.com/protobufjs/protobuf.js/wiki) on our wiki
348
597
 
349
- ```
350
- benchmarking encode performance ...
598
+ #### Community
599
+ * [Questions and answers](http://stackoverflow.com/search?tab=newest&q=protobuf.js) on StackOverflow
351
600
 
352
- protobuf.js reflect x 2,430,103 ops/sec ±0.62% (95 runs sampled)
353
- protobuf.js static x 2,390,407 ops/sec ±0.42% (96 runs sampled)
354
- JSON encode x 2,155,918 ops/sec ±0.63% (92 runs sampled)
355
- protoc-gen-js x 995,429 ops/sec ±0.18% (98 runs sampled)
356
- protoc-gen-es x 403,334 ops/sec ±0.14% (96 runs sampled)
601
+ Performance
602
+ -----------
603
+ The package includes a benchmark that compares protobuf.js performance to native JSON (as far as this is possible) and [Google's JS implementation](https://github.com/google/protobuf/tree/master/js). On an i7-2600K running node 6.9.1 it yields:
357
604
 
358
- protobuf.js reflect was fastest
359
- protobuf.js static was 1.4% ops/sec slower (factor 1.0)
360
- JSON encode was 11.3% ops/sec slower (factor 1.1)
361
- protoc-gen-js was 58.9% ops/sec slower (factor 2.4)
362
- protoc-gen-es was 83.3% ops/sec slower (factor 6.0)
605
+ ```
606
+ benchmarking encoding performance ...
607
+
608
+ protobuf.js (reflect) x 541,707 ops/sec ±1.13% (87 runs sampled)
609
+ protobuf.js (static) x 548,134 ops/sec ±1.38% (89 runs sampled)
610
+ JSON (string) x 318,076 ops/sec ±0.63% (93 runs sampled)
611
+ JSON (buffer) x 179,165 ops/sec ±2.26% (91 runs sampled)
612
+ google-protobuf x 74,406 ops/sec ±0.85% (86 runs sampled)
613
+
614
+ protobuf.js (static) was fastest
615
+ protobuf.js (reflect) was 0.9% ops/sec slower (factor 1.0)
616
+ JSON (string) was 41.5% ops/sec slower (factor 1.7)
617
+ JSON (buffer) was 67.6% ops/sec slower (factor 3.1)
618
+ google-protobuf was 86.4% ops/sec slower (factor 7.3)
619
+
620
+ benchmarking decoding performance ...
621
+
622
+ protobuf.js (reflect) x 1,383,981 ops/sec ±0.88% (93 runs sampled)
623
+ protobuf.js (static) x 1,378,925 ops/sec ±0.81% (93 runs sampled)
624
+ JSON (string) x 302,444 ops/sec ±0.81% (93 runs sampled)
625
+ JSON (buffer) x 264,882 ops/sec ±0.81% (93 runs sampled)
626
+ google-protobuf x 179,180 ops/sec ±0.64% (94 runs sampled)
627
+
628
+ protobuf.js (reflect) was fastest
629
+ protobuf.js (static) was 0.3% ops/sec slower (factor 1.0)
630
+ JSON (string) was 78.1% ops/sec slower (factor 4.6)
631
+ JSON (buffer) was 80.8% ops/sec slower (factor 5.2)
632
+ google-protobuf was 87.0% ops/sec slower (factor 7.7)
633
+
634
+ benchmarking combined performance ...
635
+
636
+ protobuf.js (reflect) x 275,900 ops/sec ±0.78% (90 runs sampled)
637
+ protobuf.js (static) x 290,096 ops/sec ±0.96% (90 runs sampled)
638
+ JSON (string) x 129,381 ops/sec ±0.77% (90 runs sampled)
639
+ JSON (buffer) x 91,051 ops/sec ±0.94% (90 runs sampled)
640
+ google-protobuf x 42,050 ops/sec ±0.85% (91 runs sampled)
641
+
642
+ protobuf.js (static) was fastest
643
+ protobuf.js (reflect) was 4.7% ops/sec slower (factor 1.0)
644
+ JSON (string) was 55.3% ops/sec slower (factor 2.2)
645
+ JSON (buffer) was 68.6% ops/sec slower (factor 3.2)
646
+ google-protobuf was 85.5% ops/sec slower (factor 6.9)
647
+ ```
363
648
 
364
- benchmarking decode performance ...
649
+ These results are achieved by
365
650
 
366
- protobuf.js reflect x 6,440,387 ops/sec ±0.25% (97 runs sampled)
367
- protobuf.js static x 6,463,283 ops/sec ±0.27% (101 runs sampled)
368
- JSON decode x 1,409,923 ops/sec ±0.11% (97 runs sampled)
369
- protoc-gen-js x 947,647 ops/sec ±0.15% (99 runs sampled)
370
- protoc-gen-es x 731,819 ops/sec ±0.28% (98 runs sampled)
651
+ * generating type-specific encoders, decoders, verifiers and converters at runtime
652
+ * configuring the reader/writer interface according to the environment
653
+ * using node-specific functionality where beneficial and, of course
654
+ * avoiding unnecessary operations through splitting up [the toolset](#toolset).
371
655
 
372
- protobuf.js static was fastest
373
- protobuf.js reflect was 0.3% ops/sec slower (factor 1.0)
374
- JSON decode was 78.2% ops/sec slower (factor 4.6)
375
- protoc-gen-js was 85.3% ops/sec slower (factor 6.8)
376
- protoc-gen-es was 88.7% ops/sec slower (factor 8.8)
656
+ You can also run [the benchmark](https://github.com/protobufjs/protobuf.js/blob/master/bench/index.js) ...
377
657
 
378
- benchmarking round-trip performance ...
658
+ ```
659
+ $> npm run bench
660
+ ```
379
661
 
380
- protobuf.js reflect x 1,310,677 ops/sec ±0.21% (97 runs sampled)
381
- protobuf.js static x 1,310,926 ops/sec ±0.26% (101 runs sampled)
382
- JSON encode/decode x 741,714 ops/sec ±0.24% (99 runs sampled)
383
- protoc-gen-js x 472,844 ops/sec ±0.09% (96 runs sampled)
384
- protoc-gen-es x 254,044 ops/sec ±0.05% (101 runs sampled)
662
+ and [the profiler](https://github.com/protobufjs/protobuf.js/blob/master/bench/prof.js) yourself (the latter requires a recent version of node):
385
663
 
386
- protobuf.js reflect was fastest
387
- protobuf.js static was 0.0% ops/sec slower (factor 1.0)
388
- JSON encode/decode was 43.4% ops/sec slower (factor 1.8)
389
- protoc-gen-js was 63.9% ops/sec slower (factor 2.8)
390
- protoc-gen-es was 80.6% ops/sec slower (factor 5.2)
391
664
  ```
392
- </details>
665
+ $> npm run prof <encode|decode|encode-browser|decode-browser> [iterations=10000000]
666
+ ```
393
667
 
394
- Run it locally with:
668
+ Note that as of this writing, the benchmark suite performs significantly slower on node 7.2.0 compared to 6.9.1 because moths.
395
669
 
396
- ```sh
397
- npm --prefix bench install
398
- npm run bench
399
- ```
670
+ Compatibility
671
+ -------------
400
672
 
401
- ## Compatibility
673
+ * Works in all modern and not-so-modern browsers except IE8.
674
+ * Because the internals of this package do not rely on `google/protobuf/descriptor.proto`, options are parsed and presented literally.
675
+ * If typed arrays are not supported by the environment, plain arrays will be used instead.
676
+ * Support for pre-ES5 environments (except IE8) can be achieved by [using a polyfill](https://github.com/protobufjs/protobuf.js/blob/master/lib/polyfill.js).
677
+ * Support for [Content Security Policy](https://w3c.github.io/webappsec-csp/)-restricted environments (like Chrome extensions without unsafe-eval) can be achieved by generating and using static code instead.
678
+ * If a proper way to work with 64 bit values (uint64, int64 etc.) is required, just install [long.js](https://github.com/dcodeIO/long.js) alongside this library. All 64 bit numbers will then be returned as a `Long` instance instead of a possibly unsafe JavaScript number ([see](https://github.com/dcodeIO/long.js)).
679
+ * For descriptor.proto interoperability, see [ext/descriptor](https://github.com/protobufjs/protobuf.js/tree/master/ext/descriptor)
402
680
 
403
- Supported runtimes are browsers, Node.js v12+, Deno and Bun. When using the CLI with Bun, Node.js must also be installed.
681
+ Building
682
+ --------
404
683
 
405
- ## Security
684
+ To build the library or its components yourself, clone it from GitHub and install the development dependencies:
406
685
 
407
- Security-impacting reports are handled through coordinated GitHub Security Advisories where appropriate. See [SECURITY.md](./SECURITY.md) for supported release lines and reporting instructions.
686
+ ```
687
+ $> git clone https://github.com/protobufjs/protobuf.js.git
688
+ $> cd protobuf.js
689
+ $> npm install
690
+ ```
408
691
 
409
- ## Development
692
+ Building the respective development and production versions with their respective source maps to `dist/`:
410
693
 
411
- ```sh
412
- git clone https://github.com/protobufjs/protobuf.js
413
- cd protobuf.js
414
- npm install
415
- npm --prefix cli install
694
+ ```
695
+ $> npm run build
416
696
  ```
417
697
 
418
- Running the tests:
698
+ Building the documentation to `docs/`:
419
699
 
420
- ```sh
421
- npm test
700
+ ```
701
+ $> npm run docs
422
702
  ```
423
703
 
424
- Building the development and production versions with their respective source maps to `dist/`:
704
+ Building the TypeScript definition to `index.d.ts`:
425
705
 
426
- ```sh
427
- npm run build
706
+ ```
707
+ $> npm run build:types
428
708
  ```
429
709
 
430
- ## Additional documentation
710
+ ### Browserify integration
431
711
 
432
- * [API Documentation](https://protobufjs.github.io/protobuf.js)
433
- * [Changelog](./CHANGELOG.md)
434
- * [Protocol Buffers Documentation](https://protobuf.dev/)
712
+ By default, protobuf.js integrates into any browserify build-process without requiring any optional modules. Hence:
713
+
714
+ * If int64 support is required, explicitly require the `long` module somewhere in your project as it will be excluded otherwise. This assumes that a global `require` function is present that protobuf.js can call to obtain the long module.
715
+
716
+ If there is no global `require` function present after bundling, it's also possible to assign the long module programmatically:
717
+
718
+ ```js
719
+ var Long = ...;
720
+
721
+ protobuf.util.Long = Long;
722
+ protobuf.configure();
723
+ ```
724
+
725
+ * If you have any special requirements, there is [the bundler](https://github.com/protobufjs/protobuf.js/blob/master/scripts/bundle.js) for reference.
726
+
727
+ **License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)