@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 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-check.interface.js","sourceRoot":"","sources":["../../src/doctor/doctor-check.interface.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iEAAiE;AACjE,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,iDAAiD;AACjD,EAAE;AACF,iEAAiE;AACjE,4EAA4E;AAC5E,4EAA4E;AAC5E,wEAAwE;AACxE,8EAA8E;AAC9E,EAAE;AACF,0CAA0C;AAC1C,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,mDAAmD;AACnD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,gDAAgD;AAChD,2DAA2D;AAC3D,oEAAoE;AACpE,sDAAsD;AACtD,8EAA8E;AAC9E,qEAAqE;AACrE,4DAA4D;AAC5D,kDAAkD;AAClD,4EAA4E;AAC5E,EAAE;AACF,sEAAsE;AACtE,0EAA0E;AAC1E,0EAA0E;AAC1E,gEAAgE;AAChE,EAAE;AACF,6DAA6D;AAC7D,8EAA8E;AAC9E,0CAA0C;AAC1C,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,qCAAqC;AACrC,EAAE;AACF,iEAAiE;AACjE,iEAAiE;AACjE,wEAAwE;AACxE,uEAAuE;AACvE,gEAAgE;AAChE,gFAAgF;;;AAOhF,+DAA2F;AAAlF,yGAAA,eAAe,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAG5C;;;;;;GAMG;AACU,QAAA,0BAA0B,GAAG;IACxC,MAAM;IACN,MAAM;IACN,aAAa;IACb,SAAS;IACT,OAAO;IACP,MAAM;IACN,IAAI;IACJ,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,SAAS;CACD,CAAC;AAEX;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,kCAA0B,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OnApplicationBootstrap } from '@nestjs/common';
|
|
2
|
+
import { DoctorCheck } from './doctor-check.interface';
|
|
3
|
+
/**
|
|
4
|
+
* The checks `GET /api/admin/doctor` runs. Provided (globally) by
|
|
5
|
+
* `DoctorModule.forRoot()`; a feature module's check injects it and registers
|
|
6
|
+
* itself from `onModuleInit`.
|
|
7
|
+
*
|
|
8
|
+
* @stability stable
|
|
9
|
+
*/
|
|
10
|
+
export declare class DoctorCheckRegistry implements OnApplicationBootstrap {
|
|
11
|
+
private readonly checks;
|
|
12
|
+
/**
|
|
13
|
+
* Adds `check`. Call it from the check's own `onModuleInit`.
|
|
14
|
+
*
|
|
15
|
+
* @param check - the check; its `id` must be unique across the application.
|
|
16
|
+
* @throws RegistryError `DUPLICATE_ID` when another check already uses its id
|
|
17
|
+
* (`Duplicate doctor check id "<id>": <A> and <B> both register it. Check ids must be unique.`),
|
|
18
|
+
* `FROZEN` after the application has bootstrapped.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* onModuleInit(): void {
|
|
23
|
+
* this.registry.register(this);
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @extensionPoint registry
|
|
28
|
+
*/
|
|
29
|
+
register(check: DoctorCheck): void;
|
|
30
|
+
/** The check registered under `id`, or `undefined`. */
|
|
31
|
+
get(id: string): DoctorCheck | undefined;
|
|
32
|
+
/** Every registered check, in registration order. */
|
|
33
|
+
list(): DoctorCheck[];
|
|
34
|
+
/** Refuses further registrations once every module's `onModuleInit` has run. */
|
|
35
|
+
onApplicationBootstrap(): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=doctor-check.registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-check.registry.d.ts","sourceRoot":"","sources":["../../src/doctor/doctor-check.registry.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAc,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;GAMG;AACH,qBACa,mBAAoB,YAAW,sBAAsB;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAMpB;IAEH;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIlC,uDAAuD;IACvD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxC,qDAAqD;IACrD,IAAI,IAAI,WAAW,EAAE;IAIrB,gFAAgF;IAChF,sBAAsB,IAAI,IAAI;CAG/B"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// Doctor check registry (issue #634; packaged by #696)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// The one place that knows which checks `GET /api/admin/doctor` runs.
|
|
7
|
+
// `DoctorService` holds this and nothing else; it has no import of any check
|
|
8
|
+
// and no reason to change when a capability adds one.
|
|
9
|
+
//
|
|
10
|
+
// EXPLICIT SELF-REGISTRATION, the same mechanism and for the same reasons as
|
|
11
|
+
// the app's `jobs/job-handler.registry.ts` (read its header): each check is an
|
|
12
|
+
// `@Injectable()` in its OWNING feature module, injects this registry, and calls
|
|
13
|
+
// `this.registry.register(this)` from its own `onModuleInit`. "Why does the
|
|
14
|
+
// doctor run this check?" has a grep-able answer — one `register(this)` line —
|
|
15
|
+
// and a check nobody wired up is a missing line in a diff rather than a
|
|
16
|
+
// decorator scan that silently matched nothing.
|
|
17
|
+
//
|
|
18
|
+
// The lifecycle consequence is the one the job registry documents: every
|
|
19
|
+
// `onModuleInit` has run before the first HTTP request is served, so the
|
|
20
|
+
// doctor never races a registration. (Nothing here runs at boot.)
|
|
21
|
+
//
|
|
22
|
+
// ⚠ DUPLICATE IDS THROW, where the job registry overwrites. The difference is
|
|
23
|
+
// deliberate: a job `type` is a persisted contract a fork may legitimately
|
|
24
|
+
// shadow with its own handler, while a check id only names a line in a report.
|
|
25
|
+
// Two checks claiming one id is always a copy-paste mistake, and reporting one
|
|
26
|
+
// of them while silently dropping the other would hide exactly the check its
|
|
27
|
+
// author thought they had added. Failing at boot is loud and trivially fixed.
|
|
28
|
+
//
|
|
29
|
+
// Built on the generic registry primitive (the `core` slice, issue #675): an
|
|
30
|
+
// INSTANCE registry with the primitive's default duplicate policy (throw), kept
|
|
31
|
+
// in registration order, and frozen in `onApplicationBootstrap`, after every
|
|
32
|
+
// check's `onModuleInit` has registered it. A check that registers any later is
|
|
33
|
+
// a wiring mistake and fails with `FROZEN`.
|
|
34
|
+
// =============================================================================
|
|
35
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
36
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
37
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
38
|
+
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;
|
|
39
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.DoctorCheckRegistry = void 0;
|
|
43
|
+
const common_1 = require("@nestjs/common");
|
|
44
|
+
const index_1 = require("../core/index");
|
|
45
|
+
/**
|
|
46
|
+
* The checks `GET /api/admin/doctor` runs. Provided (globally) by
|
|
47
|
+
* `DoctorModule.forRoot()`; a feature module's check injects it and registers
|
|
48
|
+
* itself from `onModuleInit`.
|
|
49
|
+
*
|
|
50
|
+
* @stability stable
|
|
51
|
+
*/
|
|
52
|
+
let DoctorCheckRegistry = class DoctorCheckRegistry {
|
|
53
|
+
checks = new index_1.Registry({
|
|
54
|
+
name: 'doctor-checks',
|
|
55
|
+
idOf: (check) => check.id,
|
|
56
|
+
describeDuplicate: (existing, incoming) => `Duplicate doctor check id "${incoming.id}": ${existing.constructor.name} and ` +
|
|
57
|
+
`${incoming.constructor.name} both register it. Check ids must be unique.`,
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* Adds `check`. Call it from the check's own `onModuleInit`.
|
|
61
|
+
*
|
|
62
|
+
* @param check - the check; its `id` must be unique across the application.
|
|
63
|
+
* @throws RegistryError `DUPLICATE_ID` when another check already uses its id
|
|
64
|
+
* (`Duplicate doctor check id "<id>": <A> and <B> both register it. Check ids must be unique.`),
|
|
65
|
+
* `FROZEN` after the application has bootstrapped.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* onModuleInit(): void {
|
|
70
|
+
* this.registry.register(this);
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* @extensionPoint registry
|
|
75
|
+
*/
|
|
76
|
+
register(check) {
|
|
77
|
+
this.checks.register(check);
|
|
78
|
+
}
|
|
79
|
+
/** The check registered under `id`, or `undefined`. */
|
|
80
|
+
get(id) {
|
|
81
|
+
return this.checks.get(id);
|
|
82
|
+
}
|
|
83
|
+
/** Every registered check, in registration order. */
|
|
84
|
+
list() {
|
|
85
|
+
return this.checks.list();
|
|
86
|
+
}
|
|
87
|
+
/** Refuses further registrations once every module's `onModuleInit` has run. */
|
|
88
|
+
onApplicationBootstrap() {
|
|
89
|
+
this.checks.freeze();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
exports.DoctorCheckRegistry = DoctorCheckRegistry;
|
|
93
|
+
exports.DoctorCheckRegistry = DoctorCheckRegistry = __decorate([
|
|
94
|
+
(0, common_1.Injectable)()
|
|
95
|
+
], DoctorCheckRegistry);
|
|
96
|
+
//# sourceMappingURL=doctor-check.registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-check.registry.js","sourceRoot":"","sources":["../../src/doctor/doctor-check.registry.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;AAChF,EAAE;AACF,sEAAsE;AACtE,6EAA6E;AAC7E,sDAAsD;AACtD,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,iFAAiF;AACjF,4EAA4E;AAC5E,+EAA+E;AAC/E,wEAAwE;AACxE,gDAAgD;AAChD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,kEAAkE;AAClE,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;;;;;;;;;AAEhF,2CAAoE;AAEpE,yCAAyC;AAGzC;;;;;;GAMG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACb,MAAM,GAAG,IAAI,gBAAQ,CAAc;QAClD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;QACzB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACxC,8BAA8B,QAAQ,CAAC,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO;YAC/E,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,8CAA8C;KAC7E,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAkB;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,uDAAuD;IACvD,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,qDAAqD;IACrD,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,gFAAgF;IAChF,sBAAsB;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AA5CY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CA4C/B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { DoctorReport } from '@marinoscar/platform-contract/doctor';
|
|
2
|
+
import { Type } from '@nestjs/common';
|
|
3
|
+
import type { ResolvedDoctorModuleOptions } from './doctor.options';
|
|
4
|
+
import { DoctorQueryDto } from './dto/doctor-query.dto';
|
|
5
|
+
/**
|
|
6
|
+
* The shape of the controller class {@link createDoctorController} returns.
|
|
7
|
+
*
|
|
8
|
+
* @stability experimental
|
|
9
|
+
*/
|
|
10
|
+
export interface DoctorControllerInstance {
|
|
11
|
+
/**
|
|
12
|
+
* `GET <path>`: runs the checks (or one category) and returns the report.
|
|
13
|
+
*
|
|
14
|
+
* @param query - the validated query (`category`, `refresh`).
|
|
15
|
+
*/
|
|
16
|
+
getReport(query: DoctorQueryDto): Promise<DoctorReport>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates the Doctor's controller class for one set of options: the route at
|
|
20
|
+
* `options.path`, guarded by `options.host.access.requirePermissions([options.permission])`.
|
|
21
|
+
* `DoctorModule.forRoot()` calls it; an app never needs to.
|
|
22
|
+
*
|
|
23
|
+
* @param options - the resolved module options.
|
|
24
|
+
* @returns a controller class named `DoctorController` with a `getReport` handler.
|
|
25
|
+
*
|
|
26
|
+
* @stability experimental
|
|
27
|
+
*/
|
|
28
|
+
export declare function createDoctorController(options: ResolvedDoctorModuleOptions): Type<DoctorControllerInstance>;
|
|
29
|
+
//# sourceMappingURL=doctor.controller.factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.controller.factory.d.ts","sourceRoot":"","sources":["../../src/doctor/doctor.controller.factory.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAkC,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACzD;AAwBD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAsC3G"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// GET /api/admin/doctor, created per app (issue #634; packaged by #696)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// THE CONTROLLER-FACTORY RECIPE (core README, "Host ports"). A packaged
|
|
7
|
+
// controller cannot import the app's `@Auth()`, and Nest applies decorators
|
|
8
|
+
// when a class is defined, before any container exists. So the class is
|
|
9
|
+
// defined HERE, inside a function `DoctorModule.forRoot()` calls, with the
|
|
10
|
+
// decorators the app's host supplies (`options.host.access`). The package
|
|
11
|
+
// owns the route, the OpenAPI text and the handler; the app owns the policy.
|
|
12
|
+
//
|
|
13
|
+
// ⚠ THE OPENAPI DOCUMENT MUST NOT CHANGE when an app moves from its own
|
|
14
|
+
// controller to this one:
|
|
15
|
+
// - the class is named `DoctorController` and the handler `getReport`, which
|
|
16
|
+
// the app's operationId factory turns into `doctor_getReport`;
|
|
17
|
+
// - the decorators are applied in the order the app's controller used
|
|
18
|
+
// (`@Get`, access, `@ApiOperation`, the two `@ApiQuery`, the two
|
|
19
|
+
// `@ApiResponse`);
|
|
20
|
+
// - the description text is generated from the options, and with the
|
|
21
|
+
// defaults it is word for word what it was.
|
|
22
|
+
//
|
|
23
|
+
// `@Inject(DoctorService)` is explicit so dependency injection never depends
|
|
24
|
+
// on the decorator metadata of a class declared in a closure.
|
|
25
|
+
// =============================================================================
|
|
26
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
27
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
28
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
29
|
+
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;
|
|
30
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
31
|
+
};
|
|
32
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
33
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
34
|
+
};
|
|
35
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
36
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createDoctorController = createDoctorController;
|
|
40
|
+
const common_1 = require("@nestjs/common");
|
|
41
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
42
|
+
const doctor_service_1 = require("./doctor.service");
|
|
43
|
+
const doctor_query_dto_1 = require("./dto/doctor-query.dto");
|
|
44
|
+
const doctor_report_dto_1 = require("./dto/doctor-report.dto");
|
|
45
|
+
/** The operation description, generated from the options (identical with the defaults). */
|
|
46
|
+
function describeOperation(options) {
|
|
47
|
+
return ('Runs a read-only check of every capability this deployment has — database, ' +
|
|
48
|
+
'authentication, maintenance mode, object storage, email, Web Push, AI, the job queue, ' +
|
|
49
|
+
'worker nodes, database backups and telemetry — and returns one row per check with a ' +
|
|
50
|
+
'`status` (`pass`, `warn`, `fail`, `skip`), a one-line `detail`, and on `warn`/`fail` a ' +
|
|
51
|
+
'`remedy` plus the `settingsPath` of the page that fixes it.\n\n' +
|
|
52
|
+
'**Always answers `200`.** A failing check is a row, not an error status.\n\n' +
|
|
53
|
+
'**Read-only.** No check writes an object, a row or an audit event, sends mail or a ' +
|
|
54
|
+
'push, or calls a model; the explicit "Test" buttons on each settings page remain the ' +
|
|
55
|
+
'way to exercise a capability end to end.\n\n' +
|
|
56
|
+
`**Bounded.** Checks run in parallel; each is cut off after ${options.defaultTimeoutMs} ms ` +
|
|
57
|
+
'unless it declares otherwise, and a check whose dependency failed or was skipped is ' +
|
|
58
|
+
'reported as `skip` without running.\n\n' +
|
|
59
|
+
`**Cached** for ${options.cacheTtlMs / 1000} s per \`category\`; pass \`refresh=true\` to run ` +
|
|
60
|
+
'again now. `generatedAt` says when the report was produced.\n\n' +
|
|
61
|
+
'`verdict` is the worst status present, ordered `pass` < `skip` < `warn` < `fail`.\n\n' +
|
|
62
|
+
`Requires \`${options.permission}\`.`);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Creates the Doctor's controller class for one set of options: the route at
|
|
66
|
+
* `options.path`, guarded by `options.host.access.requirePermissions([options.permission])`.
|
|
67
|
+
* `DoctorModule.forRoot()` calls it; an app never needs to.
|
|
68
|
+
*
|
|
69
|
+
* @param options - the resolved module options.
|
|
70
|
+
* @returns a controller class named `DoctorController` with a `getReport` handler.
|
|
71
|
+
*
|
|
72
|
+
* @stability experimental
|
|
73
|
+
*/
|
|
74
|
+
function createDoctorController(options) {
|
|
75
|
+
const requireAccess = options.host.access.requirePermissions([options.permission]);
|
|
76
|
+
let DoctorController = class DoctorController {
|
|
77
|
+
doctor;
|
|
78
|
+
constructor(doctor) {
|
|
79
|
+
this.doctor = doctor;
|
|
80
|
+
}
|
|
81
|
+
async getReport(query) {
|
|
82
|
+
const { category, refresh } = query;
|
|
83
|
+
return this.doctor.run({ category, refresh: refresh === true });
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, common_1.Get)(),
|
|
88
|
+
requireAccess,
|
|
89
|
+
(0, swagger_1.ApiOperation)({
|
|
90
|
+
summary: 'Run the configuration and health checks (Admin only)',
|
|
91
|
+
description: describeOperation(options),
|
|
92
|
+
}),
|
|
93
|
+
(0, swagger_1.ApiQuery)({
|
|
94
|
+
name: 'category',
|
|
95
|
+
required: false,
|
|
96
|
+
type: String,
|
|
97
|
+
description: `Only the checks in this category. Shipped categories: ${options.categoryOrder.join(', ')}. ` +
|
|
98
|
+
'An unknown category returns an empty report.',
|
|
99
|
+
}),
|
|
100
|
+
(0, swagger_1.ApiQuery)({
|
|
101
|
+
name: 'refresh',
|
|
102
|
+
required: false,
|
|
103
|
+
enum: ['true', 'false'],
|
|
104
|
+
description: '`true` bypasses the report cache.',
|
|
105
|
+
}),
|
|
106
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'The doctor report.', type: doctor_report_dto_1.DoctorReportDto }),
|
|
107
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Invalid query parameter' }),
|
|
108
|
+
__param(0, (0, common_1.Query)()),
|
|
109
|
+
__metadata("design:type", Function),
|
|
110
|
+
__metadata("design:paramtypes", [doctor_query_dto_1.DoctorQueryDto]),
|
|
111
|
+
__metadata("design:returntype", Promise)
|
|
112
|
+
], DoctorController.prototype, "getReport", null);
|
|
113
|
+
DoctorController = __decorate([
|
|
114
|
+
(0, swagger_1.ApiTags)('Doctor'),
|
|
115
|
+
(0, common_1.Controller)(options.path),
|
|
116
|
+
__param(0, (0, common_1.Inject)(doctor_service_1.DoctorService)),
|
|
117
|
+
__metadata("design:paramtypes", [doctor_service_1.DoctorService])
|
|
118
|
+
], DoctorController);
|
|
119
|
+
return DoctorController;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=doctor.controller.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.controller.factory.js","sourceRoot":"","sources":["../../src/doctor/doctor.controller.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { DynamicModule } from '@nestjs/common';
|
|
2
|
+
import type { PlatformHost } from '../core/index';
|
|
3
|
+
import type { SupportBundleOptions } from './support-bundle/support-bundle.options';
|
|
4
|
+
/**
|
|
5
|
+
* The permission `GET /api/admin/doctor` requires unless an app passes another:
|
|
6
|
+
* the existing `system_settings:read`. The report describes the deployment's
|
|
7
|
+
* configuration, which is exactly what that permission already covers, and
|
|
8
|
+
* every check is read-only, so there is no new capability to grant (no
|
|
9
|
+
* `doctor:read`). A web settings card reaching the route must declare this same
|
|
10
|
+
* literal (Settings UI Pattern rule 3).
|
|
11
|
+
*
|
|
12
|
+
* @stability stable
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_DOCTOR_PERMISSION = "system_settings:read";
|
|
15
|
+
/**
|
|
16
|
+
* The route path under the app's global prefix unless an app passes another.
|
|
17
|
+
*
|
|
18
|
+
* @stability stable
|
|
19
|
+
*/
|
|
20
|
+
export declare const DEFAULT_DOCTOR_PATH = "admin/doctor";
|
|
21
|
+
/**
|
|
22
|
+
* What an app passes to {@link DoctorModule.forRoot}.
|
|
23
|
+
*
|
|
24
|
+
* @extensionPoint option
|
|
25
|
+
* @stability experimental
|
|
26
|
+
*/
|
|
27
|
+
export interface DoctorModuleOptions {
|
|
28
|
+
/** From definePlatformHost(); required. Without it forRoot throws: the route is never public. */
|
|
29
|
+
host: PlatformHost;
|
|
30
|
+
/** Permission required to read the report. Default {@link DEFAULT_DOCTOR_PERMISSION}. Must be a permission the app's RBAC grants. */
|
|
31
|
+
permission?: string;
|
|
32
|
+
/** Route path under the global prefix. Default {@link DEFAULT_DOCTOR_PATH} (`'admin/doctor'`). */
|
|
33
|
+
path?: string;
|
|
34
|
+
/** Category display/sort order. Default `PLATFORM_DOCTOR_CATEGORIES`; unknown categories sort after, in registration order. */
|
|
35
|
+
categoryOrder?: readonly string[];
|
|
36
|
+
/** Per-check ceiling when a check declares none, in milliseconds. Default 5_000. */
|
|
37
|
+
defaultTimeoutMs?: number;
|
|
38
|
+
/** Report cache TTL, in milliseconds. Default 15_000. */
|
|
39
|
+
cacheTtlMs?: number;
|
|
40
|
+
/**
|
|
41
|
+
* The support bundle (`GET <path>/support-bundle`): the filename slug, how
|
|
42
|
+
* the caller is resolved, the per-section timeout. Pass `false` for no
|
|
43
|
+
* bundle route and no built-in sections (`SupportBundleRegistry` is still
|
|
44
|
+
* provided, so sections an app registers need no change). Default: enabled.
|
|
45
|
+
*/
|
|
46
|
+
supportBundle?: SupportBundleOptions | false;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The admin Doctor: `GET /api/admin/doctor`, the check registry and the
|
|
50
|
+
* service that runs it. Import it once, with {@link DoctorModule.forRoot}.
|
|
51
|
+
*
|
|
52
|
+
* @stability stable
|
|
53
|
+
*/
|
|
54
|
+
export declare class DoctorModule {
|
|
55
|
+
/**
|
|
56
|
+
* The Doctor, configured for one app: a global module providing
|
|
57
|
+
* `DoctorCheckRegistry`, `DoctorService`, `DOCTOR_MODULE_OPTIONS`,
|
|
58
|
+
* `EgressRegistry`, `SupportBundleRegistry` and `SupportBundleService`, with
|
|
59
|
+
* the Doctor's and the support bundle's controllers created from the app's
|
|
60
|
+
* host access decorators. The built-in `meta`, `doctor` and `egress` bundle
|
|
61
|
+
* sections register themselves.
|
|
62
|
+
*
|
|
63
|
+
* @param options - see {@link DoctorModuleOptions}; `host` is required.
|
|
64
|
+
* @returns the dynamic module to import in the app's root module.
|
|
65
|
+
* @throws Error when `host` is missing or invalid (the route is never
|
|
66
|
+
* public), or an option is malformed.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* // apps/api/src/doctor/doctor.config.ts
|
|
71
|
+
* export const doctorModule = DoctorModule.forRoot({ host: platformHost });
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* @extensionPoint option
|
|
75
|
+
*/
|
|
76
|
+
static forRoot(options: DoctorModuleOptions): DynamicModule;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=doctor.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.module.d.ts","sourceRoot":"","sources":["../../src/doctor/doctor.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAGvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAYlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAoBpF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,iGAAiG;IACjG,IAAI,EAAE,YAAY,CAAC;IACnB,qIAAqI;IACrI,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+HAA+H;IAC/H,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;CAC9C;AA4CD;;;;;GAKG;AACH,qBACa,YAAY;IACvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa;CAgC5D"}
|
|
@@ -0,0 +1,158 @@
|
|
|
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 DoctorModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DoctorModule = exports.DEFAULT_DOCTOR_PATH = exports.DEFAULT_DOCTOR_PERMISSION = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const index_1 = require("../core/index");
|
|
13
|
+
const doctor_check_interface_1 = require("./doctor-check.interface");
|
|
14
|
+
const doctor_check_registry_1 = require("./doctor-check.registry");
|
|
15
|
+
const doctor_controller_factory_1 = require("./doctor.controller.factory");
|
|
16
|
+
const doctor_options_1 = require("./doctor.options");
|
|
17
|
+
const doctor_service_1 = require("./doctor.service");
|
|
18
|
+
const egress_registry_1 = require("./egress/egress.registry");
|
|
19
|
+
const doctor_section_1 = require("./support-bundle/sections/doctor.section");
|
|
20
|
+
const egress_section_1 = require("./support-bundle/sections/egress.section");
|
|
21
|
+
const meta_section_1 = require("./support-bundle/sections/meta.section");
|
|
22
|
+
const support_bundle_controller_1 = require("./support-bundle/support-bundle.controller");
|
|
23
|
+
const support_bundle_options_1 = require("./support-bundle/support-bundle.options");
|
|
24
|
+
const support_bundle_registry_1 = require("./support-bundle/support-bundle.registry");
|
|
25
|
+
const support_bundle_service_1 = require("./support-bundle/support-bundle.service");
|
|
26
|
+
// =============================================================================
|
|
27
|
+
// DoctorModule.forRoot() (issue #634; packaged by #696)
|
|
28
|
+
// =============================================================================
|
|
29
|
+
//
|
|
30
|
+
// GLOBAL, so a feature module contributes a check by providing it — the check
|
|
31
|
+
// injects `DoctorCheckRegistry` and registers itself — WITHOUT importing this
|
|
32
|
+
// module. That keeps every edge one-way: features know the registry, the
|
|
33
|
+
// doctor knows no feature. Importing a feature module here instead would put
|
|
34
|
+
// the doctor in the middle of every module graph in the application.
|
|
35
|
+
//
|
|
36
|
+
// This module imports nothing of the app. The checks live in the app's owning
|
|
37
|
+
// modules, under `<module>/doctor/`, and reach their services through those
|
|
38
|
+
// modules' own providers. The route's access check comes from the app's host
|
|
39
|
+
// (`options.host`); without one, `forRoot` throws: the route is never public.
|
|
40
|
+
// =============================================================================
|
|
41
|
+
/**
|
|
42
|
+
* The permission `GET /api/admin/doctor` requires unless an app passes another:
|
|
43
|
+
* the existing `system_settings:read`. The report describes the deployment's
|
|
44
|
+
* configuration, which is exactly what that permission already covers, and
|
|
45
|
+
* every check is read-only, so there is no new capability to grant (no
|
|
46
|
+
* `doctor:read`). A web settings card reaching the route must declare this same
|
|
47
|
+
* literal (Settings UI Pattern rule 3).
|
|
48
|
+
*
|
|
49
|
+
* @stability stable
|
|
50
|
+
*/
|
|
51
|
+
exports.DEFAULT_DOCTOR_PERMISSION = 'system_settings:read';
|
|
52
|
+
/**
|
|
53
|
+
* The route path under the app's global prefix unless an app passes another.
|
|
54
|
+
*
|
|
55
|
+
* @stability stable
|
|
56
|
+
*/
|
|
57
|
+
exports.DEFAULT_DOCTOR_PATH = 'admin/doctor';
|
|
58
|
+
function invalid(why) {
|
|
59
|
+
throw new Error(`DoctorModule.forRoot: ${why}.`);
|
|
60
|
+
}
|
|
61
|
+
function positive(value, name, fallback) {
|
|
62
|
+
if (value === undefined)
|
|
63
|
+
return fallback;
|
|
64
|
+
if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0)
|
|
65
|
+
invalid(`\`${name}\` must be a positive number of milliseconds`);
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
/** Validates the options and applies every default. */
|
|
69
|
+
function resolveOptions(options) {
|
|
70
|
+
if (!options || typeof options !== 'object' || options.host === undefined || options.host === null) {
|
|
71
|
+
invalid('`host` is required (pass the app\'s definePlatformHost(...)). Without it the doctor route would have ' +
|
|
72
|
+
'no access check, and the route is never public');
|
|
73
|
+
}
|
|
74
|
+
const host = (0, index_1.definePlatformHost)(options.host);
|
|
75
|
+
const permission = options.permission ?? exports.DEFAULT_DOCTOR_PERMISSION;
|
|
76
|
+
if (typeof permission !== 'string' || permission.trim() === '')
|
|
77
|
+
invalid('`permission` must be a non-empty string');
|
|
78
|
+
const path = options.path ?? exports.DEFAULT_DOCTOR_PATH;
|
|
79
|
+
if (typeof path !== 'string' || path.trim() === '')
|
|
80
|
+
invalid('`path` must be a non-empty string');
|
|
81
|
+
const categoryOrder = options.categoryOrder ?? doctor_check_interface_1.PLATFORM_DOCTOR_CATEGORIES;
|
|
82
|
+
if (!Array.isArray(categoryOrder) || categoryOrder.some((c) => typeof c !== 'string' || c === '')) {
|
|
83
|
+
invalid('`categoryOrder` must be an array of non-empty strings');
|
|
84
|
+
}
|
|
85
|
+
return Object.freeze({
|
|
86
|
+
host,
|
|
87
|
+
permission,
|
|
88
|
+
path,
|
|
89
|
+
categoryOrder: Object.freeze([...categoryOrder]),
|
|
90
|
+
defaultTimeoutMs: positive(options.defaultTimeoutMs, 'defaultTimeoutMs', doctor_service_1.DOCTOR_DEFAULT_TIMEOUT_MS),
|
|
91
|
+
cacheTtlMs: positive(options.cacheTtlMs, 'cacheTtlMs', doctor_service_1.DOCTOR_CACHE_TTL_MS),
|
|
92
|
+
supportBundle: (0, support_bundle_options_1.resolveSupportBundleOptions)(options.supportBundle, invalid),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The admin Doctor: `GET /api/admin/doctor`, the check registry and the
|
|
97
|
+
* service that runs it. Import it once, with {@link DoctorModule.forRoot}.
|
|
98
|
+
*
|
|
99
|
+
* @stability stable
|
|
100
|
+
*/
|
|
101
|
+
let DoctorModule = DoctorModule_1 = class DoctorModule {
|
|
102
|
+
/**
|
|
103
|
+
* The Doctor, configured for one app: a global module providing
|
|
104
|
+
* `DoctorCheckRegistry`, `DoctorService`, `DOCTOR_MODULE_OPTIONS`,
|
|
105
|
+
* `EgressRegistry`, `SupportBundleRegistry` and `SupportBundleService`, with
|
|
106
|
+
* the Doctor's and the support bundle's controllers created from the app's
|
|
107
|
+
* host access decorators. The built-in `meta`, `doctor` and `egress` bundle
|
|
108
|
+
* sections register themselves.
|
|
109
|
+
*
|
|
110
|
+
* @param options - see {@link DoctorModuleOptions}; `host` is required.
|
|
111
|
+
* @returns the dynamic module to import in the app's root module.
|
|
112
|
+
* @throws Error when `host` is missing or invalid (the route is never
|
|
113
|
+
* public), or an option is malformed.
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```ts
|
|
117
|
+
* // apps/api/src/doctor/doctor.config.ts
|
|
118
|
+
* export const doctorModule = DoctorModule.forRoot({ host: platformHost });
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @extensionPoint option
|
|
122
|
+
*/
|
|
123
|
+
static forRoot(options) {
|
|
124
|
+
const resolved = resolveOptions(options);
|
|
125
|
+
const bundle = resolved.supportBundle.enabled;
|
|
126
|
+
return {
|
|
127
|
+
global: true,
|
|
128
|
+
module: DoctorModule_1,
|
|
129
|
+
controllers: [(0, doctor_controller_factory_1.createDoctorController)(resolved), ...(bundle ? [(0, support_bundle_controller_1.createSupportBundleController)(resolved)] : [])],
|
|
130
|
+
providers: [
|
|
131
|
+
{ provide: doctor_options_1.DOCTOR_MODULE_OPTIONS, useValue: resolved },
|
|
132
|
+
doctor_check_registry_1.DoctorCheckRegistry,
|
|
133
|
+
doctor_service_1.DoctorService,
|
|
134
|
+
// The egress inventory (#773): the registry every module's contributor
|
|
135
|
+
// registers with. The `network.egress` check that reads it is the
|
|
136
|
+
// app's to provide (`NetworkEgressDoctorCheck`), like every check.
|
|
137
|
+
egress_registry_1.EgressRegistry,
|
|
138
|
+
support_bundle_registry_1.SupportBundleRegistry,
|
|
139
|
+
...(bundle
|
|
140
|
+
? [support_bundle_service_1.SupportBundleService, meta_section_1.MetaSupportBundleSection, doctor_section_1.DoctorSupportBundleSection, egress_section_1.EgressSupportBundleSection]
|
|
141
|
+
: []),
|
|
142
|
+
],
|
|
143
|
+
exports: [
|
|
144
|
+
doctor_check_registry_1.DoctorCheckRegistry,
|
|
145
|
+
doctor_service_1.DoctorService,
|
|
146
|
+
doctor_options_1.DOCTOR_MODULE_OPTIONS,
|
|
147
|
+
egress_registry_1.EgressRegistry,
|
|
148
|
+
support_bundle_registry_1.SupportBundleRegistry,
|
|
149
|
+
...(bundle ? [support_bundle_service_1.SupportBundleService] : []),
|
|
150
|
+
],
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
exports.DoctorModule = DoctorModule;
|
|
155
|
+
exports.DoctorModule = DoctorModule = DoctorModule_1 = __decorate([
|
|
156
|
+
(0, common_1.Module)({})
|
|
157
|
+
], DoctorModule);
|
|
158
|
+
//# sourceMappingURL=doctor.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.module.js","sourceRoot":"","sources":["../../src/doctor/doctor.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { PlatformHost } from '../core/index';
|
|
2
|
+
import type { ResolvedSupportBundleOptions } from './support-bundle/support-bundle.options';
|
|
3
|
+
/**
|
|
4
|
+
* Injection token of the Doctor's resolved options ({@link ResolvedDoctorModuleOptions}).
|
|
5
|
+
* Inject it in a provider of the app that needs the configured permission,
|
|
6
|
+
* path, category order, timeout or cache TTL.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* constructor(@Inject(DOCTOR_MODULE_OPTIONS) private readonly doctor: ResolvedDoctorModuleOptions) {}
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @extensionPoint token
|
|
14
|
+
* @stability experimental
|
|
15
|
+
*/
|
|
16
|
+
export declare const DOCTOR_MODULE_OPTIONS: unique symbol;
|
|
17
|
+
/**
|
|
18
|
+
* `DoctorModuleOptions` with every default applied, as `DoctorModule.forRoot`
|
|
19
|
+
* provides it under {@link DOCTOR_MODULE_OPTIONS}.
|
|
20
|
+
*
|
|
21
|
+
* @stability experimental
|
|
22
|
+
*/
|
|
23
|
+
export interface ResolvedDoctorModuleOptions {
|
|
24
|
+
/** The validated, frozen platform host. */
|
|
25
|
+
readonly host: PlatformHost;
|
|
26
|
+
/** The permission `GET <path>` requires. */
|
|
27
|
+
readonly permission: string;
|
|
28
|
+
/** The route path under the global prefix. */
|
|
29
|
+
readonly path: string;
|
|
30
|
+
/** Category display and sort order. */
|
|
31
|
+
readonly categoryOrder: readonly string[];
|
|
32
|
+
/** Per-check ceiling when a check declares none, in milliseconds. */
|
|
33
|
+
readonly defaultTimeoutMs: number;
|
|
34
|
+
/** How long a report is served from memory, in milliseconds. */
|
|
35
|
+
readonly cacheTtlMs: number;
|
|
36
|
+
/** The support bundle's resolved options (`GET <path>/support-bundle`). */
|
|
37
|
+
readonly supportBundle: ResolvedSupportBundleOptions;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=doctor.options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.options.d.ts","sourceRoot":"","sources":["../../src/doctor/doctor.options.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAAwE,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;CACtD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// The Doctor module's resolved options and their injection token (issue #696).
|
|
3
|
+
// Kept apart from doctor.module.ts so the service and the controller factory
|
|
4
|
+
// can read them without importing the module that imports them.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DOCTOR_MODULE_OPTIONS = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Injection token of the Doctor's resolved options ({@link ResolvedDoctorModuleOptions}).
|
|
9
|
+
* Inject it in a provider of the app that needs the configured permission,
|
|
10
|
+
* path, category order, timeout or cache TTL.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* constructor(@Inject(DOCTOR_MODULE_OPTIONS) private readonly doctor: ResolvedDoctorModuleOptions) {}
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @extensionPoint token
|
|
18
|
+
* @stability experimental
|
|
19
|
+
*/
|
|
20
|
+
exports.DOCTOR_MODULE_OPTIONS = Symbol.for('@marinoscar/platform/doctor/DOCTOR_MODULE_OPTIONS');
|
|
21
|
+
//# sourceMappingURL=doctor.options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.options.js","sourceRoot":"","sources":["../../src/doctor/doctor.options.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,6EAA6E;AAC7E,gEAAgE;;;AAKhE;;;;;;;;;;;;GAYG;AACU,QAAA,qBAAqB,GAAkB,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC"}
|