@marinoscar/platform-api 0.1.0-next.19 → 0.1.0-next.21
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 +24 -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 +333 -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,60 @@
|
|
|
1
|
+
import { OnModuleInit } from '@nestjs/common';
|
|
2
|
+
import type { BatchObservableResult, ObservableGauge } from '@opentelemetry/api';
|
|
3
|
+
import { MetricsHostService, type AppGaugeContext, type AppMetricDef } from '../otel-core/index';
|
|
4
|
+
import type { AlertsPrisma } from './data/alerts-db';
|
|
5
|
+
/**
|
|
6
|
+
* One alerts metric's declaration, its `key` a literal.
|
|
7
|
+
*
|
|
8
|
+
* @typeParam Key - the metric's code key.
|
|
9
|
+
* @stability experimental
|
|
10
|
+
*/
|
|
11
|
+
export interface AlertsAppMetricDef<Key extends string> extends AppMetricDef {
|
|
12
|
+
/** The metric's code key. */
|
|
13
|
+
readonly key: Key;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The alerts metrics: the `app.alerts.transitions` counter (`to` = `fired` or
|
|
17
|
+
* `resolved`, and the severity) and the `app.alerts.firing` gauge (incidents
|
|
18
|
+
* firing now, by severity). Neither carries a rule or label value.
|
|
19
|
+
* Register with `registerAppMetrics(ALERTS_APP_METRICS)` before the metrics
|
|
20
|
+
* host is built.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* registerAppMetrics([...PLATFORM_APP_METRICS, ...ALERTS_APP_METRICS]);
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @stability experimental
|
|
28
|
+
*/
|
|
29
|
+
export declare const ALERTS_APP_METRICS: readonly [AlertsAppMetricDef<'alertsTransitions'>, AlertsAppMetricDef<'alertsFiring'>];
|
|
30
|
+
/** How long one firing count is reused across collections. */
|
|
31
|
+
export declare const ALERTS_GAUGE_CACHE_TTL_MS = 30000;
|
|
32
|
+
/**
|
|
33
|
+
* Records the transition counter and observes the firing gauge. Never throws:
|
|
34
|
+
* a metrics failure must not fail an evaluation.
|
|
35
|
+
*
|
|
36
|
+
* @stability experimental
|
|
37
|
+
*/
|
|
38
|
+
export declare class AlertsMetrics implements OnModuleInit {
|
|
39
|
+
private readonly prisma;
|
|
40
|
+
private readonly logger;
|
|
41
|
+
private readonly metrics;
|
|
42
|
+
private registered;
|
|
43
|
+
private cache;
|
|
44
|
+
constructor(prisma: AlertsPrisma, metrics?: MetricsHostService);
|
|
45
|
+
/** Registers the firing gauge. */
|
|
46
|
+
onModuleInit(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Counts one transition.
|
|
49
|
+
*
|
|
50
|
+
* @param to - `fired` or `resolved`.
|
|
51
|
+
* @param level - the incident's severity.
|
|
52
|
+
*/
|
|
53
|
+
transition(to: 'fired' | 'resolved', level: string): void;
|
|
54
|
+
/** Registers the gauge once, only when gauges are on for this process. */
|
|
55
|
+
registerGauge(): void;
|
|
56
|
+
/** The batch callback. Never throws. */
|
|
57
|
+
observe(result: BatchObservableResult, gauge: ObservableGauge, context: AppGaugeContext): Promise<void>;
|
|
58
|
+
private counts;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=alerts.metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.metrics.d.ts","sourceRoot":"","sources":["../../src/alerts/alerts.metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,YAAY,EAAY,MAAM,gBAAgB,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIjF,OAAO,EACL,kBAAkB,EAElB,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,GAAG,SAAS,MAAM,CAAE,SAAQ,YAAY;IAC1E,6BAA6B;IAC7B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAiBrH,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD;;;;;GAKG;AACH,qBACa,aAAc,YAAW,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANlD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAqE;gBAGtC,MAAM,EAAE,YAAY,EAClD,OAAO,CAAC,EAAE,kBAAkB;IAK1C,kCAAkC;IAClC,YAAY,IAAI,IAAI;IAIpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQzD,0EAA0E;IAC1E,aAAa,IAAI,IAAI;IAarB,wCAAwC;IAClC,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAU/F,MAAM;CASrB"}
|
|
@@ -0,0 +1,135 @@
|
|
|
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 AlertsMetrics_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.AlertsMetrics = exports.ALERTS_GAUGE_CACHE_TTL_MS = exports.ALERTS_APP_METRICS = void 0;
|
|
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 index_2 = require("../otel-core/index");
|
|
21
|
+
const severity = { kind: 'enum', values: [...alerts_1.ALERT_SEVERITIES] };
|
|
22
|
+
/**
|
|
23
|
+
* The alerts metrics: the `app.alerts.transitions` counter (`to` = `fired` or
|
|
24
|
+
* `resolved`, and the severity) and the `app.alerts.firing` gauge (incidents
|
|
25
|
+
* firing now, by severity). Neither carries a rule or label value.
|
|
26
|
+
* Register with `registerAppMetrics(ALERTS_APP_METRICS)` before the metrics
|
|
27
|
+
* host is built.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* registerAppMetrics([...PLATFORM_APP_METRICS, ...ALERTS_APP_METRICS]);
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @stability experimental
|
|
35
|
+
*/
|
|
36
|
+
exports.ALERTS_APP_METRICS = [
|
|
37
|
+
{
|
|
38
|
+
key: 'alertsTransitions',
|
|
39
|
+
name: 'app.alerts.transitions',
|
|
40
|
+
kind: 'counter',
|
|
41
|
+
unit: '{transition}',
|
|
42
|
+
description: 'Alert incidents that fired or resolved, by direction and severity.',
|
|
43
|
+
attributes: { to: { kind: 'enum', values: ['fired', 'resolved'] }, severity },
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: 'alertsFiring',
|
|
47
|
+
name: 'app.alerts.firing',
|
|
48
|
+
kind: 'gauge',
|
|
49
|
+
unit: '{incident}',
|
|
50
|
+
description: 'Alert incidents firing now, by severity.',
|
|
51
|
+
attributes: { severity },
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
/** How long one firing count is reused across collections. */
|
|
55
|
+
exports.ALERTS_GAUGE_CACHE_TTL_MS = 30_000;
|
|
56
|
+
/**
|
|
57
|
+
* Records the transition counter and observes the firing gauge. Never throws:
|
|
58
|
+
* a metrics failure must not fail an evaluation.
|
|
59
|
+
*
|
|
60
|
+
* @stability experimental
|
|
61
|
+
*/
|
|
62
|
+
let AlertsMetrics = AlertsMetrics_1 = class AlertsMetrics {
|
|
63
|
+
prisma;
|
|
64
|
+
logger = new common_1.Logger(AlertsMetrics_1.name);
|
|
65
|
+
metrics;
|
|
66
|
+
registered = false;
|
|
67
|
+
cache = null;
|
|
68
|
+
constructor(prisma, metrics) {
|
|
69
|
+
this.prisma = prisma;
|
|
70
|
+
this.metrics = metrics ?? new index_2.MetricsHostService();
|
|
71
|
+
}
|
|
72
|
+
/** Registers the firing gauge. */
|
|
73
|
+
onModuleInit() {
|
|
74
|
+
this.registerGauge();
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Counts one transition.
|
|
78
|
+
*
|
|
79
|
+
* @param to - `fired` or `resolved`.
|
|
80
|
+
* @param level - the incident's severity.
|
|
81
|
+
*/
|
|
82
|
+
transition(to, level) {
|
|
83
|
+
try {
|
|
84
|
+
this.metrics.add('alertsTransitions', 1, { to, severity: level });
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
this.logger.debug(`Could not count an alert transition: ${error instanceof Error ? error.message : String(error)}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/** Registers the gauge once, only when gauges are on for this process. */
|
|
91
|
+
registerGauge() {
|
|
92
|
+
if (this.registered)
|
|
93
|
+
return;
|
|
94
|
+
try {
|
|
95
|
+
const context = this.metrics.gaugeContext();
|
|
96
|
+
if (!context)
|
|
97
|
+
return;
|
|
98
|
+
const gauge = (0, index_2.createRegisteredGauge)(context.meter, 'alertsFiring');
|
|
99
|
+
context.meter.addBatchObservableCallback((result) => this.observe(result, gauge, context), [gauge]);
|
|
100
|
+
this.registered = true;
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
this.logger.debug(`Could not register the alerts gauge: ${error instanceof Error ? error.message : String(error)}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/** The batch callback. Never throws. */
|
|
107
|
+
async observe(result, gauge, context) {
|
|
108
|
+
try {
|
|
109
|
+
if (!context.gateOpen())
|
|
110
|
+
return;
|
|
111
|
+
const counts = await this.counts(context.now());
|
|
112
|
+
for (const level of alerts_1.ALERT_SEVERITIES)
|
|
113
|
+
result.observe(gauge, counts[level], { severity: level });
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
this.logger.debug(`Alerts gauge callback skipped: ${error instanceof Error ? error.message : String(error)}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async counts(nowMs) {
|
|
120
|
+
if (this.cache && nowMs - this.cache.at < exports.ALERTS_GAUGE_CACHE_TTL_MS)
|
|
121
|
+
return this.cache.value;
|
|
122
|
+
const entries = await Promise.all(alerts_1.ALERT_SEVERITIES.map(async (level) => [level, await this.prisma.alertIncident.count({ where: { state: 'firing', severity: level } })]));
|
|
123
|
+
const value = Object.fromEntries(entries);
|
|
124
|
+
this.cache = { at: nowMs, value };
|
|
125
|
+
return value;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
exports.AlertsMetrics = AlertsMetrics;
|
|
129
|
+
exports.AlertsMetrics = AlertsMetrics = AlertsMetrics_1 = __decorate([
|
|
130
|
+
(0, common_1.Injectable)(),
|
|
131
|
+
__param(0, (0, common_1.Inject)(index_1.PLATFORM_PRISMA)),
|
|
132
|
+
__param(1, (0, common_1.Optional)()),
|
|
133
|
+
__metadata("design:paramtypes", [Object, index_2.MetricsHostService])
|
|
134
|
+
], AlertsMetrics);
|
|
135
|
+
//# sourceMappingURL=alerts.metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.metrics.js","sourceRoot":"","sources":["../../src/alerts/alerts.metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoF;AAEpF,iEAA4F;AAE5F,yCAAgD;AAChD,8CAM4B;AAG5B,MAAM,QAAQ,GAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,yBAAgB,CAAC,EAAE,CAAC;AAarF;;;;;;;;;;;;;GAaG;AACU,QAAA,kBAAkB,GAA2F;IACxH;QACE,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oEAAoE;QACjF,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE;KAC9E;IACD;QACE,GAAG,EAAE,cAAc;QACnB,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0CAA0C;QACvD,UAAU,EAAE,EAAE,QAAQ,EAAE;KACzB;CACF,CAAC;AAEF,8DAA8D;AACjD,QAAA,yBAAyB,GAAG,MAAM,CAAC;AAEhD;;;;;GAKG;AAEI,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAOoB;IAN3B,MAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CAAqB;IACrC,UAAU,GAAG,KAAK,CAAC;IACnB,KAAK,GAAgE,IAAI,CAAC;IAElF,YAC4C,MAAoB,EAClD,OAA4B;QADE,WAAM,GAAN,MAAM,CAAc;QAG9D,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,0BAAkB,EAAE,CAAC;IACrD,CAAC;IAED,kCAAkC;IAClC,YAAY;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,EAAwB,EAAE,KAAa;QAChD,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAA4B,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,aAAa;QACX,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,KAAK,GAAG,IAAA,6BAAqB,EAAC,OAAO,CAAC,KAAK,EAAE,cAAuB,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,OAAO,CAAC,MAA6B,EAAE,KAAsB,EAAE,OAAwB;QAC3F,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAAE,OAAO;YAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,KAAK,MAAM,KAAK,IAAI,yBAAgB;gBAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,KAAa;QAChC,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,iCAAyB;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,yBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAU,CAAC,CAChJ,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAkC,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAlEY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAQR,WAAA,IAAA,eAAM,EAAC,uBAAe,CAAC,CAAA;IACvB,WAAA,IAAA,iBAAQ,GAAE,CAAA;6CAAW,0BAAkB;GAR/B,aAAa,CAkEzB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type DynamicModule } from '@nestjs/common';
|
|
2
|
+
import { type AlertsModuleOptions } from './alerts.options';
|
|
3
|
+
/**
|
|
4
|
+
* The alerts slice: rules over telemetry metrics, worker-node events and
|
|
5
|
+
* fleet health; incidents with a pending/firing/resolved state machine;
|
|
6
|
+
* notifications and optional webhooks on a transition; the admin routes under
|
|
7
|
+
* `/api/admin/alerts`.
|
|
8
|
+
*
|
|
9
|
+
* @stability experimental
|
|
10
|
+
*/
|
|
11
|
+
export declare class AlertsModule {
|
|
12
|
+
/**
|
|
13
|
+
* The slice for one app. Requires the core `PlatformHostModule`
|
|
14
|
+
* (`PLATFORM_PRISMA`), the global settings and notifications modules, the
|
|
15
|
+
* jobs module (for `JobsService` and the handler registry), the composed
|
|
16
|
+
* `alerts` fragment, and `registerAlertsEmailTemplates()` plus
|
|
17
|
+
* `registerNotifications(ALERTS_NOTIFICATIONS)` in the app's notification
|
|
18
|
+
* manifest. Pass the configured telemetry module in `imports` to enable the
|
|
19
|
+
* metric and verdict kinds; without it they report the store unavailable.
|
|
20
|
+
*
|
|
21
|
+
* @param options - see {@link AlertsModuleOptions}.
|
|
22
|
+
* @returns the dynamic module. It exports the rules, incidents and evaluation services.
|
|
23
|
+
* @throws Error when an option is out of range.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* export const alertsModule = AlertsModule.forRoot({ imports: [TelemetryModule] });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @extensionPoint option
|
|
31
|
+
* @stability experimental
|
|
32
|
+
*/
|
|
33
|
+
static forRoot(options?: AlertsModuleOptions): DynamicModule;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=alerts.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.module.d.ts","sourceRoot":"","sources":["../../src/alerts/alerts.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAA4B,MAAM,gBAAgB,CAAC;AAatF,OAAO,EAA8B,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQxF;;;;;;;GAOG;AACH,qBACa,YAAY;IACvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa;CA+BjE"}
|
|
@@ -0,0 +1,96 @@
|
|
|
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 AlertsModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.AlertsModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const index_1 = require("../nodes/index");
|
|
13
|
+
const alerts_context_service_1 = require("./alerts-context.service");
|
|
14
|
+
const alerts_admin_controller_1 = require("./alerts-admin.controller");
|
|
15
|
+
const alerts_dispatch_service_1 = require("./alerts-dispatch.service");
|
|
16
|
+
const alerts_evaluation_service_1 = require("./alerts-evaluation.service");
|
|
17
|
+
const alerts_event_listener_1 = require("./alerts-event.listener");
|
|
18
|
+
const alerts_incidents_service_1 = require("./alerts-incidents.service");
|
|
19
|
+
const alerts_rules_service_1 = require("./alerts-rules.service");
|
|
20
|
+
const alerts_seed_service_1 = require("./alerts-seed.service");
|
|
21
|
+
const alerts_constants_1 = require("./alerts.constants");
|
|
22
|
+
const alerts_metrics_1 = require("./alerts.metrics");
|
|
23
|
+
const alerts_options_1 = require("./alerts.options");
|
|
24
|
+
const alerts_evaluate_event_handler_1 = require("./handlers/alerts-evaluate-event.handler");
|
|
25
|
+
const alerts_evaluate_handler_1 = require("./handlers/alerts-evaluate.handler");
|
|
26
|
+
const alerts_incidents_purge_handler_1 = require("./handlers/alerts-incidents-purge.handler");
|
|
27
|
+
const builtin_kinds_1 = require("./kinds/builtin-kinds");
|
|
28
|
+
const alerts_evaluate_task_1 = require("./tasks/alerts-evaluate.task");
|
|
29
|
+
const alerts_purge_task_1 = require("./tasks/alerts-purge.task");
|
|
30
|
+
/**
|
|
31
|
+
* The alerts slice: rules over telemetry metrics, worker-node events and
|
|
32
|
+
* fleet health; incidents with a pending/firing/resolved state machine;
|
|
33
|
+
* notifications and optional webhooks on a transition; the admin routes under
|
|
34
|
+
* `/api/admin/alerts`.
|
|
35
|
+
*
|
|
36
|
+
* @stability experimental
|
|
37
|
+
*/
|
|
38
|
+
let AlertsModule = AlertsModule_1 = class AlertsModule {
|
|
39
|
+
/**
|
|
40
|
+
* The slice for one app. Requires the core `PlatformHostModule`
|
|
41
|
+
* (`PLATFORM_PRISMA`), the global settings and notifications modules, the
|
|
42
|
+
* jobs module (for `JobsService` and the handler registry), the composed
|
|
43
|
+
* `alerts` fragment, and `registerAlertsEmailTemplates()` plus
|
|
44
|
+
* `registerNotifications(ALERTS_NOTIFICATIONS)` in the app's notification
|
|
45
|
+
* manifest. Pass the configured telemetry module in `imports` to enable the
|
|
46
|
+
* metric and verdict kinds; without it they report the store unavailable.
|
|
47
|
+
*
|
|
48
|
+
* @param options - see {@link AlertsModuleOptions}.
|
|
49
|
+
* @returns the dynamic module. It exports the rules, incidents and evaluation services.
|
|
50
|
+
* @throws Error when an option is out of range.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* export const alertsModule = AlertsModule.forRoot({ imports: [TelemetryModule] });
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @extensionPoint option
|
|
58
|
+
* @stability experimental
|
|
59
|
+
*/
|
|
60
|
+
static forRoot(options = {}) {
|
|
61
|
+
const resolved = (0, alerts_options_1.resolveAlertsModuleOptions)(options);
|
|
62
|
+
(0, builtin_kinds_1.registerBuiltinAlertKinds)();
|
|
63
|
+
const tasks = [
|
|
64
|
+
...(resolved.evaluateTask ? [alerts_evaluate_task_1.AlertsEvaluateTask] : []),
|
|
65
|
+
...(resolved.purgeTask ? [alerts_purge_task_1.AlertsPurgeTask] : []),
|
|
66
|
+
];
|
|
67
|
+
const providers = [
|
|
68
|
+
{ provide: alerts_constants_1.ALERTS_OPTIONS, useValue: resolved },
|
|
69
|
+
index_1.NodeLifecycleService,
|
|
70
|
+
alerts_metrics_1.AlertsMetrics,
|
|
71
|
+
alerts_context_service_1.AlertContextService,
|
|
72
|
+
alerts_dispatch_service_1.AlertsDispatchService,
|
|
73
|
+
alerts_evaluation_service_1.AlertsEvaluationService,
|
|
74
|
+
alerts_rules_service_1.AlertsRulesService,
|
|
75
|
+
alerts_incidents_service_1.AlertsIncidentsService,
|
|
76
|
+
alerts_seed_service_1.AlertsSeedService,
|
|
77
|
+
alerts_event_listener_1.AlertsEventListener,
|
|
78
|
+
alerts_evaluate_handler_1.AlertsEvaluateHandler,
|
|
79
|
+
alerts_evaluate_event_handler_1.AlertsEvaluateEventHandler,
|
|
80
|
+
alerts_incidents_purge_handler_1.AlertsIncidentsPurgeHandler,
|
|
81
|
+
...tasks,
|
|
82
|
+
];
|
|
83
|
+
return {
|
|
84
|
+
module: AlertsModule_1,
|
|
85
|
+
imports: [...resolved.imports],
|
|
86
|
+
controllers: [alerts_admin_controller_1.AlertsAdminController],
|
|
87
|
+
providers,
|
|
88
|
+
exports: [alerts_constants_1.ALERTS_OPTIONS, alerts_rules_service_1.AlertsRulesService, alerts_incidents_service_1.AlertsIncidentsService, alerts_evaluation_service_1.AlertsEvaluationService, alerts_metrics_1.AlertsMetrics],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
exports.AlertsModule = AlertsModule;
|
|
93
|
+
exports.AlertsModule = AlertsModule = AlertsModule_1 = __decorate([
|
|
94
|
+
(0, common_1.Module)({})
|
|
95
|
+
], AlertsModule);
|
|
96
|
+
//# sourceMappingURL=alerts.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.module.js","sourceRoot":"","sources":["../../src/alerts/alerts.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAsF;AAEtF,0CAAsD;AACtD,qEAA+D;AAC/D,uEAAkE;AAClE,uEAAkE;AAClE,2EAAsE;AACtE,mEAA8D;AAC9D,yEAAoE;AACpE,iEAA4D;AAC5D,+DAA0D;AAC1D,yDAAoD;AACpD,qDAAiD;AACjD,qDAAwF;AACxF,4FAAsF;AACtF,gFAA2E;AAC3E,8FAAwF;AACxF,yDAAkE;AAClE,uEAAkE;AAClE,iEAA4D;AAE5D;;;;;;;GAOG;AAEI,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,OAAO,CAAC,UAA+B,EAAE;QAC9C,MAAM,QAAQ,GAAG,IAAA,2CAA0B,EAAC,OAAO,CAAC,CAAC;QACrD,IAAA,yCAAyB,GAAE,CAAC;QAC5B,MAAM,KAAK,GAAoB;YAC7B,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,yCAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mCAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC;QACF,MAAM,SAAS,GAAe;YAC5B,EAAE,OAAO,EAAE,iCAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC/C,4BAAoB;YACpB,8BAAa;YACb,4CAAmB;YACnB,+CAAqB;YACrB,mDAAuB;YACvB,yCAAkB;YAClB,iDAAsB;YACtB,uCAAiB;YACjB,2CAAmB;YACnB,+CAAqB;YACrB,0DAA0B;YAC1B,4DAA2B;YAC3B,GAAG,KAAK;SACT,CAAC;QACF,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC9B,WAAW,EAAE,CAAC,+CAAqB,CAAC;YACpC,SAAS;YACT,OAAO,EAAE,CAAC,iCAAc,EAAE,yCAAkB,EAAE,iDAAsB,EAAE,mDAAuB,EAAE,8BAAa,CAAC;SAC9G,CAAC;IACJ,CAAC;CACF,CAAA;AArDY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAqDxB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { DynamicModule, ForwardReference, Type } from '@nestjs/common';
|
|
2
|
+
import { ALERTS_OPTIONS } from './alerts.constants';
|
|
3
|
+
export { ALERTS_OPTIONS };
|
|
4
|
+
/**
|
|
5
|
+
* A module the slice needs from the app: the configured telemetry module
|
|
6
|
+
* (`TelemetryQueryService`, `TELEMETRY_SQL_DIALECT`, `TelemetrySchemaService`,
|
|
7
|
+
* `TelemetryDashboardService`), when the app has one.
|
|
8
|
+
*
|
|
9
|
+
* @stability experimental
|
|
10
|
+
*/
|
|
11
|
+
export type AlertsImport = Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference;
|
|
12
|
+
/**
|
|
13
|
+
* `AlertsModule.forRoot` options.
|
|
14
|
+
*
|
|
15
|
+
* @extensionPoint option
|
|
16
|
+
* @stability experimental
|
|
17
|
+
*/
|
|
18
|
+
export interface AlertsModuleOptions {
|
|
19
|
+
/** Which crons this process runs. Each defaults to on. */
|
|
20
|
+
tasks?: {
|
|
21
|
+
/** The every-minute evaluation (`alerts.evaluate`). */
|
|
22
|
+
evaluate?: boolean;
|
|
23
|
+
/** The daily purge of resolved incidents (`alerts.incidents_purge`). */
|
|
24
|
+
purge?: boolean;
|
|
25
|
+
};
|
|
26
|
+
/** Days a RESOLVED incident is kept (whole days, 1 to 3650). Default 90. */
|
|
27
|
+
incidentRetentionDays?: number;
|
|
28
|
+
/** Milliseconds one rule may take to evaluate before it is abandoned (1 000 to 110 000). Default 20 000. */
|
|
29
|
+
evaluationBudgetMs?: number;
|
|
30
|
+
/** Seed the disabled starter rules at start. Default `true`. */
|
|
31
|
+
seedStarterRules?: boolean;
|
|
32
|
+
/** Modules to import: normally the app's configured telemetry module. */
|
|
33
|
+
imports?: AlertsImport[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The options after defaults and validation.
|
|
37
|
+
*
|
|
38
|
+
* @stability experimental
|
|
39
|
+
*/
|
|
40
|
+
export interface ResolvedAlertsModuleOptions {
|
|
41
|
+
/** Whether the evaluation cron runs here. */
|
|
42
|
+
readonly evaluateTask: boolean;
|
|
43
|
+
/** Whether the purge cron runs here. */
|
|
44
|
+
readonly purgeTask: boolean;
|
|
45
|
+
/** Retention of resolved incidents, in days. */
|
|
46
|
+
readonly incidentRetentionDays: number;
|
|
47
|
+
/** Per-rule evaluation budget, in milliseconds. */
|
|
48
|
+
readonly evaluationBudgetMs: number;
|
|
49
|
+
/** Whether the starter rules are seeded. */
|
|
50
|
+
readonly seedStarterRules: boolean;
|
|
51
|
+
/** The imports. */
|
|
52
|
+
readonly imports: readonly AlertsImport[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Applies the defaults and validates.
|
|
56
|
+
*
|
|
57
|
+
* @param options - the app's options.
|
|
58
|
+
* @returns the resolved, frozen options.
|
|
59
|
+
* @throws Error naming the option when one is out of range.
|
|
60
|
+
*
|
|
61
|
+
* @stability experimental
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveAlertsModuleOptions(options?: AlertsModuleOptions): ResolvedAlertsModuleOptions;
|
|
64
|
+
//# sourceMappingURL=alerts.options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.options.d.ts","sourceRoot":"","sources":["../../src/alerts/alerts.options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC;AAErG;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,KAAK,CAAC,EAAE;QACN,uDAAuD;QACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,wEAAwE;QACxE,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4GAA4G;IAC5G,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yEAAyE;IACzE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,mDAAmD;IACnD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,4CAA4C;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,mBAAmB;IACnB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,mBAAwB,GAAG,2BAA2B,CAiBzG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALERTS_OPTIONS = void 0;
|
|
4
|
+
exports.resolveAlertsModuleOptions = resolveAlertsModuleOptions;
|
|
5
|
+
const alerts_constants_1 = require("./alerts.constants");
|
|
6
|
+
Object.defineProperty(exports, "ALERTS_OPTIONS", { enumerable: true, get: function () { return alerts_constants_1.ALERTS_OPTIONS; } });
|
|
7
|
+
/**
|
|
8
|
+
* Applies the defaults and validates.
|
|
9
|
+
*
|
|
10
|
+
* @param options - the app's options.
|
|
11
|
+
* @returns the resolved, frozen options.
|
|
12
|
+
* @throws Error naming the option when one is out of range.
|
|
13
|
+
*
|
|
14
|
+
* @stability experimental
|
|
15
|
+
*/
|
|
16
|
+
function resolveAlertsModuleOptions(options = {}) {
|
|
17
|
+
const retention = options.incidentRetentionDays ?? 90;
|
|
18
|
+
if (!Number.isInteger(retention) || retention < 1 || retention > 3650) {
|
|
19
|
+
throw new Error(`AlertsModule.forRoot: incidentRetentionDays must be a whole number from 1 to 3650 (got ${retention})`);
|
|
20
|
+
}
|
|
21
|
+
const budget = options.evaluationBudgetMs ?? 20_000;
|
|
22
|
+
if (!Number.isInteger(budget) || budget < 1_000 || budget > 110_000) {
|
|
23
|
+
throw new Error(`AlertsModule.forRoot: evaluationBudgetMs must be a whole number from 1000 to 110000 (got ${budget})`);
|
|
24
|
+
}
|
|
25
|
+
return Object.freeze({
|
|
26
|
+
evaluateTask: options.tasks?.evaluate !== false,
|
|
27
|
+
purgeTask: options.tasks?.purge !== false,
|
|
28
|
+
incidentRetentionDays: retention,
|
|
29
|
+
evaluationBudgetMs: budget,
|
|
30
|
+
seedStarterRules: options.seedStarterRules !== false,
|
|
31
|
+
imports: Object.freeze([...(options.imports ?? [])]),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=alerts.options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.options.js","sourceRoot":"","sources":["../../src/alerts/alerts.options.ts"],"names":[],"mappings":";;;AAoEA,gEAiBC;AAnFD,yDAAoD;AAE3C,+FAFA,iCAAc,OAEA;AAuDvB;;;;;;;;GAQG;AACH,SAAgB,0BAA0B,CAAC,UAA+B,EAAE;IAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,0FAA0F,SAAS,GAAG,CAAC,CAAC;IAC1H,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,IAAI,MAAM,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,KAAK,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,4FAA4F,MAAM,GAAG,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,KAAK,KAAK;QAC/C,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK;QACzC,qBAAqB,EAAE,SAAS;QAChC,kBAAkB,EAAE,MAAM;QAC1B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,KAAK,KAAK;QACpD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;KACrD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { PermissionDeclaration } from '../core/index';
|
|
2
|
+
/**
|
|
3
|
+
* One permission this slice declares.
|
|
4
|
+
*
|
|
5
|
+
* @typeParam Id - the permission string.
|
|
6
|
+
*
|
|
7
|
+
* @stability experimental
|
|
8
|
+
*/
|
|
9
|
+
export type AlertsPermissionDeclaration<Id extends string = string> = PermissionDeclaration<Id>;
|
|
10
|
+
/**
|
|
11
|
+
* The alerts slice's permissions, keyed by the `PERMISSIONS` constant name the
|
|
12
|
+
* reference app derives from them. System scope, granted to `admin`.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* registerPermissions(ALERTS_PERMISSIONS);
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @stability experimental
|
|
20
|
+
*/
|
|
21
|
+
export declare const ALERTS_PERMISSIONS: {
|
|
22
|
+
/** `alerts:read`: view alert rules, incidents and the firing summary. */
|
|
23
|
+
readonly ALERTS_READ: AlertsPermissionDeclaration<'alerts:read'>;
|
|
24
|
+
/** `alerts:write`: create, edit and delete rules; test them; acknowledge incidents. */
|
|
25
|
+
readonly ALERTS_WRITE: AlertsPermissionDeclaration<'alerts:write'>;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=alerts.permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.permissions.d.ts","sourceRoot":"","sources":["../../src/alerts/alerts.permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,MAAM,2BAA2B,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAEhG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;IACjE,uFAAuF;IACvF,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC,cAAc,CAAC,CAAC;CAcpE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALERTS_PERMISSIONS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The alerts slice's permissions, keyed by the `PERMISSIONS` constant name the
|
|
6
|
+
* reference app derives from them. System scope, granted to `admin`.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* registerPermissions(ALERTS_PERMISSIONS);
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @stability experimental
|
|
14
|
+
*/
|
|
15
|
+
exports.ALERTS_PERMISSIONS = {
|
|
16
|
+
ALERTS_READ: {
|
|
17
|
+
id: 'alerts:read',
|
|
18
|
+
description: 'View alert rules, incidents and the firing summary',
|
|
19
|
+
scope: 'system',
|
|
20
|
+
defaultGrants: ['admin'],
|
|
21
|
+
},
|
|
22
|
+
ALERTS_WRITE: {
|
|
23
|
+
id: 'alerts:write',
|
|
24
|
+
description: 'Create, edit and delete alert rules; test them; acknowledge incidents',
|
|
25
|
+
scope: 'system',
|
|
26
|
+
defaultGrants: ['admin'],
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=alerts.permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.permissions.js","sourceRoot":"","sources":["../../src/alerts/alerts.permissions.ts"],"names":[],"mappings":";;;AAWA;;;;;;;;;;GAUG;AACU,QAAA,kBAAkB,GAK3B;IACF,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,WAAW,EAAE,oDAAoD;QACjE,KAAK,EAAE,QAAQ;QACf,aAAa,EAAE,CAAC,OAAO,CAAC;KACzB;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,WAAW,EAAE,uEAAuE;QACpF,KAAK,EAAE,QAAQ;QACf,aAAa,EAAE,CAAC,OAAO,CAAC;KACzB;CACF,CAAC"}
|