@marinoscar/platform-api 0.1.0-next.19 → 0.1.0-next.20
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 +16 -0
- package/README.md +1 -0
- package/dist/alerts/alerts-admin.controller.d.ts +40 -0
- package/dist/alerts/alerts-admin.controller.d.ts.map +1 -0
- package/dist/alerts/alerts-admin.controller.js +297 -0
- package/dist/alerts/alerts-admin.controller.js.map +1 -0
- package/dist/alerts/alerts-context.service.d.ts +64 -0
- package/dist/alerts/alerts-context.service.d.ts.map +1 -0
- package/dist/alerts/alerts-context.service.js +190 -0
- package/dist/alerts/alerts-context.service.js.map +1 -0
- package/dist/alerts/alerts-dispatch.service.d.ts +53 -0
- package/dist/alerts/alerts-dispatch.service.d.ts.map +1 -0
- package/dist/alerts/alerts-dispatch.service.js +135 -0
- package/dist/alerts/alerts-dispatch.service.js.map +1 -0
- package/dist/alerts/alerts-evaluation.service.d.ts +88 -0
- package/dist/alerts/alerts-evaluation.service.d.ts.map +1 -0
- package/dist/alerts/alerts-evaluation.service.js +296 -0
- package/dist/alerts/alerts-evaluation.service.js.map +1 -0
- package/dist/alerts/alerts-event.listener.d.ts +22 -0
- package/dist/alerts/alerts-event.listener.d.ts.map +1 -0
- package/dist/alerts/alerts-event.listener.js +72 -0
- package/dist/alerts/alerts-event.listener.js.map +1 -0
- package/dist/alerts/alerts-incidents.service.d.ts +86 -0
- package/dist/alerts/alerts-incidents.service.d.ts.map +1 -0
- package/dist/alerts/alerts-incidents.service.js +144 -0
- package/dist/alerts/alerts-incidents.service.js.map +1 -0
- package/dist/alerts/alerts-rules.service.d.ts +73 -0
- package/dist/alerts/alerts-rules.service.d.ts.map +1 -0
- package/dist/alerts/alerts-rules.service.js +205 -0
- package/dist/alerts/alerts-rules.service.js.map +1 -0
- package/dist/alerts/alerts-seed.service.d.ts +25 -0
- package/dist/alerts/alerts-seed.service.d.ts.map +1 -0
- package/dist/alerts/alerts-seed.service.js +82 -0
- package/dist/alerts/alerts-seed.service.js.map +1 -0
- package/dist/alerts/alerts.constants.d.ts +53 -0
- package/dist/alerts/alerts.constants.d.ts.map +1 -0
- package/dist/alerts/alerts.constants.js +57 -0
- package/dist/alerts/alerts.constants.js.map +1 -0
- package/dist/alerts/alerts.errors.d.ts +44 -0
- package/dist/alerts/alerts.errors.d.ts.map +1 -0
- package/dist/alerts/alerts.errors.js +47 -0
- package/dist/alerts/alerts.errors.js.map +1 -0
- package/dist/alerts/alerts.metrics.d.ts +60 -0
- package/dist/alerts/alerts.metrics.d.ts.map +1 -0
- package/dist/alerts/alerts.metrics.js +135 -0
- package/dist/alerts/alerts.metrics.js.map +1 -0
- package/dist/alerts/alerts.module.d.ts +35 -0
- package/dist/alerts/alerts.module.d.ts.map +1 -0
- package/dist/alerts/alerts.module.js +96 -0
- package/dist/alerts/alerts.module.js.map +1 -0
- package/dist/alerts/alerts.options.d.ts +64 -0
- package/dist/alerts/alerts.options.d.ts.map +1 -0
- package/dist/alerts/alerts.options.js +34 -0
- package/dist/alerts/alerts.options.js.map +1 -0
- package/dist/alerts/alerts.permissions.d.ts +27 -0
- package/dist/alerts/alerts.permissions.d.ts.map +1 -0
- package/dist/alerts/alerts.permissions.js +29 -0
- package/dist/alerts/alerts.permissions.js.map +1 -0
- package/dist/alerts/alerts.types.d.ts +182 -0
- package/dist/alerts/alerts.types.d.ts.map +1 -0
- package/dist/alerts/alerts.types.js +3 -0
- package/dist/alerts/alerts.types.js.map +1 -0
- package/dist/alerts/data/alerts-db.d.ts +169 -0
- package/dist/alerts/data/alerts-db.d.ts.map +1 -0
- package/dist/alerts/data/alerts-db.js +18 -0
- package/dist/alerts/data/alerts-db.js.map +1 -0
- package/dist/alerts/dto/alerts.dto.d.ts +132 -0
- package/dist/alerts/dto/alerts.dto.d.ts.map +1 -0
- package/dist/alerts/dto/alerts.dto.js +42 -0
- package/dist/alerts/dto/alerts.dto.js.map +1 -0
- package/dist/alerts/handlers/alerts-evaluate-event.handler.d.ts +23 -0
- package/dist/alerts/handlers/alerts-evaluate-event.handler.d.ts.map +1 -0
- package/dist/alerts/handlers/alerts-evaluate-event.handler.js +71 -0
- package/dist/alerts/handlers/alerts-evaluate-event.handler.js.map +1 -0
- package/dist/alerts/handlers/alerts-evaluate.handler.d.ts +25 -0
- package/dist/alerts/handlers/alerts-evaluate.handler.d.ts.map +1 -0
- package/dist/alerts/handlers/alerts-evaluate.handler.js +54 -0
- package/dist/alerts/handlers/alerts-evaluate.handler.js.map +1 -0
- package/dist/alerts/handlers/alerts-incidents-purge.handler.d.ts +29 -0
- package/dist/alerts/handlers/alerts-incidents-purge.handler.d.ts.map +1 -0
- package/dist/alerts/handlers/alerts-incidents-purge.handler.js +76 -0
- package/dist/alerts/handlers/alerts-incidents-purge.handler.js.map +1 -0
- package/dist/alerts/index.d.ts +45 -0
- package/dist/alerts/index.d.ts.map +1 -0
- package/dist/alerts/index.js +108 -0
- package/dist/alerts/index.js.map +1 -0
- package/dist/alerts/kinds/alert-kind.registry.d.ts +33 -0
- package/dist/alerts/kinds/alert-kind.registry.d.ts.map +1 -0
- package/dist/alerts/kinds/alert-kind.registry.js +63 -0
- package/dist/alerts/kinds/alert-kind.registry.js.map +1 -0
- package/dist/alerts/kinds/builtin-kinds.d.ts +18 -0
- package/dist/alerts/kinds/builtin-kinds.d.ts.map +1 -0
- package/dist/alerts/kinds/builtin-kinds.js +33 -0
- package/dist/alerts/kinds/builtin-kinds.js.map +1 -0
- package/dist/alerts/kinds/metric-threshold.kind.d.ts +11 -0
- package/dist/alerts/kinds/metric-threshold.kind.d.ts.map +1 -0
- package/dist/alerts/kinds/metric-threshold.kind.js +63 -0
- package/dist/alerts/kinds/metric-threshold.kind.js.map +1 -0
- package/dist/alerts/kinds/metric-threshold.sql.d.ts +41 -0
- package/dist/alerts/kinds/metric-threshold.sql.d.ts.map +1 -0
- package/dist/alerts/kinds/metric-threshold.sql.js +124 -0
- package/dist/alerts/kinds/metric-threshold.sql.js.map +1 -0
- package/dist/alerts/kinds/node-event.kind.d.ts +44 -0
- package/dist/alerts/kinds/node-event.kind.d.ts.map +1 -0
- package/dist/alerts/kinds/node-event.kind.js +113 -0
- package/dist/alerts/kinds/node-event.kind.js.map +1 -0
- package/dist/alerts/kinds/node-offline.kind.d.ts +11 -0
- package/dist/alerts/kinds/node-offline.kind.d.ts.map +1 -0
- package/dist/alerts/kinds/node-offline.kind.js +41 -0
- package/dist/alerts/kinds/node-offline.kind.js.map +1 -0
- package/dist/alerts/kinds/telemetry-unavailable.kind.d.ts +11 -0
- package/dist/alerts/kinds/telemetry-unavailable.kind.d.ts.map +1 -0
- package/dist/alerts/kinds/telemetry-unavailable.kind.js +40 -0
- package/dist/alerts/kinds/telemetry-unavailable.kind.js.map +1 -0
- package/dist/alerts/kinds/verdict.kind.d.ts +13 -0
- package/dist/alerts/kinds/verdict.kind.d.ts.map +1 -0
- package/dist/alerts/kinds/verdict.kind.js +34 -0
- package/dist/alerts/kinds/verdict.kind.js.map +1 -0
- package/dist/alerts/notifications/alerts.notifications.d.ts +77 -0
- package/dist/alerts/notifications/alerts.notifications.d.ts.map +1 -0
- package/dist/alerts/notifications/alerts.notifications.js +145 -0
- package/dist/alerts/notifications/alerts.notifications.js.map +1 -0
- package/dist/alerts/starter-rules.d.ts +21 -0
- package/dist/alerts/starter-rules.d.ts.map +1 -0
- package/dist/alerts/starter-rules.js +141 -0
- package/dist/alerts/starter-rules.js.map +1 -0
- package/dist/alerts/state/alert-state-machine.d.ts +92 -0
- package/dist/alerts/state/alert-state-machine.d.ts.map +1 -0
- package/dist/alerts/state/alert-state-machine.js +96 -0
- package/dist/alerts/state/alert-state-machine.js.map +1 -0
- package/dist/alerts/tasks/alerts-evaluate.task.d.ts +18 -0
- package/dist/alerts/tasks/alerts-evaluate.task.d.ts.map +1 -0
- package/dist/alerts/tasks/alerts-evaluate.task.js +61 -0
- package/dist/alerts/tasks/alerts-evaluate.task.js.map +1 -0
- package/dist/alerts/tasks/alerts-purge.task.d.ts +15 -0
- package/dist/alerts/tasks/alerts-purge.task.d.ts.map +1 -0
- package/dist/alerts/tasks/alerts-purge.task.js +58 -0
- package/dist/alerts/tasks/alerts-purge.task.js.map +1 -0
- package/dist/alerts/testing/conformance.d.ts +58 -0
- package/dist/alerts/testing/conformance.d.ts.map +1 -0
- package/dist/alerts/testing/conformance.js +198 -0
- package/dist/alerts/testing/conformance.js.map +1 -0
- package/dist/alerts/testing/fakes.d.ts +80 -0
- package/dist/alerts/testing/fakes.d.ts.map +1 -0
- package/dist/alerts/testing/fakes.js +230 -0
- package/dist/alerts/testing/fakes.js.map +1 -0
- package/dist/alerts/testing/index.d.ts +5 -0
- package/dist/alerts/testing/index.d.ts.map +1 -0
- package/dist/alerts/testing/index.js +15 -0
- package/dist/alerts/testing/index.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +8 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/net/ip-classify.d.ts +39 -0
- package/dist/core/net/ip-classify.d.ts.map +1 -0
- package/dist/core/net/ip-classify.js +196 -0
- package/dist/core/net/ip-classify.js.map +1 -0
- package/dist/credentials/testing/conformance.d.ts.map +1 -1
- package/dist/credentials/testing/conformance.js +1 -0
- package/dist/credentials/testing/conformance.js.map +1 -1
- package/dist/jobs/data/jobs-db.d.ts +26 -0
- package/dist/jobs/data/jobs-db.d.ts.map +1 -1
- package/dist/jobs/index.d.ts +1 -1
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js.map +1 -1
- package/dist/manifest/platform-model-ownership.d.ts +1 -1
- package/dist/manifest/platform-model-ownership.d.ts.map +1 -1
- package/dist/manifest/platform-model-ownership.js +30 -1
- package/dist/manifest/platform-model-ownership.js.map +1 -1
- package/dist/manifest/platform-permissions.d.ts +6 -2
- package/dist/manifest/platform-permissions.d.ts.map +1 -1
- package/dist/manifest/platform-permissions.js +56 -44
- package/dist/manifest/platform-permissions.js.map +1 -1
- package/dist/manifest/platform-user-owned-models.d.ts.map +1 -1
- package/dist/manifest/platform-user-owned-models.js +16 -0
- package/dist/manifest/platform-user-owned-models.js.map +1 -1
- package/dist/nodes/dto/node-admin.dto.d.ts +5 -0
- package/dist/nodes/dto/node-admin.dto.d.ts.map +1 -1
- package/dist/nodes/dto/node-admin.dto.js +19 -0
- package/dist/nodes/dto/node-admin.dto.js.map +1 -1
- package/dist/nodes/dto/node-control-plane.dto.d.ts +26 -0
- package/dist/nodes/dto/node-control-plane.dto.d.ts.map +1 -1
- package/dist/nodes/dto/node-event.dto.d.ts +100 -0
- package/dist/nodes/dto/node-event.dto.d.ts.map +1 -0
- package/dist/nodes/dto/node-event.dto.js +239 -0
- package/dist/nodes/dto/node-event.dto.js.map +1 -0
- package/dist/nodes/dto/node-response.dto.d.ts +21 -0
- package/dist/nodes/dto/node-response.dto.d.ts.map +1 -1
- package/dist/nodes/dto/node-response.dto.js +42 -1
- package/dist/nodes/dto/node-response.dto.js.map +1 -1
- package/dist/nodes/events/node-event.event.d.ts +41 -0
- package/dist/nodes/events/node-event.event.d.ts.map +1 -0
- package/dist/nodes/events/node-event.event.js +69 -0
- package/dist/nodes/events/node-event.event.js.map +1 -0
- package/dist/nodes/handlers/node-events-purge.handler.d.ts +31 -0
- package/dist/nodes/handlers/node-events-purge.handler.d.ts.map +1 -0
- package/dist/nodes/handlers/node-events-purge.handler.js +91 -0
- package/dist/nodes/handlers/node-events-purge.handler.js.map +1 -0
- package/dist/nodes/index.d.ts +11 -4
- package/dist/nodes/index.d.ts.map +1 -1
- package/dist/nodes/index.js +20 -1
- package/dist/nodes/index.js.map +1 -1
- package/dist/nodes/node-events.service.d.ts +87 -0
- package/dist/nodes/node-events.service.d.ts.map +1 -0
- package/dist/nodes/node-events.service.js +271 -0
- package/dist/nodes/node-events.service.js.map +1 -0
- package/dist/nodes/node-fleet-metrics.service.d.ts +10 -1
- package/dist/nodes/node-fleet-metrics.service.d.ts.map +1 -1
- package/dist/nodes/node-fleet-metrics.service.js +31 -0
- package/dist/nodes/node-fleet-metrics.service.js.map +1 -1
- package/dist/nodes/node-lifecycle.service.d.ts +16 -1
- package/dist/nodes/node-lifecycle.service.d.ts.map +1 -1
- package/dist/nodes/node-lifecycle.service.js +7 -0
- package/dist/nodes/node-lifecycle.service.js.map +1 -1
- package/dist/nodes/nodes-admin.controller.d.ts +5 -1
- package/dist/nodes/nodes-admin.controller.d.ts.map +1 -1
- package/dist/nodes/nodes-admin.controller.js +32 -2
- package/dist/nodes/nodes-admin.controller.js.map +1 -1
- package/dist/nodes/nodes.controller.d.ts +7 -3
- package/dist/nodes/nodes.controller.d.ts.map +1 -1
- package/dist/nodes/nodes.controller.js +46 -6
- package/dist/nodes/nodes.controller.js.map +1 -1
- package/dist/nodes/nodes.metrics.d.ts +23 -1
- package/dist/nodes/nodes.metrics.d.ts.map +1 -1
- package/dist/nodes/nodes.metrics.js +80 -1
- package/dist/nodes/nodes.metrics.js.map +1 -1
- package/dist/nodes/nodes.module.d.ts.map +1 -1
- package/dist/nodes/nodes.module.js +6 -0
- package/dist/nodes/nodes.module.js.map +1 -1
- package/dist/nodes/nodes.options.d.ts +17 -0
- package/dist/nodes/nodes.options.d.ts.map +1 -1
- package/dist/nodes/nodes.options.js +13 -2
- package/dist/nodes/nodes.options.js.map +1 -1
- package/dist/nodes/nodes.service.d.ts +3 -1
- package/dist/nodes/nodes.service.d.ts.map +1 -1
- package/dist/nodes/nodes.service.js +14 -3
- package/dist/nodes/nodes.service.js.map +1 -1
- package/dist/nodes/tasks/node-events-purge.task.d.ts +13 -0
- package/dist/nodes/tasks/node-events-purge.task.d.ts.map +1 -0
- package/dist/nodes/tasks/node-events-purge.task.js +73 -0
- package/dist/nodes/tasks/node-events-purge.task.js.map +1 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts +30 -8
- package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts.map +1 -1
- package/dist/telemetry/dashboard/telemetry-dashboard.service.js +12 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.service.js.map +1 -1
- package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts +15 -0
- package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts.map +1 -1
- package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js +17 -2
- package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js.map +1 -1
- package/dist/telemetry/dto/telemetry-dashboard.dto.d.ts +3 -3
- package/dist/telemetry/index.d.ts +4 -2
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +4 -1
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/metrics/groups/nodes.metric-group.d.ts.map +1 -1
- package/dist/telemetry/metrics/groups/nodes.metric-group.js +77 -0
- package/dist/telemetry/metrics/groups/nodes.metric-group.js.map +1 -1
- package/dist/telemetry/metrics/metric-verdict.d.ts +1 -1
- package/dist/telemetry/metrics/metric-verdict.d.ts.map +1 -1
- package/dist/telemetry/metrics/metric-verdict.js +15 -1
- package/dist/telemetry/metrics/metric-verdict.js.map +1 -1
- package/dist/telemetry/query/telemetry-query-facade.d.ts +1 -1
- package/dist/telemetry/query/telemetry-query-facade.d.ts.map +1 -1
- package/dist/telemetry/query/telemetry-query-facade.js.map +1 -1
- package/dist/telemetry/query/telemetry-query.service.d.ts +2 -2
- package/dist/telemetry/query/telemetry-query.service.d.ts.map +1 -1
- package/dist/telemetry/query/telemetry-query.service.js +4 -0
- package/dist/telemetry/query/telemetry-query.service.js.map +1 -1
- package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts +1 -1
- package/dist/telemetry/telemetry-support-bundle.section.d.ts +4 -4
- package/dist/telemetry/telemetry.module.d.ts.map +1 -1
- package/dist/telemetry/telemetry.module.js +1 -0
- package/dist/telemetry/telemetry.module.js.map +1 -1
- package/dist/telemetry/testing/metric-schema.fixture.d.ts.map +1 -1
- package/dist/telemetry/testing/metric-schema.fixture.js +56 -0
- package/dist/telemetry/testing/metric-schema.fixture.js.map +1 -1
- package/dist/user-data/platform-user-data.d.ts.map +1 -1
- package/dist/user-data/platform-user-data.js +2 -0
- package/dist/user-data/platform-user-data.js.map +1 -1
- package/dist/webhooks/data/webhooks-db.d.ts +176 -0
- package/dist/webhooks/data/webhooks-db.d.ts.map +1 -0
- package/dist/webhooks/data/webhooks-db.js +14 -0
- package/dist/webhooks/data/webhooks-db.js.map +1 -0
- package/dist/webhooks/egress/egress-guard.d.ts +99 -0
- package/dist/webhooks/egress/egress-guard.d.ts.map +1 -0
- package/dist/webhooks/egress/egress-guard.js +172 -0
- package/dist/webhooks/egress/egress-guard.js.map +1 -0
- package/dist/webhooks/egress/transport.d.ts +58 -0
- package/dist/webhooks/egress/transport.d.ts.map +1 -0
- package/dist/webhooks/egress/transport.js +115 -0
- package/dist/webhooks/egress/transport.js.map +1 -0
- package/dist/webhooks/handlers/webhook-deliver.handler.d.ts +76 -0
- package/dist/webhooks/handlers/webhook-deliver.handler.d.ts.map +1 -0
- package/dist/webhooks/handlers/webhook-deliver.handler.js +332 -0
- package/dist/webhooks/handlers/webhook-deliver.handler.js.map +1 -0
- package/dist/webhooks/handlers/webhook-fanout.handler.d.ts +28 -0
- package/dist/webhooks/handlers/webhook-fanout.handler.d.ts.map +1 -0
- package/dist/webhooks/handlers/webhook-fanout.handler.js +73 -0
- package/dist/webhooks/handlers/webhook-fanout.handler.js.map +1 -0
- package/dist/webhooks/handlers/webhook-purge.handler.d.ts +33 -0
- package/dist/webhooks/handlers/webhook-purge.handler.d.ts.map +1 -0
- package/dist/webhooks/handlers/webhook-purge.handler.js +77 -0
- package/dist/webhooks/handlers/webhook-purge.handler.js.map +1 -0
- package/dist/webhooks/http/admin-webhooks.controller.d.ts +36 -0
- package/dist/webhooks/http/admin-webhooks.controller.d.ts.map +1 -0
- package/dist/webhooks/http/admin-webhooks.controller.js +250 -0
- package/dist/webhooks/http/admin-webhooks.controller.js.map +1 -0
- package/dist/webhooks/http/org-webhooks.controller.d.ts +36 -0
- package/dist/webhooks/http/org-webhooks.controller.d.ts.map +1 -0
- package/dist/webhooks/http/org-webhooks.controller.js +249 -0
- package/dist/webhooks/http/org-webhooks.controller.js.map +1 -0
- package/dist/webhooks/http/scope-context.d.ts +17 -0
- package/dist/webhooks/http/scope-context.d.ts.map +1 -0
- package/dist/webhooks/http/scope-context.js +28 -0
- package/dist/webhooks/http/scope-context.js.map +1 -0
- package/dist/webhooks/http/webhook.dto.d.ts +174 -0
- package/dist/webhooks/http/webhook.dto.d.ts.map +1 -0
- package/dist/webhooks/http/webhook.dto.js +58 -0
- package/dist/webhooks/http/webhook.dto.js.map +1 -0
- package/dist/webhooks/http/webhooks.controller.d.ts +36 -0
- package/dist/webhooks/http/webhooks.controller.d.ts.map +1 -0
- package/dist/webhooks/http/webhooks.controller.js +243 -0
- package/dist/webhooks/http/webhooks.controller.js.map +1 -0
- package/dist/webhooks/index.d.ts +43 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +147 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/listeners/webhook-event.listeners.d.ts +23 -0
- package/dist/webhooks/listeners/webhook-event.listeners.d.ts.map +1 -0
- package/dist/webhooks/listeners/webhook-event.listeners.js +120 -0
- package/dist/webhooks/listeners/webhook-event.listeners.js.map +1 -0
- package/dist/webhooks/notifications/webhook-notification.channel.d.ts +31 -0
- package/dist/webhooks/notifications/webhook-notification.channel.d.ts.map +1 -0
- package/dist/webhooks/notifications/webhook-notification.channel.js +127 -0
- package/dist/webhooks/notifications/webhook-notification.channel.js.map +1 -0
- package/dist/webhooks/notifications/webhook-notifications.d.ts +98 -0
- package/dist/webhooks/notifications/webhook-notifications.d.ts.map +1 -0
- package/dist/webhooks/notifications/webhook-notifications.js +150 -0
- package/dist/webhooks/notifications/webhook-notifications.js.map +1 -0
- package/dist/webhooks/ports.d.ts +29 -0
- package/dist/webhooks/ports.d.ts.map +1 -0
- package/dist/webhooks/ports.js +23 -0
- package/dist/webhooks/ports.js.map +1 -0
- package/dist/webhooks/registry/builtin-events.d.ts +57 -0
- package/dist/webhooks/registry/builtin-events.d.ts.map +1 -0
- package/dist/webhooks/registry/builtin-events.js +113 -0
- package/dist/webhooks/registry/builtin-events.js.map +1 -0
- package/dist/webhooks/registry/webhook-catalog.d.ts +63 -0
- package/dist/webhooks/registry/webhook-catalog.d.ts.map +1 -0
- package/dist/webhooks/registry/webhook-catalog.js +123 -0
- package/dist/webhooks/registry/webhook-catalog.js.map +1 -0
- package/dist/webhooks/registry/webhook-event.registry.d.ts +116 -0
- package/dist/webhooks/registry/webhook-event.registry.d.ts.map +1 -0
- package/dist/webhooks/registry/webhook-event.registry.js +152 -0
- package/dist/webhooks/registry/webhook-event.registry.js.map +1 -0
- package/dist/webhooks/signing.d.ts +31 -0
- package/dist/webhooks/signing.d.ts.map +1 -0
- package/dist/webhooks/signing.js +48 -0
- package/dist/webhooks/signing.js.map +1 -0
- package/dist/webhooks/tasks/webhook-purge.task.d.ts +17 -0
- package/dist/webhooks/tasks/webhook-purge.task.d.ts.map +1 -0
- package/dist/webhooks/tasks/webhook-purge.task.js +68 -0
- package/dist/webhooks/tasks/webhook-purge.task.js.map +1 -0
- package/dist/webhooks/testing/conformance.d.ts +61 -0
- package/dist/webhooks/testing/conformance.d.ts.map +1 -0
- package/dist/webhooks/testing/conformance.js +316 -0
- package/dist/webhooks/testing/conformance.js.map +1 -0
- package/dist/webhooks/testing/in-memory.d.ts +156 -0
- package/dist/webhooks/testing/in-memory.d.ts.map +1 -0
- package/dist/webhooks/testing/in-memory.js +323 -0
- package/dist/webhooks/testing/in-memory.js.map +1 -0
- package/dist/webhooks/testing/index.d.ts +7 -0
- package/dist/webhooks/testing/index.d.ts.map +1 -0
- package/dist/webhooks/testing/index.js +25 -0
- package/dist/webhooks/testing/index.js.map +1 -0
- package/dist/webhooks/testing/kit.d.ts +86 -0
- package/dist/webhooks/testing/kit.d.ts.map +1 -0
- package/dist/webhooks/testing/kit.js +113 -0
- package/dist/webhooks/testing/kit.js.map +1 -0
- package/dist/webhooks/webhook-endpoints.service.d.ts +142 -0
- package/dist/webhooks/webhook-endpoints.service.d.ts.map +1 -0
- package/dist/webhooks/webhook-endpoints.service.js +366 -0
- package/dist/webhooks/webhook-endpoints.service.js.map +1 -0
- package/dist/webhooks/webhook-envelope.d.ts +36 -0
- package/dist/webhooks/webhook-envelope.d.ts.map +1 -0
- package/dist/webhooks/webhook-envelope.js +46 -0
- package/dist/webhooks/webhook-envelope.js.map +1 -0
- package/dist/webhooks/webhook-secrets.service.d.ts +49 -0
- package/dist/webhooks/webhook-secrets.service.d.ts.map +1 -0
- package/dist/webhooks/webhook-secrets.service.js +118 -0
- package/dist/webhooks/webhook-secrets.service.js.map +1 -0
- package/dist/webhooks/webhook-views.d.ts +34 -0
- package/dist/webhooks/webhook-views.d.ts.map +1 -0
- package/dist/webhooks/webhook-views.js +83 -0
- package/dist/webhooks/webhook-views.js.map +1 -0
- package/dist/webhooks/webhooks.access.d.ts +28 -0
- package/dist/webhooks/webhooks.access.d.ts.map +1 -0
- package/dist/webhooks/webhooks.access.js +55 -0
- package/dist/webhooks/webhooks.access.js.map +1 -0
- package/dist/webhooks/webhooks.constants.d.ts +73 -0
- package/dist/webhooks/webhooks.constants.d.ts.map +1 -0
- package/dist/webhooks/webhooks.constants.js +100 -0
- package/dist/webhooks/webhooks.constants.js.map +1 -0
- package/dist/webhooks/webhooks.credentials.d.ts +28 -0
- package/dist/webhooks/webhooks.credentials.d.ts.map +1 -0
- package/dist/webhooks/webhooks.credentials.js +51 -0
- package/dist/webhooks/webhooks.credentials.js.map +1 -0
- package/dist/webhooks/webhooks.errors.d.ts +25 -0
- package/dist/webhooks/webhooks.errors.d.ts.map +1 -0
- package/dist/webhooks/webhooks.errors.js +65 -0
- package/dist/webhooks/webhooks.errors.js.map +1 -0
- package/dist/webhooks/webhooks.metrics.d.ts +24 -0
- package/dist/webhooks/webhooks.metrics.d.ts.map +1 -0
- package/dist/webhooks/webhooks.metrics.js +70 -0
- package/dist/webhooks/webhooks.metrics.js.map +1 -0
- package/dist/webhooks/webhooks.module.d.ts +29 -0
- package/dist/webhooks/webhooks.module.d.ts.map +1 -0
- package/dist/webhooks/webhooks.module.js +108 -0
- package/dist/webhooks/webhooks.module.js.map +1 -0
- package/dist/webhooks/webhooks.options.d.ts +119 -0
- package/dist/webhooks/webhooks.options.d.ts.map +1 -0
- package/dist/webhooks/webhooks.options.js +80 -0
- package/dist/webhooks/webhooks.options.js.map +1 -0
- package/dist/webhooks/webhooks.permissions.d.ts +47 -0
- package/dist/webhooks/webhooks.permissions.d.ts.map +1 -0
- package/dist/webhooks/webhooks.permissions.js +83 -0
- package/dist/webhooks/webhooks.permissions.js.map +1 -0
- package/dist/webhooks/webhooks.repository.d.ts +162 -0
- package/dist/webhooks/webhooks.repository.d.ts.map +1 -0
- package/dist/webhooks/webhooks.repository.js +246 -0
- package/dist/webhooks/webhooks.repository.js.map +1 -0
- package/dist/webhooks/webhooks.service.d.ts +91 -0
- package/dist/webhooks/webhooks.service.d.ts.map +1 -0
- package/dist/webhooks/webhooks.service.js +216 -0
- package/dist/webhooks/webhooks.service.js.map +1 -0
- package/package.json +19 -3
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { type AlertRule, type AlertRuleListQuery, type CreateAlertRule, type UpdateAlertRule } from '@marinoscar/platform-contract/alerts';
|
|
2
|
+
import type { AlertRuleRow, AlertsPrisma } from './data/alerts-db';
|
|
3
|
+
/**
|
|
4
|
+
* Maps a rule row (and its open incident count) to the wire shape.
|
|
5
|
+
*
|
|
6
|
+
* @param row - the row.
|
|
7
|
+
* @param openIncidents - incidents pending or firing.
|
|
8
|
+
* @returns the rule.
|
|
9
|
+
*
|
|
10
|
+
* @stability experimental
|
|
11
|
+
*/
|
|
12
|
+
export declare function toAlertRule(row: AlertRuleRow, openIncidents: number): AlertRule;
|
|
13
|
+
/**
|
|
14
|
+
* Rule CRUD. Config is validated against the kind's schema on every write;
|
|
15
|
+
* starter rules (those with a `key`) can be edited and disabled, not deleted.
|
|
16
|
+
*
|
|
17
|
+
* @stability experimental
|
|
18
|
+
*/
|
|
19
|
+
export declare class AlertsRulesService {
|
|
20
|
+
private readonly prisma;
|
|
21
|
+
constructor(prisma: AlertsPrisma);
|
|
22
|
+
/**
|
|
23
|
+
* Lists rules, newest first.
|
|
24
|
+
*
|
|
25
|
+
* @param query - optional kind, severity and enabled filters.
|
|
26
|
+
* @returns the rules.
|
|
27
|
+
*/
|
|
28
|
+
list(query?: AlertRuleListQuery): Promise<AlertRule[]>;
|
|
29
|
+
/**
|
|
30
|
+
* One rule.
|
|
31
|
+
*
|
|
32
|
+
* @param id - the rule id.
|
|
33
|
+
* @returns the rule.
|
|
34
|
+
* @throws NotFoundException `ALERT_RULE_NOT_FOUND`.
|
|
35
|
+
*/
|
|
36
|
+
get(id: string): Promise<AlertRule>;
|
|
37
|
+
/**
|
|
38
|
+
* The raw row (for the evaluator and the dry run).
|
|
39
|
+
*
|
|
40
|
+
* @param id - the rule id.
|
|
41
|
+
* @throws NotFoundException `ALERT_RULE_NOT_FOUND`.
|
|
42
|
+
*/
|
|
43
|
+
row(id: string): Promise<AlertRuleRow>;
|
|
44
|
+
/**
|
|
45
|
+
* Creates a rule.
|
|
46
|
+
*
|
|
47
|
+
* @param body - the validated body.
|
|
48
|
+
* @param userId - the administrator.
|
|
49
|
+
* @returns the rule.
|
|
50
|
+
* @throws BadRequestException `ALERT_UNKNOWN_KIND` or `ALERT_INVALID_CONFIG`.
|
|
51
|
+
*/
|
|
52
|
+
create(body: CreateAlertRule, userId: string | null): Promise<AlertRule>;
|
|
53
|
+
/**
|
|
54
|
+
* Updates a rule. Disabling it closes its open incidents silently.
|
|
55
|
+
*
|
|
56
|
+
* @param id - the rule id.
|
|
57
|
+
* @param body - the validated patch.
|
|
58
|
+
* @returns the rule.
|
|
59
|
+
* @throws NotFoundException `ALERT_RULE_NOT_FOUND`; BadRequestException `ALERT_INVALID_CONFIG`.
|
|
60
|
+
*/
|
|
61
|
+
update(id: string, body: UpdateAlertRule): Promise<AlertRule>;
|
|
62
|
+
/**
|
|
63
|
+
* Deletes a rule and, by cascade, its incidents.
|
|
64
|
+
*
|
|
65
|
+
* @param id - the rule id.
|
|
66
|
+
* @throws NotFoundException `ALERT_RULE_NOT_FOUND`; ConflictException `ALERT_STARTER_RULE_PROTECTED` for a starter rule.
|
|
67
|
+
*/
|
|
68
|
+
remove(id: string): Promise<void>;
|
|
69
|
+
private openCount;
|
|
70
|
+
/** A disabled rule is not evaluated, so nothing would ever resolve its incidents. No notification: the administrator did it. */
|
|
71
|
+
private closeOpenIncidents;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=alerts-rules.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts-rules.service.d.ts","sourceRoot":"","sources":["../../src/alerts/alerts-rules.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,sCAAsC,CAAC;AAI9C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGnE;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,CAsB/E;AASD;;;;;GAKG;AACH,qBACa,kBAAkB;IACQ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAE1E;;;;;OAKG;IACG,IAAI,CAAC,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAgBhE;;;;;;OAMG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAKzC;;;;;OAKG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM5C;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAyB9E;;;;;;;OAOG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAgBnE;;;;;OAKG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvC,OAAO,CAAC,SAAS;IAIjB,gIAAgI;YAClH,kBAAkB;CAIjC"}
|
|
@@ -0,0 +1,205 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AlertsRulesService = void 0;
|
|
16
|
+
exports.toAlertRule = toAlertRule;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const alerts_1 = require("@marinoscar/platform-contract/alerts");
|
|
19
|
+
const index_1 = require("../core/index");
|
|
20
|
+
const alerts_errors_1 = require("./alerts.errors");
|
|
21
|
+
const alert_kind_registry_1 = require("./kinds/alert-kind.registry");
|
|
22
|
+
/**
|
|
23
|
+
* Maps a rule row (and its open incident count) to the wire shape.
|
|
24
|
+
*
|
|
25
|
+
* @param row - the row.
|
|
26
|
+
* @param openIncidents - incidents pending or firing.
|
|
27
|
+
* @returns the rule.
|
|
28
|
+
*
|
|
29
|
+
* @stability experimental
|
|
30
|
+
*/
|
|
31
|
+
function toAlertRule(row, openIncidents) {
|
|
32
|
+
return {
|
|
33
|
+
id: row.id,
|
|
34
|
+
key: row.key,
|
|
35
|
+
starter: row.key !== null,
|
|
36
|
+
name: row.name,
|
|
37
|
+
description: row.description,
|
|
38
|
+
enabled: row.enabled,
|
|
39
|
+
kind: row.kind,
|
|
40
|
+
severity: row.severity,
|
|
41
|
+
config: (row.config && typeof row.config === 'object' ? row.config : {}),
|
|
42
|
+
forSeconds: row.forSeconds,
|
|
43
|
+
cooldownSeconds: row.cooldownSeconds,
|
|
44
|
+
notifyChannels: row.notifyChannels,
|
|
45
|
+
webhook: row.webhook,
|
|
46
|
+
createdById: row.createdById,
|
|
47
|
+
createdAt: row.createdAt.toISOString(),
|
|
48
|
+
updatedAt: row.updatedAt.toISOString(),
|
|
49
|
+
lastEvaluatedAt: row.lastEvaluatedAt ? row.lastEvaluatedAt.toISOString() : null,
|
|
50
|
+
lastError: row.lastError,
|
|
51
|
+
openIncidents,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function badConfig(error) {
|
|
55
|
+
if (error instanceof alerts_errors_1.AlertConfigError) {
|
|
56
|
+
throw new common_1.BadRequestException({ message: error.message, details: { reason: error.code, issues: error.issues } });
|
|
57
|
+
}
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Rule CRUD. Config is validated against the kind's schema on every write;
|
|
62
|
+
* starter rules (those with a `key`) can be edited and disabled, not deleted.
|
|
63
|
+
*
|
|
64
|
+
* @stability experimental
|
|
65
|
+
*/
|
|
66
|
+
let AlertsRulesService = class AlertsRulesService {
|
|
67
|
+
prisma;
|
|
68
|
+
constructor(prisma) {
|
|
69
|
+
this.prisma = prisma;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Lists rules, newest first.
|
|
73
|
+
*
|
|
74
|
+
* @param query - optional kind, severity and enabled filters.
|
|
75
|
+
* @returns the rules.
|
|
76
|
+
*/
|
|
77
|
+
async list(query = {}) {
|
|
78
|
+
const where = {
|
|
79
|
+
...(query.kind ? { kind: query.kind } : {}),
|
|
80
|
+
...(query.severity ? { severity: query.severity } : {}),
|
|
81
|
+
...(query.enabled !== undefined ? { enabled: query.enabled } : {}),
|
|
82
|
+
};
|
|
83
|
+
const rows = await this.prisma.alertRule.findMany({ where, orderBy: [{ createdAt: 'asc' }, { name: 'asc' }] });
|
|
84
|
+
const open = await this.prisma.alertIncident.findMany({
|
|
85
|
+
where: { state: { in: ['pending', 'firing'] }, ruleId: { in: rows.map((r) => r.id) } },
|
|
86
|
+
select: { ruleId: true },
|
|
87
|
+
});
|
|
88
|
+
const counts = new Map();
|
|
89
|
+
for (const { ruleId } of open)
|
|
90
|
+
counts.set(ruleId, (counts.get(ruleId) ?? 0) + 1);
|
|
91
|
+
return rows.map((row) => toAlertRule(row, counts.get(row.id) ?? 0));
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* One rule.
|
|
95
|
+
*
|
|
96
|
+
* @param id - the rule id.
|
|
97
|
+
* @returns the rule.
|
|
98
|
+
* @throws NotFoundException `ALERT_RULE_NOT_FOUND`.
|
|
99
|
+
*/
|
|
100
|
+
async get(id) {
|
|
101
|
+
const row = await this.row(id);
|
|
102
|
+
return toAlertRule(row, await this.openCount(id));
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The raw row (for the evaluator and the dry run).
|
|
106
|
+
*
|
|
107
|
+
* @param id - the rule id.
|
|
108
|
+
* @throws NotFoundException `ALERT_RULE_NOT_FOUND`.
|
|
109
|
+
*/
|
|
110
|
+
async row(id) {
|
|
111
|
+
const row = await this.prisma.alertRule.findUnique({ where: { id } });
|
|
112
|
+
if (!row)
|
|
113
|
+
throw new common_1.NotFoundException({ message: 'There is no such alert rule.', details: { reason: alerts_1.ALERT_ERROR_CODES.RULE_NOT_FOUND } });
|
|
114
|
+
return row;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Creates a rule.
|
|
118
|
+
*
|
|
119
|
+
* @param body - the validated body.
|
|
120
|
+
* @param userId - the administrator.
|
|
121
|
+
* @returns the rule.
|
|
122
|
+
* @throws BadRequestException `ALERT_UNKNOWN_KIND` or `ALERT_INVALID_CONFIG`.
|
|
123
|
+
*/
|
|
124
|
+
async create(body, userId) {
|
|
125
|
+
let config;
|
|
126
|
+
try {
|
|
127
|
+
config = (0, alert_kind_registry_1.parseAlertConfig)(body.kind, body.config);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
badConfig(error);
|
|
131
|
+
}
|
|
132
|
+
const row = await this.prisma.alertRule.create({
|
|
133
|
+
data: {
|
|
134
|
+
name: body.name,
|
|
135
|
+
description: body.description ?? null,
|
|
136
|
+
enabled: body.enabled,
|
|
137
|
+
kind: body.kind,
|
|
138
|
+
severity: body.severity,
|
|
139
|
+
config,
|
|
140
|
+
forSeconds: body.forSeconds,
|
|
141
|
+
cooldownSeconds: body.cooldownSeconds,
|
|
142
|
+
notifyChannels: body.notifyChannels,
|
|
143
|
+
webhook: body.webhook,
|
|
144
|
+
createdById: userId,
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
return toAlertRule(row, 0);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Updates a rule. Disabling it closes its open incidents silently.
|
|
151
|
+
*
|
|
152
|
+
* @param id - the rule id.
|
|
153
|
+
* @param body - the validated patch.
|
|
154
|
+
* @returns the rule.
|
|
155
|
+
* @throws NotFoundException `ALERT_RULE_NOT_FOUND`; BadRequestException `ALERT_INVALID_CONFIG`.
|
|
156
|
+
*/
|
|
157
|
+
async update(id, body) {
|
|
158
|
+
const current = await this.row(id);
|
|
159
|
+
const wasEnabled = current.enabled;
|
|
160
|
+
const data = { ...body };
|
|
161
|
+
if (body.config !== undefined) {
|
|
162
|
+
try {
|
|
163
|
+
data.config = (0, alert_kind_registry_1.parseAlertConfig)(current.kind, body.config);
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
badConfig(error);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const row = await this.prisma.alertRule.update({ where: { id }, data });
|
|
170
|
+
if (wasEnabled && body.enabled === false)
|
|
171
|
+
await this.closeOpenIncidents(id);
|
|
172
|
+
return toAlertRule(row, await this.openCount(id));
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Deletes a rule and, by cascade, its incidents.
|
|
176
|
+
*
|
|
177
|
+
* @param id - the rule id.
|
|
178
|
+
* @throws NotFoundException `ALERT_RULE_NOT_FOUND`; ConflictException `ALERT_STARTER_RULE_PROTECTED` for a starter rule.
|
|
179
|
+
*/
|
|
180
|
+
async remove(id) {
|
|
181
|
+
const row = await this.row(id);
|
|
182
|
+
if (row.key !== null) {
|
|
183
|
+
throw new common_1.ConflictException({
|
|
184
|
+
message: 'A starter rule cannot be deleted; edit it or disable it.',
|
|
185
|
+
details: { reason: alerts_1.ALERT_ERROR_CODES.STARTER_RULE_PROTECTED },
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
await this.prisma.alertRule.delete({ where: { id } });
|
|
189
|
+
}
|
|
190
|
+
openCount(ruleId) {
|
|
191
|
+
return this.prisma.alertIncident.count({ where: { ruleId, state: { in: ['pending', 'firing'] } } });
|
|
192
|
+
}
|
|
193
|
+
/** A disabled rule is not evaluated, so nothing would ever resolve its incidents. No notification: the administrator did it. */
|
|
194
|
+
async closeOpenIncidents(ruleId) {
|
|
195
|
+
await this.prisma.alertIncident.deleteMany({ where: { ruleId, state: 'pending' } });
|
|
196
|
+
await this.prisma.alertIncident.updateMany({ where: { ruleId, state: 'firing' }, data: { state: 'resolved', resolvedAt: new Date() } });
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
exports.AlertsRulesService = AlertsRulesService;
|
|
200
|
+
exports.AlertsRulesService = AlertsRulesService = __decorate([
|
|
201
|
+
(0, common_1.Injectable)(),
|
|
202
|
+
__param(0, (0, common_1.Inject)(index_1.PLATFORM_PRISMA)),
|
|
203
|
+
__metadata("design:paramtypes", [Object])
|
|
204
|
+
], AlertsRulesService);
|
|
205
|
+
//# sourceMappingURL=alerts-rules.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts-rules.service.js","sourceRoot":"","sources":["../../src/alerts/alerts-rules.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { OnApplicationBootstrap } from '@nestjs/common';
|
|
2
|
+
import type { ResolvedAlertsModuleOptions } from './alerts.options';
|
|
3
|
+
import type { AlertsPrisma } from './data/alerts-db';
|
|
4
|
+
/**
|
|
5
|
+
* Seeds the starter rules, disabled, keyed by their stable keys. A rule that
|
|
6
|
+
* exists (by key) is NEVER touched, so an administrator's edits, enabling and
|
|
7
|
+
* thresholds survive every restart and every replica starting at once.
|
|
8
|
+
*
|
|
9
|
+
* @stability experimental
|
|
10
|
+
*/
|
|
11
|
+
export declare class AlertsSeedService implements OnApplicationBootstrap {
|
|
12
|
+
private readonly prisma;
|
|
13
|
+
private readonly options;
|
|
14
|
+
private readonly logger;
|
|
15
|
+
constructor(prisma: AlertsPrisma, options: ResolvedAlertsModuleOptions);
|
|
16
|
+
/** Seeds once the application has bootstrapped; a failure is logged, never thrown. */
|
|
17
|
+
onApplicationBootstrap(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Creates the missing starter rules.
|
|
20
|
+
*
|
|
21
|
+
* @returns how many were created.
|
|
22
|
+
*/
|
|
23
|
+
seed(): Promise<number>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=alerts-seed.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts-seed.service.d.ts","sourceRoot":"","sources":["../../src/alerts/alerts-seed.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAIpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKrD;;;;;;GAMG;AACH,qBACa,iBAAkB,YAAW,sBAAsB;IAInC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJlD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAGjB,MAAM,EAAE,YAAY,EACrB,OAAO,EAAE,2BAA2B;IAG/E,sFAAsF;IAChF,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7C;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;CAgB9B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var AlertsSeedService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.AlertsSeedService = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const index_1 = require("../core/index");
|
|
19
|
+
const alerts_constants_1 = require("./alerts.constants");
|
|
20
|
+
const alerts_evaluation_service_1 = require("./alerts-evaluation.service");
|
|
21
|
+
const alert_kind_registry_1 = require("./kinds/alert-kind.registry");
|
|
22
|
+
const starter_rules_1 = require("./starter-rules");
|
|
23
|
+
/**
|
|
24
|
+
* Seeds the starter rules, disabled, keyed by their stable keys. A rule that
|
|
25
|
+
* exists (by key) is NEVER touched, so an administrator's edits, enabling and
|
|
26
|
+
* thresholds survive every restart and every replica starting at once.
|
|
27
|
+
*
|
|
28
|
+
* @stability experimental
|
|
29
|
+
*/
|
|
30
|
+
let AlertsSeedService = AlertsSeedService_1 = class AlertsSeedService {
|
|
31
|
+
prisma;
|
|
32
|
+
options;
|
|
33
|
+
logger = new common_1.Logger(AlertsSeedService_1.name);
|
|
34
|
+
constructor(prisma, options) {
|
|
35
|
+
this.prisma = prisma;
|
|
36
|
+
this.options = options;
|
|
37
|
+
}
|
|
38
|
+
/** Seeds once the application has bootstrapped; a failure is logged, never thrown. */
|
|
39
|
+
async onApplicationBootstrap() {
|
|
40
|
+
if (!this.options.seedStarterRules)
|
|
41
|
+
return;
|
|
42
|
+
try {
|
|
43
|
+
await this.seed();
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
this.logger.warn(`Could not seed the starter alert rules: ${error instanceof Error ? error.message : String(error)}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Creates the missing starter rules.
|
|
51
|
+
*
|
|
52
|
+
* @returns how many were created.
|
|
53
|
+
*/
|
|
54
|
+
async seed() {
|
|
55
|
+
let created = 0;
|
|
56
|
+
for (const { key, rule } of starter_rules_1.STARTER_ALERT_RULES) {
|
|
57
|
+
if (await this.prisma.alertRule.findUnique({ where: { key } }))
|
|
58
|
+
continue;
|
|
59
|
+
try {
|
|
60
|
+
await this.prisma.alertRule.create({
|
|
61
|
+
data: { ...rule, key, enabled: false, config: (0, alert_kind_registry_1.parseAlertConfig)(rule.kind, rule.config), description: rule.description ?? null },
|
|
62
|
+
});
|
|
63
|
+
created += 1;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (!(0, alerts_evaluation_service_1.isUniqueViolation)(error))
|
|
67
|
+
throw error; // another replica seeded it first
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (created > 0)
|
|
71
|
+
this.logger.log(`Seeded ${created} starter alert rule(s), all disabled.`);
|
|
72
|
+
return created;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.AlertsSeedService = AlertsSeedService;
|
|
76
|
+
exports.AlertsSeedService = AlertsSeedService = AlertsSeedService_1 = __decorate([
|
|
77
|
+
(0, common_1.Injectable)(),
|
|
78
|
+
__param(0, (0, common_1.Inject)(index_1.PLATFORM_PRISMA)),
|
|
79
|
+
__param(1, (0, common_1.Inject)(alerts_constants_1.ALERTS_OPTIONS)),
|
|
80
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
81
|
+
], AlertsSeedService);
|
|
82
|
+
//# sourceMappingURL=alerts-seed.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts-seed.service.js","sourceRoot":"","sources":["../../src/alerts/alerts-seed.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoF;AAEpF,yCAAgD;AAChD,yDAAoD;AAGpD,2EAAgE;AAChE,qEAA+D;AAC/D,mDAAsD;AAEtD;;;;;;GAMG;AAEI,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAIgB;IACD;IAJ1B,MAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAE7D,YAC4C,MAAoB,EACrB,OAAoC;QADnC,WAAM,GAAN,MAAM,CAAc;QACrB,YAAO,GAAP,OAAO,CAA6B;IAC5E,CAAC;IAEJ,sFAAsF;IACtF,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAAE,OAAO;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,mCAAmB,EAAE,CAAC;YAChD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;gBAAE,SAAS;YACzE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;oBACjC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAA,sCAAgB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;iBAChI,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAA,6CAAiB,EAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC,CAAC,kCAAkC;YAChF,CAAC;QACH,CAAC;QACD,IAAI,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,OAAO,uCAAuC,CAAC,CAAC;QAC3F,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAvCY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,uBAAe,CAAC,CAAA;IACvB,WAAA,IAAA,eAAM,EAAC,iCAAc,CAAC,CAAA;;GALd,iBAAiB,CAuC7B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The job type of the periodic evaluation. PERMANENT once jobs of it exist.
|
|
3
|
+
*
|
|
4
|
+
* @stability experimental
|
|
5
|
+
*/
|
|
6
|
+
export declare const ALERTS_EVALUATE_TYPE = "alerts.evaluate";
|
|
7
|
+
/**
|
|
8
|
+
* The job type of the event-driven evaluation (one node event). PERMANENT.
|
|
9
|
+
*
|
|
10
|
+
* @stability experimental
|
|
11
|
+
*/
|
|
12
|
+
export declare const ALERTS_EVALUATE_EVENT_TYPE = "alerts.evaluate_event";
|
|
13
|
+
/**
|
|
14
|
+
* The job type of the resolved-incident purge. PERMANENT.
|
|
15
|
+
*
|
|
16
|
+
* @stability experimental
|
|
17
|
+
*/
|
|
18
|
+
export declare const ALERTS_INCIDENTS_PURGE_TYPE = "alerts.incidents_purge";
|
|
19
|
+
/**
|
|
20
|
+
* The notification event raised when an alert fires. PERMANENT: preferences
|
|
21
|
+
* and delivery rows name it.
|
|
22
|
+
*
|
|
23
|
+
* @stability experimental
|
|
24
|
+
*/
|
|
25
|
+
export declare const ALERT_FIRED_NOTIFICATION = "alerts.alert_fired";
|
|
26
|
+
/**
|
|
27
|
+
* The notification event raised when an alert resolves. PERMANENT.
|
|
28
|
+
*
|
|
29
|
+
* @stability experimental
|
|
30
|
+
*/
|
|
31
|
+
export declare const ALERT_RESOLVED_NOTIFICATION = "alerts.alert_resolved";
|
|
32
|
+
/**
|
|
33
|
+
* Injection token of the OPTIONAL webhook emitter port ({@link AlertsWebhookEmitter}).
|
|
34
|
+
* The webhooks slice, or the app, binds it; the alerts slice compiles and runs
|
|
35
|
+
* without it.
|
|
36
|
+
*
|
|
37
|
+
* @extensionPoint token
|
|
38
|
+
* @stability experimental
|
|
39
|
+
*/
|
|
40
|
+
export declare const ALERTS_WEBHOOK_EMITTER: unique symbol;
|
|
41
|
+
/**
|
|
42
|
+
* Injection token of the resolved module options.
|
|
43
|
+
*
|
|
44
|
+
* @stability experimental
|
|
45
|
+
*/
|
|
46
|
+
export declare const ALERTS_OPTIONS: unique symbol;
|
|
47
|
+
/**
|
|
48
|
+
* Name of the raw-SQL partial unique index: one open incident per rule and label set.
|
|
49
|
+
*
|
|
50
|
+
* @stability experimental
|
|
51
|
+
*/
|
|
52
|
+
export declare const ALERT_OPEN_INCIDENT_INDEX = "alert_incidents_open_uniq_idx";
|
|
53
|
+
//# sourceMappingURL=alerts.constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.constants.d.ts","sourceRoot":"","sources":["../../src/alerts/alerts.constants.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAAO,MAAkE,CAAC;AAE/G;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,MAA0D,CAAC;AAE/F;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// The alerts slice's permanent strings and injection tokens.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ALERT_OPEN_INCIDENT_INDEX = exports.ALERTS_OPTIONS = exports.ALERTS_WEBHOOK_EMITTER = exports.ALERT_RESOLVED_NOTIFICATION = exports.ALERT_FIRED_NOTIFICATION = exports.ALERTS_INCIDENTS_PURGE_TYPE = exports.ALERTS_EVALUATE_EVENT_TYPE = exports.ALERTS_EVALUATE_TYPE = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* The job type of the periodic evaluation. PERMANENT once jobs of it exist.
|
|
7
|
+
*
|
|
8
|
+
* @stability experimental
|
|
9
|
+
*/
|
|
10
|
+
exports.ALERTS_EVALUATE_TYPE = 'alerts.evaluate';
|
|
11
|
+
/**
|
|
12
|
+
* The job type of the event-driven evaluation (one node event). PERMANENT.
|
|
13
|
+
*
|
|
14
|
+
* @stability experimental
|
|
15
|
+
*/
|
|
16
|
+
exports.ALERTS_EVALUATE_EVENT_TYPE = 'alerts.evaluate_event';
|
|
17
|
+
/**
|
|
18
|
+
* The job type of the resolved-incident purge. PERMANENT.
|
|
19
|
+
*
|
|
20
|
+
* @stability experimental
|
|
21
|
+
*/
|
|
22
|
+
exports.ALERTS_INCIDENTS_PURGE_TYPE = 'alerts.incidents_purge';
|
|
23
|
+
/**
|
|
24
|
+
* The notification event raised when an alert fires. PERMANENT: preferences
|
|
25
|
+
* and delivery rows name it.
|
|
26
|
+
*
|
|
27
|
+
* @stability experimental
|
|
28
|
+
*/
|
|
29
|
+
exports.ALERT_FIRED_NOTIFICATION = 'alerts.alert_fired';
|
|
30
|
+
/**
|
|
31
|
+
* The notification event raised when an alert resolves. PERMANENT.
|
|
32
|
+
*
|
|
33
|
+
* @stability experimental
|
|
34
|
+
*/
|
|
35
|
+
exports.ALERT_RESOLVED_NOTIFICATION = 'alerts.alert_resolved';
|
|
36
|
+
/**
|
|
37
|
+
* Injection token of the OPTIONAL webhook emitter port ({@link AlertsWebhookEmitter}).
|
|
38
|
+
* The webhooks slice, or the app, binds it; the alerts slice compiles and runs
|
|
39
|
+
* without it.
|
|
40
|
+
*
|
|
41
|
+
* @extensionPoint token
|
|
42
|
+
* @stability experimental
|
|
43
|
+
*/
|
|
44
|
+
exports.ALERTS_WEBHOOK_EMITTER = Symbol.for('@marinoscar/platform/alerts/WEBHOOK_EMITTER');
|
|
45
|
+
/**
|
|
46
|
+
* Injection token of the resolved module options.
|
|
47
|
+
*
|
|
48
|
+
* @stability experimental
|
|
49
|
+
*/
|
|
50
|
+
exports.ALERTS_OPTIONS = Symbol.for('@marinoscar/platform/alerts/OPTIONS');
|
|
51
|
+
/**
|
|
52
|
+
* Name of the raw-SQL partial unique index: one open incident per rule and label set.
|
|
53
|
+
*
|
|
54
|
+
* @stability experimental
|
|
55
|
+
*/
|
|
56
|
+
exports.ALERT_OPEN_INCIDENT_INDEX = 'alert_incidents_open_uniq_idx';
|
|
57
|
+
//# sourceMappingURL=alerts.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.constants.js","sourceRoot":"","sources":["../../src/alerts/alerts.constants.ts"],"names":[],"mappings":";AAAA,6DAA6D;;;AAE7D;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD;;;;GAIG;AACU,QAAA,0BAA0B,GAAG,uBAAuB,CAAC;AAElE;;;;GAIG;AACU,QAAA,2BAA2B,GAAG,wBAAwB,CAAC;AAEpE;;;;;GAKG;AACU,QAAA,wBAAwB,GAAG,oBAAoB,CAAC;AAE7D;;;;GAIG;AACU,QAAA,2BAA2B,GAAG,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACU,QAAA,sBAAsB,GAAkB,MAAM,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;AAE/G;;;;GAIG;AACU,QAAA,cAAc,GAAkB,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAE/F;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The telemetry store cannot be queried right now (not configured, disabled,
|
|
3
|
+
* unreachable, timed out). A kind throws it; the evaluator records it on the
|
|
4
|
+
* rule (`lastError`) and leaves the rule's incidents untouched, so a store
|
|
5
|
+
* outage never resolves, flaps or fires anything by itself.
|
|
6
|
+
*
|
|
7
|
+
* @stability experimental
|
|
8
|
+
*/
|
|
9
|
+
export declare class AlertStoreUnavailableError extends Error {
|
|
10
|
+
readonly cause?: unknown | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* @param message - why the store could not be used.
|
|
13
|
+
* @param cause - the underlying error, if any.
|
|
14
|
+
*/
|
|
15
|
+
constructor(message: string, cause?: unknown | undefined);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* One schema issue of a refused config.
|
|
19
|
+
*
|
|
20
|
+
* @stability experimental
|
|
21
|
+
*/
|
|
22
|
+
export interface AlertConfigIssue {
|
|
23
|
+
/** Dotted path of the offending value. */
|
|
24
|
+
path: string;
|
|
25
|
+
/** What is wrong with it. */
|
|
26
|
+
message: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A rule's config does not match its kind's schema (on write), or a kind id
|
|
30
|
+
* nobody registered.
|
|
31
|
+
*
|
|
32
|
+
* @stability experimental
|
|
33
|
+
*/
|
|
34
|
+
export declare class AlertConfigError extends Error {
|
|
35
|
+
readonly code: string;
|
|
36
|
+
readonly issues?: ReadonlyArray<AlertConfigIssue> | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* @param code - an `ALERT_ERROR_CODES` value.
|
|
39
|
+
* @param message - what is wrong.
|
|
40
|
+
* @param issues - the schema issues, when the config failed validation.
|
|
41
|
+
*/
|
|
42
|
+
constructor(code: string, message: string, issues?: ReadonlyArray<AlertConfigIssue> | undefined);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=alerts.errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.errors.d.ts","sourceRoot":"","sources":["../../src/alerts/alerts.errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAKtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IAJrD;;;OAGG;gBACS,OAAO,EAAE,MAAM,EAAW,KAAK,CAAC,EAAE,OAAO,YAAA;CAItD;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IAM7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAmB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC;IALrG;;;;OAIG;gBACkB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAW,MAAM,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,YAAA;CAItG"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AlertConfigError = exports.AlertStoreUnavailableError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The telemetry store cannot be queried right now (not configured, disabled,
|
|
6
|
+
* unreachable, timed out). A kind throws it; the evaluator records it on the
|
|
7
|
+
* rule (`lastError`) and leaves the rule's incidents untouched, so a store
|
|
8
|
+
* outage never resolves, flaps or fires anything by itself.
|
|
9
|
+
*
|
|
10
|
+
* @stability experimental
|
|
11
|
+
*/
|
|
12
|
+
class AlertStoreUnavailableError extends Error {
|
|
13
|
+
cause;
|
|
14
|
+
/**
|
|
15
|
+
* @param message - why the store could not be used.
|
|
16
|
+
* @param cause - the underlying error, if any.
|
|
17
|
+
*/
|
|
18
|
+
constructor(message, cause) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.cause = cause;
|
|
21
|
+
this.name = 'AlertStoreUnavailableError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.AlertStoreUnavailableError = AlertStoreUnavailableError;
|
|
25
|
+
/**
|
|
26
|
+
* A rule's config does not match its kind's schema (on write), or a kind id
|
|
27
|
+
* nobody registered.
|
|
28
|
+
*
|
|
29
|
+
* @stability experimental
|
|
30
|
+
*/
|
|
31
|
+
class AlertConfigError extends Error {
|
|
32
|
+
code;
|
|
33
|
+
issues;
|
|
34
|
+
/**
|
|
35
|
+
* @param code - an `ALERT_ERROR_CODES` value.
|
|
36
|
+
* @param message - what is wrong.
|
|
37
|
+
* @param issues - the schema issues, when the config failed validation.
|
|
38
|
+
*/
|
|
39
|
+
constructor(code, message, issues) {
|
|
40
|
+
super(message);
|
|
41
|
+
this.code = code;
|
|
42
|
+
this.issues = issues;
|
|
43
|
+
this.name = 'AlertConfigError';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.AlertConfigError = AlertConfigError;
|
|
47
|
+
//# sourceMappingURL=alerts.errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.errors.js","sourceRoot":"","sources":["../../src/alerts/alerts.errors.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,MAAa,0BAA2B,SAAQ,KAAK;IAKb;IAJtC;;;OAGG;IACH,YAAY,OAAe,EAAW,KAAe;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,UAAK,GAAL,KAAK,CAAU;QAEnD,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AATD,gEASC;AAcD;;;;;GAKG;AACH,MAAa,gBAAiB,SAAQ,KAAK;IAMpB;IAAwC;IAL7D;;;;OAIG;IACH,YAAqB,IAAY,EAAE,OAAe,EAAW,MAAwC;QACnG,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,SAAI,GAAJ,IAAI,CAAQ;QAA4B,WAAM,GAAN,MAAM,CAAkC;QAEnG,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAVD,4CAUC"}
|