From 51e87f1bdc62019d80d840ae4c17374a51bac9c8 Mon Sep 17 00:00:00 2001 From: chronark Date: Mon, 3 Feb 2025 14:05:43 +0100 Subject: [PATCH] wip --- apps/api/Dockerfile.dev | 6 +- deployment/docker-compose.yaml | 19 +- deployment/nginx.api.conf | 16 - deployment/nginx.apiv2.conf | 21 + go/Dockerfile | 2 +- go/cmd/api/config.go | 1 + go/cmd/api/main.go | 42 +- .../v2_ratelimit_set_override/happy_test.go | 5 +- go/config.docker.json | 1 + go/go.mod | 4 +- go/go.sum | 8 + go/{cmd => }/main.go | 0 go/pkg/batch/metrics.go | 17 - go/pkg/batch/process.go | 7 +- go/pkg/clickhouse/client.go | 14 +- go/pkg/events/topic.go | 74 ++ go/pkg/membership/interface.go | 19 + go/pkg/membership/redis.go | 200 +++ go/pkg/membership/tags.go | 58 + go/pkg/retry/retry.go | 43 +- go/pkg/retry/retry_test.go | 23 +- go/pkg/zen/server.go | 1 - pnpm-lock.yaml | 1118 +++++++++-------- 23 files changed, 1096 insertions(+), 603 deletions(-) delete mode 100644 deployment/nginx.api.conf create mode 100644 deployment/nginx.apiv2.conf rename go/{cmd => }/main.go (100%) delete mode 100644 go/pkg/batch/metrics.go create mode 100644 go/pkg/events/topic.go create mode 100644 go/pkg/membership/interface.go create mode 100644 go/pkg/membership/redis.go create mode 100644 go/pkg/membership/tags.go diff --git a/apps/api/Dockerfile.dev b/apps/api/Dockerfile.dev index 2d85ac9713..a05a3e567d 100644 --- a/apps/api/Dockerfile.dev +++ b/apps/api/Dockerfile.dev @@ -1,7 +1,9 @@ FROM node:lts AS base RUN npm i -g pnpm turbo -RUN corepack enable +# I don't know why, but this caused signature mismatch errors +# and doesn't seem to be needed for dev +# RUN corepack enable FROM base AS builder @@ -36,4 +38,4 @@ COPY --from=installer /unkey . WORKDIR /unkey/apps/api ENV WRANGLER_SEND_METRICS=false RUN rm .dev.vars || true -CMD pnpm wrangler dev \ No newline at end of file +CMD pnpm wrangler dev diff --git a/deployment/docker-compose.yaml b/deployment/docker-compose.yaml index b3f3e9f770..7a265cc19b 100644 --- a/deployment/docker-compose.yaml +++ b/deployment/docker-compose.yaml @@ -31,9 +31,18 @@ services: ports: - 3900:3900 + api_lb: + container_name: api_lb + image: nginx:latest + volumes: + - ./nginx.apiv2.conf:/etc/nginx/nginx.conf:ro + depends_on: + - apiv2 + ports: + - 7070:7070 apiv2: deploy: - replicas: 1 + replicas: 3 endpoint_mode: vip command: [ "api", "--config", "config.docker.json"] @@ -43,10 +52,12 @@ services: depends_on: - mysql - clickhouse + - redis environment: - PORT: 8080 + PORT: 7070 DATABASE_PRIMARY_DSN: "mysql://unkey:password@tcp(mysql:3900)/unkey" CLICKHOUSE_URL: "clickhouse://default:password@clickhouse:9000" + REDIS_URL: "redis://redis:6379" agent: deploy: @@ -134,6 +145,10 @@ services: volumes: - s3:/data + redis: + image: redis:latest + ports: + - 6379:6379 api: # deploy: diff --git a/deployment/nginx.api.conf b/deployment/nginx.api.conf deleted file mode 100644 index ad86f6a046..0000000000 --- a/deployment/nginx.api.conf +++ /dev/null @@ -1,16 +0,0 @@ -user nginx; - -events { - worker_connections 1000; -} -http { - server { - listen 8787; - location / { - proxy_pass http://api:8787; - } - } - - - -} diff --git a/deployment/nginx.apiv2.conf b/deployment/nginx.apiv2.conf new file mode 100644 index 0000000000..0edacd42f9 --- /dev/null +++ b/deployment/nginx.apiv2.conf @@ -0,0 +1,21 @@ +user nginx; + +events { + worker_connections 1000; +} +http { + server { + listen 7070; + location / { + proxy_pass http://apiv2:7070; + } + } + server { + listen 9090; + location / { + proxy_pass http://apiv2:9095; + } + } + + +} diff --git a/go/Dockerfile b/go/Dockerfile index a350423237..aa7055a34d 100644 --- a/go/Dockerfile +++ b/go/Dockerfile @@ -8,7 +8,7 @@ RUN go mod download COPY . . ARG VERSION -RUN go build -o bin/unkey -ldflags "-X 'github.com/unkeyed/unkey/go/pkg/version.Version=${VERSION}'" ./cmd/main.go +RUN go build -o bin/unkey -ldflags "-X 'github.com/unkeyed/unkey/go/pkg/version.Version=${VERSION}'" ./main.go FROM golang:1.23-alpine WORKDIR /usr/local/bin diff --git a/go/cmd/api/config.go b/go/cmd/api/config.go index 337b4bc457..f22f49bb76 100644 --- a/go/cmd/api/config.go +++ b/go/cmd/api/config.go @@ -13,6 +13,7 @@ type nodeConfig struct { Interval int `json:"interval" min:"1" description:"Interval in seconds to send heartbeat"` } `json:"heartbeat,omitempty" description:"Send heartbeat to a URL"` + RedisUrl string `json:"redisUrl"` Clickhouse *struct { Url string `json:"url" minLength:"1"` } `json:"clickhouse,omitempty"` diff --git a/go/cmd/api/main.go b/go/cmd/api/main.go index ab4e9efed6..769c1aeacc 100644 --- a/go/cmd/api/main.go +++ b/go/cmd/api/main.go @@ -1,6 +1,7 @@ package api import ( + "context" "fmt" "log/slog" "os" @@ -11,6 +12,7 @@ import ( "github.com/unkeyed/unkey/go/pkg/clickhouse" "github.com/unkeyed/unkey/go/pkg/config" "github.com/unkeyed/unkey/go/pkg/logging" + "github.com/unkeyed/unkey/go/pkg/membership" "github.com/unkeyed/unkey/go/pkg/uid" "github.com/unkeyed/unkey/go/pkg/version" "github.com/unkeyed/unkey/go/pkg/zen" @@ -70,12 +72,46 @@ func run(c *cli.Context) error { logger.Info(c.Context, "configration loaded", slog.String("file", configFile)) + m, err := membership.New(membership.Config{ + RedisUrl: cfg.RedisUrl, + NodeID: cfg.NodeId, + RpcAddr: "", + Logger: logger, + }) + if err != nil { + return fmt.Errorf("unable to create membership") + } + + go func() { + joins := m.SubscribeJoinEvents() + leaves := m.SubscribeLeaveEvents() + + for { + select { + case j := <-joins: + { + logger.Info(c.Context, "node joined", slog.String("nodeID", j.ID)) + + } + case l := <-leaves: + { + logger.Info(c.Context, "node left", slog.String("nodeID", l.ID)) + + } + } + + } + }() + var ch clickhouse.Bufferer = clickhouse.NewNoop() if cfg.Clickhouse != nil { ch, err = clickhouse.New(clickhouse.Config{ URL: cfg.Clickhouse.Url, Logger: logger, }) + if err != nil { + return fmt.Errorf("unable to create clickhouse: %w", err) + } } srv, err := zen.New(zen.Config{ @@ -110,8 +146,12 @@ func run(c *cli.Context) error { signal.Notify(cShutdown, os.Interrupt, syscall.SIGTERM) <-cShutdown + shutdownCtx := context.Background() logger.Info(c.Context, "shutting down") - + err = m.Leave(shutdownCtx) + if err != nil { + return fmt.Errorf("unable to leave cluster: %w", err) + } return nil } diff --git a/go/cmd/api/routes/v2_ratelimit_set_override/happy_test.go b/go/cmd/api/routes/v2_ratelimit_set_override/happy_test.go index def6079aa2..5be38abd11 100644 --- a/go/cmd/api/routes/v2_ratelimit_set_override/happy_test.go +++ b/go/cmd/api/routes/v2_ratelimit_set_override/happy_test.go @@ -43,7 +43,10 @@ func TestCreateNewOverride(t *testing.T) { DeletedAt: time.Time{}, }) - route := handler.New(handler.Services{}) + route := handler.New(handler.Services{ + DB: db, + Keys: nil, + }) h.Register(route) diff --git a/go/config.docker.json b/go/config.docker.json index b8ccc03a24..cd1b871565 100644 --- a/go/config.docker.json +++ b/go/config.docker.json @@ -2,6 +2,7 @@ "$schema": "schema.json", "port": "8080", "nodeId": "node_1", + "redisUrl": "${REDIS_URL}", "database": { "primary": "mysql://" } diff --git a/go/go.mod b/go/go.mod index ac3b1d617a..08ff391bb3 100644 --- a/go/go.mod +++ b/go/go.mod @@ -15,6 +15,8 @@ require ( github.com/ory/dockertest/v3 v3.11.0 github.com/pb33f/libopenapi v0.16.5 github.com/pb33f/libopenapi-validator v0.1.0 + github.com/prometheus/client_golang v1.20.2 + github.com/redis/go-redis/v9 v9.6.1 github.com/segmentio/ksuid v1.0.4 github.com/sqlc-dev/sqlc v1.28.0 github.com/stretchr/testify v1.10.0 @@ -45,6 +47,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/cubicdaiya/gonp v1.0.4 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/docker/cli v27.2.0+incompatible // indirect github.com/docker/docker v27.2.0+incompatible // indirect github.com/docker/go-connections v0.5.0 // indirect @@ -101,7 +104,6 @@ require ( github.com/pingcap/tidb/pkg/parser v0.0.0-20241203170126-9812d85d0d25 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.57.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect diff --git a/go/go.sum b/go/go.sum index 0b3aeb6cd2..7cf2a3281c 100644 --- a/go/go.sum +++ b/go/go.sum @@ -98,6 +98,10 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce 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/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= +github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= @@ -155,6 +159,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/docker/cli v27.2.0+incompatible h1:yHD1QEB1/0vr5eBNpu8tncu8gWxg8EydFPOSKHzXSMM= github.com/docker/cli v27.2.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v27.2.0+incompatible h1:Rk9nIVdfH3+Vz4cyI/uhbINhEZ/oLmc+CBXmH6fbNk4= @@ -555,6 +561,8 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= 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/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4= +github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/riza-io/grpc-go v0.2.0 h1:2HxQKFVE7VuYstcJ8zqpN84VnAoJ4dCL6YFhJewNcHQ= diff --git a/go/cmd/main.go b/go/main.go similarity index 100% rename from go/cmd/main.go rename to go/main.go diff --git a/go/pkg/batch/metrics.go b/go/pkg/batch/metrics.go deleted file mode 100644 index 7c2342622c..0000000000 --- a/go/pkg/batch/metrics.go +++ /dev/null @@ -1,17 +0,0 @@ -package batch - -import ( - "github.com/prometheus/client_golang/prometheus" - "github.com/prometheus/client_golang/prometheus/promauto" -) - -var ( - // droppedMessages tracks the number of messages dropped due to a full buffer - // for each BatchProcessor instance. The "name" label identifies the specific - // BatchProcessor. - droppedMessages = promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: "agent", - Subsystem: "batch", - Name: "dropped_messages", - }, []string{"name"}) -) diff --git a/go/pkg/batch/process.go b/go/pkg/batch/process.go index 6c1a633084..ae21b3c31f 100644 --- a/go/pkg/batch/process.go +++ b/go/pkg/batch/process.go @@ -41,7 +41,7 @@ func New[T any](config Config[T]) *BatchProcessor[T] { config: config, } - for _ = range bp.config.Consumers { + for range bp.config.Consumers { go bp.process() } @@ -70,7 +70,7 @@ func (bp *BatchProcessor[T]) process() { return } bp.batch = append(bp.batch, e) - if len(bp.batch) >= int(bp.config.BatchSize) { + if len(bp.batch) >= bp.config.BatchSize { flushAndReset() } @@ -90,7 +90,8 @@ func (bp *BatchProcessor[T]) Buffer(t T) { select { case bp.buffer <- t: default: - droppedMessages.WithLabelValues(bp.name).Inc() + // Emit a metric to signal we dropped a message + } } else { bp.buffer <- t diff --git a/go/pkg/clickhouse/client.go b/go/pkg/clickhouse/client.go index 507fc23e18..d36df47fcb 100644 --- a/go/pkg/clickhouse/client.go +++ b/go/pkg/clickhouse/client.go @@ -44,11 +44,15 @@ func New(config Config) (*Clickhouse, error) { return nil, fault.Wrap(err, fault.WithDesc("opening clickhouse failed", "")) } - err = retry.Retry(func() error { - return conn.Ping(context.Background()) - }, 10, func(n int) time.Duration { - return time.Duration(n) * time.Second - }) + err = retry.New( + retry.Attempts(10), + retry.Backoff(func(n int) time.Duration { + return time.Duration(n) * time.Second + }), + ). + Do(func() error { + return conn.Ping(context.Background()) + }) if err != nil { return nil, fault.Wrap(err, fault.WithDesc("pinging clickhouse failed", "")) } diff --git a/go/pkg/events/topic.go b/go/pkg/events/topic.go new file mode 100644 index 0000000000..aa788c9e6d --- /dev/null +++ b/go/pkg/events/topic.go @@ -0,0 +1,74 @@ +package events + +import ( + "context" + "fmt" + "sync" + + "github.com/unkeyed/unkey/apps/agent/pkg/tracing" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" +) + +type EventEmitter[E any] interface { + Emit(ctx context.Context, event E) +} + +type EventSubscriber[E any] interface { + Subscribe(id string) <-chan E +} + +type Topic[E any] interface { + EventEmitter[E] + EventSubscriber[E] +} + +type listener[E any] struct { + id string + ch chan E +} + +type topic[E any] struct { + mu sync.RWMutex + bufferSize int + listeners []listener[E] +} + +// NewTopic creates a new topic with an optional buffer size +// Omiting the buffer size will create an unbuffered topic +func NewTopic[E any](bufferSize ...int) Topic[E] { + n := 0 + if len(bufferSize) > 0 { + n = bufferSize[0] + } + return &topic[E]{ + mu: sync.RWMutex{}, + bufferSize: n, + listeners: []listener[E]{}, + } +} + +func (t *topic[E]) Emit(ctx context.Context, event E) { + + t.mu.Lock() + defer t.mu.Unlock() + for _, l := range t.listeners { + var span trace.Span + _, span = tracing.Start(ctx, fmt.Sprintf("topic.Emit:%s", l.id)) + span.SetAttributes(attribute.Int("channelSize", len(l.ch))) + l.ch <- event + span.End() + } + +} + +// Subscribe returns a channel that will receive events from the topic +// The channel will be closed when the topic is closed +// The id is used for debugging and tracing, not for uniqueness +func (t *topic[E]) Subscribe(id string) <-chan E { + t.mu.Lock() + defer t.mu.Unlock() + ch := make(chan E, t.bufferSize) + t.listeners = append(t.listeners, listener[E]{id: id, ch: ch}) + return ch +} diff --git a/go/pkg/membership/interface.go b/go/pkg/membership/interface.go new file mode 100644 index 0000000000..e9e02472b4 --- /dev/null +++ b/go/pkg/membership/interface.go @@ -0,0 +1,19 @@ +package membership + +import "context" + +type Membership interface { + Join(ctx context.Context, addrs ...string) (int, error) + Leave(ctx context.Context) error + Members(ctx context.Context) ([]Member, error) + Addr() string + SubscribeJoinEvents() <-chan Member + + SubscribeLeaveEvents() <-chan Member +} + +type Member struct { + // Global unique identifier for the node + ID string `json:"id"` + RpcAddr string `json:"addr"` +} diff --git a/go/pkg/membership/redis.go b/go/pkg/membership/redis.go new file mode 100644 index 0000000000..01ac1518bb --- /dev/null +++ b/go/pkg/membership/redis.go @@ -0,0 +1,200 @@ +package membership + +import ( + "context" + "encoding/json" + "fmt" + "log/slog" + "strings" + "sync" + "time" + + "github.com/redis/go-redis/v9" + "github.com/unkeyed/unkey/go/pkg/events" + "github.com/unkeyed/unkey/go/pkg/logging" +) + +type membership struct { + mu sync.Mutex + started bool + logger logging.Logger + rdb *redis.Client + rpcAddr string + joinEvents events.Topic[Member] + leaveEvents events.Topic[Member] + + heartbeatLock sync.Mutex + membersSnapshot []Member + + nodeID string +} + +type Config struct { + RedisUrl string + NodeID string + RpcAddr string + Logger logging.Logger +} + +func New(config Config) (Membership, error) { + + opts, err := redis.ParseURL(config.RedisUrl) + if err != nil { + return nil, fmt.Errorf("failed to parse redis url: %w", err) + } + + rdb := redis.NewClient(opts) + + _, err = rdb.Ping(context.Background()).Result() + if err != nil { + return nil, fmt.Errorf("failed to ping redis: %w", err) + } + + return &membership{ + mu: sync.Mutex{}, + started: false, + logger: config.Logger, + rdb: rdb, + rpcAddr: config.RpcAddr, + joinEvents: events.NewTopic[Member](), + leaveEvents: events.NewTopic[Member](), + nodeID: config.NodeID, + heartbeatLock: sync.Mutex{}, + membersSnapshot: []Member{}, + }, nil + +} + +func (m *membership) Join(ctx context.Context, addrs ...string) (int, error) { + + m.mu.Lock() + defer m.mu.Unlock() + if m.started { + return 0, fmt.Errorf("Membership already started") + } + m.started = true + + m.heartbeat(ctx) + + go func() { + t := time.NewTicker(10 * time.Second) + defer t.Stop() + for range t.C { + m.heartbeat(ctx) + } + }() + + members, err := m.Members(ctx) + if err != nil { + return 0, fmt.Errorf("failed to get members: %w", err) + } + return len(members), nil + +} + +func (m *membership) heartbeatRedisKey() string { + return fmt.Sprintf("cluster::membership::nodes::%s", m.nodeID) +} + +func (m *membership) heartbeat(ctx context.Context) { + + m.heartbeatLock.Lock() + defer m.heartbeatLock.Unlock() + b, err := json.Marshal(Member{ + ID: m.nodeID, + RpcAddr: m.rpcAddr, + }) + if err != nil { + m.logger.Error(ctx, "failed to marshal self", slog.String("error", err.Error())) + return + } + err = m.rdb.Set(context.Background(), m.heartbeatRedisKey(), string(b), 15*time.Second).Err() + if err != nil { + m.logger.Error(ctx, "failed to set node", slog.String("error", err.Error())) + } + + newMembers, err := m.Members(ctx) + if err != nil { + m.logger.Error(ctx, "failed to get members", slog.String("error", err.Error())) + return + } + + // Check for left nodes + for _, oldMember := range m.membersSnapshot { + found := false + for _, newMember := range newMembers { + if oldMember.ID == newMember.ID { + found = true + break + } + } + if !found { + m.leaveEvents.Emit(ctx, oldMember) + } + } + + // Check for new nodes + for _, newMember := range newMembers { + found := false + for _, oldMember := range m.membersSnapshot { + if oldMember.ID == newMember.ID { + found = true + break + } + } + if !found { + m.joinEvents.Emit(ctx, newMember) + } + + } + m.membersSnapshot = newMembers + +} + +func (m *membership) Leave(ctx context.Context) error { + return m.rdb.Del(ctx, m.heartbeatRedisKey()).Err() +} + +func (m *membership) Members(ctx context.Context) ([]Member, error) { + pattern := m.heartbeatRedisKey() + pattern = strings.ReplaceAll(pattern, m.nodeID, "*") + + keys, err := m.rdb.Keys(context.Background(), pattern).Result() + if err != nil { + return nil, fmt.Errorf("failed to get keys: %w", err) + } + members := []Member{} + values, err := m.rdb.MGet(context.Background(), keys...).Result() + if err != nil { + return nil, fmt.Errorf("failed to get members: %w", err) + } + for _, val := range values { + if val == nil { + m.logger.Warn(ctx, "nil value found in members") + continue + } + str, ok := val.(string) + if !ok { + m.logger.Error(ctx, "failed to cast value to string") + return nil, fmt.Errorf("failed to cast value to string") + } + var member Member + err = json.Unmarshal([]byte(str), &member) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal member: %w", err) + } + members = append(members, member) + } + + return members, nil +} +func (m *membership) Addr() string { + return m.rpcAddr +} +func (m *membership) SubscribeJoinEvents() <-chan Member { + return m.joinEvents.Subscribe("cluster_join_events") +} + +func (m *membership) SubscribeLeaveEvents() <-chan Member { + return m.leaveEvents.Subscribe("cluster_leave_events") +} diff --git a/go/pkg/membership/tags.go b/go/pkg/membership/tags.go new file mode 100644 index 0000000000..7d57822e02 --- /dev/null +++ b/go/pkg/membership/tags.go @@ -0,0 +1,58 @@ +package membership + +import "fmt" + +type Tags struct { + SerfAddr string + RpcAddr string + NodeId string + Region string +} + +func (t *Tags) Marshal() (map[string]string, error) { + m := make(map[string]string) + if t.SerfAddr == "" { + return nil, fmt.Errorf("SerfAddr is empty") + } + m["serf_addr"] = t.SerfAddr + if t.RpcAddr == "" { + return nil, fmt.Errorf("RpcAddr is empty") + } + m["rpc_addr"] = t.RpcAddr + + if t.NodeId == "" { + return nil, fmt.Errorf("NodeId is empty") + } + m["node_id"] = t.NodeId + + if t.Region == "" { + return nil, fmt.Errorf("Region is empty") + } + m["region"] = t.Region + + return m, nil +} + +func (t *Tags) Unmarshal(m map[string]string) error { + var ok bool + t.SerfAddr, ok = m["serf_addr"] + if !ok { + return fmt.Errorf("serf_addr is empty") + } + + t.RpcAddr, ok = m["rpc_addr"] + if !ok { + return fmt.Errorf("rpc_addr is empty") + } + + t.NodeId, ok = m["node_id"] + if !ok { + return fmt.Errorf("node_id is empty") + } + + t.Region, ok = m["region"] + if !ok { + return fmt.Errorf("region is empty") + } + return nil +} diff --git a/go/pkg/retry/retry.go b/go/pkg/retry/retry.go index eaf21b6457..437dd6188a 100644 --- a/go/pkg/retry/retry.go +++ b/go/pkg/retry/retry.go @@ -47,34 +47,47 @@ type retry struct { // // The retry behavior can be customized using Attempts() and Backoff(): // -// r := retry.Build(). -// Attempts(5). -// Backoff(func(n int) time.Duration { -// return time.Duration(1<=18'} peerDependencies: @@ -1839,8 +1839,8 @@ packages: dependencies: '@ai-sdk/provider-utils': 1.0.20(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.46(zod@3.23.8) - sswr: 2.1.0(svelte@5.19.0) - svelte: 5.19.0 + sswr: 2.1.0(svelte@5.19.6) + svelte: 5.19.6 transitivePeerDependencies: - zod dev: false @@ -2089,8 +2089,8 @@ packages: tslib: 2.8.1 dev: false - /@apidevtools/json-schema-ref-parser@11.7.3: - resolution: {integrity: sha512-WApSdLdXEBb/1FUPca2lteASewEfpjEYJ8oXZP+0gExK5qSfsEKBKcA+WjY6Q4wvXwyv0+W6Kvc372pSceib9w==} + /@apidevtools/json-schema-ref-parser@11.9.0: + resolution: {integrity: sha512-8Q/r5mXLa8Rfyh6r4SgEEFJgISVN5cDNFlcfSWLgFn3odzQhTfHAqzI3hMGdcROViL+8NrDNVVFQtEUrYOksDg==} engines: {node: '>= 16'} dependencies: '@jsdevtools/ono': 7.1.3 @@ -2137,20 +2137,20 @@ packages: resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==} engines: {node: '>=6.9.0'} - /@babel/core@7.26.0: - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + /@babel/core@7.26.7: + resolution: {integrity: sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 '@babel/generator': 7.26.5 '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) + '@babel/helpers': 7.26.7 + '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 convert-source-map: 2.0.0 debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -2163,8 +2163,8 @@ packages: resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 @@ -2183,21 +2183,21 @@ packages: resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color - /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0): + /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.7): resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.7 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -2213,30 +2213,30 @@ packages: resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} - /@babel/helpers@7.26.0: - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + /@babel/helpers@7.26.7: + resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 /@babel/parser@7.24.1: resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 dev: false - /@babel/parser@7.26.5: - resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==} + /@babel/parser@7.26.7: + resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 - /@babel/runtime@7.26.0: - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + /@babel/runtime@7.26.7: + resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -2246,25 +2246,25 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 - /@babel/traverse@7.26.5: - resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==} + /@babel/traverse@7.26.7: + resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.26.2 '@babel/generator': 7.26.5 - '@babel/parser': 7.26.5 + '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.26.5: - resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} + /@babel/types@7.26.7: + resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.25.9 @@ -2384,8 +2384,8 @@ packages: statuses: 2.0.1 dev: true - /@changesets/apply-release-plan@7.0.7: - resolution: {integrity: sha512-qnPOcmmmnD0MfMg9DjU1/onORFyRpDXkMMl2IJg9mECY6RnxL3wN0TCCc92b2sXt1jt8DgjAUUsZYGUGTdYIXA==} + /@changesets/apply-release-plan@7.0.8: + resolution: {integrity: sha512-qjMUj4DYQ1Z6qHawsn7S71SujrExJ+nceyKKyI9iB+M5p9lCL55afuEd6uLBPRpLGWQwkwvWegDHtwHJb1UjpA==} dependencies: '@changesets/config': 3.0.5 '@changesets/get-version-range-type': 0.4.0 @@ -2399,7 +2399,7 @@ packages: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.3 + semver: 7.7.0 dev: true /@changesets/assemble-release-plan@6.0.5: @@ -2410,7 +2410,7 @@ packages: '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.3 + semver: 7.7.0 dev: true /@changesets/changelog-git@0.2.0: @@ -2423,8 +2423,8 @@ packages: resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: - '@babel/runtime': 7.26.0 - '@changesets/apply-release-plan': 7.0.7 + '@babel/runtime': 7.26.7 + '@changesets/apply-release-plan': 7.0.8 '@changesets/assemble-release-plan': 6.0.5 '@changesets/changelog-git': 0.2.0 '@changesets/config': 3.0.5 @@ -2451,7 +2451,7 @@ packages: p-limit: 2.3.0 preferred-pm: 3.1.4 resolve-from: 5.0.0 - semver: 7.6.3 + semver: 7.7.0 spawndamnit: 2.0.0 term-size: 2.2.1 tty-table: 4.2.3 @@ -2481,7 +2481,7 @@ packages: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.6.3 + semver: 7.7.0 dev: true /@changesets/get-release-plan@4.0.6: @@ -2643,7 +2643,7 @@ packages: '@clerk/clerk-sdk-node': 4.13.12(react@18.3.1) '@clerk/shared': 1.4.0(react@18.3.1) '@clerk/types': 3.63.0 - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) path-to-regexp: 6.2.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -2712,11 +2712,11 @@ packages: '@vitest/runner': 1.5.3 '@vitest/snapshot': 1.5.3 birpc: 0.2.14 - cjs-module-lexer: 1.4.1 + cjs-module-lexer: 1.4.3 devalue: 4.3.3 esbuild: 0.17.19 miniflare: 3.20240524.2 - semver: 7.6.3 + semver: 7.7.0 vitest: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(jsdom@26.0.0) wrangler: 3.59.0(@cloudflare/workers-types@4.20240603.0) zod: 3.23.8 @@ -2896,7 +2896,7 @@ packages: peerDependencies: typescript: ^5.0.2 dependencies: - '@parcel/watcher': 2.5.0 + '@parcel/watcher': 2.5.1 camelcase: 8.0.0 esbuild: 0.21.5 gray-matter: 4.0.3 @@ -2944,7 +2944,7 @@ packages: dependencies: '@content-collections/core': 0.7.2(typescript@5.5.3) '@content-collections/integrations': 0.1.1(@content-collections/core@0.7.2) - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) dev: true /@cspotcode/source-map-support@0.8.1: @@ -3034,7 +3034,7 @@ packages: /@electric-sql/client@0.7.1: resolution: {integrity: sha512-NpKEn5hDSy+NaAdG9Ql8kIGfjrj/XfakJOOHTTutb99db3Dza0uUfnkqycFpyUAarFMQ4hYSKgx8AbOm1PCeFQ==} optionalDependencies: - '@rollup/rollup-darwin-arm64': 4.31.0 + '@rollup/rollup-darwin-arm64': 4.34.1 dev: false /@emnapi/runtime@1.3.1: @@ -3109,7 +3109,7 @@ packages: deprecated: 'Merged into tsx: https://tsx.is' dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.9.0 + get-tsconfig: 4.10.0 dev: true /@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19): @@ -4787,13 +4787,13 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils@4.4.1(eslint@9.18.0): + /@eslint-community/eslint-utils@4.4.1(eslint@9.19.0): resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 9.18.0 + eslint: 9.19.0 eslint-visitor-keys: 3.4.3 dev: false @@ -4802,11 +4802,11 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: false - /@eslint/config-array@0.19.1: - resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + /@eslint/config-array@0.19.2: + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: - '@eslint/object-schema': 2.1.5 + '@eslint/object-schema': 2.1.6 debug: 4.4.0(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: @@ -4829,7 +4829,7 @@ packages: espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 - import-fresh: 3.3.0 + import-fresh: 3.3.1 js-yaml: 4.1.0 minimatch: 3.1.2 strip-json-comments: 3.1.1 @@ -4837,13 +4837,13 @@ packages: - supports-color dev: false - /@eslint/js@9.18.0: - resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==} + /@eslint/js@9.19.0: + resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: false - /@eslint/object-schema@2.1.5: - resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + /@eslint/object-schema@2.1.6: + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: false @@ -4902,7 +4902,7 @@ packages: resolution: {integrity: sha512-OTWBpcRHnMcev652Dcl6xh2SFdTgiZzI9p4iI+pQI06LPOJKHBCVXQEBdOYlczPDQfOxwcNd3QGYeIAnOA0j2g==} engines: {node: '>=18.0.0'} dependencies: - '@apidevtools/json-schema-ref-parser': 11.7.3 + '@apidevtools/json-schema-ref-parser': 11.9.0 js-yaml: 4.1.0 prettier: 3.4.2 dev: false @@ -5176,10 +5176,10 @@ packages: resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} engines: {node: '>=18'} dependencies: - '@inquirer/figures': 1.0.9 + '@inquirer/figures': 1.0.10 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.10.7 + '@types/node': 22.13.0 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -5190,8 +5190,8 @@ packages: yoctocolors-cjs: 2.1.2 dev: true - /@inquirer/figures@1.0.9: - resolution: {integrity: sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==} + /@inquirer/figures@1.0.10: + resolution: {integrity: sha512-Ey6176gZmeqZuY/W/nZiUyvmb1/qInjcpiZjXWi6nON+nxJpD1bxtSoBxNliGISae32n6OwbY+TSXPZ1CfS4bw==} engines: {node: '>=18'} dev: true @@ -5342,7 +5342,7 @@ packages: /@libsql/isomorphic-ws@0.1.5: resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} dependencies: - '@types/ws': 8.5.13 + '@types/ws': 8.5.14 ws: 8.18.0 transitivePeerDependencies: - bufferutil @@ -5413,7 +5413,7 @@ packages: /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -5422,7 +5422,7 @@ packages: /@manypkg/get-packages@1.1.3: resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -5526,11 +5526,11 @@ packages: resolution: {integrity: sha512-UR1VR/GorYt5bRKBtNeS2ZWj6PZk8RVpwV7WDjWmdbLqLAYv4JlRnkPAImZbJR5R50jsHpopmcqqm4mcbyZwiw==} hasBin: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.7 '@babel/helper-module-imports': 7.25.9 - '@babel/types': 7.26.5 - '@radix-ui/react-dialog': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-tooltip': 1.1.6(react-dom@18.3.1)(react@18.3.1) + '@babel/types': 7.26.7 + '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.7(react-dom@18.3.1)(react@18.3.1) '@rollup/pluginutils': 5.1.4 cmdk: 0.2.1(react-dom@18.3.1)(react@18.3.1) esbuild: 0.20.2 @@ -5776,7 +5776,7 @@ packages: '@mintlify/openapi-parser': 0.0.7 fs-extra: 11.3.0 hast: 1.0.0 - hast-util-to-mdast: 10.1.1 + hast-util-to-mdast: 10.1.2 js-yaml: 4.1.0 mdast: 3.0.0 mdast-util-mdx-jsx: 3.2.0 @@ -6035,14 +6035,14 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.18.0 + fastq: 1.19.0 /@nodelib/fs.walk@2.0.0: resolution: {integrity: sha512-54voNDBobGdMl3BUXSu7UaDh1P85PGHWlJ5e0XhPugo1JulOyCtp2I+5ri4wplGDJ8QGwPEQW7/x3yTLU7yF1A==} engines: {node: '>=16.14.0'} dependencies: '@nodelib/fs.scandir': 3.0.0 - fastq: 1.18.0 + fastq: 1.19.0 dev: true /@oclif/color@1.0.13: @@ -6080,7 +6080,7 @@ packages: natural-orderby: 2.0.3 object-treeify: 1.1.33 password-prompt: 1.1.3 - semver: 7.6.3 + semver: 7.7.0 string-width: 4.2.3 strip-ansi: 6.0.1 supports-color: 8.1.1 @@ -6113,7 +6113,7 @@ packages: natural-orderby: 2.0.3 object-treeify: 1.1.33 password-prompt: 1.1.3 - semver: 7.6.3 + semver: 7.7.0 string-width: 4.2.3 strip-ansi: 6.0.1 supports-color: 8.1.1 @@ -6130,12 +6130,12 @@ packages: - typescript dev: true - /@oclif/core@4.2.3: - resolution: {integrity: sha512-JVEONwSZAfTNZCS81ah2u42Ya1mSeutCtHpoqMq/U+vP9Ka3Ni15/AqtcVtpH1afdUUn5RgtJYj+zlsrvMwksA==} + /@oclif/core@4.2.6: + resolution: {integrity: sha512-agk1Tlm7qMemWx+qq5aNgkYwX2JCkoVP4M0ruFveJrarmdUPbKZTMW1j/eg8lNKZh1sp68ytZyKhYXYEfRPcww==} engines: {node: '>=18.0.0'} dependencies: ansi-escapes: 4.3.2 - ansis: 3.9.0 + ansis: 3.10.0 clean-stack: 3.0.1 cli-spinners: 2.9.2 debug: 4.4.0(supports-color@8.1.1) @@ -6146,7 +6146,7 @@ packages: is-wsl: 2.2.0 lilconfig: 3.1.3 minimatch: 9.0.5 - semver: 7.6.3 + semver: 7.7.0 string-width: 4.2.3 supports-color: 8.1.1 widest-line: 3.1.0 @@ -6184,14 +6184,14 @@ packages: resolution: {integrity: sha512-p30fo3JPtbOqTJOX9A/8qKV/14XWt8xFgG/goVfIkuKBAO+cdY78ag8pYatlpzsYzJhO27X1MFn0WkkPWo36Ww==} engines: {node: '>=18.0.0'} dependencies: - '@oclif/core': 4.2.3 - ansis: 3.9.0 + '@oclif/core': 4.2.6 + ansis: 3.10.0 debug: 4.4.0(supports-color@8.1.1) npm: 10.9.2 npm-package-arg: 11.0.3 npm-run-path: 5.3.0 object-treeify: 4.0.1 - semver: 7.6.3 + semver: 7.7.0 validate-npm-package-name: 5.0.1 which: 4.0.0 yarn: 1.22.22 @@ -6209,7 +6209,7 @@ packages: fs-extra: 9.1.0 http-call: 5.3.0 lodash: 4.17.21 - semver: 7.6.3 + semver: 7.7.0 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -6240,8 +6240,8 @@ packages: engines: {node: '>= 18'} dev: false - /@octokit/auth-token@5.1.1: - resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} + /@octokit/auth-token@5.1.2: + resolution: {integrity: sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==} engines: {node: '>= 18'} dev: false @@ -6282,7 +6282,7 @@ packages: '@octokit/graphql': 7.1.0 '@octokit/request': 8.4.0 '@octokit/request-error': 5.1.0 - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 before-after-hook: 2.2.3 universal-user-agent: 6.0.1 dev: false @@ -6291,11 +6291,11 @@ packages: resolution: {integrity: sha512-z+j7DixNnfpdToYsOutStDgeRzJSMnbj8T1C/oQjB6Aa+kRfNjs/Fn7W6c8bmlt6mfy3FkgeKBRnDjxQow5dow==} engines: {node: '>= 18'} dependencies: - '@octokit/auth-token': 5.1.1 - '@octokit/graphql': 8.1.2 + '@octokit/auth-token': 5.1.2 + '@octokit/graphql': 8.2.0 '@octokit/request': 9.2.0 '@octokit/request-error': 6.1.6 - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 before-after-hook: 3.0.2 universal-user-agent: 7.0.2 dev: false @@ -6304,7 +6304,7 @@ packages: resolution: {integrity: sha512-XybpFv9Ms4hX5OCHMZqyODYqGTZ3H6K6Vva+M9LR7ib/xr1y1ZnlChYv9H680y77Vd/i/k+thXApeRASBQkzhA==} engines: {node: '>= 18'} dependencies: - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 universal-user-agent: 7.0.2 dev: false @@ -6329,7 +6329,7 @@ packages: resolution: {integrity: sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==} engines: {node: '>= 18'} dependencies: - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 universal-user-agent: 6.0.1 dev: false @@ -6359,16 +6359,16 @@ packages: engines: {node: '>= 18'} dependencies: '@octokit/request': 8.4.0 - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 universal-user-agent: 6.0.1 dev: false - /@octokit/graphql@8.1.2: - resolution: {integrity: sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==} + /@octokit/graphql@8.2.0: + resolution: {integrity: sha512-gejfDywEml/45SqbWTWrhfwvLBrcGYhOn50sPOjIeVvH6i7D16/9xcFA8dAJNp2HMcd+g4vru41g4E2RBiZvfQ==} engines: {node: '>= 18'} dependencies: '@octokit/request': 9.2.0 - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 universal-user-agent: 7.0.2 dev: false @@ -6391,7 +6391,7 @@ packages: '@octokit/core': '>=6' dependencies: '@octokit/core': 6.1.3 - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 dev: false /@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0): @@ -6438,7 +6438,7 @@ packages: '@octokit/core': '>=6' dependencies: '@octokit/core': 6.1.3 - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 dev: false /@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0): @@ -6482,7 +6482,7 @@ packages: resolution: {integrity: sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==} engines: {node: '>= 18'} dependencies: - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 deprecation: 2.3.1 once: 1.4.0 dev: false @@ -6491,7 +6491,7 @@ packages: resolution: {integrity: sha512-pqnVKYo/at0NuOjinrgcQYpEbv4snvP3bKMRqHaD9kIsk9u1LCpb2smHZi8/qJfgeNqLo5hNW4Z7FezNdEo0xg==} engines: {node: '>= 18'} dependencies: - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 dev: false /@octokit/request@5.6.3: @@ -6527,7 +6527,7 @@ packages: dependencies: '@octokit/endpoint': 9.0.5 '@octokit/request-error': 5.1.0 - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 universal-user-agent: 6.0.1 dev: false @@ -6537,7 +6537,7 @@ packages: dependencies: '@octokit/endpoint': 10.1.2 '@octokit/request-error': 6.1.6 - '@octokit/types': 13.7.0 + '@octokit/types': 13.8.0 fast-content-type-parse: 2.0.1 universal-user-agent: 7.0.2 dev: false @@ -6574,8 +6574,8 @@ packages: '@octokit/openapi-types': 18.1.1 dev: true - /@octokit/types@13.7.0: - resolution: {integrity: sha512-BXfRP+3P3IN6fd4uF3SniaHKOO4UXWBfkdR3vA8mIvaoO/wLjGN5qivUtW0QRitBHHMcfC41SLhNVYIZZE+wkA==} + /@octokit/types@13.8.0: + resolution: {integrity: sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==} dependencies: '@octokit/openapi-types': 23.0.1 dev: false @@ -6768,8 +6768,8 @@ packages: '@opentelemetry/api-logs': 0.52.1 '@types/shimmer': 1.2.0 import-in-the-middle: 1.12.0 - require-in-the-middle: 7.4.0 - semver: 7.6.3 + require-in-the-middle: 7.5.0 + semver: 7.7.0 shimmer: 1.2.1 transitivePeerDependencies: - supports-color @@ -7014,7 +7014,7 @@ packages: '@opentelemetry/propagator-b3': 1.13.0(@opentelemetry/api@1.4.1) '@opentelemetry/propagator-jaeger': 1.13.0(@opentelemetry/api@1.4.1) '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - semver: 7.6.3 + semver: 7.7.0 /@opentelemetry/semantic-conventions@1.13.0: resolution: {integrity: sha512-LMGqfSZkaMQXqewO0o1wvWr/2fQdCh4a3Sqlxka/UsJCe0cfLulh6x2aqnKLnsrSGiCq5rSCwvINd152i0nCqw==} @@ -7025,8 +7025,8 @@ packages: engines: {node: '>= 16.0.0'} dev: false - /@parcel/watcher-android-arm64@2.5.0: - resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==} + /@parcel/watcher-android-arm64@2.5.1: + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] @@ -7034,8 +7034,8 @@ packages: dev: true optional: true - /@parcel/watcher-darwin-arm64@2.5.0: - resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==} + /@parcel/watcher-darwin-arm64@2.5.1: + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] @@ -7043,8 +7043,8 @@ packages: dev: true optional: true - /@parcel/watcher-darwin-x64@2.5.0: - resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==} + /@parcel/watcher-darwin-x64@2.5.1: + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] @@ -7052,8 +7052,8 @@ packages: dev: true optional: true - /@parcel/watcher-freebsd-x64@2.5.0: - resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==} + /@parcel/watcher-freebsd-x64@2.5.1: + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] @@ -7061,8 +7061,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-arm-glibc@2.5.0: - resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==} + /@parcel/watcher-linux-arm-glibc@2.5.1: + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] @@ -7070,8 +7070,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-arm-musl@2.5.0: - resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==} + /@parcel/watcher-linux-arm-musl@2.5.1: + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] @@ -7079,8 +7079,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-arm64-glibc@2.5.0: - resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==} + /@parcel/watcher-linux-arm64-glibc@2.5.1: + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] @@ -7088,8 +7088,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-arm64-musl@2.5.0: - resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==} + /@parcel/watcher-linux-arm64-musl@2.5.1: + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] @@ -7097,8 +7097,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-x64-glibc@2.5.0: - resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==} + /@parcel/watcher-linux-x64-glibc@2.5.1: + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] @@ -7106,8 +7106,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-x64-musl@2.5.0: - resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==} + /@parcel/watcher-linux-x64-musl@2.5.1: + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] @@ -7115,8 +7115,8 @@ packages: dev: true optional: true - /@parcel/watcher-win32-arm64@2.5.0: - resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==} + /@parcel/watcher-win32-arm64@2.5.1: + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] @@ -7124,8 +7124,8 @@ packages: dev: true optional: true - /@parcel/watcher-win32-ia32@2.5.0: - resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==} + /@parcel/watcher-win32-ia32@2.5.1: + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] @@ -7133,8 +7133,8 @@ packages: dev: true optional: true - /@parcel/watcher-win32-x64@2.5.0: - resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==} + /@parcel/watcher-win32-x64@2.5.1: + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] @@ -7142,8 +7142,8 @@ packages: dev: true optional: true - /@parcel/watcher@2.5.0: - resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==} + /@parcel/watcher@2.5.1: + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} requiresBuild: true dependencies: @@ -7152,19 +7152,19 @@ packages: micromatch: 4.0.8 node-addon-api: 7.1.1 optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.0 - '@parcel/watcher-darwin-arm64': 2.5.0 - '@parcel/watcher-darwin-x64': 2.5.0 - '@parcel/watcher-freebsd-x64': 2.5.0 - '@parcel/watcher-linux-arm-glibc': 2.5.0 - '@parcel/watcher-linux-arm-musl': 2.5.0 - '@parcel/watcher-linux-arm64-glibc': 2.5.0 - '@parcel/watcher-linux-arm64-musl': 2.5.0 - '@parcel/watcher-linux-x64-glibc': 2.5.0 - '@parcel/watcher-linux-x64-musl': 2.5.0 - '@parcel/watcher-win32-arm64': 2.5.0 - '@parcel/watcher-win32-ia32': 2.5.0 - '@parcel/watcher-win32-x64': 2.5.0 + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 dev: true /@peculiar/asn1-schema@2.3.15: @@ -7248,7 +7248,7 @@ packages: extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 - semver: 7.6.3 + semver: 7.7.0 tar-fs: 3.0.8 unbzip2-stream: 1.4.3 yargs: 17.7.2 @@ -7268,7 +7268,7 @@ packages: /@radix-ui/number@1.0.1: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 dev: false /@radix-ui/number@1.1.0: @@ -7278,13 +7278,13 @@ packages: /@radix-ui/primitive@1.0.0: resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 dev: true /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 dev: false /@radix-ui/primitive@1.1.0: @@ -7388,7 +7388,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.11 '@types/react-dom': 18.3.0 @@ -7448,7 +7448,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -7472,7 +7472,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -7500,7 +7500,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -7582,7 +7582,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -7644,7 +7644,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 react: 18.3.1 dev: true @@ -7657,7 +7657,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/react': 18.3.11 react: 18.3.1 dev: false @@ -7692,7 +7692,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 react: 18.3.1 dev: true @@ -7705,7 +7705,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/react': 18.3.11 react: 18.3.1 dev: false @@ -7741,7 +7741,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.0 '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) '@radix-ui/react-context': 1.0.0(react@18.3.1) @@ -7775,7 +7775,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -7826,7 +7826,40 @@ packages: aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.11)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.11)(react@18.3.1) + dev: false + + /@radix-ui/react-dialog@1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-LaO3e5h/NOEL4OfXjxD43k9Dx+vn+8n+PCFt6uhX/BADFflllyv3WJG6rgvvSVBxpTch938Qq/LGc2MMxipXPw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.11)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@18.3.1) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.11)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@18.3.1) + '@types/react': 18.3.11 + '@types/react-dom': 18.3.0 + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.11)(react@18.3.1) /@radix-ui/react-direction@1.0.1(@types/react@18.3.11)(react@18.3.1): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} @@ -7837,7 +7870,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/react': 18.3.11 react: 18.3.1 dev: false @@ -7861,7 +7894,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.0 '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) '@radix-ui/react-primitive': 1.0.0(react-dom@18.3.1)(react@18.3.1) @@ -7884,7 +7917,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -7909,7 +7942,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -7967,6 +8000,30 @@ packages: '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + dev: false + + /@radix-ui/react-dismissable-layer@1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-XDUI0IVYVSwjMXxM6P4Dfti7AH+Y4oS/TB+sglZ/EXc7cqLwGAmp1NlMrcUjj7ks6R5WTZuWKv44FBbLpwU3sA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.11)(react@18.3.1) + '@types/react': 18.3.11 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) /@radix-ui/react-dropdown-menu@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-y8E+x9fBq9qvteD2Zwa4397pUVhYsh9iq44b5RD5qu1GMJWBCBuVg1hMyItbc6+zH00TxGRqd9Iot4wzf3OoBQ==} @@ -7999,7 +8056,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 react: 18.3.1 dev: true @@ -8012,7 +8069,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/react': 18.3.11 react: 18.3.1 dev: false @@ -8048,7 +8105,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) '@radix-ui/react-primitive': 1.0.0(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.0.0(react@18.3.1) @@ -8069,7 +8126,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -8135,7 +8192,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-use-layout-effect': 1.0.0(react@18.3.1) react: 18.3.1 dev: true @@ -8149,7 +8206,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@types/react': 18.3.11 react: 18.3.1 @@ -8181,7 +8238,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.11 '@types/react-dom': 18.3.0 @@ -8226,8 +8283,8 @@ packages: react-remove-scroll: 2.5.7(@types/react@18.3.11)(react@18.3.1) dev: false - /@radix-ui/react-navigation-menu@1.2.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-IQWAsQ7dsLIYDrn0WqPU+cdM7MONTv9nqrLVYoie3BPiabSfUVDe6Fr+oEt0Cofsr9ONDcDe9xhmJbL1Uq1yKg==} + /@radix-ui/react-navigation-menu@1.2.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-wUi01RrTDTOoGtjEPHsxlzPtVzVc3R/AZ5wfh0dyqMAqolhHAHvG5iQjBCTi2AjQqa77FWWbA3kE3RkD+bDMgQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -8244,7 +8301,7 @@ packages: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -8272,7 +8329,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -8294,8 +8351,8 @@ packages: react-remove-scroll: 2.5.5(@types/react@18.3.11)(react@18.3.1) dev: false - /@radix-ui/react-popover@1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-aUACAkXx8LaFymDma+HQVji7WhvEhpFJ7+qPz17Nf4lLZqtreGOFRiNQWQmhzp7kEWg9cOyyQJpdIMUMPc/CPw==} + /@radix-ui/react-popover@1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-YXkTAftOIW2Bt3qKH8vYr6n9gCkVrvyvfiTObVjoHVTHnNj26rmvO87IKa3VgtgCjb8FAQ6qOjNViwl+9iIzlg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -8310,7 +8367,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@18.3.1) @@ -8325,7 +8382,7 @@ packages: aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.11)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.11)(react@18.3.1) dev: false /@radix-ui/react-popper@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): @@ -8341,7 +8398,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -8371,7 +8428,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -8451,7 +8508,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-primitive': 1.0.0(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8470,7 +8527,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.11 '@types/react-dom': 18.3.0 @@ -8491,7 +8548,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.11 '@types/react-dom': 18.3.0 @@ -8546,7 +8603,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.0.0(react@18.3.1) react: 18.3.1 @@ -8566,7 +8623,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@types/react': 18.3.11 @@ -8622,7 +8679,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-slot': 1.0.0(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8641,7 +8698,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-slot': 1.0.2(@types/react@18.3.11)(react@18.3.1) '@types/react': 18.3.11 '@types/react-dom': 18.3.0 @@ -8701,7 +8758,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.11 @@ -8723,7 +8780,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -8808,7 +8865,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -8865,7 +8922,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -8893,8 +8950,8 @@ packages: react-remove-scroll: 2.5.5(@types/react@18.3.11)(react@18.3.1) dev: false - /@radix-ui/react-select@2.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ==} + /@radix-ui/react-select@2.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-eVV7N8jBXAXnyrc+PsOF89O9AfVgGnbLxUtBb0clJ8y8ENMWLARGMI/1/SBRLz7u4HqxLgN71BJ17eono3wcjA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -8912,7 +8969,7 @@ packages: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@18.3.1) @@ -8930,7 +8987,7 @@ packages: aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.11)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.11)(react@18.3.1) dev: false /@radix-ui/react-separator@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1): @@ -8946,7 +9003,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.11 '@types/react-dom': 18.3.0 @@ -8967,7 +9024,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -8990,7 +9047,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) react: 18.3.1 dev: true @@ -9004,7 +9061,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@types/react': 18.3.11 react: 18.3.1 @@ -9050,7 +9107,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -9162,7 +9219,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-direction': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -9189,7 +9246,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -9212,7 +9269,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -9244,7 +9301,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.11)(react@18.3.1) @@ -9263,8 +9320,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-tooltip@1.1.6(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==} + /@radix-ui/react-tooltip@1.1.7(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ss0s80BC0+g0+Zc53MvilcnTYSOi4mSuFWBPYPuTOFGjx+pUU+ZrmamMNwS56t8MTFlniA5ocjd4jYm/CdhbOg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -9279,7 +9336,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -9297,7 +9354,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 react: 18.3.1 dev: true @@ -9310,7 +9367,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/react': 18.3.11 react: 18.3.1 dev: false @@ -9332,7 +9389,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-use-callback-ref': 1.0.0(react@18.3.1) react: 18.3.1 dev: true @@ -9346,7 +9403,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@types/react': 18.3.11 react: 18.3.1 @@ -9370,7 +9427,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-use-callback-ref': 1.0.0(react@18.3.1) react: 18.3.1 dev: true @@ -9384,7 +9441,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@types/react': 18.3.11 react: 18.3.1 @@ -9408,7 +9465,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 react: 18.3.1 dev: true @@ -9421,7 +9478,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/react': 18.3.11 react: 18.3.1 dev: false @@ -9447,7 +9504,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/react': 18.3.11 react: 18.3.1 dev: false @@ -9474,7 +9531,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/rect': 1.0.1 '@types/react': 18.3.11 react: 18.3.1 @@ -9502,7 +9559,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.11)(react@18.3.1) '@types/react': 18.3.11 react: 18.3.1 @@ -9534,7 +9591,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.11 '@types/react-dom': 18.3.0 @@ -9584,7 +9641,7 @@ packages: /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 dev: false /@radix-ui/rect@1.1.0: @@ -9868,151 +9925,151 @@ packages: picomatch: 4.0.2 dev: true - /@rollup/rollup-android-arm-eabi@4.31.0: - resolution: {integrity: sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==} + /@rollup/rollup-android-arm-eabi@4.34.1: + resolution: {integrity: sha512-kwctwVlswSEsr4ljpmxKrRKp1eG1v2NAhlzFzDf1x1OdYaMjBYjDCbHkzWm57ZXzTwqn8stMXgROrnMw8dJK3w==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.31.0: - resolution: {integrity: sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==} + /@rollup/rollup-android-arm64@4.34.1: + resolution: {integrity: sha512-4H5ZtZitBPlbPsTv6HBB8zh1g5d0T8TzCmpndQdqq20Ugle/nroOyDMf9p7f88Gsu8vBLU78/cuh8FYHZqdXxw==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.31.0: - resolution: {integrity: sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==} + /@rollup/rollup-darwin-arm64@4.34.1: + resolution: {integrity: sha512-f2AJ7Qwx9z25hikXvg+asco8Sfuc5NCLg8rmqQBIOUoWys5sb/ZX9RkMZDPdnnDevXAMJA5AWLnRBmgdXGEUiA==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.31.0: - resolution: {integrity: sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==} + /@rollup/rollup-darwin-x64@4.34.1: + resolution: {integrity: sha512-+/2JBrRfISCsWE4aEFXxd+7k9nWGXA8+wh7ZUHn/u8UDXOU9LN+QYKKhd57sIn6WRcorOnlqPMYFIwie/OHXWw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-freebsd-arm64@4.31.0: - resolution: {integrity: sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==} + /@rollup/rollup-freebsd-arm64@4.34.1: + resolution: {integrity: sha512-SUeB0pYjIXwT2vfAMQ7E4ERPq9VGRrPR7Z+S4AMssah5EHIilYqjWQoTn5dkDtuIJUSTs8H+C9dwoEcg3b0sCA==} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /@rollup/rollup-freebsd-x64@4.31.0: - resolution: {integrity: sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==} + /@rollup/rollup-freebsd-x64@4.34.1: + resolution: {integrity: sha512-L3T66wAZiB/ooiPbxz0s6JEX6Sr2+HfgPSK+LMuZkaGZFAFCQAHiP3dbyqovYdNaiUXcl9TlgnIbcsIicAnOZg==} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.31.0: - resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==} + /@rollup/rollup-linux-arm-gnueabihf@4.34.1: + resolution: {integrity: sha512-UBXdQ4+ATARuFgsFrQ+tAsKvBi/Hly99aSVdeCUiHV9dRTTpMU7OrM3WXGys1l40wKVNiOl0QYY6cZQJ2xhKlQ==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-musleabihf@4.31.0: - resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==} + /@rollup/rollup-linux-arm-musleabihf@4.34.1: + resolution: {integrity: sha512-m/yfZ25HGdcCSwmopEJm00GP7xAUyVcBPjttGLRAqZ60X/bB4Qn6gP7XTwCIU6bITeKmIhhwZ4AMh2XLro+4+w==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.31.0: - resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==} + /@rollup/rollup-linux-arm64-gnu@4.34.1: + resolution: {integrity: sha512-Wy+cUmFuvziNL9qWRRzboNprqSQ/n38orbjRvd6byYWridp5TJ3CD+0+HUsbcWVSNz9bxkDUkyASGP0zS7GAvg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.31.0: - resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==} + /@rollup/rollup-linux-arm64-musl@4.34.1: + resolution: {integrity: sha512-CQ3MAGgiFmQW5XJX5W3wnxOBxKwFlUAgSXFA2SwgVRjrIiVt5LHfcQLeNSHKq5OEZwv+VCBwlD1+YKCjDG8cpg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-loongarch64-gnu@4.31.0: - resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==} + /@rollup/rollup-linux-loongarch64-gnu@4.34.1: + resolution: {integrity: sha512-rSzb1TsY4lSwH811cYC3OC2O2mzNMhM13vcnA7/0T6Mtreqr3/qs6WMDriMRs8yvHDI54qxHgOk8EV5YRAHFbw==} cpu: [loong64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.31.0: - resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==} + /@rollup/rollup-linux-powerpc64le-gnu@4.34.1: + resolution: {integrity: sha512-fwr0n6NS0pG3QxxlqVYpfiY64Fd1Dqd8Cecje4ILAV01ROMp4aEdCj5ssHjRY3UwU7RJmeWd5fi89DBqMaTawg==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.31.0: - resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==} + /@rollup/rollup-linux-riscv64-gnu@4.34.1: + resolution: {integrity: sha512-4uJb9qz7+Z/yUp5RPxDGGGUcoh0PnKF33QyWgEZ3X/GocpWb6Mb+skDh59FEt5d8+Skxqs9mng6Swa6B2AmQZg==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.31.0: - resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==} + /@rollup/rollup-linux-s390x-gnu@4.34.1: + resolution: {integrity: sha512-QlIo8ndocWBEnfmkYqj8vVtIUpIqJjfqKggjy7IdUncnt8BGixte1wDON7NJEvLg3Kzvqxtbo8tk+U1acYEBlw==} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.31.0: - resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==} + /@rollup/rollup-linux-x64-gnu@4.34.1: + resolution: {integrity: sha512-hzpleiKtq14GWjz3ahWvJXgU1DQC9DteiwcsY4HgqUJUGxZThlL66MotdUEK9zEo0PK/2ADeZGM9LIondE302A==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.31.0: - resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==} + /@rollup/rollup-linux-x64-musl@4.34.1: + resolution: {integrity: sha512-jqtKrO715hDlvUcEsPn55tZt2TEiBvBtCMkUuU0R6fO/WPT7lO9AONjPbd8II7/asSiNVQHCMn4OLGigSuxVQA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.31.0: - resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==} + /@rollup/rollup-win32-arm64-msvc@4.34.1: + resolution: {integrity: sha512-RnHy7yFf2Wz8Jj1+h8klB93N0NHNHXFhNwAmiy9zJdpY7DE01VbEVtPdrK1kkILeIbHGRJjvfBDBhnxBr8kD4g==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.31.0: - resolution: {integrity: sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==} + /@rollup/rollup-win32-ia32-msvc@4.34.1: + resolution: {integrity: sha512-i7aT5HdiZIcd7quhzvwQ2oAuX7zPYrYfkrd1QFfs28Po/i0q6kas/oRrzGlDhAEyug+1UfUtkWdmoVlLJj5x9Q==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.31.0: - resolution: {integrity: sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==} + /@rollup/rollup-win32-x64-msvc@4.34.1: + resolution: {integrity: sha512-k3MVFD9Oq+laHkw2N2v7ILgoa9017ZMF/inTtHzyTVZjYs9cSH18sdyAf6spBAJIGwJ5UaC7et2ZH1WCdlhkMw==} cpu: [x64] os: [win32] requiresBuild: true @@ -10035,68 +10092,68 @@ packages: '@types/hast': 3.0.4 dev: false - /@shikijs/core@1.29.1: - resolution: {integrity: sha512-Mo1gGGkuOYjDu5H8YwzmOuly9vNr8KDVkqj9xiKhhhFS8jisAtDSEWB9hzqRHLVQgFdA310e8XRJcW4tYhRB2A==} + /@shikijs/core@1.29.2: + resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} dependencies: - '@shikijs/engine-javascript': 1.29.1 - '@shikijs/engine-oniguruma': 1.29.1 - '@shikijs/types': 1.29.1 + '@shikijs/engine-javascript': 1.29.2 + '@shikijs/engine-oniguruma': 1.29.2 + '@shikijs/types': 1.29.2 '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 dev: false - /@shikijs/engine-javascript@1.29.1: - resolution: {integrity: sha512-Hpi8k9x77rCQ7F/7zxIOUruNkNidMyBnP5qAGbLFqg4kRrg1HZhkB8btib5EXbQWTtLb5gBHOdBwshk20njD7Q==} + /@shikijs/engine-javascript@1.29.2: + resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} dependencies: - '@shikijs/types': 1.29.1 + '@shikijs/types': 1.29.2 '@shikijs/vscode-textmate': 10.0.1 - oniguruma-to-es: 2.2.0 + oniguruma-to-es: 2.3.0 dev: false - /@shikijs/engine-oniguruma@1.29.1: - resolution: {integrity: sha512-gSt2WhLNgEeLstcweQOSp+C+MhOpTsgdNXRqr3zP6M+BUBZ8Md9OU2BYwUYsALBxHza7hwaIWtFHjQ/aOOychw==} + /@shikijs/engine-oniguruma@1.29.2: + resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} dependencies: - '@shikijs/types': 1.29.1 + '@shikijs/types': 1.29.2 '@shikijs/vscode-textmate': 10.0.1 dev: false - /@shikijs/langs@1.29.1: - resolution: {integrity: sha512-iERn4HlyuT044/FgrvLOaZgKVKf3PozjKjyV/RZ5GnlyYEAZFcgwHGkYboeBv2IybQG1KVS/e7VGgiAU4JY2Gw==} + /@shikijs/langs@1.29.2: + resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} dependencies: - '@shikijs/types': 1.29.1 + '@shikijs/types': 1.29.2 dev: false - /@shikijs/rehype@1.29.1: - resolution: {integrity: sha512-CKs/8uZQETSFkMLIPo1mbpPal72GFO2PDRURLNgqgxCcbIXwn0+oM26l7Crlowrx+BOgC3yYbDLcZ4mftxLbZw==} + /@shikijs/rehype@1.29.2: + resolution: {integrity: sha512-sxi53HZe5XDz0s2UqF+BVN/kgHPMS9l6dcacM4Ra3ZDzCJa5rDGJ+Ukpk4LxdD1+MITBM6hoLbPfGv9StV8a5Q==} dependencies: - '@shikijs/types': 1.29.1 + '@shikijs/types': 1.29.2 '@types/hast': 3.0.4 hast-util-to-string: 3.0.1 - shiki: 1.29.1 + shiki: 1.29.2 unified: 11.0.5 unist-util-visit: 5.0.0 dev: false - /@shikijs/themes@1.29.1: - resolution: {integrity: sha512-lb11zf72Vc9uxkl+aec2oW1HVTHJ2LtgZgumb4Rr6By3y/96VmlU44bkxEb8WBWH3RUtbqAJEN0jljD9cF7H7g==} + /@shikijs/themes@1.29.2: + resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} dependencies: - '@shikijs/types': 1.29.1 + '@shikijs/types': 1.29.2 dev: false - /@shikijs/twoslash@1.29.1(typescript@5.5.4): - resolution: {integrity: sha512-SN2aam87NjkpjS0O2Zq9SeXSDX1CztLBAROXrJpEe5Qe19dkMUUXY8uhw32Qu/FKjqsK8ycEP2S6FZrd9A2pzw==} + /@shikijs/twoslash@1.29.2(typescript@5.5.4): + resolution: {integrity: sha512-2S04ppAEa477tiaLfGEn1QJWbZUmbk8UoPbAEw4PifsrxkBXtAtOflIZJNtuCwz8ptc/TPxy7CO7gW4Uoi6o/g==} dependencies: - '@shikijs/core': 1.29.1 - '@shikijs/types': 1.29.1 + '@shikijs/core': 1.29.2 + '@shikijs/types': 1.29.2 twoslash: 0.2.12(typescript@5.5.4) transitivePeerDependencies: - supports-color - typescript dev: false - /@shikijs/types@1.29.1: - resolution: {integrity: sha512-aBqAuhYRp5vSir3Pc9+QPu9WESBOjUo03ao0IHLC4TyTioSsp/SkbAZSrIH4ghYYC1T1KTEpRSBa83bas4RnPA==} + /@shikijs/types@1.29.2: + resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} dependencies: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 @@ -10445,7 +10502,7 @@ packages: engines: {node: '>=18'} dependencies: '@babel/code-frame': 7.26.2 - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -10470,7 +10527,7 @@ packages: react-test-renderer: optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/react': 18.3.11 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -10492,7 +10549,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@testing-library/dom': 10.4.0 '@types/react': 18.3.11 '@types/react-dom': 18.3.0 @@ -10548,7 +10605,7 @@ packages: dependencies: '@trigger.dev/sdk': 3.3.1(zod@3.23.8) debug: 4.4.0(supports-color@8.1.1) - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) transitivePeerDependencies: - supports-color dev: false @@ -10564,7 +10621,7 @@ packages: '@opentelemetry/semantic-conventions': 1.13.0 '@trigger.dev/core': 3.3.1 chalk: 5.4.1 - cronstrue: 2.53.0 + cronstrue: 2.54.0 debug: 4.4.0(supports-color@8.1.1) evt: 2.5.9 slug: 6.1.0 @@ -10590,7 +10647,7 @@ packages: '@opentelemetry/semantic-conventions': 1.13.0 '@trigger.dev/core': 3.3.1 chalk: 5.4.1 - cronstrue: 2.53.0 + cronstrue: 2.54.0 debug: 4.4.0(supports-color@8.1.1) evt: 2.5.9 slug: 6.1.0 @@ -10704,6 +10761,7 @@ packages: /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} + dev: false /@types/cookie@0.6.0: resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} @@ -10753,7 +10811,7 @@ packages: /@types/d3-geo@3.1.0: resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} dependencies: - '@types/geojson': 7946.0.15 + '@types/geojson': 7946.0.16 dev: false /@types/d3-interpolate@3.0.1: @@ -10890,8 +10948,8 @@ packages: '@types/react': 18.3.11 dev: true - /@types/geojson@7946.0.15: - resolution: {integrity: sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==} + /@types/geojson@7946.0.16: + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} dev: false /@types/hast@2.3.10: @@ -10937,8 +10995,8 @@ packages: resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==} dev: false - /@types/lodash@4.17.14: - resolution: {integrity: sha512-jsxagdikDiDBeIRaPYtArcT8my4tN1og7MtMRquFT3XNA6axxyHDRUemqDz/taRDdOUn0GnGHRCuff4q48sW9A==} + /@types/lodash@4.17.15: + resolution: {integrity: sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==} dev: false /@types/mdast@3.0.15: @@ -11004,8 +11062,8 @@ packages: resolution: {integrity: sha512-vmYJF0REqDyyU0gviezF/KHq/fYaUbFhkcNbQCuPGFQj6VTbXuHZoxs/Y7mutWe73C8AC6l9fFu8mSYiBAqkGA==} dev: false - /@types/node@18.19.71: - resolution: {integrity: sha512-evXpcgtZm8FY4jqBSN8+DmOTcVkkvTmAayeo4Wf3m1xAruyVGzGuDh/Fb/WWX2yLItUiho42ozyJjB0dw//Tkw==} + /@types/node@18.19.74: + resolution: {integrity: sha512-HMwEkkifei3L605gFdV+/UwtpxP6JSzM+xFk2Ia6DNFSwSVBRh9qp5Tgf4lNFOMfPVuU0WnkcWpXZpgn5ufO4A==} dependencies: undici-types: 5.26.5 @@ -11014,8 +11072,8 @@ packages: dependencies: undici-types: 5.26.5 - /@types/node@22.10.7: - resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==} + /@types/node@22.13.0: + resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==} dependencies: undici-types: 6.20.0 dev: true @@ -11128,7 +11186,7 @@ packages: /@types/ssh2@1.15.4: resolution: {integrity: sha512-9JTQgVBWSgq6mAen6PVnrAmty1lqgCMvpfN+1Ck5WRUsyMYPa6qd50/vMJ0y1zkGpOEgLzm8m8Dx/Y5vRouLaA==} dependencies: - '@types/node': 18.19.71 + '@types/node': 18.19.74 dev: true /@types/statuses@2.0.5: @@ -11162,8 +11220,8 @@ packages: resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} dev: true - /@types/ws@8.5.13: - resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + /@types/ws@8.5.14: + resolution: {integrity: sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==} dependencies: '@types/node': 20.14.9 dev: true @@ -11196,7 +11254,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.3 + semver: 7.7.0 ts-api-utils: 1.4.3(typescript@5.5.3) typescript: 5.5.3 transitivePeerDependencies: @@ -11222,8 +11280,8 @@ packages: - supports-color dev: false - /@ungap/structured-clone@1.2.1: - resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + /@ungap/structured-clone@1.3.0: + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} /@unkey/api@0.19.5: resolution: {integrity: sha512-eGER+FWFpZcyTUuVVNG6YyTLQSzuqwrU2vS2nA5l1Jfpv3E5+eJQ4DSQZI3aBBAjWVnx5DkL0pvb4QKv+34VgQ==} @@ -11333,7 +11391,7 @@ packages: peerDependencies: react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: - '@types/lodash': 4.17.14 + '@types/lodash': 4.17.15 '@types/react': 18.3.11 lodash: 4.17.21 prop-types: 15.8.1 @@ -11353,7 +11411,7 @@ packages: dependencies: '@types/d3-path': 1.0.11 '@types/d3-shape': 1.3.12 - '@types/lodash': 4.17.14 + '@types/lodash': 4.17.15 '@types/react': 18.3.11 '@visx/curve': 3.3.0 '@visx/group': 3.3.0(react@18.3.1) @@ -11371,7 +11429,7 @@ packages: peerDependencies: react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: - '@types/lodash': 4.17.14 + '@types/lodash': 4.17.15 '@types/react': 18.3.11 classnames: 2.5.1 lodash: 4.17.21 @@ -11392,7 +11450,7 @@ packages: prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-use-measure: 2.1.1(react-dom@18.3.1)(react@18.3.1) + react-use-measure: 2.1.7(react-dom@18.3.1)(react@18.3.1) dev: false /@visx/vendor@3.5.0: @@ -11501,7 +11559,7 @@ packages: /@vue/compiler-core@3.5.13: resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} dependencies: - '@babel/parser': 7.26.5 + '@babel/parser': 7.26.7 '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 @@ -11518,7 +11576,7 @@ packages: /@vue/compiler-sfc@3.5.13: resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} dependencies: - '@babel/parser': 7.26.5 + '@babel/parser': 7.26.7 '@vue/compiler-core': 3.5.13 '@vue/compiler-dom': 3.5.13 '@vue/compiler-ssr': 3.5.13 @@ -11790,7 +11848,7 @@ packages: indent-string: 5.0.0 dev: true - /ai@3.4.7(react@18.3.1)(svelte@5.19.0)(vue@3.5.13)(zod@3.23.8): + /ai@3.4.7(react@18.3.1)(svelte@5.19.6)(vue@3.5.13)(zod@3.23.8): resolution: {integrity: sha512-SutkVjFE86+xNql7fJERJkSEwpILEuiQvCoogJef6ZX/PGHvu3yepwHwVwedgABXe9SudOIKN48EQESrXX/xCw==} engines: {node: '>=18'} peerDependencies: @@ -11815,7 +11873,7 @@ packages: '@ai-sdk/provider-utils': 1.0.20(zod@3.23.8) '@ai-sdk/react': 0.0.62(react@18.3.1)(zod@3.23.8) '@ai-sdk/solid': 0.0.49(zod@3.23.8) - '@ai-sdk/svelte': 0.0.51(svelte@5.19.0)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.51(svelte@5.19.6)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.46(zod@3.23.8) '@ai-sdk/vue': 0.0.53(vue@3.5.13)(zod@3.23.8) '@opentelemetry/api': 1.4.1 @@ -11825,7 +11883,7 @@ packages: nanoid: 3.3.6 react: 18.3.1 secure-json-parse: 2.7.0 - svelte: 5.19.0 + svelte: 5.19.6 zod: 3.23.8 zod-to-json-schema: 3.23.2(zod@3.23.8) transitivePeerDependencies: @@ -11987,8 +12045,8 @@ packages: resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} dev: true - /ansis@3.9.0: - resolution: {integrity: sha512-PcDrVe15ldexeZMsVLBAzBwF2KhZgaU0R+CHxH+x5kqn/pO+UWVBZJ+NEXMPpEOLUFeNsnNdoWYc2gwO+MVkDg==} + /ansis@3.10.0: + resolution: {integrity: sha512-hxDKLYT7hy3Y4sF3HxI926A3urzPxi73mZBB629m9bCVF+NyKNxbwCqqm+C/YrGPtxLwnl6d8/ZASCsz6SyvJA==} engines: {node: '>=16'} dev: true @@ -12170,6 +12228,10 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true + /async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + /async-lock@1.4.1: resolution: {integrity: sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==} dev: true @@ -12199,7 +12261,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001695 + caniuse-lite: 1.0.30001696 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -12215,7 +12277,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001695 + caniuse-lite: 1.0.30001696 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -12230,7 +12292,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001695 + caniuse-lite: 1.0.30001696 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -12280,7 +12342,7 @@ packages: resolution: {integrity: sha512-fdRxJkQ9MUSEi4jH2DcV3FAPFktk0wefilxrwNyUuWpoWawQGN7G7cB+fOYTtFfI6XNkFgwqJ/D3G18BoJJ/jg==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 dev: false /babylon@6.18.0: @@ -12310,7 +12372,7 @@ packages: dependencies: bare-events: 2.5.4 bare-path: 3.0.0 - bare-stream: 2.6.4(bare-events@2.5.4) + bare-stream: 2.6.5(bare-events@2.5.4) transitivePeerDependencies: - bare-buffer dev: true @@ -12329,8 +12391,8 @@ packages: dev: true optional: true - /bare-stream@2.6.4(bare-events@2.5.4): - resolution: {integrity: sha512-G6i3A74FjNq4nVrrSTUz5h3vgXzBJnjmWAVlBWaZETkgu+LgKd7AiyOml3EDJY1AHlIbBHKDXE+TUT53Ff8OaA==} + /bare-stream@2.6.5(bare-events@2.5.4): + resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} peerDependencies: bare-buffer: '*' bare-events: '*' @@ -12341,7 +12403,7 @@ packages: optional: true dependencies: bare-events: 2.5.4 - streamx: 2.21.1 + streamx: 2.22.0 dev: true optional: true @@ -12416,8 +12478,8 @@ packages: readable-stream: 3.6.2 dev: true - /bl@6.0.18: - resolution: {integrity: sha512-2k76XmWCuvu9HTvu3tFOl5HDdCH0wLZ/jHYva/LBVJmc9oX8yUtNQjxrFmbTdXsCSmIxwVTANZPNDfMQrvHFUw==} + /bl@6.0.19: + resolution: {integrity: sha512-4Ay3A3oDfGg3GGirhl4s62ebtnk0pJZA5mLp672MPKOQXsWvXjEF4dqdXySjJIs7b9OVr/O8aOo0Lm+xdjo2JA==} dependencies: '@types/readable-stream': 4.0.18 buffer: 6.0.3 @@ -12477,8 +12539,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001695 - electron-to-chromium: 1.5.84 + caniuse-lite: 1.0.30001696 + electron-to-chromium: 1.5.90 node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) @@ -12634,8 +12696,8 @@ packages: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} dev: false - /caniuse-lite@1.0.30001695: - resolution: {integrity: sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==} + /caniuse-lite@1.0.30001696: + resolution: {integrity: sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ==} /capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} @@ -12868,8 +12930,8 @@ packages: engines: {node: '>=8'} dev: true - /cjs-module-lexer@1.4.1: - resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + /cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} /class-variance-authority@0.7.0: resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} @@ -13207,7 +13269,7 @@ packages: json-schema-typed: 7.0.3 onetime: 5.1.2 pkg-up: 3.1.0 - semver: 7.6.3 + semver: 7.7.0 dev: true /confbox@0.1.8: @@ -13321,7 +13383,7 @@ packages: optional: true dependencies: env-paths: 2.2.1 - import-fresh: 3.3.0 + import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 typescript: 5.5.3 @@ -13354,8 +13416,8 @@ packages: /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - /cronstrue@2.53.0: - resolution: {integrity: sha512-CkAcaI94xL8h6N7cGxgXfR5D7oV2yVtDzB9vMZP8tIgPyEv/oc/7nq9rlk7LMxvc3N+q6LKZmNLCVxJRpyEg8A==} + /cronstrue@2.54.0: + resolution: {integrity: sha512-vyp5NklDxA5MjPfQgkn0bA+0vRQe7Q9keX7RPdV6rMgd7LtDvbuKgnT+3T5ZAX16anSP5HmahcRp8mziXsLfaw==} hasBin: true dev: false @@ -13708,8 +13770,8 @@ packages: resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} dev: false - /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + /decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} dev: true /decircular@0.1.1: @@ -13998,7 +14060,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 csstype: 3.1.3 dev: false @@ -14421,7 +14483,7 @@ packages: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 - semver: 7.6.3 + semver: 7.7.0 dev: false /ee-first@1.1.1: @@ -14436,8 +14498,8 @@ packages: jake: 10.9.2 dev: true - /electron-to-chromium@1.5.84: - resolution: {integrity: sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g==} + /electron-to-chromium@1.5.90: + resolution: {integrity: sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug==} /emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -14506,11 +14568,10 @@ packages: - utf-8-validate dev: false - /engine.io@6.6.2: - resolution: {integrity: sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==} + /engine.io@6.6.4: + resolution: {integrity: sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==} engines: {node: '>=10.2.0'} dependencies: - '@types/cookie': 0.4.1 '@types/cors': 2.8.17 '@types/node': 20.14.9 accepts: 1.3.8 @@ -14974,31 +15035,31 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier@9.0.0(eslint@9.18.0): + /eslint-config-prettier@9.0.0(eslint@9.19.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 9.18.0 + eslint: 9.19.0 dev: false - /eslint-config-turbo@1.10.12(eslint@9.18.0): + /eslint-config-turbo@1.10.12(eslint@9.19.0): resolution: {integrity: sha512-z3jfh+D7UGYlzMWGh+Kqz++hf8LOE96q3o5R8X4HTjmxaBWlLAWG+0Ounr38h+JLR2TJno0hU9zfzoPNkR9BdA==} peerDependencies: eslint: '>6.6.0' dependencies: - eslint: 9.18.0 - eslint-plugin-turbo: 1.10.12(eslint@9.18.0) + eslint: 9.19.0 + eslint-plugin-turbo: 1.10.12(eslint@9.19.0) dev: false - /eslint-plugin-turbo@1.10.12(eslint@9.18.0): + /eslint-plugin-turbo@1.10.12(eslint@9.19.0): resolution: {integrity: sha512-uNbdj+ohZaYo4tFJ6dStRXu2FZigwulR1b3URPXe0Q8YaE7thuekKNP+54CHtZPH9Zey9dmDx5btAQl9mfzGOw==} peerDependencies: eslint: '>6.6.0' dependencies: dotenv: 16.0.3 - eslint: 9.18.0 + eslint: 9.19.0 dev: false /eslint-scope@5.1.1: @@ -15026,8 +15087,8 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: false - /eslint@9.18.0: - resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==} + /eslint@9.19.0: + resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -15036,12 +15097,12 @@ packages: jiti: optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.1 + '@eslint/config-array': 0.19.2 '@eslint/core': 0.10.0 '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.18.0 + '@eslint/js': 9.19.0 '@eslint/plugin-kit': 0.2.5 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 @@ -15172,8 +15233,8 @@ packages: astring: 1.9.0 source-map: 0.7.4 - /estree-util-value-to-estree@3.2.1: - resolution: {integrity: sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==} + /estree-util-value-to-estree@3.3.2: + resolution: {integrity: sha512-hYH1aSvQI63Cvq3T3loaem6LW4u72F187zW4FHpTrReJSm6W66vYTFNO1vH/chmcOulp1HlAj1pxn8Ag0oXI5Q==} dependencies: '@types/estree': 1.0.6 @@ -15461,7 +15522,7 @@ packages: resolution: {integrity: sha512-7OnTFAVPefgw2eBJ1xj2PGGR9FwYzSUso9decayHgCDX4sJkHLdcsYTytTg+tYv+wKF3U8gJuSBz2jJpQV4u/g==} engines: {node: '>=16.1.0'} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 tslib: 2.8.1 dev: true @@ -15480,8 +15541,8 @@ packages: engines: {node: '>= 4.9.1'} dev: true - /fastq@1.18.0: - resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + /fastq@1.19.0: + resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} dependencies: reusify: 1.0.4 @@ -15683,8 +15744,9 @@ packages: debug: optional: true - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + /for-each@0.3.4: + resolution: {integrity: sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 @@ -15904,20 +15966,20 @@ packages: dependencies: '@formatjs/intl-localematcher': 0.5.10 '@orama/orama': 3.0.5 - '@shikijs/rehype': 1.29.1 + '@shikijs/rehype': 1.29.2 github-slugger: 2.0.0 hast-util-to-estree: 3.1.1 hast-util-to-jsx-runtime: 2.3.2 image-size: 1.2.0 negotiator: 1.0.0 - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.11)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.11)(react@18.3.1) remark: 15.0.1 remark-gfm: 4.0.0 scroll-into-view-if-needed: 3.1.0 - shiki: 1.29.1 + shiki: 1.29.2 unist-util-visit: 5.0.0 transitivePeerDependencies: - '@types/react' @@ -15946,20 +16008,20 @@ packages: dependencies: '@formatjs/intl-localematcher': 0.5.10 '@orama/orama': 3.0.5 - '@shikijs/rehype': 1.29.1 + '@shikijs/rehype': 1.29.2 github-slugger: 2.0.0 hast-util-to-estree: 3.1.1 hast-util-to-jsx-runtime: 2.3.2 image-size: 1.2.0 negotiator: 1.0.0 - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.11)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.11)(react@18.3.1) remark: 15.0.1 remark-gfm: 4.0.0 scroll-into-view-if-needed: 3.1.0 - shiki: 1.29.1 + shiki: 1.29.2 unist-util-visit: 5.0.0 transitivePeerDependencies: - '@types/react' @@ -15977,12 +16039,12 @@ packages: chokidar: 4.0.3 cross-spawn: 7.0.6 esbuild: 0.24.2 - estree-util-value-to-estree: 3.2.1 + estree-util-value-to-estree: 3.3.2 fast-glob: 3.3.3 fumadocs-core: 14.4.0(@types/react@18.3.11)(next@14.2.15)(react-dom@18.3.1)(react@18.3.1) gray-matter: 4.0.3 micromatch: 4.0.8 - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) zod: 3.23.8 transitivePeerDependencies: - acorn @@ -15996,9 +16058,9 @@ packages: react: '>= 18' react-dom: '>= 18' dependencies: - '@apidevtools/json-schema-ref-parser': 11.7.3 + '@apidevtools/json-schema-ref-parser': 11.9.0 '@fumari/json-schema-to-typescript': 1.1.2 - '@radix-ui/react-select': 2.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-select': 2.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-slot': 1.1.0(@types/react@18.3.11)(react@18.3.1) class-variance-authority: 0.7.1 fast-glob: 3.3.3 @@ -16007,14 +16069,14 @@ packages: github-slugger: 2.0.0 hast-util-to-jsx-runtime: 2.3.2 js-yaml: 4.1.0 - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) openapi-sampler: 1.6.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-hook-form: 7.54.2(react@18.3.1) remark: 15.0.1 remark-rehype: 11.1.1 - shiki: 1.29.1 + shiki: 1.29.2 transitivePeerDependencies: - '@oramacloud/client' - '@types/react' @@ -16024,21 +16086,21 @@ packages: - tailwindcss dev: false - /fumadocs-twoslash@2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(fumadocs-ui@14.4.0)(react-dom@18.3.1)(react@18.3.1)(shiki@1.29.1)(typescript@5.5.4): + /fumadocs-twoslash@2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(fumadocs-ui@14.4.0)(react-dom@18.3.1)(react@18.3.1)(shiki@1.29.2)(typescript@5.5.4): resolution: {integrity: sha512-rpc4yci9sSslsmuS3KRp7ByqXFvffpSSMnmCPsByLnHY0t+aUFut7YAfvqJPyALPpj/si9ghaPJG/T1fcrL0uA==} peerDependencies: fumadocs-ui: ^13.0.0 || ^14.0.0 react: '>= 18' shiki: 1.x.x dependencies: - '@radix-ui/react-popover': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) - '@shikijs/twoslash': 1.29.1(typescript@5.5.4) + '@radix-ui/react-popover': 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@shikijs/twoslash': 1.29.2(typescript@5.5.4) fumadocs-ui: 14.4.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(next@14.2.15)(react-dom@18.3.1)(react@18.3.1)(tailwindcss@3.4.15) mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 react: 18.3.1 - shiki: 1.29.1 + shiki: 1.29.2 tailwind-merge: 2.6.0 transitivePeerDependencies: - '@types/react' @@ -16059,7 +16121,7 @@ packages: mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 - shiki: 1.29.1 + shiki: 1.29.2 ts-morph: 24.0.0 typescript: 5.5.4 transitivePeerDependencies: @@ -16079,10 +16141,10 @@ packages: dependencies: '@radix-ui/react-accordion': 1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-dialog': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@18.3.1) - '@radix-ui/react-navigation-menu': 1.2.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-popover': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-navigation-menu': 1.2.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popover': 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-scroll-area': 1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-slot': 1.1.0(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-tabs': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -16090,7 +16152,7 @@ packages: class-variance-authority: 0.7.1 fumadocs-core: 14.4.0(@types/react@18.3.11)(next@14.2.15)(react-dom@18.3.1)(react@18.3.1) lucide-react: 0.456.0(react@18.3.1) - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) next-themes: 0.4.4(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16118,10 +16180,10 @@ packages: dependencies: '@radix-ui/react-accordion': 1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-dialog': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@18.3.1) - '@radix-ui/react-navigation-menu': 1.2.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-popover': 1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-navigation-menu': 1.2.4(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popover': 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-scroll-area': 1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-slot': 1.1.0(@types/react@18.3.11)(react@18.3.1) '@radix-ui/react-tabs': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1) @@ -16129,7 +16191,7 @@ packages: fumadocs-core: 14.5.4(@types/react@18.3.11)(next@14.2.15)(react-dom@18.3.1)(react@18.3.1) lodash.merge: 4.6.2 lucide-react: 0.460.0(react@18.3.1) - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) next-themes: 0.4.4(react-dom@18.3.1)(react@18.3.1) postcss-selector-parser: 7.0.0 react: 18.3.1 @@ -16171,7 +16233,7 @@ packages: peerDependencies: next: '>=13.2.0' dependencies: - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) dev: false /generate-function@2.3.1: @@ -16270,8 +16332,8 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.7 - /get-tsconfig@4.9.0: - resolution: {integrity: sha512-52n24W52sIueosRe0XZ8Ex5Yle+WbhfCKnV/gWXpbVR8FXNTfqdKEKUSypKso66VRHTvvcQxL44UTZbJRlCTnw==} + /get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} dependencies: resolve-pkg-maps: 1.0.0 dev: true @@ -16738,7 +16800,7 @@ packages: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.2.1 + '@ungap/structured-clone': 1.3.0 hast-util-from-parse5: 8.0.2 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 @@ -16846,12 +16908,12 @@ packages: transitivePeerDependencies: - supports-color - /hast-util-to-mdast@10.1.1: - resolution: {integrity: sha512-ObMDBFkVPHa0/47FUPO6UuupETRXNTY9y2dGBQQzEUrFq6LjUVwZEoUjjj/agvQ6oS+fAIyNzgNEa6h3lhaoKA==} + /hast-util-to-mdast@10.1.2: + resolution: {integrity: sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ==} dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.1 + '@ungap/structured-clone': 1.3.0 hast-util-phrasing: 3.0.1 hast-util-to-html: 9.0.4 hast-util-to-text: 4.0.2 @@ -17167,8 +17229,8 @@ packages: queue: 6.0.2 dev: false - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + /import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} dependencies: parent-module: 1.0.1 @@ -17179,7 +17241,7 @@ packages: dependencies: acorn: 8.14.0 acorn-import-attributes: 1.9.5(acorn@8.14.0) - cjs-module-lexer: 1.4.1 + cjs-module-lexer: 1.4.3 module-details-from-path: 1.0.3 /import-meta-resolve@4.1.0: @@ -17340,10 +17402,11 @@ packages: /is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - /is-async-function@2.1.0: - resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} + /is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} dependencies: + async-function: 1.0.0 call-bound: 1.0.3 get-proto: 1.0.1 has-tostringtag: 1.0.2 @@ -17875,7 +17938,7 @@ packages: dependencies: cssstyle: 4.2.1 data-urls: 5.0.0 - decimal.js: 10.4.3 + decimal.js: 10.5.0 form-data: 4.0.1 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 @@ -18808,7 +18871,7 @@ packages: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.1 + '@ungap/structured-clone': 1.3.0 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -18862,7 +18925,7 @@ packages: peerDependencies: esbuild: 0.* dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@esbuild-plugins/node-resolve': 0.2.2(esbuild@0.19.12) '@fal-works/esbuild-plugin-global-externals': 2.1.2 '@mdx-js/esbuild': 3.1.0(acorn@8.14.0)(esbuild@0.19.12) @@ -18955,7 +19018,7 @@ packages: micromark-util-html-tag-name: 2.0.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.0.4 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 @@ -19483,8 +19546,8 @@ packages: micromark-util-types: 1.1.0 uvu: 0.5.6 - /micromark-util-subtokenize@2.0.3: - resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} + /micromark-util-subtokenize@2.0.4: + resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.1 @@ -19543,7 +19606,7 @@ packages: micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.0.4 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 transitivePeerDependencies: @@ -19833,7 +19896,7 @@ packages: /mqtt-packet@9.0.1: resolution: {integrity: sha512-koZF1V/X2RZUI6uD9wN5OK1JxxcG1ofAR4H3LjCw1FkeKzruZQ26aAA6v2m1lZyWONZIR5wMMJFrZJDRNzbiQw==} dependencies: - bl: 6.0.18 + bl: 6.0.19 debug: 4.4.0(supports-color@8.1.1) process-nextick-args: 2.0.1 transitivePeerDependencies: @@ -19846,7 +19909,7 @@ packages: hasBin: true dependencies: '@types/readable-stream': 4.0.18 - '@types/ws': 8.5.13 + '@types/ws': 8.5.14 commist: 3.2.0 concat-stream: 2.0.0 debug: 4.4.0(supports-color@8.1.1) @@ -20042,7 +20105,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /next@14.1.0(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1): + /next@14.1.0(@babel/core@7.26.7)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} engines: {node: '>=18.17.0'} hasBin: true @@ -20060,12 +20123,12 @@ packages: '@next/env': 14.1.0 '@swc/helpers': 0.5.2 busboy: 1.6.0 - caniuse-lite: 1.0.30001695 + caniuse-lite: 1.0.30001696 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.26.7)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.1.0 '@next/swc-darwin-x64': 14.1.0 @@ -20081,7 +20144,7 @@ packages: - babel-plugin-macros dev: false - /next@14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1): + /next@14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==} engines: {node: '>=18.17.0'} hasBin: true @@ -20103,12 +20166,12 @@ packages: '@opentelemetry/api': 1.4.1 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001695 + caniuse-lite: 1.0.30001696 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.26.7)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.15 '@next/swc-darwin-x64': 14.2.15 @@ -20215,7 +20278,7 @@ packages: dependencies: hosted-git-info: 7.0.2 proc-log: 4.2.0 - semver: 7.6.3 + semver: 7.7.0 validate-npm-package-name: 5.0.1 dev: true @@ -20330,7 +20393,7 @@ packages: next: '>=13.4 <14.0.2 || ^14.0.3' dependencies: mitt: 3.0.1 - next: 14.2.15(@babel/core@7.26.0)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) + next: 14.2.15(@babel/core@7.26.7)(@opentelemetry/api@1.4.1)(react-dom@18.3.1)(react@18.3.1) dev: false /nwsapi@2.2.16: @@ -20429,8 +20492,8 @@ packages: mimic-function: 5.0.1 dev: true - /oniguruma-to-es@2.2.0: - resolution: {integrity: sha512-EEsso27ri0sf+t4uRFEj5C5gvXQj0d0w1Y2qq06b+hDLBnvzO1rWTwEW4C7ytan6nhg4WPwE26eLoiPhHUbvKg==} + /oniguruma-to-es@2.3.0: + resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} dependencies: emoji-regex-xs: 1.0.0 regex: 5.1.1 @@ -20464,7 +20527,7 @@ packages: zod: optional: true dependencies: - '@types/node': 18.19.71 + '@types/node': 18.19.74 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -21431,10 +21494,6 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /queue-tick@1.0.1: - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - dev: true - /queue@6.0.2: resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} dependencies: @@ -21481,7 +21540,7 @@ packages: peerDependencies: react: '>=16' dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 react: 18.3.1 react-syntax-highlighter: 15.6.1(react@18.3.1) styled-components: 6.1.14(react-dom@18.3.1)(react@18.3.1) @@ -21564,7 +21623,7 @@ packages: react-is: 18.1.0 dev: false - /react-email@2.1.1(@babel/core@7.26.0)(eslint@9.18.0)(ts-node@10.9.2): + /react-email@2.1.1(@babel/core@7.26.7)(eslint@9.19.0)(ts-node@10.9.2): resolution: {integrity: sha512-09oMVl/jN0/Re0bT0sEqYjyyFSCN/Tg0YmzjC9wfYpnMx02Apk40XXitySDfUBMR9EgTdr6T4lYknACqiLK3mg==} engines: {node: '>=18.0.0'} hasBin: true @@ -21590,13 +21649,13 @@ packages: commander: 11.1.0 debounce: 2.0.0 esbuild: 0.19.11 - eslint-config-prettier: 9.0.0(eslint@9.18.0) - eslint-config-turbo: 1.10.12(eslint@9.18.0) + eslint-config-prettier: 9.0.0(eslint@9.19.0) + eslint-config-turbo: 1.10.12(eslint@9.19.0) framer-motion: 10.17.4(react-dom@18.3.1)(react@18.3.1) glob: 10.3.4 log-symbols: 4.1.0 mime-types: 2.1.35 - next: 14.1.0(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) + next: 14.1.0(@babel/core@7.26.7)(react-dom@18.3.1)(react@18.3.1) normalize-path: 3.0.0 ora: 5.4.1 postcss: 8.4.35 @@ -21633,7 +21692,7 @@ packages: peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 react: 18.3.1 dev: true @@ -21794,8 +21853,8 @@ packages: use-sidecar: 1.1.3(@types/react@18.3.11)(react@18.3.1) dev: false - /react-remove-scroll@2.6.2(@types/react@18.3.11)(react@18.3.1): - resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==} + /react-remove-scroll@2.6.3(@types/react@18.3.11)(react@18.3.1): + resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} engines: {node: '>=10'} peerDependencies: '@types/react': '*' @@ -21845,7 +21904,7 @@ packages: peerDependencies: react: '>= 0.14.0' dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 highlight.js: 10.7.3 lowlight: 1.20.0 prismjs: 1.29.0 @@ -21858,7 +21917,7 @@ packages: peerDependencies: react: '>= 0.14.0' dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 highlight.js: 10.7.3 highlightjs-vue: 1.0.0 lowlight: 1.20.0 @@ -21886,7 +21945,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -21906,13 +21965,15 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /react-use-measure@2.1.1(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==} + /react-use-measure@2.1.7(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==} peerDependencies: react: '>=16.13' react-dom: '>=16.13' + peerDependenciesMeta: + react-dom: + optional: true dependencies: - debounce: 1.2.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false @@ -22284,7 +22345,7 @@ packages: dependencies: '@types/mdast': 4.0.4 estree-util-is-identifier-name: 3.0.0 - estree-util-value-to-estree: 3.2.1 + estree-util-value-to-estree: 3.3.2 toml: 3.0.0 unified: 11.0.5 yaml: 2.7.0 @@ -22401,8 +22462,8 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - /require-in-the-middle@7.4.0: - resolution: {integrity: sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==} + /require-in-the-middle@7.5.0: + resolution: {integrity: sha512-/Tvpny/RVVicqlYTKwt/GtpZRsPG1CmJNhxVKGz+Sy/4MONfXCVNK69MFgGKdUt0/324q3ClI2dICcPgISrC8g==} engines: {node: '>=8.6.0'} dependencies: debug: 4.4.0(supports-color@8.1.1) @@ -22612,32 +22673,32 @@ packages: source-map-support: 0.3.3 dev: false - /rollup@4.31.0: - resolution: {integrity: sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==} + /rollup@4.34.1: + resolution: {integrity: sha512-iYZ/+PcdLYSGfH3S+dGahlW/RWmsqDhLgj1BT9DH/xXJ0ggZN7xkdP9wipPNjjNLczI+fmMLmTB9pye+d2r4GQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.31.0 - '@rollup/rollup-android-arm64': 4.31.0 - '@rollup/rollup-darwin-arm64': 4.31.0 - '@rollup/rollup-darwin-x64': 4.31.0 - '@rollup/rollup-freebsd-arm64': 4.31.0 - '@rollup/rollup-freebsd-x64': 4.31.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.31.0 - '@rollup/rollup-linux-arm-musleabihf': 4.31.0 - '@rollup/rollup-linux-arm64-gnu': 4.31.0 - '@rollup/rollup-linux-arm64-musl': 4.31.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.31.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.31.0 - '@rollup/rollup-linux-riscv64-gnu': 4.31.0 - '@rollup/rollup-linux-s390x-gnu': 4.31.0 - '@rollup/rollup-linux-x64-gnu': 4.31.0 - '@rollup/rollup-linux-x64-musl': 4.31.0 - '@rollup/rollup-win32-arm64-msvc': 4.31.0 - '@rollup/rollup-win32-ia32-msvc': 4.31.0 - '@rollup/rollup-win32-x64-msvc': 4.31.0 + '@rollup/rollup-android-arm-eabi': 4.34.1 + '@rollup/rollup-android-arm64': 4.34.1 + '@rollup/rollup-darwin-arm64': 4.34.1 + '@rollup/rollup-darwin-x64': 4.34.1 + '@rollup/rollup-freebsd-arm64': 4.34.1 + '@rollup/rollup-freebsd-x64': 4.34.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.1 + '@rollup/rollup-linux-arm-musleabihf': 4.34.1 + '@rollup/rollup-linux-arm64-gnu': 4.34.1 + '@rollup/rollup-linux-arm64-musl': 4.34.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.1 + '@rollup/rollup-linux-riscv64-gnu': 4.34.1 + '@rollup/rollup-linux-s390x-gnu': 4.34.1 + '@rollup/rollup-linux-x64-gnu': 4.34.1 + '@rollup/rollup-linux-x64-musl': 4.34.1 + '@rollup/rollup-win32-arm64-msvc': 4.34.1 + '@rollup/rollup-win32-ia32-msvc': 4.34.1 + '@rollup/rollup-win32-x64-msvc': 4.34.1 fsevents: 2.3.3 dev: true @@ -22813,8 +22874,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - /semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + /semver@7.7.0: + resolution: {integrity: sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==} engines: {node: '>=10'} hasBin: true @@ -22906,7 +22967,7 @@ packages: dependencies: color: 4.2.3 detect-libc: 2.0.3 - semver: 7.6.3 + semver: 7.7.0 optionalDependencies: '@img/sharp-darwin-arm64': 0.33.4 '@img/sharp-darwin-x64': 0.33.4 @@ -22980,15 +23041,15 @@ packages: '@types/hast': 3.0.4 dev: false - /shiki@1.29.1: - resolution: {integrity: sha512-TghWKV9pJTd/N+IgAIVJtr0qZkB7FfFCUrrEJc0aRmZupo3D1OCVRknQWVRVA7AX/M0Ld7QfoAruPzr3CnUJuw==} + /shiki@1.29.2: + resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} dependencies: - '@shikijs/core': 1.29.1 - '@shikijs/engine-javascript': 1.29.1 - '@shikijs/engine-oniguruma': 1.29.1 - '@shikijs/langs': 1.29.1 - '@shikijs/themes': 1.29.1 - '@shikijs/types': 1.29.1 + '@shikijs/core': 1.29.2 + '@shikijs/engine-javascript': 1.29.2 + '@shikijs/engine-oniguruma': 1.29.2 + '@shikijs/langs': 1.29.2 + '@shikijs/themes': 1.29.2 + '@shikijs/types': 1.29.2 '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 dev: false @@ -23219,7 +23280,7 @@ packages: base64id: 2.0.0 cors: 2.8.5 debug: 4.3.7 - engine.io: 6.6.2 + engine.io: 6.6.4 socket.io-adapter: 2.5.5 socket.io-parser: 4.2.4 transitivePeerDependencies: @@ -23409,12 +23470,12 @@ packages: nan: 2.22.0 dev: true - /sswr@2.1.0(svelte@5.19.0): + /sswr@2.1.0(svelte@5.19.6): resolution: {integrity: sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 dependencies: - svelte: 5.19.0 + svelte: 5.19.6 swrev: 4.0.0 dev: false @@ -23467,11 +23528,10 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - /streamx@2.21.1: - resolution: {integrity: sha512-PhP9wUnFLa+91CPy3N6tiQsK+gnYyUNuk15S3YG/zjYE7RuPeCjJngqnzpC31ow0lzBHQ+QGO4cNJnd0djYUsw==} + /streamx@2.22.0: + resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==} dependencies: fast-fifo: 1.3.2 - queue-tick: 1.0.1 text-decoder: 1.2.3 optionalDependencies: bare-events: 2.5.4 @@ -23675,7 +23735,7 @@ packages: tslib: 2.6.2 dev: false - /styled-jsx@5.1.1(@babel/core@7.26.0)(react@18.3.1): + /styled-jsx@5.1.1(@babel/core@7.26.7)(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -23688,7 +23748,7 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.7 client-only: 0.0.1 react: 18.3.1 @@ -23767,8 +23827,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte@5.19.0: - resolution: {integrity: sha512-qvd2GvvYnJxS/MteQKFSMyq8cQrAAut28QZ39ySv9k3ggmhw4Au4Rfcsqva74i0xMys//OhbhVCNfXPrDzL/Bg==} + /svelte@5.19.6: + resolution: {integrity: sha512-6ydekB3qyqUal+UhfMjmVOjRGtxysR8vuiMhi2nwuBtPJWnctVlsGspjVFB05qmR+TXI1emuqtZt81c0XiFleA==} engines: {node: '>=18'} dependencies: '@ampproject/remapping': 2.3.0 @@ -23846,7 +23906,7 @@ packages: /tailwind-merge@2.2.0: resolution: {integrity: sha512-SqqhhaL0T06SW59+JVNfAqKdqLs0497esifRrZ7jOaefP3o64fdFNDMrAQWZFMxTLJPiHVjRLUywT8uFz1xNWQ==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 dev: false /tailwind-merge@2.5.4: @@ -23950,7 +24010,7 @@ packages: deep-equal: 1.1.2 defined: 1.0.1 dotignore: 0.1.2 - for-each: 0.3.3 + for-each: 0.3.4 glob: 7.2.3 has: 1.0.4 inherits: 2.0.4 @@ -23999,7 +24059,7 @@ packages: dependencies: b4a: 1.6.7 fast-fifo: 1.3.2 - streamx: 2.21.1 + streamx: 2.22.0 dev: true /tar@6.2.1: @@ -24149,15 +24209,15 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tldts-core@6.1.73: - resolution: {integrity: sha512-k1g5eX87vxu3g//6XMn62y4qjayu4cYby/PF7Ksnh4F4uUK1Z1ze/mJ4a+y5OjdJ+cXRp+YTInZhH+FGdUWy1w==} + /tldts-core@6.1.76: + resolution: {integrity: sha512-uzhJ02RaMzgQR3yPoeE65DrcHI6LoM4saUqXOt/b5hmb3+mc4YWpdSeAQqVqRUlQ14q8ZuLRWyBR1ictK1dzzg==} dev: true - /tldts@6.1.73: - resolution: {integrity: sha512-/h4bVmuEMm57c2uCiAf1Q9mlQk7cA22m+1Bu0K92vUUtTVT9D4mOFWD9r4WQuTULcG9eeZtNKhLl0Il1LdKGog==} + /tldts@6.1.76: + resolution: {integrity: sha512-6U2ti64/nppsDxQs9hw8ephA3nO6nSQvVVfxwRw8wLQPFtLI1cFI1a1eP22g+LUP+1TA2pKKjUTwWB+K2coqmQ==} hasBin: true dependencies: - tldts-core: 6.1.73 + tldts-core: 6.1.76 dev: true /tmp@0.0.33: @@ -24215,7 +24275,7 @@ packages: resolution: {integrity: sha512-rvZUv+7MoBYTiDmFPBrhL7Ujx9Sk+q9wwm22x8c8T5IJaR+Wsyc7TNxbVxo84kZoRJZZMazowFLqpankBEQrGg==} engines: {node: '>=16'} dependencies: - tldts: 6.1.73 + tldts: 6.1.76 dev: true /tr46@0.0.3: @@ -24428,7 +24488,7 @@ packages: joycon: 3.1.1 postcss-load-config: 4.0.2(postcss@8.5.1)(ts-node@10.9.2) resolve-from: 5.0.0 - rollup: 4.31.0 + rollup: 4.34.1 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 @@ -24444,7 +24504,7 @@ packages: hasBin: true dependencies: esbuild: 0.23.1 - get-tsconfig: 4.9.0 + get-tsconfig: 4.10.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -24629,7 +24689,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 @@ -24640,7 +24700,7 @@ packages: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 @@ -24651,7 +24711,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 is-typed-array: 1.1.15 possible-typed-array-names: 1.0.0 @@ -25198,7 +25258,7 @@ packages: debug: 4.4.0(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.1 - vite: 5.4.13(@types/node@20.14.9) + vite: 5.4.14(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' - less @@ -25211,8 +25271,8 @@ packages: - terser dev: true - /vite@5.4.13(@types/node@20.14.9): - resolution: {integrity: sha512-7zp3N4YSjXOSAFfdBe9pPD3FrO398QlJ/5QpFGm3L8xDP1IxDn1XRxArPw4ZKk5394MM8rcTVPY4y1Hvo62bog==} + /vite@5.4.14(@types/node@20.14.9): + resolution: {integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -25245,7 +25305,7 @@ packages: '@types/node': 20.14.9 esbuild: 0.21.5 postcss: 8.5.1 - rollup: 4.31.0 + rollup: 4.34.1 optionalDependencies: fsevents: 2.3.3 dev: true @@ -25295,7 +25355,7 @@ packages: strip-literal: 2.1.1 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.13(@types/node@20.14.9) + vite: 5.4.14(@types/node@20.14.9) vite-node: 1.6.0(@types/node@20.14.9) why-is-node-running: 2.3.0 transitivePeerDependencies: @@ -25521,7 +25581,7 @@ packages: call-bound: 1.0.3 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.1.0 + is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 is-generator-function: 1.1.0 @@ -25560,7 +25620,7 @@ packages: available-typed-arrays: 1.0.7 call-bind: 1.0.8 call-bound: 1.0.3 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-tostringtag: 1.0.2 @@ -25623,7 +25683,7 @@ packages: /worker-timers-broker@6.1.8: resolution: {integrity: sha512-FUCJu9jlK3A8WqLTKXM9E6kAmI/dR1vAJ8dHYLMisLNB/n3GuaFIjJ7pn16ZcD1zCOf7P6H62lWIEBi+yz/zQQ==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 fast-unique-numbers: 8.0.13 tslib: 2.8.1 worker-timers-worker: 7.0.71 @@ -25632,14 +25692,14 @@ packages: /worker-timers-worker@7.0.71: resolution: {integrity: sha512-ks/5YKwZsto1c2vmljroppOKCivB/ma97g9y77MAAz2TBBjPPgpoOiS1qYQKIgvGTr2QYPT3XhJWIB6Rj2MVPQ==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 tslib: 2.8.1 dev: true /worker-timers@7.1.8: resolution: {integrity: sha512-R54psRKYVLuzff7c1OTFcq/4Hue5Vlz4bFtNEIarpSiCYhpifHU3aIQI29S84o1j87ePCYqbmEJPqwBTf+3sfw==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 tslib: 2.8.1 worker-timers-broker: 6.1.8 worker-timers-worker: 7.0.71