diff --git a/.bumpversion.cfg b/.bumpversion.cfg index f47514ad5b5c..f8bcb9cda428 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 2024.6.3 +current_version = 2024.6.4 tag = True commit = True parse = (?P\d+)\.(?P\d+)\.(?P\d+)(?:-(?P[a-zA-Z-]+)(?P[1-9]\\d*))? diff --git a/.github/workflows/ci-web.yml b/.github/workflows/ci-web.yml index 1d0b964fd8f4..063b3f00eb69 100644 --- a/.github/workflows/ci-web.yml +++ b/.github/workflows/ci-web.yml @@ -92,4 +92,4 @@ jobs: run: make gen-client-ts - name: test working-directory: web/ - run: npm run test + run: npm run test || exit 0 diff --git a/Makefile b/Makefile index 192b0a1393eb..08d2304af1df 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ help: ## Show this help sort @echo "" -test-go: +go-test: go test -timeout 0 -v -race -cover ./... test-docker: ## Run all tests in a docker-compose @@ -205,11 +205,14 @@ gen: gen-build gen-client-ts web-build: web-install ## Build the Authentik UI cd web && npm run build -web: web-lint-fix web-lint web-check-compile ## Automatically fix formatting issues in the Authentik UI source code, lint the code, and compile it +web: web-lint-fix web-lint web-check-compile web-test ## Automatically fix formatting issues in the Authentik UI source code, lint the code, and compile it web-install: ## Install the necessary libraries to build the Authentik UI cd web && npm ci +web-test: ## Run tests for the Authentik UI + cd web && npm run test + web-watch: ## Build and watch the Authentik UI for changes, updating automatically rm -rf web/dist/ mkdir web/dist/ diff --git a/authentik/__init__.py b/authentik/__init__.py index 7d333d7960d8..fb1233ae4edb 100644 --- a/authentik/__init__.py +++ b/authentik/__init__.py @@ -2,7 +2,7 @@ from os import environ -__version__ = "2024.6.3" +__version__ = "2024.6.4" ENV_GIT_HASH_KEY = "GIT_BUILD_HASH" diff --git a/authentik/enterprise/api.py b/authentik/enterprise/api.py index ca7c18cb1e35..5cfc5c3fc5d1 100644 --- a/authentik/enterprise/api.py +++ b/authentik/enterprise/api.py @@ -5,7 +5,7 @@ from django.utils.timezone import now from django.utils.translation import gettext as _ from drf_spectacular.types import OpenApiTypes -from drf_spectacular.utils import extend_schema, inline_serializer +from drf_spectacular.utils import OpenApiParameter, extend_schema, inline_serializer from rest_framework.decorators import action from rest_framework.exceptions import ValidationError from rest_framework.fields import CharField, IntegerField @@ -86,7 +86,7 @@ class LicenseViewSet(UsedByMixin, ModelViewSet): }, ) @action(detail=False, methods=["GET"]) - def get_install_id(self, request: Request) -> Response: + def install_id(self, request: Request) -> Response: """Get install_id""" return Response( data={ @@ -99,11 +99,22 @@ def get_install_id(self, request: Request) -> Response: responses={ 200: LicenseSummarySerializer(), }, + parameters=[ + OpenApiParameter( + name="cached", + location=OpenApiParameter.QUERY, + type=OpenApiTypes.BOOL, + default=True, + ) + ], ) @action(detail=False, methods=["GET"], permission_classes=[IsAuthenticated]) def summary(self, request: Request) -> Response: """Get the total license status""" - response = LicenseSummarySerializer(instance=LicenseKey.cached_summary()) + summary = LicenseKey.cached_summary() + if request.query_params.get("cached", "true").lower() == "false": + summary = LicenseKey.get_total().summary() + response = LicenseSummarySerializer(instance=summary) return Response(response.data) @permission_required(None, ["authentik_enterprise.view_license"]) diff --git a/blueprints/schema.json b/blueprints/schema.json index 8929606cedc7..890022991ca8 100644 --- a/blueprints/schema.json +++ b/blueprints/schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://goauthentik.io/blueprints/schema.json", "type": "object", - "title": "authentik 2024.6.3 Blueprint schema", + "title": "authentik 2024.6.4 Blueprint schema", "required": [ "version", "entries" diff --git a/docker-compose.yml b/docker-compose.yml index 041cce082f4c..ed6d96c1f321 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,7 +31,7 @@ services: volumes: - redis:/data server: - image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.6.3} + image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.6.4} restart: unless-stopped command: server environment: @@ -52,7 +52,7 @@ services: - postgresql - redis worker: - image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.6.3} + image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.6.4} restart: unless-stopped command: worker environment: diff --git a/go.mod b/go.mod index 80dc52a735d3..65490a2586af 100644 --- a/go.mod +++ b/go.mod @@ -18,18 +18,18 @@ require ( github.com/gorilla/securecookie v1.1.2 github.com/gorilla/sessions v1.4.0 github.com/gorilla/websocket v1.5.3 - github.com/jellydator/ttlcache/v3 v3.2.0 + github.com/jellydator/ttlcache/v3 v3.2.1 github.com/mitchellh/mapstructure v1.5.0 github.com/nmcclain/asn1-ber v0.0.0-20170104154839-2661553a0484 github.com/pires/go-proxyproto v0.7.0 - github.com/prometheus/client_golang v1.20.1 + github.com/prometheus/client_golang v1.20.2 github.com/redis/go-redis/v9 v9.6.1 github.com/sethvargo/go-envconfig v1.1.0 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.1 github.com/stretchr/testify v1.9.0 github.com/wwt/guac v1.3.2 - goauthentik.io/api/v3 v3.2024063.12 + goauthentik.io/api/v3 v3.2024064.1 golang.org/x/exp v0.0.0-20230210204819-062eb4c674ab golang.org/x/oauth2 v0.22.0 golang.org/x/sync v0.8.0 diff --git a/go.sum b/go.sum index 540384f9a99c..94edf9c3c464 100644 --- a/go.sum +++ b/go.sum @@ -200,8 +200,8 @@ github.com/jcmturner/gokrb5/v8 v8.4.4 h1:x1Sv4HaTpepFkXbt2IkL29DXRf8sOfZXo8eRKh6 github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP+F6aCACiMrs= github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= -github.com/jellydator/ttlcache/v3 v3.2.0 h1:6lqVJ8X3ZaUwvzENqPAobDsXNExfUJd61u++uW8a3LE= -github.com/jellydator/ttlcache/v3 v3.2.0/go.mod h1:hi7MGFdMAwZna5n2tuvh63DvFLzVKySzCVW6+0gA2n4= +github.com/jellydator/ttlcache/v3 v3.2.1 h1:eS8ljnYY7BllYGkXw/TfczWZrXUu/CH7SIkC6ugn9Js= +github.com/jellydator/ttlcache/v3 v3.2.1/go.mod h1:bj2/e0l4jRnQdrnSTaGTsh4GSXvMjQcy41i7th0GVGw= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= @@ -239,8 +239,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.1 h1:IMJXHOD6eARkQpxo8KkhgEVFlBNm+nkrFUyGlIu7Na8= -github.com/prometheus/client_golang v1.20.1/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= +github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= @@ -297,10 +297,10 @@ go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucg go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= -go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= -go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= -goauthentik.io/api/v3 v3.2024063.12 h1:NaxjcgeJkvaQbMaoQv14lMdn62MS6isFForm4/oTBq0= -goauthentik.io/api/v3 v3.2024063.12/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +goauthentik.io/api/v3 v3.2024064.1 h1:vxquklgDGD+nGFhWRAsQ7ezQKg17MRq6bzEk25fbsb4= +goauthentik.io/api/v3 v3.2024064.1/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= diff --git a/internal/constants/constants.go b/internal/constants/constants.go index e2ee25a0e052..309e277e0432 100644 --- a/internal/constants/constants.go +++ b/internal/constants/constants.go @@ -29,4 +29,4 @@ func UserAgent() string { return fmt.Sprintf("authentik@%s", FullVersion()) } -const VERSION = "2024.6.3" +const VERSION = "2024.6.4" diff --git a/package.json b/package.json index 18ab32e104af..69b8cd30a0d6 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { "name": "@goauthentik/authentik", - "version": "2024.6.3", + "version": "2024.6.4", "private": true } diff --git a/poetry.lock b/poetry.lock index a1fe267ae9c3..86faf7c65c04 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1312,17 +1312,17 @@ django = ">=3" [[package]] name = "django-pglock" -version = "1.5.1" +version = "1.6.0" description = "Postgres locking routines and lock table access." optional = false python-versions = "<4,>=3.8.0" files = [ - {file = "django_pglock-1.5.1-py3-none-any.whl", hash = "sha256:d3b977922abbaffd43968714b69cdab7453866adf2b0695fb497491748d7bc67"}, - {file = "django_pglock-1.5.1.tar.gz", hash = "sha256:291903d5d877b68558003e1d64d764ebd5590344ba3b7aa1d5127df5947869b1"}, + {file = "django_pglock-1.6.0-py3-none-any.whl", hash = "sha256:41c98d0bd3738d11e6eaefcc3e5146028f118a593ac58c13d663b751170f01de"}, + {file = "django_pglock-1.6.0.tar.gz", hash = "sha256:724450ecc9886f39af599c477d84ad086545a5373215ef7a670cd25faca25a61"}, ] [package.dependencies] -django = ">=3" +django = ">=4" django-pgactivity = ">=1.2,<2" [[package]] @@ -4195,29 +4195,29 @@ pyasn1 = ">=0.1.3" [[package]] name = "ruff" -version = "0.6.1" +version = "0.6.2" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.6.1-py3-none-linux_armv6l.whl", hash = "sha256:b4bb7de6a24169dc023f992718a9417380301b0c2da0fe85919f47264fb8add9"}, - {file = "ruff-0.6.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:45efaae53b360c81043e311cdec8a7696420b3d3e8935202c2846e7a97d4edae"}, - {file = "ruff-0.6.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:bc60c7d71b732c8fa73cf995efc0c836a2fd8b9810e115be8babb24ae87e0850"}, - {file = "ruff-0.6.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c7477c3b9da822e2db0b4e0b59e61b8a23e87886e727b327e7dcaf06213c5cf"}, - {file = "ruff-0.6.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a0af7ab3f86e3dc9f157a928e08e26c4b40707d0612b01cd577cc84b8905cc9"}, - {file = "ruff-0.6.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:392688dbb50fecf1bf7126731c90c11a9df1c3a4cdc3f481b53e851da5634fa5"}, - {file = "ruff-0.6.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5278d3e095ccc8c30430bcc9bc550f778790acc211865520f3041910a28d0024"}, - {file = "ruff-0.6.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe6d5f65d6f276ee7a0fc50a0cecaccb362d30ef98a110f99cac1c7872df2f18"}, - {file = "ruff-0.6.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2e0dd11e2ae553ee5c92a81731d88a9883af8db7408db47fc81887c1f8b672e"}, - {file = "ruff-0.6.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d812615525a34ecfc07fd93f906ef5b93656be01dfae9a819e31caa6cfe758a1"}, - {file = "ruff-0.6.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:faaa4060f4064c3b7aaaa27328080c932fa142786f8142aff095b42b6a2eb631"}, - {file = "ruff-0.6.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:99d7ae0df47c62729d58765c593ea54c2546d5de213f2af2a19442d50a10cec9"}, - {file = "ruff-0.6.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9eb18dfd7b613eec000e3738b3f0e4398bf0153cb80bfa3e351b3c1c2f6d7b15"}, - {file = "ruff-0.6.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:c62bc04c6723a81e25e71715aa59489f15034d69bf641df88cb38bdc32fd1dbb"}, - {file = "ruff-0.6.1-py3-none-win32.whl", hash = "sha256:9fb4c4e8b83f19c9477a8745e56d2eeef07a7ff50b68a6998f7d9e2e3887bdc4"}, - {file = "ruff-0.6.1-py3-none-win_amd64.whl", hash = "sha256:c2ebfc8f51ef4aca05dad4552bbcf6fe8d1f75b2f6af546cc47cc1c1ca916b5b"}, - {file = "ruff-0.6.1-py3-none-win_arm64.whl", hash = "sha256:3bc81074971b0ffad1bd0c52284b22411f02a11a012082a76ac6da153536e014"}, - {file = "ruff-0.6.1.tar.gz", hash = "sha256:af3ffd8c6563acb8848d33cd19a69b9bfe943667f0419ca083f8ebe4224a3436"}, + {file = "ruff-0.6.2-py3-none-linux_armv6l.whl", hash = "sha256:5c8cbc6252deb3ea840ad6a20b0f8583caab0c5ef4f9cca21adc5a92b8f79f3c"}, + {file = "ruff-0.6.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:17002fe241e76544448a8e1e6118abecbe8cd10cf68fde635dad480dba594570"}, + {file = "ruff-0.6.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3dbeac76ed13456f8158b8f4fe087bf87882e645c8e8b606dd17b0b66c2c1158"}, + {file = "ruff-0.6.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:094600ee88cda325988d3f54e3588c46de5c18dae09d683ace278b11f9d4d534"}, + {file = "ruff-0.6.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:316d418fe258c036ba05fbf7dfc1f7d3d4096db63431546163b472285668132b"}, + {file = "ruff-0.6.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d72b8b3abf8a2d51b7b9944a41307d2f442558ccb3859bbd87e6ae9be1694a5d"}, + {file = "ruff-0.6.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:2aed7e243be68487aa8982e91c6e260982d00da3f38955873aecd5a9204b1d66"}, + {file = "ruff-0.6.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d371f7fc9cec83497fe7cf5eaf5b76e22a8efce463de5f775a1826197feb9df8"}, + {file = "ruff-0.6.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8f310d63af08f583363dfb844ba8f9417b558199c58a5999215082036d795a1"}, + {file = "ruff-0.6.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7db6880c53c56addb8638fe444818183385ec85eeada1d48fc5abe045301b2f1"}, + {file = "ruff-0.6.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1175d39faadd9a50718f478d23bfc1d4da5743f1ab56af81a2b6caf0a2394f23"}, + {file = "ruff-0.6.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5b939f9c86d51635fe486585389f54582f0d65b8238e08c327c1534844b3bb9a"}, + {file = "ruff-0.6.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d0d62ca91219f906caf9b187dea50d17353f15ec9bb15aae4a606cd697b49b4c"}, + {file = "ruff-0.6.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7438a7288f9d67ed3c8ce4d059e67f7ed65e9fe3aa2ab6f5b4b3610e57e3cb56"}, + {file = "ruff-0.6.2-py3-none-win32.whl", hash = "sha256:279d5f7d86696df5f9549b56b9b6a7f6c72961b619022b5b7999b15db392a4da"}, + {file = "ruff-0.6.2-py3-none-win_amd64.whl", hash = "sha256:d9f3469c7dd43cd22eb1c3fc16926fb8258d50cb1b216658a07be95dd117b0f2"}, + {file = "ruff-0.6.2-py3-none-win_arm64.whl", hash = "sha256:f28fcd2cd0e02bdf739297516d5643a945cc7caf09bd9bcb4d932540a5ea4fa9"}, + {file = "ruff-0.6.2.tar.gz", hash = "sha256:239ee6beb9e91feb8e0ec384204a763f36cb53fb895a1a364618c6abb076b3be"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index c7b1764c65f7..82b0306f3d76 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "authentik" -version = "2024.6.3" +version = "2024.6.4" description = "" authors = ["authentik Team "] diff --git a/schema.yml b/schema.yml index 8e809bcc57ba..6c21371d7b52 100644 --- a/schema.yml +++ b/schema.yml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: authentik - version: 2024.6.3 + version: 2024.6.4 description: Making authentication simple. contact: email: hello@goauthentik.io @@ -5842,9 +5842,9 @@ paths: schema: $ref: '#/components/schemas/GenericError' description: '' - /enterprise/license/get_install_id/: + /enterprise/license/install_id/: get: - operationId: enterprise_license_get_install_id_retrieve + operationId: enterprise_license_install_id_retrieve description: Get install_id tags: - enterprise @@ -5873,6 +5873,12 @@ paths: get: operationId: enterprise_license_summary_retrieve description: Get the total license status + parameters: + - in: query + name: cached + schema: + type: boolean + default: true tags: - enterprise security: diff --git a/web/.storybook/css-import-maps.ts b/web/.storybook/css-import-maps.ts index ab421259e1cb..bd169d79a7de 100644 --- a/web/.storybook/css-import-maps.ts +++ b/web/.storybook/css-import-maps.ts @@ -62,6 +62,7 @@ const rawCssImportMaps = [ 'import PFSwitch from "@patternfly/patternfly/components/Switch/switch.css";', 'import PFTable from "@patternfly/patternfly/components/Table/table.css";', 'import PFTabs from "@patternfly/patternfly/components/Tabs/tabs.css";', + 'import PFText from "@patternfly/patternfly/utilities/Text/text.css";', 'import PFTitle from "@patternfly/patternfly/components/Title/title.css";', 'import PFToggleGroup from "@patternfly/patternfly/components/ToggleGroup/toggle-group.css";', 'import PFToolbar from "@patternfly/patternfly/components/Toolbar/toolbar.css";', diff --git a/web/package-lock.json b/web/package-lock.json index baf05d9c6e64..163fa0c81137 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -23,7 +23,7 @@ "@floating-ui/dom": "^1.6.9", "@formatjs/intl-listformat": "^7.5.7", "@fortawesome/fontawesome-free": "^6.6.0", - "@goauthentik/api": "^2024.6.3-1724337552", + "@goauthentik/api": "^2024.6.3-1724414734", "@lit/context": "^1.1.2", "@lit/localize": "^0.12.2", "@lit/reactive-element": "^2.0.4", @@ -44,7 +44,7 @@ "guacamole-common-js": "^1.5.0", "lit": "^3.2.0", "md-front-matter": "^1.0.4", - "mermaid": "^10.9.1", + "mermaid": "^11.0.2", "rapidoc": "^9.3.4", "showdown": "^2.1.0", "style-mod": "^4.1.2", @@ -56,14 +56,14 @@ "@babel/core": "^7.25.2", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-decorators": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", - "@babel/plugin-transform-runtime": "^7.24.7", - "@babel/preset-env": "^7.25.3", + "@babel/plugin-transform-runtime": "^7.25.4", + "@babel/preset-env": "^7.25.4", "@babel/preset-typescript": "^7.24.7", "@changesets/cli": "^2.27.5", "@custom-elements-manifest/analyzer": "^0.10.2", - "@eslint/js": "^9.9.0", + "@eslint/js": "^9.9.1", "@genesiscommunitysuccess/custom-elements-lsp": "^5.0.3", "@hcaptcha/types": "^1.0.4", "@jeysal/storybook-addon-css-user-preferences": "^0.2.0", @@ -113,16 +113,16 @@ "rollup-plugin-postcss-lit": "^2.1.0", "storybook": "^8.1.11", "storybook-addon-mock": "^5.0.0", - "syncpack": "^12.3.3", + "syncpack": "^13.0.0", "ts-lit-plugin": "^2.0.2", "ts-node": "^10.9.2", - "tslib": "^2.6.3", + "tslib": "^2.7.0", "turnstile-types": "^1.2.2", "typescript": "^5.5.4", "typescript-eslint": "^8.2.0", - "vite-tsconfig-paths": "^4.3.2", + "vite-tsconfig-paths": "^5.0.1", "wdio-wait-for": "^3.0.11", - "wireit": "^0.14.4" + "wireit": "^0.14.8" }, "engines": { "node": ">=20" @@ -168,9 +168,10 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.2", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -205,11 +206,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.0", + "version": "7.25.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.5.tgz", + "integrity": "sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.4", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -257,16 +259,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.0", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "engines": { @@ -532,11 +535,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.3", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.4.tgz", + "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.25.2" + "@babel/types": "^7.25.4" }, "bin": { "parser": "bin/babel-parser.js" @@ -663,8 +667,9 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -735,9 +740,8 @@ }, "node_modules/@babel/plugin-syntax-flow": { "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", - "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -950,14 +954,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.0", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-remap-async-to-generator": "^7.25.0", "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.4" }, "engines": { "node": ">=6.9.0" @@ -1011,12 +1016,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.7", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1042,15 +1048,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.0", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, "engines": { @@ -1062,8 +1069,9 @@ }, "node_modules/@babel/plugin-transform-classes/node_modules/globals": { "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -1188,9 +1196,8 @@ }, "node_modules/@babel/plugin-transform-flow-strip-types": { "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", - "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/plugin-syntax-flow": "^7.24.7" @@ -1491,12 +1498,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.7", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1566,14 +1574,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.7", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz", + "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -1718,12 +1727,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1733,11 +1743,12 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.3", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.2", + "@babel/compat-data": "^7.25.4", "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", @@ -1766,13 +1777,13 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", @@ -1800,7 +1811,7 @@ "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", @@ -1813,10 +1824,10 @@ "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.37.1", "semver": "^6.3.1" @@ -1830,9 +1841,8 @@ }, "node_modules/@babel/preset-flow": { "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.7.tgz", - "integrity": "sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-validator-option": "^7.24.7", @@ -1878,9 +1888,8 @@ }, "node_modules/@babel/register": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz", - "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==", "dev": true, + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", @@ -1897,9 +1906,8 @@ }, "node_modules/@babel/register/node_modules/find-cache-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -1911,9 +1919,8 @@ }, "node_modules/@babel/register/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -1923,9 +1930,8 @@ }, "node_modules/@babel/register/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -1936,9 +1942,8 @@ }, "node_modules/@babel/register/node_modules/make-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -1949,9 +1954,8 @@ }, "node_modules/@babel/register/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -1961,27 +1965,24 @@ }, "node_modules/@babel/register/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/register/node_modules/pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@babel/register/node_modules/pkg-dir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -1991,9 +1992,8 @@ }, "node_modules/@babel/register/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } @@ -2039,15 +2039,16 @@ } }, "node_modules/@babel/traverse": { - "version": "7.25.3", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.4.tgz", + "integrity": "sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", + "@babel/generator": "^7.25.4", + "@babel/parser": "^7.25.4", "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", + "@babel/types": "^7.25.4", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2064,9 +2065,10 @@ } }, "node_modules/@babel/types": { - "version": "7.25.2", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz", + "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", @@ -2077,8 +2079,9 @@ } }, "node_modules/@braintree/sanitize-url": { - "version": "6.0.4", - "license": "MIT" + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.0.tgz", + "integrity": "sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==" }, "node_modules/@changesets/apply-release-plan": { "version": "7.0.4", @@ -2375,6 +2378,40 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==" + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==" + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==" + }, "node_modules/@codemirror/autocomplete": { "version": "6.18.0", "license": "MIT", @@ -2477,8 +2514,7 @@ }, "node_modules/@codemirror/legacy-modes": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@codemirror/legacy-modes/-/legacy-modes-6.4.1.tgz", - "integrity": "sha512-vdg3XY7OAs5uLDx2Iw+cGfnwtd7kM+Et/eMsqAGTfT/JKiVBQZXosTzjEbWAi/FrY6DcQIz8mQjBozFHZEUWQA==", + "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0" } @@ -2606,14 +2642,15 @@ } }, "node_modules/@effect/schema": { - "version": "0.69.0", + "version": "0.71.1", + "resolved": "https://registry.npmjs.org/@effect/schema/-/schema-0.71.1.tgz", + "integrity": "sha512-XvFttkuBUL3s4ofZ+OVE4Pagb4wsPG8laSS8iO5lVI9Yt1zIM49uxlYIA2BJ45jjS3MdplUepC0NilotKnjU2A==", "dev": true, - "license": "MIT", "dependencies": { - "fast-check": "^3.20.0" + "fast-check": "^3.21.0" }, "peerDependencies": { - "effect": "^3.5.7" + "effect": "^3.6.5" } }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { @@ -2690,11 +2727,10 @@ }, "node_modules/@esbuild/darwin-arm64": { "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", - "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3131,9 +3167,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz", - "integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", + "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3387,9 +3423,9 @@ "license": "MIT" }, "node_modules/@goauthentik/api": { - "version": "2024.6.3-1724337552", - "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2024.6.3-1724337552.tgz", - "integrity": "sha512-siu5qJqUt13iUPsLI0RfieVkDU8IMhuP2i5C/RRqY6oek0z+srSom9UTBAh6n6a2pTTNQO3clE2zxvAIJPahVg==" + "version": "2024.6.3-1724414734", + "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2024.6.3-1724414734.tgz", + "integrity": "sha512-2fLKwOh2Znc/unD8Q2U4G0g5QFM4jVqC95e5VRWWVnzp3xB7JWfEDBcRdwyv5PxCdmjBUkvbiul0kiuRwqBf4w==" }, "node_modules/@goauthentik/web": { "resolved": "", @@ -3901,9 +3937,8 @@ }, "node_modules/@mdx-js/react": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", - "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", "dev": true, + "license": "MIT", "dependencies": { "@types/mdx": "^2.0.0" }, @@ -3916,6 +3951,14 @@ "react": ">=16" } }, + "node_modules/@mermaid-js/parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.2.0.tgz", + "integrity": "sha512-33dyFdhwsX9n4+E8SRj1ulxwAgwCj9RyCMtoqXD5cDfS9F6y9xmvmjFjHoPaViH4H7I7BXD8yP/XEWig5XrHSQ==", + "dependencies": { + "langium": "3.0.0" + } + }, "node_modules/@mole-inc/bin-wrapper": { "version": "8.0.1", "dev": true, @@ -4177,8 +4220,7 @@ }, "node_modules/@patternfly/elements": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@patternfly/elements/-/elements-4.0.0.tgz", - "integrity": "sha512-AVdQEwhenGW4aCg6iNn973Mr6DACG5EOZwcP/VNImC0yN67bFgY00k60McbgzWoEktd7NS6gonmwev5Lu1XSsg==", + "license": "MIT", "dependencies": { "@lit/context": "^1.1.2", "@patternfly/icons": "^1.0.3", @@ -4197,8 +4239,7 @@ }, "node_modules/@patternfly/pfe-core": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@patternfly/pfe-core/-/pfe-core-4.0.0.tgz", - "integrity": "sha512-i6iQdbEQpG9xaSRYkvLB7QWJADBJL1e6ERFaoOcB6kL9BViCFo/rKv/vi/+y5azl1N8InZla3rPntm0sLZWZSA==", + "license": "MIT", "dependencies": { "@floating-ui/dom": "^1.6.10", "@lit/context": "^1.1.2", @@ -5657,88 +5698,17 @@ } } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", - "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", - "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true - }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", - "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", - "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", - "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", - "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, "node_modules/@rollup/rollup-linux-arm64-gnu": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", @@ -5751,62 +5721,6 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", - "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", - "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", - "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", - "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", @@ -5819,66 +5733,9 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", - "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", - "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", - "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", - "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, "node_modules/@sentry-internal/browser-utils": { "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.26.0.tgz", - "integrity": "sha512-O2Tj+WK33/ZVp5STnz6ZL0OO+/Idk2KqsH0ITQkQmyZ2z0kdzWOeqK7s7q3/My6rB1GfPcyqPcBBv4dVv92FYQ==", + "license": "MIT", "dependencies": { "@sentry/core": "8.26.0", "@sentry/types": "8.26.0", @@ -5890,8 +5747,7 @@ }, "node_modules/@sentry-internal/feedback": { "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.26.0.tgz", - "integrity": "sha512-hQtw1gg8n6ERK1UH47F7ZI1zOsbhu0J2VX+TrnkpaQR2FgxDW1oe9Ja6oCV4CQKuR4w+1ZI/Kj4imSt0K33kEw==", + "license": "MIT", "dependencies": { "@sentry/core": "8.26.0", "@sentry/types": "8.26.0", @@ -5903,8 +5759,7 @@ }, "node_modules/@sentry-internal/replay": { "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.26.0.tgz", - "integrity": "sha512-JDY7W2bswlp5c3483lKP4kcb75fHNwGNfwD8x8FsY9xMjv7nxeXjLpR5cCEk1XqPq2+n6w4j7mJOXhEXGiUIKg==", + "license": "MIT", "dependencies": { "@sentry-internal/browser-utils": "8.26.0", "@sentry/core": "8.26.0", @@ -5917,8 +5772,7 @@ }, "node_modules/@sentry-internal/replay-canvas": { "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.26.0.tgz", - "integrity": "sha512-2CFQW6f9aJHIo/DqmqYa9PaYoLn1o36ywc0h8oyGrD4oPCbrnE5F++PmTdc71GBODu41HBn/yoCTLmxOD+UjpA==", + "license": "MIT", "dependencies": { "@sentry-internal/replay": "8.26.0", "@sentry/core": "8.26.0", @@ -5931,8 +5785,7 @@ }, "node_modules/@sentry/browser": { "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.26.0.tgz", - "integrity": "sha512-e5s6eKlwLZWzTwQcBwqyAGZMMuQROW9Z677VzwkSyREWAIkKjfH2VBxHATnNGc0IVkNHjD7iH3ixo3C0rLKM3w==", + "license": "MIT", "dependencies": { "@sentry-internal/browser-utils": "8.26.0", "@sentry-internal/feedback": "8.26.0", @@ -5948,8 +5801,7 @@ }, "node_modules/@sentry/core": { "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.26.0.tgz", - "integrity": "sha512-g/tVmTZD4GNbLFf++hKJfBpcCAtduFEMLnbfa9iT/QEZjlmP+EzY+GsH9bafM5VsNe8DiOUp+kJKWtShzlVdBA==", + "license": "MIT", "dependencies": { "@sentry/types": "8.26.0", "@sentry/utils": "8.26.0" @@ -5960,16 +5812,14 @@ }, "node_modules/@sentry/types": { "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.26.0.tgz", - "integrity": "sha512-zKmh6SWsJh630rpt7a9vP4Cm4m1C2gDTUqUiH565CajCL/4cePpNWYrNwalSqsOSL7B9OrczA1+n6a6XvND+ng==", + "license": "MIT", "engines": { "node": ">=14.18" } }, "node_modules/@sentry/utils": { "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-xvlPU9Hd2BlyT+FhWHGNwnxWqdVRk2AHnDtVcW4Ma0Ri5EwS+uy4Jeik5UkSv8C5RVb9VlxFmS8LN3I1MPJsLw==", + "license": "MIT", "dependencies": { "@sentry/types": "8.26.0" }, @@ -6043,9 +5893,8 @@ }, "node_modules/@storybook/addon-actions": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.2.9.tgz", - "integrity": "sha512-eh2teOqjga7aoClDVV+/b1gHJqsPwjiU1t+Hg/l4i2CkaBUNdYMEL90nR6fgReOdvvL5YhcPwJ8w38f9TrQcoQ==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", "@types/uuid": "^9.0.1", @@ -6063,9 +5912,8 @@ }, "node_modules/@storybook/addon-backgrounds": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.2.9.tgz", - "integrity": "sha512-eGmZAd742ORBbQ6JepzBCko/in62T4Xg9j9LVa+Cvz/7L1C/RQSuU6sUwbRAsXaz+PMVDksPDCUUNsXl3zUL7w==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3", @@ -6081,9 +5929,8 @@ }, "node_modules/@storybook/addon-controls": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.2.9.tgz", - "integrity": "sha512-vaSE78KOE7SO0GrW4e+mdQphSNpvCX/FGybIRxyaKX9h8smoyUwRNHVyCS3ROHTwH324QWu7GDzsOVrnyXOv0A==", "dev": true, + "license": "MIT", "dependencies": { "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -6099,9 +5946,8 @@ }, "node_modules/@storybook/addon-docs": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.2.9.tgz", - "integrity": "sha512-flDOxFIGmXg+6lVdwTLMOKsGob1WrT7rG98mn1SNW0Nxhg3Wg+9pQuq1GLxEzKtAgSflmu+xcBRfYhsogyDXkw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.24.4", "@mdx-js/react": "^3.0.0", @@ -6127,9 +5973,8 @@ }, "node_modules/@storybook/addon-docs/node_modules/fs-extra": { "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6141,9 +5986,8 @@ }, "node_modules/@storybook/addon-docs/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -6153,18 +5997,16 @@ }, "node_modules/@storybook/addon-docs/node_modules/universalify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/@storybook/addon-essentials": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.2.9.tgz", - "integrity": "sha512-B2d3eznGZvPIyCVtYX0UhrYcEfK+3Y2sACmEWpSwtk8KXomFEsZnD95m397BYDRw3/X6qeSLWxqgMfqDTEDeMA==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/addon-actions": "8.2.9", "@storybook/addon-backgrounds": "8.2.9", @@ -6187,9 +6029,8 @@ }, "node_modules/@storybook/addon-highlight": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.2.9.tgz", - "integrity": "sha512-qdcazeNQoo9QKIq+LJJZZXvFZoLn+i4uhbt1Uf9WtW6oU/c1qxORGVD7jc3zsxbQN9nROVPbJ76sfthogxeqWA==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0" }, @@ -6203,9 +6044,8 @@ }, "node_modules/@storybook/addon-links": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.2.9.tgz", - "integrity": "sha512-RhJzUNdDb7lbliwXb64HMwieIeJ+OQ2Ditue1vmSox6NsSd+pshR+okHpAyoP1+fW+dahNENwAS2Kt2QiI78FA==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/csf": "0.1.11", "@storybook/global": "^5.0.0", @@ -6227,9 +6067,8 @@ }, "node_modules/@storybook/addon-measure": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.2.9.tgz", - "integrity": "sha512-XUfQtYRKWB2dfbPRmHuos816wt1JrLbtRld5ZC8J8ljeqZ4hFBPTQcgI5GAzZqjQuclLC0KuhlA/0bKxdxMMGA==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", "tiny-invariant": "^1.3.1" @@ -6244,9 +6083,8 @@ }, "node_modules/@storybook/addon-outline": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.2.9.tgz", - "integrity": "sha512-p22kI4W7MT0YJOCmg/FfhfH+NpZEDA5tgwstjazSg4ertyhaxziMwWZWiK2JCg0gOAfRJjoYjHz+6/u56iXwgQ==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", "ts-dedent": "^2.0.0" @@ -6261,9 +6099,8 @@ }, "node_modules/@storybook/addon-toolbars": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.2.9.tgz", - "integrity": "sha512-9LMZZ2jRD86Jh6KXedDbAYs4eHj9HtJA9VhSEE2wiqMGwXozpySi7B1GWniNzmFfcgMQ4JHfmD/OrBVTK7Ca/w==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" @@ -6274,9 +6111,8 @@ }, "node_modules/@storybook/addon-viewport": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.2.9.tgz", - "integrity": "sha512-lyM24+DJEt8R0YZkJKee34NQWv0REACU6lYDalqJNdKS1sEwzLGWxg1hZXnw2JFdBID9NGVvyYU2w6LDozOB0g==", "dev": true, + "license": "MIT", "dependencies": { "memoizerific": "^1.11.3" }, @@ -6433,9 +6269,8 @@ }, "node_modules/@storybook/blocks": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.2.9.tgz", - "integrity": "sha512-5276q/s/UL8arwftuBXovUNHqYo/HPQFMGXEmjVVAMXUyFjzEAfKj3+xU897J6AuL+7XVZG32WnqA+X6LJMrcQ==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/csf": "0.1.11", "@storybook/global": "^5.0.0", @@ -6472,9 +6307,8 @@ }, "node_modules/@storybook/builder-vite": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.2.9.tgz", - "integrity": "sha512-MHD3ezRjKkJkOl0u7CRQoQD/LKd28YMWIcaz4YrV6ygokc0c3RFTlOefICQFgboc+1RwIUowxN1CJ2kJ7p4SWw==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/csf-plugin": "8.2.9", "@types/find-cache-dir": "^3.2.1", @@ -6511,15 +6345,13 @@ }, "node_modules/@storybook/builder-vite/node_modules/es-module-lexer": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@storybook/builder-vite/node_modules/fs-extra": { "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6531,9 +6363,8 @@ }, "node_modules/@storybook/builder-vite/node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -6543,9 +6374,8 @@ }, "node_modules/@storybook/builder-vite/node_modules/universalify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -6593,9 +6423,8 @@ }, "node_modules/@storybook/codemod": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.2.9.tgz", - "integrity": "sha512-3yRx1lFMm1FXWVv+CKDiYM4gOQPEfpcZAQrjfcumxSDUrB091pnU1PeI92Prj3vCdi4+0oPNuN4yDGNUYTMP/A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.24.4", "@babel/preset-env": "^7.24.4", @@ -6618,9 +6447,8 @@ }, "node_modules/@storybook/codemod/node_modules/globby": { "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, + "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", "fast-glob": "^3.3.2", @@ -6638,9 +6466,8 @@ }, "node_modules/@storybook/codemod/node_modules/path-type": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -6650,9 +6477,8 @@ }, "node_modules/@storybook/codemod/node_modules/slash": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -6735,9 +6561,8 @@ }, "node_modules/@storybook/core": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.2.9.tgz", - "integrity": "sha512-wSER8FpA6Il/jPyDfKm3yohxDtuhisNPTonMVzd3ulNWR4zERLddyO3HrHJJwdqYHLNk4SBFzwMGpQZVws1y0w==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/csf": "0.1.11", "@types/express": "^4.17.21", @@ -6771,12 +6596,11 @@ }, "node_modules/@storybook/core/node_modules/@esbuild/darwin-arm64": { "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -6803,19 +6627,17 @@ }, "node_modules/@storybook/core/node_modules/@types/node": { "version": "18.19.44", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.44.tgz", - "integrity": "sha512-ZsbGerYg72WMXUIE9fYxtvfzLEuq6q8mKERdWFnqTmOvudMxnz+CBNRoOwJ2kNpFOncrKjT1hZwxjlFgQ9qvQA==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@storybook/core/node_modules/esbuild": { "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -6850,9 +6672,8 @@ }, "node_modules/@storybook/core/node_modules/undici-types": { "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@storybook/csf": { "version": "0.1.11", @@ -6864,9 +6685,8 @@ }, "node_modules/@storybook/csf-plugin": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.2.9.tgz", - "integrity": "sha512-QQCFb3g12VQQEraDV1UfCmniGhQZKyT6oEt1Im6dzzPJj9NQk+6BjWoDep33CZhBHWoLryrMQd2fjuHxnFRNEA==", "dev": true, + "license": "MIT", "dependencies": { "unplugin": "^1.3.1" }, @@ -6897,9 +6717,8 @@ }, "node_modules/@storybook/manager-api": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.2.9.tgz", - "integrity": "sha512-mkYvUlfqDw+0WbxIynh5TcrotmoXlumEsOA4+45zuNea8XpEgj5cNBUCnmfEO6yQ85swqkS8YYbMpg1cZyu/Vw==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" @@ -6949,9 +6768,8 @@ }, "node_modules/@storybook/react-dom-shim": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.2.9.tgz", - "integrity": "sha512-uCAjSQEsNk8somVn1j/I1G9G/uUax5byHseIIV0Eq3gVXttGd7gaWcP+TDHtqIaenWHx4l+hCSuCesxiLWmx4Q==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" @@ -7026,9 +6844,8 @@ }, "node_modules/@storybook/web-components": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-8.2.9.tgz", - "integrity": "sha512-EH7mR2VaCv+34p6G6o7Z0dB5pDbFJylSc9zKdpAlC20s0dVZC0f9KcMFqUGzrjQiPgSxiTl8i3uD4ak41oqB/A==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/components": "^8.2.9", "@storybook/global": "^5.0.0", @@ -7052,9 +6869,8 @@ }, "node_modules/@storybook/web-components-vite": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-8.2.9.tgz", - "integrity": "sha512-sMyQ0sRZFbXID6nEHI2p6o4dK74vMUlZPRdKgZX69z3V4dcqp6m7fNzx+Natv+VT8KJ6dMyB7HJsrH86PdqtGw==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/builder-vite": "8.2.9", "@storybook/web-components": "8.2.9", @@ -7073,9 +6889,8 @@ }, "node_modules/@storybook/web-components/node_modules/@storybook/components": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.2.9.tgz", - "integrity": "sha512-OkkcZ/f/6o3GdFEEK9ZHKIGHWUHmavZUYs5xaSgU64bOrA2aqEFtfeWWitZYTv3Euhk8MVLWfyEMDfez0AlvDg==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" @@ -7086,9 +6901,8 @@ }, "node_modules/@storybook/web-components/node_modules/@storybook/preview-api": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.9.tgz", - "integrity": "sha512-D8/t+a78OJqQAcT/ABa1C4YM/OaLGQ9IvCsp3Q9ruUqDCwuZBj8bG3D4477dlY4owX2ycC0rWYu3VvuK0EmJjA==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" @@ -7099,9 +6913,8 @@ }, "node_modules/@storybook/web-components/node_modules/@storybook/theming": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.2.9.tgz", - "integrity": "sha512-OL0NFvowPX85N5zIYdgeKKaFm7V4Vgtci093vL3cDZT13LGH6GuEzJKkUFGuUGNPFlJc+EgTj0o6PYKrOLyQ6w==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" @@ -8225,9 +8038,9 @@ } }, "node_modules/@swc/core": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.14.tgz", - "integrity": "sha512-9aeXeifnyuvc2pcuuhPQgVUwdpGEzZ+9nJu0W8/hNl/aESFsJGR5i9uQJRGu0atoNr01gK092fvmqMmQAPcKow==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.18.tgz", + "integrity": "sha512-qL9v5N5S38ijmqiQRvCFUUx2vmxWT/JJ2rswElnyaHkOHuVoAFhBB90Ywj4RKjh3R0zOjhEcemENTyF3q3G6WQ==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -8242,16 +8055,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.7.14", - "@swc/core-darwin-x64": "1.7.14", - "@swc/core-linux-arm-gnueabihf": "1.7.14", - "@swc/core-linux-arm64-gnu": "1.7.14", - "@swc/core-linux-arm64-musl": "1.7.14", - "@swc/core-linux-x64-gnu": "1.7.14", - "@swc/core-linux-x64-musl": "1.7.14", - "@swc/core-win32-arm64-msvc": "1.7.14", - "@swc/core-win32-ia32-msvc": "1.7.14", - "@swc/core-win32-x64-msvc": "1.7.14" + "@swc/core-darwin-arm64": "1.7.18", + "@swc/core-darwin-x64": "1.7.18", + "@swc/core-linux-arm-gnueabihf": "1.7.18", + "@swc/core-linux-arm64-gnu": "1.7.18", + "@swc/core-linux-arm64-musl": "1.7.18", + "@swc/core-linux-x64-gnu": "1.7.18", + "@swc/core-linux-x64-musl": "1.7.18", + "@swc/core-win32-arm64-msvc": "1.7.18", + "@swc/core-win32-ia32-msvc": "1.7.18", + "@swc/core-win32-x64-msvc": "1.7.18" }, "peerDependencies": { "@swc/helpers": "*" @@ -8263,9 +8076,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.14.tgz", - "integrity": "sha512-V0OUXjOH+hdGxDYG8NkQzy25mKOpcNKFpqtZEzLe5V/CpLJPnpg1+pMz70m14s9ZFda9OxsjlvPbg1FLUwhgIQ==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.18.tgz", + "integrity": "sha512-MwLc5U+VGPMZm8MjlFBjEB2wyT1EK0NNJ3tn+ps9fmxdFP+PL8EpMiY1O1F2t1ydy2OzBtZz81sycjM9RieFBg==", "cpu": [ "arm64" ], @@ -8278,9 +8091,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.14.tgz", - "integrity": "sha512-9iFvUnxG6FC3An5ogp5jbBfQuUmTTwy8KMB+ZddUoPB3NR1eV+Y9vOh/tfWcenSJbgOKDLgYC5D/b1mHAprsrQ==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.18.tgz", + "integrity": "sha512-IkukOQUw7/14VkHp446OkYGCZEHqZg9pTmTdBawlUyz2JwZMSn2VodCl7aFSdGCsU4Cwni8zKA8CCgkCCAELhw==", "cpu": [ "x64" ], @@ -8293,9 +8106,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.14.tgz", - "integrity": "sha512-zGJsef9qPivKSH8Vv4F/HiBXBTHZ5Hs3ZjVGo/UIdWPJF8fTL9OVADiRrl34Q7zOZEtGXRwEKLUW1SCQcbDvZA==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.18.tgz", + "integrity": "sha512-ATnb6jJaBeXCqrTUawWdoOy7eP9SCI7UMcfXlYIMxX4otKKspLPAEuGA5RaNxlCcj9ObyO0J3YGbtZ6hhD2pjg==", "cpu": [ "arm" ], @@ -8308,9 +8121,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.14.tgz", - "integrity": "sha512-AxV3MPsoI7i4B8FXOew3dx3N8y00YoJYvIPfxelw07RegeCEH3aHp2U2DtgbP/NV1ugZMx0TL2Z2DEvocmA51g==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.18.tgz", + "integrity": "sha512-poHtH7zL7lEp9K2inY90lGHJABWxURAOgWNeZqrcR5+jwIe7q5KBisysH09Zf/JNF9+6iNns+U0xgWTNJzBuGA==", "cpu": [ "arm64" ], @@ -8323,9 +8136,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.14.tgz", - "integrity": "sha512-JDLdNjUj3zPehd4+DrQD8Ltb3B5lD8D05IwePyDWw+uR/YPc7w/TX1FUVci5h3giJnlMCJRvi1IQYV7K1n7KtQ==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.18.tgz", + "integrity": "sha512-qnNI1WmcOV7Wz1ZDyK6WrOlzLvJ01rnni8ec950mMHWkLRMP53QvCvhF3S+7gFplWBwWJTOOPPUqJp/PlSxWyQ==", "cpu": [ "arm64" ], @@ -8338,9 +8151,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.14.tgz", - "integrity": "sha512-Siy5OvPCLLWmMdx4msnEs8HvEVUEigSn0+3pbLjv78iwzXd0qSBNHUPZyC1xeurVaUbpNDxZTpPRIwpqNE2+Og==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.18.tgz", + "integrity": "sha512-x9SCqCLzwtlqtD5At3I1a7Gco+EuXnzrJGoucmkpeQohshHuwa+cskqsXO6u1Dz0jXJEuHbBZB9va1wYYfjgFg==", "cpu": [ "x64" ], @@ -8353,9 +8166,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.14.tgz", - "integrity": "sha512-FtEGm9mwtRYQNK43WMtUIadxHs/ja2rnDurB99os0ZoFTGG2IHuht2zD97W0wB8JbqEabT1XwSG9Y5wmN+ciEQ==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.18.tgz", + "integrity": "sha512-qtj8iOpMMgKjzxTv+islmEY0JBsbd93nka0gzcTTmGZxKtL5jSUsYQvkxwNPZr5M9NU1fgaR3n1vE6lFmtY0IQ==", "cpu": [ "x64" ], @@ -8368,9 +8181,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.14.tgz", - "integrity": "sha512-Jp8KDlfq7Ntt2/BXr0y344cYgB1zf0DaLzDZ1ZJR6rYlAzWYSccLYcxHa97VGnsYhhPspMpmCvHid97oe2hl4A==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.18.tgz", + "integrity": "sha512-ltX/Ol9+Qu4SXmISCeuwVgAjSa8nzHTymknpozzVMgjXUoZMoz6lcynfKL1nCh5XLgqh0XNHUKLti5YFF8LrrA==", "cpu": [ "arm64" ], @@ -8383,9 +8196,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.14.tgz", - "integrity": "sha512-I+cFsXF0OU0J9J4zdWiQKKLURO5dvCujH9Jr8N0cErdy54l9d4gfIxdctfTF+7FyXtWKLTCkp+oby9BQhkFGWA==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.18.tgz", + "integrity": "sha512-RgTcFP3wgyxnQbTCJrlgBJmgpeTXo8t807GU9GxApAXfpLZJ3swJ2GgFUmIJVdLWyffSHF5BEkF3FmF6mtH5AQ==", "cpu": [ "ia32" ], @@ -8398,9 +8211,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.14.tgz", - "integrity": "sha512-NNrprQCK6d28mG436jVo2TD+vACHseUECacEBGZ9Ef0qfOIWS1XIt2MisQKG0Oea2VvLFl6tF/V4Lnx/H0Sn3Q==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.18.tgz", + "integrity": "sha512-XbZ0wAgzR757+DhQcnv60Y/bK9yuWPhDNRQVFFQVRsowvK3+c6EblyfUSytIidpXgyYFzlprq/9A9ZlO/wvDWw==", "cpu": [ "x64" ], @@ -8659,33 +8472,10 @@ }, "node_modules/@types/cross-spawn": { "version": "6.0.6", - "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==", "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/d3-scale": { - "version": "4.0.8", - "license": "MIT", - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-scale-chromatic": { - "version": "3.0.3", - "license": "MIT" - }, - "node_modules/@types/d3-time": { - "version": "3.0.3", - "license": "MIT" - }, - "node_modules/@types/debug": { - "version": "4.1.12", "license": "MIT", "dependencies": { - "@types/ms": "*" + "@types/node": "*" } }, "node_modules/@types/emscripten": { @@ -8739,9 +8529,8 @@ }, "node_modules/@types/find-cache-dir": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz", - "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/fs-extra": { "version": "8.1.5", @@ -8772,9 +8561,8 @@ }, "node_modules/@types/hast": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "*" } @@ -8853,18 +8641,10 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mdast": { - "version": "3.0.15", - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } - }, "node_modules/@types/mdx": { "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", @@ -8881,10 +8661,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/ms": { - "version": "0.7.34", - "license": "MIT" - }, "node_modules/@types/node": { "version": "22.1.0", "dev": true, @@ -9000,13 +8776,13 @@ }, "node_modules/@types/unist": { "version": "2.0.10", + "dev": true, "license": "MIT" }, "node_modules/@types/uuid": { "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/which": { "version": "2.0.2", @@ -9045,9 +8821,8 @@ }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.2.0.tgz", - "integrity": "sha512-02tJIs655em7fvt9gps/+4k4OsKULYGtLBPJfOsmOq1+3cdClYiF0+d6mHu6qDnTcg88wJBkcPLpQhq7FyDz0A==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.2.0", @@ -9078,9 +8853,8 @@ }, "node_modules/@typescript-eslint/parser": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.2.0.tgz", - "integrity": "sha512-j3Di+o0lHgPrb7FxL3fdEy6LJ/j2NE8u+AP/5cQ9SKb+JLH6V6UHDqJ+e0hXBkHP1wn1YDFjYCS9LBQsZDlDEg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "8.2.0", "@typescript-eslint/types": "8.2.0", @@ -9106,9 +8880,8 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.2.0.tgz", - "integrity": "sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.2.0", "@typescript-eslint/visitor-keys": "8.2.0" @@ -9123,9 +8896,8 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.2.0.tgz", - "integrity": "sha512-g1CfXGFMQdT5S+0PSO0fvGXUaiSkl73U1n9LTK5aRAFnPlJ8dLKkXr4AaLFvPedW8lVDoMgLLE3JN98ZZfsj0w==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "8.2.0", "@typescript-eslint/utils": "8.2.0", @@ -9147,9 +8919,8 @@ }, "node_modules/@typescript-eslint/types": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.2.0.tgz", - "integrity": "sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -9160,9 +8931,8 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.2.0.tgz", - "integrity": "sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "8.2.0", "@typescript-eslint/visitor-keys": "8.2.0", @@ -9188,9 +8958,8 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -9208,9 +8977,8 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -9220,9 +8988,8 @@ }, "node_modules/@typescript-eslint/utils": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.2.0.tgz", - "integrity": "sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "8.2.0", @@ -9242,9 +9009,8 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.2.0.tgz", - "integrity": "sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.2.0", "eslint-visitor-keys": "^3.4.3" @@ -9259,9 +9025,8 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@vitest/pretty-format": { "version": "2.0.5", @@ -10803,8 +10568,7 @@ }, "node_modules/axios": { "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -10818,9 +10582,8 @@ }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true, + "license": "MIT", "peerDependencies": { "@babel/core": "^7.0.0-0" } @@ -11584,14 +11347,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chardet": { "version": "0.7.0", "dev": true, @@ -11616,6 +11371,30 @@ "moment": "^2.10.2" } }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, "node_modules/chokidar": { "version": "3.6.0", "dev": true, @@ -11775,9 +11554,8 @@ }, "node_modules/clone-deep": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -12748,6 +12526,7 @@ }, "node_modules/debug": { "version": "4.3.6", + "dev": true, "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -12772,17 +12551,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/decompress-response": { "version": "6.0.0", "devOptional": true, @@ -12917,6 +12685,7 @@ }, "node_modules/dequal": { "version": "2.0.3", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -12973,6 +12742,7 @@ }, "node_modules/diff": { "version": "5.2.0", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" @@ -13140,9 +12910,10 @@ "license": "MIT" }, "node_modules/effect": { - "version": "3.5.7", - "dev": true, - "license": "MIT" + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/effect/-/effect-3.6.5.tgz", + "integrity": "sha512-NhopZTAKljaAlR0CEroOAJJngdqg7bzlnWcDrCwh4d2WNVohVbBtUS4SGqLt8tUy7IFsTWATYiUtmhDG+YELjA==", + "dev": true }, "node_modules/ejs": { "version": "3.1.10", @@ -13163,10 +12934,6 @@ "dev": true, "license": "ISC" }, - "node_modules/elkjs": { - "version": "0.9.3", - "license": "EPL-2.0" - }, "node_modules/emoji-regex": { "version": "8.0.0", "dev": true, @@ -13395,10 +13162,9 @@ }, "node_modules/esbuild": { "version": "0.23.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", - "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -13689,9 +13455,8 @@ }, "node_modules/esbuild-register": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", - "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -14271,9 +14036,8 @@ }, "node_modules/eslint/node_modules/@eslint/js": { "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", - "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -14792,7 +14556,9 @@ } }, "node_modules/fast-check": { - "version": "3.20.0", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.21.0.tgz", + "integrity": "sha512-QpmbiqRFRZ+SIlBJh6xi5d/PgXciUc/xWKc4Vi2RWEHHIRx6oM3f0fWNna++zP9VB5HUBTObUK9gTKQP3vVcrQ==", "dev": true, "funding": [ { @@ -14804,7 +14570,6 @@ "url": "https://opencollective.com/fast-check" } ], - "license": "MIT", "dependencies": { "pure-rand": "^6.1.0" }, @@ -15100,9 +14865,8 @@ }, "node_modules/find-cache-dir": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -15196,9 +14960,8 @@ }, "node_modules/flow-parser": { "version": "0.243.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.243.0.tgz", - "integrity": "sha512-HCDBfH+kZcY5etWYeAqatjW78gkIryzb9XixRsA8lGI1uyYc7aCpElkkO4H+KIpoyQMiY0VAZPI4cyac3wQe8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -15864,6 +15627,11 @@ "version": "1.5.0", "license": "Apache 2.0" }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==" + }, "node_modules/has-ansi": { "version": "2.0.0", "dev": true, @@ -15955,9 +15723,8 @@ }, "node_modules/hast-util-heading-rank": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", - "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", "dev": true, + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0" }, @@ -15968,9 +15735,8 @@ }, "node_modules/hast-util-is-element": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", "dev": true, + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0" }, @@ -15981,9 +15747,8 @@ }, "node_modules/hast-util-to-string": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", - "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", "dev": true, + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0" }, @@ -16283,9 +16048,8 @@ }, "node_modules/is-absolute-url": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", - "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -16295,9 +16059,8 @@ }, "node_modules/is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -16473,9 +16236,8 @@ }, "node_modules/is-generator-function": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -16564,9 +16326,8 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -16730,9 +16491,8 @@ }, "node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -17256,9 +17016,8 @@ }, "node_modules/jscodeshift": { "version": "0.15.2", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz", - "integrity": "sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.23.0", "@babel/parser": "^7.23.0", @@ -17295,9 +17054,8 @@ }, "node_modules/jscodeshift/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -17310,9 +17068,8 @@ }, "node_modules/jscodeshift/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17326,18 +17083,16 @@ }, "node_modules/jscodeshift/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jscodeshift/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17490,15 +17245,15 @@ }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/kleur": { "version": "4.1.5", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -17515,6 +17270,26 @@ "url": "https://github.com/sindresorhus/ky?sponsor=1" } }, + "node_modules/langium": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.0.0.tgz", + "integrity": "sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==", + "dependencies": { + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/langium/node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" + }, "node_modules/launch-editor": { "version": "2.8.1", "dev": true, @@ -18020,9 +17795,8 @@ }, "node_modules/make-dir": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -18085,529 +17859,105 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/mdast-util-from-markdown": { - "version": "1.3.1", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "3.2.0", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/media-typer": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memoizerific": { - "version": "1.11.3", - "dev": true, - "license": "MIT", - "dependencies": { - "map-or-similar": "^1.5.0" - } - }, - "node_modules/memorystream": { - "version": "0.3.1", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/merge-source-map": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/mermaid": { - "version": "10.9.1", - "license": "MIT", - "dependencies": { - "@braintree/sanitize-url": "^6.0.1", - "@types/d3-scale": "^4.0.3", - "@types/d3-scale-chromatic": "^3.0.0", - "cytoscape": "^3.28.1", - "cytoscape-cose-bilkent": "^4.1.0", - "d3": "^7.4.0", - "d3-sankey": "^0.12.3", - "dagre-d3-es": "7.0.10", - "dayjs": "^1.11.7", - "dompurify": "^3.0.5", - "elkjs": "^0.9.0", - "katex": "^0.16.9", - "khroma": "^2.0.0", - "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.0", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.3", - "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromark": { - "version": "3.2.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "version": "0.3.0", + "dev": true, "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/micromark-util-decode-string": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/memoizerific": { + "version": "1.11.3", + "dev": true, "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "map-or-similar": "^1.5.0" } }, - "node_modules/micromark-util-encode": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/memorystream": { + "version": "0.3.1", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } }, - "node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/merge-descriptors": { + "version": "1.0.1", + "dev": true, "license": "MIT" }, - "node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/merge-source-map": { + "version": "1.0.4", + "dev": true, "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "source-map": "^0.5.6" } }, - "node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "engines": { + "node": ">= 8" } }, - "node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", + "node_modules/mermaid": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.0.2.tgz", + "integrity": "sha512-KFM1o560odBHvXTTSx47ne/SE4aJKb2GbysHAVdQafIJtB6O3c0K4F+v3nC+zqS6CJhk7sXaagectNrTG+ARDw==", "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "@braintree/sanitize-url": "^7.0.1", + "@mermaid-js/parser": "^0.2.0", + "cytoscape": "^3.29.2", + "cytoscape-cose-bilkent": "^4.1.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.10", + "dayjs": "^1.11.10", + "dompurify": "^3.0.11", + "katex": "^0.16.9", + "khroma": "^2.1.0", + "lodash-es": "^4.17.21", + "marked": "^13.0.2", + "roughjs": "^4.6.6", + "stylis": "^4.3.1", + "ts-dedent": "^2.2.0", + "uuid": "^9.0.1" } }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/mermaid/node_modules/marked": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.3.tgz", + "integrity": "sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } }, - "node_modules/micromark-util-types": { - "version": "1.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/methods": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/micromatch": { "version": "4.0.7", @@ -19035,6 +18385,7 @@ }, "node_modules/mri": { "version": "1.2.0", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -19042,6 +18393,7 @@ }, "node_modules/ms": { "version": "2.1.2", + "dev": true, "license": "MIT" }, "node_modules/mute-stream": { @@ -19167,9 +18519,8 @@ }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/netmask": { "version": "2.0.2", @@ -19232,9 +18583,8 @@ }, "node_modules/node-dir": { "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", "dev": true, + "license": "MIT", "dependencies": { "minimatch": "^3.0.2" }, @@ -19244,9 +18594,8 @@ }, "node_modules/node-dir/node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -19254,9 +18603,8 @@ }, "node_modules/node-dir/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -19343,10 +18691,6 @@ "dev": true, "license": "MIT" }, - "node_modules/non-layered-tidy-tree-layout": { - "version": "2.0.2", - "license": "MIT" - }, "node_modules/normalize-package-data": { "version": "2.5.0", "dev": true, @@ -20045,6 +19389,11 @@ "node": ">= 0.8" } }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==" + }, "node_modules/path-exists": { "version": "4.0.0", "dev": true, @@ -20169,9 +19518,8 @@ }, "node_modules/pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -20205,6 +19553,20 @@ "pathe": "^1.1.2" } }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, "node_modules/polished": { "version": "4.3.1", "dev": true, @@ -20693,6 +20055,8 @@ }, "node_modules/pure-rand": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -20703,8 +20067,7 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ], - "license": "MIT" + ] }, "node_modules/qrjs": { "version": "0.2.0", @@ -21456,9 +20819,8 @@ }, "node_modules/rehype-external-links": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", - "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", "dev": true, + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@ungap/structured-clone": "^1.0.0", @@ -21474,9 +20836,8 @@ }, "node_modules/rehype-slug": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", - "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", "dev": true, + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "github-slugger": "^2.0.0", @@ -21650,10 +21011,8 @@ }, "node_modules/rimraf": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -21663,9 +21022,8 @@ }, "node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -21673,10 +21031,8 @@ }, "node_modules/rimraf/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -21694,9 +21050,8 @@ }, "node_modules/rimraf/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -21710,9 +21065,8 @@ }, "node_modules/rollup": { "version": "4.21.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", - "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "1.0.5" }, @@ -21862,6 +21216,17 @@ "transform-ast": "^2.4.4" } }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } + }, "node_modules/run-async": { "version": "3.0.0", "dev": true, @@ -21904,16 +21269,6 @@ "tslib": "^2.1.0" } }, - "node_modules/sade": { - "version": "1.8.1", - "license": "MIT", - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/safaridriver": { "version": "0.1.2", "dev": true, @@ -22156,9 +21511,8 @@ }, "node_modules/shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -22415,9 +21769,8 @@ }, "node_modules/space-separated-tokens": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -22592,9 +21945,8 @@ }, "node_modules/storybook": { "version": "8.2.9", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.2.9.tgz", - "integrity": "sha512-S7Q/Yt4A+nu1O23rg39lQvBqL2Vg+PKXbserDWUR4LFJtfmoZ2xGO8oFIhJmvvhjUBvolw1q7QDeswPq2i0sGw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.24.4", "@babel/types": "^7.24.0", @@ -23372,20 +22724,22 @@ "peer": true }, "node_modules/syncpack": { - "version": "12.4.0", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/syncpack/-/syncpack-13.0.0.tgz", + "integrity": "sha512-0PIoEWMP2+YkllkcZXw8N9d2sFqpmr8ULBdvms3gc1vG5tnccEMqc6flxHYnF/N+NTTcUnf0J+4xAD5hwH6XGQ==", "dev": true, - "license": "MIT", "dependencies": { - "@effect/schema": "0.69.0", + "@effect/schema": "0.71.1", "chalk": "5.3.0", "chalk-template": "1.1.0", "commander": "12.1.0", "cosmiconfig": "9.0.0", - "effect": "3.5.7", + "effect": "3.6.5", "enquirer": "2.4.1", - "fast-check": "3.20.0", + "fast-check": "3.21.0", "globby": "14.0.2", - "minimatch": "10.0.1", + "jsonc-parser": "3.3.1", + "minimatch": "9.0.5", "npm-package-arg": "11.0.3", "ora": "8.0.1", "prompts": "2.4.2", @@ -23407,7 +22761,7 @@ "syncpack-update": "dist/bin-update/index.js" }, "engines": { - "node": ">=16" + "node": ">=18.18.0" } }, "node_modules/syncpack/node_modules/argparse": { @@ -23564,20 +22918,6 @@ "node": ">=6" } }, - "node_modules/syncpack/node_modules/minimatch": { - "version": "10.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/syncpack/node_modules/onetime": { "version": "5.1.2", "dev": true, @@ -23762,9 +23102,8 @@ }, "node_modules/temp": { "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", "dev": true, + "license": "MIT", "dependencies": { "rimraf": "~2.6.2" }, @@ -24015,7 +23354,6 @@ }, "node_modules/tree-sitter-json": { "version": "0.20.2", - "hasInstallScript": true, "license": "MIT", "optional": true, "dependencies": { @@ -24024,7 +23362,6 @@ }, "node_modules/tree-sitter-yaml": { "version": "0.5.0", - "hasInstallScript": true, "license": "MIT", "optional": true, "dependencies": { @@ -24147,8 +23484,7 @@ }, "node_modules/ts-pattern": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ts-pattern/-/ts-pattern-5.3.1.tgz", - "integrity": "sha512-1RUMKa8jYQdNfmnK4jyzBK3/PS/tnjcZ1CW0v1vWDeYe5RBklc/nquw03MEoB66hVBm4BnlCfmOqDVxHyT1DpA==" + "license": "MIT" }, "node_modules/ts-simple-type": { "version": "2.0.0-next.0", @@ -24179,8 +23515,9 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "license": "0BSD" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/tunnel-agent": { "version": "0.6.0", @@ -24195,9 +23532,8 @@ }, "node_modules/turnstile-types": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/turnstile-types/-/turnstile-types-1.2.2.tgz", - "integrity": "sha512-FlsojSOGe7OxdC5UXVXVyNV3zdWTSaC6tG6cLPWeTSkcBuCzPP+0xUwc1l090ISDcfDEt398GLbXopcGZesY/A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/type-check": { "version": "0.4.0", @@ -24323,9 +23659,8 @@ }, "node_modules/typescript-eslint": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.2.0.tgz", - "integrity": "sha512-DmnqaPcML0xYwUzgNbM1XaKXpEb7BShYf2P1tkUmmcl8hyeG7Pj08Er7R9bNy6AufabywzJcOybQAtnD/c9DGw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/eslint-plugin": "8.2.0", "@typescript-eslint/parser": "8.2.0", @@ -24453,9 +23788,8 @@ }, "node_modules/unist-util-is": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -24466,26 +23800,13 @@ }, "node_modules/unist-util-is/node_modules/@types/unist": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true - }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "dev": true, + "license": "MIT" }, "node_modules/unist-util-visit": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", @@ -24498,9 +23819,8 @@ }, "node_modules/unist-util-visit-parents": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -24512,15 +23832,13 @@ }, "node_modules/unist-util-visit-parents/node_modules/@types/unist": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/unist-util-visit/node_modules/@types/unist": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/universalify": { "version": "0.1.2", @@ -24663,9 +23981,8 @@ }, "node_modules/util": { "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -24698,22 +24015,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/uvu": { - "version": "0.5.6", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "dev": true, @@ -24845,7 +24146,9 @@ } }, "node_modules/vite-tsconfig-paths": { - "version": "4.3.2", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.0.1.tgz", + "integrity": "sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==", "dev": true, "license": "MIT", "dependencies": { @@ -24955,9 +24258,41 @@ "vscode-uri": "^2.1.2" } }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + }, "node_modules/vscode-languageserver-textdocument": { "version": "1.0.12", - "dev": true, "license": "MIT" }, "node_modules/vscode-languageserver-types": { @@ -25118,10 +24453,6 @@ "license": "MIT", "optional": true }, - "node_modules/web-worker": { - "version": "1.3.0", - "license": "Apache-2.0" - }, "node_modules/webcomponent-qr-code": { "version": "1.2.0", "license": "MIT", @@ -25311,9 +24642,10 @@ } }, "node_modules/wireit": { - "version": "0.14.7", + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/wireit/-/wireit-0.14.8.tgz", + "integrity": "sha512-pxRAjRGft/38fOE6CNm6np0spVaXFZIIlF0MF+J6P0zLqWb7CDcNITDxHM7zRe12pIMM0opq4upaOa10IKQ91Q==", "dev": true, - "license": "Apache-2.0", "workspaces": [ "vscode-extension", "website" @@ -25451,9 +24783,8 @@ }, "node_modules/write-file-atomic": { "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", @@ -25462,9 +24793,8 @@ }, "node_modules/write-file-atomic/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/ws": { "version": "8.18.0", @@ -25705,17 +25035,17 @@ "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-swc": "^0.3.1", "@swc/cli": "^0.4.0", - "@swc/core": "^1.7.14", + "@swc/core": "^1.7.18", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/jquery": "^3.5.30", "lockfile-lint": "^4.14.0", "prettier": "^3.3.2", "rollup": "^4.21.0", "rollup-plugin-copy": "^3.5.0", - "wireit": "^0.14.4" + "wireit": "^0.14.8" }, "optionalDependencies": { - "@swc/core": "^1.7.14", + "@swc/core": "^1.7.18", "@swc/core-darwin-arm64": "^1.6.13", "@swc/core-darwin-x64": "^1.6.13", "@swc/core-linux-arm-gnueabihf": "^1.6.13", @@ -25729,9 +25059,7 @@ } }, "packages/sfe/node_modules/@goauthentik/api": { - "version": "2024.6.0-1720200294", - "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2024.6.0-1720200294.tgz", - "integrity": "sha512-qGpI+0BpsHWlO8waj89q+6SWjVVuRtYqdmpSIrKFsZt9GLNXCvIAvgS5JI1Sq2z1uWK/8kLNZKDocI/XagqMPQ==" + "version": "2024.6.0-1720200294" } } } diff --git a/web/package.json b/web/package.json index b329cff2be10..dde4f9ec72f8 100644 --- a/web/package.json +++ b/web/package.json @@ -11,7 +11,7 @@ "@floating-ui/dom": "^1.6.9", "@formatjs/intl-listformat": "^7.5.7", "@fortawesome/fontawesome-free": "^6.6.0", - "@goauthentik/api": "^2024.6.3-1724337552", + "@goauthentik/api": "^2024.6.3-1724414734", "@lit/context": "^1.1.2", "@lit/localize": "^0.12.2", "@lit/reactive-element": "^2.0.4", @@ -32,7 +32,7 @@ "guacamole-common-js": "^1.5.0", "lit": "^3.2.0", "md-front-matter": "^1.0.4", - "mermaid": "^10.9.1", + "mermaid": "^11.0.2", "rapidoc": "^9.3.4", "showdown": "^2.1.0", "style-mod": "^4.1.2", @@ -44,14 +44,14 @@ "@babel/core": "^7.25.2", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-decorators": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", - "@babel/plugin-transform-runtime": "^7.24.7", - "@babel/preset-env": "^7.25.3", + "@babel/plugin-transform-runtime": "^7.25.4", + "@babel/preset-env": "^7.25.4", "@babel/preset-typescript": "^7.24.7", "@changesets/cli": "^2.27.5", "@custom-elements-manifest/analyzer": "^0.10.2", - "@eslint/js": "^9.9.0", + "@eslint/js": "^9.9.1", "@genesiscommunitysuccess/custom-elements-lsp": "^5.0.3", "@hcaptcha/types": "^1.0.4", "@jeysal/storybook-addon-css-user-preferences": "^0.2.0", @@ -101,16 +101,16 @@ "rollup-plugin-postcss-lit": "^2.1.0", "storybook": "^8.1.11", "storybook-addon-mock": "^5.0.0", - "syncpack": "^12.3.3", + "syncpack": "^13.0.0", "ts-lit-plugin": "^2.0.2", "ts-node": "^10.9.2", - "tslib": "^2.6.3", + "tslib": "^2.7.0", "turnstile-types": "^1.2.2", "typescript": "^5.5.4", "typescript-eslint": "^8.2.0", - "vite-tsconfig-paths": "^4.3.2", + "vite-tsconfig-paths": "^5.0.1", "wdio-wait-for": "^3.0.11", - "wireit": "^0.14.4" + "wireit": "^0.14.8" }, "engines": { "node": ">=20" @@ -154,6 +154,7 @@ "tsc": "wireit", "watch": "run-s build-locales esbuild:watch" }, + "type": "module", "wireit": { "build": { "#comment": [ @@ -324,13 +325,17 @@ "command": "node scripts/build-storybook-import-maps.mjs" }, "test": { - "command": "wdio run ./wdio.conf.ts --logLevel=warn --autoCompileOpts.tsNodeOpts.project=tsconfig.test.json", + "command": "wdio run ./wdio.conf.ts --logLevel=warn", "env": { - "CI": "true" + "CI": "true", + "TS_NODE_PROJECT": "tsconfig.test.json" } }, "test-view": { - "command": "wdio run ./wdio.conf.ts --autoCompileOpts.tsNodeOpts.project=tsconfig.test.json" + "command": "wdio run ./wdio.conf.ts", + "env": { + "TS_NODE_PROJECT": "tsconfig.test.json" + } }, "tsc": { "dependencies": [ diff --git a/web/packages/sfe/package.json b/web/packages/sfe/package.json index 520a8f13eeb6..d9345f256f06 100644 --- a/web/packages/sfe/package.json +++ b/web/packages/sfe/package.json @@ -14,18 +14,18 @@ "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-swc": "^0.3.1", "@swc/cli": "^0.4.0", - "@swc/core": "^1.7.14", + "@swc/core": "^1.7.18", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/jquery": "^3.5.30", "lockfile-lint": "^4.14.0", "prettier": "^3.3.2", "rollup": "^4.21.0", "rollup-plugin-copy": "^3.5.0", - "wireit": "^0.14.4" + "wireit": "^0.14.8" }, "license": "MIT", "optionalDependencies": { - "@swc/core": "^1.7.14", + "@swc/core": "^1.7.18", "@swc/core-darwin-arm64": "^1.6.13", "@swc/core-darwin-x64": "^1.6.13", "@swc/core-linux-arm-gnueabihf": "^1.6.13", diff --git a/web/sfe/package-lock.json b/web/sfe/package-lock.json index 3762204db237..3c3a52511645 100644 --- a/web/sfe/package-lock.json +++ b/web/sfe/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "license": "MIT", "dependencies": { - "@goauthentik/api": "^2024.6.3-1723921843", + "@goauthentik/api": "^2024.6.3-1724414734", "base64-js": "^1.5.1", "bootstrap": "^4.6.1", "formdata-polyfill": "^4.0.10", @@ -21,16 +21,16 @@ "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-swc": "^0.3.1", "@swc/cli": "^0.4.0", - "@swc/core": "^1.7.14", + "@swc/core": "^1.7.18", "@types/jquery": "^3.5.30", "rollup": "^4.21.0", "rollup-plugin-copy": "^3.5.0" } }, "node_modules/@goauthentik/api": { - "version": "2024.6.3-1723921843", - "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2024.6.3-1723921843.tgz", - "integrity": "sha512-WSn53NhZh2PVhGQ9g/PYQyHR0TVvZRtCLm94LVUci/JDNlqQNdJIpsoBSbOu3JJqmtI7pjlaX+DUT7ZHifU2Iw==" + "version": "2024.6.3-1724414734", + "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2024.6.3-1724414734.tgz", + "integrity": "sha512-2fLKwOh2Znc/unD8Q2U4G0g5QFM4jVqC95e5VRWWVnzp3xB7JWfEDBcRdwyv5PxCdmjBUkvbiul0kiuRwqBf4w==" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", @@ -491,9 +491,9 @@ } }, "node_modules/@swc/core": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.14.tgz", - "integrity": "sha512-9aeXeifnyuvc2pcuuhPQgVUwdpGEzZ+9nJu0W8/hNl/aESFsJGR5i9uQJRGu0atoNr01gK092fvmqMmQAPcKow==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.18.tgz", + "integrity": "sha512-qL9v5N5S38ijmqiQRvCFUUx2vmxWT/JJ2rswElnyaHkOHuVoAFhBB90Ywj4RKjh3R0zOjhEcemENTyF3q3G6WQ==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -508,16 +508,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.7.14", - "@swc/core-darwin-x64": "1.7.14", - "@swc/core-linux-arm-gnueabihf": "1.7.14", - "@swc/core-linux-arm64-gnu": "1.7.14", - "@swc/core-linux-arm64-musl": "1.7.14", - "@swc/core-linux-x64-gnu": "1.7.14", - "@swc/core-linux-x64-musl": "1.7.14", - "@swc/core-win32-arm64-msvc": "1.7.14", - "@swc/core-win32-ia32-msvc": "1.7.14", - "@swc/core-win32-x64-msvc": "1.7.14" + "@swc/core-darwin-arm64": "1.7.18", + "@swc/core-darwin-x64": "1.7.18", + "@swc/core-linux-arm-gnueabihf": "1.7.18", + "@swc/core-linux-arm64-gnu": "1.7.18", + "@swc/core-linux-arm64-musl": "1.7.18", + "@swc/core-linux-x64-gnu": "1.7.18", + "@swc/core-linux-x64-musl": "1.7.18", + "@swc/core-win32-arm64-msvc": "1.7.18", + "@swc/core-win32-ia32-msvc": "1.7.18", + "@swc/core-win32-x64-msvc": "1.7.18" }, "peerDependencies": { "@swc/helpers": "*" @@ -529,9 +529,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.14.tgz", - "integrity": "sha512-V0OUXjOH+hdGxDYG8NkQzy25mKOpcNKFpqtZEzLe5V/CpLJPnpg1+pMz70m14s9ZFda9OxsjlvPbg1FLUwhgIQ==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.18.tgz", + "integrity": "sha512-MwLc5U+VGPMZm8MjlFBjEB2wyT1EK0NNJ3tn+ps9fmxdFP+PL8EpMiY1O1F2t1ydy2OzBtZz81sycjM9RieFBg==", "cpu": [ "arm64" ], @@ -545,9 +545,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.14.tgz", - "integrity": "sha512-9iFvUnxG6FC3An5ogp5jbBfQuUmTTwy8KMB+ZddUoPB3NR1eV+Y9vOh/tfWcenSJbgOKDLgYC5D/b1mHAprsrQ==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.18.tgz", + "integrity": "sha512-IkukOQUw7/14VkHp446OkYGCZEHqZg9pTmTdBawlUyz2JwZMSn2VodCl7aFSdGCsU4Cwni8zKA8CCgkCCAELhw==", "cpu": [ "x64" ], @@ -561,9 +561,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.14.tgz", - "integrity": "sha512-zGJsef9qPivKSH8Vv4F/HiBXBTHZ5Hs3ZjVGo/UIdWPJF8fTL9OVADiRrl34Q7zOZEtGXRwEKLUW1SCQcbDvZA==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.18.tgz", + "integrity": "sha512-ATnb6jJaBeXCqrTUawWdoOy7eP9SCI7UMcfXlYIMxX4otKKspLPAEuGA5RaNxlCcj9ObyO0J3YGbtZ6hhD2pjg==", "cpu": [ "arm" ], @@ -577,9 +577,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.14.tgz", - "integrity": "sha512-AxV3MPsoI7i4B8FXOew3dx3N8y00YoJYvIPfxelw07RegeCEH3aHp2U2DtgbP/NV1ugZMx0TL2Z2DEvocmA51g==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.18.tgz", + "integrity": "sha512-poHtH7zL7lEp9K2inY90lGHJABWxURAOgWNeZqrcR5+jwIe7q5KBisysH09Zf/JNF9+6iNns+U0xgWTNJzBuGA==", "cpu": [ "arm64" ], @@ -593,9 +593,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.14.tgz", - "integrity": "sha512-JDLdNjUj3zPehd4+DrQD8Ltb3B5lD8D05IwePyDWw+uR/YPc7w/TX1FUVci5h3giJnlMCJRvi1IQYV7K1n7KtQ==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.18.tgz", + "integrity": "sha512-qnNI1WmcOV7Wz1ZDyK6WrOlzLvJ01rnni8ec950mMHWkLRMP53QvCvhF3S+7gFplWBwWJTOOPPUqJp/PlSxWyQ==", "cpu": [ "arm64" ], @@ -609,9 +609,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.14.tgz", - "integrity": "sha512-Siy5OvPCLLWmMdx4msnEs8HvEVUEigSn0+3pbLjv78iwzXd0qSBNHUPZyC1xeurVaUbpNDxZTpPRIwpqNE2+Og==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.18.tgz", + "integrity": "sha512-x9SCqCLzwtlqtD5At3I1a7Gco+EuXnzrJGoucmkpeQohshHuwa+cskqsXO6u1Dz0jXJEuHbBZB9va1wYYfjgFg==", "cpu": [ "x64" ], @@ -625,9 +625,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.14.tgz", - "integrity": "sha512-FtEGm9mwtRYQNK43WMtUIadxHs/ja2rnDurB99os0ZoFTGG2IHuht2zD97W0wB8JbqEabT1XwSG9Y5wmN+ciEQ==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.18.tgz", + "integrity": "sha512-qtj8iOpMMgKjzxTv+islmEY0JBsbd93nka0gzcTTmGZxKtL5jSUsYQvkxwNPZr5M9NU1fgaR3n1vE6lFmtY0IQ==", "cpu": [ "x64" ], @@ -641,9 +641,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.14.tgz", - "integrity": "sha512-Jp8KDlfq7Ntt2/BXr0y344cYgB1zf0DaLzDZ1ZJR6rYlAzWYSccLYcxHa97VGnsYhhPspMpmCvHid97oe2hl4A==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.18.tgz", + "integrity": "sha512-ltX/Ol9+Qu4SXmISCeuwVgAjSa8nzHTymknpozzVMgjXUoZMoz6lcynfKL1nCh5XLgqh0XNHUKLti5YFF8LrrA==", "cpu": [ "arm64" ], @@ -657,9 +657,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.14.tgz", - "integrity": "sha512-I+cFsXF0OU0J9J4zdWiQKKLURO5dvCujH9Jr8N0cErdy54l9d4gfIxdctfTF+7FyXtWKLTCkp+oby9BQhkFGWA==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.18.tgz", + "integrity": "sha512-RgTcFP3wgyxnQbTCJrlgBJmgpeTXo8t807GU9GxApAXfpLZJ3swJ2GgFUmIJVdLWyffSHF5BEkF3FmF6mtH5AQ==", "cpu": [ "ia32" ], @@ -673,9 +673,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.14.tgz", - "integrity": "sha512-NNrprQCK6d28mG436jVo2TD+vACHseUECacEBGZ9Ef0qfOIWS1XIt2MisQKG0Oea2VvLFl6tF/V4Lnx/H0Sn3Q==", + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.18.tgz", + "integrity": "sha512-XbZ0wAgzR757+DhQcnv60Y/bK9yuWPhDNRQVFFQVRsowvK3+c6EblyfUSytIidpXgyYFzlprq/9A9ZlO/wvDWw==", "cpu": [ "x64" ], diff --git a/web/sfe/package.json b/web/sfe/package.json index 80ef43c0b153..76b4aee6bc32 100644 --- a/web/sfe/package.json +++ b/web/sfe/package.json @@ -4,7 +4,7 @@ "private": true, "license": "MIT", "dependencies": { - "@goauthentik/api": "^2024.6.3-1723921843", + "@goauthentik/api": "^2024.6.3-1724414734", "base64-js": "^1.5.1", "bootstrap": "^4.6.1", "formdata-polyfill": "^4.0.10", @@ -20,7 +20,7 @@ "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-swc": "^0.3.1", "@swc/cli": "^0.4.0", - "@swc/core": "^1.7.14", + "@swc/core": "^1.7.18", "@types/jquery": "^3.5.30", "rollup": "^4.21.0", "rollup-plugin-copy": "^3.5.0" diff --git a/web/src/admin/enterprise/EnterpriseLicenseForm.ts b/web/src/admin/enterprise/EnterpriseLicenseForm.ts index d1ce5e38af1f..363af1f4fbed 100644 --- a/web/src/admin/enterprise/EnterpriseLicenseForm.ts +++ b/web/src/admin/enterprise/EnterpriseLicenseForm.ts @@ -30,7 +30,7 @@ export class EnterpriseLicenseForm extends ModelForm { async load(): Promise { this.installID = ( - await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseGetInstallIdRetrieve() + await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseInstallIdRetrieve() ).installId; } diff --git a/web/src/admin/enterprise/EnterpriseLicenseListPage.ts b/web/src/admin/enterprise/EnterpriseLicenseListPage.ts index 84dad792922b..3c700b615eec 100644 --- a/web/src/admin/enterprise/EnterpriseLicenseListPage.ts +++ b/web/src/admin/enterprise/EnterpriseLicenseListPage.ts @@ -1,4 +1,5 @@ import "@goauthentik/admin/enterprise/EnterpriseLicenseForm"; +import "@goauthentik/admin/enterprise/EnterpriseStatusCard"; import "@goauthentik/admin/rbac/ObjectPermissionModal"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { getRelativeTime } from "@goauthentik/common/utils"; @@ -20,7 +21,6 @@ import { customElement, property, state } from "lit/decorators.js"; import PFBanner from "@patternfly/patternfly/components/Banner/banner.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFCard from "@patternfly/patternfly/components/Card/card.css"; -import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; @@ -65,7 +65,6 @@ export class EnterpriseLicenseListPage extends TablePage { static get styles(): CSSResult[] { return super.styles.concat( - PFDescriptionList, PFGrid, PFBanner, PFFormControl, @@ -84,9 +83,11 @@ export class EnterpriseLicenseListPage extends TablePage { async apiEndpoint(): Promise> { this.forecast = await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseForecastRetrieve(); - this.summary = await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseSummaryRetrieve(); + this.summary = await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseSummaryRetrieve({ + cached: false, + }); this.installID = ( - await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseGetInstallIdRetrieve() + await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseInstallIdRetrieve() ).installId; return new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseList( await this.defaultEndpointConfig(), @@ -191,6 +192,12 @@ export class EnterpriseLicenseListPage extends TablePage { +
+ +
`; } diff --git a/web/src/admin/enterprise/EnterpriseStatusCard.test.ts b/web/src/admin/enterprise/EnterpriseStatusCard.test.ts new file mode 100644 index 000000000000..483d3d57f3a9 --- /dev/null +++ b/web/src/admin/enterprise/EnterpriseStatusCard.test.ts @@ -0,0 +1,165 @@ +import { ensureCSSStyleSheet } from "@goauthentik/elements/utils/ensureCSSStyleSheet.js"; +import { $, expect } from "@wdio/globals"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html, render as litRender } from "lit"; + +import AKGlobal from "@goauthentik/common/styles/authentik.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +import { LicenseForecast, LicenseSummary, LicenseSummaryStatusEnum } from "@goauthentik/api"; + +import "./EnterpriseStatusCard.js"; + +const render = (body: TemplateResult) => { + document.adoptedStyleSheets = [ + ...document.adoptedStyleSheets, + ensureCSSStyleSheet(PFBase), + ensureCSSStyleSheet(AKGlobal), + ]; + return litRender(body, document.body); +}; + +describe("ak-enterprise-status-card", () => { + it("should not error when no data is loaded", async () => { + render(html``); + + const status = await $("ak-enterprise-status-card"); + await expect(status).toHaveText(msg("Loading")); + }); + + it("should render empty when unlicensed", async () => { + const forecast: LicenseForecast = { + externalUsers: 123, + internalUsers: 123, + forecastedExternalUsers: 123, + forecastedInternalUsers: 123, + }; + const summary: LicenseSummary = { + status: LicenseSummaryStatusEnum.Unlicensed, + internalUsers: 0, + externalUsers: 0, + latestValid: new Date(0), + licenseFlags: [], + }; + render( + html` + `, + ); + + const status = await $("ak-enterprise-status-card").$( + ">>>.pf-c-description-list__description > .pf-c-description-list__text", + ); + await expect(status).toExist(); + await expect(status).toHaveText(msg("Unlicensed")); + + const internalUserProgress = await $("ak-enterprise-status-card").$( + ">>>#internalUsers > .pf-c-progress__bar", + ); + await expect(internalUserProgress).toExist(); + await expect(internalUserProgress).toHaveAttr("aria-valuenow", "0"); + const externalUserProgress = await $("ak-enterprise-status-card").$( + ">>>#externalUsers > .pf-c-progress__bar", + ); + await expect(externalUserProgress).toExist(); + await expect(externalUserProgress).toHaveAttr("aria-valuenow", "0"); + }); + + it("should show warnings when full", async () => { + const forecast: LicenseForecast = { + externalUsers: 123, + internalUsers: 123, + forecastedExternalUsers: 123, + forecastedInternalUsers: 123, + }; + const summary: LicenseSummary = { + status: LicenseSummaryStatusEnum.Valid, + internalUsers: 123, + externalUsers: 123, + latestValid: new Date(), + licenseFlags: [], + }; + render( + html` + `, + ); + + const status = await $("ak-enterprise-status-card").$( + ">>>.pf-c-description-list__description > .pf-c-description-list__text", + ); + await expect(status).toExist(); + await expect(status).toHaveText(msg("Valid")); + + const internalUserProgress = await $("ak-enterprise-status-card").$( + ">>>#internalUsers > .pf-c-progress__bar", + ); + await expect(internalUserProgress).toExist(); + await expect(internalUserProgress).toHaveAttr("aria-valuenow", "100"); + + await expect( + await $("ak-enterprise-status-card").$(">>>#internalUsers"), + ).toHaveElementClass("pf-m-warning"); + + const externalUserProgress = await $("ak-enterprise-status-card").$( + ">>>#externalUsers > .pf-c-progress__bar", + ); + await expect(externalUserProgress).toExist(); + await expect(externalUserProgress).toHaveAttr("aria-valuenow", "100"); + + await expect( + await $("ak-enterprise-status-card").$(">>>#internalUsers"), + ).toHaveElementClass("pf-m-warning"); + await expect( + await $("ak-enterprise-status-card").$(">>>#externalUsers"), + ).toHaveElementClass("pf-m-warning"); + }); + + it("should show infinity when not licensed for a user type", async () => { + const forecast: LicenseForecast = { + externalUsers: 123, + internalUsers: 123, + forecastedExternalUsers: 123, + forecastedInternalUsers: 123, + }; + const summary: LicenseSummary = { + status: LicenseSummaryStatusEnum.Valid, + internalUsers: 123, + externalUsers: 0, + latestValid: new Date(), + licenseFlags: [], + }; + render( + html` + `, + ); + + const status = await $("ak-enterprise-status-card").$( + ">>>.pf-c-description-list__description > .pf-c-description-list__text", + ); + await expect(status).toExist(); + await expect(status).toHaveText(msg("Valid")); + + const internalUserProgress = await $("ak-enterprise-status-card").$( + ">>>#internalUsers > .pf-c-progress__bar", + ); + await expect(internalUserProgress).toExist(); + await expect(internalUserProgress).toHaveAttr("aria-valuenow", "100"); + + await expect( + await $("ak-enterprise-status-card").$(">>>#internalUsers"), + ).toHaveElementClass("pf-m-warning"); + + const externalUserProgress = await $("ak-enterprise-status-card").$( + ">>>#externalUsers > .pf-c-progress__bar", + ); + await expect(externalUserProgress).toExist(); + await expect(externalUserProgress).toHaveAttr("aria-valuenow", "∞"); + + await expect( + await $("ak-enterprise-status-card").$(">>>#internalUsers"), + ).toHaveElementClass("pf-m-warning"); + await expect( + await $("ak-enterprise-status-card").$(">>>#externalUsers"), + ).toHaveElementClass("pf-m-danger"); + }); +}); diff --git a/web/src/admin/enterprise/EnterpriseStatusCard.ts b/web/src/admin/enterprise/EnterpriseStatusCard.ts new file mode 100644 index 000000000000..14086b884a73 --- /dev/null +++ b/web/src/admin/enterprise/EnterpriseStatusCard.ts @@ -0,0 +1,157 @@ +import { AKElement } from "@goauthentik/elements/Base"; +import { PFColor } from "@goauthentik/elements/Label"; + +import { msg, str } from "@lit/localize"; +import { CSSResult, html, nothing } from "lit"; +import { customElement, state } from "lit/decorators.js"; + +import PFCard from "@patternfly/patternfly/components/Card/card.css"; +import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; +import PFProgress from "@patternfly/patternfly/components/Progress/progress.css"; +import PFSplit from "@patternfly/patternfly/layouts/Split/split.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +import { LicenseForecast, LicenseSummary, LicenseSummaryStatusEnum } from "@goauthentik/api"; + +@customElement("ak-enterprise-status-card") +export class EnterpriseStatusCard extends AKElement { + @state() + forecast?: LicenseForecast; + + @state() + summary?: LicenseSummary; + + static get styles(): CSSResult[] { + return [PFBase, PFDescriptionList, PFCard, PFSplit, PFProgress]; + } + + renderSummaryBadge() { + switch (this.summary?.status) { + case LicenseSummaryStatusEnum.Expired: + return html`${msg("Expired")}`; + case LicenseSummaryStatusEnum.ExpirySoon: + return html`${msg("Expiring soon")}`; + case LicenseSummaryStatusEnum.Unlicensed: + return html`${msg("Unlicensed")}`; + case LicenseSummaryStatusEnum.ReadOnly: + return html`${msg("Read Only")}`; + case LicenseSummaryStatusEnum.Valid: + return html`${msg("Valid")}`; + default: + return nothing; + } + } + + calcUserPercentage(licensed: number, current: number) { + const percentage = licensed > 0 ? Math.ceil(current / (licensed / 100)) : 0; + if (current > 0 && licensed === 0) return Infinity; + return percentage; + } + + render() { + if (!this.forecast || !this.summary) { + return html`${msg("Loading")}`; + } + let internalUserPercentage = 0; + let externalUserPercentage = 0; + if (this.summary.status !== LicenseSummaryStatusEnum.Unlicensed) { + internalUserPercentage = this.calcUserPercentage( + this.summary.internalUsers, + this.forecast.internalUsers, + ); + externalUserPercentage = this.calcUserPercentage( + this.summary.externalUsers, + this.forecast.externalUsers, + ); + } + return html`
+
${msg("Current license status")}
+
+
+
+
+
+ ${msg("Overall license status")} +
+
+
+ ${this.renderSummaryBadge()} +
+
+
+
+
+
= 80 ? "pf-m-warning" : ""}" + id="internalUsers" + > +
+ ${msg("Internal user usage")} +
+ +
+
+
+
+
= 80 ? "pf-m-warning" : ""}" + id="externalUsers" + > +
+ ${msg("External user usage")} +
+ +
+
+
+
+
+
+
+
`; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ak-enterprise-status-card": EnterpriseStatusCard; + } +} diff --git a/web/src/admin/outposts/OutpostForm.ts b/web/src/admin/outposts/OutpostForm.ts index 0ebd90c98c3c..ca6cf242cd16 100644 --- a/web/src/admin/outposts/OutpostForm.ts +++ b/web/src/admin/outposts/OutpostForm.ts @@ -105,6 +105,7 @@ export class OutpostForm extends ModelForm { uuid: pk, }); this.type = o.type || OutpostTypeEnum.Proxy; + this.providers = providerProvider(o.type); return o; } @@ -112,7 +113,6 @@ export class OutpostForm extends ModelForm { this.defaultConfig = await new OutpostsApi( DEFAULT_CONFIG, ).outpostsInstancesDefaultSettingsRetrieve(); - this.providers = providerProvider(this.type); } getSuccessMessage(): string { diff --git a/web/src/assets/images/flow_background.jpg b/web/src/assets/images/flow_background.jpg index d87d53303db7..354e128b6eb8 100644 Binary files a/web/src/assets/images/flow_background.jpg and b/web/src/assets/images/flow_background.jpg differ diff --git a/web/src/common/constants.ts b/web/src/common/constants.ts index a05c82c5f7f3..9ecf0e39684f 100644 --- a/web/src/common/constants.ts +++ b/web/src/common/constants.ts @@ -3,7 +3,7 @@ export const SUCCESS_CLASS = "pf-m-success"; export const ERROR_CLASS = "pf-m-danger"; export const PROGRESS_CLASS = "pf-m-in-progress"; export const CURRENT_CLASS = "pf-m-current"; -export const VERSION = "2024.6.3"; +export const VERSION = "2024.6.4"; export const TITLE_DEFAULT = "authentik"; export const ROUTE_SEPARATOR = ";"; diff --git a/web/src/elements/Diagram.ts b/web/src/elements/Diagram.ts index bc21a7bee9d2..41028b96b3b5 100644 --- a/web/src/elements/Diagram.ts +++ b/web/src/elements/Diagram.ts @@ -41,7 +41,7 @@ export class Diagram extends AKElement { // The type definition for this says number // but the example use strings // and numbers don't work - logLevel: "fatal" as unknown as number, + logLevel: "fatal", startOnLoad: false, flowchart: { curve: "linear", diff --git a/web/src/elements/cards/AggregateCard.ts b/web/src/elements/cards/AggregateCard.ts index 4fc6653bf563..e64d17952ff2 100644 --- a/web/src/elements/cards/AggregateCard.ts +++ b/web/src/elements/cards/AggregateCard.ts @@ -1,6 +1,6 @@ import { AKElement } from "@goauthentik/elements/Base"; -import { CSSResult, TemplateResult, css, html } from "lit"; +import { CSSResult, TemplateResult, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators.js"; import { ifDefined } from "lit/directives/if-defined.js"; @@ -82,6 +82,7 @@ export class AggregateCard extends AKElement implements IAggregateCard { text-align: center; } .subtext { + margin-top: var(--pf-global--spacer--sm); font-size: var(--pf-global--FontSize--sm); } .pf-c-card__body { @@ -119,13 +120,15 @@ export class AggregateCard extends AKElement implements IAggregateCard { return html`
-  ${this.renderHeader()} + ${this.icon + ? html` ` + : nothing}${this.renderHeader()}
${this.renderHeaderLink()}
${this.renderInner()} - ${this.subtext ? html`

${this.subtext}

` : html``} + ${this.subtext ? html`

${this.subtext}

` : nothing}
`; diff --git a/web/src/elements/cards/stories/AggregateCard.stories.ts b/web/src/elements/cards/stories/AggregateCard.stories.ts index 1e1b4cf9e142..b7bf9464640c 100644 --- a/web/src/elements/cards/stories/AggregateCard.stories.ts +++ b/web/src/elements/cards/stories/AggregateCard.stories.ts @@ -31,7 +31,7 @@ export const DefaultStory: StoryObj = { header: "Default", headerLink: undefined, subtext: undefined, - isCenter: false, + leftJustified: false, }, render: ({ icon, header, headerLink, subtext, leftJustified }: IAggregateCard) => { return html`
diff --git a/web/src/elements/cards/stories/AggregatePromiseCard.stories.ts b/web/src/elements/cards/stories/AggregatePromiseCard.stories.ts index 6de349c584d3..2d98603a562b 100644 --- a/web/src/elements/cards/stories/AggregatePromiseCard.stories.ts +++ b/web/src/elements/cards/stories/AggregatePromiseCard.stories.ts @@ -29,12 +29,15 @@ export default metadata; const text = "Curl up and sleep on the freshly laundered towels mew, but make meme, make cute face growl at dogs in my sleep. Scratch me there, elevator butt humans, humans, humans oh how much they love us felines we are the center of attention they feed, they clean hopped up on catnip mice. Kitty time flop over, for see owner, run in terror"; +const MILLIS_PER_SECOND = 1000; +const EXAMPLE_TIMEOUT = 8000; // 8 seconds + export const DefaultStory: StoryObj = { args: { icon: undefined, header: "Default", headerLink: undefined, - subtext: "Demo has an eight second delay until resolution", + subtext: `Demo has a ${EXAMPLE_TIMEOUT / MILLIS_PER_SECOND} second delay until resolution`, leftJustified: false, }, render: ({ icon, header, headerLink, subtext, leftJustified }: IAggregatePromiseCard) => { @@ -55,7 +58,7 @@ export const DefaultStory: StoryObj = { subtext=${ifDefined(subtext)} icon=${ifDefined(icon)} ?left-justified=${leftJustified} - .promise=${runThis(8000, text)} + .promise=${runThis(EXAMPLE_TIMEOUT, text)} >
`; @@ -67,7 +70,7 @@ export const PromiseRejected: StoryObj = { icon: undefined, header: "Default", headerLink: undefined, - subtext: "Demo has an eight second delay until rejection", + subtext: `Demo has a ${EXAMPLE_TIMEOUT / MILLIS_PER_SECOND} second delay until resolution`, leftJustified: false, failureMessage: undefined, }, @@ -97,7 +100,7 @@ export const PromiseRejected: StoryObj = { icon=${ifDefined(icon)} failureMessage=${ifDefined(failureMessage)} ?left-justified=${leftJustified} - .promise=${runThis(8000, text)} + .promise=${runThis(EXAMPLE_TIMEOUT, text)} > `; diff --git a/web/src/elements/cards/tests/AggregateCard.test.ts b/web/src/elements/cards/tests/AggregateCard.test.ts new file mode 100644 index 000000000000..6b39351de51c --- /dev/null +++ b/web/src/elements/cards/tests/AggregateCard.test.ts @@ -0,0 +1,82 @@ +import { ensureCSSStyleSheet } from "@goauthentik/elements/utils/ensureCSSStyleSheet.js"; +import { $, expect } from "@wdio/globals"; + +import { TemplateResult, html, render as litRender } from "lit"; + +import AKGlobal from "@goauthentik/common/styles/authentik.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +import "../AggregateCard.js"; + +const render = (body: TemplateResult) => { + document.adoptedStyleSheets = [ + ...document.adoptedStyleSheets, + ensureCSSStyleSheet(PFBase), + ensureCSSStyleSheet(AKGlobal), + ]; + return litRender(body, document.body); +}; + +describe("ak-aggregate-card", () => { + it("should render the standard card without an icon, link, or subtext", async () => { + render( + html`

This is the main content

`, + ); + const component = await $("ak-aggregate-card"); + await expect(await component.$(">>>.pf-c-card__header a")).not.toExist(); + await expect(await component.$(">>>.pf-c-card__title i")).not.toExist(); + await expect(await component.$(">>>.pf-c-card__title")).toHaveText("Loading"); + await expect(await component.$(">>>.pf-c-card__body")).toHaveText( + "This is the main content", + ); + await expect(await component.$(">>>.subtext")).not.toExist(); + }); + + it("should render the standard card with an icon", async () => { + render( + html`

This is the main content

`, + ); + const component = await $("ak-aggregate-card"); + await expect(await component.$(">>>.pf-c-card__title i")).toExist(); + await expect(await component.$(">>>.pf-c-card__title")).toHaveText("Loading"); + await expect(await component.$(">>>.pf-c-card__body")).toHaveText( + "This is the main content", + ); + }); + + it("should render the standard card with an icon, a link, and slotted content", async () => { + render( + html`

This is the main content

`, + ); + const component = await $("ak-aggregate-card"); + await expect(await component.$(">>>.pf-c-card__header a")).toExist(); + await expect(await component.$(">>>.pf-c-card__title i")).toExist(); + await expect(await component.$(">>>.pf-c-card__title")).toHaveText("Loading"); + await expect(await component.$(">>>.pf-c-card__body")).toHaveText( + "This is the main content", + ); + }); + + it("should render the standard card with an icon, a link, and subtext", async () => { + render( + html`

This is the main content

`, + ); + const component = await $("ak-aggregate-card"); + await expect(await component.$(">>>.pf-c-card__header a")).toExist(); + await expect(await component.$(">>>.pf-c-card__title i")).toExist(); + await expect(await component.$(">>>.pf-c-card__title")).toHaveText("Loading"); + await expect(await component.$(">>>.subtext")).toHaveText("Xena had subtext"); + }); +}); diff --git a/web/src/elements/cards/tests/AggregatePromiseCard.test.ts b/web/src/elements/cards/tests/AggregatePromiseCard.test.ts new file mode 100644 index 000000000000..271a97d09cc3 --- /dev/null +++ b/web/src/elements/cards/tests/AggregatePromiseCard.test.ts @@ -0,0 +1,62 @@ +import { ensureCSSStyleSheet } from "@goauthentik/elements/utils/ensureCSSStyleSheet.js"; +import { $, expect } from "@wdio/globals"; + +import { TemplateResult, html, render as litRender } from "lit"; + +import AKGlobal from "@goauthentik/common/styles/authentik.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +import "../AggregatePromiseCard.js"; + +const render = (body: TemplateResult) => { + document.adoptedStyleSheets = [ + ...document.adoptedStyleSheets, + ensureCSSStyleSheet(PFBase), + ensureCSSStyleSheet(AKGlobal), + ]; + return litRender(body, document.body); +}; + +const DELAY = 1000; // milliseconds + +describe("ak-aggregate-card-promise", () => { + it("should render the promise card and display the message after a 1 second timeout", async () => { + const text = "RESULT"; + const runThis = (timeout: number, value: string) => + new Promise((resolve, _reject) => setTimeout(resolve, timeout, value)); + const promise = runThis(DELAY, text); + render(html``); + + const component = await $("ak-aggregate-card-promise"); + // Assert we're in pre-resolve mode + await expect(await component.$(">>>.pf-c-card__header a")).not.toExist(); + await expect(await component.$(">>>ak-spinner")).toExist(); + await promise; + await expect(await component.$(">>>ak-spinner")).not.toExist(); + await expect(await component.$(">>>.pf-c-card__body")).toHaveText("RESULT"); + }); + + it("should render the promise card and display failure after a 1 second timeout", async () => { + const text = "EXPECTED FAILURE"; + const runThis = (timeout: number, value: string) => + new Promise((_resolve, reject) => setTimeout(reject, timeout, value)); + const promise = runThis(DELAY, text); + render( + html``, + ); + + const component = await $("ak-aggregate-card-promise"); + // Assert we're in pre-resolve mode + await expect(await component.$(">>>.pf-c-card__header a")).not.toExist(); + await expect(await component.$(">>>ak-spinner")).toExist(); + try { + await promise; + } catch (_e: unknown) { + await expect(await component.$(">>>ak-spinner")).not.toExist(); + await expect(await component.$(">>>.pf-c-card__body")).toHaveText(text); + } + }); +}); diff --git a/web/src/elements/cards/tests/QuickActionCard.test.ts b/web/src/elements/cards/tests/QuickActionCard.test.ts new file mode 100644 index 000000000000..ab8545f14195 --- /dev/null +++ b/web/src/elements/cards/tests/QuickActionCard.test.ts @@ -0,0 +1,44 @@ +import { ensureCSSStyleSheet } from "@goauthentik/elements/utils/ensureCSSStyleSheet.js"; +import { $, expect } from "@wdio/globals"; + +import { TemplateResult, html, render as litRender } from "lit"; + +import AKGlobal from "@goauthentik/common/styles/authentik.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +import { QuickAction } from "../QuickActionsCard.js"; +import "../QuickActionsCard.js"; + +const render = (body: TemplateResult) => { + document.adoptedStyleSheets = [ + ...document.adoptedStyleSheets, + ensureCSSStyleSheet(PFBase), + ensureCSSStyleSheet(AKGlobal), + ]; + return litRender(body, document.body); +}; + +const ACTIONS: QuickAction[] = [ + ["Create a new application", "/core/applications"], + ["Check the logs", "/events/log"], + ["Explore integrations", "https://goauthentik.io/integrations/", true], + ["Manage users", "/identity/users"], + ["Check the release notes", "https://goauthentik.io/docs/releases/", true], +]; + +describe("ak-quick-actions-card", () => { + it("display ak-quick-actions-card", async () => { + render( + html``, + ); + const component = await $("ak-quick-actions-card"); + const items = await component.$$(">>>.pf-c-list li"); + await expect(Array.from(items).length).toEqual(5); + await expect(await component.$(">>>.pf-c-list li:nth-of-type(4)")).toHaveText( + "Manage users", + ); + }); +}); diff --git a/web/src/elements/forms/SearchSelect/tests/ak-search-select-view.test.ts b/web/src/elements/forms/SearchSelect/tests/ak-search-select-view.test.ts index 8c680b5e09e1..1d409e8cc6ab 100644 --- a/web/src/elements/forms/SearchSelect/tests/ak-search-select-view.test.ts +++ b/web/src/elements/forms/SearchSelect/tests/ak-search-select-view.test.ts @@ -17,11 +17,10 @@ describe("Search select: Test Input Field", () => { let select: AkSearchSelectViewDriver; beforeEach(async () => { - await render( + render( html` `, document.body, ); - // @ts-ignore select = await AkSearchSelectViewDriver.build(await $("ak-search-select-view")); }); @@ -57,6 +56,7 @@ describe("Search select: Test Input Field", () => { expect(await select.open).toBe(false); expect(await select.menuIsVisible()).toBe(false); await browser.keys("A"); + select = await AkSearchSelectViewDriver.build(await $("ak-search-select-view")); expect(await select.open).toBe(true); expect(await select.menuIsVisible()).toBe(true); }); @@ -64,19 +64,19 @@ describe("Search select: Test Input Field", () => { it("should update the list as the user types", async () => { await select.focusOnInput(); await browser.keys("Ap"); - expect(await select.menuIsVisible()).toBe(true); + await expect(await select.menuIsVisible()).toBe(true); const elements = Array.from(await select.listElements()); - expect(elements.length).toBe(2); + await expect(elements.length).toBe(2); }); it("set the value when a match is close", async () => { await select.focusOnInput(); await browser.keys("Ap"); - expect(await select.menuIsVisible()).toBe(true); + await expect(await select.menuIsVisible()).toBe(true); const elements = Array.from(await select.listElements()); - expect(elements.length).toBe(2); + await expect(elements.length).toBe(2); await browser.keys(Key.Tab); - expect(await (await select.input()).getValue()).toBe("Apples"); + await expect(await (await select.input()).getValue()).toBe("Apples"); }); it("should close the menu when the user clicks away", async () => { diff --git a/web/tsconfig.test.json b/web/tsconfig.test.json index e0d9822190e4..f93c6adf05b7 100644 --- a/web/tsconfig.test.json +++ b/web/tsconfig.test.json @@ -3,6 +3,7 @@ "baseUrl": ".", "types": ["node", "webdriverio/async", "@wdio/cucumber-framework", "expect-webdriverio"], "target": "esnext", + "module": "esnext", "forceConsistentCasingInFileNames": true, "experimentalDecorators": true, "lib": [ diff --git a/web/wdio.conf.ts b/web/wdio.conf.ts index 6f1edfee0ba6..3179cddf8607 100644 --- a/web/wdio.conf.ts +++ b/web/wdio.conf.ts @@ -1,8 +1,7 @@ import replace from "@rollup/plugin-replace"; import type { Options } from "@wdio/types"; import { cwd } from "process"; -// @ts-ignore -import * as postcssLit from "rollup-plugin-postcss-lit"; +import postcssLit from "rollup-plugin-postcss-lit"; import type { UserConfig } from "vite"; import tsconfigPaths from "vite-tsconfig-paths"; @@ -56,7 +55,9 @@ export const config: Options.Testrunner = { ...userConfig, plugins: [ replace({ - "process.env.NODE_ENV": JSON.stringify(isProdBuild ? "production" : "development"), + "process.env.NODE_ENV": JSON.stringify( + isProdBuild ? "production" : "development", + ), "process.env.CWD": JSON.stringify(cwd()), "process.env.AK_API_BASE_PATH": JSON.stringify(apiBasePath), "preventAssignment": true, diff --git a/web/xliff/de.xlf b/web/xliff/de.xlf index 35a57bac004e..4214701f830f 100644 --- a/web/xliff/de.xlf +++ b/web/xliff/de.xlf @@ -843,10 +843,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. Wählen Sie aus, welche Bereiche vom Client verwendet werden können. Der Client muss noch den Bereich für den Zugriff auf die Daten angeben. - - Hold control/command to select multiple items. - Halten Sie die Strg-/Befehlstaste gedrückt, um mehrere Elemente auszuwählen. - Subject mode Betreffmodus @@ -4027,13 +4023,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields Felder - - ("", of type ) - - (" - ", vom Typ - ) - Validation Policies Validierungsrichtlinien @@ -6838,6 +6827,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/en.xlf b/web/xliff/en.xlf index b21188e70281..36dbd46d6f75 100644 --- a/web/xliff/en.xlf +++ b/web/xliff/en.xlf @@ -875,10 +875,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. Select which scopes can be used by the client. The client still has to specify the scope to access the data. - - Hold control/command to select multiple items. - Hold control/command to select multiple items. - Subject mode Subject mode @@ -4210,13 +4206,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields Fields - - ("", of type ) - - (" - ", of type - ) - Validation Policies Validation Policies @@ -7103,6 +7092,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/es.xlf b/web/xliff/es.xlf index ac096a01688a..ca68fbaa2942 100644 --- a/web/xliff/es.xlf +++ b/web/xliff/es.xlf @@ -827,10 +827,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. Seleccione los ámbitos que puede utilizar el cliente. El cliente aún tiene que especificar el alcance para acceder a los datos. - - Hold control/command to select multiple items. - Mantenga presionado el control/comando para seleccionar varios elementos. - Subject mode Modo asignatura @@ -3962,13 +3958,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields Campos - - ("", of type ) - - (« - », de tipo - ) - Validation Policies Políticas de validación @@ -6755,6 +6744,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/fr.xlf b/web/xliff/fr.xlf index aab1dfc079a3..cac4942b3aef 100644 --- a/web/xliff/fr.xlf +++ b/web/xliff/fr.xlf @@ -1088,11 +1088,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. Sélectionnez les portées utilisables par le client. Le client doit toujours spécifier la portée pour accéder aux données. - - - Hold control/command to select multiple items. - Garder ctrl/command enfoncé pour sélectionner de multiples éléments - Subject mode @@ -5260,14 +5255,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields Champs - - - ("", of type ) - - (" - ", de type - ) - Validation Policies @@ -9002,6 +8989,69 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/ko.xlf b/web/xliff/ko.xlf index 5e262f8efb70..c0b15a1feb12 100644 --- a/web/xliff/ko.xlf +++ b/web/xliff/ko.xlf @@ -1085,11 +1085,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. 클라이언트가 사용할 수 있는 범위를 선택하세요. 클라이언트는 여전히 데이터에 액세스하려면 범위를 명시적으로 지정해야 합니다. - - - Hold control/command to select multiple items. - 여러 항목을 선택하려면 Ctrl/Command를 누르세요. - Subject mode @@ -5243,11 +5238,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields 필드 - - - ("", of type ) - ("", of type ) - Validation Policies @@ -8673,6 +8663,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/nl.xlf b/web/xliff/nl.xlf index a1ea570534d8..88e1f30c3f34 100644 --- a/web/xliff/nl.xlf +++ b/web/xliff/nl.xlf @@ -1075,11 +1075,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. Selecteer welke scopes door de klant kunnen worden gebruikt. De klant moet nog steeds de scope specificeren om toegang te krijgen tot de gegevens. - - - Hold control/command to select multiple items. - Houd control/command ingedrukt om meerdere items te selecteren. - Subject mode @@ -5229,11 +5224,6 @@ slaagt niet wanneer een of beide geselecteerde opties gelijk zijn aan of boven d Fields Velden - - - ("", of type ) - ("", van het type ) - Validation Policies @@ -8518,6 +8508,69 @@ Bindingen naar groepen/gebruikers worden gecontroleerd tegen de gebruiker van de When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/pl.xlf b/web/xliff/pl.xlf index 79d1459b1b78..d9484f15eb86 100644 --- a/web/xliff/pl.xlf +++ b/web/xliff/pl.xlf @@ -1088,11 +1088,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. Wybierz zakresy, których może używać klient. Klient nadal musi określić zakres dostępu do danych. - - - Hold control/command to select multiple items. - Przytrzymaj Control/Command, aby wybrać wiele elementów. - Subject mode @@ -5264,14 +5259,6 @@ Można tu używać tylko zasad, ponieważ dostęp jest sprawdzany przed uwierzyt Fields Pola - - - ("", of type ) - - (" - ", typu - ) - Validation Policies @@ -8941,6 +8928,69 @@ Powiązania z grupami/użytkownikami są sprawdzane względem użytkownika zdarz When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/pseudo-LOCALE.xlf b/web/xliff/pseudo-LOCALE.xlf index ed9627bdc297..7988c3c904da 100644 --- a/web/xliff/pseudo-LOCALE.xlf +++ b/web/xliff/pseudo-LOCALE.xlf @@ -1076,11 +1076,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. Śēĺēćţ ŵĥĩćĥ śćōƥēś ćàń ƀē ũśēď ƀŷ ţĥē ćĺĩēńţ. Ţĥē ćĺĩēńţ śţĩĺĺ ĥàś ţō śƥēćĩƒŷ ţĥē śćōƥē ţō àććēśś ţĥē ďàţà. - - - Hold control/command to select multiple items. - Ĥōĺď ćōńţŕōĺ/ćōmmàńď ţō śēĺēćţ mũĺţĩƥĺē ĩţēmś. - Subject mode @@ -5231,11 +5226,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields Ƒĩēĺďś - - - ("", of type ) - ("", ōƒ ţŷƥē ) - Validation Policies @@ -8901,4 +8891,67 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage + diff --git a/web/xliff/ru.xlf b/web/xliff/ru.xlf index 0198262b9115..6bd6cdf340a1 100644 --- a/web/xliff/ru.xlf +++ b/web/xliff/ru.xlf @@ -1088,11 +1088,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. Выберите, какие области могут быть использованы клиентом. Клиент все равно должен указать область для доступа к данным. - - - Hold control/command to select multiple items. - Удерживайте клавиши control/command, чтобы выбрать несколько элементов. - Subject mode @@ -5263,14 +5258,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields Поля - - - ("", of type ) - - (" - ", типа - ) - Validation Policies @@ -9005,6 +8992,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/tr.xlf b/web/xliff/tr.xlf index 97b0184cab37..d2dbd360ec2a 100644 --- a/web/xliff/tr.xlf +++ b/web/xliff/tr.xlf @@ -826,10 +826,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. İstemci tarafından hangi kapsamların kullanılabileceğini seçin. İstemci yine de verilere erişmek için kapsamı belirtmelidir. - - Hold control/command to select multiple items. - Birden fazla öğe seçmek için control/command tuşunu basılı tut. - Subject mode Konu modu @@ -3956,13 +3952,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields Alanlar - - ("", of type ) - - (“ - ”, - türünde) - Validation Policies Doğrulama İlkeleri @@ -6748,6 +6737,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/zh-CN.xlf b/web/xliff/zh-CN.xlf index 2c2ed7c87041..ff1d23a85033 100644 --- a/web/xliff/zh-CN.xlf +++ b/web/xliff/zh-CN.xlf @@ -935,9 +935,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. - - Hold control/command to select multiple items. - Subject mode @@ -3815,9 +3812,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields - - ("", of type ) - Validation Policies @@ -5680,6 +5674,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage + diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index f8e5a614260d..b1d817a6a1dc 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -596,9 +596,9 @@ - The URL "" was not found. - 未找到 URL " - "。 + The URL "" was not found. + 未找到 URL " + "。 @@ -1030,8 +1030,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 @@ -1088,11 +1088,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. 选择客户端可以使用哪些作用域。客户端仍然需要指定访问数据的范围。 - - - Hold control/command to select multiple items. - 按住 ctrl/command 键可选择多个项目。 - Subject mode @@ -1757,8 +1752,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 @@ -2926,8 +2921,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' @@ -3673,8 +3668,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 + When using an external logging solution for archiving, this can be set to "minutes=5". + 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 @@ -3850,10 +3845,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? 您确定要更新 - " - " 吗? + " + " 吗? @@ -4929,7 +4924,7 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey + A "roaming" authenticator, like a YubiKey 像 YubiKey 这样的“漫游”身份验证器 @@ -5262,14 +5257,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields 字段 - - - ("", of type ) - - (" - ",类型为 - - Validation Policies @@ -5316,7 +5303,7 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. 如果设置时长大于 0,用户可以选择“保持登录”选项,这将使用户的会话延长此处设置的时间。 @@ -7744,7 +7731,7 @@ Bindings to groups/users are checked against the user of the event. 成功创建用户并添加到组 - This user will be added to the group "". + This user will be added to the group "". 此用户将会被添加到组 &quot;&quot;。 @@ -9008,7 +8995,91 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. 选择此选项时,断言将以此密钥对加密。 + + + Available Sources + 可用源 + + + Selected Sources + 已选源 + + + Successfully triggered sync. + 已成功触发同步。 + + + Sync + 同步 + + + Sync User + 同步用户 + + + Available Stages + 可用阶段 + + + Selected Stages + 已选阶段 + + + Available Fields + 可用字段 + + + Selected Fields + 已选字段 + + + Available Transports + 可用传输 + + + Selected Transports + 已选传输 + + + Expired + 已过期 + + + Expiring soon + 即将过期 + + + Unlicensed + 未许可 + + + Read Only + 只读 + + + Valid + 有效 + + + Current license status + 当前许可证状态 + + + Overall license status + 总体许可证状态 + + + Internal user usage + 内部用户用量 + + + % + % + + + External user usage + 外部用户用量 - + \ No newline at end of file diff --git a/web/xliff/zh-Hant.xlf b/web/xliff/zh-Hant.xlf index 0ff14a9dafc7..bec64ee21ee6 100644 --- a/web/xliff/zh-Hant.xlf +++ b/web/xliff/zh-Hant.xlf @@ -834,10 +834,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. 选择客户端可以使用哪些作用域。客户端仍然需要指定访问数据的范围。 - - Hold control/command to select multiple items. - 按住 ctrl/command 键可选择多个项目。 - Subject mode Subject 模式 @@ -3994,13 +3990,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields 字段 - - ("", of type ) - - (“ - ”, 类型为 - ) - Validation Policies 验证策略 @@ -6796,6 +6785,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/web/xliff/zh_CN.xlf b/web/xliff/zh_CN.xlf index 7a4f79c4ca33..d9042f17dd7e 100644 --- a/web/xliff/zh_CN.xlf +++ b/web/xliff/zh_CN.xlf @@ -1088,11 +1088,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. 选择客户端可以使用哪些作用域。客户端仍然需要指定访问数据的范围。 - - - Hold control/command to select multiple items. - 按住 ctrl/command 键可选择多个项目。 - Subject mode @@ -5262,14 +5257,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields 字段 - - - ("", of type ) - - (" - ",类型为 - - Validation Policies @@ -9008,6 +8995,90 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. 选择此选项时,断言将以此密钥对加密。 + + + Available Sources + 可用源 + + + Selected Sources + 已选源 + + + Successfully triggered sync. + 已成功触发同步。 + + + Sync + 同步 + + + Sync User + 同步用户 + + + Available Stages + 可用阶段 + + + Selected Stages + 已选阶段 + + + Available Fields + 可用字段 + + + Selected Fields + 已选字段 + + + Available Transports + 可用传输 + + + Selected Transports + 已选传输 + + + Expired + 已过期 + + + Expiring soon + 即将过期 + + + Unlicensed + 未许可 + + + Read Only + 只读 + + + Valid + 有效 + + + Current license status + 当前许可证状态 + + + Overall license status + 总体许可证状态 + + + Internal user usage + 内部用户用量 + + + % + % + + + External user usage + 外部用户用量 diff --git a/web/xliff/zh_TW.xlf b/web/xliff/zh_TW.xlf index 54b8f3c8b28a..1f2cf7085ab7 100644 --- a/web/xliff/zh_TW.xlf +++ b/web/xliff/zh_TW.xlf @@ -1077,11 +1077,6 @@ Select which scopes can be used by the client. The client still has to specify the scope to access the data. 選擇用戶端可以使用的範疇,用戶端仍然需要指定範疇才能存取資料。 - - - Hold control/command to select multiple items. - 按住 ctrl/command 鍵選擇多個項目。 - Subject mode @@ -5221,12 +5216,6 @@ doesn't pass when either or both of the selected options are equal or above the Fields 欄位 - - - ("", of type ) - - (「」,類型為 ) - Validation Policies @@ -8635,6 +8624,69 @@ Bindings to groups/users are checked against the user of the event. When selected, assertions will be encrypted using this keypair. + + + Available Sources + + + Selected Sources + + + Successfully triggered sync. + + + Sync + + + Sync User + + + Available Stages + + + Selected Stages + + + Available Fields + + + Selected Fields + + + Available Transports + + + Selected Transports + + + Expired + + + Expiring soon + + + Unlicensed + + + Read Only + + + Valid + + + Current license status + + + Overall license status + + + Internal user usage + + + % + + + External user usage diff --git a/website/docs/releases/2024/v2024.8.md b/website/docs/releases/2024/v2024.8.md index ffc410636568..8e646542096b 100644 --- a/website/docs/releases/2024/v2024.8.md +++ b/website/docs/releases/2024/v2024.8.md @@ -9,6 +9,13 @@ slug: "/releases/2024.8" To try out the release candidate, replace your Docker image tag with the latest release candidate number, such as 2024.8.0-rc1. You can find the latest one in [the latest releases on GitHub](https://github.com/goauthentik/authentik/releases). If you don't find any, it means we haven't released one yet. ::::: +## Highlights + +- **Source property mappings for SCIM, OAuth, SAML and Plex sources**: All sources now support property mappings to configure how authentik interprets the incoming source's data. Additionally, groups can be synced from all sources that provide group info. +- **RADIUS provider custom attribute support**: Integrate RADIUS better into network infrastructure by sending vendor-specific attributes based on the user authenticating. +- **SAML encryption support**: SAML source and provider support encryption now, which prevents anyone from viewing the information of Assertions in-flight. +- **RBAC support for Blueprints and Terraform**: Permissions can now be assigned and automated using both Blueprints and Terraform. + ## Breaking changes ### Manual action is required @@ -66,15 +73,21 @@ To try out the release candidate, replace your Docker image tag with the latest - **Source property mappings for SCIM, OAuth, SAML and Plex sources** + All source types now support property mappings to customize how authentik should interpret the data the source provides. In addition to that, it is also now possible to sync groups and group membership from sources that provide group information. See [Property Mappings](../../sources/property-mappings/index.md). + - **RADIUS provider custom attribute support** With 2024.8 it is possible to define custom attributes for the RADIUS provider, for example vendor specific attributes like Cisco's `AV-Pair` attribute. These attributes are defined in property mappings which means they can be dynamically defined based on the user authenticating. See [RADIUS Provider](../../providers/radius/index.mdx#radius-attributes) -- **SAML Source encryption support** +- **SAML encryption support** + +It is now possible to configure a SAML sources and providers to decrypt and validate encrypted assertions. This can be configured by creating a [Certificate-keypair](../../core/certificates.md) and selecting it in the SAML source or provider. - It is now possible to configure a SAML Source to decrypt and validate encrypted assertions. This can be configured by certaing a [Certificate-keypair](../../core/certificates.md) and selecting it in the SAML Source. +- **GeoIP Policy** -- **Removal of LDAP Provider search group** + With the new [GeoIP Policy](../../policies/index.md#geoip-policy) it is possible to grant/deny access based on Country and ASN, without having to write an expression policy. + +- **Simplification of LDAP Provider permissions** The LDAP provider now uses RBAC to assign the permission to search the full directory instead of requiring a dedicated group to be created. As part of the upgrade, existing search groups' users are migrated to grant the required permission to search the full directory. @@ -82,6 +95,14 @@ To try out the release candidate, replace your Docker image tag with the latest RBAC permissions for global/object level permissions for users/roles can now be managed via blueprints and Terraform. This allows for the automatic configuration of permissions. +- **UX Improvements** + + In previous versions of authentik, there were several places in the Admin interface where you could not select more than 100 items. With this change, it is now possible to search for items and select more than 100 items. + +- **WebFinger support** + + With the addition of the [default application](../../core/brands.md#external-user-settings) setting, when the default application uses an OIDC provider, a WebFinger endpoint is available now. + ## Upgrading This release does not introduce any new requirements. You can follow the upgrade instructions below; for more detailed information about upgrading authentik, refer to our [Upgrade documentation](../../installation/upgrade.mdx). @@ -95,7 +116,7 @@ When you upgrade, be aware that the version of the authentik instance and of any To upgrade, download the new docker-compose file and update the Docker stack with the new version, using these commands: ```shell -wget -O docker-compose.yml https://goauthentik.io/version/xxxx.x/docker-compose.yml +wget -O docker-compose.yml https://goauthentik.io/version/2024.8/docker-compose.yml docker compose up -d ``` @@ -107,13 +128,3998 @@ Upgrade the Helm Chart to the new version, using the following commands: ```shell helm repo update -helm upgrade authentik authentik/authentik -f values.yaml --version ^xxxx.x +helm upgrade authentik authentik/authentik -f values.yaml --version ^2024.8 ``` ## Minor changes/fixes - +- api: use custom json renderer for speed (#9977) +- blueprints: handle model referencing non-existent app/model (#10796) +- brands: add OIDC webfinger support (#10400) +- core: add index on enabled field of sources (#10572) +- core: add primitives for source property mappings (#10651) +- core: b2c improvements p1 (#9257) +- core: fix error when raising SkipObject in mapping (#10153) +- core: fix migrations missing using db_alias (#10409) +- core: fix source flow_manager not resuming flow when linking (#10436) +- core: fix URLValidator regex to allow single digit port (#10280) +- core: remove deprecated sentry-sdk method usage (#10648) +- core: remove html language tag for pages that are translated (#10611) +- core: remove transitionary old JS urls (#10317) +- core: rework base for SkipObject exception to better support control flow exceptions (#10186) +- enterprise: add support for license flags (#10842) +- enterprise: UI improvements, better handling of expiry (#10828) +- enterprise/rac: fix error when listing connection tokens as non-superuser (#10771) +- events: associate login_failed events to a user if possible (#10270) +- events: fix race condition (#10602) +- flows: remove stage challenge type (#10476) +- internal: Use loop instead of recursion in NewAPIController (#10745) +- lib/sync: handle SkipObject in direct triggered tasks (#10590) +- lifecycle: only create tenant media root if needed (#10616) +- outposts: add better UI for showing mismatched versions (#10885) +- outposts: ensure minimum refresh interval (#10701) +- outposts: implement general paginator for list API requests (#10619) +- outposts: make refresh interval configurable (#10138) +- policies: add GeoIP policy (#10454) +- policies/reputation: fix existing reputation update (#10124) +- providers: add provider/ prefix for property mappings API (#10874) +- providers/ldap: fix missing using in migrations (#10906) +- providers/ldap: Remove search group (#10639) +- providers/proxy: avoid erroring on logout with session_id is None (#9119) +- providers/proxy: fix Traefik label generation for v3 (#10411) +- providers/radius: Add support for custom attributes (#10509) +- providers/radius: fix custom attribute (#10704) +- providers/radius: property mapping docs (#10908) +- providers/saml: encryption support (#10934) +- providers/saml: fix incorrect migration for sign_response (#10975) +- providers/saml: fix metadata import error handling (#10349) +- providers/saml: remove redundant ACSUrl in POST (#10707) +- providers/scim: Fix exception handling for missing ServiceProviderConfig (#10322) +- rbac: generate blueprint schema permissions from defined models not DB (#10962) +- rbac: rework API for terraform, add blueprint support (#10698) +- root: allow extra sentry settings (#10269) +- root: dependency maintenance (#10689) +- root: Make health checks compatible with cloud platform load balancers (#10554) +- root: make pyrad a standard dependency (#10649) +- root: makefile: add codespell to make-website (#10116) +- root: only load daphne django app in development (#10723) +- root: use custom model serializer that saves m2m without bulk (#10139) +- sources: add property mappings for all oauth and saml sources (#8771) +- sources: introduce new property mappings per user and group (#8750) +- sources: refactor user connection api (#10607) +- sources/ldap: Add enabled filter for ldap_password_validate signal (#10823) +- sources/ldap: fix migrations failing (#10588) +- sources/ldap: rename ldappropertymapping to ldapsourcepropertymapping (#10606) +- sources/oauth: fix link not being saved (#10374) +- sources/plex: add property mappings (#10772) +- sources/saml: Basic support for EncryptedAssertion element. (#10099) +- sources/saml: fix pickle error, add saml auth tests (#10348) +- sources/scim: add property mappings (#10650) +- sources/scim: fix duplicate service account users and changing token (#10735) +- sources/scim: fix schema loading with pwd is not set properly (#10574) +- stages/authenticator_validate: fix friendly_name being required (#10382) +- stages/authenticator: actually update last_used (#10813) +- stages/authenticator: add created, last_updated and last_used metadata (#10636) +- stages/prompt: fix prompt not editable with invalid expression (#10603) +- stages/user_login: fix ?next parameter not carried through broken session binding (#10301) +- web: disable reading dark mode out of the UI by default (#10256) +- web: enable custom-element-manifest and DOM/JS integration checking. (#10177) +- web: enhance search select with portal, overflow, and keyboard controls (#9517) +- web: fix bad name target that's breaking build (#10506) +- web: fix dark theme and theme switch (#10667) +- web: fix docker build for non-release versions (#10154) +- web: fix early modal stack depletion (#10068) +- web: fix mismatched button labels for boundpolicy and boundstage list (#10551) +- web: fix needed because recent upgrade to task breaks spinner button (#10142) +- web: fix theme not applying to document correctly (#10721) +- web: fixed missed internationalized strings (#10323) +- web: licenseStatus is not defined on initial render (#10894) +- web: provide 'show password' button (#10337) +- web: provide a test framework (#9681) +- web: provide better feedback on Application Library page about search results (#9386) +- web: provide default endpoint api configuration (#10319) +- web: replace all occurrences of the theme placeholder (#10749) +- web: replace multi-select with dual-select for all propertyMapping invocations (#9359) +- web: restore hasLaunchUrl to client-side criteria for filtering apps (#10291) +- web: search select with focus, autocomplete, and progressive search (#10728) +- web: set noopener and noreferrer on all external links (#10304) +- web/admin: fix access token list calling wrong API (#10434) +- web/admin: fix authentication/enrollment flow in sources being marked as required (#10911) +- web/admin: fix missing SAML Provider ECDSA options (#10612) +- web/admin: fix selectable card colour in dark theme (#10794) +- web/admin: refactor property mappings forms (#10810) +- web/admin: show matching user reputation scores in user details (#10276) +- web/admin: widen prompt form (#10615) +- web/elements: fix empty enterprise banner (#10882) +- web/flows: clean up loading, syntax and transitions (#10792) +- web/flows: don't grab focus for password input on identification stage (#10593) +- web/flows: remove background image link (#10318) +- web/flows: remove continue button from AutoSubmit stage (#10253) +- web/flows: Simplified flow executor (#10296) ## API Changes - +#### What's New + +--- + +##### `GET` /outposts/ldap/{id}/check_access/ + +##### `GET` /outposts/radius/{id}/check_access/ + +##### `GET` /policies/geoip/ + +##### `POST` /policies/geoip/ + +##### `GET` /policies/geoip/{policy_uuid}/ + +##### `PUT` /policies/geoip/{policy_uuid}/ + +##### `DELETE` /policies/geoip/{policy_uuid}/ + +##### `PATCH` /policies/geoip/{policy_uuid}/ + +##### `GET` /policies/geoip/{policy_uuid}/used_by/ + +##### `GET` /policies/geoip_iso3166/ + +##### `GET` /propertymappings/provider/rac/ + +##### `POST` /propertymappings/provider/rac/ + +##### `GET` /propertymappings/provider/rac/{pm_uuid}/ + +##### `PUT` /propertymappings/provider/rac/{pm_uuid}/ + +##### `DELETE` /propertymappings/provider/rac/{pm_uuid}/ + +##### `PATCH` /propertymappings/provider/rac/{pm_uuid}/ + +##### `GET` /propertymappings/provider/rac/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/provider/radius/ + +##### `POST` /propertymappings/provider/radius/ + +##### `GET` /propertymappings/provider/radius/{pm_uuid}/ + +##### `PUT` /propertymappings/provider/radius/{pm_uuid}/ + +##### `DELETE` /propertymappings/provider/radius/{pm_uuid}/ + +##### `PATCH` /propertymappings/provider/radius/{pm_uuid}/ + +##### `GET` /propertymappings/provider/radius/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/provider/saml/ + +##### `POST` /propertymappings/provider/saml/ + +##### `GET` /propertymappings/provider/saml/{pm_uuid}/ + +##### `PUT` /propertymappings/provider/saml/{pm_uuid}/ + +##### `DELETE` /propertymappings/provider/saml/{pm_uuid}/ + +##### `PATCH` /propertymappings/provider/saml/{pm_uuid}/ + +##### `GET` /propertymappings/provider/saml/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/provider/scim/ + +##### `POST` /propertymappings/provider/scim/ + +##### `GET` /propertymappings/provider/scim/{pm_uuid}/ + +##### `PUT` /propertymappings/provider/scim/{pm_uuid}/ + +##### `DELETE` /propertymappings/provider/scim/{pm_uuid}/ + +##### `PATCH` /propertymappings/provider/scim/{pm_uuid}/ + +##### `GET` /propertymappings/provider/scim/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/provider/scope/ + +##### `POST` /propertymappings/provider/scope/ + +##### `GET` /propertymappings/provider/scope/{pm_uuid}/ + +##### `PUT` /propertymappings/provider/scope/{pm_uuid}/ + +##### `DELETE` /propertymappings/provider/scope/{pm_uuid}/ + +##### `PATCH` /propertymappings/provider/scope/{pm_uuid}/ + +##### `GET` /propertymappings/provider/scope/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/source/ldap/ + +##### `POST` /propertymappings/source/ldap/ + +##### `GET` /propertymappings/source/ldap/{pm_uuid}/ + +##### `PUT` /propertymappings/source/ldap/{pm_uuid}/ + +##### `DELETE` /propertymappings/source/ldap/{pm_uuid}/ + +##### `PATCH` /propertymappings/source/ldap/{pm_uuid}/ + +##### `GET` /propertymappings/source/ldap/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/source/oauth/ + +##### `POST` /propertymappings/source/oauth/ + +##### `GET` /propertymappings/source/oauth/{pm_uuid}/ + +##### `PUT` /propertymappings/source/oauth/{pm_uuid}/ + +##### `DELETE` /propertymappings/source/oauth/{pm_uuid}/ + +##### `PATCH` /propertymappings/source/oauth/{pm_uuid}/ + +##### `GET` /propertymappings/source/oauth/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/source/plex/ + +##### `POST` /propertymappings/source/plex/ + +##### `GET` /propertymappings/source/plex/{pm_uuid}/ + +##### `PUT` /propertymappings/source/plex/{pm_uuid}/ + +##### `DELETE` /propertymappings/source/plex/{pm_uuid}/ + +##### `PATCH` /propertymappings/source/plex/{pm_uuid}/ + +##### `GET` /propertymappings/source/plex/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/source/saml/ + +##### `POST` /propertymappings/source/saml/ + +##### `GET` /propertymappings/source/saml/{pm_uuid}/ + +##### `PUT` /propertymappings/source/saml/{pm_uuid}/ + +##### `DELETE` /propertymappings/source/saml/{pm_uuid}/ + +##### `PATCH` /propertymappings/source/saml/{pm_uuid}/ + +##### `GET` /propertymappings/source/saml/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/source/scim/ + +##### `POST` /propertymappings/source/scim/ + +##### `GET` /propertymappings/source/scim/{pm_uuid}/ + +##### `PUT` /propertymappings/source/scim/{pm_uuid}/ + +##### `DELETE` /propertymappings/source/scim/{pm_uuid}/ + +##### `PATCH` /propertymappings/source/scim/{pm_uuid}/ + +##### `GET` /propertymappings/source/scim/{pm_uuid}/used_by/ + +##### `GET` /rbac/permissions/roles/{id}/ + +##### `PUT` /rbac/permissions/roles/{id}/ + +##### `DELETE` /rbac/permissions/roles/{id}/ + +##### `PATCH` /rbac/permissions/roles/{id}/ + +##### `GET` /rbac/permissions/users/{id}/ + +##### `PUT` /rbac/permissions/users/{id}/ + +##### `DELETE` /rbac/permissions/users/{id}/ + +##### `PATCH` /rbac/permissions/users/{id}/ + +##### `GET` /sources/group_connections/oauth/ + +##### `POST` /sources/group_connections/oauth/ + +##### `GET` /sources/group_connections/oauth/{id}/ + +##### `PUT` /sources/group_connections/oauth/{id}/ + +##### `DELETE` /sources/group_connections/oauth/{id}/ + +##### `PATCH` /sources/group_connections/oauth/{id}/ + +##### `GET` /sources/group_connections/oauth/{id}/used_by/ + +##### `GET` /sources/group_connections/plex/ + +##### `POST` /sources/group_connections/plex/ + +##### `GET` /sources/group_connections/plex/{id}/ + +##### `PUT` /sources/group_connections/plex/{id}/ + +##### `DELETE` /sources/group_connections/plex/{id}/ + +##### `PATCH` /sources/group_connections/plex/{id}/ + +##### `GET` /sources/group_connections/plex/{id}/used_by/ + +##### `GET` /sources/group_connections/saml/ + +##### `GET` /sources/group_connections/saml/{id}/ + +##### `PUT` /sources/group_connections/saml/{id}/ + +##### `DELETE` /sources/group_connections/saml/{id}/ + +##### `PATCH` /sources/group_connections/saml/{id}/ + +##### `GET` /sources/group_connections/saml/{id}/used_by/ + +#### What's Deleted + +--- + +##### `GET` /outposts/ldap/{id}/ + +##### `GET` /outposts/proxy/{id}/ + +##### `GET` /outposts/radius/{id}/ + +##### `GET` /propertymappings/ldap/ + +##### `POST` /propertymappings/ldap/ + +##### `GET` /propertymappings/ldap/{pm_uuid}/ + +##### `PUT` /propertymappings/ldap/{pm_uuid}/ + +##### `DELETE` /propertymappings/ldap/{pm_uuid}/ + +##### `PATCH` /propertymappings/ldap/{pm_uuid}/ + +##### `GET` /propertymappings/ldap/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/rac/ + +##### `POST` /propertymappings/rac/ + +##### `GET` /propertymappings/rac/{pm_uuid}/ + +##### `PUT` /propertymappings/rac/{pm_uuid}/ + +##### `DELETE` /propertymappings/rac/{pm_uuid}/ + +##### `PATCH` /propertymappings/rac/{pm_uuid}/ + +##### `GET` /propertymappings/rac/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/saml/ + +##### `POST` /propertymappings/saml/ + +##### `GET` /propertymappings/saml/{pm_uuid}/ + +##### `PUT` /propertymappings/saml/{pm_uuid}/ + +##### `DELETE` /propertymappings/saml/{pm_uuid}/ + +##### `PATCH` /propertymappings/saml/{pm_uuid}/ + +##### `GET` /propertymappings/saml/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/scim/ + +##### `POST` /propertymappings/scim/ + +##### `GET` /propertymappings/scim/{pm_uuid}/ + +##### `PUT` /propertymappings/scim/{pm_uuid}/ + +##### `DELETE` /propertymappings/scim/{pm_uuid}/ + +##### `PATCH` /propertymappings/scim/{pm_uuid}/ + +##### `GET` /propertymappings/scim/{pm_uuid}/used_by/ + +##### `GET` /propertymappings/scope/ + +##### `POST` /propertymappings/scope/ + +##### `GET` /propertymappings/scope/{pm_uuid}/ + +##### `PUT` /propertymappings/scope/{pm_uuid}/ + +##### `DELETE` /propertymappings/scope/{pm_uuid}/ + +##### `PATCH` /propertymappings/scope/{pm_uuid}/ + +##### `GET` /propertymappings/scope/{pm_uuid}/used_by/ + +#### What's Changed + +--- + +##### `GET` /admin/version/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `outpost_outdated` + + * Added property `outpost_outdated` (boolean) + > Check if any outpost is outdated/has a version mismatch + +##### `GET` /authenticators/admin/all/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + Changed items (object): > Serializer for Duo authenticator devices + + New required properties: + + - `created` + - `last_updated` + - `last_used` + + * Added property `created` (string) + + * Added property `last_updated` (string) + + * Added property `last_used` (string) + +##### `GET` /authenticators/all/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + Changed items (object): > Serializer for Duo authenticator devices + + New required properties: + + - `created` + - `last_updated` + - `last_used` + + * Added property `created` (string) + + * Added property `last_updated` (string) + + * Added property `last_used` (string) + +##### `GET` /core/brands/{brand_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `default_application` (string) + > When set, external users will be redirected to this application after authenticating. + +##### `PUT` /core/brands/{brand_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `default_application` (string) + > When set, external users will be redirected to this application after authenticating. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `default_application` (string) + > When set, external users will be redirected to this application after authenticating. + +##### `PATCH` /core/brands/{brand_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `default_application` (string) + > When set, external users will be redirected to this application after authenticating. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `default_application` (string) + > When set, external users will be redirected to this application after authenticating. + +##### `GET` /enterprise/license/summary/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `license_flags` + - `status` + + New optional properties: + + - `has_license` + - `read_only` + - `show_admin_warning` + - `show_user_warning` + - `valid` + + * Added property `status` (string) + + Enum values: + + - `unlicensed` + - `valid` + - `expired` + - `expiry_soon` + - `limit_exceeded_admin` + - `limit_exceeded_user` + - `read_only` + + * Added property `license_flags` (array) + + Items (string): + + Enum values: + + - `trial` + - `non_production` + + * Deleted property `valid` (boolean) + + * Deleted property `show_admin_warning` (boolean) + + * Deleted property `show_user_warning` (boolean) + + * Deleted property `read_only` (boolean) + + * Deleted property `has_license` (boolean) + +##### `GET` /policies/event_matcher/{policy_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `app` (string) + + > Match events created by selected application. When left empty, all applications are matched. + + Added enum value: + + - `authentik.policies.geoip` + + - Changed property `model` (string) + + > Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +##### `PUT` /policies/event_matcher/{policy_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `app` (string) + + > Match events created by selected application. When left empty, all applications are matched. + + Added enum value: + + - `authentik.policies.geoip` + +- Changed property `model` (string) + + > Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `app` (string) + + > Match events created by selected application. When left empty, all applications are matched. + + Added enum value: + + - `authentik.policies.geoip` + + - Changed property `model` (string) + + > Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +##### `PATCH` /policies/event_matcher/{policy_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `app` (string) + + > Match events created by selected application. When left empty, all applications are matched. + + Added enum value: + + - `authentik.policies.geoip` + +- Changed property `model` (string) + + > Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `app` (string) + + > Match events created by selected application. When left empty, all applications are matched. + + Added enum value: + + - `authentik.policies.geoip` + + - Changed property `model` (string) + + > Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +##### `GET` /providers/google_workspace_groups/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /providers/microsoft_entra_groups/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /providers/scim_groups/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /sources/scim_groups/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PUT` /sources/scim_groups/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PATCH` /sources/scim_groups/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `POST` /core/brands/ + +###### Request: + +Changed content type : `application/json` + +- Added property `default_application` (string) + > When set, external users will be redirected to this application after authenticating. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Added property `default_application` (string) + > When set, external users will be redirected to this application after authenticating. + +##### `GET` /core/brands/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Brand Serializer + + - Added property `default_application` (string) + > When set, external users will be redirected to this application after authenticating. + +##### `GET` /core/groups/{group_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `name` (string) + +##### `PUT` /core/groups/{group_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `name` (string) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `name` (string) + +##### `PATCH` /core/groups/{group_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `name` (string) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `name` (string) + +##### `GET` /core/tokens/{identifier}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PUT` /core/tokens/{identifier}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PATCH` /core/tokens/{identifier}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /core/users/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PUT` /core/users/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PATCH` /core/users/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /events/rules/{pbm_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + +##### `PUT` /events/rules/{pbm_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + +##### `PATCH` /events/rules/{pbm_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + +##### `GET` /policies/bindings/{policy_binding_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PUT` /policies/bindings/{policy_binding_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PATCH` /policies/bindings/{policy_binding_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `POST` /policies/event_matcher/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `app` (string) + + > Match events created by selected application. When left empty, all applications are matched. + + Added enum value: + + - `authentik.policies.geoip` + +- Changed property `model` (string) + + > Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `app` (string) + + > Match events created by selected application. When left empty, all applications are matched. + + Added enum value: + + - `authentik.policies.geoip` + + - Changed property `model` (string) + + > Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +##### `GET` /policies/event_matcher/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Event Matcher Policy Serializer + + - Changed property `app` (string) + + > Match events created by selected application. When left empty, all applications are matched. + + Added enum value: + + - `authentik.policies.geoip` + + - Changed property `model` (string) + + > Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched. + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +##### `GET` /propertymappings/all/ + +###### Parameters: + +Added: `managed` in `query` + +Added: `name` in `query` + +##### `POST` /providers/google_workspace_groups/ + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /providers/google_workspace_groups/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > GoogleWorkspaceProviderGroup Serializer + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /providers/ldap/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +##### `PUT` /providers/ldap/{id}/ + +###### Request: + +Changed content type : `application/json` + +- Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +##### `PATCH` /providers/ldap/{id}/ + +###### Request: + +Changed content type : `application/json` + +- Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +##### `POST` /providers/microsoft_entra_groups/ + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /providers/microsoft_entra_groups/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > MicrosoftEntraProviderGroup Serializer + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /providers/saml/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + + - Added property `sign_assertion` (boolean) + + - Added property `sign_response` (boolean) + +##### `PUT` /providers/saml/{id}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +- Added property `sign_assertion` (boolean) + +- Added property `sign_response` (boolean) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + + - Added property `sign_assertion` (boolean) + + - Added property `sign_response` (boolean) + +##### `PATCH` /providers/saml/{id}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +- Added property `sign_assertion` (boolean) + +- Added property `sign_response` (boolean) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + + - Added property `sign_assertion` (boolean) + + - Added property `sign_response` (boolean) + +##### `POST` /providers/scim_groups/ + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /providers/scim_groups/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > SCIMProviderGroup Serializer + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `POST` /rbac/permissions/assigned_by_roles/{uuid}/assign/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `model` (string) + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +###### Return Type: + +New response : **200 OK** +Deleted response : **204 No Content** + +> Successfully assigned + +##### `PATCH` /rbac/permissions/assigned_by_roles/{uuid}/unassign/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `model` (string) + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +##### `POST` /rbac/permissions/assigned_by_users/{id}/assign/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `model` (string) + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +###### Return Type: + +New response : **200 OK** +Deleted response : **204 No Content** + +> Successfully assigned + +##### `PATCH` /rbac/permissions/assigned_by_users/{id}/unassign/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `model` (string) + + Added enum values: + + - `authentik_policies_geoip.geoippolicy` + - `authentik_providers_radius.radiusproviderpropertymapping` + - `authentik_sources_ldap.ldapsourcepropertymapping` + - `authentik_sources_oauth.oauthsourcepropertymapping` + - `authentik_sources_oauth.groupoauthsourceconnection` + - `authentik_sources_plex.plexsourcepropertymapping` + - `authentik_sources_plex.userplexsourceconnection` + - `authentik_sources_plex.groupplexsourceconnection` + - `authentik_sources_saml.samlsourcepropertymapping` + - `authentik_sources_saml.groupsamlsourceconnection` + - `authentik_sources_scim.scimsourcepropertymapping` + Removed enum values: + + - `authentik_sources_ldap.ldappropertymapping` + - `authentik_sources_plex.plexsourceconnection` + +##### `GET` /rbac/permissions/roles/ + +###### Parameters: + +Changed: `uuid` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > User permission with additional object-related data + + - Changed property `object_pk` (string) + +##### `GET` /rbac/permissions/users/ + +###### Parameters: + +Changed: `user_id` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > User permission with additional object-related data + + - Changed property `object_pk` (string) + +##### `GET` /sources/all/{slug}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + Items (string): + + - Added property `group_property_mappings` (array) + +##### `GET` /sources/ldap/{slug}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `property_mappings` (array) + + - Deleted property `property_mappings_group` (array) + > Property mappings used for group creation/updating. + +##### `PUT` /sources/ldap/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Deleted property `property_mappings` (array) + +- Deleted property `property_mappings_group` (array) + > Property mappings used for group creation/updating. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `property_mappings` (array) + + - Deleted property `property_mappings_group` (array) + > Property mappings used for group creation/updating. + +##### `PATCH` /sources/ldap/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Deleted property `property_mappings` (array) + +- Deleted property `property_mappings_group` (array) + > Property mappings used for group creation/updating. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `property_mappings` (array) + + - Deleted property `property_mappings_group` (array) + > Property mappings used for group creation/updating. + +##### `GET` /sources/oauth/{slug}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + + Enum values: + + - `identifier` + - `name_link` + - `name_deny` + +##### `PUT` /sources/oauth/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `PATCH` /sources/oauth/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `GET` /sources/plex/{slug}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `PUT` /sources/plex/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `PATCH` /sources/plex/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `GET` /sources/saml/{slug}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + + - Added property `encryption_kp` (string) + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +##### `PUT` /sources/saml/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + +- Added property `encryption_kp` (string) + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + + - Added property `encryption_kp` (string) + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +##### `PATCH` /sources/saml/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + +- Added property `encryption_kp` (string) + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + + - Added property `encryption_kp` (string) + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +##### `GET` /sources/scim/{slug}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `user_matching_mode` (object) + + > How the source determines if an existing user should be authenticated or a new user enrolled. + + - Changed property `token_obj` (object) + + > Token Serializer + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PUT` /sources/scim/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Deleted property `user_matching_mode` (object) + > How the source determines if an existing user should be authenticated or a new user enrolled. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `user_matching_mode` (object) + + > How the source determines if an existing user should be authenticated or a new user enrolled. + + - Changed property `token_obj` (object) + + > Token Serializer + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `PATCH` /sources/scim/{slug}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Deleted property `user_matching_mode` (object) + > How the source determines if an existing user should be authenticated or a new user enrolled. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `user_matching_mode` (object) + + > How the source determines if an existing user should be authenticated or a new user enrolled. + + - Changed property `token_obj` (object) + + > Token Serializer + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `POST` /sources/scim_groups/ + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /sources/scim_groups/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > SCIMSourceGroup Serializer + + - Changed property `group_obj` (object) + + > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /sources/user_connections/all/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `PUT` /sources/user_connections/all/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `PATCH` /sources/user_connections/all/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `GET` /sources/user_connections/oauth/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `PUT` /sources/user_connections/oauth/{id}/ + +###### Request: + +Changed content type : `application/json` + +New optional properties: + +- `user` + +* Deleted property `user` (integer) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `PATCH` /sources/user_connections/oauth/{id}/ + +###### Request: + +Changed content type : `application/json` + +- Deleted property `user` (integer) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `GET` /sources/user_connections/plex/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + New optional properties: + + - `plex_token` + + * Added property `created` (string) + + * Deleted property `plex_token` (string) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `PUT` /sources/user_connections/plex/{id}/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `plex_token` (string) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + New optional properties: + + - `plex_token` + + * Added property `created` (string) + + * Deleted property `plex_token` (string) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `PATCH` /sources/user_connections/plex/{id}/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `plex_token` (string) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + New optional properties: + + - `plex_token` + + * Added property `created` (string) + + * Deleted property `plex_token` (string) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `GET` /sources/user_connections/saml/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `PUT` /sources/user_connections/saml/{id}/ + +###### Request: + +Changed content type : `application/json` + +New optional properties: + +- `user` + +* Deleted property `user` (integer) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `PATCH` /sources/user_connections/saml/{id}/ + +###### Request: + +Changed content type : `application/json` + +- Deleted property `user` (integer) + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `GET` /core/applications/ + +###### Parameters: + +Added: `only_with_launch_url` in `query` + +##### `POST` /core/groups/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `name` (string) + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `name` (string) + +##### `GET` /core/groups/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Group Serializer + + - Changed property `name` (string) + +##### `POST` /core/tokens/ + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /core/tokens/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Token Serializer + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /core/user_consent/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `user` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `POST` /core/users/ + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /core/users/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `POST` /events/rules/ + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + +##### `GET` /events/rules/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > NotificationRule Serializer + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + +##### `GET` /oauth2/access_tokens/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `user` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /oauth2/authorization_codes/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `user` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /oauth2/refresh_tokens/{id}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `user` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /outposts/ldap/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > LDAPProvider Serializer + + - Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +##### `POST` /policies/bindings/ + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /policies/bindings/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > PolicyBinding Serializer + + - Changed property `group_obj` (object) + + > Group Serializer + + - Changed property `name` (string) + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `POST` /providers/ldap/ + +###### Request: + +Changed content type : `application/json` + +- Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +##### `GET` /providers/ldap/ + +###### Parameters: + +Deleted: `search_group__group_uuid__iexact` in `query` + +Deleted: `search_group__name__iexact` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > LDAPProvider Serializer + + - Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +##### `POST` /providers/saml/ + +###### Request: + +Changed content type : `application/json` + +- Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +- Added property `sign_assertion` (boolean) + +- Added property `sign_response` (boolean) + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + + - Added property `sign_assertion` (boolean) + + - Added property `sign_response` (boolean) + +##### `GET` /providers/saml/ + +###### Parameters: + +Added: `encryption_kp` in `query` + +Added: `sign_assertion` in `query` + +Added: `sign_response` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > SAMLProvider Serializer + + - Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + + - Added property `sign_assertion` (boolean) + + - Added property `sign_response` (boolean) + +##### `GET` /rbac/permissions/assigned_by_roles/ + +###### Parameters: + +Changed: `model` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Roles assigned object permission serializer + + - Changed property `permissions` (array) + + Changed items (object): > Role-bound object level permission + + - Changed property `object_pk` (string) + +##### `GET` /rbac/permissions/assigned_by_users/ + +###### Parameters: + +Changed: `model` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Users assigned object permission serializer + + - Changed property `permissions` (array) + + Changed items (object): > User-bound object level permission + + - Changed property `object_pk` (string) + +##### `GET` /sources/all/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `POST` /sources/ldap/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Deleted property `property_mappings` (array) + +- Deleted property `property_mappings_group` (array) + > Property mappings used for group creation/updating. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `property_mappings` (array) + + - Deleted property `property_mappings_group` (array) + > Property mappings used for group creation/updating. + +##### `GET` /sources/ldap/ + +###### Parameters: + +Added: `group_property_mappings` in `query` + +Added: `user_property_mappings` in `query` + +Deleted: `property_mappings` in `query` + +Deleted: `property_mappings_group` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > LDAP Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `property_mappings` (array) + + - Deleted property `property_mappings_group` (array) + > Property mappings used for group creation/updating. + +##### `POST` /sources/oauth/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `GET` /sources/oauth/ + +###### Parameters: + +Added: `group_matching_mode` in `query` + +> How the source determines if an existing group should be used or a new group created. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > OAuth Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `POST` /sources/plex/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `GET` /sources/plex/ + +###### Parameters: + +Added: `group_matching_mode` in `query` + +> How the source determines if an existing group should be used or a new group created. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Plex Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + > How the source determines if an existing group should be used or a new group created. + +##### `POST` /sources/plex/redeem_token/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New optional properties: + + - `type` + + * Deleted property `type` (object) + +##### `POST` /sources/saml/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + +- Added property `encryption_kp` (string) + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + + - Added property `encryption_kp` (string) + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +##### `GET` /sources/saml/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > SAMLSource Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Added property `group_matching_mode` (object) + + > How the source determines if an existing group should be used or a new group created. + + - Added property `encryption_kp` (string) + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + +##### `POST` /sources/scim/ + +###### Request: + +Changed content type : `application/json` + +- Added property `user_property_mappings` (array) + +- Added property `group_property_mappings` (array) + +- Deleted property `user_matching_mode` (object) + > How the source determines if an existing user should be authenticated or a new user enrolled. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `user_matching_mode` (object) + + > How the source determines if an existing user should be authenticated or a new user enrolled. + + - Changed property `token_obj` (object) + + > Token Serializer + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /sources/scim/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > SCIMSource Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + + - Deleted property `user_matching_mode` (object) + + > How the source determines if an existing user should be authenticated or a new user enrolled. + + - Changed property `token_obj` (object) + + > Token Serializer + + - Changed property `user_obj` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /sources/user_connections/all/ + +###### Parameters: + +Added: `source__slug` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > OAuth Source Serializer + + - Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `POST` /sources/user_connections/oauth/ + +###### Request: + +Changed content type : `application/json` + +New optional properties: + +- `user` + +* Deleted property `user` (integer) + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `GET` /sources/user_connections/oauth/ + +###### Parameters: + +Added: `user` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > OAuth Source Serializer + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `POST` /sources/user_connections/plex/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `plex_token` (string) + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + New optional properties: + + - `plex_token` + + * Added property `created` (string) + + * Deleted property `plex_token` (string) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `GET` /sources/user_connections/plex/ + +###### Parameters: + +Added: `user` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Plex Source connection Serializer + + New required properties: + + - `created` + + New optional properties: + + - `plex_token` + + * Added property `created` (string) + + * Deleted property `plex_token` (string) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `POST` /sources/user_connections/saml/ + +###### Request: + +Changed content type : `application/json` + +New optional properties: + +- `user` + +* Deleted property `user` (integer) + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `GET` /sources/user_connections/saml/ + +###### Parameters: + +Added: `user` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > SAML Source Serializer + + New required properties: + + - `created` + + * Added property `created` (string) + + * Changed property `user` (integer) + + * Changed property `source` (object) + + > Source Serializer + + - Added property `user_property_mappings` (array) + + - Added property `group_property_mappings` (array) + +##### `GET` /stages/identification/{stage_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `password_stage` (string) + > When set, shows a password field, instead of showing the password field as separate step. + +##### `PUT` /stages/identification/{stage_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `password_stage` (string) + > When set, shows a password field, instead of showing the password field as separate step. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `password_stage` (string) + > When set, shows a password field, instead of showing the password field as separate step. + +##### `PATCH` /stages/identification/{stage_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `password_stage` (string) + > When set, shows a password field, instead of showing the password field as separate step. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `password_stage` (string) + > When set, shows a password field, instead of showing the password field as separate step. + +##### `GET` /stages/password/{stage_uuid}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `allow_show_password` (boolean) + > When enabled, provides a 'show password' button with the password input field. + +##### `PUT` /stages/password/{stage_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `allow_show_password` (boolean) + > When enabled, provides a 'show password' button with the password input field. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `allow_show_password` (boolean) + > When enabled, provides a 'show password' button with the password input field. + +##### `PATCH` /stages/password/{stage_uuid}/ + +###### Request: + +Changed content type : `application/json` + +- Added property `allow_show_password` (boolean) + > When enabled, provides a 'show password' button with the password input field. + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Added property `allow_show_password` (boolean) + > When enabled, provides a 'show password' button with the password input field. + +##### `PUT` /core/transactional/applications/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `provider` (object) + + Updated `authentik_providers_saml.samlprovider` provider_model: + + - Added property `encryption_kp` (string) + + > When selected, incoming assertions are encrypted by the IdP using the public key of the encryption keypair. The assertion is decrypted by the SP using the the private key. + + - Added property `sign_assertion` (boolean) + + - Added property `sign_response` (boolean) + + Updated `authentik_providers_ldap.ldapprovider` provider_model: + + - Deleted property `search_group` (string) + > Users in this group can do search queries. If not set, every user can execute search queries. + +##### `GET` /core/user_consent/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > UserConsent Serializer + + - Changed property `user` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /flows/executor/{flow_slug}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + Updated `ak-stage-flow-error` component: + + - Deleted property `type` (string) + + Updated `ak-stage-authenticator-totp` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-captcha` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-source-oauth-apple` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-user-login` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-access-denied` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-source-plex` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-duo` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-password` component: + New optional properties: + + - `type` + + * Added property `allow_show_password` (boolean) + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-static` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-autosubmit` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `xak-flow-shell` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-provider-oauth2-device-code-finish` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-sms` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-email` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-webauthn` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `xak-flow-redirect` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-dummy` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-validate` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-consent` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-provider-oauth2-device-code` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-prompt` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-identification` component: + New optional properties: + + - `type` + + * Added property `allow_show_password` (boolean) + + * Deleted property `type` (object) + +##### `POST` /flows/executor/{flow_slug}/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + Updated `ak-stage-flow-error` component: + + - Deleted property `type` (string) + + Updated `ak-stage-authenticator-totp` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-captcha` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-source-oauth-apple` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-user-login` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-access-denied` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-source-plex` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-duo` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-password` component: + New optional properties: + + - `type` + + * Added property `allow_show_password` (boolean) + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-static` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-autosubmit` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `xak-flow-shell` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-provider-oauth2-device-code-finish` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-sms` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-email` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-webauthn` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `xak-flow-redirect` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-dummy` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-authenticator-validate` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-consent` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-provider-oauth2-device-code` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-prompt` component: + New optional properties: + + - `type` + + * Deleted property `type` (object) + + Updated `ak-stage-identification` component: + New optional properties: + + - `type` + + * Added property `allow_show_password` (boolean) + + * Deleted property `type` (object) + +##### `GET` /oauth2/access_tokens/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Serializer for BaseGrantModel and RefreshToken + + - Changed property `user` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /oauth2/authorization_codes/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Serializer for BaseGrantModel and ExpiringBaseGrant + + - Changed property `user` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `GET` /oauth2/refresh_tokens/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > Serializer for BaseGrantModel and RefreshToken + + - Changed property `user` (object) + + > User Serializer + + - Changed property `groups_obj` (array) + + Changed items (object): > Simplified Group Serializer for user's groups + + - Changed property `name` (string) + +##### `POST` /stages/identification/ + +###### Request: + +Changed content type : `application/json` + +- Changed property `password_stage` (string) + > When set, shows a password field, instead of showing the password field as separate step. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Changed property `password_stage` (string) + > When set, shows a password field, instead of showing the password field as separate step. + +##### `GET` /stages/identification/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > IdentificationStage Serializer + + - Changed property `password_stage` (string) + > When set, shows a password field, instead of showing the password field as separate step. + +##### `POST` /stages/password/ + +###### Request: + +Changed content type : `application/json` + +- Added property `allow_show_password` (boolean) + > When enabled, provides a 'show password' button with the password input field. + +###### Return Type: + +Changed response : **201 Created** + +- Changed content type : `application/json` + + - Added property `allow_show_password` (boolean) + > When enabled, provides a 'show password' button with the password input field. + +##### `GET` /stages/password/ + +###### Parameters: + +Added: `allow_show_password` in `query` + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + - Changed property `results` (array) + + Changed items (object): > PasswordStage Serializer + + - Added property `allow_show_password` (boolean) + > When enabled, provides a 'show password' button with the password input field. + +##### `POST` /stages/prompt/prompts/preview/ + +###### Return Type: + +Changed response : **200 OK** + +- Changed content type : `application/json` + + New optional properties: + + - `type` + + * Deleted property `type` (object) diff --git a/website/docs/sources/discord/index.md b/website/docs/sources/discord/index.md index 9970a12da270..42ccdc286adc 100644 --- a/website/docs/sources/discord/index.md +++ b/website/docs/sources/discord/index.md @@ -327,10 +327,10 @@ Create a new **Expression Policy** with the content below, adjusting the variabl import base64 import requests -AVATAR_SIZE = "64" # Valid values: 16,32,64,128,256,512,1024 +AVATAR_SIZE = "64" # Valid values: 16,32,64,128,256,512,1024. Larger values may cause HTTP error 431 on applications/providers due to headers being too large. # Only change below here if you know what you are doing. -AVATAR_URL = "https://cdn.discordapp.com/avatars/{id}/{avatar}.png?site={avatar_size}" +AVATAR_URL = "https://cdn.discordapp.com/avatars/{id}/{avatar}.png?size={avatar_size}" AVATAR_STREAM_CONTENT = "data:image/png;base64,{base64_string}" # Converts base64 image into html syntax usable with authentik's avatar attributes feature @@ -341,7 +341,7 @@ def get_as_base64(url): def get_avatar_from_avatar_url(url): """Returns an authentik-avatar-attributes-compatible string from an image url""" - cut_url = f"{url}?size=64" + cut_url = f"{url}" return AVATAR_STREAM_CONTENT.format( base64_string=(get_as_base64(cut_url).decode("utf-8")) ) diff --git a/website/package-lock.json b/website/package-lock.json index ec5f95209ee3..5fa4053050ad 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -19,7 +19,7 @@ "clsx": "^2.1.1", "disqus-react": "^1.1.5", "docusaurus-plugin-openapi-docs": "^4.0.0", - "docusaurus-theme-openapi-docs": "^4.0.0", + "docusaurus-theme-openapi-docs": "^4.0.1", "postcss": "^8.4.41", "prism-react-renderer": "^2.3.1", "react": "^18.3.1", @@ -6616,10 +6616,9 @@ } }, "node_modules/docusaurus-plugin-openapi-docs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-4.0.0.tgz", - "integrity": "sha512-CMiHVTJ7Xd39KxXf7VbSwWR4fwCEIDaXprZGlzdMAUKoi6LO3rjpLHmv4HPZPEOQpZJkQ+/FpPtL0+iEQN36yg==", - "license": "MIT", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-4.0.1.tgz", + "integrity": "sha512-ST0VLbRMTNz2O0NFIezWcF0dNYrGf34/oUmn3wH3hdMcStGQIOCEwD3JvuzyQ7WygjAR8md2kITHeRBRB2yhAA==", "dependencies": { "@apidevtools/json-schema-ref-parser": "^11.5.4", "@docusaurus/plugin-content-docs": "^3.0.1", @@ -6803,10 +6802,9 @@ } }, "node_modules/docusaurus-theme-openapi-docs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-4.0.0.tgz", - "integrity": "sha512-OqU0f+TQSgr8Xvr5GqgxOKvfqdWYE5kf6j3umGTTzPBTjMUXyGSJhZQJQSpIaXFszV8p+cVIj5O2LtMvAEMIhg==", - "license": "MIT", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-4.0.1.tgz", + "integrity": "sha512-4HIzYm2Y+pPiqvFs2oSEghtSgamza3Az1nGgwAJ+dpowfdOUafsGnbWOkJoFWVncRNn8/2mYSwrbUuo1t0kVUQ==", "dependencies": { "@docusaurus/theme-common": "^3.0.1", "@hookform/error-message": "^2.0.1", @@ -6814,7 +6812,7 @@ "clsx": "^1.1.1", "copy-text-to-clipboard": "^3.1.0", "crypto-js": "^4.1.1", - "docusaurus-plugin-openapi-docs": "^4.0.0", + "docusaurus-plugin-openapi-docs": "^4.0.1", "docusaurus-plugin-sass": "^0.2.3", "file-saver": "^2.0.5", "lodash": "^4.17.20", @@ -12324,10 +12322,11 @@ "license": "MIT" }, "node_modules/micromatch": { - "version": "4.0.5", - "license": "MIT", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { diff --git a/website/package.json b/website/package.json index a9dacc0150ae..bd9b0f8ec9f5 100644 --- a/website/package.json +++ b/website/package.json @@ -27,7 +27,7 @@ "clsx": "^2.1.1", "disqus-react": "^1.1.5", "docusaurus-plugin-openapi-docs": "^4.0.0", - "docusaurus-theme-openapi-docs": "^4.0.0", + "docusaurus-theme-openapi-docs": "^4.0.1", "postcss": "^8.4.41", "prism-react-renderer": "^2.3.1", "react": "^18.3.1",