@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,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// `nodes.node.event`: a worker node reported an event about itself (issue #1045)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// A heartbeat may carry events the node observed (power source changed, battery
|
|
7
|
+
// low, woke from sleep). `NodeEventsService` persists them to
|
|
8
|
+
// `worker_node_events`, then emits this event once per ACCEPTED row, AFTER the
|
|
9
|
+
// write committed and outside any transaction. The slice raises no
|
|
10
|
+
// notification itself: the notifications slice sits above it, so the app
|
|
11
|
+
// listens and dispatches, exactly as it does for `nodes.node.offline`.
|
|
12
|
+
//
|
|
13
|
+
// ⚠ A LISTENER MUST NOT DO I/O IN ITS BODY beyond a fire-and-forget
|
|
14
|
+
// notification dispatch (`on-event-no-io` conformance suite), and must not
|
|
15
|
+
// throw: the heartbeat has already succeeded. The payload is the node's
|
|
16
|
+
// self-report: untrusted, bounded by `nodeEventSchema`, never a credential.
|
|
17
|
+
// =============================================================================
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.NodeEventReportedEvent = exports.NODE_EVENT_REPORTED = void 0;
|
|
20
|
+
/**
|
|
21
|
+
* The `EventEmitter2` key. Permanent: a listener subscribes by string, so
|
|
22
|
+
* renaming it silently unsubscribes every listener.
|
|
23
|
+
*
|
|
24
|
+
* @stability stable
|
|
25
|
+
*/
|
|
26
|
+
exports.NODE_EVENT_REPORTED = 'nodes.node.event';
|
|
27
|
+
/**
|
|
28
|
+
* One event a node reported and the server accepted.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* @OnEvent(NODE_EVENT_REPORTED)
|
|
33
|
+
* handle(event: NodeEventReportedEvent): void {
|
|
34
|
+
* if (event.severity === 'critical') void this.notifications.notifyUser(event.ownerUserId, 'nodes.node_event', { ...event }).catch(log);
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @extensionPoint event
|
|
39
|
+
* @stability experimental
|
|
40
|
+
*/
|
|
41
|
+
class NodeEventReportedEvent {
|
|
42
|
+
nodeId;
|
|
43
|
+
nodeName;
|
|
44
|
+
ownerUserId;
|
|
45
|
+
type;
|
|
46
|
+
severity;
|
|
47
|
+
attrs;
|
|
48
|
+
occurredAt;
|
|
49
|
+
/**
|
|
50
|
+
* @param nodeId - the node.
|
|
51
|
+
* @param nodeName - its operator-facing name.
|
|
52
|
+
* @param ownerUserId - the user whose credential registered the node, or `null` when unknown.
|
|
53
|
+
* @param type - the dotted event type, e.g. `power.battery_low`.
|
|
54
|
+
* @param severity - `info`, `warning` or `critical`.
|
|
55
|
+
* @param attrs - the node's scalar attributes, `{}` when none.
|
|
56
|
+
* @param occurredAt - when it happened (the node's clock, clamped to the server's window).
|
|
57
|
+
*/
|
|
58
|
+
constructor(nodeId, nodeName, ownerUserId, type, severity, attrs, occurredAt) {
|
|
59
|
+
this.nodeId = nodeId;
|
|
60
|
+
this.nodeName = nodeName;
|
|
61
|
+
this.ownerUserId = ownerUserId;
|
|
62
|
+
this.type = type;
|
|
63
|
+
this.severity = severity;
|
|
64
|
+
this.attrs = attrs;
|
|
65
|
+
this.occurredAt = occurredAt;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.NodeEventReportedEvent = NodeEventReportedEvent;
|
|
69
|
+
//# sourceMappingURL=node-event.event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-event.event.js","sourceRoot":"","sources":["../../../src/nodes/events/node-event.event.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,8DAA8D;AAC9D,+EAA+E;AAC/E,mEAAmE;AACnE,yEAAyE;AACzE,uEAAuE;AACvE,EAAE;AACF,oEAAoE;AACpE,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,gFAAgF;;;AAEhF;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAa,sBAAsB;IAWf;IACA;IACA;IACA;IACA;IACA;IACA;IAhBlB;;;;;;;;OAQG;IACH,YACkB,MAAc,EACd,QAAgB,EAChB,WAA0B,EAC1B,IAAY,EACZ,QAAyC,EACzC,KAA0D,EAC1D,UAAgB;QANhB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;QAChB,gBAAW,GAAX,WAAW,CAAe;QAC1B,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAiC;QACzC,UAAK,GAAL,KAAK,CAAqD;QAC1D,eAAU,GAAV,UAAU,CAAM;IAC/B,CAAC;CACL;AAnBD,wDAmBC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { OnModuleInit } from '@nestjs/common';
|
|
2
|
+
import { type Job, JobHandler, JobHandlerRegistry, type JobsPrisma } from '../../jobs/index';
|
|
3
|
+
import { type ResolvedNodesModuleOptions } from '../nodes.options';
|
|
4
|
+
/**
|
|
5
|
+
* The handler key, and therefore the `Job.type` every purge row carries.
|
|
6
|
+
* PERMANENT: rows outlive handlers.
|
|
7
|
+
*
|
|
8
|
+
* @stability experimental
|
|
9
|
+
*/
|
|
10
|
+
export declare const NODE_EVENTS_PURGE_TYPE = "nodes.node_events_purge";
|
|
11
|
+
/**
|
|
12
|
+
* The `nodes.node_events_purge` handler: deletes node events older than the retention. Server-only.
|
|
13
|
+
*
|
|
14
|
+
* @stability experimental
|
|
15
|
+
*/
|
|
16
|
+
export declare class NodeEventsPurgeHandler implements JobHandler, OnModuleInit {
|
|
17
|
+
private readonly registry;
|
|
18
|
+
private readonly prisma;
|
|
19
|
+
private readonly options?;
|
|
20
|
+
private readonly logger;
|
|
21
|
+
readonly type = "nodes.node_events_purge";
|
|
22
|
+
readonly label = "Node events purge";
|
|
23
|
+
constructor(registry: JobHandlerRegistry, prisma: JobsPrisma, options?: ResolvedNodesModuleOptions | undefined);
|
|
24
|
+
/** Self-registration, the only wiring a handler needs. */
|
|
25
|
+
onModuleInit(): void;
|
|
26
|
+
/** Runs the purge. THROWS TO FAIL, like every handler. */
|
|
27
|
+
process(job: Job): Promise<void>;
|
|
28
|
+
/** Deletes every event received before the retention cutoff; returns the count. */
|
|
29
|
+
purge(now?: Date): Promise<number>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=node-events-purge.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-events-purge.handler.d.ts","sourceRoot":"","sources":["../../../src/nodes/handlers/node-events-purge.handler.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA8B,YAAY,EAAY,MAAM,gBAAgB,CAAC;AAGpF,OAAO,EAAE,KAAK,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAqD,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEtH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAEhE;;;;GAIG;AACH,qBACa,sBAAuB,YAAW,UAAU,EAAE,YAAY;IAQnE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACA,OAAO,CAAC,QAAQ,CAAC,MAAM;IACb,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAT9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAElE,QAAQ,CAAC,IAAI,6BAA0B;IAEvC,QAAQ,CAAC,KAAK,uBAAuB;gBAGlB,QAAQ,EAAE,kBAAkB,EACH,MAAM,EAAE,UAAU,EACR,OAAO,CAAC,EAAE,0BAA0B,YAAA;IAG1F,0DAA0D;IAC1D,YAAY,IAAI,IAAI;IAIpB,0DAA0D;IACpD,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtC,mFAAmF;IAC7E,KAAK,CAAC,GAAG,GAAE,IAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAQrD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// `nodes.node_events_purge`: the node event log's retention as a queue job (issue #1045)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// `worker_node_events` grows by at most 120 rows per node per hour (the
|
|
7
|
+
// ingestion cap), but a log nobody trims is a table that only grows. A daily
|
|
8
|
+
// cron (`NodeEventsPurgeTask`) enqueues this job; a worker slot deletes every
|
|
9
|
+
// row whose `receivedAt` is older than the retention (default 30 days,
|
|
10
|
+
// `NodesModule.forRoot({ nodeEventsRetentionDays })`).
|
|
11
|
+
//
|
|
12
|
+
// IDEMPOTENT, SO NO OVERLAP GUARD AND NO PROFILE: one `deleteMany` on an
|
|
13
|
+
// indexed column; two workers racing produce one delete and one no-op.
|
|
14
|
+
//
|
|
15
|
+
// SERVER-ONLY BY DERIVATION: neither `nodeResultSchema` nor `persistNodeResult`.
|
|
16
|
+
// A node must never be able to delete the log that describes it.
|
|
17
|
+
// =============================================================================
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
25
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
26
|
+
};
|
|
27
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
28
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
29
|
+
};
|
|
30
|
+
var NodeEventsPurgeHandler_1;
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.NodeEventsPurgeHandler = exports.NODE_EVENTS_PURGE_TYPE = void 0;
|
|
33
|
+
const common_1 = require("@nestjs/common");
|
|
34
|
+
const index_1 = require("../../core/index");
|
|
35
|
+
const index_2 = require("../../jobs/index");
|
|
36
|
+
const nodes_options_1 = require("../nodes.options");
|
|
37
|
+
/**
|
|
38
|
+
* The handler key, and therefore the `Job.type` every purge row carries.
|
|
39
|
+
* PERMANENT: rows outlive handlers.
|
|
40
|
+
*
|
|
41
|
+
* @stability experimental
|
|
42
|
+
*/
|
|
43
|
+
exports.NODE_EVENTS_PURGE_TYPE = 'nodes.node_events_purge';
|
|
44
|
+
/**
|
|
45
|
+
* The `nodes.node_events_purge` handler: deletes node events older than the retention. Server-only.
|
|
46
|
+
*
|
|
47
|
+
* @stability experimental
|
|
48
|
+
*/
|
|
49
|
+
let NodeEventsPurgeHandler = NodeEventsPurgeHandler_1 = class NodeEventsPurgeHandler {
|
|
50
|
+
registry;
|
|
51
|
+
prisma;
|
|
52
|
+
options;
|
|
53
|
+
logger = new common_1.Logger(NodeEventsPurgeHandler_1.name);
|
|
54
|
+
type = exports.NODE_EVENTS_PURGE_TYPE;
|
|
55
|
+
label = 'Node events purge';
|
|
56
|
+
constructor(registry, prisma, options) {
|
|
57
|
+
this.registry = registry;
|
|
58
|
+
this.prisma = prisma;
|
|
59
|
+
this.options = options;
|
|
60
|
+
}
|
|
61
|
+
/** Self-registration, the only wiring a handler needs. */
|
|
62
|
+
onModuleInit() {
|
|
63
|
+
this.registry.register(this);
|
|
64
|
+
}
|
|
65
|
+
/** Runs the purge. THROWS TO FAIL, like every handler. */
|
|
66
|
+
async process(job) {
|
|
67
|
+
const deleted = await this.purge();
|
|
68
|
+
if (deleted > 0) {
|
|
69
|
+
this.logger.log(`Node events purge ${job.id}: ${deleted} event(s) past retention deleted`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.logger.debug(`Node events purge ${job.id}: nothing past retention`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Deletes every event received before the retention cutoff; returns the count. */
|
|
76
|
+
async purge(now = new Date()) {
|
|
77
|
+
const days = this.options?.nodeEventsRetentionDays ?? nodes_options_1.DEFAULT_NODE_EVENTS_RETENTION_DAYS;
|
|
78
|
+
const cutoff = new Date(now.getTime() - days * 24 * 60 * 60 * 1000);
|
|
79
|
+
const { count } = await this.prisma.workerNodeEvent.deleteMany({ where: { receivedAt: { lt: cutoff } } });
|
|
80
|
+
return count;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
exports.NodeEventsPurgeHandler = NodeEventsPurgeHandler;
|
|
84
|
+
exports.NodeEventsPurgeHandler = NodeEventsPurgeHandler = NodeEventsPurgeHandler_1 = __decorate([
|
|
85
|
+
(0, common_1.Injectable)(),
|
|
86
|
+
__param(1, (0, common_1.Inject)(index_1.PLATFORM_PRISMA)),
|
|
87
|
+
__param(2, (0, common_1.Optional)()),
|
|
88
|
+
__param(2, (0, common_1.Inject)(nodes_options_1.NODES_OPTIONS)),
|
|
89
|
+
__metadata("design:paramtypes", [index_2.JobHandlerRegistry, Object, Object])
|
|
90
|
+
], NodeEventsPurgeHandler);
|
|
91
|
+
//# sourceMappingURL=node-events-purge.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-events-purge.handler.js","sourceRoot":"","sources":["../../../src/nodes/handlers/node-events-purge.handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yFAAyF;AACzF,gFAAgF;AAChF,EAAE;AACF,wEAAwE;AACxE,6EAA6E;AAC7E,8EAA8E;AAC9E,uEAAuE;AACvE,uDAAuD;AACvD,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,EAAE;AACF,iFAAiF;AACjF,iEAAiE;AACjE,gFAAgF;;;;;;;;;;;;;;;;AAEhF,2CAAoF;AAEpF,4CAAmD;AACnD,4CAA6F;AAC7F,oDAAsH;AAEtH;;;;;GAKG;AACU,QAAA,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE;;;;GAIG;AAEI,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAQd;IACyB;IACU;IATrC,MAAM,GAAG,IAAI,eAAM,CAAC,wBAAsB,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,GAAG,8BAAsB,CAAC;IAE9B,KAAK,GAAG,mBAAmB,CAAC;IAErC,YACmB,QAA4B,EACH,MAAkB,EACR,OAAoC;QAFvE,aAAQ,GAAR,QAAQ,CAAoB;QACH,WAAM,GAAN,MAAM,CAAY;QACR,YAAO,GAAP,OAAO,CAA6B;IACvF,CAAC;IAEJ,0DAA0D;IAC1D,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,OAAO,CAAC,GAAQ;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,EAAE,KAAK,OAAO,kCAAkC,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,KAAK,CAAC,MAAY,IAAI,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,uBAAuB,IAAI,kDAAkC,CAAC;QACzF,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAEpE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1G,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAtCY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,eAAM,EAAC,uBAAe,CAAC,CAAA;IACvB,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,6BAAa,CAAC,CAAA;qCAFP,0BAAkB;GARpC,sBAAsB,CAsClC"}
|
package/dist/nodes/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { NodesModule } from './nodes.module';
|
|
2
|
-
export { NODES_OPTIONS, resolveNodesModuleOptions } from './nodes.options';
|
|
2
|
+
export { DEFAULT_NODE_EVENTS_RETENTION_DAYS, NODES_OPTIONS, resolveNodesModuleOptions } from './nodes.options';
|
|
3
3
|
export type { NodesModuleOptions, ResolvedNodesModuleOptions } from './nodes.options';
|
|
4
4
|
export { NODES_SYSTEM_SETTINGS, mergeNodesSettings } from './nodes.system-settings';
|
|
5
5
|
export { NodeCredentialModule } from './node-credential.module';
|
|
@@ -9,9 +9,14 @@ export { BUILTIN_NODE_SPAN_ATTRIBUTES, DEFAULT_NODE_SPAN_ATTRIBUTE_STRING_LENGTH
|
|
|
9
9
|
export type { BuiltinNodeSpanAttribute, NodeSpanAttributeDefinition, RelayedAttribute } from './node-span-attribute.registry';
|
|
10
10
|
export type { BuiltinNodeSpanName, NodeSpanName } from './dto/node-telemetry.dto';
|
|
11
11
|
export { NODE_OFFLINE_EVENT, NodeOfflineEvent } from './events/node-offline.event';
|
|
12
|
+
export { NODE_EVENT_REPORTED, NodeEventReportedEvent } from './events/node-event.event';
|
|
12
13
|
export { CREDENTIAL_OWNER_SELECT, NODE_TOKEN_PREFIX, NodeCredentialService } from './node-credential.service';
|
|
13
14
|
export { NodesService } from './nodes.service';
|
|
14
|
-
export {
|
|
15
|
+
export { NODE_EVENTS_PER_HOUR, NODE_EVENT_MAX_AGE_MS, NODE_EVENT_MAX_FUTURE_MS, NodeEventRateLimiter, NodeEventsService, } from './node-events.service';
|
|
16
|
+
export type { NodeEventIngestOutcome } from './node-events.service';
|
|
17
|
+
export { NODE_EVENTS_PURGE_TYPE, NodeEventsPurgeHandler } from './handlers/node-events-purge.handler';
|
|
18
|
+
export { NodeLifecycleService, deriveNodeHealth } from './node-lifecycle.service';
|
|
19
|
+
export type { NodeHealth, NodeHealthInput } from './node-lifecycle.service';
|
|
15
20
|
export { NODE_OUTPUT_KEY_PREFIX, NodeDataPlaneService } from './node-data-plane.service';
|
|
16
21
|
export { NodeSecretBrokerService, SECRET_CLOCK_SKEW_ALLOWANCE_MS } from './node-secret-broker.service';
|
|
17
22
|
export { NodesAdminService, OWNER_SELECT } from './nodes-admin.service';
|
|
@@ -29,9 +34,11 @@ export type { HeartbeatNodeDto, NodeJobFailureDto, RegisterNodeDto, RenewLeaseDt
|
|
|
29
34
|
export type { NodeDownloadUrlResponseDto, NodeJobTypeDto, NodeJobTypesResponseDto, NodeUploadUrlResponseDto, } from './dto/node-data-plane.dto';
|
|
30
35
|
export type { NodeJobSecretRequestDto, NodeJobSecretResponseDto } from './dto/node-job-secret.dto';
|
|
31
36
|
export type { AdminNodeCredentialDto, AdminNodeDto, NodeJobCountsDto, NodeOwnerDto, NodeVitalsCountersDto, NodeVitalsDto, } from './dto/node-admin.dto';
|
|
32
|
-
export
|
|
37
|
+
export { NODE_SERVER_FEATURES } from './dto/node-response.dto';
|
|
38
|
+
export type { AdminNodeEventDto, AdminNodeEventListDto, NodeHostVitalsDto, NodePowerDto } from './dto/node-event.dto';
|
|
39
|
+
export type { ClaimJobsResponseDto, HeartbeatNodeResponseDto, JobSettlementResponseDto, NodeJobAssignmentDto, NodeJobDto, RegisterNodeResponseDto, RenewLeaseResponseDto, WorkerNodeDto, } from './dto/node-response.dto';
|
|
33
40
|
export type { NodeCredentialCreatedResponseDto, NodeCredentialListItemDto } from './dto/node-credential-response.dto';
|
|
34
|
-
export { NODES_APP_METRICS, NODE_HEALTH_VALUES, NODE_STATUS_VALUES } from './nodes.metrics';
|
|
41
|
+
export { NODES_APP_METRICS, NODE_EVENT_METRIC_TYPES, NODE_EVENT_SEVERITY_VALUES, NODE_HEALTH_VALUES, NODE_STATUS_VALUES, } from './nodes.metrics';
|
|
35
42
|
export type { NodesAppMetricDef } from './nodes.metrics';
|
|
36
43
|
export { NODES_PERMISSIONS } from './nodes.permissions';
|
|
37
44
|
export type { NodesPermissionDeclaration } from './nodes.permissions';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":"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"}
|
package/dist/nodes/index.js
CHANGED
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
// fleet admin routes, sweeps and gauges. Needs `@marinoscar/platform-api/jobs`.
|
|
6
6
|
// Documented in ./README.md. Explicit named exports only.
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.
|
|
8
|
+
exports.NodeUploadUrlDto = exports.NodeDownloadUrlDto = exports.NodeJobResultDto = exports.ClaimJobsDto = exports.NodeFleetSweepHandler = exports.NODE_FLEET_SWEEP_TYPE = exports.NodeFleetPruneHandler = exports.NODE_FLEET_PRUNE_TYPE = exports.OWNER_SELECT = exports.NodesAdminService = exports.SECRET_CLOCK_SKEW_ALLOWANCE_MS = exports.NodeSecretBrokerService = exports.NodeDataPlaneService = exports.NODE_OUTPUT_KEY_PREFIX = exports.deriveNodeHealth = exports.NodeLifecycleService = exports.NodeEventsPurgeHandler = exports.NODE_EVENTS_PURGE_TYPE = exports.NodeEventsService = exports.NodeEventRateLimiter = exports.NODE_EVENT_MAX_FUTURE_MS = exports.NODE_EVENT_MAX_AGE_MS = exports.NODE_EVENTS_PER_HOUR = exports.NodesService = exports.NodeCredentialService = exports.NODE_TOKEN_PREFIX = exports.CREDENTIAL_OWNER_SELECT = exports.NodeEventReportedEvent = exports.NODE_EVENT_REPORTED = exports.NodeOfflineEvent = exports.NODE_OFFLINE_EVENT = exports.resolveRelayedAttribute = exports.registerNodeSpanAttribute = exports.nodeSpanAttributeRegistry = exports.NODE_SPAN_ATTRIBUTE_STRING_PATTERN = exports.NODE_SPAN_ATTRIBUTE_KEY_PATTERN = exports.MAX_NODE_SPAN_ATTRIBUTE_STRING_LENGTH = exports.MAX_NODE_SPAN_ATTRIBUTES = exports.DEFAULT_NODE_SPAN_ATTRIBUTE_STRING_LENGTH = exports.BUILTIN_NODE_SPAN_ATTRIBUTES = exports.NodeJobInputError = exports.NODE_OBJECT_STORE = exports.NODE_JOB_INPUTS = exports.NodeCredentialModule = exports.mergeNodesSettings = exports.NODES_SYSTEM_SETTINGS = exports.resolveNodesModuleOptions = exports.NODES_OPTIONS = exports.DEFAULT_NODE_EVENTS_RETENTION_DAYS = exports.NodesModule = void 0;
|
|
9
|
+
exports.NODES_PERMISSIONS = exports.NODE_STATUS_VALUES = exports.NODE_HEALTH_VALUES = exports.NODE_EVENT_SEVERITY_VALUES = exports.NODE_EVENT_METRIC_TYPES = exports.NODES_APP_METRICS = exports.NODE_SERVER_FEATURES = void 0;
|
|
9
10
|
// ---- the modules and options (rung 1) --------------------------------------------------
|
|
10
11
|
var nodes_module_1 = require("./nodes.module");
|
|
11
12
|
Object.defineProperty(exports, "NodesModule", { enumerable: true, get: function () { return nodes_module_1.NodesModule; } });
|
|
12
13
|
var nodes_options_1 = require("./nodes.options");
|
|
14
|
+
Object.defineProperty(exports, "DEFAULT_NODE_EVENTS_RETENTION_DAYS", { enumerable: true, get: function () { return nodes_options_1.DEFAULT_NODE_EVENTS_RETENTION_DAYS; } });
|
|
13
15
|
Object.defineProperty(exports, "NODES_OPTIONS", { enumerable: true, get: function () { return nodes_options_1.NODES_OPTIONS; } });
|
|
14
16
|
Object.defineProperty(exports, "resolveNodesModuleOptions", { enumerable: true, get: function () { return nodes_options_1.resolveNodesModuleOptions; } });
|
|
15
17
|
var nodes_system_settings_1 = require("./nodes.system-settings");
|
|
@@ -37,6 +39,9 @@ Object.defineProperty(exports, "resolveRelayedAttribute", { enumerable: true, ge
|
|
|
37
39
|
var node_offline_event_1 = require("./events/node-offline.event");
|
|
38
40
|
Object.defineProperty(exports, "NODE_OFFLINE_EVENT", { enumerable: true, get: function () { return node_offline_event_1.NODE_OFFLINE_EVENT; } });
|
|
39
41
|
Object.defineProperty(exports, "NodeOfflineEvent", { enumerable: true, get: function () { return node_offline_event_1.NodeOfflineEvent; } });
|
|
42
|
+
var node_event_event_1 = require("./events/node-event.event");
|
|
43
|
+
Object.defineProperty(exports, "NODE_EVENT_REPORTED", { enumerable: true, get: function () { return node_event_event_1.NODE_EVENT_REPORTED; } });
|
|
44
|
+
Object.defineProperty(exports, "NodeEventReportedEvent", { enumerable: true, get: function () { return node_event_event_1.NodeEventReportedEvent; } });
|
|
40
45
|
// ---- services ----------------------------------------------------------------------------------
|
|
41
46
|
var node_credential_service_1 = require("./node-credential.service");
|
|
42
47
|
Object.defineProperty(exports, "CREDENTIAL_OWNER_SELECT", { enumerable: true, get: function () { return node_credential_service_1.CREDENTIAL_OWNER_SELECT; } });
|
|
@@ -44,8 +49,18 @@ Object.defineProperty(exports, "NODE_TOKEN_PREFIX", { enumerable: true, get: fun
|
|
|
44
49
|
Object.defineProperty(exports, "NodeCredentialService", { enumerable: true, get: function () { return node_credential_service_1.NodeCredentialService; } });
|
|
45
50
|
var nodes_service_1 = require("./nodes.service");
|
|
46
51
|
Object.defineProperty(exports, "NodesService", { enumerable: true, get: function () { return nodes_service_1.NodesService; } });
|
|
52
|
+
var node_events_service_1 = require("./node-events.service");
|
|
53
|
+
Object.defineProperty(exports, "NODE_EVENTS_PER_HOUR", { enumerable: true, get: function () { return node_events_service_1.NODE_EVENTS_PER_HOUR; } });
|
|
54
|
+
Object.defineProperty(exports, "NODE_EVENT_MAX_AGE_MS", { enumerable: true, get: function () { return node_events_service_1.NODE_EVENT_MAX_AGE_MS; } });
|
|
55
|
+
Object.defineProperty(exports, "NODE_EVENT_MAX_FUTURE_MS", { enumerable: true, get: function () { return node_events_service_1.NODE_EVENT_MAX_FUTURE_MS; } });
|
|
56
|
+
Object.defineProperty(exports, "NodeEventRateLimiter", { enumerable: true, get: function () { return node_events_service_1.NodeEventRateLimiter; } });
|
|
57
|
+
Object.defineProperty(exports, "NodeEventsService", { enumerable: true, get: function () { return node_events_service_1.NodeEventsService; } });
|
|
58
|
+
var node_events_purge_handler_1 = require("./handlers/node-events-purge.handler");
|
|
59
|
+
Object.defineProperty(exports, "NODE_EVENTS_PURGE_TYPE", { enumerable: true, get: function () { return node_events_purge_handler_1.NODE_EVENTS_PURGE_TYPE; } });
|
|
60
|
+
Object.defineProperty(exports, "NodeEventsPurgeHandler", { enumerable: true, get: function () { return node_events_purge_handler_1.NodeEventsPurgeHandler; } });
|
|
47
61
|
var node_lifecycle_service_1 = require("./node-lifecycle.service");
|
|
48
62
|
Object.defineProperty(exports, "NodeLifecycleService", { enumerable: true, get: function () { return node_lifecycle_service_1.NodeLifecycleService; } });
|
|
63
|
+
Object.defineProperty(exports, "deriveNodeHealth", { enumerable: true, get: function () { return node_lifecycle_service_1.deriveNodeHealth; } });
|
|
49
64
|
var node_data_plane_service_1 = require("./node-data-plane.service");
|
|
50
65
|
Object.defineProperty(exports, "NODE_OUTPUT_KEY_PREFIX", { enumerable: true, get: function () { return node_data_plane_service_1.NODE_OUTPUT_KEY_PREFIX; } });
|
|
51
66
|
Object.defineProperty(exports, "NodeDataPlaneService", { enumerable: true, get: function () { return node_data_plane_service_1.NodeDataPlaneService; } });
|
|
@@ -68,9 +83,13 @@ Object.defineProperty(exports, "NodeJobResultDto", { enumerable: true, get: func
|
|
|
68
83
|
var node_data_plane_dto_1 = require("./dto/node-data-plane.dto");
|
|
69
84
|
Object.defineProperty(exports, "NodeDownloadUrlDto", { enumerable: true, get: function () { return node_data_plane_dto_1.NodeDownloadUrlDto; } });
|
|
70
85
|
Object.defineProperty(exports, "NodeUploadUrlDto", { enumerable: true, get: function () { return node_data_plane_dto_1.NodeUploadUrlDto; } });
|
|
86
|
+
var node_response_dto_1 = require("./dto/node-response.dto");
|
|
87
|
+
Object.defineProperty(exports, "NODE_SERVER_FEATURES", { enumerable: true, get: function () { return node_response_dto_1.NODE_SERVER_FEATURES; } });
|
|
71
88
|
// ---- metrics, permissions ----------------------------------------------------------------------
|
|
72
89
|
var nodes_metrics_1 = require("./nodes.metrics");
|
|
73
90
|
Object.defineProperty(exports, "NODES_APP_METRICS", { enumerable: true, get: function () { return nodes_metrics_1.NODES_APP_METRICS; } });
|
|
91
|
+
Object.defineProperty(exports, "NODE_EVENT_METRIC_TYPES", { enumerable: true, get: function () { return nodes_metrics_1.NODE_EVENT_METRIC_TYPES; } });
|
|
92
|
+
Object.defineProperty(exports, "NODE_EVENT_SEVERITY_VALUES", { enumerable: true, get: function () { return nodes_metrics_1.NODE_EVENT_SEVERITY_VALUES; } });
|
|
74
93
|
Object.defineProperty(exports, "NODE_HEALTH_VALUES", { enumerable: true, get: function () { return nodes_metrics_1.NODE_HEALTH_VALUES; } });
|
|
75
94
|
Object.defineProperty(exports, "NODE_STATUS_VALUES", { enumerable: true, get: function () { return nodes_metrics_1.NODE_STATUS_VALUES; } });
|
|
76
95
|
var nodes_permissions_1 = require("./nodes.permissions");
|
package/dist/nodes/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,qEAAqE;AACrE,6EAA6E;AAC7E,gFAAgF;AAChF,0DAA0D
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,qEAAqE;AACrE,6EAA6E;AAC7E,gFAAgF;AAChF,0DAA0D;;;;AAE1D,2FAA2F;AAC3F,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,iDAA+G;AAAtG,mIAAA,kCAAkC,OAAA;AAAE,8GAAA,aAAa,OAAA;AAAE,0HAAA,yBAAyB,OAAA;AAErF,iEAAoF;AAA3E,8HAAA,qBAAqB,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAClD,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAE7B,6FAA6F;AAC7F,iCAAgF;AAAvE,wGAAA,eAAe,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAU9D,8FAA8F;AAC9F,+EAUwC;AATtC,4IAAA,4BAA4B,OAAA;AAC5B,yJAAA,yCAAyC,OAAA;AACzC,wIAAA,wBAAwB,OAAA;AACxB,qJAAA,qCAAqC,OAAA;AACrC,+IAAA,+BAA+B,OAAA;AAC/B,kJAAA,kCAAkC,OAAA;AAClC,yIAAA,yBAAyB,OAAA;AACzB,yIAAA,yBAAyB,OAAA;AACzB,uIAAA,uBAAuB,OAAA;AAKzB,iGAAiG;AACjG,kEAAmF;AAA1E,wHAAA,kBAAkB,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAC7C,8DAAwF;AAA/E,uHAAA,mBAAmB,OAAA;AAAE,0HAAA,sBAAsB,OAAA;AAEpD,mGAAmG;AACnG,qEAA8G;AAArG,kIAAA,uBAAuB,OAAA;AAAE,4HAAA,iBAAiB,OAAA;AAAE,gIAAA,qBAAqB,OAAA;AAC1E,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,6DAM+B;AAL7B,2HAAA,oBAAoB,OAAA;AACpB,4HAAA,qBAAqB,OAAA;AACrB,+HAAA,wBAAwB,OAAA;AACxB,2HAAA,oBAAoB,OAAA;AACpB,wHAAA,iBAAiB,OAAA;AAGnB,kFAAsG;AAA7F,mIAAA,sBAAsB,OAAA;AAAE,mIAAA,sBAAsB,OAAA;AACvD,mEAAkF;AAAzE,8HAAA,oBAAoB,OAAA;AAAE,0HAAA,gBAAgB,OAAA;AAE/C,qEAAyF;AAAhF,iIAAA,sBAAsB,OAAA;AAAE,+HAAA,oBAAoB,OAAA;AACrD,2EAAuG;AAA9F,qIAAA,uBAAuB,OAAA;AAAE,4IAAA,8BAA8B,OAAA;AAChE,6DAAwE;AAA/D,wHAAA,iBAAiB,OAAA;AAAE,mHAAA,YAAY,OAAA;AACxC,gFAAmG;AAA1F,iIAAA,qBAAqB,OAAA;AAAE,iIAAA,qBAAqB,OAAA;AACrD,gFAAmG;AAA1F,iIAAA,qBAAqB,OAAA;AAAE,iIAAA,qBAAqB,OAAA;AAErD,oGAAoG;AACpG,uEAA8E;AAArE,sHAAA,YAAY,OAAA;AAAE,0HAAA,gBAAgB,OAAA;AACvC,iEAAiF;AAAxE,yHAAA,kBAAkB,OAAA;AAAE,uHAAA,gBAAgB,OAAA;AAyB7C,6DAA+D;AAAtD,yHAAA,oBAAoB,OAAA;AAc7B,mGAAmG;AACnG,iDAMyB;AALvB,kHAAA,iBAAiB,OAAA;AACjB,wHAAA,uBAAuB,OAAA;AACvB,2HAAA,0BAA0B,OAAA;AAC1B,mHAAA,kBAAkB,OAAA;AAClB,mHAAA,kBAAkB,OAAA;AAGpB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
2
|
+
import type { AdminNodeEventList, NodeEvent, NodeEventListQuery } from '@marinoscar/platform-contract/nodes';
|
|
3
|
+
import { type JobsPrisma, type WorkerNode } from '../jobs/index';
|
|
4
|
+
import { MetricsHostService } from '../otel-core/index';
|
|
5
|
+
/**
|
|
6
|
+
* Accepted events per node per hour; the excess is dropped and counted.
|
|
7
|
+
*
|
|
8
|
+
* @stability experimental
|
|
9
|
+
*/
|
|
10
|
+
export declare const NODE_EVENTS_PER_HOUR = 120;
|
|
11
|
+
/**
|
|
12
|
+
* An `occurredAt` older than this (relative to receipt) is replaced by the receipt time.
|
|
13
|
+
*
|
|
14
|
+
* @stability experimental
|
|
15
|
+
*/
|
|
16
|
+
export declare const NODE_EVENT_MAX_AGE_MS: number;
|
|
17
|
+
/**
|
|
18
|
+
* An `occurredAt` further in the future than this is replaced by the receipt time.
|
|
19
|
+
*
|
|
20
|
+
* @stability experimental
|
|
21
|
+
*/
|
|
22
|
+
export declare const NODE_EVENT_MAX_FUTURE_MS: number;
|
|
23
|
+
/** Default page size of the events list. */
|
|
24
|
+
export declare const NODE_EVENTS_DEFAULT_PAGE_SIZE = 20;
|
|
25
|
+
/** Largest page size of the events list. */
|
|
26
|
+
export declare const NODE_EVENTS_MAX_PAGE_SIZE = 100;
|
|
27
|
+
/**
|
|
28
|
+
* A per-node token bucket: `NODE_EVENTS_PER_HOUR` capacity, refilled evenly
|
|
29
|
+
* over the hour. In memory and per replica, on purpose (see the header).
|
|
30
|
+
*
|
|
31
|
+
* @stability experimental
|
|
32
|
+
*/
|
|
33
|
+
export declare class NodeEventRateLimiter {
|
|
34
|
+
private readonly buckets;
|
|
35
|
+
/**
|
|
36
|
+
* Takes up to `wanted` tokens for `nodeId` and returns how many it granted.
|
|
37
|
+
*
|
|
38
|
+
* @param nodeId - the node (proven owned by the caller before this is asked).
|
|
39
|
+
* @param wanted - how many events the heartbeat carried.
|
|
40
|
+
* @param nowMs - the clock, injectable for tests.
|
|
41
|
+
*/
|
|
42
|
+
take(nodeId: string, wanted: number, nowMs?: number): number;
|
|
43
|
+
/** Forgets full (idle) buckets first; a fresh bucket starts full, so nothing is lost. */
|
|
44
|
+
private evict;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* What one ingestion did.
|
|
48
|
+
*
|
|
49
|
+
* @stability experimental
|
|
50
|
+
*/
|
|
51
|
+
export interface NodeEventIngestOutcome {
|
|
52
|
+
/** Rows written. */
|
|
53
|
+
accepted: number;
|
|
54
|
+
/** Events dropped by the per-node rate cap. */
|
|
55
|
+
dropped: number;
|
|
56
|
+
}
|
|
57
|
+
/** `occurredAt` after the clamp (see the header). */
|
|
58
|
+
export declare function clampOccurredAt(at: string, receivedAt: Date): Date;
|
|
59
|
+
/**
|
|
60
|
+
* Records the events a heartbeat carries and serves the per-node event log:
|
|
61
|
+
* the rate cap, the clamp, the write, then the metric, span, log line and
|
|
62
|
+
* `nodes.node.event` domain event. `ingest` never throws.
|
|
63
|
+
*
|
|
64
|
+
* @stability experimental
|
|
65
|
+
*/
|
|
66
|
+
export declare class NodeEventsService {
|
|
67
|
+
private readonly prisma;
|
|
68
|
+
private readonly events?;
|
|
69
|
+
private readonly logger;
|
|
70
|
+
private readonly limiter;
|
|
71
|
+
private readonly metrics;
|
|
72
|
+
constructor(prisma: JobsPrisma, events?: EventEmitter2 | undefined, metrics?: MetricsHostService);
|
|
73
|
+
/**
|
|
74
|
+
* Persists the events a heartbeat carried and announces them. NEVER THROWS.
|
|
75
|
+
*
|
|
76
|
+
* @param node - the node row the heartbeat was proven to belong to.
|
|
77
|
+
* @param events - the validated `events` of the heartbeat body.
|
|
78
|
+
*/
|
|
79
|
+
ingest(node: Pick<WorkerNode, 'id' | 'name' | 'createdById'>, events: readonly NodeEvent[] | undefined): Promise<NodeEventIngestOutcome>;
|
|
80
|
+
private announce;
|
|
81
|
+
/**
|
|
82
|
+
* One page of a node's events, newest first. The caller has already proven
|
|
83
|
+
* access to the node; `nodeId` not existing is a 404 here as a backstop.
|
|
84
|
+
*/
|
|
85
|
+
list(nodeId: string, query: NodeEventListQuery): Promise<AdminNodeEventList>;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=node-events.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-events.service.d.ts","sourceRoot":"","sources":["../../src/nodes/node-events.service.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAkB,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAG7H,OAAO,EAA2B,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAsB,MAAM,oBAAoB,CAAC;AAI5E;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAsB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAgB,CAAC;AAEtD,4CAA4C;AAC5C,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAU7C;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAmB,GAAG,MAAM;IAgBxE,yFAAyF;IACzF,OAAO,CAAC,KAAK;CAOd;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,IAAI,CAOlE;AAED;;;;;;GAMG;AACH,qBACa,iBAAiB;IAMD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAPtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAGD,MAAM,EAAE,UAAU,EAE/B,MAAM,CAAC,EAAE,aAAa,YAAA,EACvC,OAAO,CAAC,EAAE,kBAAkB;IAK1C;;;;;OAKG;IACG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkC9I,OAAO,CAAC,QAAQ;IAiDhB;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAkCnF"}
|