unleash-server 8.0.1 → 8.0.3
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 +10 -2
- package/dist/lib/addons/addon.d.ts.map +1 -1
- package/dist/lib/addons/addon.js +104 -6
- package/dist/lib/addons/addon.js.map +1 -1
- package/dist/lib/addons/datadog-definition.js +1 -1
- package/dist/lib/addons/datadog-definition.js.map +1 -1
- package/dist/lib/addons/datadog.test.js +2 -0
- package/dist/lib/addons/datadog.test.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 -3
- package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.test.js +3 -1
- package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
- package/dist/lib/addons/index.d.ts.map +1 -1
- package/dist/lib/addons/index.js +2 -0
- package/dist/lib/addons/index.js.map +1 -1
- package/dist/lib/addons/new-relic.d.ts.map +1 -1
- package/dist/lib/addons/new-relic.js +0 -1
- package/dist/lib/addons/new-relic.js.map +1 -1
- package/dist/lib/addons/new-relic.test.js +0 -1
- package/dist/lib/addons/new-relic.test.js.map +1 -1
- package/dist/lib/addons/slack.test.js +1 -2
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams-definition.d.ts.map +1 -1
- package/dist/lib/addons/teams-definition.js +1 -0
- package/dist/lib/addons/teams-definition.js.map +1 -1
- package/dist/lib/addons/teams-workflow-definition.d.ts +4 -0
- package/dist/lib/addons/teams-workflow-definition.d.ts.map +1 -0
- package/dist/lib/addons/teams-workflow-definition.js +66 -0
- package/dist/lib/addons/teams-workflow-definition.js.map +1 -0
- package/dist/lib/addons/teams-workflow.d.ts +15 -0
- package/dist/lib/addons/teams-workflow.d.ts.map +1 -0
- package/dist/lib/addons/teams-workflow.js +110 -0
- package/dist/lib/addons/teams-workflow.js.map +1 -0
- package/dist/lib/addons/teams-workflow.test.d.ts +2 -0
- package/dist/lib/addons/teams-workflow.test.d.ts.map +1 -0
- package/dist/lib/addons/teams-workflow.test.js +202 -0
- package/dist/lib/addons/teams-workflow.test.js.map +1 -0
- package/dist/lib/addons/teams.d.ts.map +1 -1
- package/dist/lib/addons/teams.js +0 -1
- package/dist/lib/addons/teams.js.map +1 -1
- package/dist/lib/addons/teams.test.js +0 -1
- package/dist/lib/addons/teams.test.js.map +1 -1
- package/dist/lib/addons/validate-url.d.ts +18 -0
- package/dist/lib/addons/validate-url.d.ts.map +1 -0
- package/dist/lib/addons/validate-url.js +93 -0
- package/dist/lib/addons/validate-url.js.map +1 -0
- package/dist/lib/addons/validate-url.test.d.ts +2 -0
- package/dist/lib/addons/validate-url.test.d.ts.map +1 -0
- package/dist/lib/addons/validate-url.test.js +199 -0
- package/dist/lib/addons/validate-url.test.js.map +1 -0
- package/dist/lib/addons/webhook.d.ts.map +1 -1
- package/dist/lib/addons/webhook.js +28 -2
- package/dist/lib/addons/webhook.js.map +1 -1
- package/dist/lib/addons/webhook.test.js +72 -0
- package/dist/lib/addons/webhook.test.js.map +1 -1
- package/dist/lib/app.d.ts.map +1 -1
- package/dist/lib/app.js +2 -0
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/create-config.d.ts.map +1 -1
- package/dist/lib/create-config.js +8 -0
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/error/bad-data-error.d.ts.map +1 -1
- package/dist/lib/error/bad-data-error.js +10 -2
- package/dist/lib/error/bad-data-error.js.map +1 -1
- package/dist/lib/error/unleash-error.test.js +23 -0
- package/dist/lib/error/unleash-error.test.js.map +1 -1
- package/dist/lib/features/context/context-field-store.d.ts +1 -1
- package/dist/lib/features/context/context-field-store.d.ts.map +1 -1
- package/dist/lib/features/context/context-field-store.js +1 -5
- package/dist/lib/features/context/context-field-store.js.map +1 -1
- package/dist/lib/features/context/context-service.d.ts +5 -4
- package/dist/lib/features/context/context-service.d.ts.map +1 -1
- package/dist/lib/features/context/context-service.js +20 -27
- package/dist/lib/features/context/context-service.js.map +1 -1
- package/dist/lib/features/context/context-service.test.d.ts +2 -0
- package/dist/lib/features/context/context-service.test.d.ts.map +1 -0
- package/dist/lib/features/context/context-service.test.js +24 -0
- package/dist/lib/features/context/context-service.test.js.map +1 -0
- package/dist/lib/features/context/context.d.ts +1 -0
- package/dist/lib/features/context/context.d.ts.map +1 -1
- package/dist/lib/features/context/context.js +22 -10
- package/dist/lib/features/context/context.js.map +1 -1
- package/dist/lib/features/context/context.test.js +15 -1
- package/dist/lib/features/context/context.test.js.map +1 -1
- package/dist/lib/features/context/createContextService.d.ts +4 -1
- package/dist/lib/features/context/createContextService.d.ts.map +1 -1
- package/dist/lib/features/context/createContextService.js +2 -1
- package/dist/lib/features/context/createContextService.js.map +1 -1
- package/dist/lib/features/context/fake-context-field-store.d.ts +1 -1
- package/dist/lib/features/context/fake-context-field-store.d.ts.map +1 -1
- package/dist/lib/features/context/fake-context-field-store.js +1 -6
- package/dist/lib/features/context/fake-context-field-store.js.map +1 -1
- package/dist/lib/features/export-import-toggles/createExportImportService.js +1 -1
- package/dist/lib/features/export-import-toggles/createExportImportService.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/fakes/fake-feature-strategies-store.d.ts +2 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +5 -0
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-controller.js +22 -2
- package/dist/lib/features/feature-toggle/feature-toggle-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +3 -2
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.js +11 -4
- 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 +2 -0
- 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 +7 -0
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +4 -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-strategies-store-type.d.ts +6 -0
- package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-service.js +17 -20
- package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
- package/dist/lib/features/metrics/integrations/integration-metrics.d.ts +1 -1
- package/dist/lib/features/metrics/integrations/integration-metrics.d.ts.map +1 -1
- package/dist/lib/features/metrics/integrations/integration-metrics.js +2 -0
- package/dist/lib/features/metrics/integrations/integration-metrics.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/constraint.d.ts +2 -0
- package/dist/lib/features/playground/feature-evaluator/constraint.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/constraint.js +11 -1
- package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -1
- package/dist/lib/features/playground/playground.test.js +2 -3
- package/dist/lib/features/playground/playground.test.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-template-store.d.ts +4 -0
- package/dist/lib/features/release-plans/release-plan-template-store.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-template-store.js +25 -2
- package/dist/lib/features/release-plans/release-plan-template-store.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-template-store.test.js +75 -16
- package/dist/lib/features/release-plans/release-plan-template-store.test.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-template.d.ts +1 -0
- package/dist/lib/features/release-plans/release-plan-template.d.ts.map +1 -1
- package/dist/lib/features/scheduler/scheduler-service.test.js +1 -0
- package/dist/lib/features/scheduler/scheduler-service.test.js.map +1 -1
- package/dist/lib/features/unique-connection/unique-connection-store.e2e.test.js +3 -0
- package/dist/lib/features/unique-connection/unique-connection-store.e2e.test.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/rbac-middleware.js +3 -4
- package/dist/lib/middleware/rbac-middleware.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.test.js +62 -24
- package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.d.ts.map +1 -1
- package/dist/lib/middleware/secure-headers.js +20 -1
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/middleware/session-context.d.ts +20 -0
- package/dist/lib/middleware/session-context.d.ts.map +1 -0
- package/dist/lib/middleware/session-context.js +38 -0
- package/dist/lib/middleware/session-context.js.map +1 -0
- package/dist/lib/openapi/spec/addon-create-update-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/addon-create-update-schema.js +1 -1
- package/dist/lib/openapi/spec/addons-schema.d.ts +15 -0
- package/dist/lib/openapi/spec/addons-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/addons-schema.js +51 -0
- package/dist/lib/openapi/spec/addons-schema.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-segment-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/constraint-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +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 +68 -68
- 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 +68 -68
- package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +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/playground-constraint-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/playground-feature-schema.arbitraries.d.ts +4 -0
- package/dist/lib/openapi/spec/playground-feature-schema.arbitraries.d.ts.map +1 -0
- package/dist/lib/openapi/spec/playground-feature-schema.arbitraries.js +91 -0
- package/dist/lib/openapi/spec/playground-feature-schema.arbitraries.js.map +1 -0
- package/dist/lib/openapi/spec/playground-feature-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/playground-feature-schema.test.d.ts +1 -3
- package/dist/lib/openapi/spec/playground-feature-schema.test.d.ts.map +1 -1
- package/dist/lib/openapi/spec/playground-feature-schema.test.js +1 -89
- package/dist/lib/openapi/spec/playground-feature-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/playground-request-schema.arbitraries.d.ts +4 -0
- package/dist/lib/openapi/spec/playground-request-schema.arbitraries.d.ts.map +1 -0
- package/dist/lib/openapi/spec/playground-request-schema.arbitraries.js +9 -0
- package/dist/lib/openapi/spec/playground-request-schema.arbitraries.js.map +1 -0
- package/dist/lib/openapi/spec/playground-request-schema.test.d.ts +1 -3
- package/dist/lib/openapi/spec/playground-request-schema.test.d.ts.map +1 -1
- package/dist/lib/openapi/spec/playground-request-schema.test.js +1 -8
- package/dist/lib/openapi/spec/playground-request-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/playground-response-schema.d.ts +9 -9
- package/dist/lib/openapi/spec/playground-response-schema.test.js +2 -3
- package/dist/lib/openapi/spec/playground-response-schema.test.js.map +1 -1
- 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 +40 -35
- package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/profile-schema.js +13 -1
- package/dist/lib/openapi/spec/profile-schema.js.map +1 -1
- package/dist/lib/openapi/spec/profile-schema.test.js +1 -0
- package/dist/lib/openapi/spec/profile-schema.test.js.map +1 -1
- 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/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 +14 -8
- package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/release-plan-template-schema.js +6 -0
- package/dist/lib/openapi/spec/release-plan-template-schema.js.map +1 -1
- package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts +22 -16
- package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/release-plans-schema.d.ts +16 -16
- package/dist/lib/openapi/spec/sdk-context-schema.arbitraries.d.ts +4 -0
- package/dist/lib/openapi/spec/sdk-context-schema.arbitraries.d.ts.map +1 -0
- package/dist/lib/openapi/spec/sdk-context-schema.arbitraries.js +12 -0
- package/dist/lib/openapi/spec/sdk-context-schema.arbitraries.js.map +1 -0
- package/dist/lib/openapi/spec/sdk-context-schema.test.d.ts +1 -3
- package/dist/lib/openapi/spec/sdk-context-schema.test.d.ts.map +1 -1
- package/dist/lib/openapi/spec/sdk-context-schema.test.js +1 -11
- package/dist/lib/openapi/spec/sdk-context-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/search-features-schema.d.ts +104 -104
- 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/ui-config-schema.d.ts +5 -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-feature-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +1 -1
- package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/addon.js +6 -2
- package/dist/lib/routes/admin-api/addon.js.map +1 -1
- package/dist/lib/routes/admin-api/user/user.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/user/user.js +3 -1
- package/dist/lib/routes/admin-api/user/user.js.map +1 -1
- package/dist/lib/routes/admin-api/user/user.test.js +32 -7
- package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
- package/dist/lib/routes/util.d.ts.map +1 -1
- package/dist/lib/routes/util.js +8 -1
- package/dist/lib/routes/util.js.map +1 -1
- package/dist/lib/routes/util.test.d.ts +2 -0
- package/dist/lib/routes/util.test.d.ts.map +1 -0
- package/dist/lib/routes/util.test.js +18 -0
- package/dist/lib/routes/util.test.js.map +1 -0
- package/dist/lib/schema/feature-schema.test.js +1 -1
- package/dist/lib/schema/feature-schema.test.js.map +1 -1
- package/dist/lib/schema/html-input.d.ts +4 -0
- package/dist/lib/schema/html-input.d.ts.map +1 -0
- package/dist/lib/schema/html-input.js +41 -0
- package/dist/lib/schema/html-input.js.map +1 -0
- package/dist/lib/schema/html-input.test.d.ts +2 -0
- package/dist/lib/schema/html-input.test.d.ts.map +1 -0
- package/dist/lib/schema/html-input.test.js +98 -0
- package/dist/lib/schema/html-input.test.js.map +1 -0
- package/dist/lib/server-impl.d.ts +2 -1
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +2 -1
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/addon-service.d.ts +8 -1
- package/dist/lib/services/addon-service.d.ts.map +1 -1
- package/dist/lib/services/addon-service.js +24 -1
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/addon-service.test.js +75 -8
- package/dist/lib/services/addon-service.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-tag-service.js +5 -1
- package/dist/lib/services/feature-tag-service.js.map +1 -1
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +1 -1
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-schema.d.ts +1 -2
- package/dist/lib/services/project-schema.d.ts.map +1 -1
- package/dist/lib/services/project-schema.js +4 -2
- package/dist/lib/services/project-schema.js.map +1 -1
- package/dist/lib/services/user-service.d.ts +1 -0
- package/dist/lib/services/user-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.js +7 -0
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/types/events.d.ts +8 -0
- package/dist/lib/types/events.d.ts.map +1 -1
- package/dist/lib/types/events.js +4 -0
- 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 +27 -1
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/model.d.ts +2 -0
- package/dist/lib/types/model.d.ts.map +1 -1
- 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.d.ts +1 -0
- package/dist/lib/types/stores.d.ts.map +1 -1
- package/dist/lib/types/stores.js.map +1 -1
- package/dist/lib/ui-config/ui-config-controller.d.ts +1 -2
- package/dist/lib/ui-config/ui-config-controller.d.ts.map +1 -1
- package/dist/lib/ui-config/ui-config-controller.js +3 -1
- package/dist/lib/ui-config/ui-config-controller.js.map +1 -1
- package/dist/lib/ui-config/ui-config-service.d.ts +3 -2
- package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -1
- package/dist/lib/ui-config/ui-config-service.js +11 -3
- package/dist/lib/ui-config/ui-config-service.js.map +1 -1
- package/dist/lib/ui-config/ui-config.test.js +25 -2
- package/dist/lib/ui-config/ui-config.test.js.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 +3 -0
- package/dist/lib/util/anonymise.js.map +1 -1
- package/dist/lib/util/anonymise.test.js +4 -1
- package/dist/lib/util/anonymise.test.js.map +1 -1
- package/dist/lib/util/constants.d.ts +3 -1
- package/dist/lib/util/constants.d.ts.map +1 -1
- package/dist/lib/util/constants.js +11 -1
- package/dist/lib/util/constants.js.map +1 -1
- package/dist/mailtemplates/requested-cr-approval/requested-cr-approval.html.mustache +1 -1
- package/dist/migrations/20260617115403-update-flag-descriptions.d.ts +3 -0
- package/dist/migrations/20260617115403-update-flag-descriptions.d.ts.map +1 -0
- package/dist/migrations/20260617115403-update-flag-descriptions.js +38 -0
- package/dist/migrations/20260617115403-update-flag-descriptions.js.map +1 -0
- package/dist/migrations/20260624120000-servicenow-change-references.d.ts +3 -0
- package/dist/migrations/20260624120000-servicenow-change-references.d.ts.map +1 -0
- package/dist/migrations/20260624120000-servicenow-change-references.js +22 -0
- package/dist/migrations/20260624120000-servicenow-change-references.js.map +1 -0
- package/dist/migrations/20260706100000-add-project-column-to-release-plan-definitions.d.ts +3 -0
- package/dist/migrations/20260706100000-add-project-column-to-release-plan-definitions.d.ts.map +1 -0
- package/dist/migrations/20260706100000-add-project-column-to-release-plan-definitions.js +8 -0
- package/dist/migrations/20260706100000-add-project-column-to-release-plan-definitions.js.map +1 -0
- package/dist/migrations/20260708100000-add-project-release-template-permission.d.ts +3 -0
- package/dist/migrations/20260708100000-add-project-release-template-permission.d.ts.map +1 -0
- package/dist/migrations/20260708100000-add-project-release-template-permission.js +15 -0
- package/dist/migrations/20260708100000-add-project-release-template-permission.js.map +1 -0
- package/dist/server-dev.js +9 -1
- package/dist/server-dev.js.map +1 -1
- package/dist/test/arbitraries.d.ts +25 -0
- package/dist/test/arbitraries.d.ts.map +1 -0
- package/dist/test/arbitraries.js +143 -0
- package/dist/test/arbitraries.js.map +1 -0
- package/dist/test/arbitraries.test.d.ts +1 -24
- package/dist/test/arbitraries.test.d.ts.map +1 -1
- package/dist/test/arbitraries.test.js +1 -142
- package/dist/test/arbitraries.test.js.map +1 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js +2 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/playground.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/playground.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js +2 -0
- package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/playground-service.test.js +2 -2
- package/dist/test/e2e/services/playground-service.test.js.map +1 -1
- package/dist/test/fixtures/fake-segment-store.d.ts +1 -1
- package/dist/test/fixtures/fake-segment-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-segment-store.js +2 -2
- package/dist/test/fixtures/fake-segment-store.js.map +1 -1
- package/dist/test/prom-last-wins.d.ts +2 -0
- package/dist/test/prom-last-wins.d.ts.map +1 -0
- package/dist/test/prom-last-wins.js +25 -0
- package/dist/test/prom-last-wins.js.map +1 -0
- package/dist/test/reset-cross-file-state.d.ts +2 -0
- package/dist/test/reset-cross-file-state.d.ts.map +1 -0
- package/dist/test/reset-cross-file-state.js +57 -0
- package/dist/test/reset-cross-file-state.js.map +1 -0
- package/dist/test-setup.d.ts.map +1 -1
- package/dist/test-setup.js +4 -0
- package/dist/test-setup.js.map +1 -1
- package/frontend/build/index.html +2 -2
- package/frontend/build/static/AccordionSummary-KVRcLxLK.js +1 -0
- package/frontend/build/static/AdvancedPlayground-Cls80com.js +3 -0
- package/frontend/build/static/Alert-DQgOzmJF.js +1 -0
- package/frontend/build/static/Avatar-xU_puYmY.js +1 -0
- package/frontend/build/static/BackendConnections-CkI8tLcv.js +1 -0
- package/frontend/build/static/Box-rSzdGLLJ.js +1 -0
- package/frontend/build/static/Button-yGjgMTJI.js +1 -0
- package/frontend/build/static/Button.story-CBE27I2T.js +1 -0
- package/frontend/build/static/CircularProgress-CmGBJn6I.js +124 -0
- package/frontend/build/static/Close-DKD1r3T7.js +1 -0
- package/frontend/build/static/Close-nISwbNAY.js +1 -0
- package/frontend/build/static/CodeRenderer-RNHlNPBl.js +1094 -0
- package/frontend/build/static/CodeRenderer.story-Vw214z1Z.js +2 -0
- package/frontend/build/static/Collapse-COunT4rQ.js +1 -0
- package/frontend/build/static/ConditionallyRender-CEffh9Z-.js +1 -0
- package/frontend/build/static/ConnectSdkStep-DnH4iwnu.js +1 -0
- package/frontend/build/static/ConnectSdkStep.story-DeWPTOZK.js +1 -0
- package/frontend/build/static/CreateProject-eo1TZ1so.js +1 -0
- package/frontend/build/static/Dialog-DLpX4v6X.js +1 -0
- package/frontend/build/static/DialogWithAside-BxVspeMV.js +1 -0
- package/frontend/build/static/DialogWithAside.story-Dqmr9MnM.js +1 -0
- package/frontend/build/static/Divider-BYq1CcT0.js +1 -0
- package/frontend/build/static/EnterpriseEdge-D-g3JGCd.js +6 -0
- package/frontend/build/static/FeatureCard.story-B2Q-SD_-.js +1 -0
- package/frontend/build/static/FeatureMetricsChart-ETalRWKx.js +2 -0
- package/frontend/build/static/FeatureStaleDialog-CvD9ojNj.js +8 -0
- package/frontend/build/static/FeatureViewLazyExport-10Z3_Wda.js +10 -0
- package/frontend/build/static/FileCopy-D1ZqmNek.js +1 -0
- package/frontend/build/static/FlagMetricsChart-dLfSDZ_x.js +2 -0
- package/frontend/build/static/FlagUsageSnippet-DOGwaqPZ.js +2 -0
- package/frontend/build/static/FlagUsageSnippet.story-tfMvt3kG.js +1 -0
- package/frontend/build/static/FormControlLabel-BrOlsUbv.js +1 -0
- package/frontend/build/static/FormField-CRXe4g4R.js +1 -0
- package/frontend/build/static/FrontendNetworkTrafficUsage-DGEwK1Qg.js +1 -0
- package/frontend/build/static/GenerateApiKey-C1aJtPh-.js +1 -0
- package/frontend/build/static/GenerateApiKey.story-DNMZG0qg.js +1 -0
- package/frontend/build/static/GenerateApiKeySummary-DkPI02tH.js +1 -0
- package/frontend/build/static/GenerateApiKeySummary.story-CruMFwTQ.js +1 -0
- package/frontend/build/static/GridLayoutWrapper-B3BIpxoE.js +5 -0
- package/frontend/build/static/Grow-CuQu7Z-P.js +1 -0
- package/frontend/build/static/HelpOutlineOutlined-HDH1hus2.js +1 -0
- package/frontend/build/static/HelpResources.story-warJFqf6.js +1 -0
- package/frontend/build/static/Highlighter-BS0Ow0vZ.js +1 -0
- package/frontend/build/static/HtmlTooltip-3YsoM_F5.js +1 -0
- package/frontend/build/static/IconButton-BveFD3PF.js +1 -0
- package/frontend/build/static/ImpactMetricsPage-C57istn7.js +1 -0
- package/frontend/build/static/ImpactViewsPage-MKEHnt2w.js +1 -0
- package/frontend/build/static/LazyAdminExport-DfIYVWQD.js +38 -0
- package/frontend/build/static/LazyProjectExport-30GlUH0L.js +46 -0
- package/frontend/build/static/LifecycleChartComponent-Tj1pN5Tj.js +2 -0
- package/frontend/build/static/LineChartComponent-_RiDjL2-.js +1 -0
- package/frontend/build/static/Link-wv6er_Jy.js +1 -0
- package/frontend/build/static/Loader-CnLypnQx.js +1 -0
- package/frontend/build/static/{LogRocketRunner-Duzg1Kzh.js → LogRocketRunner-BS6AEpSK.js} +1 -1
- package/frontend/build/static/MarkCompletedDialogue-BeIA6eMj.js +1 -0
- package/frontend/build/static/Menu-DUeb4XP8.js +1 -0
- package/frontend/build/static/MenuBook-DZFyn--3.js +1 -0
- package/frontend/build/static/MenuItem-DNlBQQYG.js +1 -0
- package/frontend/build/static/Modal-DdH902AP.js +1 -0
- package/frontend/build/static/NetworkOverview-DF8c0k1P.js +1 -0
- package/frontend/build/static/{NetworkPrometheusAPIWarning-Bq62ygkV.js → NetworkPrometheusAPIWarning-B0v-FihJ.js} +1 -1
- package/frontend/build/static/NetworkTraffic-C1I4wwcb.js +1 -0
- package/frontend/build/static/NetworkTrafficUsage-DkdQx64o.js +1 -0
- package/frontend/build/static/NotificationStack.story-CdeU4r0p.js +1 -0
- package/frontend/build/static/OnboardingProgress-BuWQ2rjB.js +1 -0
- package/frontend/build/static/OnboardingProgress.story-CmQztiFV.js +1 -0
- package/frontend/build/static/OpenInNew-CHcHAi4B.js +1 -0
- package/frontend/build/static/PageContent-lT51j8jO.js +1 -0
- package/frontend/build/static/Paper-BvPQ0Zq6.js +1 -0
- package/frontend/build/static/PercentageDonut-CZVWd5fE.js +1 -0
- package/frontend/build/static/PermissionButton-Tj54K9Kc.js +1 -0
- package/frontend/build/static/Popover-FHiFav9d.js +1 -0
- package/frontend/build/static/Popper-Cut-_j4A.js +1 -0
- package/frontend/build/static/Portal-kwmlgXGI.js +1 -0
- package/frontend/build/static/Radio-Cj82h8o5.js +1 -0
- package/frontend/build/static/RadioGroup-BWTZb8iE.js +1 -0
- package/frontend/build/static/ReactJSONEditor-D65iiPmM.js +4 -0
- package/frontend/build/static/ReactJSONEditor.story-Bt3pxUGO.js +1 -0
- package/frontend/build/static/RoleCell-tqHUOlI7.js +1 -0
- package/frontend/build/static/RtlProvider-D1AlROju.js +1 -0
- package/frontend/build/static/Safeguard-DFEQulxy.js +1 -0
- package/frontend/build/static/SdkEvaluationStatus-B1rMywp-.js +17 -0
- package/frontend/build/static/SdkEvaluationStatus.story-BxgqLICz.js +1 -0
- package/frontend/build/static/Select-DdG1oq6O.js +3 -0
- package/frontend/build/static/SelectSdk-Boj2Ug-2.js +1 -0
- package/frontend/build/static/SelectSdk-CzRoKDb5.js +1 -0
- package/frontend/build/static/SelectSdk.story-BT9ke5Eb.js +1 -0
- package/frontend/build/static/SelectSdk.story-CdzotYoq.js +1 -0
- package/frontend/build/static/Spacing.story-CB6GkN5Z.js +1 -0
- package/frontend/build/static/StoriesPage-luLnHVc2.js +1 -0
- package/frontend/build/static/SwitchBase-cxExIOp0.js +1 -0
- package/frontend/build/static/TextField-Cf03Ror7.js +1 -0
- package/frontend/build/static/ThemeColors.story-Cx9bv5pL.js +1 -0
- package/frontend/build/static/TokenExplanation-CJjBSQ07.js +1 -0
- package/frontend/build/static/TokenExplanation.story-BoOaHRrQ.js +1 -0
- package/frontend/build/static/Tooltip-DPzrXyNS.js +1 -0
- package/frontend/build/static/TooltipResolver-CIBfA4vm.js +1 -0
- package/frontend/build/static/Truncator-CF0-SVks.js +1 -0
- package/frontend/build/static/Typography-nCkGT67u.js +1 -0
- package/frontend/build/static/Typography.story-CofmlvJB.js +1 -0
- package/frontend/build/static/UIContext-Dsr0TY8K.js +1 -0
- package/frontend/build/static/WhatsNewLayout.story-p4Cm8bgx.js +1 -0
- package/frontend/build/static/aggregateFeatureMetrics-D7AXsd2U.js +1 -0
- package/frontend/build/static/capitalize-DfXJDj8P.js +1 -0
- package/frontend/build/static/chartjs-plugin-annotation.esm-tsR8Pv5a.js +1 -0
- package/frontend/build/static/chunk-KS7C4IRE-PUpsdS_b.js +3 -0
- package/frontend/build/static/code-block-BZePA-4e.js +1 -0
- package/frontend/build/static/copy-to-clipboard-BCU4eeSw.js +1 -0
- package/frontend/build/static/createBox-DaDvp7MB.js +1 -0
- package/frontend/build/static/createSimplePaletteValueFilter-Bt9IjErz.js +1 -0
- package/frontend/build/static/createSvgIcon-D-6jHYkf.js +1 -0
- package/frontend/build/static/differenceInSeconds-DMZGQwjK.js +1 -0
- package/frontend/build/static/dividerClasses-DcI5JVLQ.js +1 -0
- package/frontend/build/static/endOfMonth-CkSR_DAx.js +1 -0
- package/frontend/build/static/{enterpriseEdgeCloud-C5u35XAw.js → enterpriseEdgeCloud-qnOcFE1S.js} +1 -1
- package/frontend/build/static/esm-DViSjNxt.js +12 -0
- package/frontend/build/static/formatAccessText-BhC1wtCg.js +1 -0
- package/frontend/build/static/formatDistanceToNow-CyouiCIY.js +1 -0
- package/frontend/build/static/httpErrorResponseHandler-BzpwldnE.js +1 -0
- package/frontend/build/static/impact-metrics-DrmGy_gn.png +0 -0
- package/frontend/build/static/{impact-metrics-icon-6dt-ye-h.js → impact-metrics-icon-Cg_ki-2e.js} +1 -1
- package/frontend/build/static/index-C2zVj2FI.js +287 -0
- package/frontend/build/static/{jsx-runtime-BnvnyDTF.js → jsx-runtime-DYfQNk55.js} +1 -1
- package/frontend/build/static/mcp-ADx0Sju7.png +0 -0
- package/frontend/build/static/{metricsFormatters-BEX2qb8Y.js → metricsFormatters-BmjW0KTj.js} +1 -1
- package/frontend/build/static/milestone-CciNgBhP.png +0 -0
- package/frontend/build/static/{mui-CoU2c-id.js → mui-C_omlwxE.js} +1 -1
- package/frontend/build/static/networkTrafficUsageHighlightPlugin-DPi6id5j.js +1 -0
- package/frontend/build/static/parse-Chj4PyAg.js +1 -0
- package/frontend/build/static/react-Ca03aNmg.js +1 -0
- package/frontend/build/static/resolveProps-CAVsjga5.js +1 -0
- package/frontend/build/static/servicenow-BmgZtZjb.svg +13 -0
- package/frontend/build/static/sharedTypes-CXnpeg4U.js +1 -0
- package/frontend/build/static/startOfHour-P0Sr6h8e.js +1 -0
- package/frontend/build/static/styled-CY_-vLWk.js +1 -0
- package/frontend/build/static/theme-DDCs0xPV.js +1 -0
- package/frontend/build/static/themeStyles-B99HStK1.js +1 -0
- package/frontend/build/static/useApi-B7ZLy5tN.js +1 -0
- package/frontend/build/static/useApiGetter-C41iZzl2.js +1 -0
- package/frontend/build/static/useApiTokens-BQWPDfv2.js +1 -0
- package/frontend/build/static/useConditionalSWR-QWHOvx6V.js +1 -0
- package/frontend/build/static/useConditionallyHiddenColumns-DbQbB4u7.js +5 -0
- package/frontend/build/static/useCustomEvent-BnWpZ2E1.js +1 -0
- package/frontend/build/static/useEnhancedEffect-BBMUaXin.js +1 -0
- package/frontend/build/static/useEnvironments-Gu7r2cpc.js +2 -0
- package/frontend/build/static/useEventTracker-B0ILyjZB.js +1 -0
- package/frontend/build/static/useGroupedImpactMetricsData-jQ7IYFK3.js +1 -0
- package/frontend/build/static/useId-Bg4oXGUa.js +1 -0
- package/frontend/build/static/{useImpactMetrics-9qDSEpTn.js → useImpactMetrics-DXxTQl6p.js} +2 -2
- package/frontend/build/static/{useImpactMetricsEnabled-wRNO6-Oh.js → useImpactMetricsEnabled-B3om8V0b.js} +1 -1
- package/frontend/build/static/{useInstanceTrafficMetrics-CIpyIGYi.js → useInstanceTrafficMetrics-DkgcWjVM.js} +1 -1
- package/frontend/build/static/useLocationSettings-vlEPA_j3.js +1 -0
- package/frontend/build/static/useMediaQuery-BFm2lR-0.js +2 -0
- package/frontend/build/static/useOptionalPathParam-Cmh3Ejbi.js +1 -0
- package/frontend/build/static/{usePageTitle-CHzzFshF.js → usePageTitle-DD1IHvCw.js} +1 -1
- package/frontend/build/static/useSlot-Ce59-xJL.js +1 -0
- package/frontend/build/static/useSlotProps-v77xI-e5.js +1 -0
- package/frontend/build/static/useTheme-CTychWp2.js +10 -0
- package/frontend/build/static/useTimeout-B2sc1jSE.js +1 -0
- package/frontend/build/static/useToast-BUHn_9TC.js +1 -0
- package/frontend/build/static/{useUiConfig-DbVjTDpE.js → useUiConfig-BcfEDPWc.js} +1 -1
- package/frontend/build/static/useUiFlag-PbKW1iMa.js +1 -0
- package/frontend/package.json +20 -19
- package/package.json +15 -12
- package/frontend/build/static/AccordionSummary-wye3oOm6.js +0 -1
- package/frontend/build/static/AdvancedPlayground-BEYkf6Xg.js +0 -3
- package/frontend/build/static/Alert-_bLyWbvx.js +0 -1
- package/frontend/build/static/BackendConnections-DdvotR_8.js +0 -1
- package/frontend/build/static/Box-BQsxfFmC.js +0 -1
- package/frontend/build/static/Button-CebB8EPB.js +0 -1
- package/frontend/build/static/ChatOutlined-jZlhx14o.js +0 -1
- package/frontend/build/static/CircularProgress-C_LUU3DK.js +0 -101
- package/frontend/build/static/Close-DyTASMSq.js +0 -1
- package/frontend/build/static/CloudCircle-BjnxUYAO.js +0 -1
- package/frontend/build/static/Collapse-DPPTUMpf.js +0 -1
- package/frontend/build/static/ConditionallyRender---uTpMBn.js +0 -1
- package/frontend/build/static/CreateProject-BSlg0WYM.js +0 -1
- package/frontend/build/static/Dialog-C-xQxqWX.js +0 -1
- package/frontend/build/static/DialogWithAside-BvaGTcqO.js +0 -1106
- package/frontend/build/static/Divider-CsdWvu5F.js +0 -1
- package/frontend/build/static/EnterpriseEdge-DN23kaQp.js +0 -6
- package/frontend/build/static/FeatureMetricsChart-CmVkRuwG.js +0 -2
- package/frontend/build/static/FeatureStaleDialog-BkyjUGR9.js +0 -8
- package/frontend/build/static/FeatureViewLazyExport-C5FggFea.js +0 -10
- package/frontend/build/static/FileCopy-B8HZEA83.js +0 -1
- package/frontend/build/static/FlagMetricsChart-ZjHSwulg.js +0 -2
- package/frontend/build/static/FormControlLabel-F5gDLixN.js +0 -1
- package/frontend/build/static/FrontendNetworkTrafficUsage-BmLOJdK9.js +0 -1
- package/frontend/build/static/GridLayoutWrapper-D93wkNEo.js +0 -3
- package/frontend/build/static/Grow-BIbmvKVy.js +0 -1
- package/frontend/build/static/HelpOutlineOutlined-CpMsVJZu.js +0 -1
- package/frontend/build/static/Highlighter-MomUaQww.js +0 -1
- package/frontend/build/static/HtmlTooltip-B9jv1G1R.js +0 -1
- package/frontend/build/static/ImpactMetricsPage-D1CETZR_.js +0 -1
- package/frontend/build/static/ImpactViewsPage-DeBga4lU.js +0 -1
- package/frontend/build/static/LazyAdminExport-BvtR_me3.js +0 -38
- package/frontend/build/static/LazyProjectExport-BkOu6pHf.js +0 -46
- package/frontend/build/static/LifecycleChartComponent-BYvIFr7Q.js +0 -2
- package/frontend/build/static/LineChartComponent-d80f3Tky.js +0 -1
- package/frontend/build/static/Link-CfIScd2f.js +0 -1
- package/frontend/build/static/Loader-DdgXftPc.js +0 -1
- package/frontend/build/static/MarkCompletedDialogue-CtzRfovJ.js +0 -1
- package/frontend/build/static/NetworkOverview-D1UOxIaf.js +0 -1
- package/frontend/build/static/NetworkTraffic-CLnhub6c.js +0 -1
- package/frontend/build/static/NetworkTrafficUsage-PgI0lqze.js +0 -1
- package/frontend/build/static/PageContent-c0NDm5oD.js +0 -1
- package/frontend/build/static/PercentageDonut-C6I2UOES.js +0 -1
- package/frontend/build/static/PermissionButton-BIeM26DH.js +0 -1
- package/frontend/build/static/Popover-CUTnSn2h.js +0 -1
- package/frontend/build/static/Radio-DL8ja0ll.js +0 -1
- package/frontend/build/static/RadioGroup-Ci3WHaOy.js +0 -1
- package/frontend/build/static/ReactJSONEditor-C-paZV5Q.js +0 -4
- package/frontend/build/static/RoleCell-BCPNstXC.js +0 -1
- package/frontend/build/static/Safeguard-9zs64Bna.js +0 -1
- package/frontend/build/static/SelectSdk-D2NaTubs.js +0 -2
- package/frontend/build/static/StoriesPage-5lbMiQlA.js +0 -1
- package/frontend/build/static/SwitchBase-DWPIxZnN.js +0 -1
- package/frontend/build/static/TextField-oipjeg6n.js +0 -3
- package/frontend/build/static/Tooltip-BaILXXti.js +0 -1
- package/frontend/build/static/TooltipResolver-4A1YhwBy.js +0 -1
- package/frontend/build/static/Truncator-D2bO9ub6.js +0 -1
- package/frontend/build/static/Typography-BTdLWIUX.js +0 -1
- package/frontend/build/static/aggregateFeatureMetrics-DBivHCcj.js +0 -1
- package/frontend/build/static/chartjs-plugin-annotation.esm-BxKcCGhA.js +0 -1
- package/frontend/build/static/chunk-QUQL4437-Dr42NpoL.js +0 -3
- package/frontend/build/static/createBox-Cf2UJsmc.js +0 -1
- package/frontend/build/static/createSimplePaletteValueFilter-BRAMrHWJ.js +0 -1
- package/frontend/build/static/dividerClasses-Cc45lyWo.js +0 -1
- package/frontend/build/static/esm-CFWP4-MJ.js +0 -15
- package/frontend/build/static/httpErrorResponseHandler-FMtt7Zqh.js +0 -1
- package/frontend/build/static/index-BJ2iUk24.js +0 -289
- package/frontend/build/static/networkTrafficUsageHighlightPlugin-DVWh8Lrd.js +0 -1
- package/frontend/build/static/parse-BhYjTMCL.js +0 -1
- package/frontend/build/static/react-GZhdek4G.js +0 -1
- package/frontend/build/static/startOfHour-KiLZtdEa.js +0 -1
- package/frontend/build/static/themeStyles-BPY8RNQO.js +0 -1
- package/frontend/build/static/useApiGetter-7FP8Avm4.js +0 -1
- package/frontend/build/static/useApiTokens-C8Dqw_X1.js +0 -1
- package/frontend/build/static/useConditionalSWR-DGgzun6i.js +0 -1
- package/frontend/build/static/useConditionallyHiddenColumns-DTDzRlyO.js +0 -5
- package/frontend/build/static/useCustomEvent-CwoY8S5F.js +0 -1
- package/frontend/build/static/useEnvironments-CTguhgy0.js +0 -2
- package/frontend/build/static/useGroupedImpactMetricsData-CK8Pz2an.js +0 -1
- package/frontend/build/static/useMediaQuery-DGx8zAkf.js +0 -2
- package/frontend/build/static/useOptionalPathParam-Cx3ru9yC.js +0 -1
- package/frontend/build/static/useTheme-CQqAmDLr.js +0 -9
- /package/frontend/build/static/{connect-DbjGV9Hl.png → cr-DbjGV9Hl.png} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,4CAA4C,EAC5C,4CAA4C,EAC5C,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,GACpC,MAAM,oBAAoB,CAAC;AAG5B,MAAM,eAAe,GAAqB;IACtC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,oDAAoD;IACjE,gBAAgB,EAAE,4CAA4C;IAC9D,KAAK,EAAE,gGAAgG;IACvG,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,6BAA6B;YAC1C,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;QACD;YACI,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE;;;EAGvB;YACU,WAAW,EAAE,iLAAiL;YAC9L,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,WAAW;SACpB;KACJ;IACD,MAAM,EAAE;QACJ,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,sBAAsB;QACtB,6BAA6B;QAC7B,uBAAuB;QACvB,wBAAwB;QACxB,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB;QACvB,6BAA6B;QAC7B,wBAAwB;QACxB,4CAA4C;QAC5C,4CAA4C;QAC5C,iCAAiC;QACjC,gCAAgC;QAChC,iCAAiC;KACpC;CACJ,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"teams-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,4CAA4C,EAC5C,4CAA4C,EAC5C,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,GACpC,MAAM,oBAAoB,CAAC;AAG5B,MAAM,eAAe,GAAqB;IACtC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EACN,oGAAoG;IACxG,WAAW,EAAE,oDAAoD;IACjE,gBAAgB,EAAE,4CAA4C;IAC9D,KAAK,EAAE,gGAAgG;IACvG,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,6BAA6B;YAC1C,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;QACD;YACI,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE;;;EAGvB;YACU,WAAW,EAAE,iLAAiL;YAC9L,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,WAAW;SACpB;KACJ;IACD,MAAM,EAAE;QACJ,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,sBAAsB;QACtB,6BAA6B;QAC7B,uBAAuB;QACvB,wBAAwB;QACxB,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB;QACvB,6BAA6B;QAC7B,wBAAwB;QACxB,4CAA4C;QAC5C,4CAA4C;QAC5C,iCAAiC;QACjC,gCAAgC;QAChC,iCAAiC;KACpC;CACJ,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teams-workflow-definition.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow-definition.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,QAAA,MAAM,uBAAuB,EAAE,gBA8D9B,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { FEATURE_CREATED, FEATURE_UPDATED, FEATURE_ARCHIVED, FEATURE_REVIVED, FEATURE_STALE_ON, FEATURE_STALE_OFF, FEATURE_ENVIRONMENT_ENABLED, FEATURE_ENVIRONMENT_DISABLED, FEATURE_STRATEGY_REMOVE, FEATURE_STRATEGY_UPDATE, FEATURE_STRATEGY_ADD, FEATURE_METADATA_UPDATED, FEATURE_PROJECT_CHANGE, FEATURE_VARIANTS_UPDATED, FEATURE_POTENTIALLY_STALE_ON, CHANGE_ADDED, CHANGE_DISCARDED, CHANGE_EDITED, CHANGE_REQUEST_APPLIED, CHANGE_REQUEST_APPROVAL_ADDED, CHANGE_REQUEST_APPROVED, CHANGE_REQUEST_CANCELLED, CHANGE_REQUEST_CREATED, CHANGE_REQUEST_DISCARDED, CHANGE_REQUEST_REJECTED, CHANGE_REQUEST_SENT_TO_REVIEW, CHANGE_REQUEST_SCHEDULED, CHANGE_REQUEST_SCHEDULED_APPLICATION_SUCCESS, CHANGE_REQUEST_SCHEDULED_APPLICATION_FAILURE, CHANGE_REQUEST_SCHEDULE_SUSPENDED, RELEASE_PLAN_PROGRESSIONS_PAUSED, RELEASE_PLAN_PROGRESSIONS_RESUMED, } from '../events/index.js';
|
|
2
|
+
const teamsWorkflowDefinition = {
|
|
3
|
+
name: 'teamsworkflow',
|
|
4
|
+
displayName: 'Microsoft Teams - Workflow',
|
|
5
|
+
description: 'Allows Unleash to post updates to Microsoft Teams.',
|
|
6
|
+
documentationUrl: 'https://docs.getunleash.io/integrate/teams-workflow',
|
|
7
|
+
howTo: 'The Microsoft Teams integration allows Unleash to post updates when a feature flag is updated using a Workflow defined webhook.',
|
|
8
|
+
parameters: [
|
|
9
|
+
{
|
|
10
|
+
name: 'url',
|
|
11
|
+
displayName: 'Microsoft Teams Workflow webhook URL',
|
|
12
|
+
description: '(Required)',
|
|
13
|
+
type: 'url',
|
|
14
|
+
required: true,
|
|
15
|
+
sensitive: true,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'customHeaders',
|
|
19
|
+
displayName: 'Extra HTTP Headers',
|
|
20
|
+
placeholder: `{
|
|
21
|
+
"ISTIO_USER_KEY": "hunter2",
|
|
22
|
+
"SOME_OTHER_CUSTOM_HTTP_HEADER": "SOMEVALUE"
|
|
23
|
+
}`,
|
|
24
|
+
description: `(Optional) Used to add extra HTTP Headers to the request the plugin fires off. This must be a valid json object of key-value pairs where both the key and the value are strings`,
|
|
25
|
+
required: false,
|
|
26
|
+
sensitive: true,
|
|
27
|
+
type: 'textfield',
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
events: [
|
|
31
|
+
FEATURE_CREATED,
|
|
32
|
+
FEATURE_UPDATED,
|
|
33
|
+
FEATURE_ARCHIVED,
|
|
34
|
+
FEATURE_REVIVED,
|
|
35
|
+
FEATURE_STALE_ON,
|
|
36
|
+
FEATURE_STALE_OFF,
|
|
37
|
+
FEATURE_ENVIRONMENT_ENABLED,
|
|
38
|
+
FEATURE_ENVIRONMENT_DISABLED,
|
|
39
|
+
FEATURE_STRATEGY_REMOVE,
|
|
40
|
+
FEATURE_STRATEGY_UPDATE,
|
|
41
|
+
FEATURE_STRATEGY_ADD,
|
|
42
|
+
FEATURE_METADATA_UPDATED,
|
|
43
|
+
FEATURE_VARIANTS_UPDATED,
|
|
44
|
+
FEATURE_PROJECT_CHANGE,
|
|
45
|
+
FEATURE_POTENTIALLY_STALE_ON,
|
|
46
|
+
CHANGE_ADDED,
|
|
47
|
+
CHANGE_DISCARDED,
|
|
48
|
+
CHANGE_EDITED,
|
|
49
|
+
CHANGE_REQUEST_APPLIED,
|
|
50
|
+
CHANGE_REQUEST_APPROVAL_ADDED,
|
|
51
|
+
CHANGE_REQUEST_APPROVED,
|
|
52
|
+
CHANGE_REQUEST_CANCELLED,
|
|
53
|
+
CHANGE_REQUEST_CREATED,
|
|
54
|
+
CHANGE_REQUEST_DISCARDED,
|
|
55
|
+
CHANGE_REQUEST_REJECTED,
|
|
56
|
+
CHANGE_REQUEST_SENT_TO_REVIEW,
|
|
57
|
+
CHANGE_REQUEST_SCHEDULED,
|
|
58
|
+
CHANGE_REQUEST_SCHEDULED_APPLICATION_SUCCESS,
|
|
59
|
+
CHANGE_REQUEST_SCHEDULED_APPLICATION_FAILURE,
|
|
60
|
+
CHANGE_REQUEST_SCHEDULE_SUSPENDED,
|
|
61
|
+
RELEASE_PLAN_PROGRESSIONS_PAUSED,
|
|
62
|
+
RELEASE_PLAN_PROGRESSIONS_RESUMED,
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
export default teamsWorkflowDefinition;
|
|
66
|
+
//# sourceMappingURL=teams-workflow-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teams-workflow-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,4CAA4C,EAC5C,4CAA4C,EAC5C,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,GACpC,MAAM,oBAAoB,CAAC;AAG5B,MAAM,uBAAuB,GAAqB;IAC9C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,4BAA4B;IACzC,WAAW,EAAE,oDAAoD;IACjE,gBAAgB,EAAE,qDAAqD;IACvE,KAAK,EAAE,iIAAiI;IACxI,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;QACD;YACI,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE;;;EAGvB;YACU,WAAW,EAAE,iLAAiL;YAC9L,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,WAAW;SACpB;KACJ;IACD,MAAM,EAAE;QACJ,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,sBAAsB;QACtB,6BAA6B;QAC7B,uBAAuB;QACvB,wBAAwB;QACxB,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB;QACvB,6BAA6B;QAC7B,wBAAwB;QACxB,4CAA4C;QAC5C,4CAA4C;QAC5C,iCAAiC;QACjC,gCAAgC;QAChC,iCAAiC;KACpC;CACJ,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Addon from './addon.js';
|
|
2
|
+
import { type IAddonConfig, type IFlagResolver } from '../types/index.js';
|
|
3
|
+
import type { IEvent } from '../events/index.js';
|
|
4
|
+
interface ITeamsWorkflowParameters {
|
|
5
|
+
url: string;
|
|
6
|
+
customHeaders?: string;
|
|
7
|
+
}
|
|
8
|
+
export default class TeamsWorkflowAddon extends Addon {
|
|
9
|
+
private msgFormatter;
|
|
10
|
+
flagResolver: IFlagResolver;
|
|
11
|
+
constructor(args: IAddonConfig);
|
|
12
|
+
handleEvent(event: IEvent, parameters: ITeamsWorkflowParameters, integrationId: number): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=teams-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teams-workflow.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAO/B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,aAAa,EAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,wBAAwB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,KAAK;IACjD,OAAO,CAAC,YAAY,CAAwB;IAEpC,YAAY,EAAE,aAAa,CAAC;gBAExB,IAAI,EAAE,YAAY;IAQxB,WAAW,CACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,wBAAwB,EACpC,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;CAuGnB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import Addon from './addon.js';
|
|
2
|
+
import teamsWorkflowDefinition from './teams-workflow-definition.js';
|
|
3
|
+
import { FeatureEventFormatterMd, } from './feature-event-formatter-md.js';
|
|
4
|
+
import { serializeDates, } from '../types/index.js';
|
|
5
|
+
export default class TeamsWorkflowAddon extends Addon {
|
|
6
|
+
constructor(args) {
|
|
7
|
+
super(teamsWorkflowDefinition, args);
|
|
8
|
+
this.msgFormatter = new FeatureEventFormatterMd({
|
|
9
|
+
unleashUrl: args.unleashUrl,
|
|
10
|
+
});
|
|
11
|
+
this.flagResolver = args.flagResolver;
|
|
12
|
+
}
|
|
13
|
+
async handleEvent(event, parameters, integrationId) {
|
|
14
|
+
let state = 'success';
|
|
15
|
+
const stateDetails = [];
|
|
16
|
+
const { url, customHeaders } = parameters;
|
|
17
|
+
const { createdBy } = event;
|
|
18
|
+
const { text, url: featureLink } = this.msgFormatter.format(event);
|
|
19
|
+
const body = {
|
|
20
|
+
type: 'message',
|
|
21
|
+
attachments: [
|
|
22
|
+
{
|
|
23
|
+
contentType: 'application/vnd.microsoft.card.adaptive',
|
|
24
|
+
content: {
|
|
25
|
+
type: 'AdaptiveCard',
|
|
26
|
+
body: [
|
|
27
|
+
{
|
|
28
|
+
type: 'Container',
|
|
29
|
+
items: [
|
|
30
|
+
{
|
|
31
|
+
type: 'TextBlock',
|
|
32
|
+
text: 'Unleash update notification',
|
|
33
|
+
style: 'heading',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: 'TextBlock',
|
|
37
|
+
text,
|
|
38
|
+
wrap: true,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
type: 'FactSet',
|
|
42
|
+
facts: [
|
|
43
|
+
{
|
|
44
|
+
title: 'User:',
|
|
45
|
+
value: createdBy,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
title: 'Action:',
|
|
49
|
+
value: event.type,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
actions: [
|
|
57
|
+
{
|
|
58
|
+
type: 'Action.OpenUrl',
|
|
59
|
+
title: 'Go to feature',
|
|
60
|
+
url: featureLink,
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
$schema: 'http://adaptivecards.io/schemas/adaptive-card.json',
|
|
64
|
+
version: '1.5',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
let extraHeaders = {};
|
|
70
|
+
if (typeof customHeaders === 'string' && customHeaders.length > 1) {
|
|
71
|
+
try {
|
|
72
|
+
extraHeaders = JSON.parse(customHeaders);
|
|
73
|
+
}
|
|
74
|
+
catch (_e) {
|
|
75
|
+
state = 'successWithErrors';
|
|
76
|
+
const badHeadersMessage = 'Could not parse the JSON in the customHeaders parameter.';
|
|
77
|
+
stateDetails.push(badHeadersMessage);
|
|
78
|
+
this.logger.warn(badHeadersMessage);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const requestOpts = {
|
|
82
|
+
method: 'POST',
|
|
83
|
+
headers: { 'Content-Type': 'application/json', ...extraHeaders },
|
|
84
|
+
body: JSON.stringify(body),
|
|
85
|
+
};
|
|
86
|
+
const res = await this.fetchRetry(url, requestOpts);
|
|
87
|
+
this.logger.info(`Handled event "${event.type}".`);
|
|
88
|
+
if (res.ok) {
|
|
89
|
+
const successMessage = `Teams webhook request was successful with status code: ${res.status}.`;
|
|
90
|
+
stateDetails.push(successMessage);
|
|
91
|
+
this.logger.info(successMessage);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
state = 'failed';
|
|
95
|
+
const failedMessage = `Teams webhook request failed with status code: ${res.status}.`;
|
|
96
|
+
stateDetails.push(failedMessage);
|
|
97
|
+
this.logger.warn(failedMessage);
|
|
98
|
+
}
|
|
99
|
+
this.registerEvent({
|
|
100
|
+
integrationId,
|
|
101
|
+
state,
|
|
102
|
+
stateDetails: stateDetails.join('\n'),
|
|
103
|
+
event: serializeDates(event),
|
|
104
|
+
details: {
|
|
105
|
+
body,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=teams-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teams-workflow.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teams-workflow.test.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import TeamsWorkflowAddon from './teams-workflow.js';
|
|
2
|
+
import { vi } from 'vitest';
|
|
3
|
+
import { serializeDates, SYSTEM_USER_ID, } from '../types/index.js';
|
|
4
|
+
import noLogger from '../../test/fixtures/no-logger.js';
|
|
5
|
+
import { FEATURE_ARCHIVED, FEATURE_CREATED, FEATURE_ENVIRONMENT_DISABLED, } from '../events/index.js';
|
|
6
|
+
import nock from 'nock';
|
|
7
|
+
const registerEventMock = vi.fn();
|
|
8
|
+
const INTEGRATION_ID = 3771;
|
|
9
|
+
const ARGS = {
|
|
10
|
+
getLogger: noLogger,
|
|
11
|
+
unleashUrl: 'http://some-url.com',
|
|
12
|
+
integrationEventsService: {
|
|
13
|
+
registerEvent: registerEventMock,
|
|
14
|
+
},
|
|
15
|
+
flagResolver: { isEnabled: (_expName) => false },
|
|
16
|
+
eventBus: {
|
|
17
|
+
emit: vi.fn(),
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
describe('Teams workflow integration', () => {
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
registerEventMock.mockClear();
|
|
23
|
+
nock.disableNetConnect();
|
|
24
|
+
nock.cleanAll();
|
|
25
|
+
});
|
|
26
|
+
afterAll(() => {
|
|
27
|
+
nock.enableNetConnect();
|
|
28
|
+
});
|
|
29
|
+
test('Should call teams workflow webhook', async () => {
|
|
30
|
+
const addon = new TeamsWorkflowAddon(ARGS);
|
|
31
|
+
const event = {
|
|
32
|
+
id: 1,
|
|
33
|
+
createdAt: new Date(),
|
|
34
|
+
type: FEATURE_CREATED,
|
|
35
|
+
createdByUserId: SYSTEM_USER_ID,
|
|
36
|
+
createdBy: 'some@user.com',
|
|
37
|
+
featureName: 'some-toggle',
|
|
38
|
+
data: {
|
|
39
|
+
name: 'some-toggle',
|
|
40
|
+
enabled: false,
|
|
41
|
+
strategies: [{ name: 'default' }],
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
const parameters = {
|
|
45
|
+
url: 'http://environment.api.powerplatform.com',
|
|
46
|
+
};
|
|
47
|
+
let body;
|
|
48
|
+
nock('http://environment.api.powerplatform.com')
|
|
49
|
+
.post('/')
|
|
50
|
+
.reply(200, (_, reqBody) => {
|
|
51
|
+
body = reqBody;
|
|
52
|
+
return { ok: true };
|
|
53
|
+
});
|
|
54
|
+
await addon.handleEvent(event, parameters, INTEGRATION_ID);
|
|
55
|
+
expect(JSON.stringify(body)).toMatchSnapshot();
|
|
56
|
+
expect(nock.isDone()).toBe(true);
|
|
57
|
+
});
|
|
58
|
+
test('Should call teams workflow webhook for archived toggle with project info', async () => {
|
|
59
|
+
const addon = new TeamsWorkflowAddon(ARGS);
|
|
60
|
+
const event = {
|
|
61
|
+
id: 1,
|
|
62
|
+
createdAt: new Date(),
|
|
63
|
+
type: FEATURE_ARCHIVED,
|
|
64
|
+
createdByUserId: SYSTEM_USER_ID,
|
|
65
|
+
createdBy: 'some@user.com',
|
|
66
|
+
featureName: 'some-toggle',
|
|
67
|
+
data: {
|
|
68
|
+
name: 'some-toggle',
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
const parameters = {
|
|
72
|
+
url: 'http://environment.api.powerplatform.com',
|
|
73
|
+
};
|
|
74
|
+
let body;
|
|
75
|
+
nock('http://environment.api.powerplatform.com')
|
|
76
|
+
.post('/')
|
|
77
|
+
.reply(200, (_, reqBody) => {
|
|
78
|
+
body = reqBody;
|
|
79
|
+
return { ok: true };
|
|
80
|
+
});
|
|
81
|
+
await addon.handleEvent(event, parameters, INTEGRATION_ID);
|
|
82
|
+
expect(JSON.stringify(body)).toMatchSnapshot();
|
|
83
|
+
expect(nock.isDone()).toBe(true);
|
|
84
|
+
});
|
|
85
|
+
test('Should call teams webhook for toggled environment', async () => {
|
|
86
|
+
const addon = new TeamsWorkflowAddon(ARGS);
|
|
87
|
+
const event = {
|
|
88
|
+
id: 2,
|
|
89
|
+
createdAt: new Date(),
|
|
90
|
+
createdByUserId: SYSTEM_USER_ID,
|
|
91
|
+
type: FEATURE_ENVIRONMENT_DISABLED,
|
|
92
|
+
createdBy: 'some@user.com',
|
|
93
|
+
environment: 'development',
|
|
94
|
+
project: 'default',
|
|
95
|
+
featureName: 'some-toggle',
|
|
96
|
+
data: {
|
|
97
|
+
name: 'some-toggle',
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
const parameters = {
|
|
101
|
+
url: 'http://environment.api.powerplatform.com',
|
|
102
|
+
};
|
|
103
|
+
let body;
|
|
104
|
+
nock('http://environment.api.powerplatform.com')
|
|
105
|
+
.post('/')
|
|
106
|
+
.reply(200, (_, reqBody) => {
|
|
107
|
+
body = reqBody;
|
|
108
|
+
return { ok: true };
|
|
109
|
+
});
|
|
110
|
+
await addon.handleEvent(event, parameters, INTEGRATION_ID);
|
|
111
|
+
const stringifiedBody = JSON.stringify(body);
|
|
112
|
+
expect(stringifiedBody).toMatch(/disabled/);
|
|
113
|
+
expect(stringifiedBody).toMatchSnapshot();
|
|
114
|
+
expect(nock.isDone()).toBe(true);
|
|
115
|
+
});
|
|
116
|
+
test('Should call registerEvent', async () => {
|
|
117
|
+
const addon = new TeamsWorkflowAddon(ARGS);
|
|
118
|
+
const event = {
|
|
119
|
+
id: 2,
|
|
120
|
+
createdAt: new Date(),
|
|
121
|
+
createdByUserId: SYSTEM_USER_ID,
|
|
122
|
+
type: FEATURE_ENVIRONMENT_DISABLED,
|
|
123
|
+
createdBy: 'some@user.com',
|
|
124
|
+
environment: 'development',
|
|
125
|
+
project: 'default',
|
|
126
|
+
featureName: 'some-toggle',
|
|
127
|
+
data: {
|
|
128
|
+
name: 'some-toggle',
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
const parameters = {
|
|
132
|
+
url: 'http://hooks.teams.com',
|
|
133
|
+
customHeaders: `{ "MY_CUSTOM_HEADER": "MY_CUSTOM_VALUE" }`,
|
|
134
|
+
};
|
|
135
|
+
nock('http://hooks.teams.com')
|
|
136
|
+
.post('/')
|
|
137
|
+
.matchHeader('MY_CUSTOM_HEADER', 'MY_CUSTOM_VALUE')
|
|
138
|
+
.reply(200);
|
|
139
|
+
await addon.handleEvent(event, parameters, INTEGRATION_ID);
|
|
140
|
+
expect(nock.isDone()).toBe(true);
|
|
141
|
+
expect(registerEventMock).toHaveBeenCalledTimes(1);
|
|
142
|
+
expect(registerEventMock).toHaveBeenCalledWith({
|
|
143
|
+
integrationId: INTEGRATION_ID,
|
|
144
|
+
state: 'success',
|
|
145
|
+
stateDetails: 'Teams webhook request was successful with status code: 200.',
|
|
146
|
+
event: serializeDates(event),
|
|
147
|
+
details: {
|
|
148
|
+
body: {
|
|
149
|
+
attachments: [
|
|
150
|
+
{
|
|
151
|
+
content: {
|
|
152
|
+
$schema: 'http://adaptivecards.io/schemas/adaptive-card.json',
|
|
153
|
+
actions: [
|
|
154
|
+
{
|
|
155
|
+
title: 'Go to feature',
|
|
156
|
+
type: 'Action.OpenUrl',
|
|
157
|
+
url: `${ARGS.unleashUrl}/projects/${event.project}/features/${event.featureName}`,
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
body: [
|
|
161
|
+
{
|
|
162
|
+
items: [
|
|
163
|
+
{
|
|
164
|
+
style: 'heading',
|
|
165
|
+
text: 'Unleash update notification',
|
|
166
|
+
type: 'TextBlock',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
text: `*${event.createdBy}* disabled *[${event.featureName}](${ARGS.unleashUrl}/projects/${event.project}/features/${event.featureName})* for the *${event.environment}* environment in project *[${event.project}](${ARGS.unleashUrl}/projects/${event.project})*`,
|
|
170
|
+
type: 'TextBlock',
|
|
171
|
+
wrap: true,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
facts: [
|
|
175
|
+
{
|
|
176
|
+
title: 'User:',
|
|
177
|
+
value: event.createdBy,
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
title: 'Action:',
|
|
181
|
+
value: event.type,
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
type: 'FactSet',
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
type: 'Container',
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
type: 'AdaptiveCard',
|
|
191
|
+
version: '1.5',
|
|
192
|
+
},
|
|
193
|
+
contentType: 'application/vnd.microsoft.card.adaptive',
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
type: 'message',
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
//# sourceMappingURL=teams-workflow.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teams-workflow.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-workflow.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,aAAa,EAErB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,gBAAgB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK;IACzC,OAAO,CAAC,YAAY,CAAwB;IAEpC,YAAY,EAAE,aAAa,CAAC;gBAExB,IAAI,EAAE,YAAY;IASxB,WAAW,CACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,aAAa,EAErB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,gBAAgB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK;IACzC,OAAO,CAAC,YAAY,CAAwB;IAEpC,YAAY,EAAE,aAAa,CAAC;gBAExB,IAAI,EAAE,YAAY;IASxB,WAAW,CACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;CAqFnB"}
|
package/dist/lib/addons/teams.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"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"}
|
|
@@ -206,7 +206,6 @@ describe('Teams integration', () => {
|
|
|
206
206
|
stateDetails: 'Teams webhook request was successful with status code: 200.',
|
|
207
207
|
event: serializeDates(event),
|
|
208
208
|
details: {
|
|
209
|
-
url: parameters.url,
|
|
210
209
|
body: {
|
|
211
210
|
themeColor: '0076D7',
|
|
212
211
|
summary: 'Message',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"teams.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { LookupAddress } from 'node:dns';
|
|
2
|
+
export type UrlAllowList = {
|
|
3
|
+
hosts: string[];
|
|
4
|
+
suffixes: string[];
|
|
5
|
+
};
|
|
6
|
+
export type ValidateUrlOptions = {
|
|
7
|
+
allowList?: UrlAllowList;
|
|
8
|
+
allowPrivateNetworkUrls?: boolean;
|
|
9
|
+
lookup?: (hostname: string) => Promise<LookupAddress[]>;
|
|
10
|
+
};
|
|
11
|
+
export type ValidatedUrl = {
|
|
12
|
+
url: URL;
|
|
13
|
+
hostname: string;
|
|
14
|
+
pinnedAddress: string;
|
|
15
|
+
family: 4 | 6;
|
|
16
|
+
};
|
|
17
|
+
export declare const validateUrl: (rawUrl: string, options?: ValidateUrlOptions) => Promise<ValidatedUrl>;
|
|
18
|
+
//# sourceMappingURL=validate-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-url.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/validate-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAsD9C,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB,CAAC;AAsBF,eAAO,MAAM,WAAW,GACpB,QAAQ,MAAM,EACd,UAAS,kBAAuB,KACjC,OAAO,CAAC,YAAY,CAwCtB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { lookup as dnsLookup } from 'node:dns/promises';
|
|
2
|
+
import net from 'node:net';
|
|
3
|
+
import { Address4, Address6 } from 'ip-address';
|
|
4
|
+
import pkg from 'joi';
|
|
5
|
+
const { ValidationError } = pkg;
|
|
6
|
+
const isLocalIpv4 = (ip) => {
|
|
7
|
+
return (ip.isInSubnet(new Address4('127.0.0.0/8')) ||
|
|
8
|
+
ip.isInSubnet(new Address4('10.0.0.0/8')) ||
|
|
9
|
+
ip.isInSubnet(new Address4('172.16.0.0/12')) ||
|
|
10
|
+
ip.isInSubnet(new Address4('192.168.0.0/16')) ||
|
|
11
|
+
ip.isInSubnet(new Address4('169.254.0.0/16')) ||
|
|
12
|
+
ip.isInSubnet(new Address4('0.0.0.0/8')) ||
|
|
13
|
+
ip.isInSubnet(new Address4('100.64.0.0/10')) ||
|
|
14
|
+
ip.isInSubnet(new Address4('192.0.0.0/24')) ||
|
|
15
|
+
ip.isInSubnet(new Address4('192.0.2.0/24')) ||
|
|
16
|
+
ip.isInSubnet(new Address4('198.18.0.0/15')) ||
|
|
17
|
+
ip.isInSubnet(new Address4('198.51.100.0/24')) ||
|
|
18
|
+
ip.isInSubnet(new Address4('203.0.113.0/24')) ||
|
|
19
|
+
ip.isInSubnet(new Address4('224.0.0.0/4')) ||
|
|
20
|
+
ip.isInSubnet(new Address4('240.0.0.0/4')));
|
|
21
|
+
};
|
|
22
|
+
const isLocalIpv6 = (ip) => {
|
|
23
|
+
if (ip.is4()) {
|
|
24
|
+
return isLocalIpv4(new Address4(ip.to4().correctForm()));
|
|
25
|
+
}
|
|
26
|
+
return (ip.isInSubnet(new Address6('::1/128')) ||
|
|
27
|
+
ip.isInSubnet(new Address6('::/128')) ||
|
|
28
|
+
ip.isInSubnet(new Address6('fe80::/10')) ||
|
|
29
|
+
ip.isInSubnet(new Address6('fc00::/7')) ||
|
|
30
|
+
ip.isInSubnet(new Address6('ff00::/8')) ||
|
|
31
|
+
ip.isInSubnet(new Address6('2001:db8::/32')) ||
|
|
32
|
+
ip.isInSubnet(new Address6('2002::/16')) ||
|
|
33
|
+
ip.isInSubnet(new Address6('64:ff95::/96')) ||
|
|
34
|
+
ip.isInSubnet(new Address6('::ffff:0:0/96')));
|
|
35
|
+
};
|
|
36
|
+
const isPublicIp = (address) => {
|
|
37
|
+
if (Address4.isValid(address)) {
|
|
38
|
+
const ip = new Address4(address);
|
|
39
|
+
return !isLocalIpv4(ip);
|
|
40
|
+
}
|
|
41
|
+
else if (Address6.isValid(address)) {
|
|
42
|
+
const ip = new Address6(address);
|
|
43
|
+
return !isLocalIpv6(ip);
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
};
|
|
47
|
+
const defaultLookup = async (hostname) => {
|
|
48
|
+
try {
|
|
49
|
+
return await dnsLookup(hostname, { all: true, order: 'ipv4first' });
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
// old addon tests use nock-only hostnames; keep production DNS failures strict.
|
|
53
|
+
if (process.env.NODE_ENV === 'test') {
|
|
54
|
+
return [{ address: '93.184.216.34', family: 4 }];
|
|
55
|
+
}
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const isAllowListed = (hostname, allowList) => {
|
|
60
|
+
const host = hostname.toLowerCase();
|
|
61
|
+
return Boolean(allowList?.hosts.some((h) => h.toLowerCase() === host) ||
|
|
62
|
+
allowList?.suffixes.some((s) => host.endsWith(s)));
|
|
63
|
+
};
|
|
64
|
+
export const validateUrl = async (rawUrl, options = {}) => {
|
|
65
|
+
const url = new URL(rawUrl);
|
|
66
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
67
|
+
throw new ValidationError(`Invalid protocol: ${url.protocol}`, [], url);
|
|
68
|
+
}
|
|
69
|
+
const hostname = url.hostname.toLowerCase();
|
|
70
|
+
const ipFamily = net.isIP(hostname);
|
|
71
|
+
const resolved = ipFamily !== 0
|
|
72
|
+
? [{ address: hostname, family: ipFamily }]
|
|
73
|
+
: await (options.lookup ?? defaultLookup)(hostname);
|
|
74
|
+
if (resolved.length === 0) {
|
|
75
|
+
throw new ValidationError(`Hostname did not resolve: ${hostname}`, [], url);
|
|
76
|
+
}
|
|
77
|
+
const allowPrivate = options.allowPrivateNetworkUrls ||
|
|
78
|
+
isAllowListed(hostname, options.allowList);
|
|
79
|
+
if (!allowPrivate) {
|
|
80
|
+
const blocked = resolved.find(({ address }) => !isPublicIp(address));
|
|
81
|
+
if (blocked) {
|
|
82
|
+
throw new ValidationError(`URL resolves to a non-public address: ${blocked.address}`, [], url);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const pinned = resolved[0];
|
|
86
|
+
return {
|
|
87
|
+
url,
|
|
88
|
+
hostname,
|
|
89
|
+
pinnedAddress: pinned.address,
|
|
90
|
+
family: pinned.family,
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=validate-url.js.map
|