@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,58 @@
1
+ "use strict";
2
+ // `@marinoscar/platform-api/otel-core`: the emitting half of telemetry
3
+ // (issue #700). The metrics host and its name registry, label bounding, the
4
+ // gauge-provider seam, the request span attributes hook, `@Trace()`, and the
5
+ // Nest-free `sdk` half re-exported. Documented in ./README.md.
6
+ //
7
+ // Import `@marinoscar/platform-api/otel-core/sdk`, never this index, from the
8
+ // file that installs the SDK: this one loads `@nestjs/common`.
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.Trace = exports.requestSpanAttributesHook = exports.registerRequestSpanAttributes = exports.hasBearer = exports.ATTR_HTTP_ROUTE = exports.ATTR_APP_ROUTE_MATCHED = exports.ATTR_APP_REQUEST_BEARER = exports.OtelMetricsModule = exports.MetricsHostService = exports.METRICS_HOST_OPTIONS = exports.APP_METER_NAME = exports.createRegisteredGauge = exports.shapeLabel = exports.nonNegative = exports.enumLabel = exports.UNKNOWN_LABEL = exports.OTHER_LABEL = exports.MAX_DISTINCT_VALUES = exports.LabelBudget = exports.registerAppMetrics = exports.assertAppMetric = exports.appMetricRegistry = exports.APP_METRIC_NAME_PATTERN = exports.APP_METRIC_KEY_PATTERN = exports.APP_METRIC_ATTRIBUTE_KEY_PATTERN = void 0;
25
+ __exportStar(require("./sdk/index"), exports);
26
+ var metric_name_registry_1 = require("./metrics/metric-name.registry");
27
+ Object.defineProperty(exports, "APP_METRIC_ATTRIBUTE_KEY_PATTERN", { enumerable: true, get: function () { return metric_name_registry_1.APP_METRIC_ATTRIBUTE_KEY_PATTERN; } });
28
+ Object.defineProperty(exports, "APP_METRIC_KEY_PATTERN", { enumerable: true, get: function () { return metric_name_registry_1.APP_METRIC_KEY_PATTERN; } });
29
+ Object.defineProperty(exports, "APP_METRIC_NAME_PATTERN", { enumerable: true, get: function () { return metric_name_registry_1.APP_METRIC_NAME_PATTERN; } });
30
+ Object.defineProperty(exports, "appMetricRegistry", { enumerable: true, get: function () { return metric_name_registry_1.appMetricRegistry; } });
31
+ Object.defineProperty(exports, "assertAppMetric", { enumerable: true, get: function () { return metric_name_registry_1.assertAppMetric; } });
32
+ Object.defineProperty(exports, "registerAppMetrics", { enumerable: true, get: function () { return metric_name_registry_1.registerAppMetrics; } });
33
+ var labels_1 = require("./metrics/labels");
34
+ Object.defineProperty(exports, "LabelBudget", { enumerable: true, get: function () { return labels_1.LabelBudget; } });
35
+ Object.defineProperty(exports, "MAX_DISTINCT_VALUES", { enumerable: true, get: function () { return labels_1.MAX_DISTINCT_VALUES; } });
36
+ Object.defineProperty(exports, "OTHER_LABEL", { enumerable: true, get: function () { return labels_1.OTHER_LABEL; } });
37
+ Object.defineProperty(exports, "UNKNOWN_LABEL", { enumerable: true, get: function () { return labels_1.UNKNOWN_LABEL; } });
38
+ Object.defineProperty(exports, "enumLabel", { enumerable: true, get: function () { return labels_1.enumLabel; } });
39
+ Object.defineProperty(exports, "nonNegative", { enumerable: true, get: function () { return labels_1.nonNegative; } });
40
+ Object.defineProperty(exports, "shapeLabel", { enumerable: true, get: function () { return labels_1.shapeLabel; } });
41
+ var gauge_provider_1 = require("./metrics/gauge-provider");
42
+ Object.defineProperty(exports, "createRegisteredGauge", { enumerable: true, get: function () { return gauge_provider_1.createRegisteredGauge; } });
43
+ var metrics_host_service_1 = require("./metrics/metrics-host.service");
44
+ Object.defineProperty(exports, "APP_METER_NAME", { enumerable: true, get: function () { return metrics_host_service_1.APP_METER_NAME; } });
45
+ Object.defineProperty(exports, "METRICS_HOST_OPTIONS", { enumerable: true, get: function () { return metrics_host_service_1.METRICS_HOST_OPTIONS; } });
46
+ Object.defineProperty(exports, "MetricsHostService", { enumerable: true, get: function () { return metrics_host_service_1.MetricsHostService; } });
47
+ var otel_metrics_module_1 = require("./metrics/otel-metrics.module");
48
+ Object.defineProperty(exports, "OtelMetricsModule", { enumerable: true, get: function () { return otel_metrics_module_1.OtelMetricsModule; } });
49
+ var request_span_attributes_1 = require("./spans/request-span-attributes");
50
+ Object.defineProperty(exports, "ATTR_APP_REQUEST_BEARER", { enumerable: true, get: function () { return request_span_attributes_1.ATTR_APP_REQUEST_BEARER; } });
51
+ Object.defineProperty(exports, "ATTR_APP_ROUTE_MATCHED", { enumerable: true, get: function () { return request_span_attributes_1.ATTR_APP_ROUTE_MATCHED; } });
52
+ Object.defineProperty(exports, "ATTR_HTTP_ROUTE", { enumerable: true, get: function () { return request_span_attributes_1.ATTR_HTTP_ROUTE; } });
53
+ Object.defineProperty(exports, "hasBearer", { enumerable: true, get: function () { return request_span_attributes_1.hasBearer; } });
54
+ Object.defineProperty(exports, "registerRequestSpanAttributes", { enumerable: true, get: function () { return request_span_attributes_1.registerRequestSpanAttributes; } });
55
+ Object.defineProperty(exports, "requestSpanAttributesHook", { enumerable: true, get: function () { return request_span_attributes_1.requestSpanAttributesHook; } });
56
+ var trace_decorator_1 = require("./spans/trace.decorator");
57
+ Object.defineProperty(exports, "Trace", { enumerable: true, get: function () { return trace_decorator_1.Trace; } });
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/otel-core/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,+DAA+D;AAC/D,EAAE;AACF,8EAA8E;AAC9E,+DAA+D;;;;;;;;;;;;;;;;;AAE/D,8CAA4B;AAE5B,uEAWwC;AAVtC,wIAAA,gCAAgC,OAAA;AAChC,8HAAA,sBAAsB,OAAA;AACtB,+HAAA,uBAAuB,OAAA;AACvB,yHAAA,iBAAiB,OAAA;AACjB,uHAAA,eAAe,OAAA;AACf,0HAAA,kBAAkB,OAAA;AAMpB,2CAQ0B;AAPxB,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AACnB,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,oGAAA,UAAU,OAAA;AAEZ,2DAKkC;AAJhC,uHAAA,qBAAqB,OAAA;AAKvB,uEAKwC;AAJtC,sHAAA,cAAc,OAAA;AACd,4HAAA,oBAAoB,OAAA;AACpB,0HAAA,kBAAkB,OAAA;AAGpB,qEAAsG;AAA7F,wHAAA,iBAAiB,OAAA;AAE1B,2EAOyC;AANvC,kIAAA,uBAAuB,OAAA;AACvB,iIAAA,sBAAsB,OAAA;AACtB,0HAAA,eAAe,OAAA;AACf,oHAAA,SAAS,OAAA;AACT,wIAAA,6BAA6B,OAAA;AAC7B,oIAAA,yBAAyB,OAAA;AAE3B,2DAAmE;AAA1D,wGAAA,KAAK,OAAA"}
@@ -0,0 +1,44 @@
1
+ import type { Meter, ObservableGauge } from '@opentelemetry/api';
2
+ import { type AppMetricKeys } from './metric-name.registry';
3
+ /**
4
+ * A registered metric's code key: one an app typed by augmenting
5
+ * `AppMetricKeys`, or any string (checked against the registry at run time).
6
+ *
7
+ * @stability experimental
8
+ */
9
+ export type AppMetricKeyLike = (keyof AppMetricKeys & string) | (string & {});
10
+ /**
11
+ * What a gauge provider needs to follow the host's conventions.
12
+ *
13
+ * @stability stable
14
+ */
15
+ export interface AppGaugeContext {
16
+ /** The `app` meter. */
17
+ meter: Meter;
18
+ /** The clock, in epoch milliseconds (a test seam). */
19
+ now: () => number;
20
+ /** Whether the runtime export gate is open; a callback queries nothing while it is closed. */
21
+ gateOpen: () => boolean;
22
+ }
23
+ /**
24
+ * A gauge provider: creates its gauges and their callback from the context.
25
+ * Called once, and only when gauges are on for this process.
26
+ *
27
+ * @stability experimental
28
+ */
29
+ export type GaugeProvider = (context: AppGaugeContext) => void;
30
+ /**
31
+ * Creates the observable gauge DECLARED under `key` in the app-metric
32
+ * registry, with its registered name, unit and description. For gauge
33
+ * providers: the callback is theirs, the descriptor is the registry's.
34
+ *
35
+ * @param meter - The meter from {@link AppGaugeContext}.
36
+ * @param key - The gauge's registry key.
37
+ * @returns The created gauge.
38
+ * @throws RegistryError `UNKNOWN_ID` when no metric is declared under `key`;
39
+ * `Error` when the declared metric is not a gauge.
40
+ *
41
+ * @stability stable
42
+ */
43
+ export declare function createRegisteredGauge(meter: Meter, key: AppMetricKeyLike): ObservableGauge;
44
+ //# sourceMappingURL=gauge-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gauge-provider.d.ts","sourceRoot":"","sources":["../../../src/otel-core/metrics/gauge-provider.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,sDAAsD;IACtD,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,GAAG,eAAe,CAI1F"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // The gauge-provider seam (issue #606; generalised by issue #700)
4
+ // =============================================================================
5
+ //
6
+ // Observable gauges are different from counters and histograms: their
7
+ // callbacks QUERY something (a table, a fleet), so they belong to the module
8
+ // that owns that something, not to the metrics host. The host hands such a
9
+ // provider its meter, clock and export gate (`AppGaugeContext`), and only
10
+ // when gauges are on for this process; the provider creates its gauges from
11
+ // their registry declarations (`createRegisteredGauge`) and returns early
12
+ // from its callback while the gate is closed, so a deployment with telemetry
13
+ // off never pays for a single query.
14
+ // =============================================================================
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.createRegisteredGauge = createRegisteredGauge;
17
+ const metric_name_registry_1 = require("./metric-name.registry");
18
+ /**
19
+ * Creates the observable gauge DECLARED under `key` in the app-metric
20
+ * registry, with its registered name, unit and description. For gauge
21
+ * providers: the callback is theirs, the descriptor is the registry's.
22
+ *
23
+ * @param meter - The meter from {@link AppGaugeContext}.
24
+ * @param key - The gauge's registry key.
25
+ * @returns The created gauge.
26
+ * @throws RegistryError `UNKNOWN_ID` when no metric is declared under `key`;
27
+ * `Error` when the declared metric is not a gauge.
28
+ *
29
+ * @stability stable
30
+ */
31
+ function createRegisteredGauge(meter, key) {
32
+ const def = metric_name_registry_1.appMetricRegistry.require(key);
33
+ if (def.kind !== 'gauge')
34
+ throw new Error(`App metric "${key}" is a ${def.kind}, not a gauge.`);
35
+ return meter.createObservableGauge(def.name, { description: def.description, unit: def.unit });
36
+ }
37
+ //# sourceMappingURL=gauge-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gauge-provider.js","sourceRoot":"","sources":["../../../src/otel-core/metrics/gauge-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAChF,EAAE;AACF,sEAAsE;AACtE,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,qCAAqC;AACrC,gFAAgF;;AAiDhF,sDAIC;AAjDD,iEAA+E;AAgC/E;;;;;;;;;;;;GAYG;AACH,SAAgB,qBAAqB,CAAC,KAAY,EAAE,GAAqB;IACvE,MAAM,GAAG,GAAG,wCAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,UAAU,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC;IAChG,OAAO,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACjG,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Per attribute key, how many distinct free-form values are admitted before
3
+ * `other`, per process.
4
+ *
5
+ * @stability stable
6
+ */
7
+ export declare const MAX_DISTINCT_VALUES = 100;
8
+ /**
9
+ * The label a value outside its bound (shape, budget or enum) is exported as.
10
+ *
11
+ * @stability stable
12
+ */
13
+ export declare const OTHER_LABEL = "other";
14
+ /**
15
+ * The label an empty or missing value is exported as.
16
+ *
17
+ * @stability stable
18
+ */
19
+ export declare const UNKNOWN_LABEL = "unknown";
20
+ /**
21
+ * The SHAPE half of `MetricsHostService.boundLabel`, with no distinct-value
22
+ * budget: `unknown` when empty, `other` when the value is not
23
+ * identifier-shaped (at most 64 characters of `[A-Za-z0-9_.:/@+-]`, never
24
+ * address-shaped), else the trimmed value. For a label that is functionally
25
+ * dependent on another, already-bounded one (a node's name beside its capped
26
+ * `node_id`), where a per-process budget would only fold real values into
27
+ * `other` without bounding anything.
28
+ *
29
+ * @param value - Any value; non-strings are `unknown`.
30
+ * @returns The trimmed value, `other` or `unknown`.
31
+ *
32
+ * @stability stable
33
+ */
34
+ export declare function shapeLabel(value: unknown): string;
35
+ /**
36
+ * An enumerated value, or `other`.
37
+ *
38
+ * @param value - The value to check.
39
+ * @param allowed - The values the attribute admits.
40
+ * @returns `value` when it is one of `allowed`, else `other`.
41
+ *
42
+ * @stability stable
43
+ */
44
+ export declare function enumLabel(value: unknown, allowed: ReadonlySet<string>): string;
45
+ /**
46
+ * A non-negative finite number, or `null`: what a counter, histogram or
47
+ * duration accepts.
48
+ *
49
+ * @param value - The value to check.
50
+ * @returns `value`, or `null` when it is not a non-negative finite number.
51
+ *
52
+ * @stability stable
53
+ */
54
+ export declare function nonNegative(value: unknown): number | null;
55
+ /**
56
+ * Per-key distinct-value budgets: the stateful half of label bounding.
57
+ *
58
+ * @stability experimental
59
+ */
60
+ export declare class LabelBudget {
61
+ private readonly maxDistinct;
62
+ /** Distinct free-form values admitted so far, per attribute key. */
63
+ private readonly seen;
64
+ /**
65
+ * @param maxDistinct - Distinct values admitted per key before `other`.
66
+ */
67
+ constructor(maxDistinct?: number);
68
+ /**
69
+ * A free-form string as a low-cardinality label: `unknown` when empty,
70
+ * `other` when it does not look like an identifier, is too long, or would
71
+ * be the `maxDistinct + 1`-th distinct value for `key`.
72
+ *
73
+ * @param key - The budget to charge (usually the attribute key).
74
+ * @param value - The raw value.
75
+ * @returns The bounded label.
76
+ */
77
+ bound(key: string, value: unknown): string;
78
+ }
79
+ //# sourceMappingURL=labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/otel-core/metrics/labels.ts"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAQvC;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAE9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;GAIG;AACH,qBAAa,WAAW;IAOV,OAAO,CAAC,QAAQ,CAAC,WAAW;IANxC,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IAEvD;;OAEG;gBAC0B,WAAW,GAAE,MAA4B;IAEtE;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;CAc3C"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // Label bounding (issue #600; packaged by issue #700)
4
+ // =============================================================================
5
+ //
6
+ // Attributes become GreptimeDB columns and series, so every label is bounded:
7
+ // job type, status/outcome, executor, provider, model, operation, channel and
8
+ // event key, NEVER a user id, an email, a URL or an error message. A
9
+ // free-form string must look like an identifier (at most 64 characters of
10
+ // `[A-Za-z0-9_.:/@+-]`, never address-shaped), and each attribute key admits
11
+ // at most `MAX_DISTINCT_VALUES` distinct values per process; anything else
12
+ // becomes `other`. Enumerated attributes (outcomes) are checked against their
13
+ // allowed set and fall back to `other` too.
14
+ // =============================================================================
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.LabelBudget = exports.UNKNOWN_LABEL = exports.OTHER_LABEL = exports.MAX_DISTINCT_VALUES = void 0;
17
+ exports.shapeLabel = shapeLabel;
18
+ exports.enumLabel = enumLabel;
19
+ exports.nonNegative = nonNegative;
20
+ /**
21
+ * Per attribute key, how many distinct free-form values are admitted before
22
+ * `other`, per process.
23
+ *
24
+ * @stability stable
25
+ */
26
+ exports.MAX_DISTINCT_VALUES = 100;
27
+ /** The longest free-form label kept as is. */
28
+ const MAX_LABEL_LENGTH = 64;
29
+ const LABEL_PATTERN = /^[A-Za-z0-9_.:/@+-]+$/;
30
+ /** `@` is allowed for versioned model ids (`model@20240620`), never for an address. */
31
+ const EMAIL_LIKE = /@[^@]*\./;
32
+ /**
33
+ * The label a value outside its bound (shape, budget or enum) is exported as.
34
+ *
35
+ * @stability stable
36
+ */
37
+ exports.OTHER_LABEL = 'other';
38
+ /**
39
+ * The label an empty or missing value is exported as.
40
+ *
41
+ * @stability stable
42
+ */
43
+ exports.UNKNOWN_LABEL = 'unknown';
44
+ /**
45
+ * The SHAPE half of `MetricsHostService.boundLabel`, with no distinct-value
46
+ * budget: `unknown` when empty, `other` when the value is not
47
+ * identifier-shaped (at most 64 characters of `[A-Za-z0-9_.:/@+-]`, never
48
+ * address-shaped), else the trimmed value. For a label that is functionally
49
+ * dependent on another, already-bounded one (a node's name beside its capped
50
+ * `node_id`), where a per-process budget would only fold real values into
51
+ * `other` without bounding anything.
52
+ *
53
+ * @param value - Any value; non-strings are `unknown`.
54
+ * @returns The trimmed value, `other` or `unknown`.
55
+ *
56
+ * @stability stable
57
+ */
58
+ function shapeLabel(value) {
59
+ if (typeof value !== 'string')
60
+ return exports.UNKNOWN_LABEL;
61
+ const trimmed = value.trim();
62
+ if (trimmed.length === 0)
63
+ return exports.UNKNOWN_LABEL;
64
+ if (trimmed.length > MAX_LABEL_LENGTH || !LABEL_PATTERN.test(trimmed) || EMAIL_LIKE.test(trimmed)) {
65
+ return exports.OTHER_LABEL;
66
+ }
67
+ return trimmed;
68
+ }
69
+ /**
70
+ * An enumerated value, or `other`.
71
+ *
72
+ * @param value - The value to check.
73
+ * @param allowed - The values the attribute admits.
74
+ * @returns `value` when it is one of `allowed`, else `other`.
75
+ *
76
+ * @stability stable
77
+ */
78
+ function enumLabel(value, allowed) {
79
+ return typeof value === 'string' && allowed.has(value) ? value : exports.OTHER_LABEL;
80
+ }
81
+ /**
82
+ * A non-negative finite number, or `null`: what a counter, histogram or
83
+ * duration accepts.
84
+ *
85
+ * @param value - The value to check.
86
+ * @returns `value`, or `null` when it is not a non-negative finite number.
87
+ *
88
+ * @stability stable
89
+ */
90
+ function nonNegative(value) {
91
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : null;
92
+ }
93
+ /**
94
+ * Per-key distinct-value budgets: the stateful half of label bounding.
95
+ *
96
+ * @stability experimental
97
+ */
98
+ class LabelBudget {
99
+ maxDistinct;
100
+ /** Distinct free-form values admitted so far, per attribute key. */
101
+ seen = new Map();
102
+ /**
103
+ * @param maxDistinct - Distinct values admitted per key before `other`.
104
+ */
105
+ constructor(maxDistinct = exports.MAX_DISTINCT_VALUES) {
106
+ this.maxDistinct = maxDistinct;
107
+ }
108
+ /**
109
+ * A free-form string as a low-cardinality label: `unknown` when empty,
110
+ * `other` when it does not look like an identifier, is too long, or would
111
+ * be the `maxDistinct + 1`-th distinct value for `key`.
112
+ *
113
+ * @param key - The budget to charge (usually the attribute key).
114
+ * @param value - The raw value.
115
+ * @returns The bounded label.
116
+ */
117
+ bound(key, value) {
118
+ const trimmed = shapeLabel(value);
119
+ if (trimmed === exports.UNKNOWN_LABEL || trimmed === exports.OTHER_LABEL)
120
+ return trimmed;
121
+ let seen = this.seen.get(key);
122
+ if (!seen) {
123
+ seen = new Set();
124
+ this.seen.set(key, seen);
125
+ }
126
+ if (seen.has(trimmed))
127
+ return trimmed;
128
+ if (seen.size >= this.maxDistinct)
129
+ return exports.OTHER_LABEL;
130
+ seen.add(trimmed);
131
+ return trimmed;
132
+ }
133
+ }
134
+ exports.LabelBudget = LabelBudget;
135
+ //# sourceMappingURL=labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../src/otel-core/metrics/labels.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,sDAAsD;AACtD,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,qEAAqE;AACrE,0EAA0E;AAC1E,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,4CAA4C;AAC5C,gFAAgF;;;AA4ChF,gCAQC;AAWD,8BAEC;AAWD,kCAEC;AA5ED;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,8CAA8C;AAC9C,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,uFAAuF;AACvF,MAAM,UAAU,GAAG,UAAU,CAAC;AAE9B;;;;GAIG;AACU,QAAA,WAAW,GAAG,OAAO,CAAC;AAEnC;;;;GAIG;AACU,QAAA,aAAa,GAAG,SAAS,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,SAAgB,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,qBAAa,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,qBAAa,CAAC;IAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,gBAAgB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClG,OAAO,mBAAW,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,KAAc,EAAE,OAA4B;IACpE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAW,CAAC;AAC/E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1F,CAAC;AAED;;;;GAIG;AACH,MAAa,WAAW;IAOO;IAN7B,oEAAoE;IACnD,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEvD;;OAEG;IACH,YAA6B,cAAsB,2BAAmB;QAAzC,gBAAW,GAAX,WAAW,CAA8B;IAAG,CAAC;IAE1E;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAW,EAAE,KAAc;QAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,qBAAa,IAAI,OAAO,KAAK,mBAAW;YAAE,OAAO,OAAO,CAAC;QAEzE,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,mBAAW,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAhCD,kCAgCC"}
@@ -0,0 +1,130 @@
1
+ import { type Registry } from '../../core/index';
2
+ /**
3
+ * The OTel instrument kind. Gauges are declared for their name, unit and
4
+ * description; their callbacks stay code.
5
+ *
6
+ * @stability stable
7
+ */
8
+ export type AppMetricKind = 'counter' | 'histogram' | 'gauge';
9
+ /**
10
+ * How one attribute is bounded before it becomes a label (a GreptimeDB column).
11
+ *
12
+ * - `enum`: the value must be one of `values`, else it is exported as `other`.
13
+ * - `free`: an identifier-shaped string through `MetricsHostService.boundLabel`
14
+ * (at most 64 characters of `[A-Za-z0-9_.:/@+-]`, never address-shaped, and
15
+ * at most `MAX_DISTINCT_VALUES` distinct values per attribute key per
16
+ * process); anything else becomes `other` (or `unknown` when empty).
17
+ *
18
+ * Neither admits a user id, an e-mail, a URL or an error message as a label:
19
+ * declare an attribute only for a low-cardinality dimension (a type, a status,
20
+ * an outcome, a provider).
21
+ *
22
+ * @stability stable
23
+ */
24
+ export type AppMetricAttribute = {
25
+ /** One of `values`, else `other`. */
26
+ kind: 'enum';
27
+ /** The allowed values, non-empty strings. */
28
+ values: readonly string[];
29
+ } | {
30
+ /** An identifier-shaped string, bounded per key. */
31
+ kind: 'free';
32
+ };
33
+ /**
34
+ * One declared `app.*` metric.
35
+ *
36
+ * @stability stable
37
+ */
38
+ export interface AppMetricDef {
39
+ /** Stable code key, e.g. `jobsEnqueued`: what `add`/`record` and `APP_METRIC_NAMES` use. lowerCamelCase. */
40
+ key: string;
41
+ /** OTLP name, e.g. `app.jobs.enqueued`: `app.` then dot-separated snake_case segments. Permanent. */
42
+ name: string;
43
+ /** The instrument kind. */
44
+ kind: AppMetricKind;
45
+ /** OTel unit: `s`, `By`, `{job}`, `1` … (it picks the GreptimeDB table suffix, docs §11.3). */
46
+ unit: string;
47
+ /** One sentence, exported as the instrument's description. */
48
+ description: string;
49
+ /** Histogram bucket boundaries, ascending, in `unit`. Histograms only. */
50
+ buckets?: readonly number[];
51
+ /** The attribute keys the metric may carry (snake_case, no dots); any other key is dropped. */
52
+ attributes?: Readonly<Record<string, AppMetricAttribute>>;
53
+ }
54
+ /**
55
+ * The augmentable set of app metric keys, so `add`/`record` and
56
+ * `createRegisteredGauge` type-check an app's own keys. An app widens it next
57
+ * to its declarations:
58
+ *
59
+ * ```ts
60
+ * declare module '@marinoscar/platform-api/otel-core' {
61
+ * interface AppMetricKeys { coachNudgesSent: true }
62
+ * }
63
+ * ```
64
+ *
65
+ * @stability experimental
66
+ */
67
+ export interface AppMetricKeys {
68
+ }
69
+ /**
70
+ * `app.` then one or more dot-separated snake_case segments.
71
+ *
72
+ * @stability stable
73
+ */
74
+ export declare const APP_METRIC_NAME_PATTERN: RegExp;
75
+ /**
76
+ * Attribute keys become columns: snake_case, no dots (a dotted column needs
77
+ * quoting in every statement).
78
+ *
79
+ * @stability stable
80
+ */
81
+ export declare const APP_METRIC_ATTRIBUTE_KEY_PATTERN: RegExp;
82
+ /**
83
+ * Code keys are lowerCamelCase.
84
+ *
85
+ * @stability stable
86
+ */
87
+ export declare const APP_METRIC_KEY_PATTERN: RegExp;
88
+ /**
89
+ * Every rule a declaration must satisfy, against the declarations already
90
+ * known. Throws a plain `Error`. A known declaration with the SAME key is
91
+ * ignored, so re-registering a key reports the registry's `DUPLICATE_ID`.
92
+ *
93
+ * @param def - The declaration to check.
94
+ * @param known - The declarations already registered.
95
+ * @throws Error naming the metric and the broken rule.
96
+ *
97
+ * @stability stable
98
+ */
99
+ export declare function assertAppMetric(def: AppMetricDef, known: readonly AppMetricDef[]): void;
100
+ /**
101
+ * Every declared `app.*` metric, in registration order. Frozen once the Nest
102
+ * application has bootstrapped (`RegistryFreezeService`). Register through
103
+ * {@link registerAppMetrics}; read with `list()`, `require(key)`, `has(key)`.
104
+ *
105
+ * @extensionPoint registry
106
+ * @stability stable
107
+ */
108
+ export declare const appMetricRegistry: Registry<AppMetricDef>;
109
+ /**
110
+ * Registers `defs`, all or nothing, also refusing two declarations of one
111
+ * batch that share a NAME (the registry's `validate` hook alone does not see a
112
+ * batch's earlier entries). Call it at import time, from a manifest the
113
+ * metrics service imports.
114
+ *
115
+ * @param defs - The declarations, in order.
116
+ * @throws RegistryError `INVALID_ENTRY`, `INVALID_ID`, `DUPLICATE_ID` or `FROZEN`.
117
+ *
118
+ * @example
119
+ * ```ts
120
+ * registerAppMetrics([
121
+ * { key: 'coachNudgesSent', name: 'app.coach.nudges.sent', kind: 'counter', unit: '{nudge}',
122
+ * description: 'Coach nudges sent.', attributes: { channel: { kind: 'free' } } },
123
+ * ]);
124
+ * ```
125
+ *
126
+ * @extensionPoint registry
127
+ * @stability stable
128
+ */
129
+ export declare function registerAppMetrics(defs: readonly AppMetricDef[]): void;
130
+ //# sourceMappingURL=metric-name.registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric-name.registry.d.ts","sourceRoot":"","sources":["../../../src/otel-core/metrics/metric-name.registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA6BhF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IACE,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B,GACD;IACE,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,4GAA4G;IAC5G,GAAG,EAAE,MAAM,CAAC;IACZ,qGAAqG;IACrG,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;CAAG;AAEjC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAA8B,CAAC;AACnE;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,QAAsB,CAAC;AACpE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAwB,CAAC;AAQ5D;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CA6CvF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAOnD,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAgBtE"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appMetricRegistry = exports.APP_METRIC_KEY_PATTERN = exports.APP_METRIC_ATTRIBUTE_KEY_PATTERN = exports.APP_METRIC_NAME_PATTERN = void 0;
4
+ exports.assertAppMetric = assertAppMetric;
5
+ exports.registerAppMetrics = registerAppMetrics;
6
+ const index_1 = require("../../core/index");
7
+ /**
8
+ * `app.` then one or more dot-separated snake_case segments.
9
+ *
10
+ * @stability stable
11
+ */
12
+ exports.APP_METRIC_NAME_PATTERN = /^app(\.[a-z][a-z0-9_]*)+$/;
13
+ /**
14
+ * Attribute keys become columns: snake_case, no dots (a dotted column needs
15
+ * quoting in every statement).
16
+ *
17
+ * @stability stable
18
+ */
19
+ exports.APP_METRIC_ATTRIBUTE_KEY_PATTERN = /^[a-z][a-z0-9_]*$/;
20
+ /**
21
+ * Code keys are lowerCamelCase.
22
+ *
23
+ * @stability stable
24
+ */
25
+ exports.APP_METRIC_KEY_PATTERN = /^[a-z][A-Za-z0-9]*$/;
26
+ const KINDS = new Set(['counter', 'histogram', 'gauge']);
27
+ function assertText(value, where) {
28
+ if (typeof value !== 'string' || value.trim() === '')
29
+ throw new Error(`${where} must be a non-empty string.`);
30
+ }
31
+ /**
32
+ * Every rule a declaration must satisfy, against the declarations already
33
+ * known. Throws a plain `Error`. A known declaration with the SAME key is
34
+ * ignored, so re-registering a key reports the registry's `DUPLICATE_ID`.
35
+ *
36
+ * @param def - The declaration to check.
37
+ * @param known - The declarations already registered.
38
+ * @throws Error naming the metric and the broken rule.
39
+ *
40
+ * @stability stable
41
+ */
42
+ function assertAppMetric(def, known) {
43
+ const where = `App metric "${def.key}"`;
44
+ if (typeof def.name !== 'string' || !exports.APP_METRIC_NAME_PATTERN.test(def.name)) {
45
+ throw new Error(`${where} name ${JSON.stringify(def.name)} must start with "app." and match ${exports.APP_METRIC_NAME_PATTERN}.`);
46
+ }
47
+ const clash = known.find((other) => other.key !== def.key && other.name === def.name);
48
+ if (clash)
49
+ throw new Error(`${where} name "${def.name}" is already declared by "${clash.key}".`);
50
+ if (!KINDS.has(def.kind))
51
+ throw new Error(`${where} kind ${JSON.stringify(def.kind)} must be counter, histogram or gauge.`);
52
+ assertText(def.unit, `${where} unit`);
53
+ assertText(def.description, `${where} description`);
54
+ if (def.buckets !== undefined) {
55
+ if (def.kind !== 'histogram')
56
+ throw new Error(`${where} declares buckets, which only a histogram takes.`);
57
+ if (!Array.isArray(def.buckets) || def.buckets.length === 0) {
58
+ throw new Error(`${where} buckets must be a non-empty array.`);
59
+ }
60
+ def.buckets.forEach((bound, index) => {
61
+ if (typeof bound !== 'number' || !Number.isFinite(bound)) {
62
+ throw new Error(`${where} bucket ${index} is not a finite number.`);
63
+ }
64
+ if (index > 0 && !(bound > def.buckets[index - 1])) {
65
+ throw new Error(`${where} buckets must be strictly ascending (bucket ${index}: ${bound}).`);
66
+ }
67
+ });
68
+ }
69
+ for (const [key, attribute] of Object.entries(def.attributes ?? {})) {
70
+ if (!exports.APP_METRIC_ATTRIBUTE_KEY_PATTERN.test(key)) {
71
+ throw new Error(`${where} attribute key "${key}" must be snake_case without dots (${exports.APP_METRIC_ATTRIBUTE_KEY_PATTERN}).`);
72
+ }
73
+ if (attribute?.kind === 'enum') {
74
+ if (!Array.isArray(attribute.values) || attribute.values.length === 0) {
75
+ throw new Error(`${where} attribute "${key}" is an enum without values.`);
76
+ }
77
+ if (attribute.values.some((v) => typeof v !== 'string' || v === '')) {
78
+ throw new Error(`${where} attribute "${key}" enum values must be non-empty strings.`);
79
+ }
80
+ }
81
+ else if (attribute?.kind !== 'free') {
82
+ throw new Error(`${where} attribute "${key}" kind must be "enum" or "free".`);
83
+ }
84
+ }
85
+ }
86
+ /**
87
+ * Every declared `app.*` metric, in registration order. Frozen once the Nest
88
+ * application has bootstrapped (`RegistryFreezeService`). Register through
89
+ * {@link registerAppMetrics}; read with `list()`, `require(key)`, `has(key)`.
90
+ *
91
+ * @extensionPoint registry
92
+ * @stability stable
93
+ */
94
+ exports.appMetricRegistry = (0, index_1.defineRegistry)({
95
+ name: 'app-metrics',
96
+ idOf: (def) => def.key,
97
+ idPattern: exports.APP_METRIC_KEY_PATTERN,
98
+ validate: (def, registry) => assertAppMetric(def, registry.list()),
99
+ describeDuplicate: (_existing, incoming) => `Duplicate app metric key "${incoming.key}": a metric key is declared once (platform metrics first, then the app's).`,
100
+ });
101
+ /**
102
+ * Registers `defs`, all or nothing, also refusing two declarations of one
103
+ * batch that share a NAME (the registry's `validate` hook alone does not see a
104
+ * batch's earlier entries). Call it at import time, from a manifest the
105
+ * metrics service imports.
106
+ *
107
+ * @param defs - The declarations, in order.
108
+ * @throws RegistryError `INVALID_ENTRY`, `INVALID_ID`, `DUPLICATE_ID` or `FROZEN`.
109
+ *
110
+ * @example
111
+ * ```ts
112
+ * registerAppMetrics([
113
+ * { key: 'coachNudgesSent', name: 'app.coach.nudges.sent', kind: 'counter', unit: '{nudge}',
114
+ * description: 'Coach nudges sent.', attributes: { channel: { kind: 'free' } } },
115
+ * ]);
116
+ * ```
117
+ *
118
+ * @extensionPoint registry
119
+ * @stability stable
120
+ */
121
+ function registerAppMetrics(defs) {
122
+ const names = new Map();
123
+ for (const def of defs) {
124
+ const earlier = typeof def?.name === 'string' ? names.get(def.name) : undefined;
125
+ if (earlier !== undefined && earlier !== def.key) {
126
+ throw new index_1.RegistryError('INVALID_ENTRY', exports.appMetricRegistry.name, `Invalid entry "${def.key}" in registry "${exports.appMetricRegistry.name}": App metric "${def.key}" name "${def.name}" ` +
127
+ `is already declared by "${earlier}".`, { id: def.key });
128
+ }
129
+ if (typeof def?.name === 'string')
130
+ names.set(def.name, def.key);
131
+ }
132
+ exports.appMetricRegistry.registerAll(defs);
133
+ }
134
+ //# sourceMappingURL=metric-name.registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric-name.registry.js","sourceRoot":"","sources":["../../../src/otel-core/metrics/metric-name.registry.ts"],"names":[],"mappings":"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"}