unleash-server 5.8.2 → 5.9.0
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/dist/lib/addons/addon.d.ts.map +1 -1
- package/dist/lib/addons/addon.js +1 -0
- package/dist/lib/addons/addon.js.map +1 -1
- package/dist/lib/addons/datadog.d.ts.map +1 -1
- package/dist/lib/addons/datadog.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.d.ts.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.js +5 -1
- package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.test.js +18 -0
- package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
- package/dist/lib/addons/slack-app-definition.d.ts.map +1 -1
- package/dist/lib/addons/slack-app-definition.js +1 -0
- package/dist/lib/addons/slack-app-definition.js.map +1 -1
- package/dist/lib/addons/slack-app.test.js +9 -2
- package/dist/lib/addons/slack-app.test.js.map +1 -1
- package/dist/lib/addons/webhook-definition.d.ts.map +1 -1
- package/dist/lib/addons/webhook-definition.js +1 -0
- package/dist/lib/addons/webhook-definition.js.map +1 -1
- package/dist/lib/addons/webhook.js.map +1 -1
- package/dist/lib/app.d.ts +1 -1
- package/dist/lib/app.d.ts.map +1 -1
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/create-config.d.ts.map +1 -1
- package/dist/lib/create-config.js +3 -1
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/access-store.d.ts +1 -1
- package/dist/lib/db/access-store.d.ts.map +1 -1
- package/dist/lib/db/access-store.js +3 -4
- package/dist/lib/db/access-store.js.map +1 -1
- package/dist/lib/db/access-store.test.js +1 -1
- package/dist/lib/db/access-store.test.js.map +1 -1
- package/dist/lib/db/client-applications-store.d.ts.map +1 -1
- package/dist/lib/db/client-applications-store.js.map +1 -1
- package/dist/lib/db/client-instance-store.d.ts +1 -0
- package/dist/lib/db/client-instance-store.d.ts.map +1 -1
- package/dist/lib/db/client-instance-store.js +9 -0
- package/dist/lib/db/client-instance-store.js.map +1 -1
- package/dist/lib/db/event-store.d.ts +2 -95
- package/dist/lib/db/event-store.d.ts.map +1 -1
- package/dist/lib/db/event-store.js +21 -293
- package/dist/lib/db/event-store.js.map +1 -1
- package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
- package/dist/lib/db/feature-environment-store.js +7 -3
- package/dist/lib/db/feature-environment-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.test.js +2 -6
- package/dist/lib/db/feature-strategy-store.test.js.map +1 -1
- package/dist/lib/db/index.js +5 -5
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/project-stats-store.d.ts +3 -3
- package/dist/lib/db/project-stats-store.d.ts.map +1 -1
- package/dist/lib/db/project-store.d.ts.map +1 -1
- package/dist/lib/db/project-store.js +10 -1
- package/dist/lib/db/project-store.js.map +1 -1
- package/dist/lib/db/role-store.d.ts +4 -4
- package/dist/lib/db/role-store.d.ts.map +1 -1
- package/dist/lib/db/segment-store.d.ts.map +1 -1
- package/dist/lib/db/segment-store.js +1 -2
- package/dist/lib/db/segment-store.js.map +1 -1
- package/dist/lib/db/segment-store.test.js +5 -3
- package/dist/lib/db/segment-store.test.js.map +1 -1
- package/dist/lib/db/transaction.d.ts +1 -1
- package/dist/lib/db/transaction.d.ts.map +1 -1
- package/dist/lib/domain/project-health/project-health.d.ts +2 -2
- package/dist/lib/domain/project-health/project-health.d.ts.map +1 -1
- package/dist/lib/error/archivedfeature-error.d.ts +7 -0
- package/dist/lib/error/archivedfeature-error.d.ts.map +1 -0
- package/dist/lib/error/archivedfeature-error.js +12 -0
- package/dist/lib/error/archivedfeature-error.js.map +1 -0
- package/dist/lib/error/permission-error.js +1 -2
- package/dist/lib/error/permission-error.js.map +1 -1
- package/dist/lib/features/access/createAccessService.d.ts +1 -1
- package/dist/lib/features/access/createAccessService.d.ts.map +1 -1
- package/dist/lib/features/access/createAccessService.js +2 -5
- package/dist/lib/features/access/createAccessService.js.map +1 -1
- package/dist/lib/features/change-request-access-service/createChangeRequestAccessReadModel.d.ts +1 -1
- package/dist/lib/features/change-request-access-service/createChangeRequestAccessReadModel.d.ts.map +1 -1
- package/dist/lib/features/change-request-segment-usage-service/createChangeRequestSegmentUsageReadModel.d.ts +1 -1
- package/dist/lib/features/change-request-segment-usage-service/createChangeRequestSegmentUsageReadModel.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/tests/client-feature-toggle.e2e.test.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/dependent-features/createDependentFeaturesService.d.ts.map +1 -1
- package/dist/lib/features/dependent-features/createDependentFeaturesService.js +3 -21
- package/dist/lib/features/dependent-features/createDependentFeaturesService.js.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-read-model-type.d.ts.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-read-model.d.ts.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-read-model.js.map +1 -1
- package/dist/lib/features/dependent-features/fake-dependent-features-read-model.d.ts.map +1 -1
- package/dist/lib/features/dependent-features/fake-dependent-features-read-model.js.map +1 -1
- package/dist/lib/features/events/createEventsService.d.ts +6 -0
- package/dist/lib/features/events/createEventsService.d.ts.map +1 -0
- package/dist/lib/features/events/createEventsService.js +24 -0
- package/dist/lib/features/events/createEventsService.js.map +1 -0
- package/dist/lib/features/events/event-created-by-migration.test.d.ts +2 -0
- package/dist/lib/features/events/event-created-by-migration.test.d.ts.map +1 -0
- package/dist/lib/features/events/event-created-by-migration.test.js +130 -0
- package/dist/lib/features/events/event-created-by-migration.test.js.map +1 -0
- package/dist/lib/features/events/event-service.d.ts +35 -0
- package/dist/lib/features/events/event-service.d.ts.map +1 -0
- package/dist/lib/features/events/event-service.js +103 -0
- package/dist/lib/features/events/event-service.js.map +1 -0
- package/dist/lib/features/events/event-service.test.d.ts +2 -0
- package/dist/lib/features/events/event-service.test.d.ts.map +1 -0
- package/dist/lib/features/events/event-service.test.js +22 -0
- package/dist/lib/features/events/event-service.test.js.map +1 -0
- package/dist/lib/features/events/event-store.d.ts +100 -0
- package/dist/lib/features/events/event-store.d.ts.map +1 -0
- package/dist/lib/features/events/event-store.js +340 -0
- package/dist/lib/features/events/event-store.js.map +1 -0
- package/dist/lib/features/events/event-store.test.d.ts.map +1 -0
- package/dist/lib/{db → features/events}/event-store.test.js +9 -5
- package/dist/lib/features/events/event-store.test.js.map +1 -0
- package/dist/lib/features/export-import-toggles/createExportImportService.d.ts +1 -1
- package/dist/lib/features/export-import-toggles/createExportImportService.d.ts.map +1 -1
- package/dist/lib/features/export-import-toggles/createExportImportService.js +4 -6
- package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-permissions.e2e.test.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-service.d.ts.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-service.js +5 -1
- package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import.e2e.test.js +60 -0
- package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
- package/dist/lib/features/export-import-toggles/import-permissions-service.d.ts.map +1 -1
- package/dist/lib/features/export-import-toggles/import-permissions-service.js.map +1 -1
- package/dist/lib/features/feature-search/fake-feature-search-store.d.ts +1 -1
- package/dist/lib/features/feature-search/fake-feature-search-store.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-controller.js +35 -38
- package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-store.js.map +1 -1
- package/dist/lib/features/feature-search/feature.search.e2e.test.js +0 -1
- package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js +6 -6
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts +3 -2
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js +3 -0
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +7 -4
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.js +51 -7
- package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts +2 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.js +27 -0
- package/dist/lib/features/feature-toggle/feature-toggle-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +3 -0
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js +3 -3
- package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +36 -0
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts +2 -1
- package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
- package/dist/lib/features/group/createGroupService.d.ts.map +1 -1
- package/dist/lib/features/group/createGroupService.js +3 -6
- package/dist/lib/features/group/createGroupService.js.map +1 -1
- package/dist/lib/features/index.d.ts +2 -0
- package/dist/lib/features/index.d.ts.map +1 -1
- package/dist/lib/features/index.js +2 -0
- package/dist/lib/features/index.js.map +1 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts +6 -0
- package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -0
- package/dist/lib/features/instance-stats/createInstanceStatsService.js +129 -0
- package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -0
- package/dist/lib/features/instance-stats/getActiveUsers.d.ts +1 -1
- package/dist/lib/features/instance-stats/getActiveUsers.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/getProductionChanges.d.ts +1 -1
- package/dist/lib/features/instance-stats/getProductionChanges.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/getProductionChanges.js.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.d.ts +6 -1
- package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.js +5 -2
- package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.d.ts +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.d.ts.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.js +1 -1
- package/dist/lib/features/maintenance/maintenance-service.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.d.ts.map +1 -0
- package/dist/{test/e2e/services → lib/features/metrics/client-metrics}/client-metrics-service.e2e.test.js +6 -6
- package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.js.map +1 -0
- package/dist/lib/{types/stores/client-metrics-store-v2.d.ts → features/metrics/client-metrics/client-metrics-store-v2-type.d.ts} +13 -2
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2-type.d.ts.map +1 -0
- package/dist/lib/{types/stores/client-metrics-store-v2.js → features/metrics/client-metrics/client-metrics-store-v2-type.js} +1 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2-type.js.map +1 -0
- package/dist/lib/{db → features/metrics/client-metrics}/client-metrics-store-v2.d.ts +15 -4
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.d.ts.map +1 -0
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.e2e.test.d.ts.map +1 -0
- package/dist/{test/e2e/stores → lib/features/metrics/client-metrics}/client-metrics-store-v2.e2e.test.js +2 -2
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.e2e.test.js.map +1 -0
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js +300 -0
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js.map +1 -0
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.test.d.ts +2 -0
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.test.d.ts.map +1 -0
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.test.js +202 -0
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.test.js.map +1 -0
- package/dist/lib/{routes/admin-api → features/metrics/client-metrics}/client-metrics.d.ts +7 -5
- package/dist/lib/features/metrics/client-metrics/client-metrics.d.ts.map +1 -0
- package/dist/lib/features/metrics/client-metrics/client-metrics.e2e.test.d.ts.map +1 -0
- package/dist/{test/e2e/api/admin → lib/features/metrics/client-metrics}/client-metrics.e2e.test.js +8 -4
- package/dist/lib/features/metrics/client-metrics/client-metrics.e2e.test.js.map +1 -0
- package/dist/lib/{routes/admin-api → features/metrics/client-metrics}/client-metrics.js +13 -9
- package/dist/lib/{routes/admin-api → features/metrics/client-metrics}/client-metrics.js.map +1 -1
- package/dist/lib/{util → features/metrics/client-metrics}/collapseHourlyMetrics.d.ts +1 -1
- package/dist/lib/features/metrics/client-metrics/collapseHourlyMetrics.d.ts.map +1 -0
- package/dist/lib/features/metrics/client-metrics/collapseHourlyMetrics.js.map +1 -0
- package/dist/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.d.ts.map +1 -0
- package/dist/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.js.map +1 -0
- package/dist/{test/fixtures → lib/features/metrics/client-metrics}/fake-client-metrics-store-v2.d.ts +12 -1
- package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.d.ts.map +1 -0
- package/dist/{test/fixtures → lib/features/metrics/client-metrics}/fake-client-metrics-store-v2.js +15 -0
- package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.js.map +1 -0
- package/dist/lib/{services → features/metrics}/client-metrics/metrics-service-v2.d.ts +11 -8
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.d.ts.map +1 -0
- package/dist/lib/{services → features/metrics}/client-metrics/metrics-service-v2.js +54 -9
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -0
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.d.ts.map +1 -0
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js +271 -0
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js.map +1 -0
- package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.d.ts +9 -8
- package/dist/lib/features/metrics/instance/instance-service.d.ts.map +1 -0
- package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.js +18 -5
- package/dist/lib/features/metrics/instance/instance-service.js.map +1 -0
- package/dist/lib/features/metrics/instance/instance-service.test.d.ts.map +1 -0
- package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.test.js +18 -15
- package/dist/lib/features/metrics/instance/instance-service.test.js.map +1 -0
- package/dist/lib/{routes/client-api → features/metrics/instance}/metrics.d.ts +9 -7
- package/dist/lib/features/metrics/instance/metrics.d.ts.map +1 -0
- package/dist/lib/{routes/client-api → features/metrics/instance}/metrics.js +51 -4
- package/dist/lib/features/metrics/instance/metrics.js.map +1 -0
- package/dist/lib/features/metrics/instance/metrics.test.d.ts.map +1 -0
- package/dist/lib/{routes/client-api → features/metrics/instance}/metrics.test.js +124 -7
- package/dist/lib/features/metrics/instance/metrics.test.js.map +1 -0
- package/dist/lib/{services/client-metrics → features/metrics/instance}/models.d.ts +1 -1
- package/dist/lib/features/metrics/instance/models.d.ts.map +1 -0
- package/dist/lib/features/metrics/instance/models.js.map +1 -0
- package/dist/lib/{routes/client-api → features/metrics/instance}/register.d.ts +8 -8
- package/dist/lib/features/metrics/instance/register.d.ts.map +1 -0
- package/dist/lib/{routes/client-api → features/metrics/instance}/register.js +8 -7
- package/dist/lib/features/metrics/instance/register.js.map +1 -0
- package/dist/lib/features/metrics/instance/register.test.d.ts.map +1 -0
- package/dist/lib/{routes/client-api → features/metrics/instance}/register.test.js +20 -5
- package/dist/lib/features/metrics/instance/register.test.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/createLastSeenService.d.ts.map +1 -0
- package/dist/lib/{services/client-metrics → features/metrics}/last-seen/createLastSeenService.js +2 -2
- package/dist/lib/features/metrics/last-seen/createLastSeenService.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.d.ts.map +1 -0
- package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/fake-last-seen-store.d.ts.map +1 -0
- package/dist/lib/features/metrics/last-seen/fake-last-seen-store.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/last-seen-read-model.d.ts.map +1 -0
- package/dist/lib/features/metrics/last-seen/last-seen-read-model.js.map +1 -0
- package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-service.d.ts +2 -2
- package/dist/lib/features/metrics/last-seen/last-seen-service.d.ts.map +1 -0
- package/dist/lib/features/metrics/last-seen/last-seen-service.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/last-seen-store.d.ts.map +1 -0
- package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-store.js +1 -1
- package/dist/lib/features/metrics/last-seen/last-seen-store.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/tests/last-seen-service.e2e.test.d.ts.map +1 -0
- package/dist/lib/features/metrics/last-seen/tests/last-seen-service.e2e.test.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/tests/last-seen-service.test.d.ts.map +1 -0
- package/dist/lib/features/metrics/last-seen/tests/last-seen-service.test.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/types/last-seen-read-model-type.d.ts.map +1 -0
- package/dist/lib/features/metrics/last-seen/types/last-seen-read-model-type.js.map +1 -0
- package/dist/lib/features/metrics/last-seen/types/last-seen-store-type.d.ts.map +1 -0
- package/dist/lib/features/metrics/last-seen/types/last-seen-store-type.js.map +1 -0
- package/dist/lib/{services/client-metrics → features/metrics/shared}/schema.d.ts +1 -1
- package/dist/lib/features/metrics/shared/schema.d.ts.map +1 -0
- package/dist/lib/features/metrics/shared/schema.js.map +1 -0
- package/dist/lib/features/metrics/shared/schema.test.d.ts.map +1 -0
- package/dist/lib/features/metrics/shared/schema.test.js.map +1 -0
- package/dist/lib/features/playground/advanced-playground.test.js +12 -13
- package/dist/lib/features/playground/advanced-playground.test.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/client.d.ts +2 -2
- package/dist/lib/features/playground/feature-evaluator/client.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/client.js +17 -7
- package/dist/lib/features/playground/feature-evaluator/client.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/feature-evaluator.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/feature-evaluator.js +3 -2
- package/dist/lib/features/playground/feature-evaluator/feature-evaluator.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/repository/index.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/repository/storage-provider.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts +2 -2
- package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/variant.d.ts +5 -0
- package/dist/lib/features/playground/feature-evaluator/variant.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/variant.js.map +1 -1
- package/dist/lib/features/playground/offline-unleash-client.d.ts +3 -3
- package/dist/lib/features/playground/offline-unleash-client.d.ts.map +1 -1
- package/dist/lib/features/playground/offline-unleash-client.js +5 -2
- package/dist/lib/features/playground/offline-unleash-client.js.map +1 -1
- package/dist/lib/features/playground/offline-unleash-client.test.js +1 -1
- package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -1
- package/dist/lib/features/playground/playground-service.d.ts +6 -6
- package/dist/lib/features/playground/playground-service.d.ts.map +1 -1
- package/dist/lib/features/playground/playground-service.js +7 -3
- package/dist/lib/features/playground/playground-service.js.map +1 -1
- package/dist/lib/features/playground/playground-view-model.d.ts +1 -1
- package/dist/lib/features/playground/playground-view-model.d.ts.map +1 -1
- package/dist/lib/features/playground/playground.d.ts.map +1 -1
- package/dist/lib/features/playground/playground.js +2 -1
- package/dist/lib/features/playground/playground.js.map +1 -1
- package/dist/lib/features/private-project/createPrivateProjectChecker.d.ts +1 -1
- package/dist/lib/features/private-project/createPrivateProjectChecker.d.ts.map +1 -1
- package/dist/lib/features/private-project/privateProjectStore.js +1 -1
- package/dist/lib/features/private-project/privateProjectStore.js.map +1 -1
- package/dist/lib/features/project/createProjectService.d.ts +1 -1
- package/dist/lib/features/project/createProjectService.d.ts.map +1 -1
- package/dist/lib/features/project/createProjectService.js +2 -2
- package/dist/lib/features/project/createProjectService.js.map +1 -1
- package/dist/lib/features/project-environments/createEnvironmentService.d.ts.map +1 -1
- package/dist/lib/features/project-environments/createEnvironmentService.js +2 -8
- package/dist/lib/features/project-environments/createEnvironmentService.js.map +1 -1
- package/dist/lib/features/project-environments/environment-service.d.ts +1 -1
- package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -1
- package/dist/lib/features/project-environments/environment-service.test.js.map +1 -1
- package/dist/lib/features/project-environments/environment-store.d.ts.map +1 -1
- package/dist/lib/features/project-environments/environment-store.js +12 -0
- package/dist/lib/features/project-environments/environment-store.js.map +1 -1
- package/dist/lib/features/project-environments/environments.d.ts.map +1 -1
- package/dist/lib/features/scheduler/schedule-services.d.ts.map +1 -1
- package/dist/lib/features/scheduler/schedule-services.js +3 -1
- package/dist/lib/features/scheduler/schedule-services.js.map +1 -1
- package/dist/lib/features/scheduler/scheduler-service.d.ts +2 -1
- package/dist/lib/features/scheduler/scheduler-service.d.ts.map +1 -1
- package/dist/lib/features/scheduler/scheduler-service.js +42 -13
- package/dist/lib/features/scheduler/scheduler-service.js.map +1 -1
- package/dist/lib/features/scheduler/scheduler-service.test.js +35 -2
- package/dist/lib/features/scheduler/scheduler-service.test.js.map +1 -1
- package/dist/lib/features/segment/createSegmentService.d.ts +1 -1
- package/dist/lib/features/segment/createSegmentService.d.ts.map +1 -1
- package/dist/lib/features/segment/createSegmentService.js +2 -7
- package/dist/lib/features/segment/createSegmentService.js.map +1 -1
- package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-controller.js +14 -25
- package/dist/lib/features/segment/segment-controller.js.map +1 -1
- package/dist/lib/features/tag-type/createTagTypeService.d.ts.map +1 -1
- package/dist/lib/features/tag-type/createTagTypeService.js +3 -17
- package/dist/lib/features/tag-type/createTagTypeService.js.map +1 -1
- package/dist/lib/features/tag-type/tag-type-service.d.ts +1 -1
- package/dist/lib/features/tag-type/tag-type-service.d.ts.map +1 -1
- package/dist/lib/features/tag-type/tag-types.e2e.test.js.map +1 -1
- package/dist/lib/metric-events.d.ts +3 -1
- package/dist/lib/metric-events.d.ts.map +1 -1
- package/dist/lib/metric-events.js +5 -1
- package/dist/lib/metric-events.js.map +1 -1
- package/dist/lib/metrics.d.ts +2 -3
- package/dist/lib/metrics.d.ts.map +1 -1
- package/dist/lib/metrics.js +150 -89
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.d.ts +1 -1
- package/dist/lib/middleware/api-token-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/demo-authentication.d.ts +1 -1
- package/dist/lib/middleware/demo-authentication.d.ts.map +1 -1
- package/dist/lib/middleware/demo-authentication.js +6 -2
- package/dist/lib/middleware/demo-authentication.js.map +1 -1
- package/dist/lib/middleware/pat-middleware.d.ts +4 -1
- package/dist/lib/middleware/pat-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/pat-middleware.js +0 -1
- package/dist/lib/middleware/pat-middleware.js.map +1 -1
- package/dist/lib/middleware/pat-middleware.test.js +5 -0
- package/dist/lib/middleware/pat-middleware.test.js.map +1 -1
- package/dist/lib/middleware/response-time-metrics.d.ts +1 -1
- package/dist/lib/middleware/response-time-metrics.d.ts.map +1 -1
- package/dist/lib/middleware/response-time-metrics.js.map +1 -1
- package/dist/lib/middleware/session-db.js.map +1 -1
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +4 -0
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +4 -0
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +4 -0
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +8 -0
- package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/create-api-token-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/event-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/feature-type-count-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-type-count-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-type-count-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js +18 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
- package/dist/lib/openapi/spec/playground-feature-schema.d.ts +11 -0
- package/dist/lib/openapi/spec/playground-feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/playground-feature-schema.js +11 -0
- package/dist/lib/openapi/spec/playground-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/playground-response-schema.d.ts +11 -0
- package/dist/lib/openapi/spec/playground-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/project-schema.d.ts +15 -0
- package/dist/lib/openapi/spec/project-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-schema.js +15 -0
- package/dist/lib/openapi/spec/project-schema.js.map +1 -1
- package/dist/lib/openapi/spec/projects-schema.d.ts +15 -0
- package/dist/lib/openapi/spec/projects-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/proxy-feature-schema.d.ts +12 -1
- package/dist/lib/openapi/spec/proxy-feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/proxy-feature-schema.js +12 -1
- package/dist/lib/openapi/spec/proxy-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/proxy-features-schema.d.ts +12 -1
- package/dist/lib/openapi/spec/proxy-features-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/search-events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/state-schema.d.ts +15 -0
- package/dist/lib/openapi/spec/state-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/ui-config-schema.d.ts +12 -1
- package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/variant-flag-schema.d.ts +12 -1
- package/dist/lib/openapi/spec/variant-flag-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/variant-flag-schema.js +12 -1
- package/dist/lib/openapi/spec/variant-flag-schema.js.map +1 -1
- package/dist/lib/proxy/proxy-repository.d.ts.map +1 -1
- package/dist/lib/proxy/proxy-repository.js.map +1 -1
- package/dist/lib/routes/admin-api/addon.d.ts +1 -1
- package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/api-token.d.ts +1 -0
- package/dist/lib/routes/admin-api/api-token.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/api-token.js +5 -0
- package/dist/lib/routes/admin-api/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/api-token.test.d.ts +2 -0
- package/dist/lib/routes/admin-api/api-token.test.d.ts.map +1 -0
- package/dist/lib/routes/admin-api/api-token.test.js +105 -0
- package/dist/lib/routes/admin-api/api-token.test.js.map +1 -0
- package/dist/lib/routes/admin-api/config.d.ts +3 -1
- package/dist/lib/routes/admin-api/config.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/config.js +15 -3
- package/dist/lib/routes/admin-api/config.js.map +1 -1
- package/dist/lib/routes/admin-api/config.test.js +44 -0
- package/dist/lib/routes/admin-api/config.test.js.map +1 -1
- package/dist/lib/routes/admin-api/context.d.ts +2 -2
- package/dist/lib/routes/admin-api/context.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/context.js +1 -1
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/context.test.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +1 -1
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/instance-admin.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/instance-admin.js +4 -0
- package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/metrics.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/metrics.js +2 -1
- package/dist/lib/routes/admin-api/metrics.js.map +1 -1
- package/dist/lib/routes/admin-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/admin-api/project/project-api.d.ts +1 -1
- package/dist/lib/routes/admin-api/project/project-api.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/project/project-api.js.map +1 -1
- package/dist/lib/routes/admin-api/project/variants.d.ts +2 -2
- package/dist/lib/routes/admin-api/project/variants.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/public-signup.test.js +14 -3
- package/dist/lib/routes/admin-api/public-signup.test.js.map +1 -1
- package/dist/lib/routes/admin-api/state.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/state.js +1 -0
- package/dist/lib/routes/admin-api/state.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.test.js.map +1 -1
- package/dist/lib/routes/admin-api/telemetry.d.ts +2 -2
- package/dist/lib/routes/admin-api/telemetry.d.ts.map +1 -1
- package/dist/lib/routes/client-api/index.js +2 -2
- package/dist/lib/routes/client-api/index.js.map +1 -1
- package/dist/lib/routes/controller.d.ts.map +1 -1
- package/dist/lib/routes/controller.js.map +1 -1
- package/dist/lib/routes/edge-api/index.js +2 -2
- package/dist/lib/routes/edge-api/index.js.map +1 -1
- package/dist/lib/routes/health-check.test.js.map +1 -1
- package/dist/lib/routes/public-invite.test.js +7 -2
- package/dist/lib/routes/public-invite.test.js.map +1 -1
- package/dist/lib/segments/segment-service-interface.d.ts +3 -3
- package/dist/lib/segments/segment-service-interface.d.ts.map +1 -1
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +4 -3
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/access-service.d.ts +10 -3
- package/dist/lib/services/access-service.d.ts.map +1 -1
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/access-service.test.js +2 -5
- package/dist/lib/services/access-service.test.js.map +1 -1
- package/dist/lib/services/account-service.d.ts +1 -1
- package/dist/lib/services/account-service.d.ts.map +1 -1
- package/dist/lib/services/account-service.js.map +1 -1
- package/dist/lib/services/addon-service.d.ts +1 -1
- package/dist/lib/services/addon-service.d.ts.map +1 -1
- package/dist/lib/services/addon-service.test.js +6 -2
- package/dist/lib/services/addon-service.test.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts +9 -2
- package/dist/lib/services/api-token-service.d.ts.map +1 -1
- package/dist/lib/services/api-token-service.js +22 -3
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/api-token-service.test.js +20 -5
- package/dist/lib/services/api-token-service.test.js.map +1 -1
- package/dist/lib/services/context-service.d.ts +1 -1
- package/dist/lib/services/context-service.d.ts.map +1 -1
- package/dist/lib/services/context-service.js.map +1 -1
- package/dist/lib/services/email-service.d.ts +1 -1
- package/dist/lib/services/email-service.d.ts.map +1 -1
- package/dist/lib/services/email-service.js +5 -1
- package/dist/lib/services/email-service.js.map +1 -1
- package/dist/lib/services/event-service.d.ts +3 -18
- package/dist/lib/services/event-service.d.ts.map +1 -1
- package/dist/lib/services/event-service.js +21 -58
- package/dist/lib/services/event-service.js.map +1 -1
- package/dist/lib/services/favorites-service.d.ts +1 -1
- package/dist/lib/services/favorites-service.d.ts.map +1 -1
- package/dist/lib/services/feature-service-potentially-stale.test.js +1 -1
- package/dist/lib/services/feature-service-potentially-stale.test.js.map +1 -1
- package/dist/lib/services/feature-tag-service.d.ts +1 -1
- package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
- package/dist/lib/services/feature-type-service.d.ts +1 -1
- package/dist/lib/services/feature-type-service.d.ts.map +1 -1
- package/dist/lib/services/feature-type-service.js.map +1 -1
- package/dist/lib/services/group-service.d.ts +1 -1
- package/dist/lib/services/group-service.d.ts.map +1 -1
- package/dist/lib/services/index.d.ts +4 -4
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +9 -6
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/pat-service.d.ts +1 -1
- package/dist/lib/services/pat-service.d.ts.map +1 -1
- package/dist/lib/services/project-service.d.ts +3 -3
- package/dist/lib/services/project-service.d.ts.map +1 -1
- package/dist/lib/services/proxy-service.d.ts.map +1 -1
- package/dist/lib/services/proxy-service.js.map +1 -1
- package/dist/lib/services/public-signup-token-service.d.ts +2 -2
- package/dist/lib/services/public-signup-token-service.d.ts.map +1 -1
- package/dist/lib/services/reset-token-service.js.map +1 -1
- package/dist/lib/services/segment-service.d.ts +2 -2
- package/dist/lib/services/segment-service.d.ts.map +1 -1
- package/dist/lib/services/segment-service.js +1 -2
- package/dist/lib/services/segment-service.js.map +1 -1
- package/dist/lib/services/setting-service.d.ts +1 -1
- package/dist/lib/services/setting-service.d.ts.map +1 -1
- package/dist/lib/services/state-service.d.ts +1 -1
- package/dist/lib/services/state-service.d.ts.map +1 -1
- package/dist/lib/services/state-service.js +1 -0
- package/dist/lib/services/state-service.js.map +1 -1
- package/dist/lib/services/state-service.test.js +14 -4
- package/dist/lib/services/state-service.test.js.map +1 -1
- package/dist/lib/services/state-util.d.ts.map +1 -1
- package/dist/lib/services/state-util.js.map +1 -1
- package/dist/lib/services/strategy-service.d.ts +1 -1
- package/dist/lib/services/strategy-service.d.ts.map +1 -1
- package/dist/lib/services/tag-service.d.ts +1 -1
- package/dist/lib/services/tag-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.d.ts +1 -1
- package/dist/lib/services/user-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.js +6 -3
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +1 -1
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/version-service.d.ts.map +1 -1
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/types/api-user.d.ts +1 -0
- package/dist/lib/types/api-user.d.ts.map +1 -1
- package/dist/lib/types/api-user.js.map +1 -1
- package/dist/lib/types/core.d.ts +2 -1
- package/dist/lib/types/core.d.ts.map +1 -1
- package/dist/lib/types/core.js +10 -3
- package/dist/lib/types/core.js.map +1 -1
- package/dist/lib/types/core.test.d.ts +2 -0
- package/dist/lib/types/core.test.d.ts.map +1 -0
- package/dist/lib/types/core.test.js +62 -0
- package/dist/lib/types/core.test.js.map +1 -0
- package/dist/lib/types/events.d.ts +19 -2
- package/dist/lib/types/events.d.ts.map +1 -1
- package/dist/lib/types/events.js +10 -4
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +1 -1
- package/dist/lib/types/experimental.d.ts.map +1 -1
- package/dist/lib/types/experimental.js +29 -6
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/model.d.ts +4 -1
- package/dist/lib/types/model.d.ts.map +1 -1
- package/dist/lib/types/models/api-token.js +1 -1
- package/dist/lib/types/models/api-token.js.map +1 -1
- package/dist/lib/types/no-auth-user.d.ts +0 -1
- package/dist/lib/types/no-auth-user.d.ts.map +1 -1
- package/dist/lib/types/no-auth-user.js +1 -3
- package/dist/lib/types/no-auth-user.js.map +1 -1
- package/dist/lib/types/option.d.ts +2 -1
- package/dist/lib/types/option.d.ts.map +1 -1
- package/dist/lib/types/permissions.d.ts +8 -0
- package/dist/lib/types/permissions.d.ts.map +1 -1
- package/dist/lib/types/permissions.js +9 -1
- package/dist/lib/types/permissions.js.map +1 -1
- package/dist/lib/types/services.d.ts +9 -9
- package/dist/lib/types/services.d.ts.map +1 -1
- package/dist/lib/types/stores/access-store.d.ts +1 -1
- package/dist/lib/types/stores/access-store.d.ts.map +1 -1
- package/dist/lib/types/stores/client-instance-store.d.ts +1 -0
- package/dist/lib/types/stores/client-instance-store.d.ts.map +1 -1
- package/dist/lib/types/stores/event-store.d.ts +2 -1
- package/dist/lib/types/stores/event-store.d.ts.map +1 -1
- package/dist/lib/types/stores/project-stats-store-type.d.ts +2 -2
- package/dist/lib/types/stores/project-stats-store-type.d.ts.map +1 -1
- package/dist/lib/types/stores/role-store.d.ts +1 -1
- package/dist/lib/types/stores/role-store.d.ts.map +1 -1
- package/dist/lib/types/stores/strategy-store.d.ts +1 -1
- package/dist/lib/types/stores/strategy-store.d.ts.map +1 -1
- package/dist/lib/types/stores.d.ts +2 -2
- package/dist/lib/types/stores.d.ts.map +1 -1
- package/dist/lib/util/anonymise.d.ts +1 -0
- package/dist/lib/util/anonymise.d.ts.map +1 -1
- package/dist/lib/util/anonymise.js +13 -1
- package/dist/lib/util/anonymise.js.map +1 -1
- package/dist/lib/util/constants.d.ts +1 -0
- package/dist/lib/util/constants.d.ts.map +1 -1
- package/dist/lib/util/constants.js +2 -1
- package/dist/lib/util/constants.js.map +1 -1
- package/dist/lib/util/extract-user.d.ts +6 -6
- package/dist/lib/util/extract-user.d.ts.map +1 -1
- package/dist/lib/util/extract-user.js +3 -1
- package/dist/lib/util/extract-user.js.map +1 -1
- package/dist/lib/util/flag-resolver.js +1 -1
- package/dist/lib/util/flag-resolver.js.map +1 -1
- package/dist/lib/util/flag-resolver.test.js +34 -0
- package/dist/lib/util/flag-resolver.test.js.map +1 -1
- package/dist/lib/util/index.d.ts +1 -1
- package/dist/lib/util/index.d.ts.map +1 -1
- package/dist/lib/util/index.js +1 -1
- package/dist/lib/util/index.js.map +1 -1
- package/dist/lib/util/metrics/createCounter.d.ts +15 -0
- package/dist/lib/util/metrics/createCounter.d.ts.map +1 -0
- package/dist/lib/util/metrics/createCounter.js +48 -0
- package/dist/lib/util/metrics/createCounter.js.map +1 -0
- package/dist/lib/util/metrics/createGauge.d.ts +15 -0
- package/dist/lib/util/metrics/createGauge.d.ts.map +1 -0
- package/dist/lib/util/metrics/createGauge.js +45 -0
- package/dist/lib/util/metrics/createGauge.js.map +1 -0
- package/dist/lib/util/metrics/createSummary.d.ts +14 -0
- package/dist/lib/util/metrics/createSummary.d.ts.map +1 -0
- package/dist/lib/util/metrics/createSummary.js +39 -0
- package/dist/lib/util/metrics/createSummary.js.map +1 -0
- package/dist/lib/util/metrics/index.d.ts +4 -0
- package/dist/lib/util/metrics/index.d.ts.map +1 -0
- package/dist/lib/util/metrics/index.js +20 -0
- package/dist/lib/util/metrics/index.js.map +1 -0
- package/dist/lib/util/omit-keys.d.ts.map +1 -1
- package/dist/lib/util/omit-keys.js.map +1 -1
- package/dist/lib/util/time-utils.d.ts +1 -0
- package/dist/lib/util/time-utils.d.ts.map +1 -1
- package/dist/lib/util/time-utils.js +11 -1
- package/dist/lib/util/time-utils.js.map +1 -1
- package/dist/lib/util/time-utils.test.js +7 -0
- package/dist/lib/util/time-utils.test.js.map +1 -1
- package/dist/lib/util/timer.test.js.map +1 -1
- package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.html.mustache +91 -206
- package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.plain.mustache +4 -0
- package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.html.mustache +83 -202
- package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.plain.mustache +0 -1
- package/dist/migrations/20240108151652-add-daily-metrics.d.ts +3 -0
- package/dist/migrations/20240108151652-add-daily-metrics.d.ts.map +1 -0
- package/dist/migrations/20240108151652-add-daily-metrics.js +40 -0
- package/dist/migrations/20240108151652-add-daily-metrics.js.map +1 -0
- package/dist/migrations/20240109093021-incoming-webhooks-description.d.ts +3 -0
- package/dist/migrations/20240109093021-incoming-webhooks-description.d.ts.map +1 -0
- package/dist/migrations/20240109093021-incoming-webhooks-description.js +10 -0
- package/dist/migrations/20240109093021-incoming-webhooks-description.js.map +1 -0
- package/dist/migrations/20240109095348-add-reason-column-to-schedule.d.ts +3 -0
- package/dist/migrations/20240109095348-add-reason-column-to-schedule.d.ts.map +1 -0
- package/dist/migrations/20240109095348-add-reason-column-to-schedule.js +9 -0
- package/dist/migrations/20240109095348-add-reason-column-to-schedule.js.map +1 -0
- package/dist/migrations/20240111075911-update-system-user-email.d.ts +3 -0
- package/dist/migrations/20240111075911-update-system-user-email.d.ts.map +1 -0
- package/dist/migrations/20240111075911-update-system-user-email.js +8 -0
- package/dist/migrations/20240111075911-update-system-user-email.js.map +1 -0
- package/dist/migrations/20240111125100-automated-actions.d.ts +3 -0
- package/dist/migrations/20240111125100-automated-actions.d.ts.map +1 -0
- package/dist/migrations/20240111125100-automated-actions.js +39 -0
- package/dist/migrations/20240111125100-automated-actions.js.map +1 -0
- package/dist/migrations/20240116104456-drop-unused-column-permissionid.d.ts +3 -0
- package/dist/migrations/20240116104456-drop-unused-column-permissionid.d.ts.map +1 -0
- package/dist/migrations/20240116104456-drop-unused-column-permissionid.js +14 -0
- package/dist/migrations/20240116104456-drop-unused-column-permissionid.js.map +1 -0
- package/dist/migrations/20240116154700-unleash-admin-token-user.d.ts +3 -0
- package/dist/migrations/20240116154700-unleash-admin-token-user.d.ts.map +1 -0
- package/dist/migrations/20240116154700-unleash-admin-token-user.js +15 -0
- package/dist/migrations/20240116154700-unleash-admin-token-user.js.map +1 -0
- package/dist/migrations/20240117093601-add-more-granular-project-permissions.d.ts +3 -0
- package/dist/migrations/20240117093601-add-more-granular-project-permissions.d.ts.map +1 -0
- package/dist/migrations/20240117093601-add-more-granular-project-permissions.js +27 -0
- package/dist/migrations/20240117093601-add-more-granular-project-permissions.js.map +1 -0
- package/dist/migrations/20240118093611-missing-primary-keys.d.ts +3 -0
- package/dist/migrations/20240118093611-missing-primary-keys.d.ts.map +1 -0
- package/dist/migrations/20240118093611-missing-primary-keys.js +17 -0
- package/dist/migrations/20240118093611-missing-primary-keys.js.map +1 -0
- package/dist/migrations/20240119171200-action-states.d.ts +3 -0
- package/dist/migrations/20240119171200-action-states.d.ts.map +1 -0
- package/dist/migrations/20240119171200-action-states.js +23 -0
- package/dist/migrations/20240119171200-action-states.js.map +1 -0
- package/dist/migrations/20240124123000-add-enabled-to-action-sets.d.ts +3 -0
- package/dist/migrations/20240124123000-add-enabled-to-action-sets.d.ts.map +1 -0
- package/dist/migrations/20240124123000-add-enabled-to-action-sets.js +12 -0
- package/dist/migrations/20240124123000-add-enabled-to-action-sets.js.map +1 -0
- package/dist/migrations/20240125084701-add-user-trends.d.ts +3 -0
- package/dist/migrations/20240125084701-add-user-trends.d.ts.map +1 -0
- package/dist/migrations/20240125084701-add-user-trends.js +14 -0
- package/dist/migrations/20240125084701-add-user-trends.js.map +1 -0
- package/dist/migrations/20240125085703-users-table-increae-image-url-size.d.ts +3 -0
- package/dist/migrations/20240125085703-users-table-increae-image-url-size.d.ts.map +1 -0
- package/dist/migrations/20240125085703-users-table-increae-image-url-size.js +14 -0
- package/dist/migrations/20240125085703-users-table-increae-image-url-size.js.map +1 -0
- package/dist/migrations/20240125090553-events-fix-incorrectly-assigned-sysuser-id.d.ts +3 -0
- package/dist/migrations/20240125090553-events-fix-incorrectly-assigned-sysuser-id.d.ts.map +1 -0
- package/dist/migrations/20240125090553-events-fix-incorrectly-assigned-sysuser-id.js +18 -0
- package/dist/migrations/20240125090553-events-fix-incorrectly-assigned-sysuser-id.js.map +1 -0
- package/dist/migrations/20240125100000-events-system-user-old2new.d.ts +3 -0
- package/dist/migrations/20240125100000-events-system-user-old2new.d.ts.map +1 -0
- package/dist/migrations/20240125100000-events-system-user-old2new.js +10 -0
- package/dist/migrations/20240125100000-events-system-user-old2new.js.map +1 -0
- package/dist/migrations/20240126095544-add-flag-trends.d.ts +3 -0
- package/dist/migrations/20240126095544-add-flag-trends.d.ts.map +1 -0
- package/dist/migrations/20240126095544-add-flag-trends.js +17 -0
- package/dist/migrations/20240126095544-add-flag-trends.js.map +1 -0
- package/dist/migrations/20240130104757-flag-trends-health-time-to-production.d.ts +3 -0
- package/dist/migrations/20240130104757-flag-trends-health-time-to-production.d.ts.map +1 -0
- package/dist/migrations/20240130104757-flag-trends-health-time-to-production.js +14 -0
- package/dist/migrations/20240130104757-flag-trends-health-time-to-production.js.map +1 -0
- package/dist/migrator.js +1 -1
- package/dist/migrator.js.map +1 -1
- package/dist/server-dev.js +2 -3
- package/dist/server-dev.js.map +1 -1
- package/dist/test/arbitraries.test.d.ts +2 -2
- package/dist/test/arbitraries.test.d.ts.map +1 -1
- package/dist/test/config/test-config.d.ts.map +1 -1
- package/dist/test/config/test-config.js +1 -0
- package/dist/test/config/test-config.js.map +1 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +102 -0
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.e2e.test.js +6 -0
- package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/constraints.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/event.e2e.test.js +5 -1
- package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/favorites.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/instance-admin.e2e.test.js +10 -4
- package/dist/test/e2e/api/admin/instance-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/api-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js +3 -7
- package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/segment.e2e.test.js +2 -5
- package/dist/test/e2e/api/admin/segment.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/strategy.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/tags.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/tags.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user/pat.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/user/pat.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user/user.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js +7 -6
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/register.e2e.test.js +1 -0
- package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/segment.e2e.test.js +1 -3
- package/dist/test/e2e/api/client/segment.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/openapi/openapi.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js +84 -14
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
- package/dist/test/e2e/custom-auth.test.js.map +1 -1
- package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.d.ts +2 -0
- package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.d.ts.map +1 -0
- package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js +223 -0
- package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js.map +1 -0
- package/dist/test/e2e/health.e2e.test.js.map +1 -1
- package/dist/test/e2e/helpers/app.utils.d.ts +1 -1
- package/dist/test/e2e/helpers/app.utils.d.ts.map +1 -1
- package/dist/test/e2e/helpers/database-init.d.ts +1 -1
- package/dist/test/e2e/helpers/database-init.d.ts.map +1 -1
- package/dist/test/e2e/helpers/database-init.js +2 -0
- package/dist/test/e2e/helpers/database-init.js.map +1 -1
- package/dist/test/e2e/helpers/test-helper.d.ts +4 -2
- package/dist/test/e2e/helpers/test-helper.d.ts.map +1 -1
- package/dist/test/e2e/helpers/test-helper.js.map +1 -1
- package/dist/test/e2e/migrator.e2e.test.js +27 -1
- package/dist/test/e2e/migrator.e2e.test.js.map +1 -1
- package/dist/test/e2e/routes/routes.test.js.map +1 -1
- package/dist/test/e2e/services/access-service.e2e.test.js +26 -8
- package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/playground-service.test.d.ts +2 -2
- package/dist/test/e2e/services/playground-service.test.d.ts.map +1 -1
- package/dist/test/e2e/services/playground-service.test.js +7 -6
- package/dist/test/e2e/services/playground-service.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +0 -5
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +6 -6
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/setting-service.test.js.map +1 -1
- package/dist/test/e2e/services/state-service.e2e.test.js +9 -7
- package/dist/test/e2e/services/state-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +48 -1
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-application-store.e2e.test.js +6 -2
- package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-environment-store.e2e.test.js +76 -0
- package/dist/test/e2e/stores/feature-environment-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-toggle-client-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/feature-toggle-client-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-type-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/project-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/setting-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/user-feedback-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/user-splash-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/user-store.e2e.test.js +4 -3
- package/dist/test/e2e/stores/user-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/system-user-migration.test.js +1 -1
- package/dist/test/fixtures/fake-access-store.d.ts +1 -1
- package/dist/test/fixtures/fake-access-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-access-store.js.map +1 -1
- package/dist/test/fixtures/fake-client-instance-store.d.ts +1 -0
- package/dist/test/fixtures/fake-client-instance-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-client-instance-store.js +3 -0
- package/dist/test/fixtures/fake-client-instance-store.js.map +1 -1
- package/dist/test/fixtures/fake-event-store.d.ts +2 -1
- package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-event-store.js +3 -0
- package/dist/test/fixtures/fake-event-store.js.map +1 -1
- package/dist/test/fixtures/fake-favorite-features-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-favorite-features-store.js.map +1 -1
- package/dist/test/fixtures/fake-favorite-projects-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-favorite-projects-store.js.map +1 -1
- package/dist/test/fixtures/fake-project-stats-store.d.ts +2 -2
- package/dist/test/fixtures/fake-project-stats-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-project-store.d.ts +1 -1
- package/dist/test/fixtures/fake-project-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-project-store.js +8 -1
- package/dist/test/fixtures/fake-project-store.js.map +1 -1
- package/dist/test/fixtures/fake-role-store.d.ts +4 -4
- package/dist/test/fixtures/fake-role-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-strategies-store.js +1 -1
- package/dist/test/fixtures/fake-strategies-store.js.map +1 -1
- package/dist/test/fixtures/store.js +2 -2
- package/dist/test/fixtures/store.js.map +1 -1
- package/frontend/build/index.html +2 -2
- package/frontend/build/static/AdvancedPlayground-DoQ1u8B6.js +4 -0
- package/frontend/build/static/{CreateProject-aN-UGdcb.js → CreateProject-iLBz5afO.js} +2 -2
- package/frontend/build/static/{FeatureArchiveDialog-eHyhx7Yo.js → FeatureArchiveDialog-NSAcrt7Z.js} +2 -2
- package/frontend/build/static/FeatureMetricsChart-UhDepK_o.js +2 -0
- package/frontend/build/static/FeatureViewLazyExport-SpKYIb_J.js +25 -0
- package/frontend/build/static/LazyAdminExport-w5iLam_A.js +44 -0
- package/frontend/build/static/LazyProjectExport-iqGbEmyw.js +27 -0
- package/frontend/build/static/LineChartComponent-rG1KLVNr.js +1 -0
- package/frontend/build/static/NetworkOverview-7SCGp57r.js +1304 -0
- package/frontend/build/static/NetworkTraffic-awTd8Zg5.js +1 -0
- package/frontend/build/static/ReactJSONEditor-N-DWXE0h.js +106 -0
- package/frontend/build/static/RoleCell-mJ7DV61l.js +1 -0
- package/frontend/build/static/{StrategyItemContainer-JoMPKX3L.js → StrategyItemContainer-wxQbaPXr.js} +1 -1
- package/frontend/build/static/changeRequestProcessWithSchedule-ZryCFkCp.svg +1 -0
- package/frontend/build/static/{flowchart-elk-definition-170a3958-NkZoK_zv.js → flowchart-elk-definition-170a3958-fa48ti80.js} +2 -2
- package/frontend/build/static/index-TzAeUmk4.js +10 -0
- package/frontend/build/static/index-p2PlVFLf.js +524 -0
- package/frontend/build/static/index-pAMHRYpv.js +1 -0
- package/frontend/build/static/is_dark-aAyqOy_I.js +1 -0
- package/frontend/build/static/{mindmap-definition-44684416-obuYUG0L.js → mindmap-definition-44684416-AfCKDD9v.js} +2 -2
- package/frontend/build/static/{style-gSb9cHBe.css → style-4Ai58kIl.css} +1 -1
- package/frontend/build/static/{timeline-definition-8e5a9bc6-33WsNwwr.js → timeline-definition-8e5a9bc6-NKNlIEgm.js} +2 -2
- package/frontend/build/static/uniqueId-ebLYlRiD.js +1 -0
- package/frontend/build/static/{unknownify-YD2Teyht.js → unknownify-g-QgUElr.js} +1 -1
- package/frontend/build/static/{useApiTokens-XTOY616x.js → useApiTokens-hvnEZWgJ.js} +1 -1
- package/frontend/build/static/{useProjectForm--jxh4Dtm.js → useProjectForm-zqz6LJw4.js} +1 -1
- package/frontend/build/static/vanilla-picker-P0dws0ou.js +8 -0
- package/frontend/package.json +32 -23
- package/package.json +10 -10
- package/dist/lib/db/client-metrics-store-v2.d.ts.map +0 -1
- package/dist/lib/db/client-metrics-store-v2.js +0 -173
- package/dist/lib/db/client-metrics-store-v2.js.map +0 -1
- package/dist/lib/db/event-store.test.d.ts.map +0 -1
- package/dist/lib/db/event-store.test.js.map +0 -1
- package/dist/lib/routes/admin-api/client-metrics.d.ts.map +0 -1
- package/dist/lib/routes/client-api/metrics.d.ts.map +0 -1
- package/dist/lib/routes/client-api/metrics.js.map +0 -1
- package/dist/lib/routes/client-api/metrics.test.d.ts.map +0 -1
- package/dist/lib/routes/client-api/metrics.test.js.map +0 -1
- package/dist/lib/routes/client-api/register.d.ts.map +0 -1
- package/dist/lib/routes/client-api/register.js.map +0 -1
- package/dist/lib/routes/client-api/register.test.d.ts.map +0 -1
- package/dist/lib/routes/client-api/register.test.js.map +0 -1
- package/dist/lib/services/client-metrics/instance-service.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/instance-service.js.map +0 -1
- package/dist/lib/services/client-metrics/instance-service.test.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/instance-service.test.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/createLastSeenService.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/createLastSeenService.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/fake-last-seen-read-model.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/fake-last-seen-read-model.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/fake-last-seen-store.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/fake-last-seen-store.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-read-model.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-read-model.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-service.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-service.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-store.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-store.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.test.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.test.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/types/last-seen-read-model-type.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/types/last-seen-read-model-type.js.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/types/last-seen-store-type.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/last-seen/types/last-seen-store-type.js.map +0 -1
- package/dist/lib/services/client-metrics/metrics-service-v2.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/metrics-service-v2.js.map +0 -1
- package/dist/lib/services/client-metrics/metrics-service-v2.test.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/metrics-service-v2.test.js +0 -99
- package/dist/lib/services/client-metrics/metrics-service-v2.test.js.map +0 -1
- package/dist/lib/services/client-metrics/models.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/models.js.map +0 -1
- package/dist/lib/services/client-metrics/schema.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/schema.js.map +0 -1
- package/dist/lib/services/client-metrics/schema.test.d.ts.map +0 -1
- package/dist/lib/services/client-metrics/schema.test.js.map +0 -1
- package/dist/lib/types/stores/client-metrics-store-v2.d.ts.map +0 -1
- package/dist/lib/types/stores/client-metrics-store-v2.js.map +0 -1
- package/dist/lib/util/collapseHourlyMetrics.d.ts.map +0 -1
- package/dist/lib/util/collapseHourlyMetrics.js.map +0 -1
- package/dist/lib/util/collapseHourlyMetrics.test.d.ts.map +0 -1
- package/dist/lib/util/collapseHourlyMetrics.test.js.map +0 -1
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.d.ts.map +0 -1
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +0 -1
- package/dist/test/e2e/services/client-metrics-service.e2e.test.d.ts.map +0 -1
- package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +0 -1
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.d.ts.map +0 -1
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +0 -1
- package/dist/test/fixtures/fake-client-metrics-store-v2.d.ts.map +0 -1
- package/dist/test/fixtures/fake-client-metrics-store-v2.js.map +0 -1
- package/frontend/build/static/AdvancedPlayground-FxfPUa2V.js +0 -13
- package/frontend/build/static/FeatureMetricsChart-ExGq1eXl.js +0 -2
- package/frontend/build/static/FeatureViewLazyExport-S8mj8m0z.js +0 -25
- package/frontend/build/static/LazyAdminExport-fpVZFnP9.js +0 -44
- package/frontend/build/static/LazyProjectExport-_QSE5C5m.js +0 -25
- package/frontend/build/static/NetworkOverview-ylTzmeDg.js +0 -1304
- package/frontend/build/static/NetworkTraffic-qj5h7JRk.js +0 -1
- package/frontend/build/static/ReactJSONEditor-E59dRBYR.js +0 -129
- package/frontend/build/static/RoleCell-TGTVkKHO.js +0 -1
- package/frontend/build/static/chartjs-adapter-date-fns.esm-JSlDxtwH.js +0 -23
- package/frontend/build/static/index-JVRlSBvr.js +0 -501
- package/frontend/build/static/is_dark-gjUQW15t.js +0 -1
- /package/dist/lib/{db → features/events}/event-store.test.d.ts +0 -0
- /package/dist/{test/e2e/services → lib/features/metrics/client-metrics}/client-metrics-service.e2e.test.d.ts +0 -0
- /package/dist/{test/e2e/stores → lib/features/metrics/client-metrics}/client-metrics-store-v2.e2e.test.d.ts +0 -0
- /package/dist/{test/e2e/api/admin → lib/features/metrics/client-metrics}/client-metrics.e2e.test.d.ts +0 -0
- /package/dist/lib/{util → features/metrics/client-metrics}/collapseHourlyMetrics.js +0 -0
- /package/dist/lib/{util → features/metrics/client-metrics}/collapseHourlyMetrics.test.d.ts +0 -0
- /package/dist/lib/{util → features/metrics/client-metrics}/collapseHourlyMetrics.test.js +0 -0
- /package/dist/lib/{services → features/metrics}/client-metrics/metrics-service-v2.test.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.test.d.ts +0 -0
- /package/dist/lib/{routes/client-api → features/metrics/instance}/metrics.test.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics/instance}/models.js +0 -0
- /package/dist/lib/{routes/client-api → features/metrics/instance}/register.test.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/createLastSeenService.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/fake-last-seen-read-model.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/fake-last-seen-read-model.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/fake-last-seen-store.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/fake-last-seen-store.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-read-model.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-read-model.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-service.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-store.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/tests/last-seen-service.e2e.test.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/tests/last-seen-service.e2e.test.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/tests/last-seen-service.test.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/tests/last-seen-service.test.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/types/last-seen-read-model-type.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/types/last-seen-read-model-type.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/types/last-seen-store-type.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/types/last-seen-store-type.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics/shared}/schema.js +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics/shared}/schema.test.d.ts +0 -0
- /package/dist/lib/{services/client-metrics → features/metrics/shared}/schema.test.js +0 -0
|
@@ -3,19 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const controller_1 = __importDefault(require("
|
|
7
|
-
const permissions_1 = require("
|
|
8
|
-
const create_response_schema_1 = require("
|
|
9
|
-
const serialize_dates_1 = require("
|
|
10
|
-
const feature_usage_schema_1 = require("
|
|
11
|
-
const feature_metrics_schema_1 = require("
|
|
12
|
-
const openapi_1 = require("
|
|
6
|
+
const controller_1 = __importDefault(require("../../../routes/controller"));
|
|
7
|
+
const permissions_1 = require("../../../types/permissions");
|
|
8
|
+
const create_response_schema_1 = require("../../../openapi/util/create-response-schema");
|
|
9
|
+
const serialize_dates_1 = require("../../../types/serialize-dates");
|
|
10
|
+
const feature_usage_schema_1 = require("../../../openapi/spec/feature-usage-schema");
|
|
11
|
+
const feature_metrics_schema_1 = require("../../../openapi/spec/feature-metrics-schema");
|
|
12
|
+
const openapi_1 = require("../../../openapi");
|
|
13
13
|
class ClientMetricsController extends controller_1.default {
|
|
14
14
|
constructor(config, { clientMetricsServiceV2, openApiService, }) {
|
|
15
15
|
super(config);
|
|
16
16
|
this.logger = config.getLogger('/admin-api/client-metrics.ts');
|
|
17
17
|
this.metrics = clientMetricsServiceV2;
|
|
18
18
|
this.openApiService = openApiService;
|
|
19
|
+
this.flagResolver = config.flagResolver;
|
|
19
20
|
this.route({
|
|
20
21
|
method: 'get',
|
|
21
22
|
path: '/features/:name/raw',
|
|
@@ -69,13 +70,16 @@ class ClientMetricsController extends controller_1.default {
|
|
|
69
70
|
return undefined;
|
|
70
71
|
}
|
|
71
72
|
const parsed = Number(param);
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
const max = this.flagResolver.isEnabled('extendedUsageMetrics')
|
|
74
|
+
? ClientMetricsController.HOURS_BACK_MAX_V2
|
|
75
|
+
: ClientMetricsController.HOURS_BACK_MAX;
|
|
76
|
+
if (parsed >= ClientMetricsController.HOURS_BACK_MIN && parsed <= max) {
|
|
74
77
|
return parsed;
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
ClientMetricsController.HOURS_BACK_MIN = 1;
|
|
79
82
|
ClientMetricsController.HOURS_BACK_MAX = 48;
|
|
83
|
+
ClientMetricsController.HOURS_BACK_MAX_V2 = 24 * 91; // 91 days
|
|
80
84
|
exports.default = ClientMetricsController;
|
|
81
85
|
//# sourceMappingURL=client-metrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-metrics.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"client-metrics.js","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/client-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IClientMetricsEnv, IClientMetricsEnvVariant } from '
|
|
1
|
+
import { IClientMetricsEnv, IClientMetricsEnvVariant } from './client-metrics-store-v2-type';
|
|
2
2
|
export declare const collapseHourlyMetrics: (metrics: IClientMetricsEnv[]) => IClientMetricsEnv[];
|
|
3
3
|
export declare const spreadVariants: (metrics: IClientMetricsEnv[]) => IClientMetricsEnvVariant[];
|
|
4
4
|
//# sourceMappingURL=collapseHourlyMetrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapseHourlyMetrics.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/collapseHourlyMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,wBAAwB,EAC3B,MAAM,gCAAgC,CAAC;AA+BxC,eAAO,MAAM,qBAAqB,YACrB,iBAAiB,EAAE,KAC7B,iBAAiB,EAuBnB,CAAC;AAEF,eAAO,MAAM,cAAc,YACd,iBAAiB,EAAE,KAC7B,wBAAwB,EAc1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapseHourlyMetrics.js","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/collapseHourlyMetrics.ts"],"names":[],"mappings":";;;AAIA,uCAAuC;AAEvC,MAAM,eAAe,GAAG,CAAC,MAAyB,EAAU,EAAE;IAC1D,OAAO;QACH,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;KAC7B,CAAC,IAAI,EAAE,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACjB,WAAmC,EACnC,YAAoC,EACd,EAAE;IACxB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;QAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;KAC7D;IAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC5B,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;SACnC;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CACjC,OAA4B,EACT,EAAE;IACrB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACvB,MAAM,YAAY,GAAG;YACjB,GAAG,MAAM;YACT,SAAS,EAAE,IAAA,sBAAW,EAAC,MAAM,CAAC,SAAS,CAAC;SAC3C,CAAC;QACF,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;SAC/B;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAErD,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACjB,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,YAAY,CAChC,MAAM,CAAC,QAAQ,EACf,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAC9B,CAAC;aACL;SACJ;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC;AAzBW,QAAA,qBAAqB,yBAyBhC;AAEK,MAAM,cAAc,GAAG,CAC1B,OAA4B,EACF,EAAE;IAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO,EAAE,CAAC;SACb;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO;YACP,KAAK;SACR,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapseHourlyMetrics.test.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapseHourlyMetrics.test.js","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.ts"],"names":[],"mappings":"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"}
|
package/dist/{test/fixtures → lib/features/metrics/client-metrics}/fake-client-metrics-store-v2.d.ts
RENAMED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import EventEmitter from 'events';
|
|
3
|
-
import { IClientMetricsEnv, IClientMetricsEnvKey, IClientMetricsStoreV2 } from '
|
|
3
|
+
import { IClientMetricsEnv, IClientMetricsEnvKey, IClientMetricsStoreV2 } from './client-metrics-store-v2-type';
|
|
4
4
|
export default class FakeClientMetricsStoreV2 extends EventEmitter implements IClientMetricsStoreV2 {
|
|
5
5
|
metrics: IClientMetricsEnv[];
|
|
6
6
|
constructor();
|
|
7
7
|
getSeenTogglesForApp(appName: string, hoursBack?: number): Promise<string[]>;
|
|
8
8
|
clearMetrics(hoursBack: number): Promise<void>;
|
|
9
|
+
clearDailyMetrics(daysBack: number): Promise<void>;
|
|
10
|
+
countPreviousDayHourlyMetricsBuckets(): Promise<{
|
|
11
|
+
enabledCount: number;
|
|
12
|
+
variantCount: number;
|
|
13
|
+
}>;
|
|
14
|
+
countPreviousDayMetricsBuckets(): Promise<{
|
|
15
|
+
enabledCount: number;
|
|
16
|
+
variantCount: number;
|
|
17
|
+
}>;
|
|
18
|
+
aggregateDailyMetrics(): Promise<void>;
|
|
9
19
|
getSeenAppsForFeatureToggle(featureName: string, hoursBack?: number): Promise<string[]>;
|
|
10
20
|
getMetricsForFeatureToggle(featureName: string, hoursBack?: number): Promise<IClientMetricsEnv[]>;
|
|
21
|
+
getMetricsForFeatureToggleV2(featureName: string, hoursBack?: number): Promise<IClientMetricsEnv[]>;
|
|
11
22
|
batchInsertMetrics(metrics: IClientMetricsEnv[]): Promise<void>;
|
|
12
23
|
get(key: IClientMetricsEnvKey): Promise<IClientMetricsEnv>;
|
|
13
24
|
getAll(query?: Object): Promise<IClientMetricsEnv[]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-client-metrics-store-v2.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.ts"],"names":[],"mappings":";AAEA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,gCAAgC,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,wBACjB,SAAQ,YACR,YAAW,qBAAqB;IAEhC,OAAO,EAAE,iBAAiB,EAAE,CAAM;;IAMlC,oBAAoB,CAChB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAGpB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAG9C,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGlD,oCAAoC,IAAI,OAAO,CAAC;QAC5C,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IAGF,8BAA8B,IAAI,OAAO,CAAC;QACtC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IAGF,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAGtC,2BAA2B,CACvB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAGpB,0BAA0B,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAG/B,4BAA4B,CACxB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAG/B,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAG1D,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAGpD,MAAM,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAGnD,MAAM,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,kBAAkB,IAAI,OAAO,CAAC,EAAE,CAAC;IAIjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,OAAO,IAAI,IAAI;CAClB"}
|
package/dist/{test/fixtures → lib/features/metrics/client-metrics}/fake-client-metrics-store-v2.js
RENAMED
|
@@ -18,12 +18,27 @@ class FakeClientMetricsStoreV2 extends events_1.default {
|
|
|
18
18
|
clearMetrics(hoursBack) {
|
|
19
19
|
return Promise.resolve();
|
|
20
20
|
}
|
|
21
|
+
clearDailyMetrics(daysBack) {
|
|
22
|
+
return Promise.resolve();
|
|
23
|
+
}
|
|
24
|
+
countPreviousDayHourlyMetricsBuckets() {
|
|
25
|
+
return Promise.resolve({ enabledCount: 0, variantCount: 0 });
|
|
26
|
+
}
|
|
27
|
+
countPreviousDayMetricsBuckets() {
|
|
28
|
+
return Promise.resolve({ enabledCount: 0, variantCount: 0 });
|
|
29
|
+
}
|
|
30
|
+
aggregateDailyMetrics() {
|
|
31
|
+
return Promise.resolve();
|
|
32
|
+
}
|
|
21
33
|
getSeenAppsForFeatureToggle(featureName, hoursBack) {
|
|
22
34
|
throw new Error('Method not implemented.');
|
|
23
35
|
}
|
|
24
36
|
getMetricsForFeatureToggle(featureName, hoursBack) {
|
|
25
37
|
throw new Error('Method not implemented.');
|
|
26
38
|
}
|
|
39
|
+
getMetricsForFeatureToggleV2(featureName, hoursBack) {
|
|
40
|
+
throw new Error('Method not implemented.');
|
|
41
|
+
}
|
|
27
42
|
batchInsertMetrics(metrics) {
|
|
28
43
|
metrics.forEach((m) => this.metrics.push(m));
|
|
29
44
|
return Promise.resolve();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-client-metrics-store-v2.js","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.ts"],"names":[],"mappings":";;;;;AAAA,mEAAmE;AACnE,sDAAsD;AACtD,oDAAkC;AAOlC,MAAqB,wBACjB,SAAQ,gBAAY;IAKpB;QACI,KAAK,EAAE,CAAC;QAHZ,YAAO,GAAwB,EAAE,CAAC;QAI9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,oBAAoB,CAChB,OAAe,EACf,SAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,YAAY,CAAC,SAAiB;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,iBAAiB,CAAC,QAAgB;QAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,oCAAoC;QAIhC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,8BAA8B;QAI1B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,qBAAqB;QACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,2BAA2B,CACvB,WAAmB,EACnB,SAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,0BAA0B,CACtB,WAAmB,EACnB,SAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,4BAA4B,CACxB,WAAmB,EACnB,SAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,kBAAkB,CAAC,OAA4B;QAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,GAAyB;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,KAAc;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,GAAyB;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,GAAyB;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAU,CAAC;CACrB;AArFD,2CAqFC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { IUnleashConfig } from '
|
|
2
|
-
import { IUnleashStores } from '
|
|
3
|
-
import { ToggleMetricsSummary } from '
|
|
4
|
-
import { IClientMetricsEnv } from '
|
|
5
|
-
import { IApiUser } from '
|
|
6
|
-
import { IUser } from '
|
|
7
|
-
import { LastSeenService } from '
|
|
8
|
-
import { ClientMetricsSchema } from 'lib/openapi';
|
|
1
|
+
import { IUnleashConfig } from '../../../types';
|
|
2
|
+
import { IUnleashStores } from '../../../types';
|
|
3
|
+
import { ToggleMetricsSummary } from '../../../types/models/metrics';
|
|
4
|
+
import { IClientMetricsEnv } from './client-metrics-store-v2-type';
|
|
5
|
+
import { IApiUser } from '../../../types/api-user';
|
|
6
|
+
import { IUser } from '../../../types/user';
|
|
7
|
+
import { LastSeenService } from '../last-seen/last-seen-service';
|
|
8
|
+
import { ClientMetricsSchema } from '../../../../lib/openapi';
|
|
9
9
|
export default class ClientMetricsServiceV2 {
|
|
10
10
|
private config;
|
|
11
11
|
private unsavedMetrics;
|
|
@@ -15,6 +15,8 @@ export default class ClientMetricsServiceV2 {
|
|
|
15
15
|
private logger;
|
|
16
16
|
constructor({ clientMetricsStoreV2 }: Pick<IUnleashStores, 'clientMetricsStoreV2'>, config: IUnleashConfig, lastSeenService: LastSeenService);
|
|
17
17
|
clearMetrics(hoursAgo: number): Promise<void>;
|
|
18
|
+
clearDailyMetrics(daysAgo: number): Promise<void>;
|
|
19
|
+
aggregateDailyMetrics(): Promise<void>;
|
|
18
20
|
filterValidToggleNames(toggleNames: string[]): Promise<string[]>;
|
|
19
21
|
registerBulkMetrics(metrics: IClientMetricsEnv[]): Promise<void>;
|
|
20
22
|
registerClientMetrics(data: ClientMetricsSchema, clientIp: string): Promise<void>;
|
|
@@ -24,5 +26,6 @@ export default class ClientMetricsServiceV2 {
|
|
|
24
26
|
resolveMetricsEnvironment(user: IUser | IApiUser, data: {
|
|
25
27
|
environment?: string;
|
|
26
28
|
}): string;
|
|
29
|
+
resolveUserEnvironment(user: IUser | IApiUser): string;
|
|
27
30
|
}
|
|
28
31
|
//# sourceMappingURL=metrics-service-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-service-v2.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/metrics-service-v2.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACH,iBAAiB,EAEpB,MAAM,gCAAgC,CAAC;AAIxC,OAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAMjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACvC,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,cAAc,CAA2B;IAEjD,OAAO,CAAC,oBAAoB,CAAwB;IAEpD,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,YAAY,CAAkD;IAEtE,OAAO,CAAC,MAAM,CAAS;gBAGnB,EAAE,oBAAoB,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,EACtE,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,eAAe;IAW9B,YAAY,CAAC,QAAQ,EAAE,MAAM;IAI7B,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAMjC,qBAAqB;IAuCrB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0BhE,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,qBAAqB,CACvB,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAmCV,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,8BAA8B,CAChC,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC;IAiC1B,yBAAyB,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAW,GACvB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA2D/B,yBAAyB,CACrB,IAAI,EAAE,KAAK,GAAG,QAAQ,EACtB,IAAI,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/B,MAAM;IAWT,sBAAsB,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM;CAMzD"}
|
|
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const schema_1 = require("
|
|
6
|
+
const schema_1 = require("../shared/schema");
|
|
7
7
|
const date_fns_1 = require("date-fns");
|
|
8
|
-
const events_1 = require("
|
|
9
|
-
const api_user_1 = __importDefault(require("
|
|
10
|
-
const api_token_1 = require("
|
|
11
|
-
const collapseHourlyMetrics_1 = require("
|
|
12
|
-
const time_utils_1 = require("
|
|
13
|
-
const feature_schema_1 = require("
|
|
8
|
+
const events_1 = require("../../../types/events");
|
|
9
|
+
const api_user_1 = __importDefault(require("../../../types/api-user"));
|
|
10
|
+
const api_token_1 = require("../../../types/models/api-token");
|
|
11
|
+
const collapseHourlyMetrics_1 = require("./collapseHourlyMetrics");
|
|
12
|
+
const time_utils_1 = require("../../../util/time-utils");
|
|
13
|
+
const feature_schema_1 = require("../../../schema/feature-schema");
|
|
14
14
|
class ClientMetricsServiceV2 {
|
|
15
15
|
constructor({ clientMetricsStoreV2 }, config, lastSeenService) {
|
|
16
16
|
this.unsavedMetrics = [];
|
|
@@ -23,6 +23,32 @@ class ClientMetricsServiceV2 {
|
|
|
23
23
|
async clearMetrics(hoursAgo) {
|
|
24
24
|
return this.clientMetricsStoreV2.clearMetrics(hoursAgo);
|
|
25
25
|
}
|
|
26
|
+
async clearDailyMetrics(daysAgo) {
|
|
27
|
+
if (this.flagResolver.isEnabled('extendedUsageMetrics')) {
|
|
28
|
+
return this.clientMetricsStoreV2.clearDailyMetrics(daysAgo);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async aggregateDailyMetrics() {
|
|
32
|
+
if (this.flagResolver.isEnabled('extendedUsageMetrics')) {
|
|
33
|
+
const { enabledCount: hourlyEnabledCount, variantCount: hourlyVariantCount, } = await this.clientMetricsStoreV2.countPreviousDayHourlyMetricsBuckets();
|
|
34
|
+
const { enabledCount: dailyEnabledCount, variantCount: dailyVariantCount, } = await this.clientMetricsStoreV2.countPreviousDayMetricsBuckets();
|
|
35
|
+
const { payload } = this.flagResolver.getVariant('extendedUsageMetrics');
|
|
36
|
+
const limit = payload?.value && Number.isInteger(parseInt(payload?.value))
|
|
37
|
+
? parseInt(payload?.value)
|
|
38
|
+
: 3600000;
|
|
39
|
+
const totalHourlyCount = hourlyEnabledCount + hourlyVariantCount;
|
|
40
|
+
const totalDailyCount = dailyEnabledCount + dailyVariantCount;
|
|
41
|
+
const previousDayDailyCountCalculated = totalDailyCount > totalHourlyCount / 24; // heuristic
|
|
42
|
+
if (previousDayDailyCountCalculated) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (totalHourlyCount > limit) {
|
|
46
|
+
this.logger.warn(`Skipping previous day metrics aggregation. Too many results. Expected max value: ${limit}, Actual value: ${totalHourlyCount}`);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
await this.clientMetricsStoreV2.aggregateDailyMetrics();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
26
52
|
async filterValidToggleNames(toggleNames) {
|
|
27
53
|
const nameValidations = toggleNames.map((toggleName) => feature_schema_1.nameSchema.validateAsync({ name: toggleName }));
|
|
28
54
|
const badNames = (await Promise.allSettled(nameValidations)).filter((r) => r.status === 'rejected');
|
|
@@ -97,8 +123,21 @@ class ClientMetricsServiceV2 {
|
|
|
97
123
|
};
|
|
98
124
|
}
|
|
99
125
|
async getClientMetricsForToggle(featureName, hoursBack = 24) {
|
|
100
|
-
|
|
101
|
-
|
|
126
|
+
let hours;
|
|
127
|
+
let metrics;
|
|
128
|
+
if (this.flagResolver.isEnabled('extendedUsageMetrics')) {
|
|
129
|
+
metrics =
|
|
130
|
+
await this.clientMetricsStoreV2.getMetricsForFeatureToggleV2(featureName, hoursBack);
|
|
131
|
+
hours =
|
|
132
|
+
hoursBack > 48
|
|
133
|
+
? (0, time_utils_1.generateDayBuckets)(Math.floor(hoursBack / 24))
|
|
134
|
+
: (0, time_utils_1.generateHourBuckets)(hoursBack);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
metrics =
|
|
138
|
+
await this.clientMetricsStoreV2.getMetricsForFeatureToggle(featureName, hoursBack);
|
|
139
|
+
hours = (0, time_utils_1.generateHourBuckets)(hoursBack);
|
|
140
|
+
}
|
|
102
141
|
const environments = [...new Set(metrics.map((x) => x.environment))];
|
|
103
142
|
const applications = [...new Set(metrics.map((x) => x.appName))].slice(0, 100);
|
|
104
143
|
const result = environments.flatMap((environment) => {
|
|
@@ -132,6 +171,12 @@ class ClientMetricsServiceV2 {
|
|
|
132
171
|
}
|
|
133
172
|
return 'default';
|
|
134
173
|
}
|
|
174
|
+
resolveUserEnvironment(user) {
|
|
175
|
+
if (user instanceof api_user_1.default && user.environment !== api_token_1.ALL) {
|
|
176
|
+
return user.environment;
|
|
177
|
+
}
|
|
178
|
+
return 'default';
|
|
179
|
+
}
|
|
135
180
|
}
|
|
136
181
|
exports.default = ClientMetricsServiceV2;
|
|
137
182
|
//# sourceMappingURL=metrics-service-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-service-v2.js","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/metrics-service-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-service-v2.test.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/metrics-service-v2.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const metrics_service_v2_1 = __importDefault(require("./metrics-service-v2"));
|
|
7
|
+
const no_logger_1 = __importDefault(require("../../../../test/fixtures/no-logger"));
|
|
8
|
+
const store_1 = __importDefault(require("../../../../test/fixtures/store"));
|
|
9
|
+
const events_1 = __importDefault(require("events"));
|
|
10
|
+
const last_seen_service_1 = require("../last-seen/last-seen-service");
|
|
11
|
+
const date_fns_1 = require("date-fns");
|
|
12
|
+
function initClientMetrics(flagEnabled = true) {
|
|
13
|
+
const stores = (0, store_1.default)();
|
|
14
|
+
const eventBus = new events_1.default();
|
|
15
|
+
eventBus.emit = jest.fn();
|
|
16
|
+
const config = {
|
|
17
|
+
eventBus,
|
|
18
|
+
getLogger: no_logger_1.default,
|
|
19
|
+
flagResolver: {
|
|
20
|
+
isEnabled: () => {
|
|
21
|
+
return flagEnabled;
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
const lastSeenService = new last_seen_service_1.LastSeenService({
|
|
26
|
+
lastSeenStore: stores.lastSeenStore,
|
|
27
|
+
featureToggleStore: stores.featureToggleStore,
|
|
28
|
+
}, config);
|
|
29
|
+
lastSeenService.updateLastSeen = jest.fn();
|
|
30
|
+
const service = new metrics_service_v2_1.default(stores, config, lastSeenService);
|
|
31
|
+
return { clientMetricsService: service, eventBus, lastSeenService };
|
|
32
|
+
}
|
|
33
|
+
test('process metrics properly', async () => {
|
|
34
|
+
const { clientMetricsService, eventBus, lastSeenService } = initClientMetrics();
|
|
35
|
+
await clientMetricsService.registerClientMetrics({
|
|
36
|
+
appName: 'test',
|
|
37
|
+
bucket: {
|
|
38
|
+
start: '1982-07-25T12:00:00.000Z',
|
|
39
|
+
stop: '2023-07-25T12:00:00.000Z',
|
|
40
|
+
toggles: {
|
|
41
|
+
myCoolToggle: {
|
|
42
|
+
yes: 25,
|
|
43
|
+
no: 42,
|
|
44
|
+
variants: {
|
|
45
|
+
blue: 6,
|
|
46
|
+
green: 15,
|
|
47
|
+
red: 46,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
myOtherToggle: {
|
|
51
|
+
yes: 0,
|
|
52
|
+
no: 100,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
environment: 'test',
|
|
57
|
+
}, '127.0.0.1');
|
|
58
|
+
expect(eventBus.emit).toHaveBeenCalledTimes(1);
|
|
59
|
+
expect(lastSeenService.updateLastSeen).toHaveBeenCalledTimes(1);
|
|
60
|
+
});
|
|
61
|
+
test('process metrics properly even when some names are not url friendly, filtering out invalid names when flag is on', async () => {
|
|
62
|
+
const { clientMetricsService, eventBus, lastSeenService } = initClientMetrics();
|
|
63
|
+
await clientMetricsService.registerClientMetrics({
|
|
64
|
+
appName: 'test',
|
|
65
|
+
bucket: {
|
|
66
|
+
start: '1982-07-25T12:00:00.000Z',
|
|
67
|
+
stop: '2023-07-25T12:00:00.000Z',
|
|
68
|
+
toggles: {
|
|
69
|
+
'not url friendly ☹': {
|
|
70
|
+
yes: 0,
|
|
71
|
+
no: 100,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
environment: 'test',
|
|
76
|
+
}, '127.0.0.1');
|
|
77
|
+
// only toggle with a bad name gets filtered out
|
|
78
|
+
expect(eventBus.emit).not.toHaveBeenCalled();
|
|
79
|
+
expect(lastSeenService.updateLastSeen).not.toHaveBeenCalled();
|
|
80
|
+
});
|
|
81
|
+
test('process metrics properly even when some names are not url friendly, with default behavior when flag is off', async () => {
|
|
82
|
+
const { clientMetricsService, eventBus, lastSeenService } = initClientMetrics(false);
|
|
83
|
+
await clientMetricsService.registerClientMetrics({
|
|
84
|
+
appName: 'test',
|
|
85
|
+
bucket: {
|
|
86
|
+
start: '1982-07-25T12:00:00.000Z',
|
|
87
|
+
stop: '2023-07-25T12:00:00.000Z',
|
|
88
|
+
toggles: {
|
|
89
|
+
'not url friendly ☹': {
|
|
90
|
+
yes: 0,
|
|
91
|
+
no: 100,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
environment: 'test',
|
|
96
|
+
}, '127.0.0.1');
|
|
97
|
+
expect(eventBus.emit).toHaveBeenCalledTimes(1);
|
|
98
|
+
expect(lastSeenService.updateLastSeen).toHaveBeenCalledTimes(1);
|
|
99
|
+
});
|
|
100
|
+
test('get daily client metrics for a toggle', async () => {
|
|
101
|
+
const yesterday = (0, date_fns_1.subDays)(new Date(), 1);
|
|
102
|
+
const twoDaysAgo = (0, date_fns_1.subDays)(new Date(), 2);
|
|
103
|
+
const threeDaysAgo = (0, date_fns_1.subDays)(new Date(), 3);
|
|
104
|
+
const baseData = {
|
|
105
|
+
featureName: 'feature',
|
|
106
|
+
appName: 'test',
|
|
107
|
+
environment: 'development',
|
|
108
|
+
yes: 0,
|
|
109
|
+
no: 0,
|
|
110
|
+
};
|
|
111
|
+
const clientMetricsStoreV2 = {
|
|
112
|
+
getMetricsForFeatureToggleV2(featureName, hoursBack) {
|
|
113
|
+
return Promise.resolve([
|
|
114
|
+
{
|
|
115
|
+
...baseData,
|
|
116
|
+
timestamp: (0, date_fns_1.endOfDay)(yesterday),
|
|
117
|
+
yes: 2,
|
|
118
|
+
no: 1,
|
|
119
|
+
variants: { a: 1, b: 1 },
|
|
120
|
+
},
|
|
121
|
+
]);
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
const config = {
|
|
125
|
+
flagResolver: {
|
|
126
|
+
isEnabled() {
|
|
127
|
+
return true;
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
getLogger() { },
|
|
131
|
+
};
|
|
132
|
+
const lastSeenService = {};
|
|
133
|
+
const service = new metrics_service_v2_1.default({ clientMetricsStoreV2 }, config, lastSeenService);
|
|
134
|
+
const metrics = await service.getClientMetricsForToggle('feature', 3 * 24);
|
|
135
|
+
expect(metrics).toMatchObject([
|
|
136
|
+
{ ...baseData, timestamp: (0, date_fns_1.endOfDay)(threeDaysAgo) },
|
|
137
|
+
{ ...baseData, timestamp: (0, date_fns_1.endOfDay)(twoDaysAgo) },
|
|
138
|
+
{
|
|
139
|
+
...baseData,
|
|
140
|
+
timestamp: (0, date_fns_1.endOfDay)(yesterday),
|
|
141
|
+
yes: 2,
|
|
142
|
+
no: 1,
|
|
143
|
+
variants: { a: 1, b: 1 },
|
|
144
|
+
},
|
|
145
|
+
]);
|
|
146
|
+
});
|
|
147
|
+
test('get hourly client metrics for a toggle', async () => {
|
|
148
|
+
const hourAgo = (0, date_fns_1.startOfHour)((0, date_fns_1.subHours)(new Date(), 1));
|
|
149
|
+
const thisHour = (0, date_fns_1.startOfHour)(new Date());
|
|
150
|
+
const baseData = {
|
|
151
|
+
featureName: 'feature',
|
|
152
|
+
appName: 'test',
|
|
153
|
+
environment: 'development',
|
|
154
|
+
yes: 0,
|
|
155
|
+
no: 0,
|
|
156
|
+
};
|
|
157
|
+
const clientMetricsStoreV2 = {
|
|
158
|
+
getMetricsForFeatureToggleV2(featureName, hoursBack) {
|
|
159
|
+
return Promise.resolve([
|
|
160
|
+
{
|
|
161
|
+
...baseData,
|
|
162
|
+
timestamp: thisHour,
|
|
163
|
+
yes: 2,
|
|
164
|
+
no: 1,
|
|
165
|
+
variants: { a: 1, b: 1 },
|
|
166
|
+
},
|
|
167
|
+
]);
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
const config = {
|
|
171
|
+
flagResolver: {
|
|
172
|
+
isEnabled() {
|
|
173
|
+
return true;
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
getLogger() { },
|
|
177
|
+
};
|
|
178
|
+
const lastSeenService = {};
|
|
179
|
+
const service = new metrics_service_v2_1.default({ clientMetricsStoreV2 }, config, lastSeenService);
|
|
180
|
+
const metrics = await service.getClientMetricsForToggle('feature', 2);
|
|
181
|
+
expect(metrics).toMatchObject([
|
|
182
|
+
{ ...baseData, timestamp: hourAgo },
|
|
183
|
+
{
|
|
184
|
+
...baseData,
|
|
185
|
+
timestamp: thisHour,
|
|
186
|
+
yes: 2,
|
|
187
|
+
no: 1,
|
|
188
|
+
variants: { a: 1, b: 1 },
|
|
189
|
+
},
|
|
190
|
+
]);
|
|
191
|
+
});
|
|
192
|
+
const setupMetricsService = ({ enabledCount, variantCount, enabledDailyCount, variantDailyCount, limit, }) => {
|
|
193
|
+
let aggregationCalled = false;
|
|
194
|
+
let recordedWarning = '';
|
|
195
|
+
const clientMetricsStoreV2 = {
|
|
196
|
+
aggregateDailyMetrics() {
|
|
197
|
+
aggregationCalled = true;
|
|
198
|
+
return Promise.resolve();
|
|
199
|
+
},
|
|
200
|
+
countPreviousDayHourlyMetricsBuckets() {
|
|
201
|
+
return { enabledCount, variantCount };
|
|
202
|
+
},
|
|
203
|
+
countPreviousDayMetricsBuckets() {
|
|
204
|
+
return {
|
|
205
|
+
enabledCount: enabledDailyCount,
|
|
206
|
+
variantCount: variantDailyCount,
|
|
207
|
+
};
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
const config = {
|
|
211
|
+
flagResolver: {
|
|
212
|
+
isEnabled() {
|
|
213
|
+
return true;
|
|
214
|
+
},
|
|
215
|
+
getVariant() {
|
|
216
|
+
return { payload: { value: limit } };
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
getLogger() {
|
|
220
|
+
return {
|
|
221
|
+
warn(message) {
|
|
222
|
+
recordedWarning = message;
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
const lastSeenService = {};
|
|
228
|
+
const service = new metrics_service_v2_1.default({ clientMetricsStoreV2 }, config, lastSeenService);
|
|
229
|
+
return {
|
|
230
|
+
service,
|
|
231
|
+
aggregationCalled: () => aggregationCalled,
|
|
232
|
+
recordedWarning: () => recordedWarning,
|
|
233
|
+
};
|
|
234
|
+
};
|
|
235
|
+
test('do not aggregate previous day metrics when metrics already calculated', async () => {
|
|
236
|
+
const { service, recordedWarning, aggregationCalled } = setupMetricsService({
|
|
237
|
+
enabledCount: 2,
|
|
238
|
+
variantCount: 4,
|
|
239
|
+
enabledDailyCount: 2,
|
|
240
|
+
variantDailyCount: 4,
|
|
241
|
+
limit: 6,
|
|
242
|
+
});
|
|
243
|
+
await service.aggregateDailyMetrics();
|
|
244
|
+
expect(recordedWarning()).toBe('');
|
|
245
|
+
expect(aggregationCalled()).toBe(false);
|
|
246
|
+
});
|
|
247
|
+
test('do not aggregate previous day metrics when metrics count is below limit', async () => {
|
|
248
|
+
const { service, recordedWarning, aggregationCalled } = setupMetricsService({
|
|
249
|
+
enabledCount: 2,
|
|
250
|
+
variantCount: 4,
|
|
251
|
+
enabledDailyCount: 0,
|
|
252
|
+
variantDailyCount: 0,
|
|
253
|
+
limit: 5,
|
|
254
|
+
});
|
|
255
|
+
await service.aggregateDailyMetrics();
|
|
256
|
+
expect(recordedWarning()).toBe('Skipping previous day metrics aggregation. Too many results. Expected max value: 5, Actual value: 6');
|
|
257
|
+
expect(aggregationCalled()).toBe(false);
|
|
258
|
+
});
|
|
259
|
+
test('aggregate previous day metrics', async () => {
|
|
260
|
+
const { service, recordedWarning, aggregationCalled } = setupMetricsService({
|
|
261
|
+
enabledCount: 2,
|
|
262
|
+
variantCount: 4,
|
|
263
|
+
enabledDailyCount: 0,
|
|
264
|
+
variantDailyCount: 0,
|
|
265
|
+
limit: 6,
|
|
266
|
+
});
|
|
267
|
+
await service.aggregateDailyMetrics();
|
|
268
|
+
expect(recordedWarning()).toBe('');
|
|
269
|
+
expect(aggregationCalled()).toBe(true);
|
|
270
|
+
});
|
|
271
|
+
//# sourceMappingURL=metrics-service-v2.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-service-v2.test.js","sourceRoot":"","sources":["../../../../../src/lib/features/metrics/client-metrics/metrics-service-v2.test.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.d.ts
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IApplication } from './models';
|
|
2
|
-
import { IUnleashStores } from '
|
|
3
|
-
import { IUnleashConfig } from '
|
|
4
|
-
import { IClientApplication } from '
|
|
5
|
-
import { IApplicationQuery } from '
|
|
6
|
-
import { IClientApp } from '
|
|
7
|
-
import { PartialSome } from '
|
|
8
|
-
import { IPrivateProjectChecker } from '../../
|
|
9
|
-
import { Logger } from '
|
|
2
|
+
import { IUnleashStores } from '../../../types/stores';
|
|
3
|
+
import { IUnleashConfig } from '../../../types/option';
|
|
4
|
+
import { IClientApplication } from '../../../types/stores/client-applications-store';
|
|
5
|
+
import { IApplicationQuery } from '../../../types/query';
|
|
6
|
+
import { IClientApp } from '../../../types/model';
|
|
7
|
+
import { PartialSome } from '../../../types/partial';
|
|
8
|
+
import { IPrivateProjectChecker } from '../../private-project/privateProjectCheckerType';
|
|
9
|
+
import { Logger } from '../../../logger';
|
|
10
10
|
export default class ClientInstanceService {
|
|
11
11
|
apps: {};
|
|
12
12
|
logger: Logger;
|
|
@@ -30,5 +30,6 @@ export default class ClientInstanceService {
|
|
|
30
30
|
deleteApplication(appName: string): Promise<void>;
|
|
31
31
|
createApplication(input: IApplication): Promise<void>;
|
|
32
32
|
removeInstancesOlderThanTwoDays(): Promise<void>;
|
|
33
|
+
usesSdkOlderThan(sdkName: string, sdkVersion: string): Promise<boolean>;
|
|
33
34
|
}
|
|
34
35
|
//# sourceMappingURL=instance-service.d.ts.map
|