@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.
- package/CHANGELOG.md +54 -0
- package/LICENSE +21 -0
- package/README.md +106 -2
- package/dist/core/crypto/encryption-key-startup-check.d.ts +29 -0
- package/dist/core/crypto/encryption-key-startup-check.d.ts.map +1 -0
- package/dist/core/crypto/encryption-key-startup-check.js +221 -0
- package/dist/core/crypto/encryption-key-startup-check.js.map +1 -0
- package/dist/core/crypto/secret-cipher.d.ts +151 -0
- package/dist/core/crypto/secret-cipher.d.ts.map +1 -0
- package/dist/core/crypto/secret-cipher.js +452 -0
- package/dist/core/crypto/secret-cipher.js.map +1 -0
- package/dist/core/data-access/index.d.ts +6 -0
- package/dist/core/data-access/index.d.ts.map +1 -0
- package/dist/core/data-access/index.js +19 -0
- package/dist/core/data-access/index.js.map +1 -0
- package/dist/core/data-access/scoped-access.error.d.ts +35 -0
- package/dist/core/data-access/scoped-access.error.d.ts.map +1 -0
- package/dist/core/data-access/scoped-access.error.js +43 -0
- package/dist/core/data-access/scoped-access.error.js.map +1 -0
- package/dist/core/data-access/scoped-client.d.ts +104 -0
- package/dist/core/data-access/scoped-client.d.ts.map +1 -0
- package/dist/core/data-access/scoped-client.js +270 -0
- package/dist/core/data-access/scoped-client.js.map +1 -0
- package/dist/core/data-access/types.d.ts +85 -0
- package/dist/core/data-access/types.d.ts.map +1 -0
- package/dist/core/data-access/types.js +12 -0
- package/dist/core/data-access/types.js.map +1 -0
- package/dist/core/data-access/user-owned-data.registry.d.ts +60 -0
- package/dist/core/data-access/user-owned-data.registry.d.ts.map +1 -0
- package/dist/core/data-access/user-owned-data.registry.js +140 -0
- package/dist/core/data-access/user-owned-data.registry.js.map +1 -0
- package/dist/core/errors/database-seed.exception.d.ts +23 -0
- package/dist/core/errors/database-seed.exception.d.ts.map +1 -0
- package/dist/core/errors/database-seed.exception.js +49 -0
- package/dist/core/errors/database-seed.exception.js.map +1 -0
- package/dist/core/errors/error.dto.d.ts +47 -0
- package/dist/core/errors/error.dto.d.ts.map +1 -0
- package/dist/core/errors/error.dto.js +121 -0
- package/dist/core/errors/error.dto.js.map +1 -0
- package/dist/core/errors/http-exception.filter.d.ts +63 -0
- package/dist/core/errors/http-exception.filter.d.ts.map +1 -0
- package/dist/core/errors/http-exception.filter.js +234 -0
- package/dist/core/errors/http-exception.filter.js.map +1 -0
- package/dist/core/errors/verbatim-error-body.exception.d.ts +46 -0
- package/dist/core/errors/verbatim-error-body.exception.d.ts.map +1 -0
- package/dist/core/errors/verbatim-error-body.exception.js +135 -0
- package/dist/core/errors/verbatim-error-body.exception.js.map +1 -0
- package/dist/core/host/index.d.ts +7 -0
- package/dist/core/host/index.d.ts.map +1 -0
- package/dist/core/host/index.js +14 -0
- package/dist/core/host/index.js.map +1 -0
- package/dist/core/host/platform-host.d.ts +58 -0
- package/dist/core/host/platform-host.d.ts.map +1 -0
- package/dist/core/host/platform-host.js +104 -0
- package/dist/core/host/platform-host.js.map +1 -0
- package/dist/core/host/platform-host.module.d.ts +53 -0
- package/dist/core/host/platform-host.module.d.ts.map +1 -0
- package/dist/core/host/platform-host.module.js +90 -0
- package/dist/core/host/platform-host.module.js.map +1 -0
- package/dist/core/host/ports.d.ts +132 -0
- package/dist/core/host/ports.d.ts.map +1 -0
- package/dist/core/host/ports.js +48 -0
- package/dist/core/host/ports.js.map +1 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +77 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/openapi/openapi-tag.registry.d.ts +80 -0
- package/dist/core/openapi/openapi-tag.registry.d.ts.map +1 -0
- package/dist/core/openapi/openapi-tag.registry.js +72 -0
- package/dist/core/openapi/openapi-tag.registry.js.map +1 -0
- package/dist/core/principal/index.d.ts +6 -0
- package/dist/core/principal/index.d.ts.map +1 -0
- package/dist/core/principal/index.js +3 -0
- package/dist/core/principal/index.js.map +1 -0
- package/dist/core/principal/principal.types.d.ts +222 -0
- package/dist/core/principal/principal.types.d.ts.map +1 -0
- package/dist/core/principal/principal.types.js +22 -0
- package/dist/core/principal/principal.types.js.map +1 -0
- package/dist/core/registry/index.d.ts +4 -0
- package/dist/core/registry/index.d.ts.map +1 -0
- package/dist/core/registry/index.js +19 -0
- package/dist/core/registry/index.js.map +1 -0
- package/dist/core/registry/registry-freeze.service.d.ts +14 -0
- package/dist/core/registry/registry-freeze.service.d.ts.map +1 -0
- package/dist/core/registry/registry-freeze.service.js +55 -0
- package/dist/core/registry/registry-freeze.service.js.map +1 -0
- package/dist/core/registry/registry.d.ts +268 -0
- package/dist/core/registry/registry.d.ts.map +1 -0
- package/dist/core/registry/registry.js +351 -0
- package/dist/core/registry/registry.js.map +1 -0
- package/dist/core/registry/testing.d.ts +29 -0
- package/dist/core/registry/testing.d.ts.map +1 -0
- package/dist/core/registry/testing.js +63 -0
- package/dist/core/registry/testing.js.map +1 -0
- package/dist/doctor/doctor-check.interface.d.ts +100 -0
- package/dist/doctor/doctor-check.interface.d.ts.map +1 -0
- package/dist/doctor/doctor-check.interface.js +95 -0
- package/dist/doctor/doctor-check.interface.js.map +1 -0
- package/dist/doctor/doctor-check.registry.d.ts +37 -0
- package/dist/doctor/doctor-check.registry.d.ts.map +1 -0
- package/dist/doctor/doctor-check.registry.js +96 -0
- package/dist/doctor/doctor-check.registry.js.map +1 -0
- package/dist/doctor/doctor.controller.factory.d.ts +29 -0
- package/dist/doctor/doctor.controller.factory.d.ts.map +1 -0
- package/dist/doctor/doctor.controller.factory.js +121 -0
- package/dist/doctor/doctor.controller.factory.js.map +1 -0
- package/dist/doctor/doctor.module.d.ts +78 -0
- package/dist/doctor/doctor.module.d.ts.map +1 -0
- package/dist/doctor/doctor.module.js +158 -0
- package/dist/doctor/doctor.module.js.map +1 -0
- package/dist/doctor/doctor.options.d.ts +39 -0
- package/dist/doctor/doctor.options.d.ts.map +1 -0
- package/dist/doctor/doctor.options.js +21 -0
- package/dist/doctor/doctor.options.js.map +1 -0
- package/dist/doctor/doctor.service.d.ts +80 -0
- package/dist/doctor/doctor.service.d.ts.map +1 -0
- package/dist/doctor/doctor.service.js +301 -0
- package/dist/doctor/doctor.service.js.map +1 -0
- package/dist/doctor/dto/doctor-query.dto.d.ts +15 -0
- package/dist/doctor/dto/doctor-query.dto.d.ts.map +1 -0
- package/dist/doctor/dto/doctor-query.dto.js +16 -0
- package/dist/doctor/dto/doctor-query.dto.js.map +1 -0
- package/dist/doctor/dto/doctor-report.dto.d.ts +27 -0
- package/dist/doctor/dto/doctor-report.dto.d.ts.map +1 -0
- package/dist/doctor/dto/doctor-report.dto.js +23 -0
- package/dist/doctor/dto/doctor-report.dto.js.map +1 -0
- package/dist/doctor/egress/classify-host.d.ts +73 -0
- package/dist/doctor/egress/classify-host.d.ts.map +1 -0
- package/dist/doctor/egress/classify-host.js +210 -0
- package/dist/doctor/egress/classify-host.js.map +1 -0
- package/dist/doctor/egress/egress.registry.d.ts +34 -0
- package/dist/doctor/egress/egress.registry.d.ts.map +1 -0
- package/dist/doctor/egress/egress.registry.js +70 -0
- package/dist/doctor/egress/egress.registry.js.map +1 -0
- package/dist/doctor/egress/egress.types.d.ts +135 -0
- package/dist/doctor/egress/egress.types.d.ts.map +1 -0
- package/dist/doctor/egress/egress.types.js +42 -0
- package/dist/doctor/egress/egress.types.js.map +1 -0
- package/dist/doctor/egress/index.d.ts +6 -0
- package/dist/doctor/egress/index.d.ts.map +1 -0
- package/dist/doctor/egress/index.js +23 -0
- package/dist/doctor/egress/index.js.map +1 -0
- package/dist/doctor/egress/network-egress.doctor-check.d.ts +78 -0
- package/dist/doctor/egress/network-egress.doctor-check.d.ts.map +1 -0
- package/dist/doctor/egress/network-egress.doctor-check.js +226 -0
- package/dist/doctor/egress/network-egress.doctor-check.js.map +1 -0
- package/dist/doctor/index.d.ts +19 -0
- package/dist/doctor/index.d.ts.map +1 -0
- package/dist/doctor/index.js +66 -0
- package/dist/doctor/index.js.map +1 -0
- package/dist/doctor/support-bundle/index.d.ts +12 -0
- package/dist/doctor/support-bundle/index.d.ts.map +1 -0
- package/dist/doctor/support-bundle/index.js +32 -0
- package/dist/doctor/support-bundle/index.js.map +1 -0
- package/dist/doctor/support-bundle/redact.d.ts +76 -0
- package/dist/doctor/support-bundle/redact.d.ts.map +1 -0
- package/dist/doctor/support-bundle/redact.js +236 -0
- package/dist/doctor/support-bundle/redact.js.map +1 -0
- package/dist/doctor/support-bundle/sections/doctor.section.d.ts +81 -0
- package/dist/doctor/support-bundle/sections/doctor.section.d.ts.map +1 -0
- package/dist/doctor/support-bundle/sections/doctor.section.js +83 -0
- package/dist/doctor/support-bundle/sections/doctor.section.js.map +1 -0
- package/dist/doctor/support-bundle/sections/egress.section.d.ts +73 -0
- package/dist/doctor/support-bundle/sections/egress.section.d.ts.map +1 -0
- package/dist/doctor/support-bundle/sections/egress.section.js +97 -0
- package/dist/doctor/support-bundle/sections/egress.section.js.map +1 -0
- package/dist/doctor/support-bundle/sections/meta.section.d.ts +39 -0
- package/dist/doctor/support-bundle/sections/meta.section.d.ts.map +1 -0
- package/dist/doctor/support-bundle/sections/meta.section.js +89 -0
- package/dist/doctor/support-bundle/sections/meta.section.js.map +1 -0
- package/dist/doctor/support-bundle/support-bundle-section.interface.d.ts +100 -0
- package/dist/doctor/support-bundle/support-bundle-section.interface.d.ts.map +1 -0
- package/dist/doctor/support-bundle/support-bundle-section.interface.js +59 -0
- package/dist/doctor/support-bundle/support-bundle-section.interface.js.map +1 -0
- package/dist/doctor/support-bundle/support-bundle.controller.d.ts +57 -0
- package/dist/doctor/support-bundle/support-bundle.controller.d.ts.map +1 -0
- package/dist/doctor/support-bundle/support-bundle.controller.js +141 -0
- package/dist/doctor/support-bundle/support-bundle.controller.js.map +1 -0
- package/dist/doctor/support-bundle/support-bundle.options.d.ts +92 -0
- package/dist/doctor/support-bundle/support-bundle.options.d.ts.map +1 -0
- package/dist/doctor/support-bundle/support-bundle.options.js +100 -0
- package/dist/doctor/support-bundle/support-bundle.options.js.map +1 -0
- package/dist/doctor/support-bundle/support-bundle.registry.d.ts +38 -0
- package/dist/doctor/support-bundle/support-bundle.registry.d.ts.map +1 -0
- package/dist/doctor/support-bundle/support-bundle.registry.js +90 -0
- package/dist/doctor/support-bundle/support-bundle.registry.js.map +1 -0
- package/dist/doctor/support-bundle/support-bundle.service.d.ts +63 -0
- package/dist/doctor/support-bundle/support-bundle.service.d.ts.map +1 -0
- package/dist/doctor/support-bundle/support-bundle.service.js +244 -0
- package/dist/doctor/support-bundle/support-bundle.service.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/otel-core/index.d.ts +9 -0
- package/dist/otel-core/index.d.ts.map +1 -0
- package/dist/otel-core/index.js +58 -0
- package/dist/otel-core/index.js.map +1 -0
- package/dist/otel-core/metrics/gauge-provider.d.ts +44 -0
- package/dist/otel-core/metrics/gauge-provider.d.ts.map +1 -0
- package/dist/otel-core/metrics/gauge-provider.js +37 -0
- package/dist/otel-core/metrics/gauge-provider.js.map +1 -0
- package/dist/otel-core/metrics/labels.d.ts +79 -0
- package/dist/otel-core/metrics/labels.d.ts.map +1 -0
- package/dist/otel-core/metrics/labels.js +135 -0
- package/dist/otel-core/metrics/labels.js.map +1 -0
- package/dist/otel-core/metrics/metric-name.registry.d.ts +130 -0
- package/dist/otel-core/metrics/metric-name.registry.d.ts.map +1 -0
- package/dist/otel-core/metrics/metric-name.registry.js +134 -0
- package/dist/otel-core/metrics/metric-name.registry.js.map +1 -0
- package/dist/otel-core/metrics/metrics-host.service.d.ts +163 -0
- package/dist/otel-core/metrics/metrics-host.service.d.ts.map +1 -0
- package/dist/otel-core/metrics/metrics-host.service.js +344 -0
- package/dist/otel-core/metrics/metrics-host.service.js.map +1 -0
- package/dist/otel-core/metrics/otel-metrics.module.d.ts +54 -0
- package/dist/otel-core/metrics/otel-metrics.module.d.ts.map +1 -0
- package/dist/otel-core/metrics/otel-metrics.module.js +83 -0
- package/dist/otel-core/metrics/otel-metrics.module.js.map +1 -0
- package/dist/otel-core/sdk/index.d.ts +5 -0
- package/dist/otel-core/sdk/index.d.ts.map +1 -0
- package/dist/otel-core/sdk/index.js +27 -0
- package/dist/otel-core/sdk/index.js.map +1 -0
- package/dist/otel-core/sdk/initialize-otel.d.ts +126 -0
- package/dist/otel-core/sdk/initialize-otel.d.ts.map +1 -0
- package/dist/otel-core/sdk/initialize-otel.js +204 -0
- package/dist/otel-core/sdk/initialize-otel.js.map +1 -0
- package/dist/otel-core/sdk/instance-id.d.ts +29 -0
- package/dist/otel-core/sdk/instance-id.d.ts.map +1 -0
- package/dist/otel-core/sdk/instance-id.js +65 -0
- package/dist/otel-core/sdk/instance-id.js.map +1 -0
- package/dist/otel-core/sdk/service-name.d.ts +28 -0
- package/dist/otel-core/sdk/service-name.d.ts.map +1 -0
- package/dist/otel-core/sdk/service-name.js +63 -0
- package/dist/otel-core/sdk/service-name.js.map +1 -0
- package/dist/otel-core/sdk/telemetry-gate.d.ts +116 -0
- package/dist/otel-core/sdk/telemetry-gate.d.ts.map +1 -0
- package/dist/otel-core/sdk/telemetry-gate.js +297 -0
- package/dist/otel-core/sdk/telemetry-gate.js.map +1 -0
- package/dist/otel-core/spans/request-span-attributes.d.ts +58 -0
- package/dist/otel-core/spans/request-span-attributes.d.ts.map +1 -0
- package/dist/otel-core/spans/request-span-attributes.js +155 -0
- package/dist/otel-core/spans/request-span-attributes.js.map +1 -0
- package/dist/otel-core/spans/trace.decorator.d.ts +36 -0
- package/dist/otel-core/spans/trace.decorator.d.ts.map +1 -0
- package/dist/otel-core/spans/trace.decorator.js +74 -0
- package/dist/otel-core/spans/trace.decorator.js.map +1 -0
- package/dist/telemetry/assistant/telemetry-ai-enabled.guard.d.ts +15 -0
- package/dist/telemetry/assistant/telemetry-ai-enabled.guard.d.ts.map +1 -0
- package/dist/telemetry/assistant/telemetry-ai-enabled.guard.js +50 -0
- package/dist/telemetry/assistant/telemetry-ai-enabled.guard.js.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.controller.d.ts +14 -0
- package/dist/telemetry/assistant/telemetry-assistant.controller.d.ts.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.controller.js +178 -0
- package/dist/telemetry/assistant/telemetry-assistant.controller.js.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.metrics.d.ts +147 -0
- package/dist/telemetry/assistant/telemetry-assistant.metrics.d.ts.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.metrics.js +495 -0
- package/dist/telemetry/assistant/telemetry-assistant.metrics.js.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.service.d.ts +216 -0
- package/dist/telemetry/assistant/telemetry-assistant.service.d.ts.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.service.js +1256 -0
- package/dist/telemetry/assistant/telemetry-assistant.service.js.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.sql.d.ts +69 -0
- package/dist/telemetry/assistant/telemetry-assistant.sql.d.ts.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.sql.js +471 -0
- package/dist/telemetry/assistant/telemetry-assistant.sql.js.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.sse.d.ts +15 -0
- package/dist/telemetry/assistant/telemetry-assistant.sse.d.ts.map +1 -0
- package/dist/telemetry/assistant/telemetry-assistant.sse.js +68 -0
- package/dist/telemetry/assistant/telemetry-assistant.sse.js.map +1 -0
- package/dist/telemetry/connection/dto/telemetry-connection.dto.d.ts +92 -0
- package/dist/telemetry/connection/dto/telemetry-connection.dto.d.ts.map +1 -0
- package/dist/telemetry/connection/dto/telemetry-connection.dto.js +41 -0
- package/dist/telemetry/connection/dto/telemetry-connection.dto.js.map +1 -0
- package/dist/telemetry/connection/telemetry-connection-admin.service.d.ts +45 -0
- package/dist/telemetry/connection/telemetry-connection-admin.service.d.ts.map +1 -0
- package/dist/telemetry/connection/telemetry-connection-admin.service.js +303 -0
- package/dist/telemetry/connection/telemetry-connection-admin.service.js.map +1 -0
- package/dist/telemetry/connection/telemetry-connection-test.service.d.ts +41 -0
- package/dist/telemetry/connection/telemetry-connection-test.service.d.ts.map +1 -0
- package/dist/telemetry/connection/telemetry-connection-test.service.js +187 -0
- package/dist/telemetry/connection/telemetry-connection-test.service.js.map +1 -0
- package/dist/telemetry/connection/telemetry-connection.controller.d.ts +14 -0
- package/dist/telemetry/connection/telemetry-connection.controller.d.ts.map +1 -0
- package/dist/telemetry/connection/telemetry-connection.controller.js +192 -0
- package/dist/telemetry/connection/telemetry-connection.controller.js.map +1 -0
- package/dist/telemetry/connection/telemetry-connection.schema.d.ts +28 -0
- package/dist/telemetry/connection/telemetry-connection.schema.d.ts.map +1 -0
- package/dist/telemetry/connection/telemetry-connection.schema.js +106 -0
- package/dist/telemetry/connection/telemetry-connection.schema.js.map +1 -0
- package/dist/telemetry/connection/telemetry-connection.service.d.ts +197 -0
- package/dist/telemetry/connection/telemetry-connection.service.d.ts.map +1 -0
- package/dist/telemetry/connection/telemetry-connection.service.js +461 -0
- package/dist/telemetry/connection/telemetry-connection.service.js.map +1 -0
- package/dist/telemetry/dashboard/sql-literals.d.ts +19 -0
- package/dist/telemetry/dashboard/sql-literals.d.ts.map +1 -0
- package/dist/telemetry/dashboard/sql-literals.js +75 -0
- package/dist/telemetry/dashboard/sql-literals.js.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.controller.d.ts +14 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.controller.d.ts.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.controller.js +277 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.controller.js.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts +112 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.service.js +904 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.service.js.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.sql.d.ts +212 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.sql.d.ts.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.sql.js +486 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.sql.js.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts +235 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js +269 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js.map +1 -0
- package/dist/telemetry/dashboard/verdict-policy.d.ts +51 -0
- package/dist/telemetry/dashboard/verdict-policy.d.ts.map +1 -0
- package/dist/telemetry/dashboard/verdict-policy.js +77 -0
- package/dist/telemetry/dashboard/verdict-policy.js.map +1 -0
- package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.d.ts +21 -0
- package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.d.ts.map +1 -0
- package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.js +59 -0
- package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.js.map +1 -0
- package/dist/telemetry/doctor/telemetry-connection.doctor-check.d.ts +23 -0
- package/dist/telemetry/doctor/telemetry-connection.doctor-check.d.ts.map +1 -0
- package/dist/telemetry/doctor/telemetry-connection.doctor-check.js +69 -0
- package/dist/telemetry/doctor/telemetry-connection.doctor-check.js.map +1 -0
- package/dist/telemetry/doctor/telemetry-export.doctor-check.d.ts +33 -0
- package/dist/telemetry/doctor/telemetry-export.doctor-check.d.ts.map +1 -0
- package/dist/telemetry/doctor/telemetry-export.doctor-check.js +105 -0
- package/dist/telemetry/doctor/telemetry-export.doctor-check.js.map +1 -0
- package/dist/telemetry/doctor/telemetry-freshness.doctor-check.d.ts +38 -0
- package/dist/telemetry/doctor/telemetry-freshness.doctor-check.d.ts.map +1 -0
- package/dist/telemetry/doctor/telemetry-freshness.doctor-check.js +104 -0
- package/dist/telemetry/doctor/telemetry-freshness.doctor-check.js.map +1 -0
- package/dist/telemetry/doctor/telemetry-reachable.doctor-check.d.ts +23 -0
- package/dist/telemetry/doctor/telemetry-reachable.doctor-check.d.ts.map +1 -0
- package/dist/telemetry/doctor/telemetry-reachable.doctor-check.js +65 -0
- package/dist/telemetry/doctor/telemetry-reachable.doctor-check.js.map +1 -0
- package/dist/telemetry/doctor/telemetry-tables.doctor-check.d.ts +23 -0
- package/dist/telemetry/doctor/telemetry-tables.doctor-check.d.ts.map +1 -0
- package/dist/telemetry/doctor/telemetry-tables.doctor-check.js +91 -0
- package/dist/telemetry/doctor/telemetry-tables.doctor-check.js.map +1 -0
- package/dist/telemetry/dto/telemetry-assistant.dto.d.ts +14 -0
- package/dist/telemetry/dto/telemetry-assistant.dto.d.ts.map +1 -0
- package/dist/telemetry/dto/telemetry-assistant.dto.js +29 -0
- package/dist/telemetry/dto/telemetry-assistant.dto.js.map +1 -0
- package/dist/telemetry/dto/telemetry-config.dto.d.ts +59 -0
- package/dist/telemetry/dto/telemetry-config.dto.d.ts.map +1 -0
- package/dist/telemetry/dto/telemetry-config.dto.js +18 -0
- package/dist/telemetry/dto/telemetry-config.dto.js.map +1 -0
- package/dist/telemetry/dto/telemetry-dashboard.dto.d.ts +397 -0
- package/dist/telemetry/dto/telemetry-dashboard.dto.d.ts.map +1 -0
- package/dist/telemetry/dto/telemetry-dashboard.dto.js +118 -0
- package/dist/telemetry/dto/telemetry-dashboard.dto.js.map +1 -0
- package/dist/telemetry/dto/telemetry-query.dto.d.ts +44 -0
- package/dist/telemetry/dto/telemetry-query.dto.d.ts.map +1 -0
- package/dist/telemetry/dto/telemetry-query.dto.js +42 -0
- package/dist/telemetry/dto/telemetry-query.dto.js.map +1 -0
- package/dist/telemetry/dto/telemetry-status.dto.d.ts +22 -0
- package/dist/telemetry/dto/telemetry-status.dto.d.ts.map +1 -0
- package/dist/telemetry/dto/telemetry-status.dto.js +12 -0
- package/dist/telemetry/dto/telemetry-status.dto.js.map +1 -0
- package/dist/telemetry/export/parquet-writer.loader.d.ts +13 -0
- package/dist/telemetry/export/parquet-writer.loader.d.ts.map +1 -0
- package/dist/telemetry/export/parquet-writer.loader.js +29 -0
- package/dist/telemetry/export/parquet-writer.loader.js.map +1 -0
- package/dist/telemetry/export/telemetry-export.service.d.ts +39 -0
- package/dist/telemetry/export/telemetry-export.service.d.ts.map +1 -0
- package/dist/telemetry/export/telemetry-export.service.js +185 -0
- package/dist/telemetry/export/telemetry-export.service.js.map +1 -0
- package/dist/telemetry/greptime/greptime-host.d.ts +44 -0
- package/dist/telemetry/greptime/greptime-host.d.ts.map +1 -0
- package/dist/telemetry/greptime/greptime-host.js +114 -0
- package/dist/telemetry/greptime/greptime-host.js.map +1 -0
- package/dist/telemetry/greptime/greptime.client.d.ts +171 -0
- package/dist/telemetry/greptime/greptime.client.d.ts.map +1 -0
- package/dist/telemetry/greptime/greptime.client.js +352 -0
- package/dist/telemetry/greptime/greptime.client.js.map +1 -0
- package/dist/telemetry/greptime/greptime.errors.d.ts +59 -0
- package/dist/telemetry/greptime/greptime.errors.d.ts.map +1 -0
- package/dist/telemetry/greptime/greptime.errors.js +100 -0
- package/dist/telemetry/greptime/greptime.errors.js.map +1 -0
- package/dist/telemetry/handlers/telemetry-retention.handler.d.ts +27 -0
- package/dist/telemetry/handlers/telemetry-retention.handler.d.ts.map +1 -0
- package/dist/telemetry/handlers/telemetry-retention.handler.js +123 -0
- package/dist/telemetry/handlers/telemetry-retention.handler.js.map +1 -0
- package/dist/telemetry/index.d.ts +37 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +97 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/internal/blank-secret.d.ts +3 -0
- package/dist/telemetry/internal/blank-secret.d.ts.map +1 -0
- package/dist/telemetry/internal/blank-secret.js +14 -0
- package/dist/telemetry/internal/blank-secret.js.map +1 -0
- package/dist/telemetry/internal/csv.d.ts +9 -0
- package/dist/telemetry/internal/csv.d.ts.map +1 -0
- package/dist/telemetry/internal/csv.js +23 -0
- package/dist/telemetry/internal/csv.js.map +1 -0
- package/dist/telemetry/internal/sse.d.ts +23 -0
- package/dist/telemetry/internal/sse.d.ts.map +1 -0
- package/dist/telemetry/internal/sse.js +43 -0
- package/dist/telemetry/internal/sse.js.map +1 -0
- package/dist/telemetry/metrics/groups/database.metric-group.d.ts +7 -0
- package/dist/telemetry/metrics/groups/database.metric-group.d.ts.map +1 -0
- package/dist/telemetry/metrics/groups/database.metric-group.js +159 -0
- package/dist/telemetry/metrics/groups/database.metric-group.js.map +1 -0
- package/dist/telemetry/metrics/groups/host.metric-group.d.ts +7 -0
- package/dist/telemetry/metrics/groups/host.metric-group.d.ts.map +1 -0
- package/dist/telemetry/metrics/groups/host.metric-group.js +146 -0
- package/dist/telemetry/metrics/groups/host.metric-group.js.map +1 -0
- package/dist/telemetry/metrics/groups/nodes.metric-group.d.ts +7 -0
- package/dist/telemetry/metrics/groups/nodes.metric-group.d.ts.map +1 -0
- package/dist/telemetry/metrics/groups/nodes.metric-group.js +159 -0
- package/dist/telemetry/metrics/groups/nodes.metric-group.js.map +1 -0
- package/dist/telemetry/metrics/groups/pipeline.metric-group.d.ts +7 -0
- package/dist/telemetry/metrics/groups/pipeline.metric-group.d.ts.map +1 -0
- package/dist/telemetry/metrics/groups/pipeline.metric-group.js +144 -0
- package/dist/telemetry/metrics/groups/pipeline.metric-group.js.map +1 -0
- package/dist/telemetry/metrics/groups/queue.metric-group.d.ts +7 -0
- package/dist/telemetry/metrics/groups/queue.metric-group.d.ts.map +1 -0
- package/dist/telemetry/metrics/groups/queue.metric-group.js +163 -0
- package/dist/telemetry/metrics/groups/queue.metric-group.js.map +1 -0
- package/dist/telemetry/metrics/groups/uptime.metric-group.d.ts +7 -0
- package/dist/telemetry/metrics/groups/uptime.metric-group.d.ts.map +1 -0
- package/dist/telemetry/metrics/groups/uptime.metric-group.js +103 -0
- package/dist/telemetry/metrics/groups/uptime.metric-group.js.map +1 -0
- package/dist/telemetry/metrics/metric-catalog.d.ts +324 -0
- package/dist/telemetry/metrics/metric-catalog.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-catalog.helpers.d.ts +30 -0
- package/dist/telemetry/metrics/metric-catalog.helpers.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-catalog.helpers.js +37 -0
- package/dist/telemetry/metrics/metric-catalog.helpers.js.map +1 -0
- package/dist/telemetry/metrics/metric-catalog.js +180 -0
- package/dist/telemetry/metrics/metric-catalog.js.map +1 -0
- package/dist/telemetry/metrics/metric-group-registry.service.d.ts +59 -0
- package/dist/telemetry/metrics/metric-group-registry.service.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-group-registry.service.js +99 -0
- package/dist/telemetry/metrics/metric-group-registry.service.js.map +1 -0
- package/dist/telemetry/metrics/metric-group.d.ts +113 -0
- package/dist/telemetry/metrics/metric-group.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-group.js +647 -0
- package/dist/telemetry/metrics/metric-group.js.map +1 -0
- package/dist/telemetry/metrics/metric-group.manifest.d.ts +2 -0
- package/dist/telemetry/metrics/metric-group.manifest.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-group.manifest.js +30 -0
- package/dist/telemetry/metrics/metric-group.manifest.js.map +1 -0
- package/dist/telemetry/metrics/metric-group.registry.d.ts +109 -0
- package/dist/telemetry/metrics/metric-group.registry.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-group.registry.js +181 -0
- package/dist/telemetry/metrics/metric-group.registry.js.map +1 -0
- package/dist/telemetry/metrics/metric-sql.d.ts +98 -0
- package/dist/telemetry/metrics/metric-sql.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-sql.js +259 -0
- package/dist/telemetry/metrics/metric-sql.js.map +1 -0
- package/dist/telemetry/metrics/metric-values.d.ts +19 -0
- package/dist/telemetry/metrics/metric-values.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-values.js +97 -0
- package/dist/telemetry/metrics/metric-values.js.map +1 -0
- package/dist/telemetry/metrics/metric-verdict.d.ts +20 -0
- package/dist/telemetry/metrics/metric-verdict.d.ts.map +1 -0
- package/dist/telemetry/metrics/metric-verdict.js +218 -0
- package/dist/telemetry/metrics/metric-verdict.js.map +1 -0
- package/dist/telemetry/ports.d.ts +575 -0
- package/dist/telemetry/ports.d.ts.map +1 -0
- package/dist/telemetry/ports.js +78 -0
- package/dist/telemetry/ports.js.map +1 -0
- package/dist/telemetry/query/sql-guard.d.ts +71 -0
- package/dist/telemetry/query/sql-guard.d.ts.map +1 -0
- package/dist/telemetry/query/sql-guard.js +258 -0
- package/dist/telemetry/query/sql-guard.js.map +1 -0
- package/dist/telemetry/query/telemetry-availability.d.ts +11 -0
- package/dist/telemetry/query/telemetry-availability.d.ts.map +1 -0
- package/dist/telemetry/query/telemetry-availability.js +55 -0
- package/dist/telemetry/query/telemetry-availability.js.map +1 -0
- package/dist/telemetry/query/telemetry-query.errors.d.ts +48 -0
- package/dist/telemetry/query/telemetry-query.errors.d.ts.map +1 -0
- package/dist/telemetry/query/telemetry-query.errors.js +100 -0
- package/dist/telemetry/query/telemetry-query.errors.js.map +1 -0
- package/dist/telemetry/query/telemetry-query.service.d.ts +57 -0
- package/dist/telemetry/query/telemetry-query.service.d.ts.map +1 -0
- package/dist/telemetry/query/telemetry-query.service.js +194 -0
- package/dist/telemetry/query/telemetry-query.service.js.map +1 -0
- package/dist/telemetry/query/telemetry-schema.service.d.ts +36 -0
- package/dist/telemetry/query/telemetry-schema.service.d.ts.map +1 -0
- package/dist/telemetry/query/telemetry-schema.service.js +154 -0
- package/dist/telemetry/query/telemetry-schema.service.js.map +1 -0
- package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts +29 -0
- package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts.map +1 -0
- package/dist/telemetry/stack/dto/telemetry-stack.dto.js +27 -0
- package/dist/telemetry/stack/dto/telemetry-stack.dto.js.map +1 -0
- package/dist/telemetry/stack/stack-agent.client.d.ts +76 -0
- package/dist/telemetry/stack/stack-agent.client.d.ts.map +1 -0
- package/dist/telemetry/stack/stack-agent.client.js +208 -0
- package/dist/telemetry/stack/stack-agent.client.js.map +1 -0
- package/dist/telemetry/stack/telemetry-stack-deploy.handler.d.ts +43 -0
- package/dist/telemetry/stack/telemetry-stack-deploy.handler.d.ts.map +1 -0
- package/dist/telemetry/stack/telemetry-stack-deploy.handler.js +159 -0
- package/dist/telemetry/stack/telemetry-stack-deploy.handler.js.map +1 -0
- package/dist/telemetry/stack/telemetry-stack.controller.d.ts +14 -0
- package/dist/telemetry/stack/telemetry-stack.controller.d.ts.map +1 -0
- package/dist/telemetry/stack/telemetry-stack.controller.js +107 -0
- package/dist/telemetry/stack/telemetry-stack.controller.js.map +1 -0
- package/dist/telemetry/stack/telemetry-stack.service.d.ts +19 -0
- package/dist/telemetry/stack/telemetry-stack.service.d.ts.map +1 -0
- package/dist/telemetry/stack/telemetry-stack.service.js +122 -0
- package/dist/telemetry/stack/telemetry-stack.service.js.map +1 -0
- package/dist/telemetry/tasks/telemetry-retention.task.d.ts +8 -0
- package/dist/telemetry/tasks/telemetry-retention.task.d.ts.map +1 -0
- package/dist/telemetry/tasks/telemetry-retention.task.js +61 -0
- package/dist/telemetry/tasks/telemetry-retention.task.js.map +1 -0
- package/dist/telemetry/telemetry-admin.controller.d.ts +14 -0
- package/dist/telemetry/telemetry-admin.controller.d.ts.map +1 -0
- package/dist/telemetry/telemetry-admin.controller.js +148 -0
- package/dist/telemetry/telemetry-admin.controller.js.map +1 -0
- package/dist/telemetry/telemetry-config.controller.d.ts +14 -0
- package/dist/telemetry/telemetry-config.controller.d.ts.map +1 -0
- package/dist/telemetry/telemetry-config.controller.js +73 -0
- package/dist/telemetry/telemetry-config.controller.js.map +1 -0
- package/dist/telemetry/telemetry-explorer.controller.d.ts +14 -0
- package/dist/telemetry/telemetry-explorer.controller.d.ts.map +1 -0
- package/dist/telemetry/telemetry-explorer.controller.js +193 -0
- package/dist/telemetry/telemetry-explorer.controller.js.map +1 -0
- package/dist/telemetry/telemetry-settings.service.d.ts +85 -0
- package/dist/telemetry/telemetry-settings.service.d.ts.map +1 -0
- package/dist/telemetry/telemetry-settings.service.js +278 -0
- package/dist/telemetry/telemetry-settings.service.js.map +1 -0
- package/dist/telemetry/telemetry-status.service.d.ts +28 -0
- package/dist/telemetry/telemetry-status.service.d.ts.map +1 -0
- package/dist/telemetry/telemetry-status.service.js +185 -0
- package/dist/telemetry/telemetry-status.service.js.map +1 -0
- package/dist/telemetry/telemetry-support-bundle.section.d.ts +163 -0
- package/dist/telemetry/telemetry-support-bundle.section.d.ts.map +1 -0
- package/dist/telemetry/telemetry-support-bundle.section.js +187 -0
- package/dist/telemetry/telemetry-support-bundle.section.js.map +1 -0
- package/dist/telemetry/telemetry.module.d.ts +35 -0
- package/dist/telemetry/telemetry.module.d.ts.map +1 -0
- package/dist/telemetry/telemetry.module.js +210 -0
- package/dist/telemetry/telemetry.module.js.map +1 -0
- package/dist/telemetry/telemetry.options.d.ts +176 -0
- package/dist/telemetry/telemetry.options.d.ts.map +1 -0
- package/dist/telemetry/telemetry.options.js +246 -0
- package/dist/telemetry/telemetry.options.js.map +1 -0
- package/dist/telemetry/telemetry.permissions.d.ts +76 -0
- package/dist/telemetry/telemetry.permissions.d.ts.map +1 -0
- package/dist/telemetry/telemetry.permissions.js +85 -0
- package/dist/telemetry/telemetry.permissions.js.map +1 -0
- package/dist/telemetry/telemetry.settings.d.ts +79 -0
- package/dist/telemetry/telemetry.settings.d.ts.map +1 -0
- package/dist/telemetry/telemetry.settings.js +92 -0
- package/dist/telemetry/telemetry.settings.js.map +1 -0
- package/dist/telemetry/testing/coach-metric-group.fixture.d.ts +17 -0
- package/dist/telemetry/testing/coach-metric-group.fixture.d.ts.map +1 -0
- package/dist/telemetry/testing/coach-metric-group.fixture.js +128 -0
- package/dist/telemetry/testing/coach-metric-group.fixture.js.map +1 -0
- package/dist/telemetry/testing/conformance.d.ts +257 -0
- package/dist/telemetry/testing/conformance.d.ts.map +1 -0
- package/dist/telemetry/testing/conformance.js +626 -0
- package/dist/telemetry/testing/conformance.js.map +1 -0
- package/dist/telemetry/testing/index.d.ts +10 -0
- package/dist/telemetry/testing/index.d.ts.map +1 -0
- package/dist/telemetry/testing/index.js +41 -0
- package/dist/telemetry/testing/index.js.map +1 -0
- package/dist/telemetry/testing/metric-schema.fixture.d.ts +73 -0
- package/dist/telemetry/testing/metric-schema.fixture.d.ts.map +1 -0
- package/dist/telemetry/testing/metric-schema.fixture.js +362 -0
- package/dist/telemetry/testing/metric-schema.fixture.js.map +1 -0
- package/dist/telemetry/testing/stub-ports.d.ts +46 -0
- package/dist/telemetry/testing/stub-ports.d.ts.map +1 -0
- package/dist/telemetry/testing/stub-ports.js +119 -0
- package/dist/telemetry/testing/stub-ports.js.map +1 -0
- package/dist/testing/conformance-suite.d.ts +106 -0
- package/dist/testing/conformance-suite.d.ts.map +1 -0
- package/dist/testing/conformance-suite.js +8 -0
- package/dist/testing/conformance-suite.js.map +1 -0
- package/dist/testing/conformance-suites.d.ts +14 -0
- package/dist/testing/conformance-suites.d.ts.map +1 -0
- package/dist/testing/conformance-suites.js +27 -0
- package/dist/testing/conformance-suites.js.map +1 -0
- package/dist/testing/host/in-memory-audit-sink.d.ts +23 -0
- package/dist/testing/host/in-memory-audit-sink.d.ts.map +1 -0
- package/dist/testing/host/in-memory-audit-sink.js +30 -0
- package/dist/testing/host/in-memory-audit-sink.js.map +1 -0
- package/dist/testing/host/in-memory-system-settings-store.d.ts +31 -0
- package/dist/testing/host/in-memory-system-settings-store.d.ts.map +1 -0
- package/dist/testing/host/in-memory-system-settings-store.js +54 -0
- package/dist/testing/host/in-memory-system-settings-store.js.map +1 -0
- package/dist/testing/host/index.d.ts +4 -0
- package/dist/testing/host/index.d.ts.map +1 -0
- package/dist/testing/host/index.js +13 -0
- package/dist/testing/host/index.js.map +1 -0
- package/dist/testing/host/test-platform-host.d.ts +35 -0
- package/dist/testing/host/test-platform-host.d.ts.map +1 -0
- package/dist/testing/host/test-platform-host.js +81 -0
- package/dist/testing/host/test-platform-host.js.map +1 -0
- package/dist/testing/index.d.ts +12 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +32 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/prisma-schema.d.ts +99 -0
- package/dist/testing/prisma-schema.d.ts.map +1 -0
- package/dist/testing/prisma-schema.js +175 -0
- package/dist/testing/prisma-schema.js.map +1 -0
- package/dist/testing/run-platform-conformance.d.ts +70 -0
- package/dist/testing/run-platform-conformance.d.ts.map +1 -0
- package/dist/testing/run-platform-conformance.js +77 -0
- package/dist/testing/run-platform-conformance.js.map +1 -0
- package/dist/testing/suites/cron-enqueue-only.d.ts +46 -0
- package/dist/testing/suites/cron-enqueue-only.d.ts.map +1 -0
- package/dist/testing/suites/cron-enqueue-only.js +177 -0
- package/dist/testing/suites/cron-enqueue-only.js.map +1 -0
- package/dist/testing/suites/user-owned-data.d.ts +86 -0
- package/dist/testing/suites/user-owned-data.d.ts.map +1 -0
- package/dist/testing/suites/user-owned-data.js +329 -0
- package/dist/testing/suites/user-owned-data.js.map +1 -0
- package/package.json +129 -4
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var TelemetryModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.TelemetryModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const telemetry_ai_enabled_guard_1 = require("./assistant/telemetry-ai-enabled.guard");
|
|
13
|
+
const telemetry_assistant_controller_1 = require("./assistant/telemetry-assistant.controller");
|
|
14
|
+
const telemetry_assistant_service_1 = require("./assistant/telemetry-assistant.service");
|
|
15
|
+
const telemetry_connection_admin_service_1 = require("./connection/telemetry-connection-admin.service");
|
|
16
|
+
const telemetry_connection_test_service_1 = require("./connection/telemetry-connection-test.service");
|
|
17
|
+
const telemetry_connection_controller_1 = require("./connection/telemetry-connection.controller");
|
|
18
|
+
const telemetry_connection_service_1 = require("./connection/telemetry-connection.service");
|
|
19
|
+
const telemetry_dashboard_controller_1 = require("./dashboard/telemetry-dashboard.controller");
|
|
20
|
+
const telemetry_dashboard_service_1 = require("./dashboard/telemetry-dashboard.service");
|
|
21
|
+
const telemetry_export_service_1 = require("./export/telemetry-export.service");
|
|
22
|
+
const greptime_client_1 = require("./greptime/greptime.client");
|
|
23
|
+
const telemetry_retention_handler_1 = require("./handlers/telemetry-retention.handler");
|
|
24
|
+
const telemetry_query_service_1 = require("./query/telemetry-query.service");
|
|
25
|
+
const telemetry_schema_service_1 = require("./query/telemetry-schema.service");
|
|
26
|
+
const stack_agent_client_1 = require("./stack/stack-agent.client");
|
|
27
|
+
const telemetry_stack_deploy_handler_1 = require("./stack/telemetry-stack-deploy.handler");
|
|
28
|
+
const telemetry_stack_controller_1 = require("./stack/telemetry-stack.controller");
|
|
29
|
+
const telemetry_stack_service_1 = require("./stack/telemetry-stack.service");
|
|
30
|
+
const telemetry_retention_task_1 = require("./tasks/telemetry-retention.task");
|
|
31
|
+
const telemetry_admin_controller_1 = require("./telemetry-admin.controller");
|
|
32
|
+
const telemetry_config_controller_1 = require("./telemetry-config.controller");
|
|
33
|
+
const telemetry_explorer_controller_1 = require("./telemetry-explorer.controller");
|
|
34
|
+
const telemetry_settings_service_1 = require("./telemetry-settings.service");
|
|
35
|
+
const telemetry_status_service_1 = require("./telemetry-status.service");
|
|
36
|
+
const telemetry_support_bundle_section_1 = require("./telemetry-support-bundle.section");
|
|
37
|
+
const telemetry_connection_doctor_check_1 = require("./doctor/telemetry-connection.doctor-check");
|
|
38
|
+
const greptimedb_egress_contributor_1 = require("./doctor/egress/greptimedb.egress.contributor");
|
|
39
|
+
const telemetry_export_doctor_check_1 = require("./doctor/telemetry-export.doctor-check");
|
|
40
|
+
const telemetry_freshness_doctor_check_1 = require("./doctor/telemetry-freshness.doctor-check");
|
|
41
|
+
const telemetry_reachable_doctor_check_1 = require("./doctor/telemetry-reachable.doctor-check");
|
|
42
|
+
const telemetry_tables_doctor_check_1 = require("./doctor/telemetry-tables.doctor-check");
|
|
43
|
+
const metric_group_registry_service_1 = require("./metrics/metric-group-registry.service");
|
|
44
|
+
const metric_group_registry_1 = require("./metrics/metric-group.registry");
|
|
45
|
+
const verdict_policy_1 = require("./dashboard/verdict-policy");
|
|
46
|
+
const telemetry_options_1 = require("./telemetry.options");
|
|
47
|
+
// =============================================================================
|
|
48
|
+
// TelemetryModule (issue #534, epic #528; packaged as
|
|
49
|
+
// `@marinoscar/platform-api/telemetry` by #703)
|
|
50
|
+
// =============================================================================
|
|
51
|
+
//
|
|
52
|
+
// The API side of observability: the `telemetry` settings (and the runtime
|
|
53
|
+
// export gate they drive), the GreptimeDB client, the store's status, and the
|
|
54
|
+
// server-only `telemetry.retention.apply` job with its enqueue-only cron.
|
|
55
|
+
//
|
|
56
|
+
// PACKAGED (#703). Nothing here imports the app: every app capability comes
|
|
57
|
+
// through a host port (./ports.ts) the app binds in `forRoot({ imports })`,
|
|
58
|
+
// and every route through the controller-factory recipe with the app's
|
|
59
|
+
// access decorators (`forRoot({ host })`).
|
|
60
|
+
//
|
|
61
|
+
// The explorer (#535): `TelemetryQueryService` (the one entry point for
|
|
62
|
+
// caller-supplied SQL: guard, row cap, timeout, audit), `TelemetrySchemaService`
|
|
63
|
+
// (tables and columns) and `TelemetryExportService` (csv/ndjson/xlsx/parquet),
|
|
64
|
+
// behind `TelemetryExplorerController` on `telemetry:query`.
|
|
65
|
+
//
|
|
66
|
+
// The assistant (#536, #571): `TelemetryAssistantService` runs a
|
|
67
|
+
// troubleshooting agent's tool loop through the `TELEMETRY_AI` port (the
|
|
68
|
+
// app's `AiService.forUser`);
|
|
69
|
+
// every statement its tools run — the model's and the ones it builds itself
|
|
70
|
+
// (`assistant/telemetry-assistant.sql.ts`) — goes through
|
|
71
|
+
// `TelemetryQueryService.run` with `source: 'assistant'`, so it is held to
|
|
72
|
+
// exactly the explorer's guard and bounds; `TelemetrySchemaService` lists and
|
|
73
|
+
// describes tables, and the `TELEMETRY_SETTINGS_STORE` port gives the
|
|
74
|
+
// allowlisted feature flags `get_app_context` reports. Streamed by
|
|
75
|
+
// `TelemetryAssistantController`.
|
|
76
|
+
//
|
|
77
|
+
// The connection (#558): `TelemetryConnectionService` resolves the GreptimeDB
|
|
78
|
+
// connection at runtime — the one saved at /admin/settings/telemetry (a
|
|
79
|
+
// `telemetry_connection` system-settings row plus two passwords in the
|
|
80
|
+
// credential store, the `TELEMETRY_CREDENTIAL_STORE` port), else the `GREPTIME_*`
|
|
81
|
+
// deployment default. `GreptimeClient` builds its pools from it and rebuilds
|
|
82
|
+
// them when it changes. `TelemetryConnectionController` is the admin surface.
|
|
83
|
+
//
|
|
84
|
+
// The services (#567): on a VPS, `StackAgentClient` talks to the
|
|
85
|
+
// `stack-agent` sidecar (STACK_AGENT_URL/TOKEN) to report the telemetry
|
|
86
|
+
// containers' state and to start them through the server-only
|
|
87
|
+
// `telemetry.stack.deploy` job. `TelemetryStackController` is the admin
|
|
88
|
+
// surface, under /api/admin/telemetry/stack.
|
|
89
|
+
//
|
|
90
|
+
// The dashboard (#577): `TelemetryDashboardService` runs the fixed,
|
|
91
|
+
// server-authored statements of `dashboard/telemetry-dashboard.sql.ts` (no
|
|
92
|
+
// caller SQL) on the reader pool, with a 15 s result cache, behind
|
|
93
|
+
// `TelemetryDashboardController` on `telemetry:query`.
|
|
94
|
+
//
|
|
95
|
+
// `GreptimeClient`, `TelemetrySettingsService` and the two query services are
|
|
96
|
+
// exported for it.
|
|
97
|
+
// =============================================================================
|
|
98
|
+
const PROVIDERS = [
|
|
99
|
+
// Rung 2 (#703): the metric-group registry, injectable; frozen on bootstrap.
|
|
100
|
+
metric_group_registry_service_1.MetricGroupRegistry,
|
|
101
|
+
telemetry_connection_service_1.TelemetryConnectionService,
|
|
102
|
+
telemetry_connection_admin_service_1.TelemetryConnectionAdminService,
|
|
103
|
+
telemetry_connection_test_service_1.TelemetryConnectionTestService,
|
|
104
|
+
greptime_client_1.GreptimeClient,
|
|
105
|
+
telemetry_settings_service_1.TelemetrySettingsService,
|
|
106
|
+
telemetry_status_service_1.TelemetryStatusService,
|
|
107
|
+
telemetry_retention_handler_1.TelemetryRetentionHandler,
|
|
108
|
+
telemetry_retention_task_1.TelemetryRetentionTask,
|
|
109
|
+
telemetry_query_service_1.TelemetryQueryService,
|
|
110
|
+
telemetry_schema_service_1.TelemetrySchemaService,
|
|
111
|
+
telemetry_export_service_1.TelemetryExportService,
|
|
112
|
+
telemetry_assistant_service_1.TelemetryAssistantService,
|
|
113
|
+
telemetry_ai_enabled_guard_1.TelemetryAiEnabledGuard,
|
|
114
|
+
stack_agent_client_1.StackAgentClient,
|
|
115
|
+
telemetry_stack_service_1.TelemetryStackService,
|
|
116
|
+
telemetry_stack_deploy_handler_1.TelemetryStackDeployHandler,
|
|
117
|
+
telemetry_dashboard_service_1.TelemetryDashboardService,
|
|
118
|
+
// Doctor checks (#634): read-only — never the connection test (it
|
|
119
|
+
// audits) and never the dashboard service's audited reads. Each registers
|
|
120
|
+
// itself with the Doctor's DoctorCheckRegistry (`@marinoscar/platform-api/doctor`).
|
|
121
|
+
telemetry_export_doctor_check_1.TelemetryExportDoctorCheck,
|
|
122
|
+
telemetry_connection_doctor_check_1.TelemetryConnectionDoctorCheck,
|
|
123
|
+
telemetry_reachable_doctor_check_1.TelemetryReachableDoctorCheck,
|
|
124
|
+
telemetry_tables_doctor_check_1.TelemetryTablesDoctorCheck,
|
|
125
|
+
telemetry_freshness_doctor_check_1.TelemetryFreshnessDoctorCheck,
|
|
126
|
+
// Egress inventory (#773): the GreptimeDB host.
|
|
127
|
+
greptimedb_egress_contributor_1.GreptimeDbEgressContributor,
|
|
128
|
+
// Support-bundle section (#772): telemetry health as aggregates only,
|
|
129
|
+
// gated on telemetry:query. Registers itself with SupportBundleRegistry.
|
|
130
|
+
telemetry_support_bundle_section_1.TelemetrySupportBundleSection,
|
|
131
|
+
];
|
|
132
|
+
/**
|
|
133
|
+
* The telemetry slice: settings and the export gate, the GreptimeDB
|
|
134
|
+
* connection and client, the explorer, the assistant, the dashboard, the
|
|
135
|
+
* stack-agent surface, the two server-only job types, five Doctor checks, an
|
|
136
|
+
* egress contributor and a support-bundle section.
|
|
137
|
+
*
|
|
138
|
+
* @stability experimental
|
|
139
|
+
*/
|
|
140
|
+
let TelemetryModule = TelemetryModule_1 = class TelemetryModule {
|
|
141
|
+
/**
|
|
142
|
+
* The slice for one app: its routes guarded by `options.host`, its host
|
|
143
|
+
* ports bound by `options.imports`.
|
|
144
|
+
*
|
|
145
|
+
* @param options - the module options.
|
|
146
|
+
* @returns the dynamic module. It exports `GreptimeClient`,
|
|
147
|
+
* `TelemetrySettingsService`, `TelemetryQueryService`, `TelemetrySchemaService`,
|
|
148
|
+
* `MetricGroupRegistry`, `DefaultVerdictPolicy`, `VERDICT_POLICY` and
|
|
149
|
+
* `TELEMETRY_VERDICT_THRESHOLDS`.
|
|
150
|
+
* @throws Error when an option is invalid (a bad verdict threshold names the
|
|
151
|
+
* field); RegistryError when an extra metric group is refused (a duplicate id
|
|
152
|
+
* or family key fails boot here).
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* TelemetryModule.forRoot({ host: platformHost, imports: [TelemetryHostModule] });
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* @extensionPoint option
|
|
160
|
+
* @stability experimental
|
|
161
|
+
*/
|
|
162
|
+
static forRoot(options) {
|
|
163
|
+
const resolved = (0, telemetry_options_1.resolveTelemetryModuleOptions)(options);
|
|
164
|
+
// Extra groups go in BEFORE the controllers are created, so the dashboard
|
|
165
|
+
// route's documented `group` enum includes them. Re-registering the very
|
|
166
|
+
// same definition (a second forRoot in one process) is a no-op.
|
|
167
|
+
(0, metric_group_registry_1.registerMetricGroups)(resolved.metricGroups.filter((group) => metric_group_registry_1.metricGroupRegistry.get(group.id) !== group));
|
|
168
|
+
return {
|
|
169
|
+
module: TelemetryModule_1,
|
|
170
|
+
imports: [...resolved.imports],
|
|
171
|
+
controllers: [
|
|
172
|
+
(0, telemetry_admin_controller_1.createTelemetryAdminController)(resolved),
|
|
173
|
+
(0, telemetry_config_controller_1.createTelemetryConfigController)(resolved),
|
|
174
|
+
(0, telemetry_explorer_controller_1.createTelemetryExplorerController)(resolved),
|
|
175
|
+
(0, telemetry_assistant_controller_1.createTelemetryAssistantController)(resolved),
|
|
176
|
+
(0, telemetry_connection_controller_1.createTelemetryConnectionController)(resolved),
|
|
177
|
+
(0, telemetry_stack_controller_1.createTelemetryStackController)(resolved),
|
|
178
|
+
(0, telemetry_dashboard_controller_1.createTelemetryDashboardController)(resolved),
|
|
179
|
+
],
|
|
180
|
+
providers: [
|
|
181
|
+
{ provide: telemetry_options_1.TELEMETRY_OPTIONS, useValue: resolved },
|
|
182
|
+
// Rung 1: the resolved, frozen thresholds every reader injects.
|
|
183
|
+
{ provide: telemetry_options_1.TELEMETRY_VERDICT_THRESHOLDS, useValue: resolved.verdictThresholds },
|
|
184
|
+
// Rung 1: the metric groups' freshness window (`metrics.freshMs`).
|
|
185
|
+
{ provide: telemetry_options_1.TELEMETRY_METRIC_FRESH_MS, useValue: resolved.metricFreshMs },
|
|
186
|
+
// Rung 3: the verdict policy. The default is always provided, so an
|
|
187
|
+
// app policy can inject it and delegate.
|
|
188
|
+
verdict_policy_1.DefaultVerdictPolicy,
|
|
189
|
+
{ provide: verdict_policy_1.VERDICT_POLICY, ...(resolved.verdictPolicy ?? { useExisting: verdict_policy_1.DefaultVerdictPolicy }) },
|
|
190
|
+
...PROVIDERS,
|
|
191
|
+
],
|
|
192
|
+
exports: [
|
|
193
|
+
greptime_client_1.GreptimeClient,
|
|
194
|
+
telemetry_settings_service_1.TelemetrySettingsService,
|
|
195
|
+
telemetry_query_service_1.TelemetryQueryService,
|
|
196
|
+
telemetry_schema_service_1.TelemetrySchemaService,
|
|
197
|
+
metric_group_registry_service_1.MetricGroupRegistry,
|
|
198
|
+
verdict_policy_1.DefaultVerdictPolicy,
|
|
199
|
+
verdict_policy_1.VERDICT_POLICY,
|
|
200
|
+
telemetry_options_1.TELEMETRY_VERDICT_THRESHOLDS,
|
|
201
|
+
telemetry_options_1.TELEMETRY_METRIC_FRESH_MS,
|
|
202
|
+
],
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
exports.TelemetryModule = TelemetryModule;
|
|
207
|
+
exports.TelemetryModule = TelemetryModule = TelemetryModule_1 = __decorate([
|
|
208
|
+
(0, common_1.Module)({})
|
|
209
|
+
], TelemetryModule);
|
|
210
|
+
//# sourceMappingURL=telemetry.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.module.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { type ModuleMetadata } from '@nestjs/common';
|
|
2
|
+
import { type PlatformHost, type PortBinding } from '../core/index';
|
|
3
|
+
import { type VerdictThresholds } from './dashboard/telemetry-dashboard.verdict';
|
|
4
|
+
import type { VerdictPolicy } from './dashboard/verdict-policy';
|
|
5
|
+
import type { MetricGroupDef } from './metrics/metric-group.registry';
|
|
6
|
+
/**
|
|
7
|
+
* A partial {@link VerdictThresholds}: any field, at any depth, may be left out
|
|
8
|
+
* and keeps its default.
|
|
9
|
+
*
|
|
10
|
+
* @stability experimental
|
|
11
|
+
*/
|
|
12
|
+
export type VerdictThresholdsOverride = {
|
|
13
|
+
-readonly [K in keyof VerdictThresholds]?: VerdictThresholds[K] extends object ? {
|
|
14
|
+
-readonly [L in keyof VerdictThresholds[K]]?: VerdictThresholds[K][L];
|
|
15
|
+
} : VerdictThresholds[K];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* The dashboard's options.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* TelemetryModule.forRoot({ host, imports, dashboard: { verdictThresholds: { noDataMinutes: 10 } } });
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @extensionPoint option
|
|
26
|
+
* @stability experimental
|
|
27
|
+
*/
|
|
28
|
+
export interface TelemetryDashboardOptions {
|
|
29
|
+
/** Deep-merged over `DEFAULT_VERDICT_THRESHOLDS`; validated at boot. */
|
|
30
|
+
verdictThresholds?: VerdictThresholdsOverride;
|
|
31
|
+
/** What `VERDICT_POLICY` is bound to; default `{ useClass: DefaultVerdictPolicy }`. Its own dependencies come from `imports`. */
|
|
32
|
+
verdictPolicy?: PortBinding<VerdictPolicy>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The dashboard metric groups' options.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* TelemetryModule.forRoot({ host, imports, metrics: { freshMs: 300_000 } });
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @extensionPoint option
|
|
43
|
+
* @stability experimental
|
|
44
|
+
*/
|
|
45
|
+
export interface TelemetryMetricsOptions {
|
|
46
|
+
/**
|
|
47
|
+
* The freshness window, in milliseconds: a per-key table cell read as `last`
|
|
48
|
+
* (and an uptime check) older than its table's newest reading by more than
|
|
49
|
+
* this is not current. A whole number from 1 000 (1 s) to 86 400 000 (24 h);
|
|
50
|
+
* default `METRIC_FRESH_MS` (150 000, 150 s). Raise it when the app's
|
|
51
|
+
* metrics export interval is longer than the default's 60 s.
|
|
52
|
+
*/
|
|
53
|
+
freshMs?: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Options of `TelemetryModule.forRoot()`.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* TelemetryModule.forRoot({ host: platformHost, imports: [TelemetryHostModule] });
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @extensionPoint option
|
|
64
|
+
* @stability experimental
|
|
65
|
+
*/
|
|
66
|
+
export interface TelemetryModuleOptions {
|
|
67
|
+
/** The app's access decorators (`definePlatformHost`); required: a platform route is never public. */
|
|
68
|
+
host: PlatformHost;
|
|
69
|
+
/** Modules that export the host-port providers (`TELEMETRY_AUDIT_SINK`, `TELEMETRY_SETTINGS_STORE`, ...): the app's adapters. */
|
|
70
|
+
imports: NonNullable<ModuleMetadata['imports']>;
|
|
71
|
+
/** Extra metric groups, registered after the six platform groups when `forRoot` runs. */
|
|
72
|
+
metricGroups?: readonly MetricGroupDef[];
|
|
73
|
+
/**
|
|
74
|
+
* Reads the caller's user id off the framework request. Defaults to
|
|
75
|
+
* `request.requestUser.id`, else `request.user.id`.
|
|
76
|
+
*
|
|
77
|
+
* @param request - the framework request.
|
|
78
|
+
* @returns the user id, or `undefined` for an anonymous request (the access decorators refuse those first).
|
|
79
|
+
*/
|
|
80
|
+
actorId?: (request: unknown) => string | undefined;
|
|
81
|
+
/** The dashboard's verdict thresholds and policy. */
|
|
82
|
+
dashboard?: TelemetryDashboardOptions;
|
|
83
|
+
/** The dashboard metric groups' freshness window. */
|
|
84
|
+
metrics?: TelemetryMetricsOptions;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The options after validation and defaults, as the slice's providers and
|
|
88
|
+
* controller factories receive them.
|
|
89
|
+
*
|
|
90
|
+
* @stability experimental
|
|
91
|
+
*/
|
|
92
|
+
export interface ResolvedTelemetryModuleOptions {
|
|
93
|
+
/** The validated, frozen host. */
|
|
94
|
+
readonly host: PlatformHost;
|
|
95
|
+
/** The host-port modules. */
|
|
96
|
+
readonly imports: NonNullable<ModuleMetadata['imports']>;
|
|
97
|
+
/** The extra metric groups (possibly empty). */
|
|
98
|
+
readonly metricGroups: readonly MetricGroupDef[];
|
|
99
|
+
/** The caller resolver. */
|
|
100
|
+
readonly actorId: (request: unknown) => string | undefined;
|
|
101
|
+
/** A parameter decorator injecting `actorId(request)` into a route handler. */
|
|
102
|
+
readonly actorIdParam: () => ParameterDecorator;
|
|
103
|
+
/** The resolved, frozen verdict thresholds (`TELEMETRY_VERDICT_THRESHOLDS`). */
|
|
104
|
+
readonly verdictThresholds: VerdictThresholds;
|
|
105
|
+
/** The binding of `VERDICT_POLICY`, or `undefined` for the default policy. */
|
|
106
|
+
readonly verdictPolicy: PortBinding<VerdictPolicy> | undefined;
|
|
107
|
+
/** The metric groups' freshness window in milliseconds (`TELEMETRY_METRIC_FRESH_MS`). */
|
|
108
|
+
readonly metricFreshMs: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Injection token of the {@link ResolvedTelemetryModuleOptions}.
|
|
112
|
+
*
|
|
113
|
+
* @stability experimental
|
|
114
|
+
*/
|
|
115
|
+
export declare const TELEMETRY_OPTIONS: unique symbol;
|
|
116
|
+
/**
|
|
117
|
+
* Injection token of the resolved {@link VerdictThresholds}: the defaults with
|
|
118
|
+
* the app's `dashboard.verdictThresholds` deep-merged over them, frozen. Every
|
|
119
|
+
* reader of a threshold injects this.
|
|
120
|
+
*
|
|
121
|
+
* @extensionPoint token
|
|
122
|
+
* @stability experimental
|
|
123
|
+
*/
|
|
124
|
+
export declare const TELEMETRY_VERDICT_THRESHOLDS: unique symbol;
|
|
125
|
+
/**
|
|
126
|
+
* Injection token of the metric groups' freshness window in milliseconds: the
|
|
127
|
+
* app's `metrics.freshMs`, else `METRIC_FRESH_MS`. The dashboard's `/metrics`
|
|
128
|
+
* route reads it and reports it as the response's `freshMs`.
|
|
129
|
+
*
|
|
130
|
+
* @extensionPoint token
|
|
131
|
+
* @stability experimental
|
|
132
|
+
*/
|
|
133
|
+
export declare const TELEMETRY_METRIC_FRESH_MS: unique symbol;
|
|
134
|
+
/**
|
|
135
|
+
* The freshness window for an override: validated, else the default.
|
|
136
|
+
*
|
|
137
|
+
* @param metrics - the app's `metrics`, or `undefined`.
|
|
138
|
+
* @returns the window in milliseconds.
|
|
139
|
+
* @throws Error when `metrics` is not an object or `freshMs` is not a whole number from 1 000 to 86 400 000.
|
|
140
|
+
*
|
|
141
|
+
* @stability experimental
|
|
142
|
+
*/
|
|
143
|
+
export declare function resolveMetricFreshMs(metrics: TelemetryMetricsOptions | undefined): number;
|
|
144
|
+
/**
|
|
145
|
+
* The verdict thresholds for an override: validated, deep-merged over
|
|
146
|
+
* {@link DEFAULT_VERDICT_THRESHOLDS} and frozen.
|
|
147
|
+
*
|
|
148
|
+
* @param override - the app's `dashboard.verdictThresholds`, or `undefined`.
|
|
149
|
+
* @returns the resolved thresholds.
|
|
150
|
+
* @throws Error naming every invalid field, or a degraded bound beyond its critical one.
|
|
151
|
+
*
|
|
152
|
+
* @stability experimental
|
|
153
|
+
*/
|
|
154
|
+
export declare function resolveVerdictThresholds(override: VerdictThresholdsOverride | undefined): VerdictThresholds;
|
|
155
|
+
/**
|
|
156
|
+
* The default caller resolver: the authenticated user's `id`, from
|
|
157
|
+
* `request.requestUser` (set by the app's guards) or `request.user` (the JWT
|
|
158
|
+
* strategy's user).
|
|
159
|
+
*
|
|
160
|
+
* @param request - the framework request.
|
|
161
|
+
* @returns the user id, or `undefined`.
|
|
162
|
+
*
|
|
163
|
+
* @stability experimental
|
|
164
|
+
*/
|
|
165
|
+
export declare function defaultTelemetryActorId(request: unknown): string | undefined;
|
|
166
|
+
/**
|
|
167
|
+
* Validates `options` and applies the defaults.
|
|
168
|
+
*
|
|
169
|
+
* @param options - what the app passed to `forRoot`.
|
|
170
|
+
* @returns the resolved, frozen options.
|
|
171
|
+
* @throws Error naming the bad option.
|
|
172
|
+
*
|
|
173
|
+
* @stability experimental
|
|
174
|
+
*/
|
|
175
|
+
export declare function resolveTelemetryModuleOptions(options: TelemetryModuleOptions): ResolvedTelemetryModuleOptions;
|
|
176
|
+
//# sourceMappingURL=telemetry.options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.options.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// TelemetryModule.forRoot options (issue #703, PP-4.2; Extension Contract rung 1)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// What an app configures when it imports the telemetry slice:
|
|
7
|
+
//
|
|
8
|
+
// host the app's access decorators (`definePlatformHost`, issue
|
|
9
|
+
// #696): every packaged route is guarded by them, so a
|
|
10
|
+
// telemetry route authenticates and authorizes exactly as an
|
|
11
|
+
// app route does.
|
|
12
|
+
// imports the modules exporting the host-port providers (./ports.ts);
|
|
13
|
+
// the reference app passes its `TelemetryHostModule`.
|
|
14
|
+
// metricGroups extra dashboard metric groups, registered after the six
|
|
15
|
+
// platform groups.
|
|
16
|
+
// actorId how a route reads the caller's user id off the request
|
|
17
|
+
// (default: `request.requestUser.id ?? request.user.id`, the
|
|
18
|
+
// reference app's `@CurrentUser('id')`).
|
|
19
|
+
// dashboard `verdictThresholds`: deep-merged over
|
|
20
|
+
// `DEFAULT_VERDICT_THRESHOLDS` (zod-validated); `verdictPolicy`:
|
|
21
|
+
// what `VERDICT_POLICY` is bound to (rung 3; default
|
|
22
|
+
// `DefaultVerdictPolicy`).
|
|
23
|
+
// metrics `freshMs`: how much older than its table's newest reading a
|
|
24
|
+
// `last` cell (and an uptime check) may be and still count as
|
|
25
|
+
// current (default `METRIC_FRESH_MS`, 150 s).
|
|
26
|
+
//
|
|
27
|
+
// Validated once, in `forRoot`: a bad option fails boot with a message naming
|
|
28
|
+
// it.
|
|
29
|
+
// =============================================================================
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.TELEMETRY_METRIC_FRESH_MS = exports.TELEMETRY_VERDICT_THRESHOLDS = exports.TELEMETRY_OPTIONS = void 0;
|
|
32
|
+
exports.resolveMetricFreshMs = resolveMetricFreshMs;
|
|
33
|
+
exports.resolveVerdictThresholds = resolveVerdictThresholds;
|
|
34
|
+
exports.defaultTelemetryActorId = defaultTelemetryActorId;
|
|
35
|
+
exports.resolveTelemetryModuleOptions = resolveTelemetryModuleOptions;
|
|
36
|
+
const common_1 = require("@nestjs/common");
|
|
37
|
+
const zod_1 = require("zod");
|
|
38
|
+
const index_1 = require("../core/index");
|
|
39
|
+
const telemetry_dashboard_verdict_1 = require("./dashboard/telemetry-dashboard.verdict");
|
|
40
|
+
const metric_group_1 = require("./metrics/metric-group");
|
|
41
|
+
/**
|
|
42
|
+
* Injection token of the {@link ResolvedTelemetryModuleOptions}.
|
|
43
|
+
*
|
|
44
|
+
* @stability experimental
|
|
45
|
+
*/
|
|
46
|
+
exports.TELEMETRY_OPTIONS = Symbol.for('@marinoscar/platform/telemetry/OPTIONS');
|
|
47
|
+
/**
|
|
48
|
+
* Injection token of the resolved {@link VerdictThresholds}: the defaults with
|
|
49
|
+
* the app's `dashboard.verdictThresholds` deep-merged over them, frozen. Every
|
|
50
|
+
* reader of a threshold injects this.
|
|
51
|
+
*
|
|
52
|
+
* @extensionPoint token
|
|
53
|
+
* @stability experimental
|
|
54
|
+
*/
|
|
55
|
+
exports.TELEMETRY_VERDICT_THRESHOLDS = Symbol.for('@marinoscar/platform/telemetry/VERDICT_THRESHOLDS');
|
|
56
|
+
/**
|
|
57
|
+
* Injection token of the metric groups' freshness window in milliseconds: the
|
|
58
|
+
* app's `metrics.freshMs`, else `METRIC_FRESH_MS`. The dashboard's `/metrics`
|
|
59
|
+
* route reads it and reports it as the response's `freshMs`.
|
|
60
|
+
*
|
|
61
|
+
* @extensionPoint token
|
|
62
|
+
* @stability experimental
|
|
63
|
+
*/
|
|
64
|
+
exports.TELEMETRY_METRIC_FRESH_MS = Symbol.for('@marinoscar/platform/telemetry/METRIC_FRESH_MS');
|
|
65
|
+
/** The bounds of `metrics.freshMs`: one second to one day. */
|
|
66
|
+
const FRESH_MS_MIN = 1_000;
|
|
67
|
+
const FRESH_MS_MAX = 86_400_000;
|
|
68
|
+
/**
|
|
69
|
+
* The freshness window for an override: validated, else the default.
|
|
70
|
+
*
|
|
71
|
+
* @param metrics - the app's `metrics`, or `undefined`.
|
|
72
|
+
* @returns the window in milliseconds.
|
|
73
|
+
* @throws Error when `metrics` is not an object or `freshMs` is not a whole number from 1 000 to 86 400 000.
|
|
74
|
+
*
|
|
75
|
+
* @stability experimental
|
|
76
|
+
*/
|
|
77
|
+
function resolveMetricFreshMs(metrics) {
|
|
78
|
+
if (metrics === undefined)
|
|
79
|
+
return metric_group_1.METRIC_FRESH_MS;
|
|
80
|
+
if (metrics === null || typeof metrics !== 'object')
|
|
81
|
+
fail('`metrics` must be an object');
|
|
82
|
+
const { freshMs } = metrics;
|
|
83
|
+
if (freshMs === undefined)
|
|
84
|
+
return metric_group_1.METRIC_FRESH_MS;
|
|
85
|
+
if (typeof freshMs !== 'number' || !Number.isInteger(freshMs) || freshMs < FRESH_MS_MIN || freshMs > FRESH_MS_MAX) {
|
|
86
|
+
fail(`\`metrics.freshMs\` must be a whole number of milliseconds from ${FRESH_MS_MIN} to ${FRESH_MS_MAX} (got ${String(freshMs)})`);
|
|
87
|
+
}
|
|
88
|
+
return freshMs;
|
|
89
|
+
}
|
|
90
|
+
const amount = zod_1.z.number().finite().nonnegative();
|
|
91
|
+
const count = zod_1.z.number().int().positive();
|
|
92
|
+
const levels = zod_1.z.object({ degraded: amount, critical: amount }).partial().strict();
|
|
93
|
+
/** What a `dashboard.verdictThresholds` override may contain. */
|
|
94
|
+
const verdictThresholdsOverrideSchema = zod_1.z
|
|
95
|
+
.object({
|
|
96
|
+
minRequests: zod_1.z.number().int().nonnegative(),
|
|
97
|
+
errorRatePct: levels,
|
|
98
|
+
p95Ms: levels,
|
|
99
|
+
errorLogs: zod_1.z
|
|
100
|
+
.object({ minCurrent: zod_1.z.number().int().nonnegative(), degradedRatio: amount, criticalRatio: amount })
|
|
101
|
+
.partial()
|
|
102
|
+
.strict(),
|
|
103
|
+
noDataMinutes: zod_1.z.number().finite().positive(),
|
|
104
|
+
unknownRoutes: zod_1.z.object({ criticalBearerRequests: count, criticalDistinctRoutes: count }).partial().strict(),
|
|
105
|
+
diskUtilizationPct: levels,
|
|
106
|
+
memoryUtilizationPct: levels,
|
|
107
|
+
dbConnectionsPct: levels,
|
|
108
|
+
oldestPendingJobMinutes: levels,
|
|
109
|
+
tlsDaysLeft: levels,
|
|
110
|
+
uptimeMinChecksForCritical: count,
|
|
111
|
+
collectorFailedPct: zod_1.z.object({ critical: amount }).partial().strict(),
|
|
112
|
+
backupAgeHours: levels,
|
|
113
|
+
})
|
|
114
|
+
.partial()
|
|
115
|
+
.strict();
|
|
116
|
+
/** The `{ degraded, critical }` pairs whose degraded bound must not exceed the critical one (`>`/`>=` rules). */
|
|
117
|
+
const RISING = [
|
|
118
|
+
'errorRatePct',
|
|
119
|
+
'p95Ms',
|
|
120
|
+
'diskUtilizationPct',
|
|
121
|
+
'memoryUtilizationPct',
|
|
122
|
+
'dbConnectionsPct',
|
|
123
|
+
'oldestPendingJobMinutes',
|
|
124
|
+
'backupAgeHours',
|
|
125
|
+
];
|
|
126
|
+
function deepFreeze(value) {
|
|
127
|
+
if (value && typeof value === 'object') {
|
|
128
|
+
for (const inner of Object.values(value))
|
|
129
|
+
deepFreeze(inner);
|
|
130
|
+
Object.freeze(value);
|
|
131
|
+
}
|
|
132
|
+
return value;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The verdict thresholds for an override: validated, deep-merged over
|
|
136
|
+
* {@link DEFAULT_VERDICT_THRESHOLDS} and frozen.
|
|
137
|
+
*
|
|
138
|
+
* @param override - the app's `dashboard.verdictThresholds`, or `undefined`.
|
|
139
|
+
* @returns the resolved thresholds.
|
|
140
|
+
* @throws Error naming every invalid field, or a degraded bound beyond its critical one.
|
|
141
|
+
*
|
|
142
|
+
* @stability experimental
|
|
143
|
+
*/
|
|
144
|
+
function resolveVerdictThresholds(override) {
|
|
145
|
+
const parsed = verdictThresholdsOverrideSchema.safeParse(override ?? {});
|
|
146
|
+
if (!parsed.success) {
|
|
147
|
+
const problems = parsed.error.issues
|
|
148
|
+
.map((issue) => `${issue.path.length ? issue.path.join('.') : '(root)'}: ${issue.message}`)
|
|
149
|
+
.join('; ');
|
|
150
|
+
fail(`\`dashboard.verdictThresholds\` is invalid (${problems})`);
|
|
151
|
+
}
|
|
152
|
+
const merged = structuredClone(telemetry_dashboard_verdict_1.DEFAULT_VERDICT_THRESHOLDS);
|
|
153
|
+
for (const [key, value] of Object.entries(parsed.data)) {
|
|
154
|
+
if (value === undefined)
|
|
155
|
+
continue;
|
|
156
|
+
merged[key] =
|
|
157
|
+
value !== null && typeof value === 'object'
|
|
158
|
+
? { ...merged[key], ...value }
|
|
159
|
+
: value;
|
|
160
|
+
}
|
|
161
|
+
const resolved = merged;
|
|
162
|
+
for (const key of RISING) {
|
|
163
|
+
const pair = resolved[key];
|
|
164
|
+
if (pair.degraded > pair.critical) {
|
|
165
|
+
fail(`\`dashboard.verdictThresholds.${key}\`: degraded (${pair.degraded}) must not exceed critical (${pair.critical})`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (resolved.tlsDaysLeft.degraded < resolved.tlsDaysLeft.critical) {
|
|
169
|
+
fail(`\`dashboard.verdictThresholds.tlsDaysLeft\`: degraded (${resolved.tlsDaysLeft.degraded}) must not be below ` +
|
|
170
|
+
`critical (${resolved.tlsDaysLeft.critical}); fewer days left is worse`);
|
|
171
|
+
}
|
|
172
|
+
if (resolved.errorLogs.degradedRatio > resolved.errorLogs.criticalRatio) {
|
|
173
|
+
fail(`\`dashboard.verdictThresholds.errorLogs\`: degradedRatio (${resolved.errorLogs.degradedRatio}) must not exceed ` +
|
|
174
|
+
`criticalRatio (${resolved.errorLogs.criticalRatio})`);
|
|
175
|
+
}
|
|
176
|
+
return deepFreeze(resolved);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* The default caller resolver: the authenticated user's `id`, from
|
|
180
|
+
* `request.requestUser` (set by the app's guards) or `request.user` (the JWT
|
|
181
|
+
* strategy's user).
|
|
182
|
+
*
|
|
183
|
+
* @param request - the framework request.
|
|
184
|
+
* @returns the user id, or `undefined`.
|
|
185
|
+
*
|
|
186
|
+
* @stability experimental
|
|
187
|
+
*/
|
|
188
|
+
function defaultTelemetryActorId(request) {
|
|
189
|
+
if (request === null || typeof request !== 'object')
|
|
190
|
+
return undefined;
|
|
191
|
+
const { requestUser, user } = request;
|
|
192
|
+
const id = (requestUser || user)?.id;
|
|
193
|
+
return typeof id === 'string' ? id : undefined;
|
|
194
|
+
}
|
|
195
|
+
function fail(why) {
|
|
196
|
+
throw new Error(`TelemetryModule.forRoot: ${why}.`);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Validates `options` and applies the defaults.
|
|
200
|
+
*
|
|
201
|
+
* @param options - what the app passed to `forRoot`.
|
|
202
|
+
* @returns the resolved, frozen options.
|
|
203
|
+
* @throws Error naming the bad option.
|
|
204
|
+
*
|
|
205
|
+
* @stability experimental
|
|
206
|
+
*/
|
|
207
|
+
function resolveTelemetryModuleOptions(options) {
|
|
208
|
+
if (options === null || typeof options !== 'object')
|
|
209
|
+
fail('options are required ({ host, imports })');
|
|
210
|
+
if (!options.host)
|
|
211
|
+
fail('`host` is required (the app\'s definePlatformHost(...)): a platform route is never public');
|
|
212
|
+
const host = (0, index_1.definePlatformHost)(options.host);
|
|
213
|
+
if (!Array.isArray(options.imports)) {
|
|
214
|
+
fail('`imports` must list the modules that provide the telemetry host ports (the app\'s TelemetryHostModule)');
|
|
215
|
+
}
|
|
216
|
+
if (options.metricGroups !== undefined && !Array.isArray(options.metricGroups))
|
|
217
|
+
fail('`metricGroups` must be an array');
|
|
218
|
+
if (options.actorId !== undefined && typeof options.actorId !== 'function')
|
|
219
|
+
fail('`actorId` must be a function');
|
|
220
|
+
if (options.dashboard !== undefined && (options.dashboard === null || typeof options.dashboard !== 'object')) {
|
|
221
|
+
fail('`dashboard` must be an object');
|
|
222
|
+
}
|
|
223
|
+
const verdictPolicy = options.dashboard?.verdictPolicy;
|
|
224
|
+
if (verdictPolicy !== undefined) {
|
|
225
|
+
const kinds = verdictPolicy && typeof verdictPolicy === 'object'
|
|
226
|
+
? ['useExisting', 'useClass', 'useFactory'].filter((k) => k in verdictPolicy)
|
|
227
|
+
: [];
|
|
228
|
+
if (kinds.length !== 1)
|
|
229
|
+
fail('`dashboard.verdictPolicy` needs exactly one of useExisting, useClass or useFactory');
|
|
230
|
+
}
|
|
231
|
+
const verdictThresholds = resolveVerdictThresholds(options.dashboard?.verdictThresholds);
|
|
232
|
+
const metricFreshMs = resolveMetricFreshMs(options.metrics);
|
|
233
|
+
const actorId = options.actorId ?? defaultTelemetryActorId;
|
|
234
|
+
const param = (0, common_1.createParamDecorator)((_data, ctx) => actorId(ctx.switchToHttp().getRequest()));
|
|
235
|
+
return Object.freeze({
|
|
236
|
+
host,
|
|
237
|
+
imports: [...options.imports],
|
|
238
|
+
metricGroups: Object.freeze([...(options.metricGroups ?? [])]),
|
|
239
|
+
actorId,
|
|
240
|
+
actorIdParam: () => param(),
|
|
241
|
+
verdictThresholds,
|
|
242
|
+
verdictPolicy,
|
|
243
|
+
metricFreshMs,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=telemetry.options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.options.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.options.ts"],"names":[],"mappings":"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"}
|