unleash-server 7.4.0 → 7.4.2
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/README.md +8 -3
- package/dist/lib/addons/feature-event-formatter-md.d.ts.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.js +1 -0
- package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.test.js +45 -2
- package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
- package/dist/lib/addons/slack-definition.d.ts.map +1 -1
- package/dist/lib/addons/slack-definition.js +3 -1
- package/dist/lib/addons/slack-definition.js.map +1 -1
- package/dist/lib/app.test.js +4 -0
- package/dist/lib/app.test.js.map +1 -1
- package/dist/lib/create-config.d.ts.map +1 -1
- package/dist/lib/create-config.js +6 -1
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
- package/dist/lib/db/feature-environment-store.js.map +1 -1
- package/dist/lib/db/index.d.ts.map +1 -1
- package/dist/lib/db/index.js +5 -2
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/features/access/access-read-model.d.ts.map +1 -1
- package/dist/lib/features/access/access-read-model.js +3 -2
- package/dist/lib/features/access/access-read-model.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 +14 -7
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js +54 -0
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.d.ts +1 -0
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.js +14 -0
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.js.map +1 -1
- package/dist/lib/{routes/admin-api/constraints.d.ts → features/constraints/constraints-controller.d.ts} +5 -5
- package/dist/lib/features/constraints/constraints-controller.d.ts.map +1 -0
- package/dist/lib/{routes/admin-api/constraints.js → features/constraints/constraints-controller.js} +6 -6
- package/dist/lib/features/constraints/constraints-controller.js.map +1 -0
- package/dist/lib/features/constraints/constraints-read-model-type.d.ts +6 -0
- package/dist/lib/features/constraints/constraints-read-model-type.d.ts.map +1 -0
- package/dist/lib/features/constraints/constraints-read-model-type.js +2 -0
- package/dist/lib/features/constraints/constraints-read-model-type.js.map +1 -0
- package/dist/lib/features/constraints/constraints-read-model.d.ts +11 -0
- package/dist/lib/features/constraints/constraints-read-model.d.ts.map +1 -0
- package/dist/lib/features/constraints/constraints-read-model.js +55 -0
- package/dist/lib/features/constraints/constraints-read-model.js.map +1 -0
- package/dist/lib/features/constraints/constraints-read-model.test.d.ts +2 -0
- package/dist/lib/features/constraints/constraints-read-model.test.d.ts.map +1 -0
- package/dist/lib/features/constraints/constraints-read-model.test.js +388 -0
- package/dist/lib/features/constraints/constraints-read-model.test.js.map +1 -0
- package/dist/lib/features/constraints/constraints.e2e.test.d.ts.map +1 -0
- package/dist/{test/e2e/api/admin → lib/features/constraints}/constraints.e2e.test.js +4 -4
- package/dist/lib/features/constraints/constraints.e2e.test.js.map +1 -0
- package/dist/lib/features/constraints/createConstraintsReadModel.d.ts +5 -0
- package/dist/lib/features/constraints/createConstraintsReadModel.d.ts.map +1 -0
- package/dist/lib/features/constraints/createConstraintsReadModel.js +9 -0
- package/dist/lib/features/constraints/createConstraintsReadModel.js.map +1 -0
- package/dist/lib/features/constraints/fake-constraints-read-model.d.ts +7 -0
- package/dist/lib/features/constraints/fake-constraints-read-model.d.ts.map +1 -0
- package/dist/lib/features/constraints/fake-constraints-read-model.js +11 -0
- package/dist/lib/features/constraints/fake-constraints-read-model.js.map +1 -0
- package/dist/lib/features/context/context-field-store-type.d.ts +2 -0
- package/dist/lib/features/context/context-field-store-type.d.ts.map +1 -1
- package/dist/lib/features/context/context-field-store.d.ts +2 -0
- package/dist/lib/features/context/context-field-store.d.ts.map +1 -1
- package/dist/lib/features/context/context-field-store.js +11 -0
- package/dist/lib/features/context/context-field-store.js.map +1 -1
- package/dist/lib/features/context/context-service.d.ts +8 -0
- package/dist/lib/features/context/context-service.d.ts.map +1 -1
- package/dist/lib/features/context/context-service.js +31 -0
- package/dist/lib/features/context/context-service.js.map +1 -1
- package/dist/lib/features/context/context.d.ts +10 -4
- package/dist/lib/features/context/context.d.ts.map +1 -1
- package/dist/lib/features/context/context.js +68 -33
- package/dist/lib/features/context/context.js.map +1 -1
- package/dist/lib/features/context/createContextService.js +1 -1
- package/dist/lib/features/context/createContextService.js.map +1 -1
- package/dist/lib/features/context/fake-context-field-store.d.ts +1 -0
- package/dist/lib/features/context/fake-context-field-store.d.ts.map +1 -1
- package/dist/lib/features/context/fake-context-field-store.js +4 -1
- package/dist/lib/features/context/fake-context-field-store.js.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-controller.d.ts.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-controller.js +0 -1
- package/dist/lib/features/dependent-features/dependent-features-controller.js.map +1 -1
- package/dist/lib/features/edgetokens/edge-hmac-verifier.d.ts +4 -0
- package/dist/lib/features/edgetokens/edge-hmac-verifier.d.ts.map +1 -0
- package/dist/lib/features/edgetokens/edge-hmac-verifier.js +83 -0
- package/dist/lib/features/edgetokens/edge-hmac-verifier.js.map +1 -0
- package/dist/lib/features/edgetokens/edge-token-store.d.ts +16 -0
- package/dist/lib/features/edgetokens/edge-token-store.d.ts.map +1 -0
- package/dist/lib/features/edgetokens/edge-token-store.js +101 -0
- package/dist/lib/features/edgetokens/edge-token-store.js.map +1 -0
- package/dist/lib/features/edgetokens/edge-tokens.d.ts +2 -0
- package/dist/lib/features/edgetokens/edge-tokens.d.ts.map +1 -0
- package/dist/lib/features/edgetokens/edge-tokens.js +16 -0
- package/dist/lib/features/edgetokens/edge-tokens.js.map +1 -0
- package/dist/lib/features/edgetokens/edge-tokens.test.d.ts +2 -0
- package/dist/lib/features/edgetokens/edge-tokens.test.d.ts.map +1 -0
- package/dist/lib/features/edgetokens/edge-tokens.test.js +22 -0
- package/dist/lib/features/edgetokens/edge-tokens.test.js.map +1 -0
- package/dist/lib/features/edgetokens/edge-verification.d.ts +3 -0
- package/dist/lib/features/edgetokens/edge-verification.d.ts.map +1 -0
- package/dist/lib/features/edgetokens/edge-verification.js +25 -0
- package/dist/lib/features/edgetokens/edge-verification.js.map +1 -0
- package/dist/lib/features/edgetokens/edge-verification.test.d.ts +2 -0
- package/dist/lib/features/edgetokens/edge-verification.test.d.ts.map +1 -0
- package/dist/lib/features/edgetokens/edge-verification.test.js +18 -0
- package/dist/lib/features/edgetokens/edge-verification.test.js.map +1 -0
- package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts +11 -0
- package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts.map +1 -0
- package/dist/lib/features/edgetokens/fake-edge-token-store.js +21 -0
- package/dist/lib/features/edgetokens/fake-edge-token-store.js.map +1 -0
- package/dist/lib/features/events/event-store.d.ts.map +1 -1
- package/dist/lib/features/events/event-store.js +14 -3
- package/dist/lib/features/events/event-store.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 +10 -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 +8 -3
- package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-controller.js +6 -3
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-controller.js.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.d.ts +5 -4
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.js +11 -4
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-count-controller.js.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model-type.d.ts +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model-type.d.ts.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.d.ts +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.d.ts.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.js +17 -18
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.js.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.test.js +17 -0
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-read-model.test.js.map +1 -1
- package/dist/lib/features/feature-links/createFeatureLinkService.d.ts +4 -1
- package/dist/lib/features/feature-links/createFeatureLinkService.d.ts.map +1 -1
- package/dist/lib/features/feature-links/createFeatureLinkService.js +7 -3
- package/dist/lib/features/feature-links/createFeatureLinkService.js.map +1 -1
- package/dist/lib/features/feature-links/feature-link-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-links/feature-link-controller.js +6 -3
- package/dist/lib/features/feature-links/feature-link-controller.js.map +1 -1
- package/dist/lib/features/feature-links/feature-link-service.d.ts +3 -0
- package/dist/lib/features/feature-links/feature-link-service.d.ts.map +1 -1
- package/dist/lib/features/feature-links/feature-link-service.js +5 -0
- package/dist/lib/features/feature-links/feature-link-service.js.map +1 -1
- package/dist/lib/features/feature-links/feature-link-service.test.js +20 -3
- package/dist/lib/features/feature-links/feature-link-service.test.js.map +1 -1
- package/dist/lib/features/feature-search/createFeatureSearchService.d.ts +3 -2
- package/dist/lib/features/feature-search/createFeatureSearchService.d.ts.map +1 -1
- package/dist/lib/features/feature-search/createFeatureSearchService.js +4 -4
- package/dist/lib/features/feature-search/createFeatureSearchService.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-controller.js +2 -2
- package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.d.ts +4 -2
- package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.js +12 -3
- package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
- package/dist/lib/features/feature-search/feature.search.e2e.test.js +3 -3
- package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts +2 -1
- package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/configuration-revision-service.js +16 -0
- package/dist/lib/features/feature-toggle/configuration-revision-service.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 +2 -0
- package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js +8 -2
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts +6 -0
- package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js +6 -2
- package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +6 -6
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.js +6 -44
- package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +6 -0
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.constraint-validation.test.d.ts +2 -0
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.constraint-validation.test.d.ts.map +1 -0
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.constraint-validation.test.js +185 -0
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.constraint-validation.test.js.map +1 -0
- package/dist/lib/features/frontend-api/createFrontendApiService.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/createFrontendApiService.js +2 -0
- package/dist/lib/features/frontend-api/createFrontendApiService.js.map +1 -1
- package/dist/lib/features/index.d.ts +1 -0
- package/dist/lib/features/index.d.ts.map +1 -1
- package/dist/lib/features/index.js +1 -0
- package/dist/lib/features/index.js.map +1 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.js +0 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -1
- package/dist/lib/features/instance-stats/getReadOnlyUsers.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/getReadOnlyUsers.js +1 -16
- package/dist/lib/features/instance-stats/getReadOnlyUsers.js.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.d.ts +5 -3
- package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.js +15 -2
- package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
- package/dist/lib/features/metrics/last-seen/tests/last-seen-service.test.js +2 -2
- package/dist/lib/features/metrics/last-seen/tests/last-seen-service.test.js.map +1 -1
- package/dist/lib/features/metrics/shared/schema.d.ts.map +1 -1
- package/dist/lib/features/metrics/shared/schema.js +10 -2
- package/dist/lib/features/metrics/shared/schema.js.map +1 -1
- package/dist/lib/features/metrics/shared/schema.test.js +18 -0
- package/dist/lib/features/metrics/shared/schema.test.js.map +1 -1
- package/dist/lib/features/pat/createPatService.d.ts +6 -0
- package/dist/lib/features/pat/createPatService.d.ts.map +1 -0
- package/dist/lib/features/pat/createPatService.js +15 -0
- package/dist/lib/features/pat/createPatService.js.map +1 -0
- package/dist/lib/features/pat/fake-pat-store.d.ts +18 -0
- package/dist/lib/features/pat/fake-pat-store.d.ts.map +1 -0
- package/dist/lib/features/pat/fake-pat-store.js +52 -0
- package/dist/lib/features/pat/fake-pat-store.js.map +1 -0
- package/dist/lib/{services → features/pat}/pat-service.d.ts +3 -3
- package/dist/lib/features/pat/pat-service.d.ts.map +1 -0
- package/dist/lib/{services → features/pat}/pat-service.js +5 -5
- package/dist/lib/features/pat/pat-service.js.map +1 -0
- package/dist/lib/{types/stores/pat-store.d.ts → features/pat/pat-store-type.d.ts} +2 -2
- package/dist/lib/features/pat/pat-store-type.d.ts.map +1 -0
- package/dist/lib/features/pat/pat-store-type.js +2 -0
- package/dist/lib/features/pat/pat-store-type.js.map +1 -0
- package/dist/lib/{db → features/pat}/pat-store.d.ts +4 -4
- package/dist/lib/features/pat/pat-store.d.ts.map +1 -0
- package/dist/lib/{db → features/pat}/pat-store.js +1 -1
- package/dist/lib/features/pat/pat-store.js.map +1 -0
- package/dist/lib/features/personal-dashboard/personal-dashboard-controller.d.ts.map +1 -1
- package/dist/lib/features/personal-dashboard/personal-dashboard-controller.js +4 -2
- package/dist/lib/features/personal-dashboard/personal-dashboard-controller.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/constraint.d.ts +2 -1
- package/dist/lib/features/playground/feature-evaluator/constraint.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/constraint.js +18 -0
- package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -1
- package/dist/lib/features/playground/offline-unleash-client.test.js +105 -0
- package/dist/lib/features/playground/offline-unleash-client.test.js.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/project-controller.d.ts.map +1 -1
- package/dist/lib/features/project/project-controller.js +2 -0
- package/dist/lib/features/project/project-controller.js.map +1 -1
- package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -1
- package/dist/lib/features/project-environments/environment-service.js +4 -0
- package/dist/lib/features/project-environments/environment-service.js.map +1 -1
- package/dist/lib/features/project-status/project-status-controller.d.ts.map +1 -1
- package/dist/lib/features/project-status/project-status-controller.js +2 -1
- package/dist/lib/features/project-status/project-status-controller.js.map +1 -1
- package/dist/lib/features/release-plans/createReleasePlanMilestoneStrategyService.d.ts +12 -0
- package/dist/lib/features/release-plans/createReleasePlanMilestoneStrategyService.d.ts.map +1 -0
- package/dist/lib/features/release-plans/createReleasePlanMilestoneStrategyService.js +26 -0
- package/dist/lib/features/release-plans/createReleasePlanMilestoneStrategyService.js.map +1 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts +20 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts.map +1 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js +37 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js.map +1 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.d.ts +2 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.d.ts.map +1 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js +69 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js.map +1 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts +10 -2
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js +0 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js.map +1 -1
- package/dist/lib/features/scheduler/schedule-services.d.ts.map +1 -1
- package/dist/lib/features/scheduler/schedule-services.js +3 -2
- package/dist/lib/features/scheduler/schedule-services.js.map +1 -1
- package/dist/lib/features/segment/admin-segment.e2e.test.js +117 -0
- package/dist/lib/features/segment/admin-segment.e2e.test.js.map +1 -1
- package/dist/lib/features/segment/createSegmentService.d.ts.map +1 -1
- package/dist/lib/features/segment/createSegmentService.js +7 -2
- package/dist/lib/features/segment/createSegmentService.js.map +1 -1
- package/dist/lib/features/segment/segment-controller.d.ts +2 -2
- package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-controller.js +8 -5
- package/dist/lib/features/segment/segment-controller.js.map +1 -1
- package/dist/lib/features/segment/segment-service-interface.d.ts +2 -2
- package/dist/lib/features/segment/segment-service-interface.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-service.d.ts +6 -3
- package/dist/lib/features/segment/segment-service.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-service.js +35 -5
- package/dist/lib/features/segment/segment-service.js.map +1 -1
- package/dist/lib/features/users/createUserService.d.ts.map +1 -1
- package/dist/lib/features/users/createUserService.js +3 -1
- package/dist/lib/features/users/createUserService.js.map +1 -1
- package/dist/lib/features/users/user-store.d.ts.map +1 -1
- package/dist/lib/features/users/user-store.js +8 -0
- package/dist/lib/features/users/user-store.js.map +1 -1
- package/dist/lib/features/users/user-updates-read-model.d.ts +3 -0
- package/dist/lib/features/users/user-updates-read-model.d.ts.map +1 -1
- package/dist/lib/features/users/user-updates-read-model.js +3 -0
- package/dist/lib/features/users/user-updates-read-model.js.map +1 -1
- package/dist/lib/metric-events.d.ts +15 -2
- package/dist/lib/metric-events.d.ts.map +1 -1
- package/dist/lib/metric-events.js +2 -1
- package/dist/lib/metric-events.js.map +1 -1
- package/dist/lib/metrics.d.ts.map +1 -1
- package/dist/lib/metrics.js +63 -8
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/metrics.test.js +3 -3
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/conditional-middleware.d.ts +1 -1
- package/dist/lib/middleware/conditional-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/conditional-middleware.js +2 -5
- package/dist/lib/middleware/conditional-middleware.js.map +1 -1
- package/dist/lib/middleware/response-time-metrics.test.js +4 -0
- package/dist/lib/middleware/response-time-metrics.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.d.ts.map +1 -1
- package/dist/lib/middleware/secure-headers.js +2 -0
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/openapi/spec/admin-segment-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +8 -8
- package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +17 -17
- package/dist/lib/openapi/spec/client-feature-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/client-features-delta-schema.d.ts +5 -5
- package/dist/lib/openapi/spec/client-features-schema.d.ts +5 -5
- package/dist/lib/openapi/spec/client-features-schema.test.js +12 -0
- package/dist/lib/openapi/spec/client-features-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/client-metrics-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/client-metrics-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/client-metrics-schema.js +1 -0
- package/dist/lib/openapi/spec/client-metrics-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-segment-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/constraint-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/context-field-schema.d.ts +5 -0
- package/dist/lib/openapi/spec/context-field-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/context-field-schema.js +5 -0
- package/dist/lib/openapi/spec/context-field-schema.js.map +1 -1
- package/dist/lib/openapi/spec/context-fields-schema.d.ts +5 -0
- package/dist/lib/openapi/spec/context-fields-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/context-query-parameters.d.ts +12 -0
- package/dist/lib/openapi/spec/context-query-parameters.d.ts.map +1 -0
- package/dist/lib/openapi/spec/context-query-parameters.js +12 -0
- package/dist/lib/openapi/spec/context-query-parameters.js.map +1 -0
- package/dist/lib/openapi/spec/create-context-field-schema.d.ts +5 -0
- package/dist/lib/openapi/spec/create-context-field-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-user-response-schema.d.ts +19 -1
- package/dist/lib/openapi/spec/create-user-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/create-user-response-schema.js +8 -1
- package/dist/lib/openapi/spec/create-user-response-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-user-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-user-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/create-user-schema.js +8 -1
- package/dist/lib/openapi/spec/create-user-schema.js.map +1 -1
- package/dist/lib/openapi/spec/edge-environment-projects-list-schema.d.ts +41 -0
- package/dist/lib/openapi/spec/edge-environment-projects-list-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/edge-environment-projects-list-schema.js +39 -0
- package/dist/lib/openapi/spec/edge-environment-projects-list-schema.js.map +1 -0
- package/dist/lib/openapi/spec/edge-token-schema.d.ts +6 -1
- package/dist/lib/openapi/spec/edge-token-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/edge-token-schema.js +6 -1
- package/dist/lib/openapi/spec/edge-token-schema.js.map +1 -1
- package/dist/lib/openapi/spec/environment-project-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/environments-project-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/export-result-schema.d.ts +73 -68
- package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts +17 -17
- package/dist/lib/openapi/spec/feature-schema.d.ts +34 -34
- package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +34 -34
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +36 -36
- package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/group-schema.d.ts +36 -0
- package/dist/lib/openapi/spec/group-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/group-user-model-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/group-user-model-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/groups-schema.d.ts +72 -0
- package/dist/lib/openapi/spec/groups-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/health-overview-schema.d.ts +69 -69
- package/dist/lib/openapi/spec/health-report-schema.d.ts +69 -69
- package/dist/lib/openapi/spec/index.d.ts +3 -0
- package/dist/lib/openapi/spec/index.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.js +3 -0
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +6 -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 +6 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
- package/dist/lib/openapi/spec/me-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/me-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/playground-constraint-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/playground-feature-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/playground-response-schema.d.ts +9 -9
- package/dist/lib/openapi/spec/playground-segment-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/profile-schema.d.ts +34 -34
- package/dist/lib/openapi/spec/project-environment-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +69 -69
- package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/public-signup-token-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +36 -0
- package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/release-plan-schema.d.ts +8 -8
- package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +8 -8
- package/dist/lib/openapi/spec/resource-limits-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/resource-limits-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/resource-limits-schema.js +6 -0
- package/dist/lib/openapi/spec/resource-limits-schema.js.map +1 -1
- package/dist/lib/openapi/spec/search-features-schema.d.ts +72 -72
- package/dist/lib/openapi/spec/segment-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/segments-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/signup-data-schema.d.ts +42 -0
- package/dist/lib/openapi/spec/signup-data-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/signup-data-schema.js +40 -0
- package/dist/lib/openapi/spec/signup-data-schema.js.map +1 -0
- package/dist/lib/openapi/spec/submit-signup-data-schema.d.ts +50 -0
- package/dist/lib/openapi/spec/submit-signup-data-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/submit-signup-data-schema.js +26 -0
- package/dist/lib/openapi/spec/submit-signup-data-schema.js.map +1 -0
- package/dist/lib/openapi/spec/ui-config-schema.d.ts +11 -0
- package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/ui-config-schema.js +5 -0
- package/dist/lib/openapi/spec/ui-config-schema.js.map +1 -1
- package/dist/lib/openapi/spec/update-context-field-schema.d.ts +5 -0
- package/dist/lib/openapi/spec/update-context-field-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/update-context-field-schema.js +5 -0
- package/dist/lib/openapi/spec/update-context-field-schema.js.map +1 -1
- package/dist/lib/openapi/spec/update-feature-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +18 -2
- package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/update-feature-strategy-schema.js +17 -1
- package/dist/lib/openapi/spec/update-feature-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/update-user-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/update-user-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/update-user-schema.js +8 -1
- package/dist/lib/openapi/spec/update-user-schema.js.map +1 -1
- package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/user-access-overview-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/user-access-overview-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/user-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/user-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/user-schema.js +18 -0
- package/dist/lib/openapi/spec/user-schema.js.map +1 -1
- package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +72 -0
- package/dist/lib/openapi/spec/users-groups-base-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/users-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/users-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/users-search-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/users-search-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/validated-edge-tokens-schema.d.ts +6 -1
- package/dist/lib/openapi/spec/validated-edge-tokens-schema.d.ts.map +1 -1
- package/dist/lib/openapi/util/api-operation.d.ts +23 -5
- package/dist/lib/openapi/util/api-operation.d.ts.map +1 -1
- package/dist/lib/openapi/util/api-stability.d.ts +3 -0
- package/dist/lib/openapi/util/api-stability.d.ts.map +1 -0
- package/dist/lib/openapi/util/api-stability.js +49 -0
- package/dist/lib/openapi/util/api-stability.js.map +1 -0
- package/dist/lib/openapi/util/api-stability.test.d.ts +2 -0
- package/dist/lib/openapi/util/api-stability.test.d.ts.map +1 -0
- package/dist/lib/openapi/util/api-stability.test.js +140 -0
- package/dist/lib/openapi/util/api-stability.test.js.map +1 -0
- package/dist/lib/openapi/util/openapi-tags.d.ts +6 -6
- package/dist/lib/openapi/util/openapi-tags.d.ts.map +1 -1
- package/dist/lib/openapi/util/openapi-tags.js +4 -4
- package/dist/lib/openapi/util/openapi-tags.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 +1 -0
- package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/project/variants.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/project/variants.js +5 -1
- package/dist/lib/routes/admin-api/project/variants.js.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.js +4 -4
- package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/user-splash.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/user-splash.js +2 -1
- package/dist/lib/routes/admin-api/user-splash.js.map +1 -1
- package/dist/lib/routes/edge-api/index.d.ts +4 -3
- package/dist/lib/routes/edge-api/index.d.ts.map +1 -1
- package/dist/lib/routes/edge-api/index.js +39 -7
- package/dist/lib/routes/edge-api/index.js.map +1 -1
- package/dist/lib/schema/feature-schema.test.js +1 -1
- package/dist/lib/schema/feature-schema.test.js.map +1 -1
- package/dist/lib/server-impl.d.ts +3 -2
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +4 -1
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/access-service.test.js +1 -2
- package/dist/lib/services/access-service.test.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts.map +1 -1
- package/dist/lib/services/api-token-service.js +3 -1
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/context-schema.d.ts.map +1 -1
- package/dist/lib/services/context-schema.js +1 -0
- package/dist/lib/services/context-schema.js.map +1 -1
- package/dist/lib/services/edge-service.d.ts +22 -7
- package/dist/lib/services/edge-service.d.ts.map +1 -1
- package/dist/lib/services/edge-service.js +87 -9
- package/dist/lib/services/edge-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +8 -3
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +26 -8
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/openapi-service.d.ts +8 -2
- package/dist/lib/services/openapi-service.d.ts.map +1 -1
- package/dist/lib/services/openapi-service.js +49 -7
- package/dist/lib/services/openapi-service.js.map +1 -1
- package/dist/lib/services/openapi-service.test.d.ts +2 -0
- package/dist/lib/services/openapi-service.test.d.ts.map +1 -0
- package/dist/lib/services/openapi-service.test.js +41 -0
- package/dist/lib/services/openapi-service.test.js.map +1 -0
- package/dist/lib/services/user-service.d.ts +6 -1
- package/dist/lib/services/user-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.js +16 -7
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +25 -26
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/version-service.d.ts +1 -0
- package/dist/lib/services/version-service.d.ts.map +1 -1
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/services/version-service.test.js +1 -0
- package/dist/lib/services/version-service.test.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 +10 -0
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/model.d.ts +10 -1
- package/dist/lib/types/model.d.ts.map +1 -1
- package/dist/lib/types/model.js +1 -0
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/option.d.ts +5 -0
- package/dist/lib/types/option.d.ts.map +1 -1
- package/dist/lib/types/permissions.d.ts +1 -0
- package/dist/lib/types/permissions.d.ts.map +1 -1
- package/dist/lib/types/permissions.js +2 -0
- package/dist/lib/types/permissions.js.map +1 -1
- package/dist/lib/types/stores/edge-store.d.ts +14 -0
- package/dist/lib/types/stores/edge-store.d.ts.map +1 -0
- package/dist/lib/types/stores/edge-store.js +2 -0
- package/dist/lib/types/stores/edge-store.js.map +1 -0
- package/dist/lib/types/stores/user-store.d.ts +4 -0
- package/dist/lib/types/stores/user-store.d.ts.map +1 -1
- package/dist/lib/types/stores.d.ts +6 -4
- package/dist/lib/types/stores.d.ts.map +1 -1
- package/dist/lib/types/stores.js +1 -1
- package/dist/lib/types/stores.js.map +1 -1
- package/dist/lib/types/user.d.ts +13 -1
- package/dist/lib/types/user.d.ts.map +1 -1
- package/dist/lib/types/user.js +5 -1
- package/dist/lib/types/user.js.map +1 -1
- package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -1
- package/dist/lib/ui-config/ui-config-service.js +1 -0
- package/dist/lib/ui-config/ui-config-service.js.map +1 -1
- package/dist/lib/ui-config/ui-config.test.js +5 -1
- package/dist/lib/ui-config/ui-config.test.js.map +1 -1
- package/dist/lib/util/constants.d.ts +2 -1
- package/dist/lib/util/constants.d.ts.map +1 -1
- package/dist/lib/util/constants.js +2 -0
- package/dist/lib/util/constants.js.map +1 -1
- package/dist/lib/util/validators/constraint-types.d.ts +1 -0
- package/dist/lib/util/validators/constraint-types.d.ts.map +1 -1
- package/dist/lib/util/validators/constraint-types.js +12 -0
- package/dist/lib/util/validators/constraint-types.js.map +1 -1
- package/dist/lib/util/validators/constraint-types.test.js +25 -1
- package/dist/lib/util/validators/constraint-types.test.js.map +1 -1
- package/dist/mailtemplates/getting-started/getting-started.html.mustache +7 -2
- package/dist/mailtemplates/getting-started/getting-started.plain.mustache +6 -1
- package/dist/migrations/20251210144308-add-project-column-to-context-fields.d.ts +3 -0
- package/dist/migrations/20251210144308-add-project-column-to-context-fields.d.ts.map +1 -0
- package/dist/migrations/20251210144308-add-project-column-to-context-fields.js +8 -0
- package/dist/migrations/20251210144308-add-project-column-to-context-fields.js.map +1 -0
- package/dist/migrations/20251218153722-predefined-project-role-reader.d.ts +3 -0
- package/dist/migrations/20251218153722-predefined-project-role-reader.d.ts.map +1 -0
- package/dist/migrations/20251218153722-predefined-project-role-reader.js +24 -0
- package/dist/migrations/20251218153722-predefined-project-role-reader.js.map +1 -0
- package/dist/migrations/20260106164443-users-seat-type.d.ts +3 -0
- package/dist/migrations/20260106164443-users-seat-type.d.ts.map +1 -0
- package/dist/migrations/20260106164443-users-seat-type.js +8 -0
- package/dist/migrations/20260106164443-users-seat-type.js.map +1 -0
- package/dist/migrations/20260112111353-add-project-context-permission.d.ts +3 -0
- package/dist/migrations/20260112111353-add-project-context-permission.d.ts.map +1 -0
- package/dist/migrations/20260112111353-add-project-context-permission.js +9 -0
- package/dist/migrations/20260112111353-add-project-context-permission.js.map +1 -0
- package/dist/migrations/20260115122651-project-owner-crud-project-context.d.ts +3 -0
- package/dist/migrations/20260115122651-project-owner-crud-project-context.d.ts.map +1 -0
- package/dist/migrations/20260115122651-project-owner-crud-project-context.js +14 -0
- package/dist/migrations/20260115122651-project-owner-crud-project-context.js.map +1 -0
- package/dist/migrations/20260115122720-project-owner-crud-project-segment.d.ts +3 -0
- package/dist/migrations/20260115122720-project-owner-crud-project-segment.d.ts.map +1 -0
- package/dist/migrations/20260115122720-project-owner-crud-project-segment.js +14 -0
- package/dist/migrations/20260115122720-project-owner-crud-project-segment.js.map +1 -0
- package/dist/migrations/20260119100647-add-api-key-revision-id-to-edge-observability.d.ts +3 -0
- package/dist/migrations/20260119100647-add-api-key-revision-id-to-edge-observability.d.ts.map +1 -0
- package/dist/migrations/20260119100647-add-api-key-revision-id-to-edge-observability.js +8 -0
- package/dist/migrations/20260119100647-add-api-key-revision-id-to-edge-observability.js.map +1 -0
- package/dist/migrations/20260204150900-add-edge-hmac-verification-tables.d.ts +3 -0
- package/dist/migrations/20260204150900-add-edge-hmac-verification-tables.d.ts.map +1 -0
- package/dist/migrations/20260204150900-add-edge-hmac-verification-tables.js +39 -0
- package/dist/migrations/20260204150900-add-edge-hmac-verification-tables.js.map +1 -0
- package/dist/migrations/20260213095258-users-company-role-and-email-consent.d.ts +3 -0
- package/dist/migrations/20260213095258-users-company-role-and-email-consent.d.ts.map +1 -0
- package/dist/migrations/20260213095258-users-company-role-and-email-consent.js +12 -0
- package/dist/migrations/20260213095258-users-company-role-and-email-consent.js.map +1 -0
- package/dist/server-dev.js +7 -0
- package/dist/server-dev.js.map +1 -1
- package/dist/test/arbitraries.test.d.ts.map +1 -1
- package/dist/test/arbitraries.test.js +3 -9
- package/dist/test/arbitraries.test.js.map +1 -1
- package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.d.ts +2 -0
- package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.d.ts.map +1 -0
- package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js +81 -0
- package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/context.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/instance-admin.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/playground.e2e.test.js +11 -10
- package/dist/test/e2e/api/admin/playground.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js +19 -0
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project-context.e2e.test.d.ts +2 -0
- package/dist/test/e2e/api/admin/project-context.e2e.test.d.ts.map +1 -0
- package/dist/test/e2e/api/admin/project-context.e2e.test.js +102 -0
- package/dist/test/e2e/api/admin/project-context.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +3 -0
- 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 +3 -0
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.e2e.test.js +15 -2
- package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js +254 -113
- package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/edge/create-token-request.test.d.ts +2 -0
- package/dist/test/e2e/api/edge/create-token-request.test.d.ts.map +1 -0
- package/dist/test/e2e/api/edge/create-token-request.test.js +215 -0
- package/dist/test/e2e/api/edge/create-token-request.test.js.map +1 -0
- package/dist/test/e2e/services/edge-service.e2e.test.js +106 -3
- package/dist/test/e2e/services/edge-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +3 -0
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +3 -0
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js +17 -29
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/users/inactive/inactive-users-service.test.js +3 -1
- package/dist/test/e2e/users/inactive/inactive-users-service.test.js.map +1 -1
- package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts +17 -0
- package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts.map +1 -0
- package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js +44 -0
- package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js.map +1 -0
- package/dist/test/fixtures/store.d.ts.map +1 -1
- package/dist/test/fixtures/store.js +5 -2
- package/dist/test/fixtures/store.js.map +1 -1
- package/frontend/build/index.html +2 -2
- package/frontend/build/static/AdvancedPlayground-DRpxJMnK.js +3 -0
- package/frontend/build/static/BackendConnections-_n7OFNmD.js +1 -0
- package/frontend/build/static/{CreateProject-ChlGOrPC.js → CreateProject-068uYB82.js} +1 -1
- package/frontend/build/static/EnterpriseEdge-D8BFcFOL.js +3 -0
- package/frontend/build/static/{FeatureMetricsChart-Bt6HiI-s.js → FeatureMetricsChart-CmPDv0Qg.js} +2 -2
- package/frontend/build/static/FeatureStaleDialog-p_WEko7Q.js +7 -0
- package/frontend/build/static/FeatureViewLazyExport-CsvADBC_.js +10 -0
- package/frontend/build/static/FlagMetricsChart-D0cnIXiN.js +2 -0
- package/frontend/build/static/FrontendNetworkTrafficUsage-DF0QQUFI.js +1 -0
- package/frontend/build/static/GridLayoutWrapper-CvaFKuMM.js +3 -0
- package/frontend/build/static/ImpactMetricsPage-BQnbfPhs.js +1 -0
- package/frontend/build/static/LazyAdminExport-CaPIJWoT.js +38 -0
- package/frontend/build/static/{LazyProjectExport-DPAYnCIy.js → LazyProjectExport-DxVvRHV2.js} +19 -19
- package/frontend/build/static/{LifecycleChartComponent-DubZNJlv.js → LifecycleChartComponent-7r5tp81g.js} +3 -3
- package/frontend/build/static/{LineChartComponent-CY-8M35z.js → LineChartComponent-p_JFdSdE.js} +1 -1
- package/frontend/build/static/{MarkCompletedDialogue-BwS_OP77.js → MarkCompletedDialogue-BHRKKIec.js} +1 -1
- package/frontend/build/static/{NetworkOverview-p_eqqiwO.js → NetworkOverview-Dr4-ROCD.js} +1 -1
- package/frontend/build/static/{NetworkPrometheusAPIWarning-BhqdG7Dp.js → NetworkPrometheusAPIWarning-COfHXZmz.js} +1 -1
- package/frontend/build/static/{NetworkTraffic-NxX5X_w8.js → NetworkTraffic-Dm-2mi3M.js} +1 -1
- package/frontend/build/static/NetworkTrafficUsage-fGr4QA8t.js +1 -0
- package/frontend/build/static/{PercentageDonut-BoaVP9ed.js → PercentageDonut-DystLTgb.js} +1 -1
- package/frontend/build/static/{ReactJSONEditor-DfZdSwoC.js → ReactJSONEditor-CdN66QkS.js} +1 -1
- package/frontend/build/static/RoleCell-BjcvUPQZ.js +1 -0
- package/frontend/build/static/aggregateFeatureMetrics-60FrVlfS.js +1 -0
- package/frontend/build/static/docker-HG7DQx-Z.svg +5 -0
- package/frontend/build/static/{formatTickValue-Csg87IVi.js → formatTickValue-CODpmZvr.js} +2 -2
- package/frontend/build/static/impact-metrics-icon-a6_57VN1.svg +9 -0
- package/frontend/build/static/index-B_EIW-7Y.js +568 -0
- package/frontend/build/static/lenovo-DIzNtfrT.svg +3 -0
- package/frontend/build/static/lloyds-DxlC9g3t.svg +10 -0
- package/frontend/build/static/networkTrafficUsageHighlightPlugin-COgb9_ZU.js +1 -0
- package/frontend/build/static/samsung-DOytOsnV.svg +10 -0
- package/frontend/build/static/unleash_logo_dark_no_label-DHgOj_XN.svg +6 -0
- package/frontend/build/static/unleash_logo_white_no_label-BazgWvcx.svg +6 -0
- package/frontend/build/static/{useApiTokens-Btk4Hd2u.js → useApiTokens-CdZATTgS.js} +1 -1
- package/frontend/build/static/visa-CkneNM2O.svg +10 -0
- package/frontend/package.json +9 -7
- package/package.json +20 -17
- package/dist/lib/db/pat-store.d.ts.map +0 -1
- package/dist/lib/db/pat-store.js.map +0 -1
- package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.d.ts +0 -2
- package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.d.ts.map +0 -1
- package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.js +0 -36
- package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.js.map +0 -1
- package/dist/lib/routes/admin-api/constraints.d.ts.map +0 -1
- package/dist/lib/routes/admin-api/constraints.js.map +0 -1
- package/dist/lib/services/pat-service.d.ts.map +0 -1
- package/dist/lib/services/pat-service.js.map +0 -1
- package/dist/lib/types/stores/pat-store.d.ts.map +0 -1
- package/dist/lib/types/stores/pat-store.js +0 -2
- package/dist/lib/types/stores/pat-store.js.map +0 -1
- package/dist/test/e2e/api/admin/constraints.e2e.test.d.ts.map +0 -1
- package/dist/test/e2e/api/admin/constraints.e2e.test.js.map +0 -1
- package/dist/test/fixtures/fake-pat-store.d.ts +0 -16
- package/dist/test/fixtures/fake-pat-store.d.ts.map +0 -1
- package/dist/test/fixtures/fake-pat-store.js +0 -35
- package/dist/test/fixtures/fake-pat-store.js.map +0 -1
- package/frontend/build/static/AdvancedPlayground-CmMV64it.js +0 -3
- package/frontend/build/static/BackendConnections-MqHimHCS.js +0 -1
- package/frontend/build/static/EnterpriseEdge-cJFso1xz.js +0 -1
- package/frontend/build/static/FeatureStaleDialog-DZEtcHDT.js +0 -7
- package/frontend/build/static/FeatureViewLazyExport-BPB1jWYz.js +0 -10
- package/frontend/build/static/FlagMetricsChart-CvsBPrQG.js +0 -2
- package/frontend/build/static/FrontendNetworkTrafficUsage-D8l5Nldl.js +0 -1
- package/frontend/build/static/GridLayoutWrapper-2osRRgh4.js +0 -3
- package/frontend/build/static/ImpactMetricsPage-Chv_7_jx.js +0 -1
- package/frontend/build/static/LazyAdminExport-BOTczpO1.js +0 -38
- package/frontend/build/static/NetworkTrafficUsage-B-4F8Mzq.js +0 -1
- package/frontend/build/static/RoleCell-Da0TjMne.js +0 -1
- package/frontend/build/static/aggregateFeatureMetrics-yZy5qwho.js +0 -1
- package/frontend/build/static/index-BAMIkcom.js +0 -542
- package/frontend/build/static/networkTrafficUsageHighlightPlugin-Dje5Vuvo.js +0 -1
- /package/dist/{test/e2e/api/admin → lib/features/constraints}/constraints.e2e.test.d.ts +0 -0
package/frontend/build/static/{FeatureMetricsChart-Bt6HiI-s.js → FeatureMetricsChart-CmPDv0Qg.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`)},title:t=>`Time: ${s>48?
|
|
1
|
+
import{jy as c,dt as m,jj as u,bt as x,b as g,bq as f,r as d,j as b,jM as C,jl as j,jm as v,jn as M,jE as q,jR as S,jH as E,jr as D,jq as T,jp as $}from"./index-B_EIW-7Y.js";import{d as L}from"./FeatureViewLazyExport-CsvADBC_.js";import"./MarkCompletedDialogue-BHRKKIec.js";import"./aggregateFeatureMetrics-60FrVlfS.js";import"./FeatureStaleDialog-p_WEko7Q.js";import"./PercentageDonut-DystLTgb.js";import"./GridLayoutWrapper-CvaFKuMM.js";const R=(e,l,s)=>{const a={label:"Total requests",borderColor:e.palette.primary.main,backgroundColor:e.palette.primary.main,data:p(l,s,o=>o.yes+o.no),elements:{point:{radius:6,pointStyle:"circle"},line:{borderDash:[8,4]}}},t={label:"Exposed",borderColor:e.palette.success.main,backgroundColor:e.palette.success.main,data:p(l,s,o=>o.yes),elements:{point:{radius:6,pointStyle:"triangle"}}},r={label:"Not exposed",borderColor:e.palette.error.main,backgroundColor:e.palette.error.main,data:p(l,s,o=>o.no),elements:{point:{radius:6,pointStyle:"triangle",pointRotation:180}}};return{datasets:[t,r,a]}},p=(e,l,s)=>e.map(a=>({x:a.timestamp,y:s(a),variants:a.variants||{}})),_=(e,l)=>{if(l===0)return"";const[s,a]=e,t=Math.floor(Number(a)/l*100);return`${a} (${t}%) - ${s}`},h=(e,l,s,a)=>({locale:a.locale,responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},color:e.palette.text.secondary,plugins:{tooltip:{backgroundColor:e.palette.background.paper,bodyColor:e.palette.text.primary,titleColor:e.palette.text.secondary,borderColor:e.palette.primary.main,borderWidth:1,padding:10,boxPadding:5,usePointStyle:!0,itemSort:(t,r)=>{const o=["Total requests","Exposed","Not exposed"],n=o.indexOf(t.dataset.label),i=o.indexOf(r.dataset.label);return n-i},callbacks:{label:t=>`${t.formattedValue} - ${t.dataset.label}`,afterLabel:t=>{const r=t.dataset.data[t.dataIndex];if(t.dataset.label!=="Exposed"||r.variants===void 0)return"";const{disabled:o,...n}=r.variants;return Object.entries(n).map(i=>_(i,r.y)).join(`
|
|
2
|
+
`)},title:t=>`Time: ${s>48?m(t[0].parsed.x,a.locale,"UTC"):u(t[0].parsed.x,a.locale)}`}},legend:{position:"top",align:"end",labels:{boxWidth:10,boxHeight:10,usePointStyle:!0}},title:{text:k(s),position:"top",align:"start",display:!0,font:{size:16,weight:"400"},color:e.palette.text.primary}},scales:{y:{type:"linear",title:{display:!0,text:"Number of requests",color:e.palette.text.secondary},suggestedMin:0,ticks:{precision:0,color:e.palette.text.secondary},grid:{color:e.palette.divider,borderColor:e.palette.divider}},x:{type:"time",time:{unit:s>48?"day":"hour"},grid:{display:!1},ticks:{callback:(t,r,o)=>s>48?x(o[r].value,a.locale,"UTC"):u(o[r].value,a.locale),color:e.palette.text.secondary}}}}),k=e=>e===1?"Requests in the last hour":`Requests in the last ${L(e)}`;c.font={...c.font,family:"Sen",size:13,weight:"400"};const z=({metrics:e,hoursBack:l,statsSectionId:s})=>{const a=g(),{locationSettings:t}=f(),r=d.useMemo(()=>[...e].sort((i,y)=>i.timestamp.localeCompare(y.timestamp)),[e]),o=d.useMemo(()=>h(a,r,l,t),[a,r,l,t]),n=d.useMemo(()=>R(a,r,t),[a,r,t]);return b.jsx("div",{style:{height:400},children:b.jsx(C,{options:o,data:n,"aria-label":"A feature metrics line chart, with three lines: all requests, positive requests, and negative requests.","aria-describedby":s})})};j.register(v,M,q,S,E,D,T,$);export{z as FeatureMetricsChart,z as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{F as W,H as G,j as t,A as H,m as J,C as O,bf as ie,n as le,q as ce,iN as de,o as ue,s as D,b as K,T as C,u as pe,b8 as me,r as v,b7 as Q,b9 as X,bb as he,aq as Z,c8 as ge,d8 as fe,iO as ve,d2 as be,d7 as M,b3 as V,iP as xe,d6 as Se,d5 as je,h as Te,iQ as ye,bC as ee,iR as Ee,br as te,iS as Ce,iT as Re,iU as Ae,iV as we,iW as ke,hY as Ie,hO as se,iX as De,k as Oe,iY as Pe,iZ as Fe,c3 as ae,aO as N,bz as _e,fY as Ve,f as $,bD as $e,ba as qe,bB as Ne,bI as Ue,c4 as Be,c7 as Le,i_ as Me,i as _,cm as ze,aR as Ye,aS as ne,aV as U,R as We,d9 as Ge,aP as He,bg as z,bd as re,i$ as Je,j0 as Ke,B as Qe,ao as Xe,hN as Ze,j1 as et,cN as tt,j2 as st,fW as at}from"./index-B_EIW-7Y.js";var B={},nt=G;Object.defineProperty(B,"__esModule",{value:!0});var oe=B.default=void 0,rt=nt(W()),ot=t,it=(0,rt.default)((0,ot.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");oe=B.default=it;const lt=de(),Nt=({options:e,selectedOptions:r,indeterminateOptions:a,tagType:u,existingTags:o,disabled:l=!1,onChange:s})=>{const i=t.jsx(ue,{fontSize:"small"}),d=p=>p.inputValue?p.inputValue:p.title,g=({key:p,...m},n,{selected:h})=>{const S=(a==null?void 0:a.some(j=>j.title===n.title))??!1;return t.jsxs("li",{...m,children:[t.jsx(O,{condition:!!n.inputValue,show:t.jsx(ie,{sx:{mr:j=>j.spacing(.5)}}),elseShow:t.jsx(le,{icon:i,checkedIcon:t.jsx(ce,{fontSize:"small"}),indeterminateIcon:t.jsx(oe,{fontSize:"small"}),sx:{mr:j=>j.spacing(.5)},checked:h&&!S,indeterminate:S})}),n.title]},p)},f=(p,m)=>{const n=m.inputValue.trim(),h=lt(p,{...m,inputValue:n}),S=p.some(j=>n===j.title);return n.length>=2&&!S&&h.push({inputValue:n,title:`Create new value "${n}"`}),h};return t.jsx(H,{multiple:!0,id:"checkboxes-tag",sx:{marginTop:p=>p.spacing(2),width:500},disableCloseOnSelect:!0,options:e,value:r,isOptionEqualToValue:(p,m)=>m.inputValue&&m.inputValue!==""?p.title===m.inputValue:p.title===m.title,getOptionLabel:d,renderOption:g,filterOptions:f,ListboxProps:{style:{maxHeight:200,overflow:"auto"}},onChange:s,renderInput:p=>t.jsx(J,{...p,label:"Select values",placeholder:"Select values"}),disabled:l})},ct=D("li")({flexDirection:"column"}),Ut=({options:e,value:r,disabled:a=!1,onChange:u})=>{const o=K();return t.jsx(H,{disablePortal:!0,disabled:a,id:"tag-type-select",sx:{marginTop:l=>l.spacing(2),width:500},options:e,disableClearable:!0,value:r,getOptionLabel:l=>l.name,renderOption:({key:l,...s},i)=>t.jsxs(ct,{...s,style:{alignItems:"flex-start",gap:o.spacing(.5)},children:[t.jsx(C,{variant:"body1",children:i.name}),t.jsx(C,{variant:"caption",children:i.description})]},l),renderInput:l=>t.jsx(J,{...l,label:"Tag type",value:r}),onChange:u,ListboxProps:{style:{maxHeight:200,overflow:"auto"}}})},Bt=()=>{const{makeRequest:e,createRequest:r,errors:a,loading:u}=pe({propagateErrors:!0});return{createTag:async s=>{const d=r("api/admin/tags",{method:"POST",body:JSON.stringify(s)});return e(d.caller,d.id)},bulkUpdateTags:async(s,i)=>{const d=`api/admin/projects/${i}/tags`,g=r(d,{method:"PUT",body:JSON.stringify(s)});return e(g.caller,g.id)},errors:a,loading:u}},Lt=(e,r={})=>{const a=async()=>{const g=Q(`api/admin/tags/${e}`);return(await fetch(g,{method:"GET"}).then(X("Tags"))).json()},u=`api/admin/tags/${e}`,{data:o,error:l}=me(!!e,{tags:[]},u,a,r),[s,i]=v.useState(!l&&!o),d=()=>{he(u)};return v.useEffect(()=>{i(!l&&!o)},[o,l]),{tags:(o==null?void 0:o.tags)||[],error:l,loading:s,refetch:d}},dt=D("div")({display:"flex",flexDirection:"column"}),ut=({strategy:e,setStrategy:r,projectId:a,environment:u,editable:o,permission:l=Se})=>{const{trackEvent:s}=Z(),[i,d]=v.useState([]),g=K(),f=e!=null&&e.parameters&&"stickiness"in(e==null?void 0:e.parameters)?String(e.parameters.stickiness):"default";v.useEffect(()=>{d((e.variants||[]).map(n=>({...n,new:o||!1,isValid:!0,id:crypto.randomUUID(),overrides:[]})))},[]),v.useEffect(()=>{r(n=>({...n,variants:i.map(h=>({stickiness:f,name:h.name,weight:h.weight,payload:h.payload,weightType:h.weightType}))}))},[f,JSON.stringify(i)]);const p=(n,h)=>{d(S=>M(S.map(j=>j.id===h?n:j),1e3))},m=()=>{const n=crypto.randomUUID();d(h=>[...h,{name:"",weightType:je.VARIABLE,weight:0,stickiness:f,new:!0,isValid:!1,id:n}]),s("strategy-variants",{props:{eventType:"variant added"}})};return t.jsxs(t.Fragment,{children:[t.jsxs(C,{component:"h3",sx:{m:0,display:"flex",gap:"1ch"},variant:"h3",children:["Variants",t.jsx(ge,{htmlTooltip:!0,tooltip:t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"Variants allow to attach one or more values to this strategy. Variants at the strategy level override variants at the feature level."}),t.jsx(fe,{target:"_blank",href:"https://docs.getunleash.io/concepts/strategy-variants",children:"Learn more"})]})})]}),t.jsxs(dt,{children:[t.jsx(ve,{}),i.map((n,h)=>t.jsx(be,{disableOverrides:!0,variant:n,variants:i,updateVariant:S=>p(S,n.id),removeVariant:()=>d(S=>M(S.filter(j=>j.id!==n.id),1e3)),decorationColor:g.palette.variants[h%g.palette.variants.length]},n.id))]}),t.jsx(V,{onClick:m,variant:"outlined",permission:l,projectId:a,environmentId:u,"data-testid":"ADD_STRATEGY_VARIANT_BUTTON",children:"Add variant"}),t.jsx(xe,{variants:i})]})},pt=D("form")(({theme:e})=>({display:"grid",gap:e.spacing(2)})),Y=D("hr")(({theme:e})=>({width:"100%",height:"1px",margin:e.spacing(2,0),border:"none",background:e.palette.background.elevation2})),mt=D("div")(({theme:e})=>({display:"flex",justifyContent:"end",gap:e.spacing(2),paddingBottom:e.spacing(10)})),ht=({projectId:e,environmentId:r,permission:a,onSubmit:u,onCancel:o,loading:l,strategy:s,setStrategy:i,segments:d,setSegments:g,errors:f})=>{const p=Te("strategyFormConsolidation"),m=ye(s.constraints),{strategyDefinition:n}=ee(s==null?void 0:s.name),{segments:h=[]}=Ee(),S=h.length>0||d.length>0,j=te();if(!n)return null;const P=b=>n.parameters.find(y=>y.name===b),w=(b,y)=>{const E=P(b);if(b!=="groupId"){const I=Fe(E,y);return I?(f.setFormError(b,I),!1):(f.removeFormError(b),!0)}return!0},R=()=>n.parameters.map(b=>b.name).map(b=>{var y;return w(b,(y=s.parameters)==null?void 0:y[b])}).every(Boolean),c=()=>{j(`/projects/${e}/settings/default-strategy`)},k=async b=>{if(b.preventDefault(),R())u();else return},F=(b,y)=>{i(Pe(E=>{E.parameters=E.parameters??{},E.parameters[b]=y})),w(b,y)};return t.jsxs(pt,{onSubmit:k,children:[t.jsx(Ce,{title:s.title||"",setTitle:b=>{i(y=>({...y,title:b}))}}),S?t.jsx(Re,{segments:d,setSegments:g,availableSegments:h}):null,t.jsx(Ae,{strategy:s,setStrategy:i}),t.jsx(Y,{}),p?t.jsx(we,{strategy:s,strategyDefinition:n,updateParameter:F,errors:f}):t.jsx(ke,{strategy:s,strategyDefinition:n,setStrategy:i,validateParameter:w,errors:f}),t.jsx(O,{condition:s.parameters!=null&&"stickiness"in s.parameters,show:t.jsx(ut,{strategy:s,setStrategy:i,environment:r,projectId:e,permission:[Ie,se]})}),t.jsx(Y,{}),t.jsxs(mt,{children:[t.jsx(V,{permission:a,projectId:e,environmentId:r,variant:"contained",color:"primary",type:"submit",disabled:l||!m||f.hasFormErrors(),"data-testid":De,children:"Save strategy"}),t.jsx(Oe,{type:"button",color:"primary",onClick:o||c,disabled:l,children:"Cancel"})]})]})},gt=(e,r)=>{var s,i;const{project:a,refetch:u}=ae(e),o={name:"flexibleRollout",constraints:[],parameters:{rollout:"100",stickiness:a.defaultStickiness||"default",groupId:""}},l=(i=(s=a.environments)==null?void 0:s.find(d=>d.environment===r))==null?void 0:i.defaultStrategy;return{defaultStrategyFallback:o,strategy:l,refetch:u}},Mt=()=>{const e=N("projectId"),r=_e("environmentId"),{refetch:a}=ae(e),{defaultStrategyFallback:u,strategy:o,refetch:l}=gt(e,r),[s,i]=v.useState(o||u),[d,g]=v.useState([]),{updateDefaultStrategy:f,loading:p}=Ve(),{strategyDefinition:m}=ee(s==null?void 0:s.name),{setToastData:n,setToastApiError:h}=$(),S=$e(),{uiConfig:j}=qe(),{unleashUrl:P}=j,w=te(),{trackEvent:R}=Z(),{segments:c,refetchSegments:k}=Ne();v.useEffect(()=>{if(c&&(o!=null&&o.segments)){const E=[];for(const I of o==null?void 0:o.segments)E.push(...c.filter(T=>T.id===I));g(E)}},[JSON.stringify(c),JSON.stringify(o==null?void 0:o.segments)]);const F=ft(s,d),b=async E=>{await f(e,r,E),R("default_strategy",{props:{action:"edit",hasTitle:!!E.title}}),k(),a(),n({text:"Default Strategy updated",type:"success"})},y=async()=>{const E=`/projects/${e}/settings/default-strategy`;try{await b(F),await l(),w(E)}catch(I){h(_(I))}};return!m||!s?null:t.jsx(Ue,{modal:!0,title:Be((s==null?void 0:s.name)??""),description:bt,documentationLink:xt,documentationLinkLabel:St,formatApiCode:()=>vt(e,r,F,m,P),children:t.jsx(ht,{projectId:e,strategy:s,setStrategy:i,segments:d,setSegments:g,environmentId:r,onSubmit:y,loading:p,permission:[Le,se],errors:S,isChangeRequest:!1})})},ft=(e,r)=>({name:e.name,title:e.title,constraints:e.constraints??[],parameters:e.parameters??{},variants:e.variants??[],segments:r.map(a=>a.id),disabled:e.disabled??!1}),vt=(e,r,a,u,o)=>{if(!o)return"";const l={...a,parameters:Me(a.parameters??{},u)},s=`${o}/api/admin/projects/${e}/environments/${r}/default-strategy}`,i=JSON.stringify(l,void 0,2);return`curl --location --request PUT '${s}' \\
|
|
2
|
+
--header 'Authorization: INSERT_API_KEY' \\
|
|
3
|
+
--header 'Content-Type: application/json' \\
|
|
4
|
+
--data-raw '${i}'`},bt=`
|
|
5
|
+
An activation strategy will only run when a feature flag is enabled and provides a way to control who will get access to the feature.
|
|
6
|
+
If any of a feature flag's activation strategies returns true, the user will get access.
|
|
7
|
+
`,xt="https://docs.getunleash.io/concepts/projects#project-default-strategy",St="Default strategy documentation",zt=e=>{const{data:r,error:a,mutate:u}=ze(Q(`api/admin/environments/project/${e}`),jt),o=v.useMemo(()=>r||[],[r]),l=v.useCallback(async()=>{await u()},[u]);return{environments:o,refetchEnvironments:l,loading:!a&&!r,error:a}},jt=async e=>(await fetch(e).then(X("Environments")).then(a=>a.json())).environments.sort((a,u)=>a.sortOrder-u.sortOrder),Tt=e=>{const{setToastData:r,setToastApiError:a}=$(),{addChange:u}=Ye(),{refetch:o}=ne(e),[l,s]=v.useState(!1),[i,d]=v.useState({isOpen:!1}),g=v.useCallback((m,n,h,S)=>{d({featureName:m,environment:n,enabled:h,shouldActivateDisabledStrategies:S,isOpen:!0})},[]),f=v.useCallback(()=>{d(m=>({...m,isOpen:!1}))},[]),p=v.useCallback(async()=>{try{s(!0),await u(e,i.environment,{feature:i.featureName,action:"updateEnabled",payload:{enabled:!!i.enabled,shouldActivateDisabledStrategies:!!i.shouldActivateDisabledStrategies}}),o(),d(m=>({...m,isOpen:!1})),r({type:"success",text:"Changes added to draft"})}catch(m){a(_(m)),d(n=>({...n,isOpen:!1}))}finally{s(!1)}},[u]);return{pending:l,onChangeRequestToggle:g,onChangeRequestToggleClose:f,onChangeRequestToggleConfirm:p,changeRequestDialogDetails:i}},yt=({enabled:e,featureName:r,environment:a})=>t.jsxs(C,{"data-testid":"update-enabled-message",children:[t.jsx("strong",{children:e?"Enable":"Disable"})," feature flag"," ",t.jsx("strong",{children:r})," in ",t.jsx("strong",{children:a})]}),Et=({isOpen:e,disabled:r=!1,onConfirm:a,onClose:u,showBanner:o,environment:l,messageComponent:s})=>{const i=N("projectId"),{data:d}=ne(i),{changeRequestInReviewOrApproved:g,alert:f}=Ge(d),p=g(l||""),m=p?"Add to existing change request":"Add suggestion to draft";return t.jsxs(U,{open:e,primaryButtonText:m,secondaryButtonText:"Cancel",disabledPrimaryButton:r,onClick:a,onClose:u,title:"Request changes",fullWidth:!0,children:[t.jsx(O,{condition:p,show:f}),t.jsx(O,{condition:!!o,show:t.jsxs(We,{severity:"info",sx:{mb:2},children:["Change requests feature is enabled for ",l,". Your changes need to be approved before they will be live. All the changes you do now will be added into a draft that you can submit for review."]})}),t.jsx(C,{variant:"body2",color:"text.secondary",children:"Your suggestion:"}),s]})},Ct=D("ul")(({theme:e})=>({margin:e.spacing(1),paddingLeft:e.spacing(2)})),Rt=({isOpen:e,onAddDefaultStrategy:r,onActivateDisabledStrategies:a,onClose:u,environment:o,featureId:l})=>{var f,p,m;const s=N("projectId"),{feature:i}=He(s,l),d=(m=(p=(f=i.environments)==null?void 0:f.find(({name:n})=>n===o))==null?void 0:p.strategies)==null?void 0:m.filter(({disabled:n})=>n).length,g=d?d===1?"1 disabled strategy":`${d} disabled strategies`:"disabled strategies";return t.jsxs(U,{open:e,secondaryButtonText:"Cancel",permissionButton:t.jsxs(t.Fragment,{children:[t.jsx(V,{type:"button",variant:"outlined",permission:z,projectId:s,environmentId:o,onClick:r,children:"Add default strategy"}),t.jsx(V,{type:"button",variant:"outlined",permission:z,projectId:s,environmentId:o,onClick:a,children:"Enable all strategies"})]}),onClose:u,title:`Enable feature flag in ${o}`,fullWidth:!0,children:[t.jsx(C,{sx:{mb:n=>n.spacing(3)},children:"A feature flag cannot be enabled without an enabled strategy."}),t.jsx(C,{children:"To enable this feature flag you can choose to:"}),t.jsxs(Ct,{children:[t.jsx("li",{children:t.jsx(C,{children:t.jsx("strong",{children:"Add the default strategy"})})}),t.jsx("li",{children:t.jsxs(C,{children:[t.jsx("strong",{children:"Enable all the disabled strategies"})," ","(this feature flag has ",g,")"]})})]})]})},At=e=>{const r=a=>{a<e.length&&e[a](()=>r(a+1))};r(0)},Yt=e=>{const{toggleFeatureEnvironmentOn:r,toggleFeatureEnvironmentOff:a}=re(),{setToastData:u,setToastApiError:o}=$(),[l,s]=v.useState({open:!1,label:"",loading:!1,onClose:()=>{},onClick:()=>{}}),[i,d]=v.useState({isOpen:!1,environment:"",featureId:"",onClose:()=>{},onActivateDisabledStrategies:()=>{},onAddDefaultStrategy:()=>{}}),{pending:g,onChangeRequestToggle:f,onChangeRequestToggleClose:p,onChangeRequestToggleConfirm:m,changeRequestDialogDetails:n}=Tt(e),[h,S]=v.useState(),j=v.useCallback(async(R,c)=>{let k=!1;return At([T=>{if(c.isChangeRequestEnabled||!Ke(c.environmentType||""))return T();s({open:!0,label:`${R?"Enable":"Disable"} Environment`,loading:!1,onClose:()=>{var x;s(A=>({...A,open:!1})),(x=c.onRollback)==null||x.call(c)},onClick:()=>{s(x=>({...x,open:!1,loading:!0})),T()}})},T=>{if(R===!1||!c.hasStrategies||c.hasEnabledStrategies||c.hasReleasePlans)return T();d({isOpen:!0,environment:c.environmentName,featureId:c.featureId,onClose:()=>{var x;d(A=>({...A,isOpen:!1})),(x=c.onRollback)==null||x.call(c)},onActivateDisabledStrategies:()=>{d(x=>({...x,isOpen:!1})),k=!0,T()},onAddDefaultStrategy:()=>{d(x=>({...x,isOpen:!1})),T()}})},T=>{if(!c.isChangeRequestEnabled)return T();S(()=>{var x;S(void 0),(x=c.onRollback)==null||x.call(c)}),f(c.featureId,c.environmentName,R,k)},async T=>{var x,A;if(R!==!1)return T();try{await a(c.projectId,c.featureId,c.environmentName),u({type:"success",text:`Disabled in ${c.environmentName}`}),(x=c.onSuccess)==null||x.call(c)}catch(q){o(_(q)),(A=c.onRollback)==null||A.call(c)}},async T=>{var x,A;if(R!==!0)return T();try{await r(c.projectId,c.featureId,c.environmentName,k),u({type:"success",text:`Enabled in ${c.environmentName}`}),(x=c.onSuccess)==null||x.call(c)}catch(q){o(_(q)),(A=c.onRollback)==null||A.call(c)}}])},[s]),P=i.featureId.length!==0,w=t.jsxs(t.Fragment,{children:[t.jsx(Je,{...l}),t.jsx(O,{condition:P,show:t.jsx(Rt,{...i})}),t.jsx(Et,{isOpen:n.isOpen,onClose:()=>{h==null||h(),p()},environment:n==null?void 0:n.environment,disabled:g,onConfirm:()=>{h==null||h(),m()},messageComponent:t.jsx(yt,{enabled:n==null?void 0:n.enabled,featureName:n==null?void 0:n.featureName,environment:n.environment})})]});return{onToggle:j,modals:w}},wt=e=>{const[r,a]=v.useState(e),u=v.useCallback(()=>a(e),[e]);return v.useEffect(()=>{a(e)},[e]),[r,a,u]},kt=D(Qe)(()=>({mx:"auto",...Xe})),Wt=({projectId:e,featureId:r,environmentName:a,value:u,onToggle:o})=>{const[l,s,i]=wt(u),d=()=>{s(!l),requestAnimationFrame(()=>{o(!l,i)})},g=`${r}-${a}`;return t.jsx(t.Fragment,{children:t.jsx(kt,{"data-testid":`TOGGLE-${g}`,children:t.jsx(Ze,{tooltip:l?`Disable flag in ${a}`:`Enable flag in ${a}`,checked:u,environmentId:a,projectId:e,permission:et,inputProps:{"aria-label":a},onClick:d,"data-testid":"permission-switch",disabled:u!==l})},g)})};var L={},It=G;Object.defineProperty(L,"__esModule",{value:!0});var Dt=L.default=void 0,Ot=It(W()),Pt=t,Ft=(0,Ot.default)((0,Pt.jsx)("path",{d:"M16 11h-1V3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8H8c-2.76 0-5 2.24-5 5v7h18v-7c0-2.76-2.24-5-5-5zm3 10h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H9v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H5v-5c0-1.65 1.35-3 3-3h8c1.65 0 3 1.35 3 3v5z"}),"CleaningServices");Dt=L.default=Ft;const _t="flag-reminders:v1",Vt=50,$t=7,Gt=({days:e=$t,maxReminders:r=Vt}={})=>{const[a,u]=tt(_t,{});return{shouldShowReminder:s=>{const i=a[s];return!i||st(new Date,new Date(i))},snoozeReminder:(s,i=e)=>{const d=at(new Date,i).getTime();u(g=>{const f={...g,[s]:d},p=Object.entries(f);if(p.length>r){p.sort((n,h)=>n[1]-h[1]);const m=p.slice(p.length-r);return Object.fromEntries(m)}return f})}}},Ht=({isStale:e,isOpen:r,projectId:a,featureId:u,onClose:o})=>{const{setToastData:l,setToastApiError:s}=$(),{patchFeatureToggle:i}=re(),d=t.jsx(C,{children:"Setting a flag to stale marks it for cleanup"}),g=t.jsx(C,{children:"Setting a flag to active marks it as in active use"}),f=e?"active":"stale",p=async m=>{m.stopPropagation();try{await i(a,u,[{op:"replace",path:"/stale",value:!e}]),o()}catch(n){s(_(n))}l(e?{type:"success",text:"The flag is no longer marked as stale"}:{type:"success",text:"The flag has been marked as stale"})};return t.jsx(U,{open:r,secondaryButtonText:"Cancel",primaryButtonText:`Flip to ${f}`,title:`Set feature state to ${f}`,onClick:p,onClose:o,children:t.jsx(O,{condition:e,show:g,elseShow:d})})};export{Et as C,Mt as E,Wt as F,Ut as T,Lt as a,Nt as b,gt as c,zt as d,Yt as e,Gt as f,Dt as g,Ht as h,Bt as u};
|