@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,352 @@
|
|
|
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 __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var GreptimeClient_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.GreptimeClient = exports.GREPTIME_PING_TIMEOUT_MS = exports.GREPTIME_CONNECT_TIMEOUT_MS = exports.GREPTIME_ADMIN_POOL_MAX = exports.GREPTIME_READER_POOL_MAX = void 0;
|
|
14
|
+
exports.greptimeTypeParser = greptimeTypeParser;
|
|
15
|
+
exports.quoteIdent = quoteIdent;
|
|
16
|
+
exports.quoteLiteral = quoteLiteral;
|
|
17
|
+
exports.rowsAsObjects = rowsAsObjects;
|
|
18
|
+
const common_1 = require("@nestjs/common");
|
|
19
|
+
const pg_1 = require("pg");
|
|
20
|
+
const telemetry_connection_service_1 = require("../connection/telemetry-connection.service");
|
|
21
|
+
const greptime_errors_1 = require("./greptime.errors");
|
|
22
|
+
const greptime_host_1 = require("./greptime-host");
|
|
23
|
+
/** Pool sizes. Small on purpose: telemetry reads are admin-only and rare. */
|
|
24
|
+
exports.GREPTIME_READER_POOL_MAX = 4;
|
|
25
|
+
exports.GREPTIME_ADMIN_POOL_MAX = 1;
|
|
26
|
+
/** How long to wait for a TCP connection + authentication before giving up. */
|
|
27
|
+
exports.GREPTIME_CONNECT_TIMEOUT_MS = 5_000;
|
|
28
|
+
/** Timeout for `ping()`. */
|
|
29
|
+
exports.GREPTIME_PING_TIMEOUT_MS = 5_000;
|
|
30
|
+
/** Type OIDs whose text form is kept verbatim instead of parsed by `pg`. */
|
|
31
|
+
const KEEP_AS_TEXT_OIDS = new Set([
|
|
32
|
+
20, // int8 — beyond Number.MAX_SAFE_INTEGER in practice (durations in ns)
|
|
33
|
+
1700, // numeric — how UInt64 columns arrive
|
|
34
|
+
1082, // date
|
|
35
|
+
1083, // time
|
|
36
|
+
1114, // timestamp
|
|
37
|
+
1184, // timestamptz
|
|
38
|
+
1266, // timetz
|
|
39
|
+
]);
|
|
40
|
+
/**
|
|
41
|
+
* Per-pool type parser: the types above come back as the server's text,
|
|
42
|
+
* everything else as `pg` would parse it (booleans, int2/int4, floats, json).
|
|
43
|
+
*/
|
|
44
|
+
function greptimeTypeParser(oid, format) {
|
|
45
|
+
if (KEEP_AS_TEXT_OIDS.has(oid)) {
|
|
46
|
+
return (value) => value;
|
|
47
|
+
}
|
|
48
|
+
return pg_1.types.getTypeParser(oid, format ?? 'text');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Double-quotes an SQL identifier. Only for a value that was already
|
|
52
|
+
* validated (from configuration, or checked against `information_schema`) —
|
|
53
|
+
* quoting makes an identifier unambiguous, it does not make an arbitrary
|
|
54
|
+
* string safe to accept.
|
|
55
|
+
*/
|
|
56
|
+
function quoteIdent(name) {
|
|
57
|
+
return `"${name.replace(/"/g, '""')}"`;
|
|
58
|
+
}
|
|
59
|
+
/** Single-quotes an SQL string literal. Same caveat as `quoteIdent`. */
|
|
60
|
+
function quoteLiteral(value) {
|
|
61
|
+
return `'${value.replace(/'/g, "''")}'`;
|
|
62
|
+
}
|
|
63
|
+
/** `rows` as objects keyed by field name. Only when the names are unique. */
|
|
64
|
+
function rowsAsObjects(result) {
|
|
65
|
+
return result.rows.map((row) => Object.fromEntries(result.fields.map((field, index) => [field.name, row[index]])));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The telemetry store's client: a read-only reader pool and an admin pool,
|
|
69
|
+
* built from the runtime connection and rebuilt when it changes. Exported by
|
|
70
|
+
* `TelemetryModule`.
|
|
71
|
+
*
|
|
72
|
+
* @stability experimental
|
|
73
|
+
*/
|
|
74
|
+
let GreptimeClient = GreptimeClient_1 = class GreptimeClient {
|
|
75
|
+
connection;
|
|
76
|
+
logger = new common_1.Logger(GreptimeClient_1.name);
|
|
77
|
+
pools = {};
|
|
78
|
+
/** A pool being built (its password is being read), so concurrent calls share it. */
|
|
79
|
+
building = {};
|
|
80
|
+
/** @internal */
|
|
81
|
+
constructor(connection) {
|
|
82
|
+
this.connection = connection;
|
|
83
|
+
}
|
|
84
|
+
/** Whether the reader connection is configured (admin UI or deployment default). */
|
|
85
|
+
isConfigured() {
|
|
86
|
+
return this.connection.isConfigured();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Why the reader connection cannot be used, in administrator language, or
|
|
90
|
+
* null — set only for the GreptimeDB deployed with this application, when
|
|
91
|
+
* the deployment provisions no reader login (issue #570).
|
|
92
|
+
*/
|
|
93
|
+
configurationProblem() {
|
|
94
|
+
return this.connection.configurationProblem('reader');
|
|
95
|
+
}
|
|
96
|
+
/** Whether the admin connection is configured as well (retention, `SHOW CREATE DATABASE`). */
|
|
97
|
+
isAdminConfigured() {
|
|
98
|
+
return this.connection.isAdminConfigured();
|
|
99
|
+
}
|
|
100
|
+
/** The GreptimeDB database telemetry is written to (default `public`). */
|
|
101
|
+
get database() {
|
|
102
|
+
return this.connection.database;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Runs one statement as the read-only user. The SQL is sent as-is: see the
|
|
106
|
+
* header for why there are no parameters.
|
|
107
|
+
*/
|
|
108
|
+
async queryReader(sql, options) {
|
|
109
|
+
return this.run('reader', sql, options);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Runs one statement as the admin user. NEVER with caller-supplied SQL: this
|
|
113
|
+
* connection can alter retention and drop data.
|
|
114
|
+
*/
|
|
115
|
+
async queryAdmin(sql, options) {
|
|
116
|
+
return this.run('admin', sql, options);
|
|
117
|
+
}
|
|
118
|
+
/** Reachability probe over the reader connection. Never throws. */
|
|
119
|
+
async ping() {
|
|
120
|
+
if (!this.isConfigured()) {
|
|
121
|
+
return { reachable: false, error: this.configurationProblem() ?? new greptime_errors_1.TelemetryNotConfiguredError('reader').message };
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
const result = await this.queryReader('SELECT version()', { timeoutMs: exports.GREPTIME_PING_TIMEOUT_MS });
|
|
125
|
+
const version = result.rows[0]?.[0];
|
|
126
|
+
return { reachable: true, ...(typeof version === 'string' ? { version } : {}) };
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
return { reachable: false, error: describeError(error) };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/** Closes both pools. */
|
|
133
|
+
async onModuleDestroy() {
|
|
134
|
+
const pools = Object.values(this.pools).map((entry) => entry.pool);
|
|
135
|
+
for (const role of Object.keys(this.pools)) {
|
|
136
|
+
delete this.pools[role];
|
|
137
|
+
}
|
|
138
|
+
await Promise.all(pools.map((pool) => pool.end().catch((error) => {
|
|
139
|
+
this.logger.warn(`Closing a GreptimeDB pool failed: ${describeError(error)}`);
|
|
140
|
+
})));
|
|
141
|
+
}
|
|
142
|
+
/** Builds a pool. A seam for tests; production code never overrides it. */
|
|
143
|
+
createPool(config) {
|
|
144
|
+
return new pg_1.Pool(config);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* `null` when `host` resolves (or the check is inconclusive), else why it
|
|
148
|
+
* does not. Only consulted after a connect TIMED OUT. A seam for tests;
|
|
149
|
+
* production code never overrides it.
|
|
150
|
+
*/
|
|
151
|
+
resolveHost(host, options) {
|
|
152
|
+
return (0, greptime_host_1.checkHostResolves)(host, undefined, undefined, options);
|
|
153
|
+
}
|
|
154
|
+
// ---------------------------------------------------------------------------
|
|
155
|
+
async run(role, sql, { timeoutMs, signal }) {
|
|
156
|
+
if (signal?.aborted)
|
|
157
|
+
throw new greptime_errors_1.TelemetryQueryAbortedError();
|
|
158
|
+
const keyed = await this.pool(role);
|
|
159
|
+
const client = await this.connect(keyed);
|
|
160
|
+
if (signal?.aborted) {
|
|
161
|
+
client.release();
|
|
162
|
+
throw new greptime_errors_1.TelemetryQueryAbortedError();
|
|
163
|
+
}
|
|
164
|
+
let timer;
|
|
165
|
+
let timedOut = false;
|
|
166
|
+
let onAbort;
|
|
167
|
+
const query = client.query({ text: sql, rowMode: 'array' });
|
|
168
|
+
const timeout = new Promise((_, reject) => {
|
|
169
|
+
timer = setTimeout(() => {
|
|
170
|
+
timedOut = true;
|
|
171
|
+
reject(new greptime_errors_1.TelemetryQueryTimeoutError(timeoutMs));
|
|
172
|
+
}, timeoutMs);
|
|
173
|
+
timer.unref?.();
|
|
174
|
+
});
|
|
175
|
+
// Abandoned like a timeout: `timedOut` routes it to the destroy branch.
|
|
176
|
+
const aborted = new Promise((_, reject) => {
|
|
177
|
+
if (!signal)
|
|
178
|
+
return;
|
|
179
|
+
onAbort = () => {
|
|
180
|
+
timedOut = true;
|
|
181
|
+
reject(new greptime_errors_1.TelemetryQueryAbortedError());
|
|
182
|
+
};
|
|
183
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
184
|
+
});
|
|
185
|
+
try {
|
|
186
|
+
const result = await Promise.race([query, timeout, aborted]);
|
|
187
|
+
client.release();
|
|
188
|
+
if (Array.isArray(result)) {
|
|
189
|
+
throw new greptime_errors_1.TelemetryMultiStatementError();
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
fields: result.fields.map((field) => ({ name: field.name, dataTypeID: field.dataTypeID })),
|
|
193
|
+
rows: result.rows,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
if (timedOut) {
|
|
198
|
+
// The query is still in flight on this socket: destroy it, and make
|
|
199
|
+
// sure its eventual rejection (the socket closing under it) is not an
|
|
200
|
+
// unhandled one.
|
|
201
|
+
query.catch(() => undefined);
|
|
202
|
+
client.release(true);
|
|
203
|
+
throw error;
|
|
204
|
+
}
|
|
205
|
+
if (error instanceof greptime_errors_1.TelemetryMultiStatementError) {
|
|
206
|
+
throw error;
|
|
207
|
+
}
|
|
208
|
+
// A server-side error (it has a `severity`) leaves the connection
|
|
209
|
+
// usable; anything else (a reset socket) does not.
|
|
210
|
+
const fromServer = isServerError(error);
|
|
211
|
+
client.release(fromServer ? undefined : true);
|
|
212
|
+
throw new greptime_errors_1.TelemetryQueryFailedError(describeError(error), sqlState(error), fromServer ? 'server' : 'connection');
|
|
213
|
+
}
|
|
214
|
+
finally {
|
|
215
|
+
if (timer)
|
|
216
|
+
clearTimeout(timer);
|
|
217
|
+
if (onAbort)
|
|
218
|
+
signal?.removeEventListener('abort', onAbort);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
async connect(target) {
|
|
222
|
+
try {
|
|
223
|
+
return await target.pool.connect();
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
throw new greptime_errors_1.TelemetryQueryFailedError(`Could not connect to GreptimeDB: ${await this.connectFailureReason(target, error)}`, sqlState(error), 'connection');
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Why a connect failed. A DNS error names the host; a timeout may be a DNS
|
|
231
|
+
* failure that lost the race, so the host is looked up once more under a
|
|
232
|
+
* longer ceiling before "timeout" is believed (#564). Never throws.
|
|
233
|
+
*/
|
|
234
|
+
async connectFailureReason({ host, automaticHost }, error) {
|
|
235
|
+
const options = { automatic: automaticHost };
|
|
236
|
+
if ((0, greptime_host_1.isDnsError)(error))
|
|
237
|
+
return (0, greptime_host_1.hostNotFoundMessage)(host, error, options);
|
|
238
|
+
if (isConnectTimeout(error)) {
|
|
239
|
+
const notFound = await this.resolveHost(host, options).catch(() => null);
|
|
240
|
+
if (notFound)
|
|
241
|
+
return notFound;
|
|
242
|
+
}
|
|
243
|
+
return describeError(error);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* The pool for this login, for the connection in force NOW. Rebuilt when
|
|
247
|
+
* the connection's fingerprint moved since the pool was made (an admin save,
|
|
248
|
+
* a credential rotation, a reset to the deployment default).
|
|
249
|
+
*/
|
|
250
|
+
async pool(role) {
|
|
251
|
+
const fingerprint = this.connection.fingerprint(role);
|
|
252
|
+
if (!fingerprint) {
|
|
253
|
+
// No longer configured: drop a pool left over from when it was.
|
|
254
|
+
this.retire(role);
|
|
255
|
+
throw new greptime_errors_1.TelemetryNotConfiguredError(role);
|
|
256
|
+
}
|
|
257
|
+
const existing = this.pools[role];
|
|
258
|
+
if (existing && existing.fingerprint === fingerprint)
|
|
259
|
+
return existing;
|
|
260
|
+
const inFlight = this.building[role];
|
|
261
|
+
if (inFlight)
|
|
262
|
+
return inFlight;
|
|
263
|
+
const building = this.build(role).finally(() => {
|
|
264
|
+
delete this.building[role];
|
|
265
|
+
});
|
|
266
|
+
this.building[role] = building;
|
|
267
|
+
return building;
|
|
268
|
+
}
|
|
269
|
+
async build(role) {
|
|
270
|
+
let credentials;
|
|
271
|
+
try {
|
|
272
|
+
credentials = await this.connection.resolveCredentials(role);
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
// A credential-store read failed (database down, or a password that no
|
|
276
|
+
// longer decrypts). The message never carries the secret.
|
|
277
|
+
throw new greptime_errors_1.TelemetryQueryFailedError(`Could not read the GreptimeDB ${role} credential: ${describeError(error)}`, undefined, 'connection');
|
|
278
|
+
}
|
|
279
|
+
if (!credentials) {
|
|
280
|
+
throw new greptime_errors_1.TelemetryNotConfiguredError(role);
|
|
281
|
+
}
|
|
282
|
+
const pool = this.createPool({
|
|
283
|
+
host: credentials.host,
|
|
284
|
+
port: credentials.port,
|
|
285
|
+
database: credentials.database,
|
|
286
|
+
user: credentials.user,
|
|
287
|
+
password: credentials.password,
|
|
288
|
+
max: role === 'reader' ? exports.GREPTIME_READER_POOL_MAX : exports.GREPTIME_ADMIN_POOL_MAX,
|
|
289
|
+
application_name: `api-telemetry-${role}`,
|
|
290
|
+
connectionTimeoutMillis: exports.GREPTIME_CONNECT_TIMEOUT_MS,
|
|
291
|
+
idleTimeoutMillis: 30_000,
|
|
292
|
+
allowExitOnIdle: true,
|
|
293
|
+
types: { getTypeParser: greptimeTypeParser },
|
|
294
|
+
});
|
|
295
|
+
// An idle client's socket dying emits `error` on the pool; unhandled, that
|
|
296
|
+
// is an uncaught exception that would take the API down with it.
|
|
297
|
+
pool.on('error', (error) => {
|
|
298
|
+
this.logger.warn(`GreptimeDB ${role} connection error: ${describeError(error)}`);
|
|
299
|
+
});
|
|
300
|
+
const replaced = this.pools[role];
|
|
301
|
+
const keyed = {
|
|
302
|
+
pool,
|
|
303
|
+
fingerprint: credentials.fingerprint,
|
|
304
|
+
host: credentials.host,
|
|
305
|
+
automaticHost: credentials.automaticHost,
|
|
306
|
+
};
|
|
307
|
+
this.pools[role] = keyed;
|
|
308
|
+
if (replaced) {
|
|
309
|
+
this.logger.log(`GreptimeDB ${role} connection changed; replacing its pool`);
|
|
310
|
+
this.endInBackground(role, replaced.pool);
|
|
311
|
+
}
|
|
312
|
+
return keyed;
|
|
313
|
+
}
|
|
314
|
+
/** Forget this login's pool and close it in the background. */
|
|
315
|
+
retire(role) {
|
|
316
|
+
const existing = this.pools[role];
|
|
317
|
+
if (!existing)
|
|
318
|
+
return;
|
|
319
|
+
delete this.pools[role];
|
|
320
|
+
this.endInBackground(role, existing.pool);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* `end()` waits for checked-out clients to be released, so it is never
|
|
324
|
+
* awaited on the query path: in-flight statements on the old pool finish
|
|
325
|
+
* (or time out) on their own, and nothing new is handed out from it.
|
|
326
|
+
*/
|
|
327
|
+
endInBackground(role, pool) {
|
|
328
|
+
void pool.end().catch((error) => {
|
|
329
|
+
this.logger.warn(`Closing a stale GreptimeDB ${role} pool failed: ${describeError(error)}`);
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
};
|
|
333
|
+
exports.GreptimeClient = GreptimeClient;
|
|
334
|
+
exports.GreptimeClient = GreptimeClient = GreptimeClient_1 = __decorate([
|
|
335
|
+
(0, common_1.Injectable)(),
|
|
336
|
+
__metadata("design:paramtypes", [telemetry_connection_service_1.TelemetryConnectionService])
|
|
337
|
+
], GreptimeClient);
|
|
338
|
+
function describeError(error) {
|
|
339
|
+
return error instanceof Error ? error.message : String(error);
|
|
340
|
+
}
|
|
341
|
+
/** pg's connect-timeout errors ("timeout expired", "… due to connection timeout"). */
|
|
342
|
+
function isConnectTimeout(error) {
|
|
343
|
+
return /timeout/i.test(describeError(error));
|
|
344
|
+
}
|
|
345
|
+
function isServerError(error) {
|
|
346
|
+
return typeof error === 'object' && error !== null && 'severity' in error;
|
|
347
|
+
}
|
|
348
|
+
function sqlState(error) {
|
|
349
|
+
const code = typeof error === 'object' && error !== null ? error.code : undefined;
|
|
350
|
+
return typeof code === 'string' ? code : undefined;
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=greptime.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greptime.client.js","sourceRoot":"","sources":["../../../src/telemetry/greptime/greptime.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/** Base of every error `GreptimeClient` throws on purpose. */
|
|
2
|
+
export declare class TelemetryStoreError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* The connection this call needs is not configured — neither saved at
|
|
7
|
+
* /admin/settings/telemetry nor supplied by the `GREPTIME_*` deployment
|
|
8
|
+
* default, or the admin login missing for an admin call. Not a fault: a
|
|
9
|
+
* deployment without a telemetry store is a supported state.
|
|
10
|
+
*/
|
|
11
|
+
export declare class TelemetryNotConfiguredError extends TelemetryStoreError {
|
|
12
|
+
readonly role: 'reader' | 'admin';
|
|
13
|
+
constructor(role: 'reader' | 'admin');
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The statement did not finish within `timeoutMs`. Enforced CLIENT-SIDE: the
|
|
17
|
+
* read-only user cannot `SET statement_timeout`, and GreptimeDB ignores the
|
|
18
|
+
* startup parameter (spike #529). The connection that ran it has already been
|
|
19
|
+
* destroyed when this is thrown; the server may still be finishing the query.
|
|
20
|
+
*/
|
|
21
|
+
export declare class TelemetryQueryTimeoutError extends TelemetryStoreError {
|
|
22
|
+
readonly timeoutMs: number;
|
|
23
|
+
constructor(timeoutMs: number);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The SQL string produced more than one result set. The simple query
|
|
27
|
+
* protocol runs every statement in a multi-statement string (spike #529), so
|
|
28
|
+
* the client refuses to hand such a result back; the explorer's guard (#535)
|
|
29
|
+
* should reject the text before it is ever sent.
|
|
30
|
+
*/
|
|
31
|
+
export declare class TelemetryMultiStatementError extends TelemetryStoreError {
|
|
32
|
+
constructor();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* GreptimeDB (or the network) refused or failed the statement.
|
|
36
|
+
*
|
|
37
|
+
* `origin` tells the two apart: `server` is GreptimeDB answering with an
|
|
38
|
+
* error (bad SQL, permission refused — the caller's statement is at fault and
|
|
39
|
+
* the message is safe to show), `connection` is the store not answering at
|
|
40
|
+
* all (refused/reset socket, failed authentication handshake).
|
|
41
|
+
*/
|
|
42
|
+
export declare class TelemetryQueryFailedError extends TelemetryStoreError {
|
|
43
|
+
/** SQLSTATE when the server supplied one (or a Node error code for a socket failure). */
|
|
44
|
+
readonly code?: string | undefined;
|
|
45
|
+
readonly origin: 'server' | 'connection';
|
|
46
|
+
constructor(message: string,
|
|
47
|
+
/** SQLSTATE when the server supplied one (or a Node error code for a socket failure). */
|
|
48
|
+
code?: string | undefined, origin?: 'server' | 'connection');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The caller's `AbortSignal` fired while the statement was in flight (the
|
|
52
|
+
* assistant's client disconnected, issue #536). Like a timeout, the
|
|
53
|
+
* connection that ran it has already been destroyed; the server may still be
|
|
54
|
+
* finishing the query.
|
|
55
|
+
*/
|
|
56
|
+
export declare class TelemetryQueryAbortedError extends TelemetryStoreError {
|
|
57
|
+
constructor();
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=greptime.errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greptime.errors.d.ts","sourceRoot":"","sources":["../../../src/telemetry/greptime/greptime.errors.ts"],"names":[],"mappings":"AAaA,8DAA8D;AAC9D,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,mBAAmB;IACtD,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;gBAAxB,IAAI,EAAE,QAAQ,GAAG,OAAO;CAS9C;AAED;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,mBAAmB;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAGvC;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,mBAAmB;;CAIpE;AAED;;;;;;;GAOG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;IAG9D,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY;gBAHxC,OAAO,EAAE,MAAM;IACf,yFAAyF;IAChF,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,MAAM,GAAE,QAAQ,GAAG,YAAuB;CAItD;AAED;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,mBAAmB;;CAIlE"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// Typed failures of the GreptimeDB client (issue #534, epic #528)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// One base class so a caller (the status service here; the explorer's query
|
|
7
|
+
// service in #535; the assistant's tools in #536) can catch "anything the
|
|
8
|
+
// telemetry store did" in one clause and map the subclasses to its own
|
|
9
|
+
// response. NONE OF THESE MESSAGES CARRIES A CREDENTIAL: they are built from
|
|
10
|
+
// fixed text plus, for `TelemetryQueryFailedError`, the server's own error
|
|
11
|
+
// message, which GreptimeDB builds from the SQL it was given — never from the
|
|
12
|
+
// connection's password.
|
|
13
|
+
// =============================================================================
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.TelemetryQueryAbortedError = exports.TelemetryQueryFailedError = exports.TelemetryMultiStatementError = exports.TelemetryQueryTimeoutError = exports.TelemetryNotConfiguredError = exports.TelemetryStoreError = void 0;
|
|
16
|
+
/** Base of every error `GreptimeClient` throws on purpose. */
|
|
17
|
+
class TelemetryStoreError extends Error {
|
|
18
|
+
constructor(message) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.name = new.target.name;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.TelemetryStoreError = TelemetryStoreError;
|
|
24
|
+
/**
|
|
25
|
+
* The connection this call needs is not configured — neither saved at
|
|
26
|
+
* /admin/settings/telemetry nor supplied by the `GREPTIME_*` deployment
|
|
27
|
+
* default, or the admin login missing for an admin call. Not a fault: a
|
|
28
|
+
* deployment without a telemetry store is a supported state.
|
|
29
|
+
*/
|
|
30
|
+
class TelemetryNotConfiguredError extends TelemetryStoreError {
|
|
31
|
+
role;
|
|
32
|
+
constructor(role) {
|
|
33
|
+
super(role === 'admin'
|
|
34
|
+
? 'The GreptimeDB admin connection is not configured. Set the admin user and password at ' +
|
|
35
|
+
'/admin/settings/telemetry (or GREPTIME_ADMIN_USER / GREPTIME_ADMIN_PASSWORD as the deployment default).'
|
|
36
|
+
: 'GreptimeDB is not configured. Configure the connection at /admin/settings/telemetry ' +
|
|
37
|
+
'(or GREPTIME_HOST / GREPTIME_READER_USER / GREPTIME_READER_PASSWORD as the deployment default).');
|
|
38
|
+
this.role = role;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.TelemetryNotConfiguredError = TelemetryNotConfiguredError;
|
|
42
|
+
/**
|
|
43
|
+
* The statement did not finish within `timeoutMs`. Enforced CLIENT-SIDE: the
|
|
44
|
+
* read-only user cannot `SET statement_timeout`, and GreptimeDB ignores the
|
|
45
|
+
* startup parameter (spike #529). The connection that ran it has already been
|
|
46
|
+
* destroyed when this is thrown; the server may still be finishing the query.
|
|
47
|
+
*/
|
|
48
|
+
class TelemetryQueryTimeoutError extends TelemetryStoreError {
|
|
49
|
+
timeoutMs;
|
|
50
|
+
constructor(timeoutMs) {
|
|
51
|
+
super(`The telemetry query did not finish within ${timeoutMs} ms and was abandoned.`);
|
|
52
|
+
this.timeoutMs = timeoutMs;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.TelemetryQueryTimeoutError = TelemetryQueryTimeoutError;
|
|
56
|
+
/**
|
|
57
|
+
* The SQL string produced more than one result set. The simple query
|
|
58
|
+
* protocol runs every statement in a multi-statement string (spike #529), so
|
|
59
|
+
* the client refuses to hand such a result back; the explorer's guard (#535)
|
|
60
|
+
* should reject the text before it is ever sent.
|
|
61
|
+
*/
|
|
62
|
+
class TelemetryMultiStatementError extends TelemetryStoreError {
|
|
63
|
+
constructor() {
|
|
64
|
+
super('Exactly one SQL statement may be executed per telemetry query.');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.TelemetryMultiStatementError = TelemetryMultiStatementError;
|
|
68
|
+
/**
|
|
69
|
+
* GreptimeDB (or the network) refused or failed the statement.
|
|
70
|
+
*
|
|
71
|
+
* `origin` tells the two apart: `server` is GreptimeDB answering with an
|
|
72
|
+
* error (bad SQL, permission refused — the caller's statement is at fault and
|
|
73
|
+
* the message is safe to show), `connection` is the store not answering at
|
|
74
|
+
* all (refused/reset socket, failed authentication handshake).
|
|
75
|
+
*/
|
|
76
|
+
class TelemetryQueryFailedError extends TelemetryStoreError {
|
|
77
|
+
code;
|
|
78
|
+
origin;
|
|
79
|
+
constructor(message,
|
|
80
|
+
/** SQLSTATE when the server supplied one (or a Node error code for a socket failure). */
|
|
81
|
+
code, origin = 'server') {
|
|
82
|
+
super(message);
|
|
83
|
+
this.code = code;
|
|
84
|
+
this.origin = origin;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.TelemetryQueryFailedError = TelemetryQueryFailedError;
|
|
88
|
+
/**
|
|
89
|
+
* The caller's `AbortSignal` fired while the statement was in flight (the
|
|
90
|
+
* assistant's client disconnected, issue #536). Like a timeout, the
|
|
91
|
+
* connection that ran it has already been destroyed; the server may still be
|
|
92
|
+
* finishing the query.
|
|
93
|
+
*/
|
|
94
|
+
class TelemetryQueryAbortedError extends TelemetryStoreError {
|
|
95
|
+
constructor() {
|
|
96
|
+
super('The telemetry query was cancelled.');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.TelemetryQueryAbortedError = TelemetryQueryAbortedError;
|
|
100
|
+
//# sourceMappingURL=greptime.errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greptime.errors.js","sourceRoot":"","sources":["../../../src/telemetry/greptime/greptime.errors.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,uEAAuE;AACvE,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yBAAyB;AACzB,gFAAgF;;;AAEhF,8DAA8D;AAC9D,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AALD,kDAKC;AAED;;;;;GAKG;AACH,MAAa,2BAA4B,SAAQ,mBAAmB;IAC7C;IAArB,YAAqB,IAAwB;QAC3C,KAAK,CACH,IAAI,KAAK,OAAO;YACd,CAAC,CAAC,wFAAwF;gBACtF,yGAAyG;YAC7G,CAAC,CAAC,sFAAsF;gBACpF,iGAAiG,CACxG,CAAC;QAPiB,SAAI,GAAJ,IAAI,CAAoB;IAQ7C,CAAC;CACF;AAVD,kEAUC;AAED;;;;;GAKG;AACH,MAAa,0BAA2B,SAAQ,mBAAmB;IAC5C;IAArB,YAAqB,SAAiB;QACpC,KAAK,CAAC,6CAA6C,SAAS,wBAAwB,CAAC,CAAC;QADnE,cAAS,GAAT,SAAS,CAAQ;IAEtC,CAAC;CACF;AAJD,gEAIC;AAED;;;;;GAKG;AACH,MAAa,4BAA6B,SAAQ,mBAAmB;IACnE;QACE,KAAK,CAAC,gEAAgE,CAAC,CAAC;IAC1E,CAAC;CACF;AAJD,oEAIC;AAED;;;;;;;GAOG;AACH,MAAa,yBAA0B,SAAQ,mBAAmB;IAIrD;IACA;IAJX,YACE,OAAe;IACf,yFAAyF;IAChF,IAAa,EACb,SAAkC,QAAQ;QAEnD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAS;QACb,WAAM,GAAN,MAAM,CAAoC;IAGrD,CAAC;CACF;AATD,8DASC;AAED;;;;;GAKG;AACH,MAAa,0BAA2B,SAAQ,mBAAmB;IACjE;QACE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,gEAIC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { OnModuleInit } from '@nestjs/common';
|
|
2
|
+
import { GreptimeClient } from '../greptime/greptime.client';
|
|
3
|
+
import { type TelemetryJobExecutionProfile, type TelemetryJobHandler, type TelemetryJobRecord as Job, type TelemetryJobsPort, type TelemetrySettingsStore } from '../ports';
|
|
4
|
+
/**
|
|
5
|
+
* The job type. PERMANENT once rows of it exist.
|
|
6
|
+
*
|
|
7
|
+
* @stability stable
|
|
8
|
+
*/
|
|
9
|
+
export declare const TELEMETRY_RETENTION_TYPE = "telemetry.retention.apply";
|
|
10
|
+
/** Client-side ceiling on the ALTER. It is a metadata change; seconds, not minutes. */
|
|
11
|
+
export declare const TELEMETRY_RETENTION_STATEMENT_TIMEOUT_MS = 30000;
|
|
12
|
+
/** The one statement this job runs. Exported so its text is pinned by a test. */
|
|
13
|
+
export declare function retentionStatement(database: string, retentionDays: number): string;
|
|
14
|
+
export declare class TelemetryRetentionHandler implements TelemetryJobHandler, OnModuleInit {
|
|
15
|
+
private readonly jobs;
|
|
16
|
+
private readonly systemSettings;
|
|
17
|
+
private readonly greptime;
|
|
18
|
+
private readonly logger;
|
|
19
|
+
readonly type = "telemetry.retention.apply";
|
|
20
|
+
/** One metadata statement; a minute is generous. Retried like any housekeeping job. */
|
|
21
|
+
readonly profile: TelemetryJobExecutionProfile;
|
|
22
|
+
constructor(jobs: TelemetryJobsPort, systemSettings: TelemetrySettingsStore, greptime: GreptimeClient);
|
|
23
|
+
onModuleInit(): void;
|
|
24
|
+
/** Throws to fail (GreptimeDB unreachable or refusing), so the queue's retry applies. */
|
|
25
|
+
process(job: Job): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=telemetry-retention.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry-retention.handler.d.ts","sourceRoot":"","sources":["../../../src/telemetry/handlers/telemetry-retention.handler.ts"],"names":[],"mappings":"AAsCA,OAAO,EAA8B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,IAAI,GAAG,EAC9B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,UAAU,CAAC;AAElB;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE,uFAAuF;AACvF,eAAO,MAAM,wCAAwC,QAAS,CAAC;AAK/D,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAalF;AAED,qBACa,yBAA0B,YAAW,mBAAmB,EAAE,YAAY;IAWvD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACX,OAAO,CAAC,QAAQ,CAAC,cAAc;IACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAZ3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IAErE,QAAQ,CAAC,IAAI,+BAA4B;IAEzC,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAA4C;gBAK/C,IAAI,EAAE,iBAAiB,EACb,cAAc,EAAE,sBAAsB,EACxE,QAAQ,EAAE,cAAc;IAG3C,YAAY,IAAI,IAAI;IAIpB,yFAAyF;IACnF,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CA0BvC"}
|