@marinoscar/platform-api 0.0.0-stage → 0.1.0-next.3

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 (616) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/LICENSE +21 -0
  3. package/README.md +106 -2
  4. package/dist/core/crypto/encryption-key-startup-check.d.ts +29 -0
  5. package/dist/core/crypto/encryption-key-startup-check.d.ts.map +1 -0
  6. package/dist/core/crypto/encryption-key-startup-check.js +221 -0
  7. package/dist/core/crypto/encryption-key-startup-check.js.map +1 -0
  8. package/dist/core/crypto/secret-cipher.d.ts +151 -0
  9. package/dist/core/crypto/secret-cipher.d.ts.map +1 -0
  10. package/dist/core/crypto/secret-cipher.js +452 -0
  11. package/dist/core/crypto/secret-cipher.js.map +1 -0
  12. package/dist/core/data-access/index.d.ts +6 -0
  13. package/dist/core/data-access/index.d.ts.map +1 -0
  14. package/dist/core/data-access/index.js +19 -0
  15. package/dist/core/data-access/index.js.map +1 -0
  16. package/dist/core/data-access/scoped-access.error.d.ts +35 -0
  17. package/dist/core/data-access/scoped-access.error.d.ts.map +1 -0
  18. package/dist/core/data-access/scoped-access.error.js +43 -0
  19. package/dist/core/data-access/scoped-access.error.js.map +1 -0
  20. package/dist/core/data-access/scoped-client.d.ts +104 -0
  21. package/dist/core/data-access/scoped-client.d.ts.map +1 -0
  22. package/dist/core/data-access/scoped-client.js +270 -0
  23. package/dist/core/data-access/scoped-client.js.map +1 -0
  24. package/dist/core/data-access/types.d.ts +85 -0
  25. package/dist/core/data-access/types.d.ts.map +1 -0
  26. package/dist/core/data-access/types.js +12 -0
  27. package/dist/core/data-access/types.js.map +1 -0
  28. package/dist/core/data-access/user-owned-data.registry.d.ts +60 -0
  29. package/dist/core/data-access/user-owned-data.registry.d.ts.map +1 -0
  30. package/dist/core/data-access/user-owned-data.registry.js +140 -0
  31. package/dist/core/data-access/user-owned-data.registry.js.map +1 -0
  32. package/dist/core/errors/database-seed.exception.d.ts +23 -0
  33. package/dist/core/errors/database-seed.exception.d.ts.map +1 -0
  34. package/dist/core/errors/database-seed.exception.js +49 -0
  35. package/dist/core/errors/database-seed.exception.js.map +1 -0
  36. package/dist/core/errors/error.dto.d.ts +47 -0
  37. package/dist/core/errors/error.dto.d.ts.map +1 -0
  38. package/dist/core/errors/error.dto.js +121 -0
  39. package/dist/core/errors/error.dto.js.map +1 -0
  40. package/dist/core/errors/http-exception.filter.d.ts +63 -0
  41. package/dist/core/errors/http-exception.filter.d.ts.map +1 -0
  42. package/dist/core/errors/http-exception.filter.js +234 -0
  43. package/dist/core/errors/http-exception.filter.js.map +1 -0
  44. package/dist/core/errors/verbatim-error-body.exception.d.ts +46 -0
  45. package/dist/core/errors/verbatim-error-body.exception.d.ts.map +1 -0
  46. package/dist/core/errors/verbatim-error-body.exception.js +135 -0
  47. package/dist/core/errors/verbatim-error-body.exception.js.map +1 -0
  48. package/dist/core/host/index.d.ts +7 -0
  49. package/dist/core/host/index.d.ts.map +1 -0
  50. package/dist/core/host/index.js +14 -0
  51. package/dist/core/host/index.js.map +1 -0
  52. package/dist/core/host/platform-host.d.ts +58 -0
  53. package/dist/core/host/platform-host.d.ts.map +1 -0
  54. package/dist/core/host/platform-host.js +104 -0
  55. package/dist/core/host/platform-host.js.map +1 -0
  56. package/dist/core/host/platform-host.module.d.ts +53 -0
  57. package/dist/core/host/platform-host.module.d.ts.map +1 -0
  58. package/dist/core/host/platform-host.module.js +90 -0
  59. package/dist/core/host/platform-host.module.js.map +1 -0
  60. package/dist/core/host/ports.d.ts +132 -0
  61. package/dist/core/host/ports.d.ts.map +1 -0
  62. package/dist/core/host/ports.js +48 -0
  63. package/dist/core/host/ports.js.map +1 -0
  64. package/dist/core/index.d.ts +15 -0
  65. package/dist/core/index.d.ts.map +1 -0
  66. package/dist/core/index.js +77 -0
  67. package/dist/core/index.js.map +1 -0
  68. package/dist/core/openapi/openapi-tag.registry.d.ts +80 -0
  69. package/dist/core/openapi/openapi-tag.registry.d.ts.map +1 -0
  70. package/dist/core/openapi/openapi-tag.registry.js +72 -0
  71. package/dist/core/openapi/openapi-tag.registry.js.map +1 -0
  72. package/dist/core/principal/index.d.ts +6 -0
  73. package/dist/core/principal/index.d.ts.map +1 -0
  74. package/dist/core/principal/index.js +3 -0
  75. package/dist/core/principal/index.js.map +1 -0
  76. package/dist/core/principal/principal.types.d.ts +222 -0
  77. package/dist/core/principal/principal.types.d.ts.map +1 -0
  78. package/dist/core/principal/principal.types.js +22 -0
  79. package/dist/core/principal/principal.types.js.map +1 -0
  80. package/dist/core/registry/index.d.ts +4 -0
  81. package/dist/core/registry/index.d.ts.map +1 -0
  82. package/dist/core/registry/index.js +19 -0
  83. package/dist/core/registry/index.js.map +1 -0
  84. package/dist/core/registry/registry-freeze.service.d.ts +14 -0
  85. package/dist/core/registry/registry-freeze.service.d.ts.map +1 -0
  86. package/dist/core/registry/registry-freeze.service.js +55 -0
  87. package/dist/core/registry/registry-freeze.service.js.map +1 -0
  88. package/dist/core/registry/registry.d.ts +268 -0
  89. package/dist/core/registry/registry.d.ts.map +1 -0
  90. package/dist/core/registry/registry.js +351 -0
  91. package/dist/core/registry/registry.js.map +1 -0
  92. package/dist/core/registry/testing.d.ts +29 -0
  93. package/dist/core/registry/testing.d.ts.map +1 -0
  94. package/dist/core/registry/testing.js +63 -0
  95. package/dist/core/registry/testing.js.map +1 -0
  96. package/dist/doctor/doctor-check.interface.d.ts +100 -0
  97. package/dist/doctor/doctor-check.interface.d.ts.map +1 -0
  98. package/dist/doctor/doctor-check.interface.js +95 -0
  99. package/dist/doctor/doctor-check.interface.js.map +1 -0
  100. package/dist/doctor/doctor-check.registry.d.ts +37 -0
  101. package/dist/doctor/doctor-check.registry.d.ts.map +1 -0
  102. package/dist/doctor/doctor-check.registry.js +96 -0
  103. package/dist/doctor/doctor-check.registry.js.map +1 -0
  104. package/dist/doctor/doctor.controller.factory.d.ts +29 -0
  105. package/dist/doctor/doctor.controller.factory.d.ts.map +1 -0
  106. package/dist/doctor/doctor.controller.factory.js +121 -0
  107. package/dist/doctor/doctor.controller.factory.js.map +1 -0
  108. package/dist/doctor/doctor.module.d.ts +78 -0
  109. package/dist/doctor/doctor.module.d.ts.map +1 -0
  110. package/dist/doctor/doctor.module.js +158 -0
  111. package/dist/doctor/doctor.module.js.map +1 -0
  112. package/dist/doctor/doctor.options.d.ts +39 -0
  113. package/dist/doctor/doctor.options.d.ts.map +1 -0
  114. package/dist/doctor/doctor.options.js +21 -0
  115. package/dist/doctor/doctor.options.js.map +1 -0
  116. package/dist/doctor/doctor.service.d.ts +80 -0
  117. package/dist/doctor/doctor.service.d.ts.map +1 -0
  118. package/dist/doctor/doctor.service.js +301 -0
  119. package/dist/doctor/doctor.service.js.map +1 -0
  120. package/dist/doctor/dto/doctor-query.dto.d.ts +15 -0
  121. package/dist/doctor/dto/doctor-query.dto.d.ts.map +1 -0
  122. package/dist/doctor/dto/doctor-query.dto.js +16 -0
  123. package/dist/doctor/dto/doctor-query.dto.js.map +1 -0
  124. package/dist/doctor/dto/doctor-report.dto.d.ts +27 -0
  125. package/dist/doctor/dto/doctor-report.dto.d.ts.map +1 -0
  126. package/dist/doctor/dto/doctor-report.dto.js +23 -0
  127. package/dist/doctor/dto/doctor-report.dto.js.map +1 -0
  128. package/dist/doctor/egress/classify-host.d.ts +73 -0
  129. package/dist/doctor/egress/classify-host.d.ts.map +1 -0
  130. package/dist/doctor/egress/classify-host.js +210 -0
  131. package/dist/doctor/egress/classify-host.js.map +1 -0
  132. package/dist/doctor/egress/egress.registry.d.ts +34 -0
  133. package/dist/doctor/egress/egress.registry.d.ts.map +1 -0
  134. package/dist/doctor/egress/egress.registry.js +70 -0
  135. package/dist/doctor/egress/egress.registry.js.map +1 -0
  136. package/dist/doctor/egress/egress.types.d.ts +135 -0
  137. package/dist/doctor/egress/egress.types.d.ts.map +1 -0
  138. package/dist/doctor/egress/egress.types.js +42 -0
  139. package/dist/doctor/egress/egress.types.js.map +1 -0
  140. package/dist/doctor/egress/index.d.ts +6 -0
  141. package/dist/doctor/egress/index.d.ts.map +1 -0
  142. package/dist/doctor/egress/index.js +23 -0
  143. package/dist/doctor/egress/index.js.map +1 -0
  144. package/dist/doctor/egress/network-egress.doctor-check.d.ts +78 -0
  145. package/dist/doctor/egress/network-egress.doctor-check.d.ts.map +1 -0
  146. package/dist/doctor/egress/network-egress.doctor-check.js +226 -0
  147. package/dist/doctor/egress/network-egress.doctor-check.js.map +1 -0
  148. package/dist/doctor/index.d.ts +19 -0
  149. package/dist/doctor/index.d.ts.map +1 -0
  150. package/dist/doctor/index.js +66 -0
  151. package/dist/doctor/index.js.map +1 -0
  152. package/dist/doctor/support-bundle/index.d.ts +12 -0
  153. package/dist/doctor/support-bundle/index.d.ts.map +1 -0
  154. package/dist/doctor/support-bundle/index.js +32 -0
  155. package/dist/doctor/support-bundle/index.js.map +1 -0
  156. package/dist/doctor/support-bundle/redact.d.ts +76 -0
  157. package/dist/doctor/support-bundle/redact.d.ts.map +1 -0
  158. package/dist/doctor/support-bundle/redact.js +236 -0
  159. package/dist/doctor/support-bundle/redact.js.map +1 -0
  160. package/dist/doctor/support-bundle/sections/doctor.section.d.ts +81 -0
  161. package/dist/doctor/support-bundle/sections/doctor.section.d.ts.map +1 -0
  162. package/dist/doctor/support-bundle/sections/doctor.section.js +83 -0
  163. package/dist/doctor/support-bundle/sections/doctor.section.js.map +1 -0
  164. package/dist/doctor/support-bundle/sections/egress.section.d.ts +73 -0
  165. package/dist/doctor/support-bundle/sections/egress.section.d.ts.map +1 -0
  166. package/dist/doctor/support-bundle/sections/egress.section.js +97 -0
  167. package/dist/doctor/support-bundle/sections/egress.section.js.map +1 -0
  168. package/dist/doctor/support-bundle/sections/meta.section.d.ts +39 -0
  169. package/dist/doctor/support-bundle/sections/meta.section.d.ts.map +1 -0
  170. package/dist/doctor/support-bundle/sections/meta.section.js +89 -0
  171. package/dist/doctor/support-bundle/sections/meta.section.js.map +1 -0
  172. package/dist/doctor/support-bundle/support-bundle-section.interface.d.ts +100 -0
  173. package/dist/doctor/support-bundle/support-bundle-section.interface.d.ts.map +1 -0
  174. package/dist/doctor/support-bundle/support-bundle-section.interface.js +59 -0
  175. package/dist/doctor/support-bundle/support-bundle-section.interface.js.map +1 -0
  176. package/dist/doctor/support-bundle/support-bundle.controller.d.ts +57 -0
  177. package/dist/doctor/support-bundle/support-bundle.controller.d.ts.map +1 -0
  178. package/dist/doctor/support-bundle/support-bundle.controller.js +141 -0
  179. package/dist/doctor/support-bundle/support-bundle.controller.js.map +1 -0
  180. package/dist/doctor/support-bundle/support-bundle.options.d.ts +92 -0
  181. package/dist/doctor/support-bundle/support-bundle.options.d.ts.map +1 -0
  182. package/dist/doctor/support-bundle/support-bundle.options.js +100 -0
  183. package/dist/doctor/support-bundle/support-bundle.options.js.map +1 -0
  184. package/dist/doctor/support-bundle/support-bundle.registry.d.ts +38 -0
  185. package/dist/doctor/support-bundle/support-bundle.registry.d.ts.map +1 -0
  186. package/dist/doctor/support-bundle/support-bundle.registry.js +90 -0
  187. package/dist/doctor/support-bundle/support-bundle.registry.js.map +1 -0
  188. package/dist/doctor/support-bundle/support-bundle.service.d.ts +63 -0
  189. package/dist/doctor/support-bundle/support-bundle.service.d.ts.map +1 -0
  190. package/dist/doctor/support-bundle/support-bundle.service.js +244 -0
  191. package/dist/doctor/support-bundle/support-bundle.service.js.map +1 -0
  192. package/dist/index.d.ts +11 -0
  193. package/dist/index.d.ts.map +1 -0
  194. package/dist/index.js +14 -0
  195. package/dist/index.js.map +1 -0
  196. package/dist/otel-core/index.d.ts +9 -0
  197. package/dist/otel-core/index.d.ts.map +1 -0
  198. package/dist/otel-core/index.js +58 -0
  199. package/dist/otel-core/index.js.map +1 -0
  200. package/dist/otel-core/metrics/gauge-provider.d.ts +44 -0
  201. package/dist/otel-core/metrics/gauge-provider.d.ts.map +1 -0
  202. package/dist/otel-core/metrics/gauge-provider.js +37 -0
  203. package/dist/otel-core/metrics/gauge-provider.js.map +1 -0
  204. package/dist/otel-core/metrics/labels.d.ts +79 -0
  205. package/dist/otel-core/metrics/labels.d.ts.map +1 -0
  206. package/dist/otel-core/metrics/labels.js +135 -0
  207. package/dist/otel-core/metrics/labels.js.map +1 -0
  208. package/dist/otel-core/metrics/metric-name.registry.d.ts +130 -0
  209. package/dist/otel-core/metrics/metric-name.registry.d.ts.map +1 -0
  210. package/dist/otel-core/metrics/metric-name.registry.js +134 -0
  211. package/dist/otel-core/metrics/metric-name.registry.js.map +1 -0
  212. package/dist/otel-core/metrics/metrics-host.service.d.ts +163 -0
  213. package/dist/otel-core/metrics/metrics-host.service.d.ts.map +1 -0
  214. package/dist/otel-core/metrics/metrics-host.service.js +344 -0
  215. package/dist/otel-core/metrics/metrics-host.service.js.map +1 -0
  216. package/dist/otel-core/metrics/otel-metrics.module.d.ts +54 -0
  217. package/dist/otel-core/metrics/otel-metrics.module.d.ts.map +1 -0
  218. package/dist/otel-core/metrics/otel-metrics.module.js +83 -0
  219. package/dist/otel-core/metrics/otel-metrics.module.js.map +1 -0
  220. package/dist/otel-core/sdk/index.d.ts +5 -0
  221. package/dist/otel-core/sdk/index.d.ts.map +1 -0
  222. package/dist/otel-core/sdk/index.js +27 -0
  223. package/dist/otel-core/sdk/index.js.map +1 -0
  224. package/dist/otel-core/sdk/initialize-otel.d.ts +126 -0
  225. package/dist/otel-core/sdk/initialize-otel.d.ts.map +1 -0
  226. package/dist/otel-core/sdk/initialize-otel.js +204 -0
  227. package/dist/otel-core/sdk/initialize-otel.js.map +1 -0
  228. package/dist/otel-core/sdk/instance-id.d.ts +29 -0
  229. package/dist/otel-core/sdk/instance-id.d.ts.map +1 -0
  230. package/dist/otel-core/sdk/instance-id.js +65 -0
  231. package/dist/otel-core/sdk/instance-id.js.map +1 -0
  232. package/dist/otel-core/sdk/service-name.d.ts +28 -0
  233. package/dist/otel-core/sdk/service-name.d.ts.map +1 -0
  234. package/dist/otel-core/sdk/service-name.js +63 -0
  235. package/dist/otel-core/sdk/service-name.js.map +1 -0
  236. package/dist/otel-core/sdk/telemetry-gate.d.ts +116 -0
  237. package/dist/otel-core/sdk/telemetry-gate.d.ts.map +1 -0
  238. package/dist/otel-core/sdk/telemetry-gate.js +297 -0
  239. package/dist/otel-core/sdk/telemetry-gate.js.map +1 -0
  240. package/dist/otel-core/spans/request-span-attributes.d.ts +58 -0
  241. package/dist/otel-core/spans/request-span-attributes.d.ts.map +1 -0
  242. package/dist/otel-core/spans/request-span-attributes.js +155 -0
  243. package/dist/otel-core/spans/request-span-attributes.js.map +1 -0
  244. package/dist/otel-core/spans/trace.decorator.d.ts +36 -0
  245. package/dist/otel-core/spans/trace.decorator.d.ts.map +1 -0
  246. package/dist/otel-core/spans/trace.decorator.js +74 -0
  247. package/dist/otel-core/spans/trace.decorator.js.map +1 -0
  248. package/dist/telemetry/assistant/telemetry-ai-enabled.guard.d.ts +15 -0
  249. package/dist/telemetry/assistant/telemetry-ai-enabled.guard.d.ts.map +1 -0
  250. package/dist/telemetry/assistant/telemetry-ai-enabled.guard.js +50 -0
  251. package/dist/telemetry/assistant/telemetry-ai-enabled.guard.js.map +1 -0
  252. package/dist/telemetry/assistant/telemetry-assistant.controller.d.ts +14 -0
  253. package/dist/telemetry/assistant/telemetry-assistant.controller.d.ts.map +1 -0
  254. package/dist/telemetry/assistant/telemetry-assistant.controller.js +178 -0
  255. package/dist/telemetry/assistant/telemetry-assistant.controller.js.map +1 -0
  256. package/dist/telemetry/assistant/telemetry-assistant.metrics.d.ts +147 -0
  257. package/dist/telemetry/assistant/telemetry-assistant.metrics.d.ts.map +1 -0
  258. package/dist/telemetry/assistant/telemetry-assistant.metrics.js +495 -0
  259. package/dist/telemetry/assistant/telemetry-assistant.metrics.js.map +1 -0
  260. package/dist/telemetry/assistant/telemetry-assistant.service.d.ts +216 -0
  261. package/dist/telemetry/assistant/telemetry-assistant.service.d.ts.map +1 -0
  262. package/dist/telemetry/assistant/telemetry-assistant.service.js +1256 -0
  263. package/dist/telemetry/assistant/telemetry-assistant.service.js.map +1 -0
  264. package/dist/telemetry/assistant/telemetry-assistant.sql.d.ts +69 -0
  265. package/dist/telemetry/assistant/telemetry-assistant.sql.d.ts.map +1 -0
  266. package/dist/telemetry/assistant/telemetry-assistant.sql.js +471 -0
  267. package/dist/telemetry/assistant/telemetry-assistant.sql.js.map +1 -0
  268. package/dist/telemetry/assistant/telemetry-assistant.sse.d.ts +15 -0
  269. package/dist/telemetry/assistant/telemetry-assistant.sse.d.ts.map +1 -0
  270. package/dist/telemetry/assistant/telemetry-assistant.sse.js +68 -0
  271. package/dist/telemetry/assistant/telemetry-assistant.sse.js.map +1 -0
  272. package/dist/telemetry/connection/dto/telemetry-connection.dto.d.ts +92 -0
  273. package/dist/telemetry/connection/dto/telemetry-connection.dto.d.ts.map +1 -0
  274. package/dist/telemetry/connection/dto/telemetry-connection.dto.js +41 -0
  275. package/dist/telemetry/connection/dto/telemetry-connection.dto.js.map +1 -0
  276. package/dist/telemetry/connection/telemetry-connection-admin.service.d.ts +45 -0
  277. package/dist/telemetry/connection/telemetry-connection-admin.service.d.ts.map +1 -0
  278. package/dist/telemetry/connection/telemetry-connection-admin.service.js +303 -0
  279. package/dist/telemetry/connection/telemetry-connection-admin.service.js.map +1 -0
  280. package/dist/telemetry/connection/telemetry-connection-test.service.d.ts +41 -0
  281. package/dist/telemetry/connection/telemetry-connection-test.service.d.ts.map +1 -0
  282. package/dist/telemetry/connection/telemetry-connection-test.service.js +187 -0
  283. package/dist/telemetry/connection/telemetry-connection-test.service.js.map +1 -0
  284. package/dist/telemetry/connection/telemetry-connection.controller.d.ts +14 -0
  285. package/dist/telemetry/connection/telemetry-connection.controller.d.ts.map +1 -0
  286. package/dist/telemetry/connection/telemetry-connection.controller.js +192 -0
  287. package/dist/telemetry/connection/telemetry-connection.controller.js.map +1 -0
  288. package/dist/telemetry/connection/telemetry-connection.schema.d.ts +28 -0
  289. package/dist/telemetry/connection/telemetry-connection.schema.d.ts.map +1 -0
  290. package/dist/telemetry/connection/telemetry-connection.schema.js +106 -0
  291. package/dist/telemetry/connection/telemetry-connection.schema.js.map +1 -0
  292. package/dist/telemetry/connection/telemetry-connection.service.d.ts +197 -0
  293. package/dist/telemetry/connection/telemetry-connection.service.d.ts.map +1 -0
  294. package/dist/telemetry/connection/telemetry-connection.service.js +461 -0
  295. package/dist/telemetry/connection/telemetry-connection.service.js.map +1 -0
  296. package/dist/telemetry/dashboard/sql-literals.d.ts +19 -0
  297. package/dist/telemetry/dashboard/sql-literals.d.ts.map +1 -0
  298. package/dist/telemetry/dashboard/sql-literals.js +75 -0
  299. package/dist/telemetry/dashboard/sql-literals.js.map +1 -0
  300. package/dist/telemetry/dashboard/telemetry-dashboard.controller.d.ts +14 -0
  301. package/dist/telemetry/dashboard/telemetry-dashboard.controller.d.ts.map +1 -0
  302. package/dist/telemetry/dashboard/telemetry-dashboard.controller.js +277 -0
  303. package/dist/telemetry/dashboard/telemetry-dashboard.controller.js.map +1 -0
  304. package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts +112 -0
  305. package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts.map +1 -0
  306. package/dist/telemetry/dashboard/telemetry-dashboard.service.js +904 -0
  307. package/dist/telemetry/dashboard/telemetry-dashboard.service.js.map +1 -0
  308. package/dist/telemetry/dashboard/telemetry-dashboard.sql.d.ts +212 -0
  309. package/dist/telemetry/dashboard/telemetry-dashboard.sql.d.ts.map +1 -0
  310. package/dist/telemetry/dashboard/telemetry-dashboard.sql.js +486 -0
  311. package/dist/telemetry/dashboard/telemetry-dashboard.sql.js.map +1 -0
  312. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts +235 -0
  313. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts.map +1 -0
  314. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js +269 -0
  315. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js.map +1 -0
  316. package/dist/telemetry/dashboard/verdict-policy.d.ts +51 -0
  317. package/dist/telemetry/dashboard/verdict-policy.d.ts.map +1 -0
  318. package/dist/telemetry/dashboard/verdict-policy.js +77 -0
  319. package/dist/telemetry/dashboard/verdict-policy.js.map +1 -0
  320. package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.d.ts +21 -0
  321. package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.d.ts.map +1 -0
  322. package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.js +59 -0
  323. package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.js.map +1 -0
  324. package/dist/telemetry/doctor/telemetry-connection.doctor-check.d.ts +23 -0
  325. package/dist/telemetry/doctor/telemetry-connection.doctor-check.d.ts.map +1 -0
  326. package/dist/telemetry/doctor/telemetry-connection.doctor-check.js +69 -0
  327. package/dist/telemetry/doctor/telemetry-connection.doctor-check.js.map +1 -0
  328. package/dist/telemetry/doctor/telemetry-export.doctor-check.d.ts +33 -0
  329. package/dist/telemetry/doctor/telemetry-export.doctor-check.d.ts.map +1 -0
  330. package/dist/telemetry/doctor/telemetry-export.doctor-check.js +105 -0
  331. package/dist/telemetry/doctor/telemetry-export.doctor-check.js.map +1 -0
  332. package/dist/telemetry/doctor/telemetry-freshness.doctor-check.d.ts +38 -0
  333. package/dist/telemetry/doctor/telemetry-freshness.doctor-check.d.ts.map +1 -0
  334. package/dist/telemetry/doctor/telemetry-freshness.doctor-check.js +104 -0
  335. package/dist/telemetry/doctor/telemetry-freshness.doctor-check.js.map +1 -0
  336. package/dist/telemetry/doctor/telemetry-reachable.doctor-check.d.ts +23 -0
  337. package/dist/telemetry/doctor/telemetry-reachable.doctor-check.d.ts.map +1 -0
  338. package/dist/telemetry/doctor/telemetry-reachable.doctor-check.js +65 -0
  339. package/dist/telemetry/doctor/telemetry-reachable.doctor-check.js.map +1 -0
  340. package/dist/telemetry/doctor/telemetry-tables.doctor-check.d.ts +23 -0
  341. package/dist/telemetry/doctor/telemetry-tables.doctor-check.d.ts.map +1 -0
  342. package/dist/telemetry/doctor/telemetry-tables.doctor-check.js +91 -0
  343. package/dist/telemetry/doctor/telemetry-tables.doctor-check.js.map +1 -0
  344. package/dist/telemetry/dto/telemetry-assistant.dto.d.ts +14 -0
  345. package/dist/telemetry/dto/telemetry-assistant.dto.d.ts.map +1 -0
  346. package/dist/telemetry/dto/telemetry-assistant.dto.js +29 -0
  347. package/dist/telemetry/dto/telemetry-assistant.dto.js.map +1 -0
  348. package/dist/telemetry/dto/telemetry-config.dto.d.ts +59 -0
  349. package/dist/telemetry/dto/telemetry-config.dto.d.ts.map +1 -0
  350. package/dist/telemetry/dto/telemetry-config.dto.js +18 -0
  351. package/dist/telemetry/dto/telemetry-config.dto.js.map +1 -0
  352. package/dist/telemetry/dto/telemetry-dashboard.dto.d.ts +397 -0
  353. package/dist/telemetry/dto/telemetry-dashboard.dto.d.ts.map +1 -0
  354. package/dist/telemetry/dto/telemetry-dashboard.dto.js +118 -0
  355. package/dist/telemetry/dto/telemetry-dashboard.dto.js.map +1 -0
  356. package/dist/telemetry/dto/telemetry-query.dto.d.ts +44 -0
  357. package/dist/telemetry/dto/telemetry-query.dto.d.ts.map +1 -0
  358. package/dist/telemetry/dto/telemetry-query.dto.js +42 -0
  359. package/dist/telemetry/dto/telemetry-query.dto.js.map +1 -0
  360. package/dist/telemetry/dto/telemetry-status.dto.d.ts +22 -0
  361. package/dist/telemetry/dto/telemetry-status.dto.d.ts.map +1 -0
  362. package/dist/telemetry/dto/telemetry-status.dto.js +12 -0
  363. package/dist/telemetry/dto/telemetry-status.dto.js.map +1 -0
  364. package/dist/telemetry/export/parquet-writer.loader.d.ts +13 -0
  365. package/dist/telemetry/export/parquet-writer.loader.d.ts.map +1 -0
  366. package/dist/telemetry/export/parquet-writer.loader.js +29 -0
  367. package/dist/telemetry/export/parquet-writer.loader.js.map +1 -0
  368. package/dist/telemetry/export/telemetry-export.service.d.ts +39 -0
  369. package/dist/telemetry/export/telemetry-export.service.d.ts.map +1 -0
  370. package/dist/telemetry/export/telemetry-export.service.js +185 -0
  371. package/dist/telemetry/export/telemetry-export.service.js.map +1 -0
  372. package/dist/telemetry/greptime/greptime-host.d.ts +44 -0
  373. package/dist/telemetry/greptime/greptime-host.d.ts.map +1 -0
  374. package/dist/telemetry/greptime/greptime-host.js +114 -0
  375. package/dist/telemetry/greptime/greptime-host.js.map +1 -0
  376. package/dist/telemetry/greptime/greptime.client.d.ts +171 -0
  377. package/dist/telemetry/greptime/greptime.client.d.ts.map +1 -0
  378. package/dist/telemetry/greptime/greptime.client.js +352 -0
  379. package/dist/telemetry/greptime/greptime.client.js.map +1 -0
  380. package/dist/telemetry/greptime/greptime.errors.d.ts +59 -0
  381. package/dist/telemetry/greptime/greptime.errors.d.ts.map +1 -0
  382. package/dist/telemetry/greptime/greptime.errors.js +100 -0
  383. package/dist/telemetry/greptime/greptime.errors.js.map +1 -0
  384. package/dist/telemetry/handlers/telemetry-retention.handler.d.ts +27 -0
  385. package/dist/telemetry/handlers/telemetry-retention.handler.d.ts.map +1 -0
  386. package/dist/telemetry/handlers/telemetry-retention.handler.js +123 -0
  387. package/dist/telemetry/handlers/telemetry-retention.handler.js.map +1 -0
  388. package/dist/telemetry/index.d.ts +37 -0
  389. package/dist/telemetry/index.d.ts.map +1 -0
  390. package/dist/telemetry/index.js +97 -0
  391. package/dist/telemetry/index.js.map +1 -0
  392. package/dist/telemetry/internal/blank-secret.d.ts +3 -0
  393. package/dist/telemetry/internal/blank-secret.d.ts.map +1 -0
  394. package/dist/telemetry/internal/blank-secret.js +14 -0
  395. package/dist/telemetry/internal/blank-secret.js.map +1 -0
  396. package/dist/telemetry/internal/csv.d.ts +9 -0
  397. package/dist/telemetry/internal/csv.d.ts.map +1 -0
  398. package/dist/telemetry/internal/csv.js +23 -0
  399. package/dist/telemetry/internal/csv.js.map +1 -0
  400. package/dist/telemetry/internal/sse.d.ts +23 -0
  401. package/dist/telemetry/internal/sse.d.ts.map +1 -0
  402. package/dist/telemetry/internal/sse.js +43 -0
  403. package/dist/telemetry/internal/sse.js.map +1 -0
  404. package/dist/telemetry/metrics/groups/database.metric-group.d.ts +7 -0
  405. package/dist/telemetry/metrics/groups/database.metric-group.d.ts.map +1 -0
  406. package/dist/telemetry/metrics/groups/database.metric-group.js +159 -0
  407. package/dist/telemetry/metrics/groups/database.metric-group.js.map +1 -0
  408. package/dist/telemetry/metrics/groups/host.metric-group.d.ts +7 -0
  409. package/dist/telemetry/metrics/groups/host.metric-group.d.ts.map +1 -0
  410. package/dist/telemetry/metrics/groups/host.metric-group.js +146 -0
  411. package/dist/telemetry/metrics/groups/host.metric-group.js.map +1 -0
  412. package/dist/telemetry/metrics/groups/nodes.metric-group.d.ts +7 -0
  413. package/dist/telemetry/metrics/groups/nodes.metric-group.d.ts.map +1 -0
  414. package/dist/telemetry/metrics/groups/nodes.metric-group.js +159 -0
  415. package/dist/telemetry/metrics/groups/nodes.metric-group.js.map +1 -0
  416. package/dist/telemetry/metrics/groups/pipeline.metric-group.d.ts +7 -0
  417. package/dist/telemetry/metrics/groups/pipeline.metric-group.d.ts.map +1 -0
  418. package/dist/telemetry/metrics/groups/pipeline.metric-group.js +144 -0
  419. package/dist/telemetry/metrics/groups/pipeline.metric-group.js.map +1 -0
  420. package/dist/telemetry/metrics/groups/queue.metric-group.d.ts +7 -0
  421. package/dist/telemetry/metrics/groups/queue.metric-group.d.ts.map +1 -0
  422. package/dist/telemetry/metrics/groups/queue.metric-group.js +163 -0
  423. package/dist/telemetry/metrics/groups/queue.metric-group.js.map +1 -0
  424. package/dist/telemetry/metrics/groups/uptime.metric-group.d.ts +7 -0
  425. package/dist/telemetry/metrics/groups/uptime.metric-group.d.ts.map +1 -0
  426. package/dist/telemetry/metrics/groups/uptime.metric-group.js +103 -0
  427. package/dist/telemetry/metrics/groups/uptime.metric-group.js.map +1 -0
  428. package/dist/telemetry/metrics/metric-catalog.d.ts +324 -0
  429. package/dist/telemetry/metrics/metric-catalog.d.ts.map +1 -0
  430. package/dist/telemetry/metrics/metric-catalog.helpers.d.ts +30 -0
  431. package/dist/telemetry/metrics/metric-catalog.helpers.d.ts.map +1 -0
  432. package/dist/telemetry/metrics/metric-catalog.helpers.js +37 -0
  433. package/dist/telemetry/metrics/metric-catalog.helpers.js.map +1 -0
  434. package/dist/telemetry/metrics/metric-catalog.js +180 -0
  435. package/dist/telemetry/metrics/metric-catalog.js.map +1 -0
  436. package/dist/telemetry/metrics/metric-group-registry.service.d.ts +59 -0
  437. package/dist/telemetry/metrics/metric-group-registry.service.d.ts.map +1 -0
  438. package/dist/telemetry/metrics/metric-group-registry.service.js +99 -0
  439. package/dist/telemetry/metrics/metric-group-registry.service.js.map +1 -0
  440. package/dist/telemetry/metrics/metric-group.d.ts +113 -0
  441. package/dist/telemetry/metrics/metric-group.d.ts.map +1 -0
  442. package/dist/telemetry/metrics/metric-group.js +647 -0
  443. package/dist/telemetry/metrics/metric-group.js.map +1 -0
  444. package/dist/telemetry/metrics/metric-group.manifest.d.ts +2 -0
  445. package/dist/telemetry/metrics/metric-group.manifest.d.ts.map +1 -0
  446. package/dist/telemetry/metrics/metric-group.manifest.js +30 -0
  447. package/dist/telemetry/metrics/metric-group.manifest.js.map +1 -0
  448. package/dist/telemetry/metrics/metric-group.registry.d.ts +109 -0
  449. package/dist/telemetry/metrics/metric-group.registry.d.ts.map +1 -0
  450. package/dist/telemetry/metrics/metric-group.registry.js +181 -0
  451. package/dist/telemetry/metrics/metric-group.registry.js.map +1 -0
  452. package/dist/telemetry/metrics/metric-sql.d.ts +98 -0
  453. package/dist/telemetry/metrics/metric-sql.d.ts.map +1 -0
  454. package/dist/telemetry/metrics/metric-sql.js +259 -0
  455. package/dist/telemetry/metrics/metric-sql.js.map +1 -0
  456. package/dist/telemetry/metrics/metric-values.d.ts +19 -0
  457. package/dist/telemetry/metrics/metric-values.d.ts.map +1 -0
  458. package/dist/telemetry/metrics/metric-values.js +97 -0
  459. package/dist/telemetry/metrics/metric-values.js.map +1 -0
  460. package/dist/telemetry/metrics/metric-verdict.d.ts +20 -0
  461. package/dist/telemetry/metrics/metric-verdict.d.ts.map +1 -0
  462. package/dist/telemetry/metrics/metric-verdict.js +218 -0
  463. package/dist/telemetry/metrics/metric-verdict.js.map +1 -0
  464. package/dist/telemetry/ports.d.ts +575 -0
  465. package/dist/telemetry/ports.d.ts.map +1 -0
  466. package/dist/telemetry/ports.js +78 -0
  467. package/dist/telemetry/ports.js.map +1 -0
  468. package/dist/telemetry/query/sql-guard.d.ts +71 -0
  469. package/dist/telemetry/query/sql-guard.d.ts.map +1 -0
  470. package/dist/telemetry/query/sql-guard.js +258 -0
  471. package/dist/telemetry/query/sql-guard.js.map +1 -0
  472. package/dist/telemetry/query/telemetry-availability.d.ts +11 -0
  473. package/dist/telemetry/query/telemetry-availability.d.ts.map +1 -0
  474. package/dist/telemetry/query/telemetry-availability.js +55 -0
  475. package/dist/telemetry/query/telemetry-availability.js.map +1 -0
  476. package/dist/telemetry/query/telemetry-query.errors.d.ts +48 -0
  477. package/dist/telemetry/query/telemetry-query.errors.d.ts.map +1 -0
  478. package/dist/telemetry/query/telemetry-query.errors.js +100 -0
  479. package/dist/telemetry/query/telemetry-query.errors.js.map +1 -0
  480. package/dist/telemetry/query/telemetry-query.service.d.ts +57 -0
  481. package/dist/telemetry/query/telemetry-query.service.d.ts.map +1 -0
  482. package/dist/telemetry/query/telemetry-query.service.js +194 -0
  483. package/dist/telemetry/query/telemetry-query.service.js.map +1 -0
  484. package/dist/telemetry/query/telemetry-schema.service.d.ts +36 -0
  485. package/dist/telemetry/query/telemetry-schema.service.d.ts.map +1 -0
  486. package/dist/telemetry/query/telemetry-schema.service.js +154 -0
  487. package/dist/telemetry/query/telemetry-schema.service.js.map +1 -0
  488. package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts +29 -0
  489. package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts.map +1 -0
  490. package/dist/telemetry/stack/dto/telemetry-stack.dto.js +27 -0
  491. package/dist/telemetry/stack/dto/telemetry-stack.dto.js.map +1 -0
  492. package/dist/telemetry/stack/stack-agent.client.d.ts +76 -0
  493. package/dist/telemetry/stack/stack-agent.client.d.ts.map +1 -0
  494. package/dist/telemetry/stack/stack-agent.client.js +208 -0
  495. package/dist/telemetry/stack/stack-agent.client.js.map +1 -0
  496. package/dist/telemetry/stack/telemetry-stack-deploy.handler.d.ts +43 -0
  497. package/dist/telemetry/stack/telemetry-stack-deploy.handler.d.ts.map +1 -0
  498. package/dist/telemetry/stack/telemetry-stack-deploy.handler.js +159 -0
  499. package/dist/telemetry/stack/telemetry-stack-deploy.handler.js.map +1 -0
  500. package/dist/telemetry/stack/telemetry-stack.controller.d.ts +14 -0
  501. package/dist/telemetry/stack/telemetry-stack.controller.d.ts.map +1 -0
  502. package/dist/telemetry/stack/telemetry-stack.controller.js +107 -0
  503. package/dist/telemetry/stack/telemetry-stack.controller.js.map +1 -0
  504. package/dist/telemetry/stack/telemetry-stack.service.d.ts +19 -0
  505. package/dist/telemetry/stack/telemetry-stack.service.d.ts.map +1 -0
  506. package/dist/telemetry/stack/telemetry-stack.service.js +122 -0
  507. package/dist/telemetry/stack/telemetry-stack.service.js.map +1 -0
  508. package/dist/telemetry/tasks/telemetry-retention.task.d.ts +8 -0
  509. package/dist/telemetry/tasks/telemetry-retention.task.d.ts.map +1 -0
  510. package/dist/telemetry/tasks/telemetry-retention.task.js +61 -0
  511. package/dist/telemetry/tasks/telemetry-retention.task.js.map +1 -0
  512. package/dist/telemetry/telemetry-admin.controller.d.ts +14 -0
  513. package/dist/telemetry/telemetry-admin.controller.d.ts.map +1 -0
  514. package/dist/telemetry/telemetry-admin.controller.js +148 -0
  515. package/dist/telemetry/telemetry-admin.controller.js.map +1 -0
  516. package/dist/telemetry/telemetry-config.controller.d.ts +14 -0
  517. package/dist/telemetry/telemetry-config.controller.d.ts.map +1 -0
  518. package/dist/telemetry/telemetry-config.controller.js +73 -0
  519. package/dist/telemetry/telemetry-config.controller.js.map +1 -0
  520. package/dist/telemetry/telemetry-explorer.controller.d.ts +14 -0
  521. package/dist/telemetry/telemetry-explorer.controller.d.ts.map +1 -0
  522. package/dist/telemetry/telemetry-explorer.controller.js +193 -0
  523. package/dist/telemetry/telemetry-explorer.controller.js.map +1 -0
  524. package/dist/telemetry/telemetry-settings.service.d.ts +85 -0
  525. package/dist/telemetry/telemetry-settings.service.d.ts.map +1 -0
  526. package/dist/telemetry/telemetry-settings.service.js +278 -0
  527. package/dist/telemetry/telemetry-settings.service.js.map +1 -0
  528. package/dist/telemetry/telemetry-status.service.d.ts +28 -0
  529. package/dist/telemetry/telemetry-status.service.d.ts.map +1 -0
  530. package/dist/telemetry/telemetry-status.service.js +185 -0
  531. package/dist/telemetry/telemetry-status.service.js.map +1 -0
  532. package/dist/telemetry/telemetry-support-bundle.section.d.ts +163 -0
  533. package/dist/telemetry/telemetry-support-bundle.section.d.ts.map +1 -0
  534. package/dist/telemetry/telemetry-support-bundle.section.js +187 -0
  535. package/dist/telemetry/telemetry-support-bundle.section.js.map +1 -0
  536. package/dist/telemetry/telemetry.module.d.ts +35 -0
  537. package/dist/telemetry/telemetry.module.d.ts.map +1 -0
  538. package/dist/telemetry/telemetry.module.js +210 -0
  539. package/dist/telemetry/telemetry.module.js.map +1 -0
  540. package/dist/telemetry/telemetry.options.d.ts +176 -0
  541. package/dist/telemetry/telemetry.options.d.ts.map +1 -0
  542. package/dist/telemetry/telemetry.options.js +246 -0
  543. package/dist/telemetry/telemetry.options.js.map +1 -0
  544. package/dist/telemetry/telemetry.permissions.d.ts +76 -0
  545. package/dist/telemetry/telemetry.permissions.d.ts.map +1 -0
  546. package/dist/telemetry/telemetry.permissions.js +85 -0
  547. package/dist/telemetry/telemetry.permissions.js.map +1 -0
  548. package/dist/telemetry/telemetry.settings.d.ts +79 -0
  549. package/dist/telemetry/telemetry.settings.d.ts.map +1 -0
  550. package/dist/telemetry/telemetry.settings.js +92 -0
  551. package/dist/telemetry/telemetry.settings.js.map +1 -0
  552. package/dist/telemetry/testing/coach-metric-group.fixture.d.ts +17 -0
  553. package/dist/telemetry/testing/coach-metric-group.fixture.d.ts.map +1 -0
  554. package/dist/telemetry/testing/coach-metric-group.fixture.js +128 -0
  555. package/dist/telemetry/testing/coach-metric-group.fixture.js.map +1 -0
  556. package/dist/telemetry/testing/conformance.d.ts +257 -0
  557. package/dist/telemetry/testing/conformance.d.ts.map +1 -0
  558. package/dist/telemetry/testing/conformance.js +626 -0
  559. package/dist/telemetry/testing/conformance.js.map +1 -0
  560. package/dist/telemetry/testing/index.d.ts +10 -0
  561. package/dist/telemetry/testing/index.d.ts.map +1 -0
  562. package/dist/telemetry/testing/index.js +41 -0
  563. package/dist/telemetry/testing/index.js.map +1 -0
  564. package/dist/telemetry/testing/metric-schema.fixture.d.ts +73 -0
  565. package/dist/telemetry/testing/metric-schema.fixture.d.ts.map +1 -0
  566. package/dist/telemetry/testing/metric-schema.fixture.js +362 -0
  567. package/dist/telemetry/testing/metric-schema.fixture.js.map +1 -0
  568. package/dist/telemetry/testing/stub-ports.d.ts +46 -0
  569. package/dist/telemetry/testing/stub-ports.d.ts.map +1 -0
  570. package/dist/telemetry/testing/stub-ports.js +119 -0
  571. package/dist/telemetry/testing/stub-ports.js.map +1 -0
  572. package/dist/testing/conformance-suite.d.ts +106 -0
  573. package/dist/testing/conformance-suite.d.ts.map +1 -0
  574. package/dist/testing/conformance-suite.js +8 -0
  575. package/dist/testing/conformance-suite.js.map +1 -0
  576. package/dist/testing/conformance-suites.d.ts +14 -0
  577. package/dist/testing/conformance-suites.d.ts.map +1 -0
  578. package/dist/testing/conformance-suites.js +27 -0
  579. package/dist/testing/conformance-suites.js.map +1 -0
  580. package/dist/testing/host/in-memory-audit-sink.d.ts +23 -0
  581. package/dist/testing/host/in-memory-audit-sink.d.ts.map +1 -0
  582. package/dist/testing/host/in-memory-audit-sink.js +30 -0
  583. package/dist/testing/host/in-memory-audit-sink.js.map +1 -0
  584. package/dist/testing/host/in-memory-system-settings-store.d.ts +31 -0
  585. package/dist/testing/host/in-memory-system-settings-store.d.ts.map +1 -0
  586. package/dist/testing/host/in-memory-system-settings-store.js +54 -0
  587. package/dist/testing/host/in-memory-system-settings-store.js.map +1 -0
  588. package/dist/testing/host/index.d.ts +4 -0
  589. package/dist/testing/host/index.d.ts.map +1 -0
  590. package/dist/testing/host/index.js +13 -0
  591. package/dist/testing/host/index.js.map +1 -0
  592. package/dist/testing/host/test-platform-host.d.ts +35 -0
  593. package/dist/testing/host/test-platform-host.d.ts.map +1 -0
  594. package/dist/testing/host/test-platform-host.js +81 -0
  595. package/dist/testing/host/test-platform-host.js.map +1 -0
  596. package/dist/testing/index.d.ts +12 -0
  597. package/dist/testing/index.d.ts.map +1 -0
  598. package/dist/testing/index.js +32 -0
  599. package/dist/testing/index.js.map +1 -0
  600. package/dist/testing/prisma-schema.d.ts +99 -0
  601. package/dist/testing/prisma-schema.d.ts.map +1 -0
  602. package/dist/testing/prisma-schema.js +175 -0
  603. package/dist/testing/prisma-schema.js.map +1 -0
  604. package/dist/testing/run-platform-conformance.d.ts +70 -0
  605. package/dist/testing/run-platform-conformance.d.ts.map +1 -0
  606. package/dist/testing/run-platform-conformance.js +77 -0
  607. package/dist/testing/run-platform-conformance.js.map +1 -0
  608. package/dist/testing/suites/cron-enqueue-only.d.ts +46 -0
  609. package/dist/testing/suites/cron-enqueue-only.d.ts.map +1 -0
  610. package/dist/testing/suites/cron-enqueue-only.js +177 -0
  611. package/dist/testing/suites/cron-enqueue-only.js.map +1 -0
  612. package/dist/testing/suites/user-owned-data.d.ts +86 -0
  613. package/dist/testing/suites/user-owned-data.d.ts.map +1 -0
  614. package/dist/testing/suites/user-owned-data.js +329 -0
  615. package/dist/testing/suites/user-owned-data.js.map +1 -0
  616. package/package.json +129 -4
@@ -0,0 +1,163 @@
1
+ import { type Counter, type Histogram, type Meter } from '@opentelemetry/api';
2
+ import type { AppGaugeContext, AppMetricKeyLike, GaugeProvider } from './gauge-provider';
3
+ /**
4
+ * The instrumentation scope every application metric is created under.
5
+ *
6
+ * @stability stable
7
+ */
8
+ export declare const APP_METER_NAME = "app";
9
+ /**
10
+ * Injection token of the host's optional {@link MetricsHostOptions}: an
11
+ * explicit meter, clock, gate and gauge switch. Unprovided in production
12
+ * except for `gauges`; tests provide a meter from an in-memory
13
+ * `MeterProvider`.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * OtelMetricsModule.forRootAsync({
18
+ * inject: [ConfigService],
19
+ * useFactory: (config: ConfigService) => ({ gauges: config.get('otel.enabled') === true }),
20
+ * });
21
+ * ```
22
+ *
23
+ * @extensionPoint token
24
+ * @stability experimental
25
+ */
26
+ export declare const METRICS_HOST_OPTIONS: unique symbol;
27
+ /**
28
+ * Options of {@link MetricsHostService}, provided under {@link METRICS_HOST_OPTIONS}.
29
+ *
30
+ * @stability experimental
31
+ */
32
+ export interface MetricsHostOptions {
33
+ /** The meter instruments are created on. Default: `metrics.getMeter(APP_METER_NAME)`. */
34
+ meter?: Meter;
35
+ /** The clock, in epoch milliseconds. Default: `Date.now`. */
36
+ now?: () => number;
37
+ /** Whether the runtime export gate is open. Default: `telemetryGate.isEnabled()`. */
38
+ gateOpen?: () => boolean;
39
+ /** Forces gauge providers on or off. Default: `process.env.OTEL_ENABLED === 'true'`, read per call. */
40
+ gauges?: boolean;
41
+ }
42
+ /**
43
+ * The generic metrics host: creates every registered counter and histogram,
44
+ * bounds labels, and hands gauge providers their context. Global through
45
+ * `OtelMetricsModule`; an app builds its typed recorders on it.
46
+ *
47
+ * @stability experimental
48
+ */
49
+ export declare class MetricsHostService {
50
+ private readonly logger;
51
+ /** The `app` meter: the SDK's when one is installed, the API's no-op meter otherwise. */
52
+ readonly meter: Meter;
53
+ /** The clock, in epoch milliseconds. */
54
+ readonly now: () => number;
55
+ /** Whether the runtime export gate is open. */
56
+ readonly gateOpen: () => boolean;
57
+ private readonly gaugesForced;
58
+ /** Every registered counter and histogram, by code key, created from its declaration. */
59
+ private readonly instruments;
60
+ /** Keys `add`/`record` were given that name no counter (or histogram) of that kind; each logged once. */
61
+ private readonly unknownKeys;
62
+ private readonly labels;
63
+ /**
64
+ * @param options - See {@link MetricsHostOptions}; every field optional.
65
+ */
66
+ constructor(options?: MetricsHostOptions);
67
+ /**
68
+ * The counter registered under `key`.
69
+ *
70
+ * @param key - A registry key declared as a counter.
71
+ * @returns The counter.
72
+ * @throws Error when `key` is not registered, or is not a counter.
73
+ */
74
+ counter(key: AppMetricKeyLike): Counter;
75
+ /**
76
+ * The histogram registered under `key`.
77
+ *
78
+ * @param key - A registry key declared as a histogram.
79
+ * @returns The histogram.
80
+ * @throws Error when `key` is not registered, or is not a histogram.
81
+ */
82
+ histogram(key: AppMetricKeyLike): Histogram;
83
+ /**
84
+ * Adds `value` (default 1) to the counter registered under `key`, with its
85
+ * declared attributes only, each bounded (`enum`: the value or `other`;
86
+ * `free`: {@link MetricsHostService.boundLabel}). An undeclared attribute
87
+ * key is dropped. An unknown key, or a key that names a histogram or gauge,
88
+ * is a no-op logged once at `debug`. A negative or non-finite value is
89
+ * ignored (counters are monotonic). Never throws.
90
+ *
91
+ * @param key - The counter's registry key.
92
+ * @param value - The amount; default 1.
93
+ * @param attributes - Raw attributes, bounded per the declaration.
94
+ */
95
+ add(key: AppMetricKeyLike, value?: number, attributes?: Record<string, unknown>): void;
96
+ /**
97
+ * Records `value` on the histogram registered under `key`, with the same
98
+ * attribute rules as {@link MetricsHostService.add}. A negative or
99
+ * non-finite value is ignored. Never throws.
100
+ *
101
+ * @param key - The histogram's registry key.
102
+ * @param value - The measurement, in the declared unit.
103
+ * @param attributes - Raw attributes, bounded per the declaration.
104
+ */
105
+ record(key: AppMetricKeyLike, value: number, attributes?: Record<string, unknown>): void;
106
+ /**
107
+ * A free-form string as a low-cardinality label: `unknown` when empty,
108
+ * `other` when it does not look like an identifier, is too long, or would
109
+ * be the `MAX_DISTINCT_VALUES + 1`-th distinct value for `key` in this
110
+ * process.
111
+ *
112
+ * @param key - The budget to charge (usually the attribute key).
113
+ * @param value - The raw value.
114
+ * @returns The bounded label.
115
+ */
116
+ boundLabel(key: string, value: unknown): string;
117
+ /**
118
+ * Whether gauge providers run in this process: the `gauges` option, else
119
+ * `OTEL_ENABLED === 'true'`.
120
+ *
121
+ * @returns `true` when gauges are on.
122
+ */
123
+ gaugesEnabled(): boolean;
124
+ /**
125
+ * The meter, clock and export gate for a gauge provider, or `null` when
126
+ * gauges are off in this process (the caller then registers nothing).
127
+ *
128
+ * @returns The context, or `null`.
129
+ */
130
+ gaugeContext(): AppGaugeContext | null;
131
+ /**
132
+ * Runs `provider` with the gauge context, once, when gauges are on. A
133
+ * provider that throws is logged at `debug` and reported as not registered.
134
+ * Never throws.
135
+ *
136
+ * @param provider - Creates its gauges (`createRegisteredGauge`) and their callback.
137
+ * @returns Whether the provider ran to completion.
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * metricsHost.registerGaugeProvider(({ meter, gateOpen }) => {
142
+ * const backlog = createRegisteredGauge(meter, 'coachBacklog');
143
+ * backlog.addCallback(async (result) => {
144
+ * if (!gateOpen()) return;
145
+ * result.observe(await countBacklog());
146
+ * });
147
+ * });
148
+ * ```
149
+ *
150
+ * @extensionPoint registry
151
+ * @stability experimental
152
+ */
153
+ registerGaugeProvider(provider: GaugeProvider): boolean;
154
+ private create;
155
+ /** The instrument for `key`, created on first use when it was registered after construction. */
156
+ private lookup;
157
+ private require;
158
+ private instrumentFor;
159
+ /** The declared attributes of the metric, bounded; every other key dropped. */
160
+ private boundAttributes;
161
+ private safely;
162
+ }
163
+ //# sourceMappingURL=metrics-host.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-host.service.d.ts","sourceRoot":"","sources":["../../../src/otel-core/metrics/metrics-host.service.ts"],"names":[],"mappings":"AAsCA,OAAO,EAA4B,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGxG,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIzF;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,MAA0E,CAAC;AAErH;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB,uGAAuG;IACvG,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAaD;;;;;;GAMG;AACH,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,yFAAyF;IACzF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAEnD,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IACvE,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C;;OAEG;gBACmD,OAAO,CAAC,EAAE,kBAAkB;IAkBlF;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO;IAIvC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS;IAI3C;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASjF;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAaxF;;;;;;;;;OASG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAQ/C;;;;;OAKG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;OAKG;IACH,YAAY,IAAI,eAAe,GAAG,IAAI;IAKtC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO;IAgBvD,OAAO,CAAC,MAAM;IAuBd,gGAAgG;IAChG,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,aAAa;IAYrB,+EAA+E;IAC/E,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,MAAM;CAOf"}
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // The metrics host (issue #600; split out of the app's AppMetricsService by
4
+ // issue #700)
5
+ // =============================================================================
6
+ //
7
+ // THE ONE PLACE INSTRUMENTS ARE CREATED. Every counter and histogram declared
8
+ // in the app-metric registry (`metric-name.registry.ts`) is created here, with
9
+ // exactly its declared name, unit, description and bucket boundaries; gauges
10
+ // are created by their providers (`gauge-provider.ts`). An app's own metrics
11
+ // service builds its typed recorders on top (the reference app:
12
+ // `apps/api/src/common/otel/app-metrics.service.ts`), and emits generic ones
13
+ // with `add(key, …)` / `record(key, …)`.
14
+ //
15
+ // -----------------------------------------------------------------------------
16
+ // OFF MEANS NO-OP, FOR FREE
17
+ // -----------------------------------------------------------------------------
18
+ //
19
+ // The meter is `metrics.getMeter('app')` from `@opentelemetry/api`. When
20
+ // `OTEL_ENABLED` is not `true`, `initializeOtel()` installs no SDK, the
21
+ // global MeterProvider is the API's no-op one, and every instrument is a
22
+ // no-op: a counter `add()` costs a function call. When the SDK IS installed
23
+ // but the runtime gate is closed, instruments still aggregate in memory and
24
+ // the gated exporter drops each batch (`sdk/telemetry-gate.ts`).
25
+ //
26
+ // Observable gauges are different, because their callbacks query something:
27
+ // a provider is called only when gauges are on for this process (the
28
+ // `gauges` option, default `OTEL_ENABLED === 'true'`), and each callback
29
+ // returns early while the gate is closed.
30
+ //
31
+ // -----------------------------------------------------------------------------
32
+ // NEVER THROWS
33
+ // -----------------------------------------------------------------------------
34
+ //
35
+ // `add`, `record` and `registerGaugeProvider` are wrapped: a metrics fault
36
+ // must never reach a job runner, an auth flow or a delivery.
37
+ // =============================================================================
38
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
39
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
40
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
41
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
42
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
43
+ };
44
+ var __metadata = (this && this.__metadata) || function (k, v) {
45
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
46
+ };
47
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
48
+ return function (target, key) { decorator(target, key, paramIndex); }
49
+ };
50
+ var MetricsHostService_1;
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.MetricsHostService = exports.METRICS_HOST_OPTIONS = exports.APP_METER_NAME = void 0;
53
+ const common_1 = require("@nestjs/common");
54
+ const api_1 = require("@opentelemetry/api");
55
+ const telemetry_gate_1 = require("../sdk/telemetry-gate");
56
+ const labels_1 = require("./labels");
57
+ const metric_name_registry_1 = require("./metric-name.registry");
58
+ /**
59
+ * The instrumentation scope every application metric is created under.
60
+ *
61
+ * @stability stable
62
+ */
63
+ exports.APP_METER_NAME = 'app';
64
+ /**
65
+ * Injection token of the host's optional {@link MetricsHostOptions}: an
66
+ * explicit meter, clock, gate and gauge switch. Unprovided in production
67
+ * except for `gauges`; tests provide a meter from an in-memory
68
+ * `MeterProvider`.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * OtelMetricsModule.forRootAsync({
73
+ * inject: [ConfigService],
74
+ * useFactory: (config: ConfigService) => ({ gauges: config.get('otel.enabled') === true }),
75
+ * });
76
+ * ```
77
+ *
78
+ * @extensionPoint token
79
+ * @stability experimental
80
+ */
81
+ exports.METRICS_HOST_OPTIONS = Symbol.for('@marinoscar/platform/otel-core/METRICS_HOST_OPTIONS');
82
+ function describe(error) {
83
+ return error instanceof Error ? error.message : String(error);
84
+ }
85
+ /**
86
+ * The generic metrics host: creates every registered counter and histogram,
87
+ * bounds labels, and hands gauge providers their context. Global through
88
+ * `OtelMetricsModule`; an app builds its typed recorders on it.
89
+ *
90
+ * @stability experimental
91
+ */
92
+ let MetricsHostService = MetricsHostService_1 = class MetricsHostService {
93
+ logger = new common_1.Logger(MetricsHostService_1.name);
94
+ /** The `app` meter: the SDK's when one is installed, the API's no-op meter otherwise. */
95
+ meter;
96
+ /** The clock, in epoch milliseconds. */
97
+ now;
98
+ /** Whether the runtime export gate is open. */
99
+ gateOpen;
100
+ gaugesForced;
101
+ /** Every registered counter and histogram, by code key, created from its declaration. */
102
+ instruments = new Map();
103
+ /** Keys `add`/`record` were given that name no counter (or histogram) of that kind; each logged once. */
104
+ unknownKeys = new Set();
105
+ labels = new labels_1.LabelBudget();
106
+ /**
107
+ * @param options - See {@link MetricsHostOptions}; every field optional.
108
+ */
109
+ constructor(options) {
110
+ // Resolved at construction, which is after `initializeOtel()` has run (the
111
+ // app loads it first), so this is the SDK's meter when there is one and
112
+ // the API's no-op meter otherwise.
113
+ this.meter = options?.meter ?? api_1.metrics.getMeter(exports.APP_METER_NAME);
114
+ this.now = options?.now ?? Date.now;
115
+ this.gateOpen = options?.gateOpen ?? (() => telemetry_gate_1.telemetryGate.isEnabled());
116
+ this.gaugesForced = options?.gauges;
117
+ // Every counter and histogram registered so far, platform and app alike.
118
+ // A declaration registered later is created on first use.
119
+ for (const def of metric_name_registry_1.appMetricRegistry.list())
120
+ this.create(def);
121
+ }
122
+ // ===========================================================================
123
+ // Instruments
124
+ // ===========================================================================
125
+ /**
126
+ * The counter registered under `key`.
127
+ *
128
+ * @param key - A registry key declared as a counter.
129
+ * @returns The counter.
130
+ * @throws Error when `key` is not registered, or is not a counter.
131
+ */
132
+ counter(key) {
133
+ return this.require(key, 'counter').instrument;
134
+ }
135
+ /**
136
+ * The histogram registered under `key`.
137
+ *
138
+ * @param key - A registry key declared as a histogram.
139
+ * @returns The histogram.
140
+ * @throws Error when `key` is not registered, or is not a histogram.
141
+ */
142
+ histogram(key) {
143
+ return this.require(key, 'histogram').instrument;
144
+ }
145
+ /**
146
+ * Adds `value` (default 1) to the counter registered under `key`, with its
147
+ * declared attributes only, each bounded (`enum`: the value or `other`;
148
+ * `free`: {@link MetricsHostService.boundLabel}). An undeclared attribute
149
+ * key is dropped. An unknown key, or a key that names a histogram or gauge,
150
+ * is a no-op logged once at `debug`. A negative or non-finite value is
151
+ * ignored (counters are monotonic). Never throws.
152
+ *
153
+ * @param key - The counter's registry key.
154
+ * @param value - The amount; default 1.
155
+ * @param attributes - Raw attributes, bounded per the declaration.
156
+ */
157
+ add(key, value = 1, attributes) {
158
+ this.safely(() => {
159
+ const entry = this.instrumentFor(key, 'counter');
160
+ const amount = (0, labels_1.nonNegative)(value);
161
+ if (!entry || amount === null)
162
+ return;
163
+ entry.instrument.add(amount, this.boundAttributes(entry, attributes));
164
+ });
165
+ }
166
+ /**
167
+ * Records `value` on the histogram registered under `key`, with the same
168
+ * attribute rules as {@link MetricsHostService.add}. A negative or
169
+ * non-finite value is ignored. Never throws.
170
+ *
171
+ * @param key - The histogram's registry key.
172
+ * @param value - The measurement, in the declared unit.
173
+ * @param attributes - Raw attributes, bounded per the declaration.
174
+ */
175
+ record(key, value, attributes) {
176
+ this.safely(() => {
177
+ const entry = this.instrumentFor(key, 'histogram');
178
+ const amount = (0, labels_1.nonNegative)(value);
179
+ if (!entry || amount === null)
180
+ return;
181
+ entry.instrument.record(amount, this.boundAttributes(entry, attributes));
182
+ });
183
+ }
184
+ // ===========================================================================
185
+ // Label bounding
186
+ // ===========================================================================
187
+ /**
188
+ * A free-form string as a low-cardinality label: `unknown` when empty,
189
+ * `other` when it does not look like an identifier, is too long, or would
190
+ * be the `MAX_DISTINCT_VALUES + 1`-th distinct value for `key` in this
191
+ * process.
192
+ *
193
+ * @param key - The budget to charge (usually the attribute key).
194
+ * @param value - The raw value.
195
+ * @returns The bounded label.
196
+ */
197
+ boundLabel(key, value) {
198
+ return this.labels.bound(key, value);
199
+ }
200
+ // ===========================================================================
201
+ // Gauges
202
+ // ===========================================================================
203
+ /**
204
+ * Whether gauge providers run in this process: the `gauges` option, else
205
+ * `OTEL_ENABLED === 'true'`.
206
+ *
207
+ * @returns `true` when gauges are on.
208
+ */
209
+ gaugesEnabled() {
210
+ return this.gaugesForced ?? process.env.OTEL_ENABLED === 'true';
211
+ }
212
+ /**
213
+ * The meter, clock and export gate for a gauge provider, or `null` when
214
+ * gauges are off in this process (the caller then registers nothing).
215
+ *
216
+ * @returns The context, or `null`.
217
+ */
218
+ gaugeContext() {
219
+ if (!this.gaugesEnabled())
220
+ return null;
221
+ return { meter: this.meter, now: this.now, gateOpen: this.gateOpen };
222
+ }
223
+ /**
224
+ * Runs `provider` with the gauge context, once, when gauges are on. A
225
+ * provider that throws is logged at `debug` and reported as not registered.
226
+ * Never throws.
227
+ *
228
+ * @param provider - Creates its gauges (`createRegisteredGauge`) and their callback.
229
+ * @returns Whether the provider ran to completion.
230
+ *
231
+ * @example
232
+ * ```ts
233
+ * metricsHost.registerGaugeProvider(({ meter, gateOpen }) => {
234
+ * const backlog = createRegisteredGauge(meter, 'coachBacklog');
235
+ * backlog.addCallback(async (result) => {
236
+ * if (!gateOpen()) return;
237
+ * result.observe(await countBacklog());
238
+ * });
239
+ * });
240
+ * ```
241
+ *
242
+ * @extensionPoint registry
243
+ * @stability experimental
244
+ */
245
+ registerGaugeProvider(provider) {
246
+ const context = this.gaugeContext();
247
+ if (!context)
248
+ return false;
249
+ try {
250
+ provider(context);
251
+ return true;
252
+ }
253
+ catch (error) {
254
+ this.logger.debug(`Could not register application gauges: ${describe(error)}`);
255
+ return false;
256
+ }
257
+ }
258
+ // ===========================================================================
259
+ // Internals
260
+ // ===========================================================================
261
+ create(def) {
262
+ let instrument;
263
+ if (def.kind === 'counter') {
264
+ instrument = this.meter.createCounter(def.name, { description: def.description, unit: def.unit });
265
+ }
266
+ else if (def.kind === 'histogram') {
267
+ instrument = this.meter.createHistogram(def.name, {
268
+ description: def.description,
269
+ unit: def.unit,
270
+ ...(def.buckets ? { advice: { explicitBucketBoundaries: [...def.buckets] } } : {}),
271
+ });
272
+ }
273
+ else {
274
+ return null;
275
+ }
276
+ const enums = new Map();
277
+ for (const [key, rule] of Object.entries(def.attributes ?? {})) {
278
+ if (rule.kind === 'enum')
279
+ enums.set(key, new Set(rule.values));
280
+ }
281
+ const entry = { def, instrument, enums };
282
+ this.instruments.set(def.key, entry);
283
+ return entry;
284
+ }
285
+ /** The instrument for `key`, created on first use when it was registered after construction. */
286
+ lookup(key) {
287
+ const entry = this.instruments.get(key);
288
+ if (entry)
289
+ return entry;
290
+ const def = metric_name_registry_1.appMetricRegistry.get(key);
291
+ return def ? this.create(def) : null;
292
+ }
293
+ require(key, kind) {
294
+ const entry = this.lookup(key);
295
+ if (entry && entry.def.kind === kind)
296
+ return entry;
297
+ const actual = entry?.def.kind ?? metric_name_registry_1.appMetricRegistry.get(key)?.kind;
298
+ throw new Error(actual ? `App metric "${key}" is a ${actual}, not a ${kind}.` : `App metric "${key}" is not registered.`);
299
+ }
300
+ instrumentFor(key, kind) {
301
+ const entry = this.lookup(key);
302
+ if (entry && entry.def.kind === kind)
303
+ return entry;
304
+ if (!this.unknownKeys.has(key)) {
305
+ this.unknownKeys.add(key);
306
+ const why = entry ? `is a ${entry.def.kind}` : metric_name_registry_1.appMetricRegistry.has(key) ? 'is a gauge' : 'is not registered';
307
+ this.logger.debug(`Metric "${String(key)}" ${why}; ${kind === 'counter' ? 'add' : 'record'}() ignored.`);
308
+ }
309
+ return null;
310
+ }
311
+ /** The declared attributes of the metric, bounded; every other key dropped. */
312
+ boundAttributes(entry, attributes) {
313
+ const out = {};
314
+ if (!attributes || typeof attributes !== 'object')
315
+ return out;
316
+ for (const [key, rule] of Object.entries(entry.def.attributes ?? {})) {
317
+ if (!Object.prototype.hasOwnProperty.call(attributes, key))
318
+ continue;
319
+ const raw = attributes[key];
320
+ if (raw === undefined || raw === null)
321
+ continue;
322
+ const value = typeof raw === 'number' || typeof raw === 'boolean' ? String(raw) : raw;
323
+ const allowed = entry.enums.get(key);
324
+ out[key] = rule.kind === 'enum' && allowed ? (0, labels_1.enumLabel)(value, allowed) : this.boundLabel(key, value);
325
+ }
326
+ return out;
327
+ }
328
+ safely(fn) {
329
+ try {
330
+ fn();
331
+ }
332
+ catch (error) {
333
+ this.logger.debug(`Metric recording skipped: ${describe(error)}`);
334
+ }
335
+ }
336
+ };
337
+ exports.MetricsHostService = MetricsHostService;
338
+ exports.MetricsHostService = MetricsHostService = MetricsHostService_1 = __decorate([
339
+ (0, common_1.Injectable)(),
340
+ __param(0, (0, common_1.Optional)()),
341
+ __param(0, (0, common_1.Inject)(exports.METRICS_HOST_OPTIONS)),
342
+ __metadata("design:paramtypes", [Object])
343
+ ], MetricsHostService);
344
+ //# sourceMappingURL=metrics-host.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-host.service.js","sourceRoot":"","sources":["../../../src/otel-core/metrics/metrics-host.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { type DynamicModule, type InjectionToken, type ModuleMetadata } from '@nestjs/common';
2
+ import { type MetricsHostOptions } from './metrics-host.service';
3
+ /**
4
+ * Options of {@link OtelMetricsModule.forRootAsync}: a factory for
5
+ * {@link MetricsHostOptions}, typically reading the app's configuration.
6
+ *
7
+ * @stability experimental
8
+ */
9
+ export interface OtelMetricsModuleAsyncOptions {
10
+ /** Modules exporting the factory's dependencies (a global `ConfigModule` needs none). */
11
+ imports?: ModuleMetadata['imports'];
12
+ /** Tokens injected into `useFactory`, in order. */
13
+ inject?: InjectionToken[];
14
+ /** Builds the options; may be async. */
15
+ useFactory: (...args: never[]) => MetricsHostOptions | Promise<MetricsHostOptions>;
16
+ }
17
+ /**
18
+ * Global module providing {@link MetricsHostService}. Import it once, in the
19
+ * root module or in the app's own metrics module: bare (every default), with
20
+ * `forRoot(options)` or with `forRootAsync({ inject, useFactory })`.
21
+ *
22
+ * @stability experimental
23
+ */
24
+ export declare class OtelMetricsModule {
25
+ /**
26
+ * The module with fixed host options.
27
+ *
28
+ * @param options - See {@link MetricsHostOptions}.
29
+ * @returns A global dynamic module.
30
+ *
31
+ * @stability experimental
32
+ */
33
+ static forRoot(options?: MetricsHostOptions): DynamicModule;
34
+ /**
35
+ * The module with host options built by a factory (for example from the
36
+ * app's `ConfigService`).
37
+ *
38
+ * @param options - See {@link OtelMetricsModuleAsyncOptions}.
39
+ * @returns A global dynamic module.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * OtelMetricsModule.forRootAsync({
44
+ * inject: [ConfigService],
45
+ * useFactory: (config: ConfigService) => ({ gauges: config.get<boolean>('otel.enabled') === true }),
46
+ * });
47
+ * ```
48
+ *
49
+ * @extensionPoint option
50
+ * @stability experimental
51
+ */
52
+ static forRootAsync(options: OtelMetricsModuleAsyncOptions): DynamicModule;
53
+ }
54
+ //# sourceMappingURL=otel-metrics.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-metrics.module.d.ts","sourceRoot":"","sources":["../../../src/otel-core/metrics/otel-metrics.module.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9G,OAAO,EAA4C,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE3G;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC5C,yFAAyF;IACzF,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,mDAAmD;IACnD,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,wCAAwC;IACxC,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpF;AAED;;;;;;GAMG;AACH,qBAKa,iBAAiB;IAC5B;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,aAAa;IAS/D;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,6BAA6B,GAAG,aAAa;CAgB3E"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ // The metrics host's module (issue #700): global, so every slice and app
3
+ // module injects `MetricsHostService` without importing it, like the app's
4
+ // own `AppMetricsModule` before it.
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ var OtelMetricsModule_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.OtelMetricsModule = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const metrics_host_service_1 = require("./metrics-host.service");
16
+ /**
17
+ * Global module providing {@link MetricsHostService}. Import it once, in the
18
+ * root module or in the app's own metrics module: bare (every default), with
19
+ * `forRoot(options)` or with `forRootAsync({ inject, useFactory })`.
20
+ *
21
+ * @stability experimental
22
+ */
23
+ let OtelMetricsModule = OtelMetricsModule_1 = class OtelMetricsModule {
24
+ /**
25
+ * The module with fixed host options.
26
+ *
27
+ * @param options - See {@link MetricsHostOptions}.
28
+ * @returns A global dynamic module.
29
+ *
30
+ * @stability experimental
31
+ */
32
+ static forRoot(options = {}) {
33
+ return {
34
+ module: OtelMetricsModule_1,
35
+ global: true,
36
+ providers: [{ provide: metrics_host_service_1.METRICS_HOST_OPTIONS, useValue: options }, metrics_host_service_1.MetricsHostService],
37
+ exports: [metrics_host_service_1.MetricsHostService, metrics_host_service_1.METRICS_HOST_OPTIONS],
38
+ };
39
+ }
40
+ /**
41
+ * The module with host options built by a factory (for example from the
42
+ * app's `ConfigService`).
43
+ *
44
+ * @param options - See {@link OtelMetricsModuleAsyncOptions}.
45
+ * @returns A global dynamic module.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * OtelMetricsModule.forRootAsync({
50
+ * inject: [ConfigService],
51
+ * useFactory: (config: ConfigService) => ({ gauges: config.get<boolean>('otel.enabled') === true }),
52
+ * });
53
+ * ```
54
+ *
55
+ * @extensionPoint option
56
+ * @stability experimental
57
+ */
58
+ static forRootAsync(options) {
59
+ return {
60
+ module: OtelMetricsModule_1,
61
+ global: true,
62
+ imports: options.imports ?? [],
63
+ providers: [
64
+ {
65
+ provide: metrics_host_service_1.METRICS_HOST_OPTIONS,
66
+ inject: options.inject ?? [],
67
+ useFactory: options.useFactory,
68
+ },
69
+ metrics_host_service_1.MetricsHostService,
70
+ ],
71
+ exports: [metrics_host_service_1.MetricsHostService, metrics_host_service_1.METRICS_HOST_OPTIONS],
72
+ };
73
+ }
74
+ };
75
+ exports.OtelMetricsModule = OtelMetricsModule;
76
+ exports.OtelMetricsModule = OtelMetricsModule = OtelMetricsModule_1 = __decorate([
77
+ (0, common_1.Global)(),
78
+ (0, common_1.Module)({
79
+ providers: [metrics_host_service_1.MetricsHostService],
80
+ exports: [metrics_host_service_1.MetricsHostService],
81
+ })
82
+ ], OtelMetricsModule);
83
+ //# sourceMappingURL=otel-metrics.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-metrics.module.js","sourceRoot":"","sources":["../../../src/otel-core/metrics/otel-metrics.module.ts"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,2EAA2E;AAC3E,oCAAoC;;;;;;;;;;AAEpC,2CAA8G;AAE9G,iEAA2G;AAiB3G;;;;;;GAMG;AAMI,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,UAA8B,EAAE;QAC7C,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,2CAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,yCAAkB,CAAC;YACrF,OAAO,EAAE,CAAC,yCAAkB,EAAE,2CAAoB,CAAC;SACpD,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,YAAY,CAAC,OAAsC;QACxD,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,2CAAoB;oBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;oBAC5B,UAAU,EAAE,OAAO,CAAC,UAAsF;iBAC3G;gBACD,yCAAkB;aACnB;YACD,OAAO,EAAE,CAAC,yCAAkB,EAAE,2CAAoB,CAAC;SACpD,CAAC;IACJ,CAAC;CACF,CAAA;AApDY,8CAAiB;4BAAjB,iBAAiB;IAL7B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,yCAAkB,CAAC;QAC/B,OAAO,EAAE,CAAC,yCAAkB,CAAC;KAC9B,CAAC;GACW,iBAAiB,CAoD7B"}