From 0837d2cf7f88e86dcdbb3d652268375ae7943794 Mon Sep 17 00:00:00 2001 From: Dmitry Nikolaev Date: Fri, 9 May 2025 15:12:10 +0200 Subject: [PATCH] Refactor time series streaming Signed-off-by: Dmitry Nikolaev --- .github/workflows/ibm-rmf-grafana.yml | 2 +- grafana/rmf-app/.golangci.yml | 60 +- grafana/rmf-app/.nvmrc | 2 +- grafana/rmf-app/go.mod | 102 +- grafana/rmf-app/go.sum | 220 +- grafana/rmf-app/package.json | 62 +- grafana/rmf-app/pkg/plugin/cache/cache.go | 80 + grafana/rmf-app/pkg/plugin/cache/channel.go | 57 - grafana/rmf-app/pkg/plugin/cache/frame.go | 111 - grafana/rmf-app/pkg/plugin/channel.go | 82 + grafana/rmf-app/pkg/plugin/config.go | 11 +- grafana/rmf-app/pkg/plugin/datasource.go | 536 +--- grafana/rmf-app/pkg/plugin/dds/client.go | 33 +- grafana/rmf-app/pkg/plugin/dds/headers.go | 14 +- grafana/rmf-app/pkg/plugin/dds/request.go | 78 + grafana/rmf-app/pkg/plugin/dds/response.go | 2 +- grafana/rmf-app/pkg/plugin/frame/frame.go | 74 +- .../rmf-app/pkg/plugin/frame/frame_test.go | 8 +- grafana/rmf-app/pkg/plugin/frame/query.go | 214 -- .../pkg/plugin/frame/testdata/frames.json | 334 +- grafana/rmf-app/pkg/plugin/frame/utils.go | 24 +- grafana/rmf-app/yarn.lock | 2738 +++++++++-------- 22 files changed, 2201 insertions(+), 2643 deletions(-) create mode 100644 grafana/rmf-app/pkg/plugin/cache/cache.go delete mode 100644 grafana/rmf-app/pkg/plugin/cache/channel.go delete mode 100644 grafana/rmf-app/pkg/plugin/cache/frame.go create mode 100644 grafana/rmf-app/pkg/plugin/channel.go create mode 100644 grafana/rmf-app/pkg/plugin/dds/request.go delete mode 100644 grafana/rmf-app/pkg/plugin/frame/query.go diff --git a/.github/workflows/ibm-rmf-grafana.yml b/.github/workflows/ibm-rmf-grafana.yml index c0390640..9fa48277 100644 --- a/.github/workflows/ibm-rmf-grafana.yml +++ b/.github/workflows/ibm-rmf-grafana.yml @@ -44,7 +44,7 @@ jobs: run: make test - name: Lint - uses: golangci/golangci-lint-action@v6 + uses: golangci/golangci-lint-action@v8 with: version: latest only-new-issues: true diff --git a/grafana/rmf-app/.golangci.yml b/grafana/rmf-app/.golangci.yml index 79e34a31..18201ee5 100644 --- a/grafana/rmf-app/.golangci.yml +++ b/grafana/rmf-app/.golangci.yml @@ -1,15 +1,59 @@ +version: "2" run: allow-parallel-runners: true - linters: enable: - - gofmt + - asasalint + - asciicheck + - bidichk + - bodyclose + - contextcheck + - durationcheck + - errchkjson + - errorlint + - exhaustive + - fatcontext + - gocheckcompilerdirectives + - gochecksumtype + - gosec + - gosmopolitan + - loggercheck + - makezero + - nilerr + - nilnesserr + - noctx + - perfsprint + - prealloc + - protogetter + - reassign + - recvcheck + - rowserrcheck + - spancheck + - sqlclosecheck + - testifylint + - unparam + - zerologlint disable: - - wrapcheck - err113 - musttag - presets: - - bugs - - error - - unused - - performance + - wrapcheck + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gofmt + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ diff --git a/grafana/rmf-app/.nvmrc b/grafana/rmf-app/.nvmrc index 016e34ba..9158a6fb 100644 --- a/grafana/rmf-app/.nvmrc +++ b/grafana/rmf-app/.nvmrc @@ -1 +1 @@ -v20.17.0 +v22.15.0 diff --git a/grafana/rmf-app/go.mod b/grafana/rmf-app/go.mod index 91baed01..0ebb8a17 100644 --- a/grafana/rmf-app/go.mod +++ b/grafana/rmf-app/go.mod @@ -1,71 +1,72 @@ module github.com/IBM/RMF/grafana/rmf-app -go 1.23.0 +go 1.24.3 require ( github.com/VictoriaMetrics/fastcache v1.12.2 github.com/google/uuid v1.6.0 - github.com/grafana/grafana-plugin-sdk-go v0.256.0 - github.com/stretchr/testify v1.9.0 - golang.org/x/sync v0.8.0 + github.com/grafana/grafana-plugin-sdk-go v0.277.1 + github.com/stretchr/testify v1.10.0 + golang.org/x/sync v0.14.0 ) require ( - github.com/BurntSushi/toml v1.4.0 // indirect - github.com/apache/arrow/go/v15 v15.0.2 // indirect + github.com/BurntSushi/toml v1.5.0 // indirect + github.com/apache/arrow-go/v18 v18.2.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cheekybits/genny v1.0.0 // indirect - github.com/chromedp/cdproto v0.0.0-20241022234722-4d5d5faf59fb // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect + github.com/chromedp/cdproto v0.0.0-20250429231605-6ed5b53462d4 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/elazarl/goproxy v0.0.0-20240909085733-6741dbfc16a1 // indirect + github.com/elazarl/goproxy v1.7.2 // indirect github.com/fatih/color v1.18.0 // indirect - github.com/getkin/kin-openapi v0.128.0 // indirect + github.com/getkin/kin-openapi v0.132.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-openapi/jsonpointer v0.21.0 // indirect - github.com/go-openapi/swag v0.23.0 // indirect - github.com/goccy/go-json v0.10.3 // indirect + github.com/go-openapi/jsonpointer v0.21.1 // indirect + github.com/go-openapi/swag v0.23.1 // indirect + github.com/goccy/go-json v0.10.5 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/flatbuffers v24.3.25+incompatible // indirect - github.com/google/go-cmp v0.6.0 // indirect + github.com/golang/snappy v1.0.0 // indirect + github.com/google/flatbuffers v25.2.10+incompatible // indirect + github.com/google/go-cmp v0.7.0 // indirect github.com/gorilla/mux v1.8.1 // indirect github.com/grafana/otel-profiling-go v0.5.1 // indirect github.com/grafana/pyroscope-go/godeltaprof v0.1.8 // indirect github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 // indirect - github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect github.com/hashicorp/go-hclog v1.6.3 // indirect - github.com/hashicorp/go-plugin v1.6.2 // indirect + github.com/hashicorp/go-plugin v1.6.3 // indirect github.com/hashicorp/yamux v0.1.2 // indirect - github.com/invopop/yaml v0.3.1 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.11 // indirect - github.com/klauspost/cpuid/v2 v2.2.8 // indirect + github.com/klauspost/compress v1.18.0 // indirect + github.com/klauspost/cpuid/v2 v2.2.10 // indirect github.com/magefile/mage v1.15.0 // indirect - github.com/mailru/easyjson v0.7.7 // indirect + github.com/mailru/easyjson v0.9.0 // indirect github.com/mattetti/filebuffer v1.0.1 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect + github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect github.com/oklog/run v1.1.0 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/perimeterx/marshmallow v1.1.5 // indirect - github.com/pierrec/lz4/v4 v4.1.21 // indirect + github.com/pierrec/lz4/v4 v4.1.22 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.5 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.60.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/prometheus/client_golang v1.22.0 // indirect + github.com/prometheus/client_model v0.6.2 // indirect + github.com/prometheus/common v0.63.0 // indirect + github.com/prometheus/procfs v0.16.1 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 // indirect @@ -73,28 +74,29 @@ require ( github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a // indirect github.com/urfave/cli v1.22.16 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 // indirect - go.opentelemetry.io/contrib/propagators/jaeger v1.31.0 // indirect - go.opentelemetry.io/contrib/samplers/jaegerremote v0.25.0 // indirect - go.opentelemetry.io/otel v1.31.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect - go.opentelemetry.io/otel/metric v1.31.0 // indirect - go.opentelemetry.io/otel/sdk v1.31.0 // indirect - go.opentelemetry.io/otel/trace v1.31.0 // indirect - go.opentelemetry.io/proto/otlp v1.3.1 // indirect - golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c // indirect - golang.org/x/mod v0.21.0 // indirect - golang.org/x/net v0.30.0 // indirect - golang.org/x/sys v0.26.0 // indirect - golang.org/x/text v0.19.0 // indirect - golang.org/x/tools v0.26.0 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0 // indirect + go.opentelemetry.io/contrib/propagators/jaeger v1.35.0 // indirect + go.opentelemetry.io/contrib/samplers/jaegerremote v0.29.0 // indirect + go.opentelemetry.io/otel v1.35.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0 // indirect + go.opentelemetry.io/otel/metric v1.35.0 // indirect + go.opentelemetry.io/otel/sdk v1.35.0 // indirect + go.opentelemetry.io/otel/trace v1.35.0 // indirect + go.opentelemetry.io/proto/otlp v1.6.0 // indirect + golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect + golang.org/x/mod v0.24.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.25.0 // indirect + golang.org/x/tools v0.33.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 // indirect - google.golang.org/grpc v1.67.1 // indirect - google.golang.org/protobuf v1.35.1 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2 // indirect + google.golang.org/grpc v1.72.0 // indirect + google.golang.org/protobuf v1.36.6 // indirect gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/grafana/rmf-app/go.sum b/grafana/rmf-app/go.sum index ae8ab247..bc58e0b4 100644 --- a/grafana/rmf-app/go.sum +++ b/grafana/rmf-app/go.sum @@ -1,12 +1,17 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg= +github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/VictoriaMetrics/fastcache v1.12.2 h1:N0y9ASrJ0F6h0QaC3o6uJb3NIZ9VKLjCM7NQbSmF7WI= github.com/VictoriaMetrics/fastcache v1.12.2/go.mod h1:AmC+Nzz1+3G2eCPapF6UcsnkThDcMsQicp4xDukwJYI= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/apache/arrow/go/v15 v15.0.2 h1:60IliRbiyTWCWjERBCkO1W4Qun9svcYoZrSLcyOsMLE= -github.com/apache/arrow/go/v15 v15.0.2/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= +github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA= +github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA= +github.com/apache/arrow-go/v18 v18.2.0 h1:QhWqpgZMKfWOniGPhbUxrHohWnooGURqL2R2Gg4SO1Q= +github.com/apache/arrow-go/v18 v18.2.0/go.mod h1:Ic/01WSwGJWRrdAZcxjBZ5hbApNJ28K96jGYaxzzGUc= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= @@ -18,18 +23,17 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= -github.com/chromedp/cdproto v0.0.0-20241022234722-4d5d5faf59fb h1:noKVm2SsG4v0Yd0lHNtFYc9EUxIVvrr4kJ6hM8wvIYU= -github.com/chromedp/cdproto v0.0.0-20241022234722-4d5d5faf59fb/go.mod h1:4XqMl3iIW08jtieURWL6Tt5924w21pxirC6th662XUM= +github.com/chromedp/cdproto v0.0.0-20250429231605-6ed5b53462d4 h1:UZdrvid2JFwnvPlUSEFlE794XZL4Jmrj8fuxfcLECJE= +github.com/chromedp/cdproto v0.0.0-20250429231605-6ed5b53462d4/go.mod h1:NItd7aLkcfOA/dcMXvl8p1u+lQqioRMq/SqDp71Pb/k= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc= github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= +github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/elazarl/goproxy v0.0.0-20240909085733-6741dbfc16a1 h1:g7YUigN4dW2+zpdusdTTghZ+5Py3BaUMAStvL8Nk+FY= -github.com/elazarl/goproxy v0.0.0-20240909085733-6741dbfc16a1/go.mod h1:thX175TtLTzLj3p7N/Q9IiKZ7NF+p72cvL91emV0hzo= -github.com/elazarl/goproxy/ext v0.0.0-20220115173737-adb46da277ac h1:9yrT5tmn9Zc0ytWPASlaPwQfQMQYnRf0RSDe1XvHw0Q= -github.com/elazarl/goproxy/ext v0.0.0-20220115173737-adb46da277ac/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= +github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= @@ -37,32 +41,34 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/getkin/kin-openapi v0.128.0 h1:jqq3D9vC9pPq1dGcOCv7yOp1DaEe7c/T1vzcLbITSp4= -github.com/getkin/kin-openapi v0.128.0/go.mod h1:OZrfXzUfGrNbsKj+xmFBx6E5c6yH3At/tAKSc2UszXM= +github.com/getkin/kin-openapi v0.132.0 h1:3ISeLMsQzcb5v26yeJrBcdTCEQTag36ZjaGk7MIRUwk= +github.com/getkin/kin-openapi v0.132.0/go.mod h1:3OlG51PCYNsPByuiMB0t4fjnNlIDnaEDsjiKUV8nL58= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= -github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= -github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-openapi/jsonpointer v0.21.1 h1:whnzv/pNXtK2FbX/W9yJfRmE2gsmkfahjMKB0fZvcic= +github.com/go-openapi/jsonpointer v0.21.1/go.mod h1:50I1STOfbY1ycR8jGz8DaMeLCdXiI6aDteEdRNNzpdk= +github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZU= +github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0= github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= -github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= -github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/flatbuffers v24.3.25+incompatible h1:CX395cjN9Kke9mmalRoL3d81AtFUxJM+yDthflgJGkI= -github.com/google/flatbuffers v24.3.25+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/flatbuffers v25.2.10+incompatible h1:F3vclr7C3HpB1k9mxCGRMXq6FdUalZ6H/pNX4FP1v0Q= +github.com/google/flatbuffers v25.2.10+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -70,26 +76,24 @@ github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1 github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/grafana/grafana-plugin-sdk-go v0.256.0 h1:Vh7A+QaaenNx2gwKQekwHuGEGz8XNvc6Q2ZU+H4/Y/A= -github.com/grafana/grafana-plugin-sdk-go v0.256.0/go.mod h1:ACAKXTUgobDFdroItuDxXzdOxa2aCsG1GfZ5+j+/i8M= +github.com/grafana/grafana-plugin-sdk-go v0.277.1 h1:CF2pk2Pc/VX0DNBdk1+n3XSL0KvzMEcy6oubN/qdEmY= +github.com/grafana/grafana-plugin-sdk-go v0.277.1/go.mod h1:2ekE3wh4VyHmvBKP3VBdJNoAK4fD50HLxhlco9FzTwg= github.com/grafana/otel-profiling-go v0.5.1 h1:stVPKAFZSa7eGiqbYuG25VcqYksR6iWvF3YH66t4qL8= github.com/grafana/otel-profiling-go v0.5.1/go.mod h1:ftN/t5A/4gQI19/8MoWurBEtC6gFw8Dns1sJZ9W4Tls= github.com/grafana/pyroscope-go/godeltaprof v0.1.8 h1:iwOtYXeeVSAeYefJNaxDytgjKtUuKQbJqgAIjlnicKg= github.com/grafana/pyroscope-go/godeltaprof v0.1.8/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 h1:qnpSQwGEnkcRpTqNOIR6bJbR0gAorgP9CSALpRcKoAA= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1/go.mod h1:lXGCsh6c22WGtjr+qGHj1otzZpV/1kwTMAqkwZsnWRU= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 h1:sGm2vDRFUrQJO/Veii4h4zG2vvqG6uWNkBHSTqXOZk0= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2/go.mod h1:wd1YpapPLivG6nQgbf7ZkG1hhSOXDhhn4MLTknx2aAc= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-plugin v1.6.2 h1:zdGAEd0V1lCaU0u+MxWQhtSDQmahpkwOun8U8EiRVog= -github.com/hashicorp/go-plugin v1.6.2/go.mod h1:CkgLQ5CZqNmdL9U9JzM532t8ZiYQ35+pj3b1FD37R0Q= +github.com/hashicorp/go-plugin v1.6.3 h1:xgHB+ZUSYeuJi96WtxEjzi23uh7YQpznjGh0U0UUrwg= +github.com/hashicorp/go-plugin v1.6.3/go.mod h1:MRobyh+Wc/nYy1V4KAXUiYfzxoYhs7V1mlH1Z7iY2h0= github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8= github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns= -github.com/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso= -github.com/invopop/yaml v0.3.1/go.mod h1:PMOp3nn4/12yEZUFfmOuNHJsZToEEOwoWsT+D81KkeA= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= @@ -100,10 +104,12 @@ github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpR github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= -github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= -github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM= -github.com/klauspost/cpuid/v2 v2.2.8/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= +github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= +github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -112,22 +118,25 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= +github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/mattetti/filebuffer v1.0.1 h1:gG7pyfnSIZCxdoKq+cPa8T0hhYtD9NxCdI4D7PTjRLM= github.com/mattetti/filebuffer v1.0.1/go.mod h1:YdMURNDOttIiruleeVr6f56OrMc+MydEnTcXwtkxNVs= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -139,24 +148,28 @@ github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9 github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY= +github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw= +github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c= +github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s= github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= -github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= -github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU= +github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= 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.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= -github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -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= -github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= -github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= +github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k= +github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18= +github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= +github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -179,8 +192,9 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 h1:aVGB3YnaS/JNfOW3tiHIlmNmTDg618va+eT0mVomgyI= @@ -199,56 +213,60 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= -go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 h1:4BZHA+B1wXEQoGNHxW8mURaLhcdGwvRnmhGbm+odRbc= -go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0/go.mod h1:3qi2EEwMgB4xnKgPLqsDP3j9qxnHDZeHsnAxfjQqTko= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= -go.opentelemetry.io/contrib/propagators/jaeger v1.31.0 h1:k9P5RQEWIKUP6N18/ouSvPD/uTjc7s+8WPnuVK6lWOI= -go.opentelemetry.io/contrib/propagators/jaeger v1.31.0/go.mod h1:OpgiBRssaVKOTM5lSKkOBIGQh/ixvfZRmxQXARK/kGQ= -go.opentelemetry.io/contrib/samplers/jaegerremote v0.25.0 h1:nwxen/H3auImb5D4Neo8TDhDseskdRYmlHvi7j1sExc= -go.opentelemetry.io/contrib/samplers/jaegerremote v0.25.0/go.mod h1:KjcLnhrgBMLiPPAqyoGhuNmF6jm38LCPV6hdbBeFOTU= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0 h1:0tY123n7CdWMem7MOVdKOt0YfshufLCwfE5Bob+hQuM= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0/go.mod h1:CosX/aS4eHnG9D7nESYpV753l4j9q5j3SL/PUYd2lR8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= +go.opentelemetry.io/contrib/propagators/jaeger v1.35.0 h1:UIrZgRBHUrYRlJ4V419lVb4rs2ar0wFzKNAebaP05XU= +go.opentelemetry.io/contrib/propagators/jaeger v1.35.0/go.mod h1:0ciyFyYZxE6JqRAQvIgGRabKWDUmNdW3GAQb6y/RlFU= +go.opentelemetry.io/contrib/samplers/jaegerremote v0.29.0 h1:VpYbyLrB5BS3blBCJMqHRIrbU4RlPnyFovR3La+1j4Q= +go.opentelemetry.io/contrib/samplers/jaegerremote v0.29.0/go.mod h1:XAJmM2MWhiIoTO4LCLBVeE8w009TmsYk6hq1UNdXs5A= go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= -go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= -go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= +go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 h1:1fTNlAIJZGWLP5FVu0fikVry1IsiUnXjf7QFvoNN3Xw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0/go.mod h1:zjPK58DtkqQFn+YUMbx0M2XV3QgKU0gS9LeGohREyK4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0 h1:m639+BofXTvcY1q8CGs4ItwQarYtJPOWmVobfM1HpVI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0/go.mod h1:LjReUci/F4BUyv+y4dwnq3h/26iNOeC3wAIqgvTIZVo= go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= -go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= -go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= +go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= -go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= -go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= +go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= -go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= -go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= -go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= -go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= +go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= +go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI= +go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c h1:7dEasQXItcW1xKJ2+gg5VOiBnqWrJc+rq0DPKyvvdbY= -golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8= +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI= +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= -golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= +golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= -golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191020152052-9984515f0562/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -258,38 +276,36 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= -golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= -golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= -golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= +golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o= -gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= -google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 h1:2oV8dfuIkM1Ti7DwXc0BJfnwr9csz4TDXI9EmiI+Rbw= -google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38/go.mod h1:vuAjtvlwkDKF6L1GQ0SokiRLCGFfeBUXWr/aFFkHACc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 h1:zciRKQ4kBpFgpfC5QQCVtnnNAcLIqweL7plyZRQHVpI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= -google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= -google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= -google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= -google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= +gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= +google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2 h1:vPV0tzlsK6EzEDHNNH5sa7Hs9bd7iXR7B1tSiPepkV0= +google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:pKLAc5OolXC3ViWGI62vvC0n10CpwAtRcTNCFwTKBEw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2 h1:IqsN8hx+lWLqlN+Sc3DoMy/watjofWiU8sRFgQ8fhKM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/grpc v1.72.0 h1:S7UkcVa60b5AAQTaO6ZKamFp1zMZSU0fGDK2WZLbBnM= +google.golang.org/grpc v1.72.0/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/grafana/rmf-app/package.json b/grafana/rmf-app/package.json index b4f98772..dc62ac66 100644 --- a/grafana/rmf-app/package.json +++ b/grafana/rmf-app/package.json @@ -1,7 +1,7 @@ { "author": "IBM", "name": "ibm-rmf", - "version": "1.0.8", + "version": "1.0.9", "description": "IBM RMF for z/OS", "license": "Apache-2.0", "scripts": { @@ -28,40 +28,40 @@ "upgrade": "yarn upgrade --latest" }, "devDependencies": { - "@babel/core": "^7.25.9", + "@babel/core": "^7.27.1", "@grafana/eslint-config": "^8.0.0", "@grafana/tsconfig": "^2.0.0", - "@playwright/test": "^1.48.1", - "@swc/core": "^1.7.39", - "@swc/helpers": "^0.5.13", - "@swc/jest": "^0.2.36", - "@testing-library/jest-dom": "^6.6.2", - "@testing-library/react": "^16.0.1", + "@playwright/test": "^1.52.0", + "@swc/core": "^1.11.24", + "@swc/helpers": "^0.5.17", + "@swc/jest": "^0.2.38", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.3.0", "@types/jest": "^29.5.14", - "@types/lodash": "^4.17.12", - "@types/node": "^22.7.9", + "@types/lodash": "^4.17.16", + "@types/node": "^22.15.17", "@types/react-router-dom": "^5.3.3", - "copy-webpack-plugin": "^12.0.2", + "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", "eslint-plugin-deprecation": "^3.0.0", - "eslint-webpack-plugin": "^4.2.0", - "fork-ts-checker-webpack-plugin": "^9.0.2", - "glob": "^11.0.0", + "eslint-webpack-plugin": "^5.0.1", + "fork-ts-checker-webpack-plugin": "^9.1.0", + "glob": "^11.0.2", "identity-obj-proxy": "^3.0.0", "imports-loader": "^5.0.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", - "prettier": "^3.3.3", + "prettier": "^3.5.3", "replace-in-file-webpack-plugin": "^1.0.6", - "sass": "^1.80.3", - "sass-loader": "^16.0.2", + "sass": "^1.87.0", + "sass-loader": "^16.0.5", "style-loader": "^4.0.0", "swc-loader": "^0.2.6", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.6.3", - "webpack": "^5.95.0", - "webpack-cli": "^5.1.4", + "typescript": "^5.8.3", + "webpack": "^5.99.8", + "webpack-cli": "^6.0.1", "webpack-livereload-plugin": "^3.0.2", "webpack-virtual-modules": "^0.6.2" }, @@ -69,17 +69,17 @@ "node": ">=20" }, "dependencies": { - "@emotion/css": "^11.13.4", - "@grafana/data": "^11.3.0", - "@grafana/runtime": "^11.3.0", - "@grafana/schema": "^11.3.0", - "@grafana/ui": "^11.3.0", + "@emotion/css": "^11.13.5", + "@grafana/data": "^12.0.0", + "@grafana/runtime": "^12.0.0", + "@grafana/schema": "^12.0.0", + "@grafana/ui": "^12.0.0", "antlr4": "^4.13.2", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-router-dom": "^6.27.0", - "rxjs": "^7.8.1", - "tslib": "^2.8.0" + "react": "^19.1.0", + "react-dom": "^19.1.0", + "react-router-dom": "^7.6.0", + "rxjs": "^7.8.2", + "tslib": "^2.8.1" }, - "packageManager": "yarn@4.5.0" + "packageManager": "yarn@4.9.1" } diff --git a/grafana/rmf-app/pkg/plugin/cache/cache.go b/grafana/rmf-app/pkg/plugin/cache/cache.go new file mode 100644 index 00000000..ea16bc72 --- /dev/null +++ b/grafana/rmf-app/pkg/plugin/cache/cache.go @@ -0,0 +1,80 @@ +/** +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. + */ + +package cache + +import ( + "encoding/json" + "fmt" + + "github.com/IBM/RMF/grafana/rmf-app/pkg/plugin/dds" + "github.com/IBM/RMF/grafana/rmf-app/pkg/plugin/log" + + "github.com/VictoriaMetrics/fastcache" + "github.com/grafana/grafana-plugin-sdk-go/data" +) + +type Cache struct { + cache *fastcache.Cache +} + +func NewFrameCache(size int) *Cache { + return &Cache{cache: fastcache.New(size * 1024 * 1024)} +} + +func (fc *Cache) Reset() { + fc.cache.Reset() +} + +func Key(r *dds.Request, wide bool) []byte { + format := "long" + if wide { + format = "wide" + } + return []byte(fmt.Sprintf("%s[%s]@%d-%d", r.Resource, format, r.TimeRange.From.UnixMilli(), r.TimeRange.To.UnixMilli())) +} + +func (fc *Cache) GetFrame(r *dds.Request, wide bool) *data.Frame { + logger := log.Logger.With("func", "GetFrame") + var frame data.Frame + key := Key(r, wide) + buf := fc.cache.GetBig(nil, key) + if buf != nil { + err := json.Unmarshal(buf, &frame) + if err != nil { + logger.Error("Unmarshal error", "err", err, "key", key) + return nil + } else { + return &frame + } + } + return nil +} + +func (fc *Cache) SaveFrame(f *data.Frame, r *dds.Request, wide bool) error { + key := Key(r, wide) + frame := fc.GetFrame(r, wide) + if frame != nil { + return nil + } + val, err := json.Marshal(&f) + if err != nil { + return err + } + fc.cache.SetBig(key, val) + return nil +} diff --git a/grafana/rmf-app/pkg/plugin/cache/channel.go b/grafana/rmf-app/pkg/plugin/cache/channel.go deleted file mode 100644 index 0ac92c3c..00000000 --- a/grafana/rmf-app/pkg/plugin/cache/channel.go +++ /dev/null @@ -1,57 +0,0 @@ -/** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. - */ - -package cache - -import ( - "encoding/json" - - "github.com/IBM/RMF/grafana/rmf-app/pkg/plugin/frame" - - "github.com/VictoriaMetrics/fastcache" -) - -type ChannelCache struct { - cache *fastcache.Cache -} - -func NewChannelCache(size int) *ChannelCache { - return &ChannelCache{cache: fastcache.New(size * 1024 * 1024)} -} - -func (cc *ChannelCache) GetChannelQuery(path string) (*frame.QueryModel, error) { - var query frame.QueryModel - queryBytes := cc.cache.Get(nil, []byte(path)) - err := json.Unmarshal(queryBytes, &query) - return &query, err -} - -func (cc *ChannelCache) SetChannelQuery(path string, query *frame.QueryModel) error { - queryBytes, err := json.Marshal(*query) - if err == nil { - cc.cache.Set([]byte(path), queryBytes) - } - return err -} - -func (cc *ChannelCache) HasChannelQuery(path string) bool { - return cc.cache.Has([]byte(path)) -} - -func (cc *ChannelCache) Reset() { - cc.cache.Reset() -} diff --git a/grafana/rmf-app/pkg/plugin/cache/frame.go b/grafana/rmf-app/pkg/plugin/cache/frame.go deleted file mode 100644 index cb23db2a..00000000 --- a/grafana/rmf-app/pkg/plugin/cache/frame.go +++ /dev/null @@ -1,111 +0,0 @@ -/** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. - */ - -package cache - -import ( - "encoding/json" - "math" - "time" - - "github.com/IBM/RMF/grafana/rmf-app/pkg/plugin/frame" - "github.com/IBM/RMF/grafana/rmf-app/pkg/plugin/log" - - "github.com/VictoriaMetrics/fastcache" - "github.com/grafana/grafana-plugin-sdk-go/data" -) - -type CacheItemValue struct { - ValueKey time.Time - Value data.Frame - - frame.ResponseStatus -} - -type FrameCache struct { - cache *fastcache.Cache -} - -func NewFrameCache(size int) *FrameCache { - return &FrameCache{cache: fastcache.New(size * 1024 * 1024)} -} - -func (fc *FrameCache) getCacheItemValue(key []byte) *CacheItemValue { - logger := log.Logger.With("func", "getCacheItemValue") - byteCacheItemValue := fc.cache.GetBig(nil, key) - if byteCacheItemValue != nil { - var cacheItemValue CacheItemValue - err := json.Unmarshal(byteCacheItemValue, &cacheItemValue) - if err != nil { - logger.Debug("Unmarshal error", "err", err, "key", string(key)) - return nil - } - return &cacheItemValue - } - return nil -} - -func (fc *FrameCache) GetFrame(qm *frame.QueryModel) *data.Frame { - var ( - resultframe *data.Frame - ) - matchedCacheItem := fc.getCacheItemValue(qm.CacheKey()) - if matchedCacheItem != nil { - diffInSecs := int(matchedCacheItem.ValueKey.Sub(qm.CurrentTime).Seconds()) - if int(math.Abs(float64(diffInSecs))) <= int(matchedCacheItem.Mintime) { - qm.Update(&matchedCacheItem.ResponseStatus) - resultframe = &matchedCacheItem.Value - } - } - return resultframe -} - -func (fc *FrameCache) SaveFrame(frame *data.Frame, qm *frame.QueryModel) error { - logger := log.Logger.With("func", "SaveFrame") - - var cacheItemValue *CacheItemValue - cacheItemValue = fc.getCacheItemValue(qm.CacheKey()) - if cacheItemValue != nil { - if cacheItemValue.CurrentTime.Equal(qm.CurrentTime) { - logger.Debug("cache item already exist", "key", string(qm.CacheKey())) - return nil - } - } - var newCacheItemValue CacheItemValue = fc.createCacheItemValue(frame, qm) - - if cacheItemValueBytes, err := json.Marshal(&newCacheItemValue); err != nil { - return err - } else { - fc.cache.SetBig(qm.CacheKey(), cacheItemValueBytes) - logger.Debug("cache item added", "key", string(qm.CacheKey())) - } - return nil -} - -func (fc *FrameCache) createCacheItemValue(frame *data.Frame, qm *frame.QueryModel) CacheItemValue { - var ( - cacheItemValue CacheItemValue - ) - cacheItemValue.ValueKey = qm.CurrentTime - cacheItemValue.Value = *frame - cacheItemValue.Update(&qm.ResponseStatus) - return cacheItemValue -} - -func (fc *FrameCache) Reset() { - fc.cache.Reset() -} diff --git a/grafana/rmf-app/pkg/plugin/channel.go b/grafana/rmf-app/pkg/plugin/channel.go new file mode 100644 index 00000000..4c6d9280 --- /dev/null +++ b/grafana/rmf-app/pkg/plugin/channel.go @@ -0,0 +1,82 @@ +/** +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. + */ + +package plugin + +import ( + "encoding/base64" + "errors" + "strconv" + "strings" + "time" + + "github.com/google/uuid" +) + +const Sep = ":" + +func encodeChannelPath(res string, from time.Time, to time.Time, absolute bool, interval time.Duration) string { + absFlag := "0" + if absolute { + absFlag = "1" + } + path := res + + Sep + strconv.FormatInt(from.Unix(), 10) + + Sep + strconv.FormatInt(to.Unix(), 10) + + Sep + absFlag + + Sep + strconv.FormatInt(int64(interval.Seconds()), 10) + + Sep + uuid.NewString()[:8] + return base64.StdEncoding.EncodeToString([]byte(path)) +} + +func decodeChannelPath(b string) (string, time.Time, time.Time, bool, time.Duration, error) { + var ( + res string + from time.Time + to time.Time + absolute bool + interval time.Duration + ) + path, err := base64.StdEncoding.DecodeString(b) + if err != nil { + return res, from, to, absolute, interval, err + } + parts := strings.Split(string(path), Sep) + if len(parts) != 6 { + return res, from, to, absolute, interval, errors.New("invalid number of elements") + } + res = parts[0] + if timestamp, err := strconv.ParseInt(parts[1], 10, 64); err != nil { + return res, from, to, absolute, interval, err + } else { + from = time.Unix(timestamp, 0) + } + if timestamp, err := strconv.ParseInt(parts[2], 10, 64); err != nil { + return res, from, to, absolute, interval, err + } else { + to = time.Unix(timestamp, 0) + } + if parts[3] == "1" { + absolute = true + } + if d, err := strconv.ParseInt(parts[4], 10, 64); err != nil { + return res, from, to, absolute, interval, err + } else { + interval = time.Duration(d) * time.Second + } + return res, from, to, absolute, interval, nil +} diff --git a/grafana/rmf-app/pkg/plugin/config.go b/grafana/rmf-app/pkg/plugin/config.go index 924809d9..40c5c6eb 100644 --- a/grafana/rmf-app/pkg/plugin/config.go +++ b/grafana/rmf-app/pkg/plugin/config.go @@ -1,6 +1,6 @@ /** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,11 +30,6 @@ const DefaultHttpTimeout = 60 const DefaultCacheSizeMB = 1024 const MinimalCacheSizeMB = 128 -// There's up to two queries per channel to be cached. -// One query takes about 1KB of memory. -// So, 16MB means about 8k channels per data source. -const ChannelCacheSizeMB = 16 - type Config struct { URL string Timeout int @@ -95,7 +90,7 @@ func (ds *RMFDatasource) getConfig(settings backend.DataSourceInstanceSettings) } } if config.CacheSize, err = strconv.Atoi(config.JSON.CacheSizeRaw); err != nil { - logger.Warn("cache size is not valid, applying default", "cacheSize", config.JSON.CacheSizeRaw) + logger.Warn("cache size is not valid, applying default", "cacheSize", config.JSON.CacheSizeRaw, "err", err) config.CacheSize = DefaultCacheSizeMB } if config.CacheSize < MinimalCacheSizeMB { diff --git a/grafana/rmf-app/pkg/plugin/datasource.go b/grafana/rmf-app/pkg/plugin/datasource.go index 3faf4d71..e13f8920 100644 --- a/grafana/rmf-app/pkg/plugin/datasource.go +++ b/grafana/rmf-app/pkg/plugin/datasource.go @@ -1,6 +1,6 @@ /** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,15 +21,12 @@ import ( "context" "encoding/json" "errors" - "fmt" - "math" "net/http" "runtime/debug" "strings" "sync" "time" - "github.com/google/uuid" "github.com/grafana/grafana-plugin-sdk-go/backend" "github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt" "github.com/grafana/grafana-plugin-sdk-go/data" @@ -54,15 +51,15 @@ var ( _ backend.StreamHandler = (*RMFDatasource)(nil) ) -const SdsDelay = 5 +const SdsDelay = 5 * time.Second +const TimeSeriesType = "TimeSeries" type RMFDatasource struct { - uid string - name string - channelCache *cache.ChannelCache - frameCache *cache.FrameCache - ddsClient *dds.Client - single singleflight.Group + uid string + name string + cache *cache.Cache + ddsClient *dds.Client + single singleflight.Group } // NewRMFDatasource creates a new instance of the RMF datasource. @@ -77,8 +74,7 @@ func NewRMFDatasource(ctx context.Context, settings backend.DataSourceInstanceSe // nolint:contextcheck ds.ddsClient = dds.NewClient(config.URL, config.Username, config.Password, config.Timeout, config.JSON.TlsSkipVerify, config.JSON.DisableCompression) - ds.channelCache = cache.NewChannelCache(ChannelCacheSizeMB) - ds.frameCache = cache.NewFrameCache(config.CacheSize) + ds.cache = cache.NewFrameCache(config.CacheSize) logger.Info("initialized a datasource", "uid", settings.UID, "name", settings.Name, "url", config.URL, "timeout", config.Timeout, "cacheSize", config.CacheSize, @@ -93,8 +89,7 @@ func (ds *RMFDatasource) Dispose() { logger := log.Logger.With("func", "Dispose") // Recover from any panic so as to not bring down this backend datasource defer log.LogAndRecover(logger) - ds.channelCache.Reset() - ds.frameCache.Reset() + ds.cache.Reset() ds.ddsClient.Close() logger.Info("disposed datasource", "uid", ds.uid, "name", ds.name) } @@ -184,6 +179,14 @@ func (ds *RMFDatasource) CallResource(ctx context.Context, req *backend.CallReso } } +type RequestParams struct { + Resource struct { + Value string `json:"value"` + } `json:"selectedResource"` + AbsoluteTime bool `json:"absoluteTimeSelected"` + VisType string `json:"selectedVisualisationType"` +} + // QueryData handles multiple queries and returns multiple responses. // req contains the queries []DataQuery (where each query contains RefID as a unique identifier). // The QueryDataResponse contains a map of RefID to the response for each query, and each response @@ -223,28 +226,44 @@ func (ds *RMFDatasource) QueryData(ctx context.Context, req *backend.QueryDataRe go func(q backend.DataQuery) { defer wg.Done() + var response *backend.DataResponse - qm, err := frame.NewQueryModel(q) + var params RequestParams + err := json.Unmarshal(q.JSON, ¶ms) + if err != nil { - if errors.Is(err, frame.ErrBlankResource) { - response = &backend.DataResponse{Status: backend.StatusOK} - } else { - response = &backend.DataResponse{Status: backend.StatusBadRequest, Error: err} - } + response = &backend.DataResponse{Status: backend.StatusBadRequest, Error: err} } else { - // nolint:contextcheck - qm.TimeOffset = ds.ddsClient.GetCachedTimeOffset() - // nolint:contextcheck - qm.Mintime = ds.ddsClient.GetCachedMintime() - if qm.SelectedVisualisationType == frame.TimeSeriesType { - response = ds.queryTimeSeries(ctx, req.PluginContext, qm) + mintime := ds.ddsClient.GetCachedMintime() + if params.VisType == TimeSeriesType { + // Initialize time series stream + from := q.TimeRange.From + f := frame.TaggedFrame(from, "No data yet...") + path := encodeChannelPath(params.Resource.Value, from, q.TimeRange.To, params.AbsoluteTime, q.Interval) + channel := live.Channel{ + Scope: live.ScopeDatasource, + Namespace: req.PluginContext.DataSourceInstanceSettings.UID, + Path: path, + } + f.SetMeta(&data.FrameMeta{Channel: channel.String()}) + response = &backend.DataResponse{Frames: data.Frames{f}} } else { - // FIXME: it's not actually table data. Just not time series. - response = ds.queryTableData(ctx, qm) - } - if response == nil { - err = log.ErrorWithId(logger, log.InternalError, "query response is nil") - response = &backend.DataResponse{Status: backend.StatusInternal, Error: err} + // Query non-timeseries data + r := dds.NewRequest(params.Resource.Value, q.TimeRange.From, q.TimeRange.To, mintime) + response = &backend.DataResponse{} + // FIXME: doesn't it need to be cached? + if newFrame, err := ds.getFrame(ctx, r, false); err != nil { + // nolint:errorlint + if cause, ok := errors.Unwrap(err).(*dds.Message); ok { + response.Error = cause + response.Status = backend.StatusBadRequest + } else { + response.Error = log.FrameErrorWithId(logger, err) + response.Status = backend.StatusInternal + } + } else if newFrame != nil { + response.Frames = append(response.Frames, newFrame) + } } } responseChan <- ResponseWithId{refId: q.RefID, response: response} @@ -262,294 +281,152 @@ func (ds *RMFDatasource) QueryData(ctx context.Context, req *backend.QueryDataRe return qr, nil } -func (ds *RMFDatasource) queryTimeSeries(ctx context.Context, pCtx backend.PluginContext, query *frame.QueryModel) *backend.DataResponse { - logger := log.Logger.With("func", "queryTimeSeries") - - var ( - newFrame *data.Frame - err error - dataResponse *backend.DataResponse = &backend.DataResponse{} - ) - - setQueryTimeRange(query, false) - if latestNotReady(query.CurrentTime, query.Mintime) { - logger.Debug("interval not yet ready, step back", "time", query.CurrentTime.String()) - moveNextPrevious(query, false) - } - if newFrame, err = ds.getFrameFromCacheOrServer(ctx, query); err != nil { - // nolint:errorlint - if cause, ok := errors.Unwrap(err).(*dds.Message); ok { - dataResponse.Error = cause - dataResponse.Status = backend.StatusBadRequest - } else { - dataResponse.Error = log.FrameErrorWithId(logger, err) - dataResponse.Status = backend.StatusInternal - } - } else if newFrame != nil { - dataResponse.Frames = append(dataResponse.Frames, newFrame) - if err := ds.createChannelForStreaming(pCtx, query, newFrame); err != nil { - dataResponse.Error = err - } - } - return dataResponse -} - -func (ds *RMFDatasource) createChannelForStreaming(pCtx backend.PluginContext, query *frame.QueryModel, firstFrame *data.Frame) error { - channelPath := uuid.New().String() - channel := live.Channel{ - Scope: live.ScopeDatasource, - Namespace: pCtx.DataSourceInstanceSettings.UID, - Path: channelPath, - } - firstFrame.SetMeta(&data.FrameMeta{Channel: channel.String()}) - query.SeriesFields = frame.SeriesFields{} - frame.SyncFieldNames(query.SeriesFields, firstFrame, query.CurrentTime) - return ds.channelCache.SetChannelQuery(channelPath, query) -} - -// RunStream is called once for any open channel. Results are shared with everyone +// RunStream is called once for any open channel. Results are shared with everyone // subscribed to the same channel. func (ds *RMFDatasource) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { logger := log.Logger.With("func", "RunStream") // Recover from any panic so as to not bring down this backend datasource defer log.LogAndRecover(logger) - var err error - query, err := ds.channelCache.GetChannelQuery(req.Path) + res, from, to, absolute, interval, err := decodeChannelPath(string(req.Path)) if err != nil { - return err + logger.Error("unable to decode channel path", "err", err) + return nil } - logger.Debug("RunStream", "path", req.Path, "query", query.SelectedQuery, "dashboard", query.DashboardUid, "absoluteTime", query.AbsoluteTimeSelected) - // Stream absolute or relative timeline data - if query.AbsoluteTimeSelected { - err = ds.streamDataForAbsoluteRange(ctx, req, sender, query) - } else { - err = ds.streamDataForRelativeRange(ctx, req, sender, query) - } - return err -} - -func (ds *RMFDatasource) streamDataForAbsoluteRange(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender, matchedQueryModel *frame.QueryModel) error { - var waitTime time.Duration - logger := log.Logger.With("func", "streamDataForAbsoluteRange") - //Recover from any panic so as to not bring down this backend datasource - defer log.LogAndRecover(logger) - // Set wait time to 1/100th of a second - waitTime = (time.Second * time.Duration(1)) / 100 - - // Stream data frames periodically till stream closed by Grafana. - err := ds.streamDataAbsolute(ctx, req, sender, matchedQueryModel, waitTime) - if err != nil { - return err - } - - return nil -} - -func (ds *RMFDatasource) streamDataForRelativeRange(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender, matchedQueryModel *frame.QueryModel) error { - logger := log.Logger.With("func", "streamDataForRelativeRange") - //Recover from any panic so as to not bring down this backend datasource - defer log.LogAndRecover(logger) - - // Set wait time to 'ServiceCallInterval' for relative and 1/100th of a second for historical - waitTime := (time.Second * time.Duration(matchedQueryModel.Mintime)) - histWaitTime := (time.Second * time.Duration(1)) / 100 - - // Stream data frames periodically till stream closed by Grafana. - err := ds.streamDataRelative(ctx, req, sender, matchedQueryModel, &waitTime, &histWaitTime) - if err != nil { - return err + // Calculate the most appropriate interval length, i.e. time series step. + // There's no ideal solution. We assume that it aligns with one hour. + // If it doesn't, streaming will still work, but some queries will miss cache. + mintime := ds.ddsClient.GetCachedMintime() + n := 3600 / int(mintime.Seconds()) + step := time.Hour // The maximum possible + for i := 1; i <= n; i++ { + if n%i == 0 && time.Duration(i)*mintime >= interval { + step = time.Duration(i) * mintime + break + } } - return nil -} + logger.Debug("starting streaming", "step", step.String(), "interval", interval.String(), "path", req.Path) -func (ds *RMFDatasource) streamDataAbsolute(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender, matchedQueryModel *frame.QueryModel, waitTime time.Duration) error { - logger := log.Logger.With("func", "streamDataAbsolute") - var ( - newFrame *data.Frame - err error - ) - histTicker := time.NewTicker(waitTime) - seriesFields := matchedQueryModel.SeriesFields + r := dds.NewRequest(res, from, from, step) + seriesFields := frame.SeriesFields{} + // Stream historical part of time series for { - select { - case <-ctx.Done(): - err := ctx.Err() - logger.Debug("closing stream: Done.", "reason", err, "path", req.Path) - histTicker.Stop() - return err - case <-histTicker.C: - if matchedQueryModel.TimeRangeExceeded() { - histTicker.Stop() - logger.Debug("closing stream", "reason", "finished with historical data", "path", req.Path, "CurrentTime", matchedQueryModel.CurrentTime.String(), "TimeRangeFrom", matchedQueryModel.TimeRangeFrom, "TimeRangeTo", matchedQueryModel.TimeRangeTo.String()) + if err := ctx.Err(); err != nil { + logger.Info("streaming stopped", "reason", err, "path", req.Path) + return nil + } + if !absolute && r.TimeRange.To.After(time.Now().Add(-SdsDelay)) || absolute && r.TimeRange.To.After(to) { + logger.Debug("finished with historical data", "request", r.String(), "path", req.Path) + break + } + logger.Debug("executing query", "request", r.String()) + f, err := ds.getFrameCached(ctx, r, true) + if err != nil { + logger.Error("failed to get data", "request", r.String(), "reason", err, "path", req.Path) + f = frame.NoDataFrame(r.TimeRange.To) + } + // No data was returned by DDS yet by this and any previous request + if len(f.Fields) < 2 && len(seriesFields) == 0 { + r.Add(step) + continue + } + frame.SyncFieldNames(seriesFields, f, r.TimeRange.To) + if err := sender.SendFrame(f, data.IncludeAll); err != nil { + logger.Info("streaming stopped", "reason", err, "path", req.Path) + return nil + } + r.Add(step) + } + if !absolute { + // Stream live data as it's being collected + for { + if err := ctx.Err(); err != nil { + logger.Info("streaming stopped", "reason", err, "path", req.Path) return nil } - setQueryTimeRange(matchedQueryModel) - if latestNotReady(matchedQueryModel.CurrentTime, matchedQueryModel.Mintime) { - logger.Debug("interval not yet ready", "time", matchedQueryModel.CurrentTime.String()) - continue - } - // Send new data periodically. - logger.Debug("executing query", "query", matchedQueryModel.SelectedQuery, "current", matchedQueryModel.CurrentTime, "to", matchedQueryModel.TimeRangeTo) - if newFrame, err = ds.getFrameFromCacheOrServer(ctx, matchedQueryModel); err != nil { - moveNextPrevious(matchedQueryModel, true) - return log.ErrorWithId(logger, log.InternalError, "could not get new frame", "error", err) - } - if matchedQueryModel.CurrentTime.Equal(matchedQueryModel.LastTime) { - moveNextPrevious(matchedQueryModel, true) - logger.Debug("skip frame due to duplication", "time", matchedQueryModel.CurrentTime.String()) - continue - } - matchedQueryModel.LastTime = matchedQueryModel.CurrentTime - frame.SyncFieldNames(seriesFields, newFrame, matchedQueryModel.CurrentTime) - err = sender.SendFrame(newFrame, data.IncludeAll) - if err != nil { - return log.ErrorWithId(logger, log.InternalError, "failed to send frame", "error", err) - } - err = ds.channelCache.SetChannelQuery(req.Path, matchedQueryModel) + d := time.Until(r.TimeRange.To.Add(SdsDelay)) + logger.Debug("waiting for the next mintime", "duration", d.String(), "path", req.Path) + time.Sleep(d) + + f, err := ds.getFrameCached(ctx, r, true) if err != nil { - return log.ErrorWithId(logger, log.InternalError, "failed to save frame in cache", "error", err) + logger.Error("failed to get data", "request", r.String(), "reason", err, "path", req.Path) + f = frame.NoDataFrame(r.TimeRange.To) } - } - } -} - -func (ds *RMFDatasource) streamDataRelative(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender, matchedQueryModel *frame.QueryModel, waitTime *time.Duration, histWaitTime *time.Duration) error { - logger := log.Logger.With("func", "streamDataRelative") - var newFrame *data.Frame - // FIXME: tickers are not suitable for the streaming. - // Time for the next request should be calculated based on the time of the latest response. - // Also, requests for historical and current data should be synchronized. - mainTicker := time.NewTicker(*waitTime) - histTicker := time.NewTicker(*histWaitTime) - seriesFields := matchedQueryModel.SeriesFields - duration := matchedQueryModel.TimeRangeTo.Sub(matchedQueryModel.TimeRangeFrom) - - histQueryModel, err := ds.channelCache.GetChannelQuery(req.Path + "/h") - if err != nil { - histQueryModel = matchedQueryModel.Copy() - histQueryModel.AbsoluteTimeSelected = true - } - for { - select { - case <-ctx.Done(): // Did the client cancel out? - err := ctx.Err() - logger.Debug("closing stream: Done.", "reason", err, "path", req.Path) - // Stop tickers to enable garbage collection of resources - mainTicker.Stop() - histTicker.Stop() - return err - case <-histTicker.C: - if histQueryModel.TimeRangeExceeded() { - histTicker.Stop() - logger.Debug("finished with historical data", "path", req.Path, "CurrentTime", histQueryModel.CurrentTime.String(), "TimeRangeFrom", matchedQueryModel.TimeRangeFrom.String(), "TimeRangeTo", matchedQueryModel.TimeRangeTo.String()) - continue - } - setQueryTimeRange(histQueryModel, true) - logger.Debug("executing query for historical data", "query", histQueryModel.SelectedQuery, "current", histQueryModel.CurrentTime, "from", histQueryModel.TimeRangeFrom) - // Fetch the data - if latestNotReady(histQueryModel.CurrentTime, histQueryModel.Mintime) { - logger.Debug("interval not yet ready", "time", histQueryModel.CurrentTime.String()) + t, ok := f.Fields[0].At(0).(time.Time) + if !ok || t.Before(r.TimeRange.To) { + logger.Debug("mintime is not ready yet", "path", req.Path) + time.Sleep(SdsDelay) continue } - if newFrame, err = ds.getFrameFromCacheOrServer(ctx, histQueryModel); err != nil { - moveNextPrevious(histQueryModel, false) - return log.ErrorWithId(logger, log.InternalError, "could not get new frame for historical data", "error", err) - } - if histQueryModel.CurrentTime.Equal(histQueryModel.LastTime) { - logger.Debug("skip frame due to duplication", "time", histQueryModel.CurrentTime.String()) - moveNextPrevious(histQueryModel, false) + // No data was returned by DDS yet by any previous request + if len(f.Fields) < 2 && len(seriesFields) == 0 { + r.Add(step) continue } - histQueryModel.LastTime = histQueryModel.CurrentTime - frame.SyncFieldNames(seriesFields, newFrame, histQueryModel.CurrentTime) - err = sender.SendFrame(newFrame, data.IncludeAll) - if err != nil { - return log.ErrorWithId(logger, log.InternalError, "failed to send frame for historical data", "error", err) - } - err = ds.channelCache.SetChannelQuery(req.Path+"/h", matchedQueryModel) - if err != nil { - return log.ErrorWithId(logger, log.InternalError, "failed to save frame in cache", "error", err) - } - case <-mainTicker.C: - var numberOfIterations int - if numberOfIterations, err = getIterationsForRelativePlotting(matchedQueryModel); err != nil { - return err - } - logger.Debug("executing query for relative data", "query", matchedQueryModel.SelectedQuery, "iterations", numberOfIterations) - for counter := 0; counter < numberOfIterations; counter++ { - setQueryTimeRange(matchedQueryModel) - if latestNotReady(matchedQueryModel.CurrentTime, matchedQueryModel.Mintime) { - logger.Debug("interval not yet ready", "time", matchedQueryModel.CurrentTime.String()) - continue - } - logger.Debug("executing query", "query", matchedQueryModel.SelectedQuery, "current", matchedQueryModel.CurrentTime) - if newFrame, err = ds.getFrameFromCacheOrServer(ctx, matchedQueryModel); err != nil { - moveNextPrevious(matchedQueryModel, true) - return log.ErrorWithId(logger, log.InternalError, "could not get new frame for relative data", "error", err) - } - if matchedQueryModel.CurrentTime.Equal(matchedQueryModel.LastTime) { - moveNextPrevious(matchedQueryModel, true) - logger.Debug("skip frame due to duplication", "time", matchedQueryModel.CurrentTime.String()) - continue - } - matchedQueryModel.LastTime = matchedQueryModel.CurrentTime - frame.RemoveOldFieldNames(seriesFields, matchedQueryModel.CurrentTime.Add(-duration)) - frame.SyncFieldNames(seriesFields, newFrame, histQueryModel.CurrentTime) - err = sender.SendFrame(newFrame, data.IncludeAll) - if err != nil { - return log.ErrorWithId(logger, log.InternalError, "failed to send frame for relative data", "error", err) - } - // Save the query model in cache - err = ds.channelCache.SetChannelQuery(req.Path, matchedQueryModel) - if err != nil { - return log.ErrorWithId(logger, log.InternalError, "failed to save frame in cache", "error", err) - } + frame.SyncFieldNames(seriesFields, f, r.TimeRange.To) + if err := sender.SendFrame(f, data.IncludeAll); err != nil { + logger.Info("streaming stopped", "reason", err, "path", req.Path) + return nil } + r.Add(step) + } + } + if len(seriesFields) == 0 { + // There is no data at all, send a dummy frame without fields to reflect it in UI + f := data.NewFrame("") + if err := sender.SendFrame(f, data.IncludeAll); err != nil { + logger.Info("streaming stopped", "reason", err, "path", req.Path) + return nil } } + logger.Info("streaming stopped", "reason", "all the data sent", "path", req.Path) + return nil } -func (ds *RMFDatasource) getFrame(ctx context.Context, queryModel *frame.QueryModel) (*data.Frame, error) { - path, params := queryModel.GetPathWithParams() - ddsResponse, err := ds.ddsClient.Get(ctx, path, params...) +func (ds *RMFDatasource) getFrame(ctx context.Context, r *dds.Request, wide bool) (*data.Frame, error) { + ddsResponse, err := ds.ddsClient.GetByRequest(ctx, r) if err != nil { - return nil, fmt.Errorf("failed to get DDS response: %w", err) + return nil, err } - // nolint:contextcheck - newFrame, err := frame.Build(ddsResponse, ds.ddsClient.GetCachedHeaders(), queryModel) + headers := ds.ddsClient.GetCachedHeaders() + f, err := frame.Build(ddsResponse, headers, wide) if err != nil { - return nil, fmt.Errorf("failed to construct frame: %w", err) + return nil, err } - return newFrame, nil + return f, nil } -func (ds *RMFDatasource) getFrameFromCacheOrServer(ctx context.Context, queryModel *frame.QueryModel) (*data.Frame, error) { - logger := log.Logger.With("func", "getFrameFromCacheOrServer") - key := string(queryModel.CacheKey()) - result, err, _ := ds.single.Do(key, func() (interface{}, error) { - var ( - newFrame *data.Frame - err error - ) - newFrame = ds.frameCache.GetFrame(queryModel) +func (ds *RMFDatasource) getFrameCached(ctx context.Context, r *dds.Request, wide bool) (*data.Frame, error) { + logger := log.Logger.With("func", "getFrameCached") + key := cache.Key(r, wide) + + result, err, _ := ds.single.Do(string(key), func() (interface{}, error) { + f := ds.cache.GetFrame(r, wide) // Fetch from the DDS Server and then save to cache if required. - if newFrame == nil { - newFrame, err = ds.getFrame(ctx, queryModel) + if f == nil { + f, err := ds.getFrame(ctx, r, wide) if err != nil { return nil, err } else { - if err = ds.frameCache.SaveFrame(newFrame, queryModel); err != nil { + // Probably the requested mintime is not ready yet, don't cache it + // We still can use it in non-timeseries views + t, ok := f.Fields[0].At(0).(time.Time) + if !ok || t.Before(r.TimeRange.To) { + return f, nil + } + if err = ds.cache.SaveFrame(f, r, wide); err != nil { return nil, err } } + return f, nil } else { - logger.Debug("cached value exist", "key", key) + logger.Debug("cached value exists", "key", key) } - return newFrame, nil + return f, nil }) if result != nil { return result.(*data.Frame), err @@ -561,107 +438,10 @@ func (ds *RMFDatasource) getFrameFromCacheOrServer(ctx context.Context, queryMod // SubscribeStream is called when a client wants to connect to a stream. This callback // allows sending the first message. func (ds *RMFDatasource) SubscribeStream(_ context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - logger := log.Logger.With("func", "SubscribeStream") - // Recover from any panic so as to not bring down this backend datasource - defer log.LogAndRecover(logger) - - status := backend.SubscribeStreamStatusPermissionDenied - if ds.channelCache.HasChannelQuery(req.Path) { - status = backend.SubscribeStreamStatusOK - } - return &backend.SubscribeStreamResponse{Status: status}, nil + return &backend.SubscribeStreamResponse{Status: backend.SubscribeStreamStatusOK}, nil } // PublishStream is called when a client sends a message to the stream. func (d *RMFDatasource) PublishStream(_ context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - logger := log.Logger.With("func", "PublishStream") - // Recover from any panic so as to not bring down this backend datasource - defer log.LogAndRecover(logger) - - // Do not allow publishing at all. return &backend.PublishStreamResponse{Status: backend.PublishStreamStatusPermissionDenied}, nil } - -func (ds *RMFDatasource) queryTableData(ctx context.Context, qm *frame.QueryModel) *backend.DataResponse { - logger := log.Logger.With("func", "queryTableData") - dataResponse := &backend.DataResponse{} - // FIXME: doesn't it need to be cached? - if newFrame, err := ds.getFrame(ctx, qm); err != nil { - // nolint:errorlint - if cause, ok := errors.Unwrap(err).(*dds.Message); ok { - dataResponse.Error = cause - dataResponse.Status = backend.StatusBadRequest - } else { - dataResponse.Error = log.FrameErrorWithId(logger, err) - dataResponse.Status = backend.StatusInternal - } - } else if newFrame != nil { - dataResponse.Frames = append(dataResponse.Frames, newFrame) - } - return dataResponse -} - -func getIterationsForRelativePlotting(qm *frame.QueryModel) (int, error) { - currentTimeUTC := time.Now().UTC() - difference := qm.CurrentTime.Sub(currentTimeUTC) - differenceInSecs := int(math.Abs(difference.Seconds())) - if qm.Mintime == 0 { - return 0, errors.New("ServiceCallInterval must not be zero in GetIterationsForRelativePlotting()") - } - differenceInSecs -= qm.Mintime / 2 - differenceInSecs -= SdsDelay - result := int(differenceInSecs / int(qm.Mintime)) - if result == 0 { - // FIXME: it's not necessarily true. - result = 1 //We need to invoke the svc at least once. So return 1. - } - return result, nil -} - -func setQueryTimeRange(queryModel *frame.QueryModel, plotAbsoluteReverse ...bool) { - var plotReverse bool - if len(plotAbsoluteReverse) > 0 { - if plotAbsoluteReverse[0] { - plotReverse = true - } - } - - // Set the Query Model's TimeSeriesTimeRangeFrom and TimeSeriesTimeRangeTo properties - if queryModel.AbsoluteTimeSelected { // Absolute time - if queryModel.Mintime == 0 || queryModel.CurrentTime.IsZero() { - fromTime := queryModel.TimeRangeFrom - queryModel.CurrentTime = queryModel.AdjustRealtime(fromTime, queryModel.Mintime) - } else { - if plotReverse { - localPrevTime := queryModel.LocalPrev.Add(-1 * queryModel.TimeOffset) - queryModel.CurrentTime = queryModel.AdjustRealtime(localPrevTime, queryModel.Mintime) - } else { - addedTime := queryModel.CurrentTime.Add(time.Duration(time.Second * time.Duration(queryModel.Mintime))) - queryModel.CurrentTime = queryModel.AdjustRealtime(addedTime, queryModel.Mintime) - } - } - } else { // Relative time - if queryModel.Mintime == 0 || queryModel.CurrentTime.IsZero() { - toTime := queryModel.TimeRangeTo - queryModel.CurrentTime = queryModel.AdjustRealtime(toTime, queryModel.Mintime) - } else { - localNextTime := queryModel.LocalNext.Add(-1 * queryModel.TimeOffset) - queryModel.CurrentTime = queryModel.AdjustRealtime(localNextTime, queryModel.Mintime) - } - } -} - -func latestNotReady(t time.Time, m int) bool { - var now time.Time = time.Now() - return t.Add(time.Second*time.Duration(m/2) + SdsDelay).After(now) -} - -func moveNextPrevious(qm *frame.QueryModel, next bool) { - if next { - qm.CurrentTime = qm.CurrentTime.Add(time.Duration(qm.Mintime) * time.Second) - qm.LocalNext = qm.LocalNext.Add(time.Duration(qm.Mintime) * time.Second) - } else { - qm.CurrentTime = qm.CurrentTime.Add(-1 * time.Duration(qm.Mintime) * time.Second) - qm.LocalPrev = qm.LocalPrev.Add(-1 * time.Duration(qm.Mintime) * time.Second) - } -} diff --git a/grafana/rmf-app/pkg/plugin/dds/client.go b/grafana/rmf-app/pkg/plugin/dds/client.go index 1b17b620..f2c7833c 100644 --- a/grafana/rmf-app/pkg/plugin/dds/client.go +++ b/grafana/rmf-app/pkg/plugin/dds/client.go @@ -1,6 +1,6 @@ /** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -119,9 +119,17 @@ func (c *Client) Close() { }) } -func (c *Client) Get(ctx context.Context, path string, params ...string) (*Response, error) { +func (c *Client) GetByRequest(ctx context.Context, r *Request) (*Response, error) { + path, params, err := r.pathWithParams(c.GetCachedTimeOffset()) + if err != nil { + return nil, err + } + return c.Get(path, params...) +} + +func (c *Client) Get(path string, params ...string) (*Response, error) { var response Response - data, err := c.GetRaw(ctx, path, params...) + data, err := c.GetRaw(path, params...) if err != nil { return nil, err } @@ -131,7 +139,7 @@ func (c *Client) Get(ctx context.Context, path string, params ...string) (*Respo return &response, nil } -func (c *Client) GetRaw(ctx context.Context, path string, params ...string) ([]byte, error) { +func (c *Client) GetRaw(path string, params ...string) ([]byte, error) { logger := log.Logger.With("func", "GetRaw") path = strings.TrimLeft(path, "/") values := url.Values{} @@ -142,7 +150,8 @@ func (c *Client) GetRaw(ctx context.Context, path string, params ...string) ([]b values.Add(params[i], params[i+1]) } fullURL := fmt.Sprintf("%s/%s?%s", c.baseUrl, path, values.Encode()) - req, err := http.NewRequestWithContext(ctx, http.MethodGet, fullURL, http.NoBody) + // nolint:noctx + req, err := http.NewRequest(http.MethodGet, fullURL, http.NoBody) if err != nil { return nil, err } @@ -167,15 +176,15 @@ func (c *Client) GetRaw(ctx context.Context, path string, params ...string) ([]b } func (c *Client) GetRawIndex(ctx context.Context) ([]byte, error) { - return c.GetRaw(ctx, IndexPath) + return c.GetRaw(IndexPath) } func (c *Client) GetRoot(ctx context.Context) (*Response, error) { - return c.Get(ctx, RootPath) + return c.Get(RootPath) } func (c *Client) GetRawContained(ctx context.Context, resource string) ([]byte, error) { - return c.GetRaw(ctx, ContainedPath, "resource", resource) + return c.GetRaw(ContainedPath, "resource", resource) } func (c *Client) GetCachedTimeOffset() time.Duration { @@ -199,7 +208,7 @@ func (c *Client) ensureTimeData() *TimeData { func (c *Client) updateTimeData() *TimeData { logger := log.Logger.With("func", "updateTimeData") result, _, _ := c.single.Do("timeData", func() (any, error) { - response, err := c.Get(context.Background(), PerformPath, "resource", ",,SYSPLEX", "id", "8D0D50") + response, err := c.Get(PerformPath, "resource", ",,SYSPLEX", "id", "8D0D50") if err != nil { logger.Error("unable to fetch DDS time data", "error", err) } @@ -219,10 +228,10 @@ func (c *Client) updateTimeData() *TimeData { return nil } -func (c *Client) GetCachedMintime() int { +func (c *Client) GetCachedMintime() time.Duration { timeData := c.ensureTimeData() if timeData != nil { - return c.timeData.MinTime.Value + return time.Duration(c.timeData.MinTime.Value) * time.Second } return 0 } diff --git a/grafana/rmf-app/pkg/plugin/dds/headers.go b/grafana/rmf-app/pkg/plugin/dds/headers.go index fa016453..106d1778 100644 --- a/grafana/rmf-app/pkg/plugin/dds/headers.go +++ b/grafana/rmf-app/pkg/plugin/dds/headers.go @@ -1,6 +1,6 @@ /** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,6 @@ package dds import ( - "context" "encoding/xml" "regexp" "strings" @@ -78,7 +77,7 @@ func (c *Client) updateHeaders() *HeaderMap { logger := log.Logger.With("func", "GetHeaderMap") result, _, _ := c.single.Do("headers", func() (any, error) { headers := HeaderMap{} - raw, err := c.GetRaw(context.Background(), XslHeadersPath) + raw, err := c.GetRaw(XslHeadersPath) if err != nil { logger.Error("failed to fetch XSL header map", "error", err) return &headers, err @@ -105,14 +104,15 @@ func buildHeaders(res HeaderMap, report string, choose XslChoose) { match := XslConditionRe.FindStringSubmatch(condition) if len(match) > 0 { key, value := match[1], match[2] - if key == "var" { + switch key { + case "var": if _, ok := res[report]; !ok { res[report] = make(map[string]string) } res[report][value] = strings.TrimSpace(when.Text) - } else if key == "report" { + case "report": buildHeaders(res, value, when.Choose) - } else { + default: logger.Error("unexpected condition key in XSL header map", "key", key) } } else { diff --git a/grafana/rmf-app/pkg/plugin/dds/request.go b/grafana/rmf-app/pkg/plugin/dds/request.go new file mode 100644 index 00000000..19288613 --- /dev/null +++ b/grafana/rmf-app/pkg/plugin/dds/request.go @@ -0,0 +1,78 @@ +/** +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. + */ + +package dds + +import ( + "fmt" + "net/url" + "strings" + "time" + + "github.com/grafana/grafana-plugin-sdk-go/data" +) + +type Request struct { + Resource string + TimeRange data.TimeRange +} + +func NewRequest(res string, from time.Time, to time.Time, step time.Duration) *Request { + q := Request{Resource: res, TimeRange: data.TimeRange{From: from, To: to}} + q.Align(step) + return &q +} + +func (r *Request) Align(d time.Duration) { + r.TimeRange.From = r.TimeRange.From.Truncate(d) + r.TimeRange.To = r.TimeRange.To.Truncate(d).Add(d) +} + +func (r *Request) Add(d time.Duration) { + r.TimeRange.From = r.TimeRange.From.Add(d) + r.TimeRange.To = r.TimeRange.To.Add(d) +} + +func (r *Request) String() string { + return fmt.Sprintf("%s [%s - %s]", r.Resource, r.TimeRange.From, r.TimeRange.To) +} + +func (r *Request) formatRange(timeOfs time.Duration) string { + from := r.TimeRange.From + to := r.TimeRange.To + return from.Add(timeOfs).Format(DateTimeFormat) + "," + to.Add(timeOfs).Format(DateTimeFormat) +} + +func (r *Request) pathWithParams(timeOfs time.Duration) (string, []string, error) { + path := "" + rawParams, err := url.ParseQuery(r.Resource) + if err != nil { + return "", nil, err + } + params := make([]string, 0, 1) + for key, values := range rawParams { + if key == "report" { + path = FullReportPath + } + params = append(params, key, strings.Join(values, ";")) + } + if path == "" { + path = PerformPath + } + params = append(params, "range", r.formatRange(timeOfs)) + return path, params, nil +} diff --git a/grafana/rmf-app/pkg/plugin/dds/response.go b/grafana/rmf-app/pkg/plugin/dds/response.go index a051ae7c..65d731c6 100644 --- a/grafana/rmf-app/pkg/plugin/dds/response.go +++ b/grafana/rmf-app/pkg/plugin/dds/response.go @@ -98,7 +98,7 @@ func (dt *DateTime) MarshalJSON() ([]byte, error) { if dt == nil { return nil, nil } - return []byte(`"` + dt.Time.Format(DateTimeFormat) + `"`), nil + return []byte(`"` + dt.Format(DateTimeFormat) + `"`), nil } type Message struct { diff --git a/grafana/rmf-app/pkg/plugin/frame/frame.go b/grafana/rmf-app/pkg/plugin/frame/frame.go index 803d87ca..7dbbe1b7 100644 --- a/grafana/rmf-app/pkg/plugin/frame/frame.go +++ b/grafana/rmf-app/pkg/plugin/frame/frame.go @@ -1,6 +1,6 @@ /** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,7 +35,22 @@ const BannerPrefix = "Banner::" const CaptionPrefix = "Caption::" const ReportDateFormat = "01/02/2006 15:04:05" -func Build(ddsResponse *dds.Response, headers *dds.HeaderMap, queryModel *QueryModel) (*data.Frame, error) { +func TaggedFrame(t time.Time, tag string) *data.Frame { + return data.NewFrame( + "", + data.NewField("time", nil, []time.Time{t}), + data.NewField(tag, nil, []*float64{nil}), + ) +} + +func NoDataFrame(t time.Time) *data.Frame { + return data.NewFrame( + "", + data.NewField("time", nil, []time.Time{t}), + ) +} + +func Build(ddsResponse *dds.Response, headers *dds.HeaderMap, wide bool) (*data.Frame, error) { logger := log.Logger.With("func", "Build") reportsNum := len(ddsResponse.Reports) @@ -63,47 +78,28 @@ func Build(ddsResponse *dds.Response, headers *dds.HeaderMap, queryModel *QueryM } format := report.Metric.Format - timeCopy := queryModel.CurrentTime - queryModel.UpdateFromTimeData(report.TimeData) - if !queryModel.CurrentTime.Equal(timeCopy) { - logger.Debug("CurrentTime updated", "before", timeCopy.String(), - "after", queryModel.CurrentTime.String(), - "mintime", queryModel.Mintime, - "start", report.TimeData.LocalStart.Time.String(), - "end", report.TimeData.LocalEnd.Time.String(), - "prev", report.TimeData.LocalPrev.Time.String(), - "next", report.TimeData.LocalNext.Time.String()) - } + frameName := strings.Trim(report.Metric.Description, " ") var newFrame *data.Frame + if format == dds.ReportFormat { - newFrame = buildForReport(&report, headers, queryModel) + newFrame = buildForReport(&report, headers, frameName) + } else if wide { + return buildWideForMetric(&report, frameName), nil } else { - newFrame = buildForMetric(&report, queryModel) + return buildLongForMetric(&report, frameName), nil } return newFrame, nil } -// buildForMetric parses JSON string and create a data frame either for time series or a regular one. -func buildForMetric(report *dds.Report, query *QueryModel) *data.Frame { - queryName := getFrameName(query) - - if query.SelectedVisualisationType == TimeSeriesType { - return buildWideForMetric(report, queryName) - } else { - return buildLongForMetric(report, queryName) - } -} - // buildWideForMetric creates a time series data frame for a metric from pre-parsed DDS response. // Grafana frame format: wide. -func buildWideForMetric(report *dds.Report, queryName string) *data.Frame { - frameName := queryName +func buildWideForMetric(report *dds.Report, frameName string) *data.Frame { timestamp := report.TimeData.UTCEnd.Time metricFormat := report.Metric.Format - labels := getFrameLabels(metricFormat, queryName) + labels := getFrameLabels(metricFormat, frameName) resultFrame := data.NewFrame(frameName, data.NewField("time", nil, []time.Time{timestamp})) - iterateMetricRows(report, queryName, + iterateMetricRows(report, frameName, func(name string, value *float64) { newField := data.NewField(name, labels, []*float64{value}) resultFrame.Fields = append(resultFrame.Fields, newField) @@ -114,7 +110,7 @@ func buildWideForMetric(report *dds.Report, queryName string) *data.Frame { // Solution for single type metric is to send nil values if there's no data. // For list type metrics, we don't have column names to do the same; it has to be fixed differently. if len(resultFrame.Fields) == 1 && metricFormat == "single" { - newField := data.NewField(queryName, labels, []*float64{nil}) + newField := data.NewField(frameName, labels, []*float64{nil}) resultFrame.Fields = append(resultFrame.Fields, newField) } @@ -123,15 +119,15 @@ func buildWideForMetric(report *dds.Report, queryName string) *data.Frame { // buildLongForMetric creates a non time series data frame for a metric from pre-parsed DDS response. // Grafana frame format: long. -func buildLongForMetric(report *dds.Report, queryName string) *data.Frame { +func buildLongForMetric(report *dds.Report, frameName string) *data.Frame { metricFormat := report.Metric.Format nameField := "metric" timestamp := report.TimeData.UTCEnd.Time - valField := queryName + valField := frameName if metricFormat == "list" { - valField, nameField = splitQueryName(queryName) + valField, nameField = splitQueryName(frameName) if nameField == "" { - nameField = queryName + nameField = frameName valField = "value" } } @@ -142,7 +138,7 @@ func buildLongForMetric(report *dds.Report, queryName string) *data.Frame { data.NewField(valField, nil, []*float64{}), ) - iterateMetricRows(report, queryName, + iterateMetricRows(report, frameName, func(name string, value *float64) { resultFrame.Fields[0].Append(timestamp) resultFrame.Fields[1].Append(name) @@ -179,9 +175,9 @@ func iterateMetricRows(report *dds.Report, defaultName string, process func(name } } -func buildForReport(report *dds.Report, headers *dds.HeaderMap, qm *QueryModel) *data.Frame { +func buildForReport(report *dds.Report, headers *dds.HeaderMap, frameName string) *data.Frame { logger := log.Logger.With("func", "buildForReport") - frame := data.NewFrame(getFrameName(qm)) + frame := data.NewFrame(frameName) reportName := report.Metric.Id for i, col := range report.Headers.Cols { diff --git a/grafana/rmf-app/pkg/plugin/frame/frame_test.go b/grafana/rmf-app/pkg/plugin/frame/frame_test.go index e47ffacd..491e2b52 100644 --- a/grafana/rmf-app/pkg/plugin/frame/frame_test.go +++ b/grafana/rmf-app/pkg/plugin/frame/frame_test.go @@ -1,6 +1,6 @@ /** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,7 +33,7 @@ type TestCase struct { Name string Description string Skip bool - QueryModel QueryModel + Wide bool DdsResponse *dds.Response ExpectedFrame json.RawMessage ExpectedError string @@ -64,7 +64,7 @@ func TestFrame(t *testing.T) { var expectedJson bytes.Buffer err := json.Indent(&expectedJson, testCase.ExpectedFrame, "", " ") if assert.NoError(t, err, "failed to indent") { - frame, err := Build(testCase.DdsResponse, nil, &testCase.QueryModel) + frame, err := Build(testCase.DdsResponse, nil, testCase.Wide) if err == nil { actualJson, _ := json.MarshalIndent(frame, "", " ") assert.JSONEq(t, expectedJson.String(), string(actualJson), "frames are not identical") diff --git a/grafana/rmf-app/pkg/plugin/frame/query.go b/grafana/rmf-app/pkg/plugin/frame/query.go deleted file mode 100644 index fe2be068..00000000 --- a/grafana/rmf-app/pkg/plugin/frame/query.go +++ /dev/null @@ -1,214 +0,0 @@ -/** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. - */ - -package frame - -import ( - "encoding/json" - "errors" - "net/url" - "strings" - "time" - - "github.com/IBM/RMF/grafana/rmf-app/pkg/plugin/dds" - "github.com/grafana/grafana-plugin-sdk-go/backend" -) - -const TimeSeriesType = "TimeSeries" - -var ErrBlankResource = errors.New("resource is blank") - -type ResponseStatus struct { - TimeOffset time.Duration // The timezone offset value from UTC time - Mintime int - LocalPrev time.Time - LocalNext time.Time - - CurrentTime time.Time -} - -func (rs *ResponseStatus) Update(other *ResponseStatus) { - rs.TimeOffset = other.TimeOffset - rs.Mintime = other.Mintime - rs.LocalPrev = other.LocalPrev - rs.LocalNext = other.LocalNext - rs.CurrentTime = other.CurrentTime -} - -func (rs *ResponseStatus) UpdateFromTimeData(timeData *dds.TimeData) { - rs.TimeOffset = timeData.LocalStart.Sub(timeData.UTCStart.Time) - rs.Mintime = timeData.MinTime.Value - rs.LocalPrev = timeData.LocalPrev.Time - rs.LocalNext = timeData.LocalNext.Time - //ensure CurrentTime inside interval - //currentMiddle = S+(E-S)/2 - currentMiddle := timeData.LocalStart.Time.Add( - time.Duration( - timeData.LocalEnd.Time.Sub(timeData.LocalStart.Time).Nanoseconds() / 2, - ), - ) - currentMiddle = currentMiddle.Add(-1 * rs.TimeOffset) - rs.CurrentTime = currentMiddle - duration := timeData.LocalEnd.Time.Sub(timeData.LocalStart.Time) - if int(duration.Seconds()) != rs.Mintime { - rs.AdjustCurrentTime() - } -} - -func (rs *ResponseStatus) AdjustCurrentTime() { - rs.CurrentTime = rs.AdjustRealtime(rs.CurrentTime, rs.Mintime) -} - -func (rs *ResponseStatus) AdjustRealtime(realtime time.Time, mintime int) time.Time { - if mintime == 0 { - return realtime - } - - y := realtime.Year() - M := realtime.Month() - d := realtime.Day() - h := realtime.Hour() - m := realtime.Minute() - s := realtime.Second() - - sec0 := m*60 + s - intnum := sec0 / int(mintime) - m = intnum * int(mintime) / 60 - s = intnum * int(mintime) % 60 - half := mintime / 2 - - t := time.Date( - y, - time.Month(M), - int(d), - int(h), - int(m), - int(s), - 0, realtime.Location()). - Add(time.Duration(time.Duration(half) * time.Second)) - return t -} - -type QueryModel struct { - SelectedQuery string `json:"selectedQuery"` - // FIXME: it contains also metric ID and needs to be re-parsed, e.g. id=8D21B0&resource=,,SYSPLEX - SelectedResource SelectedResource `json:"selectedResource"` - RefreshRequired bool `json:"refreshRequired"` - AbsoluteTimeSelected bool `json:"absoluteTimeSelected"` - DashboardUid string `json:"dashboardUid"` - SelectedVisualisationType string `json:"selectedVisualisationType"` - RMFPanelId string `json:"rmfPanelGuid"` - TimeRangeFrom time.Time // 'From' time converted to UTC - TimeRangeTo time.Time // 'To' time converted to UTC - SeriesFields SeriesFields // If it's a time series, we have to maintain field map - - ResponseStatus - LastTime time.Time -} - -func NewQueryModel(query backend.DataQuery) (*QueryModel, error) { - var qm QueryModel - if err := json.Unmarshal(query.JSON, &qm); err != nil { - return nil, err - } - if qm.SelectedQuery == "" { - return nil, ErrBlankResource - } - qm.TimeRangeFrom, qm.TimeRangeTo = query.TimeRange.From.UTC(), query.TimeRange.To.UTC() - return &qm, nil -} - -func (q *QueryModel) Copy() *QueryModel { - copy := *q - return © -} - -func (qm *QueryModel) getQueryType() string { - var resultQueryType string - if strings.Trim(qm.SelectedQuery, "") != "" { - splitStringSlice := strings.SplitAfter(qm.SelectedQuery, ".") - if len(splitStringSlice) > 1 { - vt := splitStringSlice[1] - if strings.ToLower(vt) == "report." { - resultQueryType = "report" - } else { - resultQueryType = "gauge" - } - } - } - return resultQueryType -} - -func (qm *QueryModel) getTime() string { - var time time.Time - if qm.SelectedVisualisationType == TimeSeriesType { - time = qm.CurrentTime.Add(qm.TimeOffset) - } else { - time = qm.TimeRangeFrom.Add(qm.TimeOffset) - } - return time.Format(dds.DateTimeFormat) -} - -func (qm *QueryModel) getTimeRange() string { - var ( - serverFromTime, serverToTime time.Time - ) - if qm.SelectedVisualisationType == TimeSeriesType { - serverFromTime = qm.CurrentTime.Add(qm.TimeOffset) - serverToTime = qm.CurrentTime.Add(qm.TimeOffset) - } else { - serverFromTime = qm.TimeRangeFrom.Add(qm.TimeOffset) - serverToTime = qm.TimeRangeTo.Add(qm.TimeOffset) - } - return serverFromTime.Format(dds.DateTimeFormat) + "," + serverToTime.Format(dds.DateTimeFormat) -} - -func (qm *QueryModel) GetPathWithParams() (string, []string) { - var path string - if qm.getQueryType() == "report" { - path = dds.FullReportPath - } else { - path = dds.PerformPath - } - paramList := make([]string, 0, 1) - if qm.SelectedVisualisationType == TimeSeriesType { - paramList = append(paramList, "time", qm.getTime()) - } else { - paramList = append(paramList, "range", qm.getTimeRange()) - } - // FIXME: process errors - params, _ := url.ParseQuery(qm.SelectedResource.Value) - for key, values := range params { - paramList = append(paramList, key, strings.Join(values, ";")) - } - return path, paramList -} - -func (q *QueryModel) CacheKey() []byte { - return []byte(q.SelectedResource.Value + " " + q.CurrentTime.String()) -} - -func (q *QueryModel) TimeRangeExceeded() bool { - return q.CurrentTime.Before(q.TimeRangeFrom. - Add(-1*time.Duration(time.Second*time.Duration(q.Mintime/2)))) || - q.CurrentTime.After(q.TimeRangeTo) -} - -type SelectedResource struct { - Label string `json:"label"` - Value string `json:"value"` -} diff --git a/grafana/rmf-app/pkg/plugin/frame/testdata/frames.json b/grafana/rmf-app/pkg/plugin/frame/testdata/frames.json index e87a04d9..d2667df7 100644 --- a/grafana/rmf-app/pkg/plugin/frame/testdata/frames.json +++ b/grafana/rmf-app/pkg/plugin/frame/testdata/frames.json @@ -3,133 +3,82 @@ "name": "OutOfRange", "description": "DDS returns interval different from what we requested for time series", "skip": true, + "wide": true, "ddsResponse": { "report": [ { "metric": { - "format": "single" + "format": "single", + "description": "MetricName" }, "row": [ { - "col": [ - "*NoData*", - "NaN" - ] + "col": ["*NoData*", "NaN"] } ] } ] }, - "queryModel": { - "timeRangeFrom": "2024-01-01T02:30:00Z", - "timeRangeTo": "2024-01-01T02:30:00Z", - "selectedQuery": "Resource.MetricName", - "ServerTimeData": { - "localStartTime": "2024-01-01T01:00:00Z", - "localEndTime": "2024-01-01T02:00:00Z" - }, - "selectedVisualisationType": "TimeSeries" - }, "expectedFrame": {}, "expectedError": "unexpected data in MetricFrameFromJson(): Error = requested time range is out of received interval" }, { "name": "NoReportSections", "description": "No reports in DDS response", + "wide": true, "ddsResponse": {}, - "queryModel": { - "selectedVisualisationType": "TimeSeries" - }, "expectedFrame": {}, "expectedError": "no reports in DDS response" }, { "name": "PositiveTimeSeriesList", "description": "Positive time series scenario for list format metric", + "wide": true, "ddsResponse": { "report": [ { "metric": { - "format": "list" + "format": "list", + "description": "MetricName by XYZ " }, "timeData": { "utcEnd": "20240101013000" }, "row": [ { - "col": [ - "ResourceName0", - "0" - ] + "col": ["ResourceName0", "0"] }, { - "col": [ - "ResourceName1", - "0.0" - ] + "col": ["ResourceName1", "0.0"] }, { - "col": [ - "ResourceName2", - "-0.0" - ] + "col": ["ResourceName2", "-0.0"] }, { - "col": [ - "ResourceName3", - "10.3" - ] + "col": ["ResourceName3", "10.3"] }, { - "col": [ - "ResourceName4", - "-10" - ] + "col": ["ResourceName4", "-10"] }, { - "col": [ - "ResourceName5", - "NaN" - ] + "col": ["ResourceName5", "NaN"] }, { - "col": [ - "ResourceName6", - "Deact" - ] + "col": ["ResourceName6", "Deact"] }, { - "col": [ - "ResourceName7", - "" - ] + "col": ["ResourceName7", ""] }, { - "col": [ - "*NoData*", - "NaN" - ] + "col": ["*NoData*", "NaN"] }, { - "col": [ - "*NoData*", - "0.0" - ] + "col": ["*NoData*", "0.0"] } ] } ] }, - "queryModel": { - "timeRangeFrom": "2024-01-01T01:30:00Z", - "timeRangeTo": "2024-01-01T01:30:00Z", - "selectedQuery": "Resource.MetricName by XYZ ", - "ServerTimeData": { - "localStartTime": "2024-01-01T01:00:00Z", - "localEndTime": "2024-01-01T02:00:00Z" - }, - "selectedVisualisationType": "TimeSeries" - }, "expectedFrame": { "schema": { "name": "MetricName by XYZ", @@ -232,56 +181,27 @@ ] }, "data": { - "values": [ - [ - 1704072600000 - ], - [ - 0 - ], - [ - 0 - ], - [ - -0 - ], - [ - 10.3 - ], - [ - -10 - ], - [ - null - ], - [ - null - ], - [ - null - ] - ] + "values": [[1704072600000], [0], [0], [-0], [10.3], [-10], [null], [null], [null]] } } }, { "name": "PositiveTimeSeriesSingle", "description": "Positive time series scenario for single format metric", + "wide": true, "ddsResponse": { "report": [ { "metric": { - "format": "single" + "format": "single", + "description": "MetricName" }, "timeData": { "utcEnd": "20240101013000" }, "row": [ { - "col": [ - "", - "42" - ] + "col": ["", "42"] } ] } @@ -320,25 +240,20 @@ ] }, "data": { - "values": [ - [ - 1704072600000 - ], - [ - 42 - ] - ] + "values": [[1704072600000], [42]] } } }, { "name": "NoRowsTimeSeriesList", "description": "No rows returned for time series list format frame", + "wide": true, "ddsResponse": { "report": [ { "metric": { - "format": "list" + "format": "list", + "description": "MetricName" }, "timeData": { "utcEnd": "20240101013000" @@ -347,16 +262,6 @@ } ] }, - "queryModel": { - "timeRangeFrom": "2024-01-01T01:30:00Z", - "timeRangeTo": "2024-01-01T01:30:00Z", - "selectedQuery": "Resource.MetricName", - "ServerTimeData": { - "localStartTime": "2024-01-01T01:00:00Z", - "localEndTime": "2024-01-01T02:00:00Z" - }, - "selectedVisualisationType": "TimeSeries" - }, "expectedFrame": { "schema": { "name": "MetricName", @@ -371,47 +276,32 @@ ] }, "data": { - "values": [ - [ - 1704072600000 - ] - ] + "values": [[1704072600000]] } } }, { "name": "NoDataTimeSeriesSingle", "description": "No data returned for time series single format frame", + "wide": true, "ddsResponse": { "report": [ { "metric": { - "format": "single" + "format": "single", + "description": "MetricName" }, "timeData": { "utcEnd": "20240101013000" }, "row": [ { - "col": [ - "*NoData*", - "NaN" - ] + "col": ["*NoData*", "NaN"] } ] } ] }, - "queryModel": { - "timeRangeFrom": "2024-01-01T01:30:00Z", - "timeRangeTo": "2024-01-01T01:30:00Z", - "selectedQuery": "Resource.MetricName", - "ServerTimeData": { - "localStartTime": "2024-01-01T01:00:00Z", - "localEndTime": "2024-01-01T02:00:00Z" - }, - "selectedVisualisationType": "TimeSeries" - }, "expectedFrame": { "schema": { "name": "MetricName", @@ -435,14 +325,7 @@ ] }, "data": { - "values": [ - [ - 1704072600000 - ], - [ - null - ] - ] + "values": [[1704072600000], [null]] } } }, @@ -453,85 +336,47 @@ "report": [ { "metric": { - "format": "list" + "format": "list", + "description": "MetricName by XYZ " }, "timeData": { "utcEnd": "20240101013000" }, "row": [ { - "col": [ - "ResourceName0", - "0" - ] + "col": ["ResourceName0", "0"] }, { - "col": [ - "ResourceName1", - "0.0" - ] + "col": ["ResourceName1", "0.0"] }, { - "col": [ - "ResourceName2", - "-0.0" - ] + "col": ["ResourceName2", "-0.0"] }, { - "col": [ - "ResourceName3", - "10.3" - ] + "col": ["ResourceName3", "10.3"] }, { - "col": [ - "ResourceName4", - "-10" - ] + "col": ["ResourceName4", "-10"] }, { - "col": [ - "ResourceName5", - "NaN" - ] + "col": ["ResourceName5", "NaN"] }, { - "col": [ - "ResourceName6", - "Deact" - ] + "col": ["ResourceName6", "Deact"] }, { - "col": [ - "ResourceName7", - "" - ] + "col": ["ResourceName7", ""] }, { - "col": [ - "*NoData*", - "NaN" - ] + "col": ["*NoData*", "NaN"] }, { - "col": [ - "*NoData*", - "0.0" - ] + "col": ["*NoData*", "0.0"] } ] } ] }, - "queryModel": { - "timeRangeFrom": "2024-01-01T01:30:00Z", - "timeRangeTo": "2024-01-01T01:30:00Z", - "selectedQuery": "Resource.MetricName by XYZ ", - "ServerTimeData": { - "localStartTime": "2024-01-01T01:00:00Z", - "localEndTime": "2024-01-01T02:00:00Z" - } - }, "expectedFrame": { "schema": { "fields": [ @@ -562,13 +407,7 @@ "data": { "values": [ [ - 1704072600000, - 1704072600000, - 1704072600000, - 1704072600000, - 1704072600000, - 1704072600000, - 1704072600000, + 1704072600000, 1704072600000, 1704072600000, 1704072600000, 1704072600000, 1704072600000, 1704072600000, 1704072600000 ], [ @@ -581,16 +420,7 @@ "ResourceName6", "ResourceName7" ], - [ - 0, - 0, - -0, - 10.3, - -10, - null, - null, - null - ] + [0, 0, -0, 10.3, -10, null, null, null] ] } } @@ -602,31 +432,20 @@ "report": [ { "metric": { - "format": "single" + "format": "single", + "description": "MetricName" }, "timeData": { "utcEnd": "20240101013000" }, "row": [ { - "col": [ - "", - "42" - ] + "col": ["", "42"] } ] } ] }, - "queryModel": { - "timeRangeFrom": "2024-01-01T01:30:00Z", - "timeRangeTo": "2024-01-01T01:30:00Z", - "selectedQuery": "Resource.MetricName", - "ServerTimeData": { - "localStartTime": "2024-01-01T01:00:00Z", - "localEndTime": "2024-01-01T02:00:00Z" - } - }, "expectedFrame": { "schema": { "fields": [ @@ -655,17 +474,7 @@ ] }, "data": { - "values": [ - [ - 1704072600000 - ], - [ - "MetricName" - ], - [ - 42 - ] - ] + "values": [[1704072600000], ["MetricName"], [42]] } } }, @@ -676,22 +485,14 @@ "report": [ { "metric": { - "format": "list" + "format": "list", + "description": "MetricName by XYZ " }, "timeData": {}, "row": [] } ] }, - "queryModel": { - "timeRangeFrom": "2024-01-01T01:30:00Z", - "timeRangeTo": "2024-01-01T01:30:00Z", - "selectedQuery": "Resource.MetricName by XYZ ", - "ServerTimeData": { - "localStartTime": "2024-01-01T01:00:00Z", - "localEndTime": "2024-01-01T02:00:00Z" - } - }, "expectedFrame": { "schema": { "fields": [ @@ -720,11 +521,7 @@ ] }, "data": { - "values": [ - [], - [], - [] - ] + "values": [[], [], []] } } }, @@ -735,29 +532,18 @@ "report": [ { "metric": { - "format": "single" + "format": "single", + "description": "MetricName " }, "timeData": {}, "row": [ { - "col": [ - "*NoData*", - "NaN" - ] + "col": ["*NoData*", "NaN"] } ] } ] }, - "queryModel": { - "timeRangeFrom": "2024-01-01T01:30:00Z", - "timeRangeTo": "2024-01-01T01:30:00Z", - "selectedQuery": "Resource.MetricName ", - "ServerTimeData": { - "localStartTime": "2024-01-01T01:00:00Z", - "localEndTime": "2024-01-01T02:00:00Z" - } - }, "expectedFrame": { "schema": { "fields": [ @@ -786,11 +572,7 @@ ] }, "data": { - "values": [ - [], - [], - [] - ] + "values": [[], [], []] } } } diff --git a/grafana/rmf-app/pkg/plugin/frame/utils.go b/grafana/rmf-app/pkg/plugin/frame/utils.go index edd62009..fd764904 100644 --- a/grafana/rmf-app/pkg/plugin/frame/utils.go +++ b/grafana/rmf-app/pkg/plugin/frame/utils.go @@ -1,6 +1,6 @@ /** -* (C) Copyright IBM Corp. 2023, 2024. -* (C) Copyright Rocket Software, Inc. 2023-2024. +* (C) Copyright IBM Corp. 2023, 2025. +* (C) Copyright Rocket Software, Inc. 2023-2025. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,26 +24,6 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/data" ) -func getFrameName(qm *QueryModel) string { - var resultFrameName string - if strings.Trim(qm.SelectedQuery, " ") != "" { - splitStringSlice := strings.SplitAfter(qm.SelectedQuery, ".") - if len(splitStringSlice) > 1 { - vt := splitStringSlice[1] - if strings.ToLower(vt) == "report." { - resultFrameName = splitStringSlice[1] + splitStringSlice[2] - } else { - if strings.Contains(vt, "{") { - resultFrameName = vt[:strings.Index(vt, "{")] - } else { - resultFrameName = vt - } - } - } - } - return strings.Trim(resultFrameName, " ") -} - // getFrameLabels builds labels based on DDS metric name and type func getFrameLabels(metricType string, queryName string) data.Labels { labels := data.Labels{} diff --git a/grafana/rmf-app/yarn.lock b/grafana/rmf-app/yarn.lock index 9991ce7e..ca818b17 100644 --- a/grafana/rmf-app/yarn.lock +++ b/grafana/rmf-app/yarn.lock @@ -32,13 +32,14 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/code-frame@npm:7.25.9" +"@babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" dependencies: - "@babel/highlight": "npm:^7.25.9" - picocolors: "npm:^1.0.0" - checksum: 10c0/88562eba0eeb5960b7004e108790aa00183d90cbbe70ce10dad01c2c48141d2ef54d6dcd0c678cc1e456de770ffeb68e28559f4d222c01a110c79aea8733074b + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 languageName: node linkType: hard @@ -49,10 +50,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/compat-data@npm:7.25.9" - checksum: 10c0/8d9fc2074311ce61aaf5bccf740a808644d19d4859caf5fa46d8a7186a1ee0b0d8cbbc23f9371f8b397e84a885bdeab58d5f22d6799ddde55973252aac351a27 +"@babel/compat-data@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/compat-data@npm:7.27.2" + checksum: 10c0/077c9e01af3b90decee384a6a44dcf353898e980cee22ec7941f9074655dbbe97ec317345536cdc7ef7391521e1497930c522a3816af473076dd524be7fccd32 languageName: node linkType: hard @@ -79,26 +80,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/core@npm:7.25.9" +"@babel/core@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/core@npm:7.27.1" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.9" - "@babel/generator": "npm:^7.25.9" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helpers": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helpers": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d + checksum: 10c0/0fc31f87f5401ac5d375528cb009f4ea5527fc8c5bb5b64b5b22c033b60fd0ad723388933a5f3f5db14e1edd13c958e9dd7e5c68f9b68c767aeb496199c8a4bb languageName: node linkType: hard @@ -114,15 +115,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/generator@npm:7.25.9" +"@babel/generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/generator@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.25.9" + "@babel/parser": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/fca49a1440ac550bb835a73c0e8314849cd493a468a5431ca7f9dbb3d3443e3a1a6dcba2426752e8a97cc2feed4a3b7a0c639e1c45871c4a9dd0c994f08dd25a + checksum: 10c0/c4156434b21818f558ebd93ce45f027c53ee570ce55a84fd2d9ba45a79ad204c17e0bff753c886fb6c07df3385445a9e34dc7ccb070d0ac7e80bb91c8b57f423 languageName: node linkType: hard @@ -139,16 +141,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-compilation-targets@npm:7.25.9" +"@babel/helper-compilation-targets@npm:^7.27.1": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" dependencies: - "@babel/compat-data": "npm:^7.25.9" - "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 languageName: node linkType: hard @@ -162,13 +164,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-imports@npm:7.25.9" +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 languageName: node linkType: hard @@ -186,17 +188,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-transforms@npm:7.25.9" +"@babel/helper-module-transforms@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-transforms@npm:7.27.1" dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-simple-access": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/cd005e7585806845d79c5c0ca9e8926f186b430b0a558dad08a3611365eaad3ac587672b0d903530117dec454f48b6bdc3d164b19ea1b71ca1b4eb3be7b452ef + checksum: 10c0/196ab29635fe6eb5ba6ead2972d41b1c0d40f400f99bd8fc109cef21440de24c26c972fabf932585e618694d590379ab8d22def8da65a54459d38ec46112ead7 languageName: node linkType: hard @@ -217,16 +218,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-simple-access@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-string-parser@npm:7.24.8" @@ -234,10 +225,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-string-parser@npm:7.25.9" - checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 languageName: node linkType: hard @@ -248,10 +239,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 languageName: node linkType: hard @@ -262,10 +253,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-option@npm:7.25.9" - checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 languageName: node linkType: hard @@ -279,13 +270,13 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helpers@npm:7.25.9" +"@babel/helpers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helpers@npm:7.27.1" dependencies: - "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/4354fbf050291937d0f127f6f927a0c471b604524e0767516fefb91dc36427f25904dd0d2b2b3bbc66bce1894c680cc37eac9ab46970d70f24bf3e53375612de + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e078257b9342dae2c041ac050276c5a28701434ad09478e6dc6976abd99f721a5a92e4bebddcbca6b1c3a7e8acace56a946340c701aad5e7507d2c87446459ba languageName: node linkType: hard @@ -301,18 +292,6 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/highlight@npm:7.25.9" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 - languageName: node - linkType: hard - "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.6": version: 7.25.6 resolution: "@babel/parser@npm:7.25.6" @@ -324,14 +303,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/parser@npm:7.25.9" +"@babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/parser@npm:7.27.2" dependencies: - "@babel/types": "npm:^7.25.9" + "@babel/types": "npm:^7.27.1" bin: parser: ./bin/babel-parser.js - checksum: 10c0/143faff8a72331be5ed94080e0f4645cbeea814fb488cd9210154083735f67cb66fde32f6a4a80efd6c4cdf12c6f8b50995a465846093c7f65c5da8d7829627c + checksum: 10c0/3c06692768885c2f58207fc8c2cbdb4a44df46b7d93135a083f6eaa49310f7ced490ce76043a2a7606cdcc13f27e3d835e141b692f2f6337a2e7f43c1dbb04b4 languageName: node linkType: hard @@ -522,7 +501,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": version: 7.25.6 resolution: "@babel/runtime@npm:7.25.6" dependencies: @@ -531,7 +510,14 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.24.1, @babel/runtime@npm:^7.24.5": +"@babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.6, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.26.10": + version: 7.27.1 + resolution: "@babel/runtime@npm:7.27.1" + checksum: 10c0/530a7332f86ac5a7442250456823a930906911d895c0b743bf1852efc88a20a016ed4cd26d442d0ca40ae6d5448111e02a08dd638a4f1064b47d080e2875dc05 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.24.5": version: 7.25.7 resolution: "@babel/runtime@npm:7.25.7" dependencies: @@ -560,14 +546,14 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/template@npm:7.25.9" +"@babel/template@npm:^7.27.1": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" dependencies: - "@babel/code-frame": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 languageName: node linkType: hard @@ -586,18 +572,18 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/traverse@npm:7.25.9" +"@babel/traverse@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/traverse@npm:7.27.1" dependencies: - "@babel/code-frame": "npm:^7.25.9" - "@babel/generator": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 + checksum: 10c0/d912110037b03b1d70a2436cfd51316d930366a5f54252da2bced1ba38642f644f848240a951e5caf12f1ef6c40d3d96baa92ea6e84800f2e891c15e97b25d50 languageName: node linkType: hard @@ -612,13 +598,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/types@npm:7.25.9" +"@babel/types@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/types@npm:7.27.1" dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/33890d08bcb06b26a3a60e4c6c996cbdf2b8d8a3c212664de659c2775f80b002c5f2bceedaa309c384ff5e99bd579794fe6a7e41de07df70246f43c55016d349 + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/ed736f14db2fdf0d36c539c8e06b6bb5e8f9649a12b5c0e1c516fed827f27ef35085abe08bf4d1302a4e20c9a254e762eed453bce659786d4a6e01ba26a91377 languageName: node linkType: hard @@ -645,10 +631,10 @@ __metadata: languageName: node linkType: hard -"@discoveryjs/json-ext@npm:^0.5.0": - version: 0.5.7 - resolution: "@discoveryjs/json-ext@npm:0.5.7" - checksum: 10c0/e10f1b02b78e4812646ddf289b7d9f2cb567d336c363b266bd50cd223cf3de7c2c74018d91cd2613041568397ef3a4a2b500aba588c6e5bd78c38374ba68f38c +"@discoveryjs/json-ext@npm:^0.6.1": + version: 0.6.3 + resolution: "@discoveryjs/json-ext@npm:0.6.3" + checksum: 10c0/778a9f9d5c3696da3c1f9fa4186613db95a1090abbfb6c2601430645c0d0158cd5e4ba4f32c05904e2dd2747d57710f6aab22bd2f8aa3c4e8feab9b247c65d85 languageName: node linkType: hard @@ -671,6 +657,25 @@ __metadata: languageName: node linkType: hard +"@emotion/babel-plugin@npm:^11.13.5": + version: 11.13.5 + resolution: "@emotion/babel-plugin@npm:11.13.5" + dependencies: + "@babel/helper-module-imports": "npm:^7.16.7" + "@babel/runtime": "npm:^7.18.3" + "@emotion/hash": "npm:^0.9.2" + "@emotion/memoize": "npm:^0.9.0" + "@emotion/serialize": "npm:^1.3.3" + babel-plugin-macros: "npm:^3.1.0" + convert-source-map: "npm:^1.5.0" + escape-string-regexp: "npm:^4.0.0" + find-root: "npm:^1.1.0" + source-map: "npm:^0.5.7" + stylis: "npm:4.2.0" + checksum: 10c0/8ccbfec7defd0e513cb8a1568fa179eac1e20c35fda18aed767f6c59ea7314363ebf2de3e9d2df66c8ad78928dc3dceeded84e6fa8059087cae5c280090aeeeb + languageName: node + linkType: hard + "@emotion/cache@npm:^11.13.0, @emotion/cache@npm:^11.4.0": version: 11.13.1 resolution: "@emotion/cache@npm:11.13.1" @@ -684,16 +689,29 @@ __metadata: languageName: node linkType: hard -"@emotion/css@npm:11.13.4, @emotion/css@npm:^11.13.4": - version: 11.13.4 - resolution: "@emotion/css@npm:11.13.4" +"@emotion/cache@npm:^11.13.5, @emotion/cache@npm:^11.14.0": + version: 11.14.0 + resolution: "@emotion/cache@npm:11.14.0" dependencies: - "@emotion/babel-plugin": "npm:^11.12.0" - "@emotion/cache": "npm:^11.13.0" - "@emotion/serialize": "npm:^1.3.0" + "@emotion/memoize": "npm:^0.9.0" "@emotion/sheet": "npm:^1.4.0" - "@emotion/utils": "npm:^1.4.0" - checksum: 10c0/57971732b983f43e642e30496257168d5ecdd05be4d4a3cd7ff778f9e402a71fd8679272cb797abd61eab65724dad26af04c418a41219a062b8faa9cc01d3848 + "@emotion/utils": "npm:^1.4.2" + "@emotion/weak-memoize": "npm:^0.4.0" + stylis: "npm:4.2.0" + checksum: 10c0/3fa3e7a431ab6f8a47c67132a00ac8358f428c1b6c8421d4b20de9df7c18e95eec04a5a6ff5a68908f98d3280044f247b4965ac63df8302d2c94dba718769724 + languageName: node + linkType: hard + +"@emotion/css@npm:11.13.5, @emotion/css@npm:^11.13.5": + version: 11.13.5 + resolution: "@emotion/css@npm:11.13.5" + dependencies: + "@emotion/babel-plugin": "npm:^11.13.5" + "@emotion/cache": "npm:^11.13.5" + "@emotion/serialize": "npm:^1.3.3" + "@emotion/sheet": "npm:^1.4.0" + "@emotion/utils": "npm:^1.4.2" + checksum: 10c0/45d444b08c1a9776046786f1ad8b93297d9e0fb79e6a40b73e9f9c5c20a071f83bae2408e7b98fe526fc123774a18b12ae3c8dc5b5883b8169685ee7b8df9463 languageName: node linkType: hard @@ -711,7 +729,28 @@ __metadata: languageName: node linkType: hard -"@emotion/react@npm:11.13.3, @emotion/react@npm:^11.8.1": +"@emotion/react@npm:11.14.0": + version: 11.14.0 + resolution: "@emotion/react@npm:11.14.0" + dependencies: + "@babel/runtime": "npm:^7.18.3" + "@emotion/babel-plugin": "npm:^11.13.5" + "@emotion/cache": "npm:^11.14.0" + "@emotion/serialize": "npm:^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.2.0" + "@emotion/utils": "npm:^1.4.2" + "@emotion/weak-memoize": "npm:^0.4.0" + hoist-non-react-statics: "npm:^3.3.1" + peerDependencies: + react: ">=16.8.0" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/d0864f571a9f99ec643420ef31fde09e2006d3943a6aba079980e4d5f6e9f9fecbcc54b8f617fe003c00092ff9d5241179149ffff2810cb05cf72b4620cfc031 + languageName: node + linkType: hard + +"@emotion/react@npm:^11.8.1": version: 11.13.3 resolution: "@emotion/react@npm:11.13.3" dependencies: @@ -732,20 +771,20 @@ __metadata: languageName: node linkType: hard -"@emotion/serialize@npm:1.3.2": - version: 1.3.2 - resolution: "@emotion/serialize@npm:1.3.2" +"@emotion/serialize@npm:1.3.3, @emotion/serialize@npm:^1.3.3": + version: 1.3.3 + resolution: "@emotion/serialize@npm:1.3.3" dependencies: "@emotion/hash": "npm:^0.9.2" "@emotion/memoize": "npm:^0.9.0" "@emotion/unitless": "npm:^0.10.0" - "@emotion/utils": "npm:^1.4.1" + "@emotion/utils": "npm:^1.4.2" csstype: "npm:^3.0.2" - checksum: 10c0/b4873b643721d28b4450f9d77b71e6c8d0109e6825c54fc79e649d2fa438fe4080d2fa696ec8fda421b8e713fcd42306d6197b6121ddd2486ffab8e4b6311ce0 + checksum: 10c0/b28cb7de59de382021de2b26c0c94ebbfb16967a1b969a56fdb6408465a8993df243bfbd66430badaa6800e1834724e84895f5a6a9d97d0d224de3d77852acb4 languageName: node linkType: hard -"@emotion/serialize@npm:^1.2.0, @emotion/serialize@npm:^1.3.0, @emotion/serialize@npm:^1.3.1": +"@emotion/serialize@npm:^1.2.0, @emotion/serialize@npm:^1.3.1": version: 1.3.1 resolution: "@emotion/serialize@npm:1.3.1" dependencies: @@ -781,6 +820,15 @@ __metadata: languageName: node linkType: hard +"@emotion/use-insertion-effect-with-fallbacks@npm:^1.2.0": + version: 1.2.0 + resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.2.0" + peerDependencies: + react: ">=16.8.0" + checksum: 10c0/074dbc92b96bdc09209871070076e3b0351b6b47efefa849a7d9c37ab142130767609ca1831da0055988974e3b895c1de7606e4c421fecaa27c3e56a2afd3b08 + languageName: node + linkType: hard + "@emotion/utils@npm:^1.4.0": version: 1.4.0 resolution: "@emotion/utils@npm:1.4.0" @@ -788,10 +836,10 @@ __metadata: languageName: node linkType: hard -"@emotion/utils@npm:^1.4.1": - version: 1.4.1 - resolution: "@emotion/utils@npm:1.4.1" - checksum: 10c0/f4704e0bdf48062fd6eb9c64771c88f521aab1e108a48cb23d65b6438597c63a6945301cef4c43611e79e0e76a304ec5481c31025ea8f573d7ad5423d747602c +"@emotion/utils@npm:^1.4.2": + version: 1.4.2 + resolution: "@emotion/utils@npm:1.4.2" + checksum: 10c0/7d0010bf60a2a8c1a033b6431469de4c80e47aeb8fd856a17c1d1f76bbc3a03161a34aeaa78803566e29681ca551e7bf9994b68e9c5f5c796159923e44f78d9a languageName: node linkType: hard @@ -844,17 +892,17 @@ __metadata: languageName: node linkType: hard -"@floating-ui/react@npm:0.26.24": - version: 0.26.24 - resolution: "@floating-ui/react@npm:0.26.24" +"@floating-ui/react@npm:0.27.7": + version: 0.27.7 + resolution: "@floating-ui/react@npm:0.27.7" dependencies: "@floating-ui/react-dom": "npm:^2.1.2" - "@floating-ui/utils": "npm:^0.2.8" + "@floating-ui/utils": "npm:^0.2.9" tabbable: "npm:^6.0.0" peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 10c0/c5c3ac265802087673a69b0e08b3bea1ee02de9da4cdbc40bb1c9e06823be72628a82f1655b40d56a4383715b4ab3b6deddff4e69146f513970ee592e1dd8f92 + react: ">=17.0.0" + react-dom: ">=17.0.0" + checksum: 10c0/bb79c89a63dfb44917f1583548905437adb7ba3fc9ece27c45b12532a60423425f8ae9fde8a54b10711e6449585ffde0951aa70a4f13f99eaeacd5006d7d69e5 languageName: node linkType: hard @@ -865,10 +913,10 @@ __metadata: languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.8": - version: 0.2.8 - resolution: "@floating-ui/utils@npm:0.2.8" - checksum: 10c0/a8cee5f17406c900e1c3ef63e3ca89b35e7a2ed645418459a73627b93b7377477fc888081011c6cd177cac45ec2b92a6cab018c14ea140519465498dddd2d3f9 +"@floating-ui/utils@npm:^0.2.9": + version: 0.2.9 + resolution: "@floating-ui/utils@npm:0.2.9" + checksum: 10c0/48bbed10f91cb7863a796cc0d0e917c78d11aeb89f98d03fc38d79e7eb792224a79f538ed8a2d5d5584511d4ca6354ef35f1712659fd569868e342df4398ad6f languageName: node linkType: hard @@ -921,49 +969,51 @@ __metadata: languageName: node linkType: hard -"@grafana/data@npm:11.3.0, @grafana/data@npm:^11.3.0": - version: 11.3.0 - resolution: "@grafana/data@npm:11.3.0" +"@grafana/data@npm:12.0.0, @grafana/data@npm:^12.0.0": + version: 12.0.0 + resolution: "@grafana/data@npm:12.0.0" dependencies: "@braintree/sanitize-url": "npm:7.0.1" - "@grafana/schema": "npm:11.3.0" + "@grafana/schema": "npm:12.0.0" "@types/d3-interpolate": "npm:^3.0.0" "@types/string-hash": "npm:1.1.3" + "@types/systemjs": "npm:6.15.1" d3-interpolate: "npm:3.0.1" - date-fns: "npm:3.6.0" - dompurify: "npm:^3.0.0" + date-fns: "npm:4.1.0" + dompurify: "npm:3.2.5" eventemitter3: "npm:5.0.1" fast_array_intersect: "npm:1.1.0" history: "npm:4.10.1" lodash: "npm:4.17.21" - marked: "npm:12.0.2" - marked-mangle: "npm:1.1.9" + marked: "npm:15.0.6" + marked-mangle: "npm:1.1.10" moment: "npm:2.30.1" - moment-timezone: "npm:0.5.46" + moment-timezone: "npm:0.5.47" ol: "npm:7.4.0" - papaparse: "npm:5.4.1" - react-use: "npm:17.5.1" + papaparse: "npm:5.5.2" + react-use: "npm:17.6.0" rxjs: "npm:7.8.1" string-hash: "npm:^1.1.3" tinycolor2: "npm:1.6.0" - tslib: "npm:2.7.0" - uplot: "npm:1.6.31" + tslib: "npm:2.8.1" + uplot: "npm:1.6.32" xss: "npm:^1.0.14" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/6e09e3fc109259b2efd4ba3fe182b7ee3eb6c7c997f2a2befd38e75cf09a0cbfb47511f8b14fbca15fa38a9ff73a52d953ad8b07043e94bbe4bb983fb7bb2851 + checksum: 10c0/3cbb001e3871c81cdbb830499f81b31aa02c7add43a1f694dc6fc0559db4c8b911b266a20ba37f7e5503bdd8decd8ff0d3a9feca462ff5dc662c3fa7a81b93ee languageName: node linkType: hard -"@grafana/e2e-selectors@npm:11.3.0": - version: 11.3.0 - resolution: "@grafana/e2e-selectors@npm:11.3.0" +"@grafana/e2e-selectors@npm:12.0.0": + version: 12.0.0 + resolution: "@grafana/e2e-selectors@npm:12.0.0" dependencies: "@grafana/tsconfig": "npm:^2.0.0" - tslib: "npm:2.7.0" - typescript: "npm:5.5.4" - checksum: 10c0/6b6fec3e00e173d5bece9744e6531dd8f6c44ee09d909a47df9dcec3ee8206911db2a6fead9e52078bec1e9415f0bf4698b421b751016bc9efedbd9f239c9e0e + semver: "npm:^7.7.0" + tslib: "npm:2.8.1" + typescript: "npm:5.7.3" + checksum: 10c0/b3b0f3c27f187270b39556c0f321c52b9bd1947cf9187e95601eeb3aedc1dfe0315ec9c8da8e2fa47f060625f329b2ee10f376027464e1631cad016d4e57b97a languageName: node linkType: hard @@ -984,53 +1034,56 @@ __metadata: languageName: node linkType: hard -"@grafana/faro-core@npm:^1.10.0": - version: 1.10.0 - resolution: "@grafana/faro-core@npm:1.10.0" +"@grafana/faro-core@npm:^1.18.1": + version: 1.18.1 + resolution: "@grafana/faro-core@npm:1.18.1" dependencies: "@opentelemetry/api": "npm:^1.9.0" - "@opentelemetry/otlp-transformer": "npm:^0.53.0" - checksum: 10c0/c61a68e0a0354b8223a72e36bfa3bf264321153601192d62c836d703837a845af22ac2bb8da060981fa755aeba47469b00917e4bf28a440e765b504e3e446238 + "@opentelemetry/otlp-transformer": "npm:^0.200.0" + checksum: 10c0/0fd3eeba7f33bfac7cdb6be8a0de52c831994c78388b3a5510ad6feded3bbd86390336ff8b4119e22c9827092a34338ad0eb7fd750ae7950dede8269268555fa languageName: node linkType: hard -"@grafana/faro-web-sdk@npm:^1.3.6": - version: 1.10.0 - resolution: "@grafana/faro-web-sdk@npm:1.10.0" +"@grafana/faro-web-sdk@npm:^1.13.2": + version: 1.18.1 + resolution: "@grafana/faro-web-sdk@npm:1.18.1" dependencies: - "@grafana/faro-core": "npm:^1.10.0" + "@grafana/faro-core": "npm:^1.18.1" ua-parser-js: "npm:^1.0.32" web-vitals: "npm:^4.0.1" - checksum: 10c0/cebdf0be3fe3fa892e8d8656b51044f7a58f88c7f7d4950e30902a2b51e610b6634c12534467b68ba1c2bd1b18fe8c7cb959e50feae30829dfc7d391950072af + checksum: 10c0/c54357bfdaae21b77fade72f9440d76fd4064ff30dd918368f30ed943c03e87008d0d95a7f3d63ae830ecf52ebd6d37c7f97281c04deb8124badf6cfe0e80483 languageName: node linkType: hard -"@grafana/runtime@npm:^11.3.0": - version: 11.3.0 - resolution: "@grafana/runtime@npm:11.3.0" +"@grafana/runtime@npm:^12.0.0": + version: 12.0.0 + resolution: "@grafana/runtime@npm:12.0.0" dependencies: - "@grafana/data": "npm:11.3.0" - "@grafana/e2e-selectors": "npm:11.3.0" - "@grafana/faro-web-sdk": "npm:^1.3.6" - "@grafana/schema": "npm:11.3.0" - "@grafana/ui": "npm:11.3.0" + "@grafana/data": "npm:12.0.0" + "@grafana/e2e-selectors": "npm:12.0.0" + "@grafana/faro-web-sdk": "npm:^1.13.2" + "@grafana/schema": "npm:12.0.0" + "@grafana/ui": "npm:12.0.0" + "@types/systemjs": "npm:6.15.1" history: "npm:4.10.1" lodash: "npm:4.17.21" + react-loading-skeleton: "npm:3.5.0" + react-use: "npm:17.6.0" rxjs: "npm:7.8.1" - tslib: "npm:2.7.0" + tslib: "npm:2.8.1" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/aa8f4d75fed10d25761276f0d45f1101760125e21a15d05ddc4b0cfb2adbc71612455df416beb1410174b0772beb0dade0efc637a2e3cb70b28bb1c7917a5b53 + checksum: 10c0/6c5c78dff9198ce38a2a5d7946c80e7df622c4b530464a9ed7a495c37f06cc2b9b230339171207098f7c77b25201ed46250f5ea0f967c2804a88c8e1709f5675 languageName: node linkType: hard -"@grafana/schema@npm:11.3.0, @grafana/schema@npm:^11.3.0": - version: 11.3.0 - resolution: "@grafana/schema@npm:11.3.0" +"@grafana/schema@npm:12.0.0, @grafana/schema@npm:^12.0.0": + version: 12.0.0 + resolution: "@grafana/schema@npm:12.0.0" dependencies: - tslib: "npm:2.7.0" - checksum: 10c0/27863a97e1084c6a04655987361c7c8e0870a66e459a0e867efb42de0a0b39beb22f921c6de2dafcc3ffcd3146278021048465def1e7e23bbb52d634c295ee33 + tslib: "npm:2.8.1" + checksum: 10c0/cbf5c1bd8267ca2a48d9b609840f481cd5bc6b81e363bf11c961e82a16d0266646ce9db52ce3d2f2838eb4790a6b3a293781a3fdc22d1e110a79f808fc940143 languageName: node linkType: hard @@ -1041,40 +1094,39 @@ __metadata: languageName: node linkType: hard -"@grafana/ui@npm:11.3.0, @grafana/ui@npm:^11.3.0": - version: 11.3.0 - resolution: "@grafana/ui@npm:11.3.0" +"@grafana/ui@npm:12.0.0, @grafana/ui@npm:^12.0.0": + version: 12.0.0 + resolution: "@grafana/ui@npm:12.0.0" dependencies: - "@emotion/css": "npm:11.13.4" - "@emotion/react": "npm:11.13.3" - "@emotion/serialize": "npm:1.3.2" - "@floating-ui/react": "npm:0.26.24" - "@grafana/data": "npm:11.3.0" - "@grafana/e2e-selectors": "npm:11.3.0" - "@grafana/faro-web-sdk": "npm:^1.3.6" - "@grafana/schema": "npm:11.3.0" - "@hello-pangea/dnd": "npm:16.6.0" - "@leeoniya/ufuzzy": "npm:1.0.14" + "@emotion/css": "npm:11.13.5" + "@emotion/react": "npm:11.14.0" + "@emotion/serialize": "npm:1.3.3" + "@floating-ui/react": "npm:0.27.7" + "@grafana/data": "npm:12.0.0" + "@grafana/e2e-selectors": "npm:12.0.0" + "@grafana/faro-web-sdk": "npm:^1.13.2" + "@grafana/schema": "npm:12.0.0" + "@hello-pangea/dnd": "npm:17.0.0" + "@leeoniya/ufuzzy": "npm:1.0.18" "@monaco-editor/react": "npm:4.6.0" "@popperjs/core": "npm:2.11.8" - "@react-aria/dialog": "npm:3.5.18" - "@react-aria/focus": "npm:3.18.3" - "@react-aria/overlays": "npm:3.23.3" - "@react-aria/utils": "npm:3.25.3" + "@react-aria/dialog": "npm:3.5.23" + "@react-aria/focus": "npm:3.20.1" + "@react-aria/overlays": "npm:3.26.1" + "@react-aria/utils": "npm:3.28.1" "@tanstack/react-virtual": "npm:^3.5.1" - "@types/jquery": "npm:3.5.31" - "@types/lodash": "npm:4.17.10" + "@types/jquery": "npm:3.5.32" + "@types/lodash": "npm:4.17.15" "@types/react-table": "npm:7.7.20" - ansicolor: "npm:1.1.100" calculate-size: "npm:1.1.1" classnames: "npm:2.5.1" d3: "npm:7.9.0" - date-fns: "npm:3.6.0" + date-fns: "npm:4.1.0" downshift: "npm:^9.0.6" hoist-non-react-statics: "npm:3.3.2" - i18next: "npm:^23.0.0" - i18next-browser-languagedetector: "npm:^7.0.2" - immutable: "npm:4.3.7" + i18next: "npm:^24.0.0" + i18next-browser-languagedetector: "npm:^8.0.0" + immutable: "npm:5.0.3" is-hotkey: "npm:0.2.0" jquery: "npm:3.7.1" lodash: "npm:4.17.21" @@ -1082,94 +1134,97 @@ __metadata: moment: "npm:2.30.1" monaco-editor: "npm:0.34.1" ol: "npm:7.4.0" - prismjs: "npm:1.29.0" - rc-cascader: "npm:3.28.1" + prismjs: "npm:1.30.0" + rc-cascader: "npm:3.33.0" rc-drawer: "npm:7.2.0" - rc-slider: "npm:11.1.7" - rc-time-picker: "npm:^3.7.3" - rc-tooltip: "npm:6.2.1" - react-calendar: "npm:5.0.0" + rc-picker: "npm:4.9.2" + rc-slider: "npm:11.1.8" + rc-tooltip: "npm:6.4.0" + react-calendar: "npm:^5.1.0" react-colorful: "npm:5.6.1" react-custom-scrollbars-2: "npm:4.5.0" - react-dropzone: "npm:14.2.9" - react-highlight-words: "npm:0.20.0" + react-data-grid: "npm:7.0.0-beta.46" + react-dropzone: "npm:14.3.5" + react-highlight-words: "npm:0.21.0" react-hook-form: "npm:^7.49.2" - react-i18next: "npm:^14.0.0" - react-inlinesvg: "npm:3.0.2" + react-i18next: "npm:^15.0.0" + react-inlinesvg: "npm:4.2.0" react-loading-skeleton: "npm:3.5.0" + react-router-dom: "npm:5.3.4" react-router-dom-v5-compat: "npm:^6.26.1" - react-select: "npm:5.8.1" + react-select: "npm:5.10.0" react-table: "npm:7.8.0" react-transition-group: "npm:4.4.5" - react-use: "npm:17.5.1" - react-window: "npm:1.8.10" + react-use: "npm:17.6.0" + react-window: "npm:1.8.11" rxjs: "npm:7.8.1" slate: "npm:0.47.9" slate-plain-serializer: "npm:0.7.13" slate-react: "npm:0.22.10" tinycolor2: "npm:1.6.0" - tslib: "npm:2.7.0" - uplot: "npm:1.6.31" - uuid: "npm:9.0.1" + tslib: "npm:2.8.1" + uplot: "npm:1.6.32" + uuid: "npm:11.0.5" + uwrap: "npm:0.1.1" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/dc0dc9a8bae9ece475596a9f743d375ea1bb997627efccb6da76a4c2bb0a14105f81fb79208f4e3d10702638797265c0ca8cb239e6f69b9d442853180034739b + checksum: 10c0/e3cde603de6dbca2bac7d40f9869f072bb349a4536c89130b36eb389fa84bb5c738fb4e957c9fb1a5a9fabcd5045f7751f5b3123c9b8491db74f4cdd0f8c8951 languageName: node linkType: hard -"@hello-pangea/dnd@npm:16.6.0": - version: 16.6.0 - resolution: "@hello-pangea/dnd@npm:16.6.0" +"@hello-pangea/dnd@npm:17.0.0": + version: 17.0.0 + resolution: "@hello-pangea/dnd@npm:17.0.0" dependencies: - "@babel/runtime": "npm:^7.24.1" + "@babel/runtime": "npm:^7.25.6" css-box-model: "npm:^1.2.1" memoize-one: "npm:^6.0.0" raf-schd: "npm:^4.0.3" - react-redux: "npm:^8.1.3" - redux: "npm:^4.2.1" + react-redux: "npm:^9.1.2" + redux: "npm:^5.0.1" use-memo-one: "npm:^1.1.3" peerDependencies: - react: ^16.8.5 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.5 || ^17.0.0 || ^18.0.0 - checksum: 10c0/ef43ba21f063f6497f399b457452d45be456b1f28405b148d9683d2ca65e5f77e2685a0b7e9998aaca4f8676b1642ba2c277fc78643ea59fd6b9f71a56ffc5e0 + react: ^18.0.0 + react-dom: ^18.0.0 + checksum: 10c0/93417c055267f6f12a37a1cdb08d9db85ab021b102315e1e5a70a79d7de6c2ffaeff211e3ec40441c110f39e60688cfcea85ab86c21820041d974415c1ca715e languageName: node linkType: hard -"@internationalized/date@npm:^3.5.6": - version: 3.5.6 - resolution: "@internationalized/date@npm:3.5.6" +"@internationalized/date@npm:^3.8.0": + version: 3.8.0 + resolution: "@internationalized/date@npm:3.8.0" dependencies: "@swc/helpers": "npm:^0.5.0" - checksum: 10c0/25d3150247175892705aeaf8e1a78295717d420c37cb3065a766c4058a1aed460a69dc5362f7073425c95095c27036c7ed65f0ce5fbb32b20f917132e8dc543f + checksum: 10c0/7ac0cae2f1832fe2f2950e22208812ed8bf2845dd903ec93bd3aa024ca020124e137638b11bb5817b92abde1daa3f881cc81d62db0b20f5db2d9e07ab0cd9e01 languageName: node linkType: hard -"@internationalized/message@npm:^3.1.5": - version: 3.1.5 - resolution: "@internationalized/message@npm:3.1.5" +"@internationalized/message@npm:^3.1.7": + version: 3.1.7 + resolution: "@internationalized/message@npm:3.1.7" dependencies: "@swc/helpers": "npm:^0.5.0" intl-messageformat: "npm:^10.1.0" - checksum: 10c0/81a2ef21154d0b00796fd2ecfb5365248fe50f64a7ad1616dbe4e491555e7e018557b061df145d0ab5b68cb1e757ac203d3892c42f791f169360b98d77fa5091 + checksum: 10c0/0e3d46c97e790e34074f2589cbbe220bac8da453bf6d5d5da5d545b8a3989d37dc02d5209296f3cb900cea5a1220658821c7fe04fd00b2a27c446fcc6f062b1a languageName: node linkType: hard -"@internationalized/number@npm:^3.5.4": - version: 3.5.4 - resolution: "@internationalized/number@npm:3.5.4" +"@internationalized/number@npm:^3.6.1": + version: 3.6.1 + resolution: "@internationalized/number@npm:3.6.1" dependencies: "@swc/helpers": "npm:^0.5.0" - checksum: 10c0/d01a1845ad9815756ceb59eeb75792ee89105d073ce232350c0644453a3470e3ebaffc2b00ebd2dd8238957b0ae12d1551633308897fa9c332dda82f2af8c5cf + checksum: 10c0/2605245bec05c5ff2e100d0cf5541b1f08e9038d76c18f11ce9142f538a5a06f1f5459506e7ef6d1b162b4bcc34bf2d8eebb39fe235048cb41eebd00ec04fd65 languageName: node linkType: hard -"@internationalized/string@npm:^3.2.4": - version: 3.2.4 - resolution: "@internationalized/string@npm:3.2.4" +"@internationalized/string@npm:^3.2.6": + version: 3.2.6 + resolution: "@internationalized/string@npm:3.2.6" dependencies: "@swc/helpers": "npm:^0.5.0" - checksum: 10c0/5a03ff3d7bea1eb0e7ef8f7b00d148b6b8afa90600434db61389e6a8a83e3ca89e469c730eb02ef6284e7b559ce4be8f46cb446387e137931bc47acb8cbcd841 + checksum: 10c0/8ed556697fee4aa2a115ea9d44075e8be8a7f80c76ebfcc6a4f14681175c4e59438f7ba049748d9c9cd0b46c7927b731d7c1f7fa53aaaf58b4c46dbd9f471b61 languageName: node linkType: hard @@ -1498,7 +1553,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -1508,10 +1563,10 @@ __metadata: languageName: node linkType: hard -"@leeoniya/ufuzzy@npm:1.0.14": - version: 1.0.14 - resolution: "@leeoniya/ufuzzy@npm:1.0.14" - checksum: 10c0/d66b409e49366d2c77cb8f750dd19cceeb49a232ce3d1a44315664dcf72e4e023d006c2b4f35f04588c17e660283ff7be6f419f14f5b910ba1726b1d8a4a128d +"@leeoniya/ufuzzy@npm:1.0.18": + version: 1.0.18 + resolution: "@leeoniya/ufuzzy@npm:1.0.18" + checksum: 10c0/d8fa13373f5de666b5a65585a8d2e8f99ba24e5d2f695099194560f02c9184dbceaa0490e712fa4851f972a5dbbcdcc71569e0091afbd2e6e772d716065b200a languageName: node linkType: hard @@ -1630,104 +1685,104 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/api-logs@npm:0.53.0": - version: 0.53.0 - resolution: "@opentelemetry/api-logs@npm:0.53.0" +"@opentelemetry/api-logs@npm:0.200.0": + version: 0.200.0 + resolution: "@opentelemetry/api-logs@npm:0.200.0" dependencies: - "@opentelemetry/api": "npm:^1.0.0" - checksum: 10c0/969ad3bbb74e3de6fdfe8eb9b3ab86d3dc284ca7bffd0ca67eef64efd08c97a4305696afe0b7b03e5d356f15d0a1a67ac517e5fa7d1ddee6fdc249eef2209fcb + "@opentelemetry/api": "npm:^1.3.0" + checksum: 10c0/c6bc3cfba35c69411f294519d93d0ff9f603517030d1162839ee42ac22ed1b0235edaf71d00cabc40125f813d8b4dc830d14315afcebcef138c1df560eaa5c91 languageName: node linkType: hard -"@opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.9.0": +"@opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.9.0": version: 1.9.0 resolution: "@opentelemetry/api@npm:1.9.0" checksum: 10c0/9aae2fe6e8a3a3eeb6c1fdef78e1939cf05a0f37f8a4fae4d6bf2e09eb1e06f966ece85805626e01ba5fab48072b94f19b835449e58b6d26720ee19a58298add languageName: node linkType: hard -"@opentelemetry/core@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/core@npm:1.26.0" +"@opentelemetry/core@npm:2.0.0": + version: 2.0.0 + resolution: "@opentelemetry/core@npm:2.0.0" dependencies: - "@opentelemetry/semantic-conventions": "npm:1.27.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/8038a3b9124a0b3b48dceb3949f88726c6853eac33b79fc049856f78dcf4b7ee453db1e6f4d5205a79b315caba809cb7d2f853946cf14773e50ce6a87fd5260e + checksum: 10c0/d2cc6d8a955305b9de15cc36135e5d5b0f0405fead8bbd4de51433f2d05369af0a3bcb2c6fe7fe6d9e61b0db782511bcadc5d93ed906027d4c00d5c2e3575a24 languageName: node linkType: hard -"@opentelemetry/otlp-transformer@npm:^0.53.0": - version: 0.53.0 - resolution: "@opentelemetry/otlp-transformer@npm:0.53.0" +"@opentelemetry/otlp-transformer@npm:^0.200.0": + version: 0.200.0 + resolution: "@opentelemetry/otlp-transformer@npm:0.200.0" dependencies: - "@opentelemetry/api-logs": "npm:0.53.0" - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/resources": "npm:1.26.0" - "@opentelemetry/sdk-logs": "npm:0.53.0" - "@opentelemetry/sdk-metrics": "npm:1.26.0" - "@opentelemetry/sdk-trace-base": "npm:1.26.0" + "@opentelemetry/api-logs": "npm:0.200.0" + "@opentelemetry/core": "npm:2.0.0" + "@opentelemetry/resources": "npm:2.0.0" + "@opentelemetry/sdk-logs": "npm:0.200.0" + "@opentelemetry/sdk-metrics": "npm:2.0.0" + "@opentelemetry/sdk-trace-base": "npm:2.0.0" protobufjs: "npm:^7.3.0" peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 10c0/d9a43bb00ce5386aeb477cd95e72cd86114ed01b2e11e8f39c3988aa2bb56cbda16b533ffd55396ed374961c32e1cc76face565e21b6cedcc85e844776912666 + checksum: 10c0/4f5383fad48c62e17824df91f6944b0376cb17f7b132b11d62fa5cf46747f224c980960209c85669b6e341a131f94586c6ad52bc1a6d2fb8d5295e23b460600c languageName: node linkType: hard -"@opentelemetry/resources@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/resources@npm:1.26.0" +"@opentelemetry/resources@npm:2.0.0": + version: 2.0.0 + resolution: "@opentelemetry/resources@npm:2.0.0" dependencies: - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/semantic-conventions": "npm:1.27.0" + "@opentelemetry/core": "npm:2.0.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/62ffbf7edee8676055661cf608b32a52bfa46fedb1a88830b4d4d0faf6664edbcbf7922034d3690d11fe9ebef9d9f5ffcb05645e8c7b27c707bf57d5289617e9 + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/2f331ff8268ef7168e8f24312fd7505900693c0ea302f6025937e94c157b8173ee54f5d5a737c06b956da721aa63443ac520f530cade880ef3cd40a2a25c702c languageName: node linkType: hard -"@opentelemetry/sdk-logs@npm:0.53.0": - version: 0.53.0 - resolution: "@opentelemetry/sdk-logs@npm:0.53.0" +"@opentelemetry/sdk-logs@npm:0.200.0": + version: 0.200.0 + resolution: "@opentelemetry/sdk-logs@npm:0.200.0" dependencies: - "@opentelemetry/api-logs": "npm:0.53.0" - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/resources": "npm:1.26.0" + "@opentelemetry/api-logs": "npm:0.200.0" + "@opentelemetry/core": "npm:2.0.0" + "@opentelemetry/resources": "npm:2.0.0" peerDependencies: "@opentelemetry/api": ">=1.4.0 <1.10.0" - checksum: 10c0/bd47e9a70966c53ac7b394ba0f27a4400b4fdebfbe781027f53457954b79b1c821301936bc87f5fe09a462af579c02c4fa27f353b6d9a1dca0b760cc284ec068 + checksum: 10c0/031dc40dd012fad102e5c8c0c9bdbbce051dbc7fcc2e05e003f959aeb34d252dc3595b353ea2a9f900ff40f45d19cb4c8f7ab95a9faa01391f6b415c7780c786 languageName: node linkType: hard -"@opentelemetry/sdk-metrics@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/sdk-metrics@npm:1.26.0" +"@opentelemetry/sdk-metrics@npm:2.0.0": + version: 2.0.0 + resolution: "@opentelemetry/sdk-metrics@npm:2.0.0" dependencies: - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/resources": "npm:1.26.0" + "@opentelemetry/core": "npm:2.0.0" + "@opentelemetry/resources": "npm:2.0.0" peerDependencies: - "@opentelemetry/api": ">=1.3.0 <1.10.0" - checksum: 10c0/640a0dcfa4af73a029ef57b51f8ecc1d08dfb0c3a5242552876fab36c7f9ae7c410fa52dbc5202a2d8675fcfe61df3c49205079963f1c11acfe42981d1d01a76 + "@opentelemetry/api": ">=1.9.0 <1.10.0" + checksum: 10c0/9a3c87738671f29a496a39d65b3ab0829b52d0f31c0be662ea575a8f77bc5444044fd01513c891abdff6bf6344a08730e18f79253a85e68962669f3e1fa12e72 languageName: node linkType: hard -"@opentelemetry/sdk-trace-base@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/sdk-trace-base@npm:1.26.0" +"@opentelemetry/sdk-trace-base@npm:2.0.0": + version: 2.0.0 + resolution: "@opentelemetry/sdk-trace-base@npm:2.0.0" dependencies: - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/resources": "npm:1.26.0" - "@opentelemetry/semantic-conventions": "npm:1.27.0" + "@opentelemetry/core": "npm:2.0.0" + "@opentelemetry/resources": "npm:2.0.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/0d5fc19179375f1599edae91b7232f432faf8631746835a10d0cd0c4907d0ca3ed156cc8087d4e78efdfbd9ba5ba414cc9e1399172c2aa68d7e0cd5190394d87 + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/c63cc052741e4cc01d084c883e24a1c0792f081a242e14e5cf526d5a3d96bac5974006fa0d8f902bd04f34ed9ce95a0d0f01b7fdb37fcc813cea9f818f2b8f43 languageName: node linkType: hard -"@opentelemetry/semantic-conventions@npm:1.27.0": - version: 1.27.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.27.0" - checksum: 10c0/b859773ba06b7e53dd9c6b45a171bf3000e405733adbf462ae91004ed011bc80edb5beecb817fb344a085adfd06045ab5b729c9bd0f1479650ad377134fb798c +"@opentelemetry/semantic-conventions@npm:^1.29.0": + version: 1.33.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.33.0" + checksum: 10c0/b2d9d5e7e828140f00fec034462fcca190ace989937d6f7d8e9671e8313c70506a4e1d77d9e88e8e6032d24ba713a97672d99882a050ce6096a18fa9864624c5 languageName: node linkType: hard @@ -1879,14 +1934,14 @@ __metadata: languageName: node linkType: hard -"@playwright/test@npm:^1.48.1": - version: 1.48.1 - resolution: "@playwright/test@npm:1.48.1" +"@playwright/test@npm:^1.52.0": + version: 1.52.0 + resolution: "@playwright/test@npm:1.52.0" dependencies: - playwright: "npm:1.48.1" + playwright: "npm:1.52.0" bin: playwright: cli.js - checksum: 10c0/32cedc3b2d375cb8f4a830bc820d7726b0235be7a6202e1d6ee46e739b83666271c47c100c11311cf5a916468c18e6a4dc526accf9ef090786e7614c2633b2b8 + checksum: 10c0/1c428b421593eb4f79b7c99783a389c3ab3526c9051ec772749f4fca61414dfa9f2344eba846faac5f238084aa96c836364a91d81d3034ac54924f239a93e247 languageName: node linkType: hard @@ -2001,261 +2056,267 @@ __metadata: languageName: node linkType: hard -"@react-aria/dialog@npm:3.5.18": - version: 3.5.18 - resolution: "@react-aria/dialog@npm:3.5.18" +"@react-aria/dialog@npm:3.5.23": + version: 3.5.23 + resolution: "@react-aria/dialog@npm:3.5.23" dependencies: - "@react-aria/focus": "npm:^3.18.3" - "@react-aria/overlays": "npm:^3.23.3" - "@react-aria/utils": "npm:^3.25.3" - "@react-types/dialog": "npm:^3.5.13" - "@react-types/shared": "npm:^3.25.0" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/9c2fd70b9c704813608da24edb658139549eec19df421e235cf231218f9350a938edeffc30c19b08ab5af65f66120f427cfc6fde3d543951574d9fbaa0b85b60 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6501509895665674c85ccef569fa5102f15c495c9809c499eb6633ab017491ed526a82b837de6eb903e1f6a1e207c9622d241ca455081f82166d8e9ab44b213d languageName: node linkType: hard -"@react-aria/focus@npm:3.18.3, @react-aria/focus@npm:^3.18.3": - version: 3.18.3 - resolution: "@react-aria/focus@npm:3.18.3" +"@react-aria/focus@npm:3.20.1": + version: 3.20.1 + resolution: "@react-aria/focus@npm:3.20.1" dependencies: - "@react-aria/interactions": "npm:^3.22.3" - "@react-aria/utils": "npm:^3.25.3" - "@react-types/shared": "npm:^3.25.0" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" clsx: "npm:^2.0.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/b7a3e469ab646203ae3c70128ec21be10eb174f038e029e40e4e62fdd963ac5de7bf481a4a48be8a197834393d871d6ebbf1bcd6dcec6b7b93e4a10fe7c9e5ee + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/be982f6cff4531d12894f35b99c326835315d723bf736e36d044cbbffab3b35307620bdbcbd92454010f94a35d851e5976fa9318b4b38ad8d15b1dee447710d6 languageName: node linkType: hard -"@react-aria/focus@npm:^3.18.4": - version: 3.18.4 - resolution: "@react-aria/focus@npm:3.18.4" +"@react-aria/focus@npm:^3.20.1, @react-aria/focus@npm:^3.20.2": + version: 3.20.2 + resolution: "@react-aria/focus@npm:3.20.2" dependencies: - "@react-aria/interactions": "npm:^3.22.4" - "@react-aria/utils": "npm:^3.25.3" - "@react-types/shared": "npm:^3.25.0" + "@react-aria/interactions": "npm:^3.25.0" + "@react-aria/utils": "npm:^3.28.2" + "@react-types/shared": "npm:^3.29.0" "@swc/helpers": "npm:^0.5.0" clsx: "npm:^2.0.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/141f8ef80060c5b58384af4af9446c0792618671e9f963942c3edc29bb15b7eb0ebb62cbe118135c7379c2732e86071aa7d7c890903a0ae411be07f2ec854e6a + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/83c7ce227affed990833664b75c99601390ea9c879a44032541447268da22508712c512f5a943f702aef07bfe1e0ea51f554f49db132f17d80b2da9cb71ec687 languageName: node linkType: hard -"@react-aria/i18n@npm:^3.12.3": - version: 3.12.3 - resolution: "@react-aria/i18n@npm:3.12.3" +"@react-aria/i18n@npm:^3.12.7, @react-aria/i18n@npm:^3.12.8": + version: 3.12.8 + resolution: "@react-aria/i18n@npm:3.12.8" dependencies: - "@internationalized/date": "npm:^3.5.6" - "@internationalized/message": "npm:^3.1.5" - "@internationalized/number": "npm:^3.5.4" - "@internationalized/string": "npm:^3.2.4" - "@react-aria/ssr": "npm:^3.9.6" - "@react-aria/utils": "npm:^3.25.3" - "@react-types/shared": "npm:^3.25.0" + "@internationalized/date": "npm:^3.8.0" + "@internationalized/message": "npm:^3.1.7" + "@internationalized/number": "npm:^3.6.1" + "@internationalized/string": "npm:^3.2.6" + "@react-aria/ssr": "npm:^3.9.8" + "@react-aria/utils": "npm:^3.28.2" + "@react-types/shared": "npm:^3.29.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/98210abb15d598a6e4a35eae6df1d70ae6376ef9a5e1c3d298e03f4cc006df696785006323fa97ac57ce14c5b5c8d108690a5c2b187624cad5956778ffc25ca9 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/fc6ccd3a44b084a9ad4001f8adfd086598ed4be229b51c3702b3d289003a67cf0ffd1d93174c16e51bb1745930571ba277d3132a25e6f8d4cc610ef273da7bdb languageName: node linkType: hard -"@react-aria/interactions@npm:^3.22.3": - version: 3.22.3 - resolution: "@react-aria/interactions@npm:3.22.3" +"@react-aria/interactions@npm:^3.24.1, @react-aria/interactions@npm:^3.25.0": + version: 3.25.0 + resolution: "@react-aria/interactions@npm:3.25.0" dependencies: - "@react-aria/ssr": "npm:^3.9.6" - "@react-aria/utils": "npm:^3.25.3" - "@react-types/shared": "npm:^3.25.0" + "@react-aria/ssr": "npm:^3.9.8" + "@react-aria/utils": "npm:^3.28.2" + "@react-stately/flags": "npm:^3.1.1" + "@react-types/shared": "npm:^3.29.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/3b683e97c9d41eb3540c0347314d43499a162cba05875ab717a5d92eb67f60e0f319844f4123fb54c2889ee65cceb86bf9708f1a9010f7df540d6f9dc2c1624a + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/091c7b7b2f94b2fefed440b97a986eff0320d5ba5e1a43c195a912e035aa8ce4d4be15f1852b2dffdbcc6a70190a74f0809e4d4cf3d7646b70c9f9b0fca829f5 languageName: node linkType: hard -"@react-aria/interactions@npm:^3.22.4": - version: 3.22.4 - resolution: "@react-aria/interactions@npm:3.22.4" +"@react-aria/overlays@npm:3.26.1": + version: 3.26.1 + resolution: "@react-aria/overlays@npm:3.26.1" dependencies: - "@react-aria/ssr": "npm:^3.9.6" - "@react-aria/utils": "npm:^3.25.3" - "@react-types/shared": "npm:^3.25.0" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/button": "npm:^3.11.0" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/8455a68540a4085b71ed034cad5c349a7e756e44cd30d69d340d7f7a66ce1886882021fbcc8049a5d8aeba54b47cd2ca49a7bc4e6910aab2d13b41703d55c7a5 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6dfb5de858643d87103261c9663fbf155f5d988c03d42fa601233906425cc0fa4d09c519b8b02e9addd48a44afb69a8eb1ee666fe2f2ec1a0dcc137f5a2c8bb4 languageName: node linkType: hard -"@react-aria/overlays@npm:3.23.3": - version: 3.23.3 - resolution: "@react-aria/overlays@npm:3.23.3" +"@react-aria/overlays@npm:^3.26.1": + version: 3.27.0 + resolution: "@react-aria/overlays@npm:3.27.0" dependencies: - "@react-aria/focus": "npm:^3.18.3" - "@react-aria/i18n": "npm:^3.12.3" - "@react-aria/interactions": "npm:^3.22.3" - "@react-aria/ssr": "npm:^3.9.6" - "@react-aria/utils": "npm:^3.25.3" - "@react-aria/visually-hidden": "npm:^3.8.16" - "@react-stately/overlays": "npm:^3.6.11" - "@react-types/button": "npm:^3.10.0" - "@react-types/overlays": "npm:^3.8.10" - "@react-types/shared": "npm:^3.25.0" + "@react-aria/focus": "npm:^3.20.2" + "@react-aria/i18n": "npm:^3.12.8" + "@react-aria/interactions": "npm:^3.25.0" + "@react-aria/ssr": "npm:^3.9.8" + "@react-aria/utils": "npm:^3.28.2" + "@react-aria/visually-hidden": "npm:^3.8.22" + "@react-stately/overlays": "npm:^3.6.15" + "@react-types/button": "npm:^3.12.0" + "@react-types/overlays": "npm:^3.8.14" + "@react-types/shared": "npm:^3.29.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/ef3633acb5d1386852de7585b7de666d05f2d8d439bb2d7f17100ce960cdba2d117b46c56f1cc24f5b53a9fb842cdf98389097800251466ec667082b7f1a78e0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/2835dba32a055160341b0c04c8922c4cfb905d2c630508f9b6fc94844131e5359fd27e72f44b7d313339519285465cc6b08c720f2deb8511185d1bdd6c7b10f3 languageName: node linkType: hard -"@react-aria/overlays@npm:^3.23.3": - version: 3.23.4 - resolution: "@react-aria/overlays@npm:3.23.4" +"@react-aria/ssr@npm:^3.9.7, @react-aria/ssr@npm:^3.9.8": + version: 3.9.8 + resolution: "@react-aria/ssr@npm:3.9.8" dependencies: - "@react-aria/focus": "npm:^3.18.4" - "@react-aria/i18n": "npm:^3.12.3" - "@react-aria/interactions": "npm:^3.22.4" - "@react-aria/ssr": "npm:^3.9.6" - "@react-aria/utils": "npm:^3.25.3" - "@react-aria/visually-hidden": "npm:^3.8.17" - "@react-stately/overlays": "npm:^3.6.11" - "@react-types/button": "npm:^3.10.0" - "@react-types/overlays": "npm:^3.8.10" - "@react-types/shared": "npm:^3.25.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/174c8ef7d52123e8d979044dd36373314328086b2dc37a8b4f1fab8344be74c77925595dca86f720fd661eeffd5b632261f9a57e813d0f91460d1f08a090504e + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/848cac34f8584477ab6c91686ab447c7f7eee997e0b1771cc71298d15a4dd0400ce7b899ad8c1603a72d59a72f24a390964133693a3ba602828801d4dacc3f45 languageName: node linkType: hard -"@react-aria/ssr@npm:^3.9.6": - version: 3.9.6 - resolution: "@react-aria/ssr@npm:3.9.6" +"@react-aria/utils@npm:3.28.1": + version: 3.28.1 + resolution: "@react-aria/utils@npm:3.28.1" dependencies: + "@react-aria/ssr": "npm:^3.9.7" + "@react-stately/flags": "npm:^3.1.0" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/be52f2909035e093d3f72cccde15b66b4eef2dc30c71dac46a1ea43d3847dace1a709114640bfa3e9aa72ba716749635fb72116f4da16f7d80248ca348146456 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/dcda0e238b3bbd9cd6a59563a0491320cf68f27b0b1e2bd4ee540ab4d7aaa7483cf20d96bbcd0041b5746598f4990239d1a697a6d57348607ac4cc452f69a147 languageName: node linkType: hard -"@react-aria/utils@npm:3.25.3, @react-aria/utils@npm:^3.25.3": - version: 3.25.3 - resolution: "@react-aria/utils@npm:3.25.3" +"@react-aria/utils@npm:^3.28.1, @react-aria/utils@npm:^3.28.2": + version: 3.28.2 + resolution: "@react-aria/utils@npm:3.28.2" dependencies: - "@react-aria/ssr": "npm:^3.9.6" - "@react-stately/utils": "npm:^3.10.4" - "@react-types/shared": "npm:^3.25.0" + "@react-aria/ssr": "npm:^3.9.8" + "@react-stately/flags": "npm:^3.1.1" + "@react-stately/utils": "npm:^3.10.6" + "@react-types/shared": "npm:^3.29.0" "@swc/helpers": "npm:^0.5.0" clsx: "npm:^2.0.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/dc86ea48c24232f5c51d0b5317d947c4ccf01a8afb3bdc89cb880a7b0a695a04c8a7c615fb190664f4f3c7da8669ab2bd2f7cdfb2861339f5816cbd600249a84 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/69fc00d5dbd0fae9349a06cc3bcf327aa1edcb9049a491d0949b4de30c1b7669edc7150cc6885aa362af74a21b68c400b2965c3e117871264c47c379f4a98695 languageName: node linkType: hard -"@react-aria/visually-hidden@npm:^3.8.16": - version: 3.8.16 - resolution: "@react-aria/visually-hidden@npm:3.8.16" +"@react-aria/visually-hidden@npm:^3.8.21, @react-aria/visually-hidden@npm:^3.8.22": + version: 3.8.22 + resolution: "@react-aria/visually-hidden@npm:3.8.22" dependencies: - "@react-aria/interactions": "npm:^3.22.3" - "@react-aria/utils": "npm:^3.25.3" - "@react-types/shared": "npm:^3.25.0" + "@react-aria/interactions": "npm:^3.25.0" + "@react-aria/utils": "npm:^3.28.2" + "@react-types/shared": "npm:^3.29.0" "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/a33e262d7dbc33386e44ef5a26aab44da1856089d60b205c0b5d61995cb0b34efb543324ec008000004661541436dc2e2e79eda56c8d0a8222eebff4de2bfdc9 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/fbf527b526250865731737d3d421d796ab0a2a2bb0dbd2532a506693fe8902fa2a53b0afbb7ee4d295028621bdcbe8e50583d3d6d0f87d5ae014eb97953e0a2a languageName: node linkType: hard -"@react-aria/visually-hidden@npm:^3.8.17": - version: 3.8.17 - resolution: "@react-aria/visually-hidden@npm:3.8.17" +"@react-stately/flags@npm:^3.1.0, @react-stately/flags@npm:^3.1.1": + version: 3.1.1 + resolution: "@react-stately/flags@npm:3.1.1" dependencies: - "@react-aria/interactions": "npm:^3.22.4" - "@react-aria/utils": "npm:^3.25.3" - "@react-types/shared": "npm:^3.25.0" "@swc/helpers": "npm:^0.5.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/411699c167686509583debc659e734ec3c123198570104abbd4fe74a5a60d93a305d73f6d761ec67846c672d1076d8f089a6f90d2e2653e1a334fe7344088bd5 + checksum: 10c0/3f64deb7b5daa787072f77e358624b65ad0627ee148d968423f3a5968b655d99671673927e21e4ba2ad0c9828d6ea75dae8ca421af90f9b41986a28341a4101f languageName: node linkType: hard -"@react-stately/overlays@npm:^3.6.11": - version: 3.6.11 - resolution: "@react-stately/overlays@npm:3.6.11" +"@react-stately/overlays@npm:^3.6.14, @react-stately/overlays@npm:^3.6.15": + version: 3.6.15 + resolution: "@react-stately/overlays@npm:3.6.15" dependencies: - "@react-stately/utils": "npm:^3.10.4" - "@react-types/overlays": "npm:^3.8.10" + "@react-stately/utils": "npm:^3.10.6" + "@react-types/overlays": "npm:^3.8.14" "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/559efc68bdb4512b8049f31a83e15404f7a306e960763570d876a08aee165656fdfbef4533251709e0576b1a7d6fd1f4e575ebfabc93738deb686c52571d36f9 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/4e75602378869027bb752500c771a732e5c9d7963f8101eb03941b350e6b6a74c0da20ab75de9daa28e3fa10f7230952636957caf16953c8b70fa8eb836a4657 languageName: node linkType: hard -"@react-stately/utils@npm:^3.10.4": - version: 3.10.4 - resolution: "@react-stately/utils@npm:3.10.4" +"@react-stately/utils@npm:^3.10.5, @react-stately/utils@npm:^3.10.6": + version: 3.10.6 + resolution: "@react-stately/utils@npm:3.10.6" dependencies: "@swc/helpers": "npm:^0.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/875c11424fadf4419caceeee13e5bfdee2b0c330fe0220c0ea9d68d570cc9a34525f2f124d977e519b397a738cd2f8e36b7b03a046e3e7da99460e99282977a4 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/09403746285a3866765c04bed5f2505e0bdbb971bdeb2eedee31ebf5bad3d0c0c0cef9d0dd5852fc6c58f6b552cbc90364eb32403245dfc04dc22c5e2fbfbe32 languageName: node linkType: hard -"@react-types/button@npm:^3.10.0": - version: 3.10.0 - resolution: "@react-types/button@npm:3.10.0" +"@react-types/button@npm:^3.11.0, @react-types/button@npm:^3.12.0": + version: 3.12.0 + resolution: "@react-types/button@npm:3.12.0" dependencies: - "@react-types/shared": "npm:^3.25.0" + "@react-types/shared": "npm:^3.29.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/89395334f286f1a97a584715bbb87e7bb017d7366aa73ce0cec36ec8cb59059dec1f5afe3ab44f3972e0c50f44daeb2d531b10191d6f2b7f70c3ce7d3c94c0da + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6412c06f1a590581283d8cfe7661bbc9f1916b827ecb332fc7d65c918f9e52496fd11ce7859742532ab0d75b8746098e9fe04561efc700969d41e59179f15c30 languageName: node linkType: hard -"@react-types/dialog@npm:^3.5.13": - version: 3.5.13 - resolution: "@react-types/dialog@npm:3.5.13" +"@react-types/dialog@npm:^3.5.16": + version: 3.5.17 + resolution: "@react-types/dialog@npm:3.5.17" dependencies: - "@react-types/overlays": "npm:^3.8.10" - "@react-types/shared": "npm:^3.25.0" + "@react-types/overlays": "npm:^3.8.14" + "@react-types/shared": "npm:^3.29.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/9cb9043694a1e48fbf0221effd28da602c314c64d653455d5616d8384adf93c78c87453a5b210ff587a221836adb5e2e7f9cb5b3f9a04c3522ad35dadba5d39a + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/44245c862f44a296e2692a757205aad40557040b1412e2afa1b22e77624772f699b1acb35e24b955f580df93cd84c85917e249ecda216ab53c4c33c0734c3c11 languageName: node linkType: hard -"@react-types/overlays@npm:^3.8.10": - version: 3.8.10 - resolution: "@react-types/overlays@npm:3.8.10" +"@react-types/overlays@npm:^3.8.13, @react-types/overlays@npm:^3.8.14": + version: 3.8.14 + resolution: "@react-types/overlays@npm:3.8.14" dependencies: - "@react-types/shared": "npm:^3.25.0" + "@react-types/shared": "npm:^3.29.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/753fd637dab9e189403cab8567a88fce183de8013dcec705fe3ed813facaa7a95fa754af5a45f364787c4351132d27ebaf3184e0e14955c47bf80b82560c3539 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a30a90997d40139a99d85b5a2f5e07ead48163e909f25e0ca1ff4664ebf8bd3bb59cebd3124b0eeba2e45226d36a54265eae5946dc587ec168acae47ed8f8090 languageName: node linkType: hard -"@react-types/shared@npm:^3.25.0": - version: 3.25.0 - resolution: "@react-types/shared@npm:3.25.0" +"@react-types/shared@npm:^3.28.0, @react-types/shared@npm:^3.29.0": + version: 3.29.0 + resolution: "@react-types/shared@npm:3.29.0" peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - checksum: 10c0/d168f6b404c345928ef8ead94f0cecd3831d8f6df708dbe897ac62d566949a0931c3b0d95ef6dd02bc5af05b183781b531e6f041ffd1d320bc2cab7697fd27d0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a629e4fe9ce9062de603a1e01ae90a999b07f1367143f3b66921c8a0c8e59d90a528263be74d930162ed4a78a725a253c48b6f3b00a85767549e86cac4cc8218 languageName: node linkType: hard @@ -2273,13 +2334,6 @@ __metadata: languageName: node linkType: hard -"@sindresorhus/merge-streams@npm:^2.1.0": - version: 2.3.0 - resolution: "@sindresorhus/merge-streams@npm:2.3.0" - checksum: 10c0/69ee906f3125fb2c6bb6ec5cdd84e8827d93b49b3892bce8b62267116cc7e197b5cccf20c160a1d32c26014ecd14470a72a5e3ee37a58f1d6dadc0db1ccf3894 - languageName: node - linkType: hard - "@sinonjs/commons@npm:^3.0.0": version: 3.0.1 resolution: "@sinonjs/commons@npm:3.0.1" @@ -2298,94 +2352,94 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-darwin-arm64@npm:1.7.39" +"@swc/core-darwin-arm64@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-darwin-arm64@npm:1.11.24" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-darwin-x64@npm:1.7.39" +"@swc/core-darwin-x64@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-darwin-x64@npm:1.11.24" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.39" +"@swc/core-linux-arm-gnueabihf@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.11.24" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.39" +"@swc/core-linux-arm64-gnu@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm64-gnu@npm:1.11.24" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.39" +"@swc/core-linux-arm64-musl@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm64-musl@npm:1.11.24" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.39" +"@swc/core-linux-x64-gnu@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-x64-gnu@npm:1.11.24" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-linux-x64-musl@npm:1.7.39" +"@swc/core-linux-x64-musl@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-x64-musl@npm:1.11.24" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.39" +"@swc/core-win32-arm64-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-arm64-msvc@npm:1.11.24" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.39" +"@swc/core-win32-ia32-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-ia32-msvc@npm:1.11.24" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.39": - version: 1.7.39 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.39" +"@swc/core-win32-x64-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-x64-msvc@npm:1.11.24" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:^1.7.39": - version: 1.7.39 - resolution: "@swc/core@npm:1.7.39" +"@swc/core@npm:^1.11.24": + version: 1.11.24 + resolution: "@swc/core@npm:1.11.24" dependencies: - "@swc/core-darwin-arm64": "npm:1.7.39" - "@swc/core-darwin-x64": "npm:1.7.39" - "@swc/core-linux-arm-gnueabihf": "npm:1.7.39" - "@swc/core-linux-arm64-gnu": "npm:1.7.39" - "@swc/core-linux-arm64-musl": "npm:1.7.39" - "@swc/core-linux-x64-gnu": "npm:1.7.39" - "@swc/core-linux-x64-musl": "npm:1.7.39" - "@swc/core-win32-arm64-msvc": "npm:1.7.39" - "@swc/core-win32-ia32-msvc": "npm:1.7.39" - "@swc/core-win32-x64-msvc": "npm:1.7.39" + "@swc/core-darwin-arm64": "npm:1.11.24" + "@swc/core-darwin-x64": "npm:1.11.24" + "@swc/core-linux-arm-gnueabihf": "npm:1.11.24" + "@swc/core-linux-arm64-gnu": "npm:1.11.24" + "@swc/core-linux-arm64-musl": "npm:1.11.24" + "@swc/core-linux-x64-gnu": "npm:1.11.24" + "@swc/core-linux-x64-musl": "npm:1.11.24" + "@swc/core-win32-arm64-msvc": "npm:1.11.24" + "@swc/core-win32-ia32-msvc": "npm:1.11.24" + "@swc/core-win32-x64-msvc": "npm:1.11.24" "@swc/counter": "npm:^0.1.3" - "@swc/types": "npm:^0.1.13" + "@swc/types": "npm:^0.1.21" peerDependencies: - "@swc/helpers": "*" + "@swc/helpers": ">=0.5.17" dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -2410,7 +2464,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/9997aad27290107b9fb864fe4bdc38a376e788c073e6edb62b7ea06d1fa8dde8f707c9ea6b3cc82f4cbfa49a38bd228f83503d4e8318e8a9917e947497e253af + checksum: 10c0/26c524a505927ebd4229ec20fecf5f38b6a3265f22f3ede3a334834b37d01eedd133676e231d19ecaae2923bdfb0fa66acb925ffaee6e472e36ed81a7ace90f7 languageName: node linkType: hard @@ -2421,7 +2475,7 @@ __metadata: languageName: node linkType: hard -"@swc/helpers@npm:^0.5.0, @swc/helpers@npm:^0.5.13": +"@swc/helpers@npm:^0.5.0": version: 0.5.13 resolution: "@swc/helpers@npm:0.5.13" dependencies: @@ -2430,25 +2484,34 @@ __metadata: languageName: node linkType: hard -"@swc/jest@npm:^0.2.36": - version: 0.2.36 - resolution: "@swc/jest@npm:0.2.36" +"@swc/helpers@npm:^0.5.17": + version: 0.5.17 + resolution: "@swc/helpers@npm:0.5.17" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/fe1f33ebb968558c5a0c595e54f2e479e4609bff844f9ca9a2d1ffd8dd8504c26f862a11b031f48f75c95b0381c2966c3dd156e25942f90089badd24341e7dbb + languageName: node + linkType: hard + +"@swc/jest@npm:^0.2.38": + version: 0.2.38 + resolution: "@swc/jest@npm:0.2.38" dependencies: "@jest/create-cache-key-function": "npm:^29.7.0" "@swc/counter": "npm:^0.1.3" jsonc-parser: "npm:^3.2.0" peerDependencies: "@swc/core": "*" - checksum: 10c0/7f1993f9201420bb499c92ab28797352bcbf9e3a6c7b5a1806fdc34c9c3b46ea9e5b2f070c0e13fcf7f3c3fadbbc38777840baabb178f589bf1f67543763adb6 + checksum: 10c0/d92078dd6a32c2c1106d4eeb6b78340bedad9c2a27f1aa29b69ba638942d34f1dbf6eb4ef75692d2297c66e7442e9b355ab6b879540f9cf8a37f644a5a6e6924 languageName: node linkType: hard -"@swc/types@npm:^0.1.13": - version: 0.1.13 - resolution: "@swc/types@npm:0.1.13" +"@swc/types@npm:^0.1.21": + version: 0.1.21 + resolution: "@swc/types@npm:0.1.21" dependencies: "@swc/counter": "npm:^0.1.3" - checksum: 10c0/f85a850dead981ca9a26ae366529f2b383fa26324ffcbbee46d7b48399e6ed36d6a6a3d55398f17f87c65f550e28d642a35877d40f389c78765a31ecdfc88bd9 + checksum: 10c0/2baa89c824426e0de0c84e212278010e2df8dc2d6ffaa6f1e306e1b2930c6404b3d3f8989307e8c42ceb95ac143ab7a80be138af6a014d5c782dce5be94dcd5e languageName: node linkType: hard @@ -2471,9 +2534,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.6.2": - version: 6.6.2 - resolution: "@testing-library/jest-dom@npm:6.6.2" +"@testing-library/jest-dom@npm:^6.6.3": + version: 6.6.3 + resolution: "@testing-library/jest-dom@npm:6.6.3" dependencies: "@adobe/css-tools": "npm:^4.4.0" aria-query: "npm:^5.0.0" @@ -2482,27 +2545,27 @@ __metadata: dom-accessibility-api: "npm:^0.6.3" lodash: "npm:^4.17.21" redent: "npm:^3.0.0" - checksum: 10c0/1c51390f97063ce8b06a7267534aac0d6ac9b1f27042a0ae43ca52d886b32c9d2b0ff85e62e7cfeb7e1f089ef03c4d75fda4f2b7b1f08afb4bdb09a5d56566d9 + checksum: 10c0/5566b6c0b7b0709bc244aec3aa3dc9e5f4663e8fb2b99d8cd456fc07279e59db6076cbf798f9d3099a98fca7ef4cd50e4e1f4c4dec5a60a8fad8d24a638a5bf6 languageName: node linkType: hard -"@testing-library/react@npm:^16.0.1": - version: 16.0.1 - resolution: "@testing-library/react@npm:16.0.1" +"@testing-library/react@npm:^16.3.0": + version: 16.3.0 + resolution: "@testing-library/react@npm:16.3.0" dependencies: "@babel/runtime": "npm:^7.12.5" peerDependencies: "@testing-library/dom": ^10.0.0 - "@types/react": ^18.0.0 - "@types/react-dom": ^18.0.0 - react: ^18.0.0 - react-dom: ^18.0.0 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/67d05dec5ad5a2e6f92b6a3234af785435c7bb62bdbf12f3bfc89c9bca0c871a189e88c4ba023ed4cea504704c87c6ac7e86e24a3962df6c521ae89b62f48ff7 + checksum: 10c0/3a2cb1f87c9a67e1ebbbcfd99b94b01e496fc35147be8bc5d8bf07a699c7d523a09d57ef2f7b1d91afccd1a28e21eda3b00d80187fbb51b1de01e422592d845e languageName: node linkType: hard @@ -2598,23 +2661,40 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:^8.56.10": - version: 8.56.12 - resolution: "@types/eslint@npm:8.56.12" +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "npm:*" + "@types/estree": "npm:*" + checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc + languageName: node + linkType: hard + +"@types/eslint@npm:*, @types/eslint@npm:^9.6.1": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" dependencies: "@types/estree": "npm:*" "@types/json-schema": "npm:*" - checksum: 10c0/e4ca426abe9d55f82b69a3250bec78b6d340ad1e567f91c97ecc59d3b2d6a1d8494955ac62ad0ea14b97519db580611c02be8277cbea370bdfb0f96aa2910504 + checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.5": +"@types/estree@npm:*": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d languageName: node linkType: hard +"@types/estree@npm:^1.0.6": + version: 1.0.7 + resolution: "@types/estree@npm:1.0.7" + checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -2631,16 +2711,6 @@ __metadata: languageName: node linkType: hard -"@types/hoist-non-react-statics@npm:^3.3.1": - version: 3.3.5 - resolution: "@types/hoist-non-react-statics@npm:3.3.5" - dependencies: - "@types/react": "npm:*" - hoist-non-react-statics: "npm:^3.3.0" - checksum: 10c0/2a3b64bf3d9817d7830afa60ee314493c475fb09570a64e7737084cd482d2177ebdddf888ce837350bac51741278b077683facc9541f052d4bbe8487b4e3e618 - languageName: node - linkType: hard - "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" @@ -2676,12 +2746,12 @@ __metadata: languageName: node linkType: hard -"@types/jquery@npm:3.5.31": - version: 3.5.31 - resolution: "@types/jquery@npm:3.5.31" +"@types/jquery@npm:3.5.32": + version: 3.5.32 + resolution: "@types/jquery@npm:3.5.32" dependencies: "@types/sizzle": "npm:*" - checksum: 10c0/94a6e209382908e102199aa32d261147c97bf578693a6e7657d12a35e1304940b18bebadb21c207cd3efa51b4d16eb117be36af235c27f399be09cc56ed125b5 + checksum: 10c0/4a17ad6819b89026c21323656ab01b0b263f9d470910a87c8740920ff98319d503c7352b85b50134a39724ecbfccabc73aa4c741dfdd460cf8bbe714f9259054 languageName: node linkType: hard @@ -2703,24 +2773,24 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db languageName: node linkType: hard -"@types/lodash@npm:4.17.10": - version: 4.17.10 - resolution: "@types/lodash@npm:4.17.10" - checksum: 10c0/149b2b9fcc277204393423ed14df28894980c2322ec522fc23f2c6f7edef6ee8d876ee09ed4520f45d128adc0a7a6e618bb0017668349716cd99c6ef54a21621 +"@types/lodash@npm:4.17.15": + version: 4.17.15 + resolution: "@types/lodash@npm:4.17.15" + checksum: 10c0/2eb2dc6d231f5fb4603d176c08c8d7af688f574d09af47466a179cd7812d9f64144ba74bb32ca014570ffdc544eedc51b7a5657212bad083b6eecbd72223f9bb languageName: node linkType: hard -"@types/lodash@npm:^4.17.12": - version: 4.17.12 - resolution: "@types/lodash@npm:4.17.12" - checksum: 10c0/106008f628ea3c74ed7ee7842dee79e230c84e3721ac38c293700031adb5bd130113048c22f476dbde0d0c119506b0fc447d4bd62eca922682d11e00e1377967 +"@types/lodash@npm:^4.17.16": + version: 4.17.16 + resolution: "@types/lodash@npm:4.17.16" + checksum: 10c0/cf017901b8ab1d7aabc86d5189d9288f4f99f19a75caf020c0e2c77b8d4cead4db0d0b842d009b029339f92399f49f34377dd7c2721053388f251778b4c23534 languageName: node linkType: hard @@ -2733,12 +2803,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^22.7.9": - version: 22.7.9 - resolution: "@types/node@npm:22.7.9" +"@types/node@npm:^22.15.17": + version: 22.15.17 + resolution: "@types/node@npm:22.15.17" dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/2d1917702b9d9ede8e4d8151cd8b1af8bc147d543486474ffbe0742e38764ea73105939e6a767addf7a4c39e842e16eae762bff90617d7b7f9ee3fbbb2d23bfa + undici-types: "npm:~6.21.0" + checksum: 10c0/fb92aa10b628683c5b965749f955bc2322485ecb0ea6c2f4cae5f2c7537a16834607e67083a9e9281faaae8d7dee9ada8d6a5c0de9a52c17d82912ef00c0fdd4 languageName: node linkType: hard @@ -2826,6 +2896,13 @@ __metadata: languageName: node linkType: hard +"@types/systemjs@npm:6.15.1": + version: 6.15.1 + resolution: "@types/systemjs@npm:6.15.1" + checksum: 10c0/e403ed96f3e5bdb81bd818c5a18f89bd84535b64d9fa4a8a6a12344debf61a62222c716a4a4028c24d9b44f0eb506599fbd82228fd06122689d81ede4f9530b4 + languageName: node + linkType: hard + "@types/tough-cookie@npm:*": version: 4.0.5 resolution: "@types/tough-cookie@npm:4.0.5" @@ -2833,10 +2910,17 @@ __metadata: languageName: node linkType: hard -"@types/use-sync-external-store@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/use-sync-external-store@npm:0.0.3" - checksum: 10c0/82824c1051ba40a00e3d47964cdf4546a224e95f172e15a9c62aa3f118acee1c7518b627a34f3aa87298a2039f982e8509f92bfcc18bea7c255c189c293ba547 +"@types/trusted-types@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 10c0/4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c + languageName: node + linkType: hard + +"@types/use-sync-external-store@npm:^0.0.6": + version: 0.0.6 + resolution: "@types/use-sync-external-store@npm:0.0.6" + checksum: 10c0/77c045a98f57488201f678b181cccd042279aff3da34540ad242f893acc52b358bd0a8207a321b8ac09adbcef36e3236944390e2df4fcedb556ce7bb2a88f2a8 languageName: node linkType: hard @@ -2916,187 +3000,187 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/ast@npm:1.12.1" +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" dependencies: - "@webassemblyjs/helper-numbers": "npm:1.11.6" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - checksum: 10c0/ba7f2b96c6e67e249df6156d02c69eb5f1bd18d5005303cdc42accb053bebbbde673826e54db0437c9748e97abd218366a1d13fa46859b23cde611b6b409998c + "@webassemblyjs/helper-numbers": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + checksum: 10c0/67a59be8ed50ddd33fbb2e09daa5193ac215bf7f40a9371be9a0d9797a114d0d1196316d2f3943efdb923a3d809175e1563a3cb80c814fb8edccd1e77494972b languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" - checksum: 10c0/37fe26f89e18e4ca0e7d89cfe3b9f17cfa327d7daf906ae01400416dbb2e33c8a125b4dc55ad7ff405e5fcfb6cf0d764074c9bc532b9a31a71e762be57d2ea0a +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: 10c0/0e88bdb8b50507d9938be64df0867f00396b55eba9df7d3546eb5dc0ca64d62e06f8d881ec4a6153f2127d0f4c11d102b6e7d17aec2f26bb5ff95a5e60652412 languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" - checksum: 10c0/a681ed51863e4ff18cf38d223429f414894e5f7496856854d9a886eeddcee32d7c9f66290f2919c9bb6d2fc2b2fae3f989b6a1e02a81e829359738ea0c4d371a +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 10c0/31be497f996ed30aae4c08cac3cce50c8dcd5b29660383c0155fce1753804fc55d47fcba74e10141c7dd2899033164e117b3bcfcda23a6b043e4ded4f1003dfb languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" - checksum: 10c0/0270724afb4601237410f7fd845ab58ccda1d5456a8783aadfb16eaaf3f2c9610c28e4a5bcb6ad880cde5183c82f7f116d5ccfc2310502439d33f14b6888b48a +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: 10c0/0d54105dc373c0fe6287f1091e41e3a02e36cdc05e8cf8533cdc16c59ff05a646355415893449d3768cda588af451c274f13263300a251dc11a575bc4c9bd210 languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" dependencies: - "@webassemblyjs/floating-point-hex-parser": "npm:1.11.6" - "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@webassemblyjs/floating-point-hex-parser": "npm:1.13.2" + "@webassemblyjs/helper-api-error": "npm:1.13.2" "@xtuc/long": "npm:4.2.2" - checksum: 10c0/c7d5afc0ff3bd748339b466d8d2f27b908208bf3ff26b2e8e72c39814479d486e0dca6f3d4d776fd9027c1efe05b5c0716c57a23041eb34473892b2731c33af3 + checksum: 10c0/9c46852f31b234a8fb5a5a9d3f027bc542392a0d4de32f1a9c0075d5e8684aa073cb5929b56df565500b3f9cc0a2ab983b650314295b9bf208d1a1651bfc825a languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" - checksum: 10c0/79d2bebdd11383d142745efa32781249745213af8e022651847382685ca76709f83e1d97adc5f0d3c2b8546bf02864f8b43a531fdf5ca0748cb9e4e0ef2acaa5 +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 10c0/c4355d14f369b30cf3cbdd3acfafc7d0488e086be6d578e3c9780bd1b512932352246be96e034e2a7fcfba4f540ec813352f312bfcbbfe5bcfbf694f82ccc682 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - checksum: 10c0/0546350724d285ae3c26e6fc444be4c3b5fb824f3be0ec8ceb474179dc3f4430336dd2e36a44b3e3a1a6815960e5eec98cd9b3a8ec66dc53d86daedd3296a6a2 + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + checksum: 10c0/1f9b33731c3c6dbac3a9c483269562fa00d1b6a4e7133217f40e83e975e636fd0f8736e53abd9a47b06b66082ecc976c7384391ab0a68e12d509ea4e4b948d64 languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/ieee754@npm:1.11.6" +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" dependencies: "@xtuc/ieee754": "npm:^1.2.0" - checksum: 10c0/59de0365da450322c958deadade5ec2d300c70f75e17ae55de3c9ce564deff5b429e757d107c7ec69bd0ba169c6b6cc2ff66293ab7264a7053c829b50ffa732f + checksum: 10c0/2e732ca78c6fbae3c9b112f4915d85caecdab285c0b337954b180460290ccd0fb00d2b1dc4bb69df3504abead5191e0d28d0d17dfd6c9d2f30acac8c4961c8a7 languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/leb128@npm:1.11.6" +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" dependencies: "@xtuc/long": "npm:4.2.2" - checksum: 10c0/cb344fc04f1968209804de4da018679c5d4708a03b472a33e0fa75657bb024978f570d3ccf9263b7f341f77ecaa75d0e051b9cd4b7bb17a339032cfd1c37f96e + checksum: 10c0/dad5ef9e383c8ab523ce432dfd80098384bf01c45f70eb179d594f85ce5db2f80fa8c9cba03adafd85684e6d6310f0d3969a882538975989919329ac4c984659 languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/utf8@npm:1.11.6" - checksum: 10c0/14d6c24751a89ad9d801180b0d770f30a853c39f035a15fbc96266d6ac46355227abd27a3fd2eeaa97b4294ced2440a6b012750ae17bafe1a7633029a87b6bee +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 10c0/d3fac9130b0e3e5a1a7f2886124a278e9323827c87a2b971e6d0da22a2ba1278ac9f66a4f2e363ecd9fac8da42e6941b22df061a119e5c0335f81006de9ee799 languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" +"@webassemblyjs/wasm-edit@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/helper-wasm-section": "npm:1.12.1" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - "@webassemblyjs/wasm-opt": "npm:1.12.1" - "@webassemblyjs/wasm-parser": "npm:1.12.1" - "@webassemblyjs/wast-printer": "npm:1.12.1" - checksum: 10c0/972f5e6c522890743999e0ed45260aae728098801c6128856b310dd21f1ee63435fc7b518e30e0ba1cdafd0d1e38275829c1e4451c3536a1d9e726e07a5bba0b + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/helper-wasm-section": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-opt": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + "@webassemblyjs/wast-printer": "npm:1.14.1" + checksum: 10c0/5ac4781086a2ca4b320bdbfd965a209655fe8a208ca38d89197148f8597e587c9a2c94fb6bd6f1a7dbd4527c49c6844fcdc2af981f8d793a97bf63a016aa86d2 languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/ieee754": "npm:1.11.6" - "@webassemblyjs/leb128": "npm:1.11.6" - "@webassemblyjs/utf8": "npm:1.11.6" - checksum: 10c0/1e257288177af9fa34c69cab94f4d9036ebed611f77f3897c988874e75182eeeec759c79b89a7a49dd24624fc2d3d48d5580b62b67c4a1c9bfbdcd266b281c16 + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/d678810d7f3f8fecb2e2bdadfb9afad2ec1d2bc79f59e4711ab49c81cec578371e22732d4966f59067abe5fba8e9c54923b57060a729d28d408e608beef67b10 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - "@webassemblyjs/wasm-parser": "npm:1.12.1" - checksum: 10c0/992a45e1f1871033c36987459436ab4e6430642ca49328e6e32a13de9106fe69ae6c0ac27d7050efd76851e502d11cd1ac0e06b55655dfa889ad82f11a2712fb + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + checksum: 10c0/515bfb15277ee99ba6b11d2232ddbf22aed32aad6d0956fe8a0a0a004a1b5a3a277a71d9a3a38365d0538ac40d1b7b7243b1a244ad6cd6dece1c1bb2eb5de7ee languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-api-error": "npm:1.11.6" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/ieee754": "npm:1.11.6" - "@webassemblyjs/leb128": "npm:1.11.6" - "@webassemblyjs/utf8": "npm:1.11.6" - checksum: 10c0/e85cec1acad07e5eb65b92d37c8e6ca09c6ca50d7ca58803a1532b452c7321050a0328c49810c337cc2dfd100c5326a54d5ebd1aa5c339ebe6ef10c250323a0e + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-api-error": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/95427b9e5addbd0f647939bd28e3e06b8deefdbdadcf892385b5edc70091bf9b92fa5faac3fce8333554437c5d85835afef8c8a7d9d27ab6ba01ffab954db8c6 languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wast-printer@npm:1.12.1" +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/ast": "npm:1.14.1" "@xtuc/long": "npm:4.2.2" - checksum: 10c0/39bf746eb7a79aa69953f194943bbc43bebae98bd7cadd4d8bc8c0df470ca6bf9d2b789effaa180e900fab4e2691983c1f7d41571458bd2a26267f2f0c73705a + checksum: 10c0/8d7768608996a052545251e896eac079c98e0401842af8dd4de78fba8d90bd505efb6c537e909cd6dae96e09db3fa2e765a6f26492553a675da56e2db51f9d24 languageName: node linkType: hard -"@webpack-cli/configtest@npm:^2.1.1": - version: 2.1.1 - resolution: "@webpack-cli/configtest@npm:2.1.1" +"@webpack-cli/configtest@npm:^3.0.1": + version: 3.0.1 + resolution: "@webpack-cli/configtest@npm:3.0.1" peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x - checksum: 10c0/a8da1f15702cb289807da99235ed95326ed7dabeb1a36ca59bd3a5dbe6adcc946a9a2767936050fc4d5ed14efab0e5b5a641dfe8e3d862c36caa5791ac12759d + webpack: ^5.82.0 + webpack-cli: 6.x.x + checksum: 10c0/edd24ecfc429298fe86446f7d7daedfe82d72e7f6236c81420605484fdadade5d59c6bcef3d76bd724e11d9727f74e75de183223ae62d3a568b2d54199688cbe languageName: node linkType: hard -"@webpack-cli/info@npm:^2.0.2": - version: 2.0.2 - resolution: "@webpack-cli/info@npm:2.0.2" +"@webpack-cli/info@npm:^3.0.1": + version: 3.0.1 + resolution: "@webpack-cli/info@npm:3.0.1" peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x - checksum: 10c0/ca88a35604dc9aedac7c26e8f6793c5039dc1eea2b12a85fbfd669a5f21ecf9cf169d7fd157ea366a62666e3fa05b776306a96742ac61a9868f44fdce6b40f7d + webpack: ^5.82.0 + webpack-cli: 6.x.x + checksum: 10c0/b23b94e7dc8c93e79248f20d5f1bd0fbb7b9ba4b012803e2fdc5440b8f2ee1f3eca7f4933bbca346c8168673bf572b1858169a3cb2c17d9b8bcd833d480c2170 languageName: node linkType: hard -"@webpack-cli/serve@npm:^2.0.5": - version: 2.0.5 - resolution: "@webpack-cli/serve@npm:2.0.5" +"@webpack-cli/serve@npm:^3.0.1": + version: 3.0.1 + resolution: "@webpack-cli/serve@npm:3.0.1" peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x + webpack: ^5.82.0 + webpack-cli: 6.x.x peerDependenciesMeta: webpack-dev-server: optional: true - checksum: 10c0/36079d34971ff99a58b66b13f4184dcdd8617853c48cccdbc3f9ab7ea9e5d4fcf504e873c298ea7aa15e0b51ad2c4aee4d7a70bd7d9364e60f57b0eb93ca15fc + checksum: 10c0/65245e45bfa35e11a5b30631b99cfed0c1b39b2cc8320fa2d2a4185264535618827d349ec032c58af4201d6236cbc43bec894fcb840fdd06314611537a80e210 languageName: node linkType: hard @@ -3152,15 +3236,6 @@ __metadata: languageName: node linkType: hard -"acorn-import-attributes@npm:^1.9.5": - version: 1.9.5 - resolution: "acorn-import-attributes@npm:1.9.5" - peerDependencies: - acorn: ^8 - checksum: 10c0/5926eaaead2326d5a86f322ff1b617b0f698aa61dc719a5baa0e9d955c9885cc71febac3fb5bacff71bbf2c4f9c12db2056883c68c53eb962c048b952e1e013d - languageName: node - linkType: hard - "acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": version: 8.3.4 resolution: "acorn-walk@npm:8.3.4" @@ -3170,7 +3245,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2": +"acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.4.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2": version: 8.12.1 resolution: "acorn@npm:8.12.1" bin: @@ -3179,12 +3254,12 @@ __metadata: languageName: node linkType: hard -"add-dom-event-listener@npm:^1.1.0": - version: 1.1.0 - resolution: "add-dom-event-listener@npm:1.1.0" - dependencies: - object-assign: "npm:4.x" - checksum: 10c0/79e490bebebbc1dbded6d86240d1532cd319a4cdd2b7682e46411bd6224bb2d3ea41661eeccebbc53a004005dac8edaaf5c56c7981d3697ec8c5c83008f2b6e7 +"acorn@npm:^8.14.0": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 languageName: node linkType: hard @@ -3336,13 +3411,6 @@ __metadata: languageName: node linkType: hard -"ansicolor@npm:1.1.100": - version: 1.1.100 - resolution: "ansicolor@npm:1.1.100" - checksum: 10c0/2c2584195934b1e367601a569ee95fa57d7a8472ccfe0d40db97b1dae100d4965db3d3d3051603bf4b822bf5bb4a5df1fcb6d149de06964c888bef26ce79943a - languageName: node - linkType: hard - "antlr4@npm:^4.13.2": version: 4.13.2 resolution: "antlr4@npm:4.13.2" @@ -3350,7 +3418,7 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^3.0.3, anymatch@npm:^3.1.1, anymatch@npm:~3.1.2": +"anymatch@npm:^3.0.3, anymatch@npm:^3.1.1": version: 3.1.3 resolution: "anymatch@npm:3.1.3" dependencies: @@ -3392,13 +3460,6 @@ __metadata: languageName: node linkType: hard -"array-tree-filter@npm:^2.1.0": - version: 2.1.0 - resolution: "array-tree-filter@npm:2.1.0" - checksum: 10c0/6fd1677522b20d10fd918e446db40c3e313eac9ed77ca8a5ea45f43b69c40300655c69760c159fd2cd189985323231a5077858c59fa3ca9c6c2439635eb8557e - languageName: node - linkType: hard - "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -3422,10 +3483,10 @@ __metadata: languageName: node linkType: hard -"attr-accept@npm:^2.2.2": - version: 2.2.2 - resolution: "attr-accept@npm:2.2.2" - checksum: 10c0/f77c073ac9616a783f2df814a56f65f1c870193e8da6097139e30b3be84ecc19fb835b93e81315d1da4f19e80721f14e8c8075014205e00abd37b856fe030b80 +"attr-accept@npm:^2.2.4": + version: 2.2.5 + resolution: "attr-accept@npm:2.2.5" + checksum: 10c0/9b4cb82213925cab2d568f71b3f1c7a7778f9192829aac39a281e5418cd00c04a88f873eb89f187e0bf786fa34f8d52936f178e62cbefb9254d57ecd88ada99b languageName: node linkType: hard @@ -3519,16 +3580,6 @@ __metadata: languageName: node linkType: hard -"babel-runtime@npm:6.x, babel-runtime@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-runtime@npm:6.26.0" - dependencies: - core-js: "npm:^2.4.0" - regenerator-runtime: "npm:^0.11.0" - checksum: 10c0/caa752004936b1463765ed3199c52f6a55d0613b9bed108743d6f13ca532b821d4ea9decc4be1b583193164462b1e3e7eefdfa36b15c72e7daac58dd72c1772f - languageName: node - linkType: hard - "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -3536,13 +3587,6 @@ __metadata: languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - "body@npm:^5.1.0": version: 5.1.0 resolution: "body@npm:5.1.0" @@ -3574,7 +3618,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3, braces@npm:~3.0.2": +"braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -3583,7 +3627,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.10, browserslist@npm:^4.23.1": +"browserslist@npm:^4.23.1": version: 4.23.3 resolution: "browserslist@npm:4.23.3" dependencies: @@ -3747,25 +3791,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.5.3": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - "chokidar@npm:^4.0.0": version: 4.0.1 resolution: "chokidar@npm:4.0.1" @@ -3775,6 +3800,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.1": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -3915,10 +3949,10 @@ __metadata: languageName: node linkType: hard -"commander@npm:^10.0.1": - version: 10.0.1 - resolution: "commander@npm:10.0.1" - checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 +"commander@npm:^12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 languageName: node linkType: hard @@ -3929,22 +3963,6 @@ __metadata: languageName: node linkType: hard -"component-classes@npm:^1.2.5": - version: 1.2.6 - resolution: "component-classes@npm:1.2.6" - dependencies: - component-indexof: "npm:0.0.3" - checksum: 10c0/5b2f7a7c897c3eec94b8d09bab0e1725ad596fae661a5ed850f924855c8fa73e783050b9b998a5732ba619ca0b4b550a1a2a50652bf8f34bd3773277547e3b0c - languageName: node - linkType: hard - -"component-indexof@npm:0.0.3": - version: 0.0.3 - resolution: "component-indexof@npm:0.0.3" - checksum: 10c0/0acb68802318f69fe60b1a48b9df7d36c2ace0837f7fb9e0c7bd4915dc4682c276be1cf1c1686e8c023f24b5e43edf4aaadc5d6dae04378f43f7869e89896966 - languageName: node - linkType: hard - "compute-scroll-into-view@npm:^3.1.0": version: 3.1.0 resolution: "compute-scroll-into-view@npm:3.1.0" @@ -3980,6 +3998,13 @@ __metadata: languageName: node linkType: hard +"cookie@npm:^1.0.1": + version: 1.0.2 + resolution: "cookie@npm:1.0.2" + checksum: 10c0/fd25fe79e8fbcfcaf6aa61cd081c55d144eeeba755206c058682257cb38c4bd6795c6620de3f064c740695bb65b7949ebb1db7a95e4636efb8357a335ad3f54b + languageName: node + linkType: hard + "copy-to-clipboard@npm:^3.3.1": version: 3.3.3 resolution: "copy-to-clipboard@npm:3.3.3" @@ -3989,26 +4014,18 @@ __metadata: languageName: node linkType: hard -"copy-webpack-plugin@npm:^12.0.2": - version: 12.0.2 - resolution: "copy-webpack-plugin@npm:12.0.2" +"copy-webpack-plugin@npm:^13.0.0": + version: 13.0.0 + resolution: "copy-webpack-plugin@npm:13.0.0" dependencies: - fast-glob: "npm:^3.3.2" glob-parent: "npm:^6.0.1" - globby: "npm:^14.0.0" normalize-path: "npm:^3.0.0" schema-utils: "npm:^4.2.0" serialize-javascript: "npm:^6.0.2" + tinyglobby: "npm:^0.2.12" peerDependencies: webpack: ^5.1.0 - checksum: 10c0/1a2715a1280a37b81b7040b89ed962db4aa75475b164f84f266fa4e81f209269b13f8bff10b104dff7558854bafedcdd4f30c40fd23ecd8fa28af45516b459cd - languageName: node - linkType: hard - -"core-js@npm:^2.4.0": - version: 2.6.12 - resolution: "core-js@npm:2.6.12" - checksum: 10c0/00128efe427789120a06b819adc94cc72b96955acb331cb71d09287baf9bd37bebd191d91f1ee4939c893a050307ead4faea08876f09115112612b6a05684b63 + checksum: 10c0/955037f77c6beb249b690710c35bacceb03b61bb5b7c5fc59ac7dff122c706eb794ef601bc3d9bbdb1350bda3e2615e0b43bf33f1ce2ca14ed934d9a89f43637 languageName: node linkType: hard @@ -4077,16 +4094,6 @@ __metadata: languageName: node linkType: hard -"css-animation@npm:^1.3.2": - version: 1.6.1 - resolution: "css-animation@npm:1.6.1" - dependencies: - babel-runtime: "npm:6.x" - component-classes: "npm:^1.2.5" - checksum: 10c0/fc5ef573f4a676b56c1b588f15cb9ef24086fbb907dd848b35bee1f835f7c0d726db5179e2deeff57865a9ae12c58454cee229949a9e2511b2d47d7d47df7d81 - languageName: node - linkType: hard - "css-box-model@npm:^1.2.1": version: 1.2.1 resolution: "css-box-model@npm:1.2.1" @@ -4528,10 +4535,10 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:3.6.0": - version: 3.6.0 - resolution: "date-fns@npm:3.6.0" - checksum: 10c0/0b5fb981590ef2f8e5a3ba6cd6d77faece0ea7f7158948f2eaae7bbb7c80a8f63ae30b01236c2923cf89bb3719c33aeb150c715ea4fe4e86e37dcf06bed42fb6 +"date-fns@npm:4.1.0": + version: 4.1.0 + resolution: "date-fns@npm:4.1.0" + checksum: 10c0/b79ff32830e6b7faa009590af6ae0fb8c3fd9ffad46d930548fbb5acf473773b4712ae887e156ba91a7b3dc30591ce0f517d69fd83bd9c38650fdc03b4e0bac8 languageName: node linkType: hard @@ -4671,13 +4678,6 @@ __metadata: languageName: node linkType: hard -"dom-align@npm:^1.7.0": - version: 1.12.4 - resolution: "dom-align@npm:1.12.4" - checksum: 10c0/358f1601fc6b6518c0726ee99e9124212b34ca2828a194c816f247b913415416098cf016391f89741cddccf9b98a98a077469d565630bd4f8143edac81a97186 - languageName: node - linkType: hard - "dom-css@npm:^2.0.0": version: 2.1.0 resolution: "dom-css@npm:2.1.0" @@ -4708,10 +4708,15 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:^3.0.0": - version: 3.1.6 - resolution: "dompurify@npm:3.1.6" - checksum: 10c0/3de1cca187c78d3d8cb4134fc2985b644d6a81f6b4e024c77cfb04c1c2f38544ccf7b0ea37a48ce22fcca64594170ed7c22252574c75b801c44345cdd7b06c64 +"dompurify@npm:3.2.5": + version: 3.2.5 + resolution: "dompurify@npm:3.2.5" + dependencies: + "@types/trusted-types": "npm:^2.0.7" + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: 10c0/b564167cc588933ad2d25c185296716bdd7124e9d2a75dac76efea831bb22d1230ce5205a1ab6ce4c1010bb32ac35f7a5cb2dd16c78cbf382111f1228362aa59 languageName: node linkType: hard @@ -4812,12 +4817,12 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:^7.7.3": - version: 7.13.0 - resolution: "envinfo@npm:7.13.0" +"envinfo@npm:^7.14.0": + version: 7.14.0 + resolution: "envinfo@npm:7.14.0" bin: envinfo: dist/cli.js - checksum: 10c0/9c279213cbbb353b3171e8e333fd2ed564054abade08ab3d735fe136e10a0e14e0588e1ce77e6f01285f2462eaca945d64f0778be5ae3d9e82804943e36a4411 + checksum: 10c0/059a031eee101e056bd9cc5cbfe25c2fab433fe1780e86cf0a82d24a000c6931e327da6a8ffb3dce528a24f83f256e7efc0b36813113eff8fdc6839018efe327 languageName: node linkType: hard @@ -4955,19 +4960,19 @@ __metadata: languageName: node linkType: hard -"eslint-webpack-plugin@npm:^4.2.0": - version: 4.2.0 - resolution: "eslint-webpack-plugin@npm:4.2.0" +"eslint-webpack-plugin@npm:^5.0.1": + version: 5.0.1 + resolution: "eslint-webpack-plugin@npm:5.0.1" dependencies: - "@types/eslint": "npm:^8.56.10" + "@types/eslint": "npm:^9.6.1" jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.5" + micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" - schema-utils: "npm:^4.2.0" + schema-utils: "npm:^4.3.0" peerDependencies: eslint: ^8.0.0 || ^9.0.0 webpack: ^5.0.0 - checksum: 10c0/cf5c9b7afa3c025fffadb3e1451e7a55d914c3070614bb4d57f887774d164ca4298bb777f7c3afa16f47af9869174a19d6aebb4d1ca719bc2cc49f2eccd71a3b + checksum: 10c0/bb20c8584086e9d1114f9830229c08b622ef2a198507c547a37bd6eff250e45f1cb91f202d5af2a6fa5f1ab13600675956564af959eb63e81629fb0c7e7eb6e0 languageName: node linkType: hard @@ -5051,13 +5056,6 @@ __metadata: languageName: node linkType: hard -"exenv@npm:^1.2.2": - version: 1.2.2 - resolution: "exenv@npm:1.2.2" - checksum: 10c0/4e96b355a6b9b9547237288ca779dd673b2e698458b409e88b50df09feb7c85ef94c07354b6b87bc3ed0193a94009a6f7a3c71956da12f45911c0d0f5aa3caa0 - languageName: node - linkType: hard - "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -5092,7 +5090,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.9": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -5174,12 +5172,24 @@ __metadata: languageName: node linkType: hard -"file-selector@npm:^0.6.0": - version: 0.6.0 - resolution: "file-selector@npm:0.6.0" +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd + languageName: node + linkType: hard + +"file-selector@npm:^2.1.0": + version: 2.1.2 + resolution: "file-selector@npm:2.1.2" dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/477ca1b56274db9fee1a8a623c4bfef580389726a5fef843af8c1f2f17f70ec2d1e41b29115777c92e120a15f1cca734c6ef36bb48bfa2ee027c68da16cd0d28 + tslib: "npm:^2.7.0" + checksum: 10c0/fe827e0e95410aacfcc3eabc38c29cc36055257f03c1c06b631a2b5af9730c142ad2c52f5d64724d02231709617bda984701f52bd1f4b7aca50fb6585a27c1d2 languageName: node linkType: hard @@ -5228,13 +5238,13 @@ __metadata: languageName: node linkType: hard -"fork-ts-checker-webpack-plugin@npm:^9.0.2": - version: 9.0.2 - resolution: "fork-ts-checker-webpack-plugin@npm:9.0.2" +"fork-ts-checker-webpack-plugin@npm:^9.1.0": + version: 9.1.0 + resolution: "fork-ts-checker-webpack-plugin@npm:9.1.0" dependencies: "@babel/code-frame": "npm:^7.16.7" chalk: "npm:^4.1.2" - chokidar: "npm:^3.5.3" + chokidar: "npm:^4.0.1" cosmiconfig: "npm:^8.2.0" deepmerge: "npm:^4.2.2" fs-extra: "npm:^10.0.0" @@ -5247,7 +5257,7 @@ __metadata: peerDependencies: typescript: ">3.6.0" webpack: ^5.11.0 - checksum: 10c0/37e11dadcc65d297f07882f1661795289f2bf16fa9dea0b90bcc438855d48787378bce4dfcd8e842782f220503438995efbb28cbe560126f6a744ff740e8cc38 + checksum: 10c0/b4acdf400862af5f57d3e159b3a444e7f9f73e9f4609d54604c3810f75f8adcea0165a8b17ee856ed3c65591d058ffd73cd08d273e289d4952844e75f6efa85d languageName: node linkType: hard @@ -5315,7 +5325,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": +"fsevents@npm:^2.3.2": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -5334,7 +5344,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -5432,7 +5442,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -5473,9 +5483,9 @@ __metadata: languageName: node linkType: hard -"glob@npm:^11.0.0": - version: 11.0.0 - resolution: "glob@npm:11.0.0" +"glob@npm:^11.0.2": + version: 11.0.2 + resolution: "glob@npm:11.0.2" dependencies: foreground-child: "npm:^3.1.0" jackspeak: "npm:^4.0.1" @@ -5485,7 +5495,7 @@ __metadata: path-scurry: "npm:^2.0.0" bin: glob: dist/esm/bin.mjs - checksum: 10c0/419866015d8795258a8ac51de5b9d1a99c72634fc3ead93338e4da388e89773ab21681e494eac0fbc4250b003451ca3110bb4f1c9393d15d14466270094fdb4e + checksum: 10c0/49f91c64ca882d5e3a72397bd45a146ca91fd3ca53dafb5254daf6c0e83fc510d39ea66f136f9ac7ca075cdd11fbe9aaa235b28f743bd477622e472f4fdc0240 languageName: node linkType: hard @@ -5524,20 +5534,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^14.0.0": - version: 14.0.2 - resolution: "globby@npm:14.0.2" - dependencies: - "@sindresorhus/merge-streams": "npm:^2.1.0" - fast-glob: "npm:^3.3.2" - ignore: "npm:^5.2.4" - path-type: "npm:^5.0.0" - slash: "npm:^5.1.0" - unicorn-magic: "npm:^0.1.0" - checksum: 10c0/3f771cd683b8794db1e7ebc8b6b888d43496d93a82aad4e9d974620f578581210b6c5a6e75ea29573ed16a1345222fab6e9b877a8d1ed56eeb147e09f69c6f78 - languageName: node - linkType: hard - "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -5614,7 +5610,7 @@ __metadata: languageName: node linkType: hard -"history@npm:4.10.1": +"history@npm:4.10.1, history@npm:^4.9.0": version: 4.10.1 resolution: "history@npm:4.10.1" dependencies: @@ -5637,7 +5633,7 @@ __metadata: languageName: node linkType: hard -"hoist-non-react-statics@npm:3.3.2, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": +"hoist-non-react-statics@npm:3.3.2, hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: @@ -5740,21 +5736,26 @@ __metadata: languageName: node linkType: hard -"i18next-browser-languagedetector@npm:^7.0.2": - version: 7.2.1 - resolution: "i18next-browser-languagedetector@npm:7.2.1" +"i18next-browser-languagedetector@npm:^8.0.0": + version: 8.1.0 + resolution: "i18next-browser-languagedetector@npm:8.1.0" dependencies: "@babel/runtime": "npm:^7.23.2" - checksum: 10c0/44fa71af4efb4cd6cc8bfbbd3f3b2735159e17d8f4396346e4016c6dd0ecbcdd68f1ec17609fd0de8dd6754c3d847d6e7e03227c19c1879d4c265cb1918948bb + checksum: 10c0/d55162f8062e4fdca07403273ef352e7122e1f9abe479404c6711f5a9b75ddb4b33d49b5a50416637d3a3f0553881ba6a570062c8f6e6c52b031eceb0bb8669e languageName: node linkType: hard -"i18next@npm:^23.0.0": - version: 23.15.1 - resolution: "i18next@npm:23.15.1" +"i18next@npm:^24.0.0": + version: 24.2.3 + resolution: "i18next@npm:24.2.3" dependencies: - "@babel/runtime": "npm:^7.23.2" - checksum: 10c0/06bf6c45c70ebe8cc1181ce5f367f6a60acc798abb1926329e67e092a25762cabbfed64ac149745d515f724d2a6fef3bf809bd4fd8f505a7966e9e4dd2e3fd69 + "@babel/runtime": "npm:^7.26.10" + peerDependencies: + typescript: ^5 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/7ac11a67d618ec714beef303aa497c1249bf5f1977dd3ebe9ca2673dfa6cadbba9e2d39ec1337688903ae3866ce9c1bc22cd6b265e66cce54c5db3a9bbedd390 languageName: node linkType: hard @@ -5762,51 +5763,51 @@ __metadata: version: 0.0.0-use.local resolution: "ibm-rmf@workspace:." dependencies: - "@babel/core": "npm:^7.25.9" - "@emotion/css": "npm:^11.13.4" - "@grafana/data": "npm:^11.3.0" + "@babel/core": "npm:^7.27.1" + "@emotion/css": "npm:^11.13.5" + "@grafana/data": "npm:^12.0.0" "@grafana/eslint-config": "npm:^8.0.0" - "@grafana/runtime": "npm:^11.3.0" - "@grafana/schema": "npm:^11.3.0" + "@grafana/runtime": "npm:^12.0.0" + "@grafana/schema": "npm:^12.0.0" "@grafana/tsconfig": "npm:^2.0.0" - "@grafana/ui": "npm:^11.3.0" - "@playwright/test": "npm:^1.48.1" - "@swc/core": "npm:^1.7.39" - "@swc/helpers": "npm:^0.5.13" - "@swc/jest": "npm:^0.2.36" - "@testing-library/jest-dom": "npm:^6.6.2" - "@testing-library/react": "npm:^16.0.1" + "@grafana/ui": "npm:^12.0.0" + "@playwright/test": "npm:^1.52.0" + "@swc/core": "npm:^1.11.24" + "@swc/helpers": "npm:^0.5.17" + "@swc/jest": "npm:^0.2.38" + "@testing-library/jest-dom": "npm:^6.6.3" + "@testing-library/react": "npm:^16.3.0" "@types/jest": "npm:^29.5.14" - "@types/lodash": "npm:^4.17.12" - "@types/node": "npm:^22.7.9" + "@types/lodash": "npm:^4.17.16" + "@types/node": "npm:^22.15.17" "@types/react-router-dom": "npm:^5.3.3" antlr4: "npm:^4.13.2" - copy-webpack-plugin: "npm:^12.0.2" + copy-webpack-plugin: "npm:^13.0.0" css-loader: "npm:^7.1.2" eslint-plugin-deprecation: "npm:^3.0.0" - eslint-webpack-plugin: "npm:^4.2.0" - fork-ts-checker-webpack-plugin: "npm:^9.0.2" - glob: "npm:^11.0.0" + eslint-webpack-plugin: "npm:^5.0.1" + fork-ts-checker-webpack-plugin: "npm:^9.1.0" + glob: "npm:^11.0.2" identity-obj-proxy: "npm:^3.0.0" imports-loader: "npm:^5.0.0" jest: "npm:^29.7.0" jest-environment-jsdom: "npm:^29.7.0" - prettier: "npm:^3.3.3" - react: "npm:^18.3.1" - react-dom: "npm:^18.3.1" - react-router-dom: "npm:^6.27.0" + prettier: "npm:^3.5.3" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" + react-router-dom: "npm:^7.6.0" replace-in-file-webpack-plugin: "npm:^1.0.6" - rxjs: "npm:^7.8.1" - sass: "npm:^1.80.3" - sass-loader: "npm:^16.0.2" + rxjs: "npm:^7.8.2" + sass: "npm:^1.87.0" + sass-loader: "npm:^16.0.5" style-loader: "npm:^4.0.0" swc-loader: "npm:^0.2.6" ts-node: "npm:^10.9.2" tsconfig-paths: "npm:^4.2.0" - tslib: "npm:^2.8.0" - typescript: "npm:^5.6.3" - webpack: "npm:^5.95.0" - webpack-cli: "npm:^5.1.4" + tslib: "npm:^2.8.1" + typescript: "npm:^5.8.3" + webpack: "npm:^5.99.8" + webpack-cli: "npm:^6.0.1" webpack-livereload-plugin: "npm:^3.0.2" webpack-virtual-modules: "npm:^0.6.2" languageName: unknown @@ -5846,17 +5847,24 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.2.4": +"ignore@npm:^5.2.0": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard -"immutable@npm:4.3.7, immutable@npm:^4.0.0": - version: 4.3.7 - resolution: "immutable@npm:4.3.7" - checksum: 10c0/9b099197081b22f6433003e34929da8ecddbbdc1474cdc8aa3b7669dee4adda349c06143de22def36016d1b6de5322b043eccd7a11db1dad2ca85dad4fff5435 +"immutable@npm:5.0.3": + version: 5.0.3 + resolution: "immutable@npm:5.0.3" + checksum: 10c0/3269827789e1026cd25c2ea97f0b2c19be852ffd49eda1b674b20178f73d84fa8d945ad6f5ac5bc4545c2b4170af9f6e1f77129bc1cae7974a4bf9b04a9cdfb9 + languageName: node + linkType: hard + +"immutable@npm:^5.0.2": + version: 5.1.2 + resolution: "immutable@npm:5.1.2" + checksum: 10c0/da5af92d2c70323c1f9a0e418832c9eef441feadaf6a295a4e07764bd2400c85186872e016071d9253549d58d364160d55dca8dcdf59fd4a6a06c6756fe61657 languageName: node linkType: hard @@ -5986,15 +5994,6 @@ __metadata: languageName: node linkType: hard -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - "is-core-module@npm:^2.13.0": version: 2.15.1 resolution: "is-core-module@npm:2.15.1" @@ -6025,7 +6024,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -6099,6 +6098,13 @@ __metadata: languageName: node linkType: hard +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -6926,7 +6932,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -7021,21 +7027,21 @@ __metadata: languageName: node linkType: hard -"marked-mangle@npm:1.1.9": - version: 1.1.9 - resolution: "marked-mangle@npm:1.1.9" +"marked-mangle@npm:1.1.10": + version: 1.1.10 + resolution: "marked-mangle@npm:1.1.10" peerDependencies: - marked: ">=4 <15" - checksum: 10c0/8df929fa8a52b889a3767621d2e69421e472c3ea11226f5fa3fae9f521447155a451127499c24a3952a5aeb7439ebe043b0223f258bb4744eef0b001e3a03ad4 + marked: ">=4 <16" + checksum: 10c0/085186a6c6cd99428e029ecb2f17dc501c640d16a38b833c5833aab5dc8e71955cac6341ec193e9040f7154a5ab149c867ca58bb77a7122a69062a08df0ca80b languageName: node linkType: hard -"marked@npm:12.0.2": - version: 12.0.2 - resolution: "marked@npm:12.0.2" +"marked@npm:15.0.6": + version: 15.0.6 + resolution: "marked@npm:15.0.6" bin: marked: bin/marked.js - checksum: 10c0/45ae2e1e3f06b30a5b5f64efc6cde9830c81d1d024fd7668772a3217f1bc0f326e66a6b8970482d9783edf1f581fecac7023a7fa160f2c14dbcc16e064b4eafb + checksum: 10c0/8f30972ac5fdf879353484bdd7717409c241d15031a58bbc483070dedb58e4b314c41c0b59b78e536658907c02ee149eaf4b9be221f198df97beae703f529d40 languageName: node linkType: hard @@ -7107,7 +7113,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -7292,16 +7298,16 @@ __metadata: languageName: node linkType: hard -"moment-timezone@npm:0.5.46": - version: 0.5.46 - resolution: "moment-timezone@npm:0.5.46" +"moment-timezone@npm:0.5.47": + version: 0.5.47 + resolution: "moment-timezone@npm:0.5.47" dependencies: moment: "npm:^2.29.4" - checksum: 10c0/003fd278d1aa3e63afff340a318735db80157b7a343e3f807cac10e026def214f0e71b52d582b89a11ee0a19f5d9f0da2752b7959d855429f2b715d4859d3722 + checksum: 10c0/6f7cdbebe712dcbb767a6380e097d352776b83dd7d1d797546d6ff21d813e8380633373da93aea1d24f2c3c031044fd4a18726cacad14eda3f1f428192ad955c languageName: node linkType: hard -"moment@npm:2.30.1, moment@npm:2.x, moment@npm:^2.29.4": +"moment@npm:2.30.1, moment@npm:^2.29.4": version: 2.30.1 resolution: "moment@npm:2.30.1" checksum: 10c0/865e4279418c6de666fca7786607705fd0189d8a7b7624e2e56be99290ac846f90878a6f602e34b4e0455c549b85385b1baf9966845962b313699e7cb847543a @@ -7432,7 +7438,7 @@ __metadata: languageName: node linkType: hard -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": +"normalize-path@npm:^3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 @@ -7455,7 +7461,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:4.x, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 @@ -7588,10 +7594,10 @@ __metadata: languageName: node linkType: hard -"papaparse@npm:5.4.1": - version: 5.4.1 - resolution: "papaparse@npm:5.4.1" - checksum: 10c0/201f37c4813453fed5bfb4c01816696b099d2db9ff1e8fb610acc4771fdde91d2a22b6094721edb0fedb21ca3c46f04263f68be4beb3e35b8c72278f0cedc7b7 +"papaparse@npm:5.5.2": + version: 5.5.2 + resolution: "papaparse@npm:5.5.2" + checksum: 10c0/83b8c0cf570395581a42331cd9231194dbba43bc8c608026739f5180827506575993dc788def039a9666bc103e2a96075de8732ea8a63e507b74c02aa757bcd5 languageName: node linkType: hard @@ -7680,6 +7686,15 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:^1.7.0": + version: 1.9.0 + resolution: "path-to-regexp@npm:1.9.0" + dependencies: + isarray: "npm:0.0.1" + checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -7687,13 +7702,6 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^5.0.0": - version: 5.0.0 - resolution: "path-type@npm:5.0.0" - checksum: 10c0/e8f4b15111bf483900c75609e5e74e3fcb79f2ddb73e41470028fcd3e4b5162ec65da9907be077ee5012c18801ff7fffb35f9f37a077f3f81d85a0b7d6578efd - languageName: node - linkType: hard - "pbf@npm:3.2.1": version: 3.2.1 resolution: "pbf@npm:3.2.1" @@ -7720,13 +7728,27 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + "pirates@npm:^4.0.4": version: 4.0.6 resolution: "pirates@npm:4.0.6" @@ -7743,27 +7765,27 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.48.1": - version: 1.48.1 - resolution: "playwright-core@npm:1.48.1" +"playwright-core@npm:1.52.0": + version: 1.52.0 + resolution: "playwright-core@npm:1.52.0" bin: playwright-core: cli.js - checksum: 10c0/2f75532b9b7dfa0e586f5660ac1d8ea729bbdbd28dd2c0711e7cfc1adfe5cf7448d7f15a018ec9851a8f50c0743c3990cb9df23064bed603627baeac4dce3915 + checksum: 10c0/640945507e6ca2144e9f596b2a6ecac042c2fd3683ff99e6271e9a7b38f3602d415f282609d569456f66680aab8b3c5bb1b257d8fb63a7fc0ed648261110421f languageName: node linkType: hard -"playwright@npm:1.48.1": - version: 1.48.1 - resolution: "playwright@npm:1.48.1" +"playwright@npm:1.52.0": + version: 1.52.0 + resolution: "playwright@npm:1.52.0" dependencies: fsevents: "npm:2.3.2" - playwright-core: "npm:1.48.1" + playwright-core: "npm:1.52.0" dependenciesMeta: fsevents: optional: true bin: playwright: cli.js - checksum: 10c0/96280ae656226e52015c0c69c4c19e9f594c19353a79012a19bd7b7175d7b409c1aed289a629df49ef897a57ccd24668ad15b86c283db10f76212a4db90a94ac + checksum: 10c0/2c6edf1e15e59bbaf77f3fa0fe0ac975793c17cff835d9c8b8bc6395a3b6f1c01898b3058ab37891b2e4d424bcc8f1b4844fe70d943e0143d239d7451408c579 languageName: node linkType: hard @@ -7857,12 +7879,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.3.3": - version: 3.3.3 - resolution: "prettier@npm:3.3.3" +"prettier@npm:^3.5.3": + version: 3.5.3 + resolution: "prettier@npm:3.5.3" bin: prettier: bin/prettier.cjs - checksum: 10c0/b85828b08e7505716324e4245549b9205c0cacb25342a030ba8885aba2039a115dbcf75a0b7ca3b37bc9d101ee61fab8113fc69ca3359f2a226f1ecc07ad2e26 + checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877 languageName: node linkType: hard @@ -7877,10 +7899,10 @@ __metadata: languageName: node linkType: hard -"prismjs@npm:1.29.0": - version: 1.29.0 - resolution: "prismjs@npm:1.29.0" - checksum: 10c0/d906c4c4d01b446db549b4f57f72d5d7e6ccaca04ecc670fb85cea4d4b1acc1283e945a9cbc3d81819084a699b382f970e02f9d1378e14af9808d366d9ed7ec6 +"prismjs@npm:1.30.0": + version: 1.30.0 + resolution: "prismjs@npm:1.30.0" + checksum: 10c0/f56205bfd58ef71ccfcbcb691fd0eb84adc96c6ff21b0b69fc6fdcf02be42d6ef972ba4aed60466310de3d67733f6a746f89f2fb79c00bf217406d465b3e8f23 languageName: node linkType: hard @@ -7911,7 +7933,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:15.x, prop-types@npm:^15.5.10, prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": +"prop-types@npm:^15.5.10, prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -8014,7 +8036,7 @@ __metadata: languageName: node linkType: hard -"raf@npm:^3.1.0, raf@npm:^3.4.0, raf@npm:^3.4.1": +"raf@npm:^3.1.0": version: 3.4.1 resolution: "raf@npm:3.4.1" dependencies: @@ -8051,47 +8073,19 @@ __metadata: languageName: node linkType: hard -"rc-align@npm:^2.4.0": - version: 2.4.5 - resolution: "rc-align@npm:2.4.5" - dependencies: - babel-runtime: "npm:^6.26.0" - dom-align: "npm:^1.7.0" - prop-types: "npm:^15.5.8" - rc-util: "npm:^4.0.4" - checksum: 10c0/460b3717636f9eea8e0537af4b8179690c1deeda2628bdcce6f218b099ebcf8ea48ad8b487b5d971e59fbbce24f10abca89d98eeff99316e8f056658c7854df0 - languageName: node - linkType: hard - -"rc-animate@npm:2.x": - version: 2.11.1 - resolution: "rc-animate@npm:2.11.1" +"rc-cascader@npm:3.33.0": + version: 3.33.0 + resolution: "rc-cascader@npm:3.33.0" dependencies: - babel-runtime: "npm:6.x" - classnames: "npm:^2.2.6" - css-animation: "npm:^1.3.2" - prop-types: "npm:15.x" - raf: "npm:^3.4.0" - rc-util: "npm:^4.15.3" - react-lifecycles-compat: "npm:^3.0.4" - checksum: 10c0/a4d31bb5065031de58ee9f4a06ebf4bd4f8e4b8a10103fbad5a68ec39c655f7bff84df21b05356a94405fcb3de0dd7d9e45d526042199d80c88d02a57c3acbdc - languageName: node - linkType: hard - -"rc-cascader@npm:3.28.1": - version: 3.28.1 - resolution: "rc-cascader@npm:3.28.1" - dependencies: - "@babel/runtime": "npm:^7.12.5" - array-tree-filter: "npm:^2.1.0" + "@babel/runtime": "npm:^7.25.7" classnames: "npm:^2.3.1" - rc-select: "npm:~14.15.0" - rc-tree: "npm:~5.9.0" - rc-util: "npm:^5.37.0" + rc-select: "npm:~14.16.2" + rc-tree: "npm:~5.13.0" + rc-util: "npm:^5.43.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/ffa13db0728d7021e3d0b6586e681c029ca1f112e78f4c2c0b1becd66386ef2e3201d02880e06867dfbc77b75bee624766d7fad95e0a26d204451657fb7d2d76 + checksum: 10c0/834e267c0718a4331e5221615cdfc1b9661a98927524ed5d3375d4bd56e4040b747e8a65998ae0445ba3455ad07956794abc58bdbb1563ccdf2403b228d5cc67 languageName: node linkType: hard @@ -8140,6 +8134,51 @@ __metadata: languageName: node linkType: hard +"rc-overflow@npm:^1.3.2": + version: 1.4.1 + resolution: "rc-overflow@npm:1.4.1" + dependencies: + "@babel/runtime": "npm:^7.11.1" + classnames: "npm:^2.2.1" + rc-resize-observer: "npm:^1.0.0" + rc-util: "npm:^5.37.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10c0/ac47d2c7b4cfc99e8ca20c75f99e601eac4d524f6690d9a36fb65d84b9f627f13aa70f11fc5c09b24c1e9a0395a15c16998a57f2517c08a6abe545539cb5e162 + languageName: node + linkType: hard + +"rc-picker@npm:4.9.2": + version: 4.9.2 + resolution: "rc-picker@npm:4.9.2" + dependencies: + "@babel/runtime": "npm:^7.24.7" + "@rc-component/trigger": "npm:^2.0.0" + classnames: "npm:^2.2.1" + rc-overflow: "npm:^1.3.2" + rc-resize-observer: "npm:^1.4.0" + rc-util: "npm:^5.43.0" + peerDependencies: + date-fns: ">= 2.x" + dayjs: ">= 1.x" + luxon: ">= 3.x" + moment: ">= 2.x" + react: ">=16.9.0" + react-dom: ">=16.9.0" + peerDependenciesMeta: + date-fns: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true + checksum: 10c0/052a78e5277f71e8eaf66333dba5aea165bf999ffeef2cea1f5b63395dc083ce80a398dcd51002fe808961282089dfcf92a81ded326fe2bf54f320a24c8f4dbb + languageName: node + linkType: hard + "rc-resize-observer@npm:^1.0.0, rc-resize-observer@npm:^1.3.1": version: 1.4.0 resolution: "rc-resize-observer@npm:1.4.0" @@ -8155,9 +8194,24 @@ __metadata: languageName: node linkType: hard -"rc-select@npm:~14.15.0": - version: 14.15.2 - resolution: "rc-select@npm:14.15.2" +"rc-resize-observer@npm:^1.4.0": + version: 1.4.3 + resolution: "rc-resize-observer@npm:1.4.3" + dependencies: + "@babel/runtime": "npm:^7.20.7" + classnames: "npm:^2.2.1" + rc-util: "npm:^5.44.1" + resize-observer-polyfill: "npm:^1.5.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10c0/93073c9ef5cc704f9d99307f58f8eeccabb953edf4e8a056b090104fc28ed19b77c2a32bd88ca2e0407fbedeb266d1985e655b35b8bc36b04d243e9d0471c911 + languageName: node + linkType: hard + +"rc-select@npm:~14.16.2": + version: 14.16.7 + resolution: "rc-select@npm:14.16.7" dependencies: "@babel/runtime": "npm:^7.10.1" "@rc-component/trigger": "npm:^2.1.1" @@ -8169,13 +8223,13 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/00151da840002e30ee2b1f372c416e8370495524cf46e587eeb903fce2d1fd43167774a49cb7aed3e9816d2a200b46150c7d1fdcb1b17a21ca19d3a3cf930792 + checksum: 10c0/9429dd7d2d2ff5df56efea946d95901650378e7b8ceed37ef586f5cde64cdb52be390c2176ce516bb3bbdbab15305524c5c0d8cc9d0998cc39bd4e917360329f languageName: node linkType: hard -"rc-slider@npm:11.1.7": - version: 11.1.7 - resolution: "rc-slider@npm:11.1.7" +"rc-slider@npm:11.1.8": + version: 11.1.8 + resolution: "rc-slider@npm:11.1.8" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:^2.2.5" @@ -8183,41 +8237,28 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/ddb870a8f9982565c3ab4e7ece12a224c4d6f1983a0760d516561fa8963c2bc6d9e25bed6b87cad007b3d4962194398e1490231d0b5ab062262c0ea0ba734b85 + checksum: 10c0/b202599abf85e21234c2cababe9c6f908aa7fcdde9eca413ef96b209838f3b1a33292d1a1bbe571b84bf46f8a5d28d5c1a070f331bddc0504101e9e2a75cf422 languageName: node linkType: hard -"rc-time-picker@npm:^3.7.3": - version: 3.7.3 - resolution: "rc-time-picker@npm:3.7.3" - dependencies: - classnames: "npm:2.x" - moment: "npm:2.x" - prop-types: "npm:^15.5.8" - raf: "npm:^3.4.1" - rc-trigger: "npm:^2.2.0" - react-lifecycles-compat: "npm:^3.0.4" - checksum: 10c0/f9c3e39a40a3db2c0a89c07bdbae82b053ea99cf169ec26f26b16492ff37961f73541756177b28e618028246baa72148ba2083b9d25e9053da4319f0f3d2d268 - languageName: node - linkType: hard - -"rc-tooltip@npm:6.2.1": - version: 6.2.1 - resolution: "rc-tooltip@npm:6.2.1" +"rc-tooltip@npm:6.4.0": + version: 6.4.0 + resolution: "rc-tooltip@npm:6.4.0" dependencies: "@babel/runtime": "npm:^7.11.2" "@rc-component/trigger": "npm:^2.0.0" classnames: "npm:^2.3.1" + rc-util: "npm:^5.44.3" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/879341bcb7c162faa51b187482947c4f7d67b223f3999cf4a0fc5f4ffd15030086cef05b32464203c6ea7d07fc9f68cca85d806bf65ffdb91a5e7a76e46c839d + checksum: 10c0/49b9c56fc877b38084b4076edb1b61f0272bdd290c6ef161a0e1cf6426488e948c20439cf4ae31e076f3957b894feb326e4a1d7880400de2c29b1d54f736a342 languageName: node linkType: hard -"rc-tree@npm:~5.9.0": - version: 5.9.0 - resolution: "rc-tree@npm:5.9.0" +"rc-tree@npm:~5.13.0": + version: 5.13.1 + resolution: "rc-tree@npm:5.13.1" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:2.x" @@ -8227,35 +8268,7 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/07cb1126910739060170be6348835bb39cfdf0ddf6fffbbfda2eca49cadee9233fd2031a0cabce07e4874df29ccdc1168b47695dec5e03ecfe502c0fa49712a9 - languageName: node - linkType: hard - -"rc-trigger@npm:^2.2.0": - version: 2.6.5 - resolution: "rc-trigger@npm:2.6.5" - dependencies: - babel-runtime: "npm:6.x" - classnames: "npm:^2.2.6" - prop-types: "npm:15.x" - rc-align: "npm:^2.4.0" - rc-animate: "npm:2.x" - rc-util: "npm:^4.4.0" - react-lifecycles-compat: "npm:^3.0.4" - checksum: 10c0/29ba7a0eab6a281e77754050c84a80d9aaa4134e89db8319a61d9d1cc9296b873c208135d01495733e3f8e2bbe4c90d2fa28754da92a5f0b1064ee08b0dd1d4d - languageName: node - linkType: hard - -"rc-util@npm:^4.0.4, rc-util@npm:^4.15.3, rc-util@npm:^4.4.0": - version: 4.21.1 - resolution: "rc-util@npm:4.21.1" - dependencies: - add-dom-event-listener: "npm:^1.1.0" - prop-types: "npm:^15.5.10" - react-is: "npm:^16.12.0" - react-lifecycles-compat: "npm:^3.0.4" - shallowequal: "npm:^1.1.0" - checksum: 10c0/f91fe2ba98658c1bd67d8d3edd5ed5a2425ff44d3cd30f96b71b6058bd6c852bbf82e00716e219c10f6fac20e9b9cbb447e39cd69e12cdcfeda6dcd824adc790 + checksum: 10c0/4a27783d319f9e5367e9d123a2f9a6daa0383e705e055abb47f3ff7fa93249c5c26bbb27b7c6602163faefbfe0f3e923eb3a55d1e1f1d09d04b7bdf37942c2d4 languageName: node linkType: hard @@ -8272,6 +8285,19 @@ __metadata: languageName: node linkType: hard +"rc-util@npm:^5.44.1, rc-util@npm:^5.44.3": + version: 5.44.4 + resolution: "rc-util@npm:5.44.4" + dependencies: + "@babel/runtime": "npm:^7.18.3" + react-is: "npm:^18.2.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10c0/748b71a6280ddaaac93d1fb2c92f03818775468e7ccb6c221484687cc0b7e879d083e98e338f75ac0fe2e942dbb9c2405bd32d25e5a804bf1fb7a11f3f897127 + languageName: node + linkType: hard + "rc-virtual-list@npm:^3.5.1, rc-virtual-list@npm:^3.5.2": version: 3.14.5 resolution: "rc-virtual-list@npm:3.14.5" @@ -8287,9 +8313,9 @@ __metadata: languageName: node linkType: hard -"react-calendar@npm:5.0.0": - version: 5.0.0 - resolution: "react-calendar@npm:5.0.0" +"react-calendar@npm:^5.1.0": + version: 5.1.0 + resolution: "react-calendar@npm:5.1.0" dependencies: "@wojtekmaj/date-utils": "npm:^1.1.3" clsx: "npm:^2.0.0" @@ -8302,7 +8328,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/d0b393b22fb1607dd2a7743f104f6d7fe2f3dba39bfbce301b5100d35bed239f51a7b08eec2a7fea77d88af60aecc0b36c2435f36d0e07b88f4a826a67c5a91e + checksum: 10c0/27673f639c5d6296342a2a888436b31a5d602faeaae01be83b2beb98ff568b0a3d1514f5cc50fcacf3ac50b9c0b9d2fb423b0c001a8f5f1a22816671409e2616 languageName: node linkType: hard @@ -8330,50 +8356,60 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.3.1": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" +"react-data-grid@npm:7.0.0-beta.46": + version: 7.0.0-beta.46 + resolution: "react-data-grid@npm:7.0.0-beta.46" dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" + clsx: "npm:^2.0.0" peerDependencies: - react: ^18.3.1 - checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + react: ^18.0 || ^19.0 + react-dom: ^18.0 || ^19.0 + checksum: 10c0/38cfafaae84faac49d638d21a5f327b6d7e6dd119bec752d87add6c4b9f2830eb73ba4c52339a130eb049efc2ae42114bda537da84b1fb6c0b17c7ff4e631937 languageName: node linkType: hard -"react-dropzone@npm:14.2.9": - version: 14.2.9 - resolution: "react-dropzone@npm:14.2.9" +"react-dom@npm:^19.1.0": + version: 19.1.0 + resolution: "react-dom@npm:19.1.0" dependencies: - attr-accept: "npm:^2.2.2" - file-selector: "npm:^0.6.0" + scheduler: "npm:^0.26.0" + peerDependencies: + react: ^19.1.0 + checksum: 10c0/3e26e89bb6c67c9a6aa86cb888c7a7f8258f2e347a6d2a15299c17eb16e04c19194e3452bc3255bd34000a61e45e2cb51e46292392340432f133e5a5d2dfb5fc + languageName: node + linkType: hard + +"react-dropzone@npm:14.3.5": + version: 14.3.5 + resolution: "react-dropzone@npm:14.3.5" + dependencies: + attr-accept: "npm:^2.2.4" + file-selector: "npm:^2.1.0" prop-types: "npm:^15.8.1" peerDependencies: react: ">= 16.8 || 18.0.0" - checksum: 10c0/07c69f5c43500edae8916af54bff53bd27e7a4ba127228d130a5346e49f41ff16b47357d97871b4167d6cd9e65e65b9052d1ea7e59d16caeabf1565a73026f58 + checksum: 10c0/e3e5dddd3bead7c6410bd3fccc3a87e93086ceac47526a2d35421ef7e11a9e59f47c8af8da5c4600a58ef238a5af87c751a71b6391d5c6f77f1f2857946c07cc languageName: node linkType: hard -"react-from-dom@npm:^0.6.2": - version: 0.6.2 - resolution: "react-from-dom@npm:0.6.2" +"react-from-dom@npm:^0.7.5": + version: 0.7.5 + resolution: "react-from-dom@npm:0.7.5" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/4955650801361afb8d4edf2ef8a7f0a55ab5af238042264c3ffe0f834f1af7ed2ebba9e2a382cd548200e8f2ad86c19ee6387d63a49a0a50722b5272e26244c7 + react: 16.8 - 19 + checksum: 10c0/1f1fd17d5d08ca2a714dde9a9559c54747eefdc9d1a45d84befb4e036957f197681c0ac5ddea325ac30d0a646c070ec9bb458ebfab281f4e380023451a3a28a0 languageName: node linkType: hard -"react-highlight-words@npm:0.20.0": - version: 0.20.0 - resolution: "react-highlight-words@npm:0.20.0" +"react-highlight-words@npm:0.21.0": + version: 0.21.0 + resolution: "react-highlight-words@npm:0.21.0" dependencies: highlight-words-core: "npm:^1.2.0" memoize-one: "npm:^4.0.0" - prop-types: "npm:^15.5.8" peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 - checksum: 10c0/1d3aec0c8b8865e3b2855a2fbb11c0af3fad7fc3e2685fcd4952e8bd59b8d8874ecff773830bdcc135f81ec7d13e1f2d6de0f05a153a82b4e192534339cb5550 + react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0-0 + checksum: 10c0/8704097b6ca2b08a943e55e66493fab21d523362c8ea754ef4c7a351b4625b684d7ed1e9155f97d033be78783dacdd88bb83e2766cfc3d462c311551552b8ad5 languageName: node linkType: hard @@ -8386,21 +8422,24 @@ __metadata: languageName: node linkType: hard -"react-i18next@npm:^14.0.0": - version: 14.1.3 - resolution: "react-i18next@npm:14.1.3" +"react-i18next@npm:^15.0.0": + version: 15.5.1 + resolution: "react-i18next@npm:15.5.1" dependencies: - "@babel/runtime": "npm:^7.23.9" + "@babel/runtime": "npm:^7.25.0" html-parse-stringify: "npm:^3.0.1" peerDependencies: i18next: ">= 23.2.3" react: ">= 16.8.0" + typescript: ^5 peerDependenciesMeta: react-dom: optional: true react-native: optional: true - checksum: 10c0/a10426585a3bdfecbec5afc7eeb35df8005fa9d47032dd70dea170adb5506c13ea4e5f417a50669f59c547537d1b3a80e638580987f1c1bbc628ddc8f5974ec9 + typescript: + optional: true + checksum: 10c0/448e190beb3338e5e6e48936c82b5e8610fdb54d0b3dafc14c2af76115a6c931eff601c3e4aee00b3d3c1b78d4d7061bbac443fc9bcff786d131e695c79f5822 languageName: node linkType: hard @@ -8415,15 +8454,14 @@ __metadata: languageName: node linkType: hard -"react-inlinesvg@npm:3.0.2": - version: 3.0.2 - resolution: "react-inlinesvg@npm:3.0.2" +"react-inlinesvg@npm:4.2.0": + version: 4.2.0 + resolution: "react-inlinesvg@npm:4.2.0" dependencies: - exenv: "npm:^1.2.2" - react-from-dom: "npm:^0.6.2" + react-from-dom: "npm:^0.7.5" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/f82f7aa02d4090d6fb7e809d1a0f0e924559e419b311474d3f6ef8342d077ab7ce22699f850b91ba2c84a9fc6f13d38fce07a61e91fcd4cd6e1181f87a09bcc0 + react: 16.8 - 19 + checksum: 10c0/6133c275d96977ff62add59070bbd49965d0941980f6d8f900d87a54d1d56eef6353104c4ea5c6d4fbe014f6333162852dbef28dbdc6ced989d9b8d42c7862e6 languageName: node linkType: hard @@ -8434,7 +8472,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.12.0, react-is@npm:^16.13.1, react-is@npm:^16.7.0": +"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 @@ -8448,13 +8486,6 @@ __metadata: languageName: node linkType: hard -"react-lifecycles-compat@npm:^3.0.4": - version: 3.0.4 - resolution: "react-lifecycles-compat@npm:3.0.4" - checksum: 10c0/1d0df3c85af79df720524780f00c064d53a9dd1899d785eddb7264b378026979acbddb58a4b7e06e7d0d12aa1494fd5754562ee55d32907b15601068dae82c27 - languageName: node - linkType: hard - "react-loading-skeleton@npm:3.5.0": version: 3.5.0 resolution: "react-loading-skeleton@npm:3.5.0" @@ -8464,35 +8495,22 @@ __metadata: languageName: node linkType: hard -"react-redux@npm:^8.1.3": - version: 8.1.3 - resolution: "react-redux@npm:8.1.3" +"react-redux@npm:^9.1.2": + version: 9.2.0 + resolution: "react-redux@npm:9.2.0" dependencies: - "@babel/runtime": "npm:^7.12.1" - "@types/hoist-non-react-statics": "npm:^3.3.1" - "@types/use-sync-external-store": "npm:^0.0.3" - hoist-non-react-statics: "npm:^3.3.2" - react-is: "npm:^18.0.0" - use-sync-external-store: "npm:^1.0.0" - peerDependencies: - "@types/react": ^16.8 || ^17.0 || ^18.0 - "@types/react-dom": ^16.8 || ^17.0 || ^18.0 - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - react-native: ">=0.59" - redux: ^4 || ^5.0.0-beta.0 + "@types/use-sync-external-store": "npm:^0.0.6" + use-sync-external-store: "npm:^1.4.0" + peerDependencies: + "@types/react": ^18.2.25 || ^19 + react: ^18.0 || ^19 + redux: ^5.0.0 peerDependenciesMeta: "@types/react": optional: true - "@types/react-dom": - optional: true - react-dom: - optional: true - react-native: - optional: true redux: optional: true - checksum: 10c0/64c8be2765568dc66a3c442a41dd0ed74fe048d5ceb7a4fe72e5bac3d3687996a7115f57b5156af7406521087065a0e60f9194318c8ca99c55e9ce48558980ce + checksum: 10c0/00d485f9d9219ca1507b4d30dde5f6ff8fb68ba642458f742e0ec83af052f89e65cd668249b99299e1053cc6ad3d2d8ac6cb89e2f70d2ac5585ae0d7fa0ef259 languageName: node linkType: hard @@ -8511,16 +8529,51 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.27.0": - version: 6.27.0 - resolution: "react-router-dom@npm:6.27.0" +"react-router-dom@npm:5.3.4": + version: 5.3.4 + resolution: "react-router-dom@npm:5.3.4" dependencies: - "@remix-run/router": "npm:1.20.0" - react-router: "npm:6.27.0" + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + loose-envify: "npm:^1.3.1" + prop-types: "npm:^15.6.2" + react-router: "npm:5.3.4" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" peerDependencies: - react: ">=16.8" - react-dom: ">=16.8" - checksum: 10c0/7db48ffd0b387af0eed060ceaf42075d074e63fbd30f4cf60993526b3610883a9ff82615965001165ed69d2bf2f1bce05c594a21c8d0d845e7b9bf203201116e + react: ">=15" + checksum: 10c0/f04f727e2ed2e9d1d3830af02cc61690ff67b1524c0d18690582bfba0f4d14142ccc88fb6da6befad644fddf086f5ae4c2eb7048c67da8a0b0929c19426421b0 + languageName: node + linkType: hard + +"react-router-dom@npm:^7.6.0": + version: 7.6.0 + resolution: "react-router-dom@npm:7.6.0" + dependencies: + react-router: "npm:7.6.0" + peerDependencies: + react: ">=18" + react-dom: ">=18" + checksum: 10c0/a13098a0dac97cde81f9af061c0dfb5ebf76ca00bdb75618d84b26e8abddab1fe9f3db88bce1736dc7c1a8f205ad0135a00148dd43ba72f2ed2c7e69ab77a739 + languageName: node + linkType: hard + +"react-router@npm:5.3.4": + version: 5.3.4 + resolution: "react-router@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.12.13" + history: "npm:^4.9.0" + hoist-non-react-statics: "npm:^3.1.0" + loose-envify: "npm:^1.3.1" + path-to-regexp: "npm:^1.7.0" + prop-types: "npm:^15.6.2" + react-is: "npm:^16.6.0" + tiny-invariant: "npm:^1.0.2" + tiny-warning: "npm:^1.0.0" + peerDependencies: + react: ">=15" + checksum: 10c0/e15c00dfef199249b4c6e6d98e5e76cc352ce66f3270f13df37cc069ddf7c05e43281e8c308fc407e4435d72924373baef1d2890e0f6b0b1eb423cf47315a053 languageName: node linkType: hard @@ -8535,9 +8588,25 @@ __metadata: languageName: node linkType: hard -"react-select@npm:5.8.1": - version: 5.8.1 - resolution: "react-select@npm:5.8.1" +"react-router@npm:7.6.0": + version: 7.6.0 + resolution: "react-router@npm:7.6.0" + dependencies: + cookie: "npm:^1.0.1" + set-cookie-parser: "npm:^2.6.0" + peerDependencies: + react: ">=18" + react-dom: ">=18" + peerDependenciesMeta: + react-dom: + optional: true + checksum: 10c0/abc4d37c01804a3137b1cfd12cf7e55bff092a67c835404ab9da1411ec9e170fe72773b9846d2db084cc0272179237e59d88dbf46cef9db031892feebcb48640 + languageName: node + linkType: hard + +"react-select@npm:5.10.0": + version: 5.10.0 + resolution: "react-select@npm:5.10.0" dependencies: "@babel/runtime": "npm:^7.12.0" "@emotion/cache": "npm:^11.4.0" @@ -8547,11 +8616,11 @@ __metadata: memoize-one: "npm:^6.0.0" prop-types: "npm:^15.6.0" react-transition-group: "npm:^4.3.0" - use-isomorphic-layout-effect: "npm:^1.1.2" + use-isomorphic-layout-effect: "npm:^1.2.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/0fd73e1e472105f980e09c86f0e6adbdc9f2f5c1befa275b08c71653becdd1829f596155a81b5085cb86f18b20bf4f4cc439ab5fe23e68f326e169dcfe00ccf6 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/64cc73ef43556d0a199420d7d19f9f72e3c5e3a7f6828aef5421ec16cc0e4bc337061a8fa3c03afc5b929a087a4ca866f497e0ef865b03fe014c5cacde5e71dd languageName: node linkType: hard @@ -8589,9 +8658,9 @@ __metadata: languageName: node linkType: hard -"react-use@npm:17.5.1": - version: 17.5.1 - resolution: "react-use@npm:17.5.1" +"react-use@npm:17.6.0": + version: 17.6.0 + resolution: "react-use@npm:17.6.0" dependencies: "@types/js-cookie": "npm:^2.2.6" "@xobotyi/scrollbar-width": "npm:^1.9.5" @@ -8610,29 +8679,27 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/3d6a8f46539b32698d31600239e72b5c23376a5343d0d687c6520e14532ed7f5c72c9b99d222be4eeacb0401ce3ae763d5648d0476440c8b4a6afbd56dc98bfa + checksum: 10c0/d122199f3edd056bfd866837b0f19a44366e77c7535c6c2c5eb5f400409eae4c9b1fe73c9d35073c8434080eee388ca8fe49a68d09d6f794ccaa35a4ae2112a9 languageName: node linkType: hard -"react-window@npm:1.8.10": - version: 1.8.10 - resolution: "react-window@npm:1.8.10" +"react-window@npm:1.8.11": + version: 1.8.11 + resolution: "react-window@npm:1.8.11" dependencies: "@babel/runtime": "npm:^7.0.0" memoize-one: "npm:>=3.1.1 <6" peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/eda9afb667d9784513dcc2755b65edf3a1412e7877975322993c1382908aaef0c0b948b7e3b2d705e353306556274d90f7ab19ac40aef2184fa39d4c1e2232ea + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/5ae8da1bc5c47d8f0a428b28a600256e2db511975573e52cb65a9b27ed1a0e5b9f7b3bee5a54fb0da93956d782c24010be434be451072f46ba5a89159d2b3944 languageName: node linkType: hard -"react@npm:^18.3.1": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 +"react@npm:^19.1.0": + version: 19.1.0 + resolution: "react@npm:19.1.0" + checksum: 10c0/530fb9a62237d54137a13d2cfb67a7db6a2156faed43eecc423f4713d9b20c6f2728b026b45e28fcd72e8eadb9e9ed4b089e99f5e295d2f0ad3134251bdd3698 languageName: node linkType: hard @@ -8643,15 +8710,6 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - "rechoir@npm:^0.8.0": version: 0.8.0 resolution: "rechoir@npm:0.8.0" @@ -8671,19 +8729,10 @@ __metadata: languageName: node linkType: hard -"redux@npm:^4.2.1": - version: 4.2.1 - resolution: "redux@npm:4.2.1" - dependencies: - "@babel/runtime": "npm:^7.9.2" - checksum: 10c0/136d98b3d5dbed1cd6279c8c18a6a74c416db98b8a432a46836bdd668475de6279a2d4fd9d1363f63904e00f0678a8a3e7fa532c897163340baf1e71bb42c742 - languageName: node - linkType: hard - -"regenerator-runtime@npm:^0.11.0": - version: 0.11.1 - resolution: "regenerator-runtime@npm:0.11.1" - checksum: 10c0/69cfa839efcf2d627fe358bf302ab8b24e5f182cb69f13e66f0612d3640d7838aad1e55662135e3ef2c1cc4322315b757626094fab13a48f9a64ab4bdeb8795b +"redux@npm:^5.0.1": + version: 5.0.1 + resolution: "redux@npm:5.0.1" + checksum: 10c0/b10c28357194f38e7d53b760ed5e64faa317cc63de1fb95bc5d9e127fab956392344368c357b8e7a9bedb0c35b111e7efa522210cfdc3b3c75e5074718e9069c languageName: node linkType: hard @@ -8847,7 +8896,7 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:7.8.1, rxjs@npm:^7.8.1": +"rxjs@npm:7.8.1": version: 7.8.1 resolution: "rxjs@npm:7.8.1" dependencies: @@ -8856,6 +8905,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^7.8.2": + version: 7.8.2 + resolution: "rxjs@npm:7.8.2" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/1fcd33d2066ada98ba8f21fcbbcaee9f0b271de1d38dc7f4e256bfbc6ffcdde68c8bfb69093de7eeb46f24b1fb820620bf0223706cff26b4ab99a7ff7b2e2c45 + languageName: node + linkType: hard + "safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" @@ -8877,9 +8935,9 @@ __metadata: languageName: node linkType: hard -"sass-loader@npm:^16.0.2": - version: 16.0.2 - resolution: "sass-loader@npm:16.0.2" +"sass-loader@npm:^16.0.5": + version: 16.0.5 + resolution: "sass-loader@npm:16.0.5" dependencies: neo-async: "npm:^2.6.2" peerDependencies: @@ -8899,21 +8957,24 @@ __metadata: optional: true webpack: optional: true - checksum: 10c0/9c5165b44fc6229d8f36fb2af3ebb9d1e3a837bcc80040d3f3fc5793cd2998407e2ed55853c2b342cca2b5e17fa141160198ad034685a95b17126200c320ae11 + checksum: 10c0/216422b7b9e6e3f22739dc96887d883d2415f188d5c47631fd28c80608b5fae71167b26d0c74a1e917614e4d494fa73b1190ad5ca2f587c1afee84dc1d30f003 languageName: node linkType: hard -"sass@npm:^1.80.3": - version: 1.80.3 - resolution: "sass@npm:1.80.3" +"sass@npm:^1.87.0": + version: 1.87.0 + resolution: "sass@npm:1.87.0" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" - immutable: "npm:^4.0.0" + immutable: "npm:^5.0.2" source-map-js: "npm:>=0.6.2 <2.0.0" + dependenciesMeta: + "@parcel/watcher": + optional: true bin: sass: sass.js - checksum: 10c0/fa08043fc36b854717b6eaf6247ee11341d0aff5e17a645965071866bd677930c9c9467d82ed5a4a666d7897a82be8a61427cd81b808e6b9e2d3b32cf278bebd + checksum: 10c0/bd245faf14e4783dc547765350cf05817edaac0d6d6f6e4da8ab751f3eb3cc3873afd563c0ce416a24aa6c9c4e9023b05096447fc006660a01f76adffb54fbc6 languageName: node linkType: hard @@ -8926,12 +8987,10 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 +"scheduler@npm:^0.26.0": + version: 0.26.0 + resolution: "scheduler@npm:0.26.0" + checksum: 10c0/5b8d5bfddaae3513410eda54f2268e98a376a429931921a81b5c3a2873aab7ca4d775a8caac5498f8cbc7d0daeab947cf923dbd8e215d61671f9f4e392d34356 languageName: node linkType: hard @@ -8947,7 +9006,7 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^3.1.1, schema-utils@npm:^3.2.0": +"schema-utils@npm:^3.1.1": version: 3.3.0 resolution: "schema-utils@npm:3.3.0" dependencies: @@ -8958,6 +9017,18 @@ __metadata: languageName: node linkType: hard +"schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.2": + version: 4.3.2 + resolution: "schema-utils@npm:4.3.2" + dependencies: + "@types/json-schema": "npm:^7.0.9" + ajv: "npm:^8.9.0" + ajv-formats: "npm:^2.1.1" + ajv-keywords: "npm:^5.1.0" + checksum: 10c0/981632f9bf59f35b15a9bcdac671dd183f4946fe4b055ae71a301e66a9797b95e5dd450de581eb6cca56fb6583ce8f24d67b2d9f8e1b2936612209697f6c277e + languageName: node + linkType: hard + "screenfull@npm:^5.1.0": version: 5.2.0 resolution: "screenfull@npm:5.2.0" @@ -8990,7 +9061,16 @@ __metadata: languageName: node linkType: hard -"serialize-javascript@npm:^6.0.1, serialize-javascript@npm:^6.0.2": +"semver@npm:^7.7.0": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.2": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" dependencies: @@ -8999,6 +9079,13 @@ __metadata: languageName: node linkType: hard +"set-cookie-parser@npm:^2.6.0": + version: 2.7.1 + resolution: "set-cookie-parser@npm:2.7.1" + checksum: 10c0/060c198c4c92547ac15988256f445eae523f57f2ceefeccf52d30d75dedf6bff22b9c26f756bd44e8e560d44ff4ab2130b178bd2e52ef5571bf7be3bd7632d9a + languageName: node + linkType: hard + "set-function-length@npm:^1.2.1": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -9029,13 +9116,6 @@ __metadata: languageName: node linkType: hard -"shallowequal@npm:^1.1.0": - version: 1.1.0 - resolution: "shallowequal@npm:1.1.0" - checksum: 10c0/b926efb51cd0f47aa9bc061add788a4a650550bbe50647962113a4579b60af2abe7b62f9b02314acc6f97151d4cf87033a2b15fc20852fae306d1a095215396c - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -9092,13 +9172,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^5.1.0": - version: 5.1.0 - resolution: "slash@npm:5.1.0" - checksum: 10c0/eb48b815caf0bdc390d0519d41b9e0556a14380f6799c72ba35caf03544d501d18befdeeef074bc9c052acf69654bc9e0d79d7f1de0866284137a40805299eb3 - languageName: node - linkType: hard - "slate-base64-serializer@npm:^0.2.112": version: 0.2.115 resolution: "slate-base64-serializer@npm:0.2.115" @@ -9602,15 +9675,15 @@ __metadata: languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.3.10": - version: 5.3.10 - resolution: "terser-webpack-plugin@npm:5.3.10" +"terser-webpack-plugin@npm:^5.3.11": + version: 5.3.14 + resolution: "terser-webpack-plugin@npm:5.3.14" dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.20" + "@jridgewell/trace-mapping": "npm:^0.3.25" jest-worker: "npm:^27.4.5" - schema-utils: "npm:^3.1.1" - serialize-javascript: "npm:^6.0.1" - terser: "npm:^5.26.0" + schema-utils: "npm:^4.3.0" + serialize-javascript: "npm:^6.0.2" + terser: "npm:^5.31.1" peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -9620,13 +9693,13 @@ __metadata: optional: true uglify-js: optional: true - checksum: 10c0/66d1ed3174542560911cf96f4716aeea8d60e7caab212291705d50072b6ba844c7391442541b13c848684044042bea9ec87512b8506528c12854943da05faf91 + checksum: 10c0/9b060947241af43bd6fd728456f60e646186aef492163672a35ad49be6fbc7f63b54a7356c3f6ff40a8f83f00a977edc26f044b8e106cc611c053c8c0eaf8569 languageName: node linkType: hard -"terser@npm:^5.26.0": - version: 5.32.0 - resolution: "terser@npm:5.32.0" +"terser@npm:^5.31.1": + version: 5.39.0 + resolution: "terser@npm:5.39.0" dependencies: "@jridgewell/source-map": "npm:^0.3.3" acorn: "npm:^8.8.2" @@ -9634,7 +9707,7 @@ __metadata: source-map-support: "npm:~0.5.20" bin: terser: bin/terser - checksum: 10c0/94daae4881258eb7d09abd46378e23d11ee46caa507b2fb26c5595c7e490914be734e0de38c50041dc38fae5fca24de11badf042dfbbfc1d336ed117335c420a + checksum: 10c0/83326545ea1aecd6261030568b6191ccfa4cb6aa61d9ea41746a52479f50017a78b77e4725fbbc207c5df841ffa66a773c5ac33636e95c7ab94fe7e0379ae5c7 languageName: node linkType: hard @@ -9698,6 +9771,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.12": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -9839,7 +9922,14 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.7.0, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.2": +"tslib@npm:2.8.1, tslib@npm:^2.7.0, tslib@npm:^2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.2": version: 2.7.0 resolution: "tslib@npm:2.7.0" checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 @@ -9874,43 +9964,43 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.5.4": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" +"typescript@npm:5.7.3": + version: 5.7.3 + resolution: "typescript@npm:5.7.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/422be60f89e661eab29ac488c974b6cc0a660fb2228003b297c3d10c32c90f3bcffc1009b43876a082515a3c376b1eefcce823d6e78982e6878408b9a923199c + checksum: 10c0/b7580d716cf1824736cc6e628ab4cd8b51877408ba2be0869d2866da35ef8366dd6ae9eb9d0851470a39be17cbd61df1126f9e211d8799d764ea7431d5435afa languageName: node linkType: hard -"typescript@npm:^5.6.3": - version: 5.6.3 - resolution: "typescript@npm:5.6.3" +"typescript@npm:^5.8.3": + version: 5.8.3 + resolution: "typescript@npm:5.8.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799 + checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.5.4#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" +"typescript@patch:typescript@npm%3A5.7.3#optional!builtin": + version: 5.7.3 + resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/73409d7b9196a5a1217b3aaad929bf76294d3ce7d6e9766dd880ece296ee91cf7d7db6b16c6c6c630ee5096eccde726c0ef17c7dfa52b01a243e57ae1f09ef07 + checksum: 10c0/6fd7e0ed3bf23a81246878c613423730c40e8bdbfec4c6e4d7bf1b847cbb39076e56ad5f50aa9d7ebd89877999abaee216002d3f2818885e41c907caaa192cc4 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin": - version: 5.6.3 - resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40" +"typescript@patch:typescript@npm%3A^5.8.3#optional!builtin": + version: 5.8.3 + resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/7c9d2e07c81226d60435939618c91ec2ff0b75fbfa106eec3430f0fcf93a584bc6c73176676f532d78c3594fe28a54b36eb40b3d75593071a7ec91301533ace7 + checksum: 10c0/39117e346ff8ebd87ae1510b3a77d5d92dae5a89bde588c747d25da5c146603a99c8ee588c7ef80faaf123d89ed46f6dbd918d534d641083177d5fac38b8a1cb languageName: node linkType: hard @@ -9928,10 +10018,10 @@ __metadata: languageName: node linkType: hard -"unicorn-magic@npm:^0.1.0": - version: 0.1.0 - resolution: "unicorn-magic@npm:0.1.0" - checksum: 10c0/e4ed0de05b0a05e735c7d8a2930881e5efcfc3ec897204d5d33e7e6247f4c31eac92e383a15d9a6bccb7319b4271ee4bea946e211bf14951fec6ff2cbbb66a92 +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 languageName: node linkType: hard @@ -9981,10 +10071,10 @@ __metadata: languageName: node linkType: hard -"uplot@npm:1.6.31": - version: 1.6.31 - resolution: "uplot@npm:1.6.31" - checksum: 10c0/b1b03ebb23bda148c16e085006db183f93e99c63dd457863217c81fe7f9d99d680b2bf18f5ea2e39c39df67e20d7bae4e7730853c0af9c86c0eb8e8004e2f8ed +"uplot@npm:1.6.32": + version: 1.6.32 + resolution: "uplot@npm:1.6.32" + checksum: 10c0/4d9cdd5f53371656cfc178ea4ae0d8c9bdbe4c98c99df847926d7e5f5a5bcb8043561219da2979fee7616aabe3619d80fee093befdfe39aae65e6621284c39b1 languageName: node linkType: hard @@ -10007,15 +10097,15 @@ __metadata: languageName: node linkType: hard -"use-isomorphic-layout-effect@npm:^1.1.2": - version: 1.1.2 - resolution: "use-isomorphic-layout-effect@npm:1.1.2" +"use-isomorphic-layout-effect@npm:^1.2.0": + version: 1.2.0 + resolution: "use-isomorphic-layout-effect@npm:1.2.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/d8deea8b85e55ac6daba237a889630bfdbf0ebf60e9e22b6a78a78c26fabe6025e04ada7abef1e444e6786227d921e648b2707db8b3564daf757264a148a6e23 + checksum: 10c0/2e4bdee68d65893b37e716ebdcc111550775189c80e662eda87d6f5b54dc431d3383a18914ea01a893ee5478902a878012713eaebcacbb6611ab88c463accb83 languageName: node linkType: hard @@ -10028,12 +10118,12 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:^1.0.0": - version: 1.2.2 - resolution: "use-sync-external-store@npm:1.2.2" +"use-sync-external-store@npm:^1.4.0": + version: 1.5.0 + resolution: "use-sync-external-store@npm:1.5.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/23b1597c10adf15b26ade9e8c318d8cc0abc9ec0ab5fc7ca7338da92e89c2536abd150a5891bf076836c352fdfa104fc7231fb48f806fd9960e0cbe03601abaf + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/1b8663515c0be34fa653feb724fdcce3984037c78dd4a18f68b2c8be55cc1a1084c578d5b75f158d41b5ddffc2bf5600766d1af3c19c8e329bb20af2ec6f52f4 languageName: node linkType: hard @@ -10044,12 +10134,19 @@ __metadata: languageName: node linkType: hard -"uuid@npm:9.0.1": - version: 9.0.1 - resolution: "uuid@npm:9.0.1" +"uuid@npm:11.0.5": + version: 11.0.5 + resolution: "uuid@npm:11.0.5" bin: - uuid: dist/bin/uuid - checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b + uuid: dist/esm/bin/uuid + checksum: 10c0/6f59f0c605e02c14515401084ca124b9cb462b4dcac866916a49862bcf831874508a308588c23a7718269226ad11a92da29b39d761ad2b86e736623e3a33b6e7 + languageName: node + linkType: hard + +"uwrap@npm:0.1.1": + version: 0.1.1 + resolution: "uwrap@npm:0.1.1" + checksum: 10c0/1af6f62992e5253d365a9c8ffa87c1069df0e0f88642aa9d55eb1a422cecba3ae0e945110c8283d4abac506ed5beb75ebca0506213a5bccb9bcb1d698302298b languageName: node linkType: hard @@ -10143,35 +10240,33 @@ __metadata: languageName: node linkType: hard -"webpack-cli@npm:^5.1.4": - version: 5.1.4 - resolution: "webpack-cli@npm:5.1.4" +"webpack-cli@npm:^6.0.1": + version: 6.0.1 + resolution: "webpack-cli@npm:6.0.1" dependencies: - "@discoveryjs/json-ext": "npm:^0.5.0" - "@webpack-cli/configtest": "npm:^2.1.1" - "@webpack-cli/info": "npm:^2.0.2" - "@webpack-cli/serve": "npm:^2.0.5" + "@discoveryjs/json-ext": "npm:^0.6.1" + "@webpack-cli/configtest": "npm:^3.0.1" + "@webpack-cli/info": "npm:^3.0.1" + "@webpack-cli/serve": "npm:^3.0.1" colorette: "npm:^2.0.14" - commander: "npm:^10.0.1" + commander: "npm:^12.1.0" cross-spawn: "npm:^7.0.3" - envinfo: "npm:^7.7.3" + envinfo: "npm:^7.14.0" fastest-levenshtein: "npm:^1.0.12" import-local: "npm:^3.0.2" interpret: "npm:^3.1.1" rechoir: "npm:^0.8.0" - webpack-merge: "npm:^5.7.3" + webpack-merge: "npm:^6.0.1" peerDependencies: - webpack: 5.x.x + webpack: ^5.82.0 peerDependenciesMeta: - "@webpack-cli/generators": - optional: true webpack-bundle-analyzer: optional: true webpack-dev-server: optional: true bin: - webpack-cli: bin/cli.js - checksum: 10c0/4266909ae5e2e662c8790ac286e965b2c7fd5a4a2f07f48e28576234c9a5f631847ccddc18e1b3281c7b4be04a7ff4717d2636033a322dde13ac995fd0d9de10 + webpack-cli: ./bin/cli.js + checksum: 10c0/2aaca78e277427f03f528602abd707d224696048fb46286ea636c7975592409c4381ca94d68bbbb3900f195ca97f256e619583e8feb34a80da531461323bf3e2 languageName: node linkType: hard @@ -10189,14 +10284,14 @@ __metadata: languageName: node linkType: hard -"webpack-merge@npm:^5.7.3": - version: 5.10.0 - resolution: "webpack-merge@npm:5.10.0" +"webpack-merge@npm:^6.0.1": + version: 6.0.1 + resolution: "webpack-merge@npm:6.0.1" dependencies: clone-deep: "npm:^4.0.1" flat: "npm:^5.0.2" - wildcard: "npm:^2.0.0" - checksum: 10c0/b607c84cabaf74689f965420051a55a08722d897bdd6c29cb0b2263b451c090f962d41ecf8c9bf56b0ab3de56e65476ace0a8ecda4f4a4663684243d90e0512b + wildcard: "npm:^2.0.1" + checksum: 10c0/bf1429567858b353641801b8a2696ca0aac270fc8c55d4de8a7b586fe07d27fdcfc83099a98ab47e6162383db8dd63bb8cc25b1beb2ec82150422eec843b0dc0 languageName: node linkType: hard @@ -10214,17 +10309,18 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5.95.0": - version: 5.95.0 - resolution: "webpack@npm:5.95.0" +"webpack@npm:^5.99.8": + version: 5.99.8 + resolution: "webpack@npm:5.99.8" dependencies: - "@types/estree": "npm:^1.0.5" - "@webassemblyjs/ast": "npm:^1.12.1" - "@webassemblyjs/wasm-edit": "npm:^1.12.1" - "@webassemblyjs/wasm-parser": "npm:^1.12.1" - acorn: "npm:^8.7.1" - acorn-import-attributes: "npm:^1.9.5" - browserslist: "npm:^4.21.10" + "@types/eslint-scope": "npm:^3.7.7" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + "@webassemblyjs/ast": "npm:^1.14.1" + "@webassemblyjs/wasm-edit": "npm:^1.14.1" + "@webassemblyjs/wasm-parser": "npm:^1.14.1" + acorn: "npm:^8.14.0" + browserslist: "npm:^4.24.0" chrome-trace-event: "npm:^1.0.2" enhanced-resolve: "npm:^5.17.1" es-module-lexer: "npm:^1.2.1" @@ -10236,9 +10332,9 @@ __metadata: loader-runner: "npm:^4.2.0" mime-types: "npm:^2.1.27" neo-async: "npm:^2.6.2" - schema-utils: "npm:^3.2.0" + schema-utils: "npm:^4.3.2" tapable: "npm:^2.1.1" - terser-webpack-plugin: "npm:^5.3.10" + terser-webpack-plugin: "npm:^5.3.11" watchpack: "npm:^2.4.1" webpack-sources: "npm:^3.2.3" peerDependenciesMeta: @@ -10246,7 +10342,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 10c0/b9e6d0f8ebcbf0632494ac0b90fe4acb8f4a9b83f7ace4a67a15545a36fe58599c912ab58e625e1bf58ab3b0916c75fe99da6196d412ee0cab0b5065edd84238 + checksum: 10c0/c4852c3b795ed3fba799d2925802a4e259b2de7c2c597f0aaf0e228acfdc6755389ed8c29f1dad86610a9c6ad968c0b57c702b93891d60f09d302af63b2debe0 languageName: node linkType: hard @@ -10316,7 +10412,7 @@ __metadata: languageName: node linkType: hard -"wildcard@npm:^2.0.0": +"wildcard@npm:^2.0.1": version: 2.0.1 resolution: "wildcard@npm:2.0.1" checksum: 10c0/08f70cd97dd9a20aea280847a1fe8148e17cae7d231640e41eb26d2388697cbe65b67fd9e68715251c39b080c5ae4f76d71a9a69fa101d897273efdfb1b58bf7