diff --git a/ee/package.json b/ee/package.json index 3636403f4cd2..c894751439c2 100644 --- a/ee/package.json +++ b/ee/package.json @@ -27,7 +27,7 @@ "@langfuse/shared": "workspace:*", "@opentelemetry/api": ">=1.0.0 <1.10.0", "https-proxy-agent": "^7.0.6", - "next": "15.5.4", + "next": "15.5.7", "next-auth": "^4.24.12", "zod": "^3.25.62" }, diff --git a/packages/shared/package.json b/packages/shared/package.json index 75671f6c2edc..31bf96f5395b 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -127,6 +127,6 @@ }, "peerDependencies": { "@types/react": "~19.2.2", - "react": "~19.2.0" + "react": "~19.2.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ede1dadfdea..7e2383e7a283 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,11 +54,11 @@ importers: specifier: ^7.0.6 version: 7.0.6 next: - specifier: 15.5.4 - version: 15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: 15.5.7 + version: 15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) next-auth: specifier: ^4.24.12 - version: 4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(nodemailer@7.0.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(nodemailer@7.0.10)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) zod: specifier: ^3.25.62 version: 3.25.62 @@ -181,10 +181,10 @@ importers: version: 6.17.1(prisma@6.17.1(typescript@5.9.2))(typescript@5.9.2) '@react-email/components': specifier: ^0.5.1 - version: 0.5.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.5.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@react-email/render': specifier: ^1.2.1 - version: 1.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.2.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@slack/oauth': specifier: ^3.0.4 version: 3.0.4 @@ -247,7 +247,7 @@ importers: version: 4.1.1 next-auth: specifier: ^4.24.12 - version: 4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(nodemailer@7.0.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(nodemailer@7.0.10)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) nodemailer: specifier: ^7.0.10 version: 7.0.10 @@ -255,8 +255,8 @@ importers: specifier: ^3.0.0 version: 3.0.0(@prisma/client@6.17.1(prisma@6.17.1(typescript@5.9.2))(typescript@5.9.2)) react: - specifier: ~19.2.0 - version: 19.2.0 + specifier: ~19.2.1 + version: 19.2.1 uuid: specifier: ^9.0.1 version: 9.0.1 @@ -356,31 +356,31 @@ importers: version: 6.8.5 '@dnd-kit/core': specifier: ^6.1.0 - version: 6.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 6.1.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@dnd-kit/modifiers': specifier: ^7.0.0 - version: 7.0.0(@dnd-kit/core@6.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) + version: 7.0.0(@dnd-kit/core@6.1.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react@19.2.1) '@dnd-kit/sortable': specifier: ^8.0.0 - version: 8.0.0(@dnd-kit/core@6.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) + version: 8.0.0(@dnd-kit/core@6.1.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react@19.2.1) '@dnd-kit/utilities': specifier: ^3.2.2 - version: 3.2.2(react@19.2.0) + version: 3.2.2(react@19.2.1) '@ferrucc-io/emoji-picker': specifier: ^0.0.47 - version: 0.0.47(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))) + version: 0.0.47(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))) '@headlessui/react': specifier: 2.2.7 - version: 2.2.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 2.2.7(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@headlessui/tailwindcss': specifier: 0.2.1 version: 0.2.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))) '@heroicons/react': specifier: ^2.1.5 - version: 2.1.5(react@19.2.0) + version: 2.1.5(react@19.2.1) '@hookform/resolvers': specifier: ^5.1.1 - version: 5.1.1(react-hook-form@7.62.0(react@19.2.0)) + version: 5.1.1(react-hook-form@7.62.0(react@19.2.1)) '@langchain/core': specifier: ^0.3.58 version: 0.3.58(openai@4.104.0(zod@3.25.62)) @@ -395,16 +395,16 @@ importers: version: 1.2.1 '@marsidev/react-turnstile': specifier: ^0.5.4 - version: 0.5.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.5.4(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@mui/material': specifier: ^7.3.1 - version: 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@mui/x-tree-view': specifier: ^8.17.0 - version: 8.17.0(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@mui/material@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@mui/system@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 8.17.0(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@mui/material@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(@mui/system@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@next-auth/prisma-adapter': specifier: ^1.0.7 - version: 1.0.7(@prisma/client@6.17.1(prisma@6.17.1(typescript@5.9.2))(typescript@5.9.2))(next-auth@4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(nodemailer@7.0.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) + version: 1.0.7(@prisma/client@6.17.1(prisma@6.17.1(typescript@5.9.2))(typescript@5.9.2))(next-auth@4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(nodemailer@7.0.10)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)) '@opentelemetry/api': specifier: ^1.9.0 version: 1.9.0 @@ -455,79 +455,79 @@ importers: version: 6.17.1(@opentelemetry/api@1.9.0) '@radix-ui/react-accordion': specifier: ^1.2.12 - version: 1.2.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.2.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-alert-dialog': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-avatar': specifier: ^1.1.10 - version: 1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-checkbox': specifier: ^1.3.3 - version: 1.3.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.3.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-collapsible': specifier: ^1.1.12 - version: 1.1.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-dialog': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-dropdown-menu': specifier: ^2.1.16 - version: 2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-hover-card': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-icons': specifier: ^1.3.2 - version: 1.3.2(react@19.2.0) + version: 1.3.2(react@19.2.1) '@radix-ui/react-label': specifier: ^2.1.7 - version: 2.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 2.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-popover': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-progress': specifier: ^1.1.7 - version: 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-radio-group': specifier: ^1.3.8 - version: 1.3.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.3.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-scroll-area': specifier: ^1.2.10 - version: 1.2.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.2.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-select': specifier: ^2.2.6 - version: 2.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 2.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-separator': specifier: ^1.1.7 - version: 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-slider': specifier: ^1.3.6 - version: 1.3.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.3.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-slot': specifier: ^1.2.3 - version: 1.2.3(@types/react@19.2.2)(react@19.2.0) + version: 1.2.3(@types/react@19.2.2)(react@19.2.1) '@radix-ui/react-switch': specifier: ^1.2.6 - version: 1.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-tabs': specifier: ^1.1.13 - version: 1.1.13(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.13(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-toggle': specifier: ^1.1.10 - version: 1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-toggle-group': specifier: ^1.1.11 - version: 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@radix-ui/react-tooltip': specifier: ^1.2.8 - version: 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@remixicon/react': specifier: ^4.2.0 - version: 4.2.0(react@19.2.0) + version: 4.2.0(react@19.2.1) '@sentry/nextjs': specifier: ^10.18.0 - version: 10.18.0(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)(webpack@5.97.1) + version: 10.18.0(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react@19.2.1)(webpack@5.97.1) '@t3-oss/env-nextjs': specifier: ^0.11.1 version: 0.11.1(typescript@5.9.2)(zod@3.25.62) @@ -536,25 +536,25 @@ importers: version: 0.1.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))) '@tanstack/react-query': specifier: ^5.85.1 - version: 5.85.1(react@19.2.0) + version: 5.85.1(react@19.2.1) '@tanstack/react-table': specifier: ^8.20.5 - version: 8.20.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 8.20.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@team-plain/typescript-sdk': specifier: ^5.10.3 version: 5.10.3 '@tremor/react': specifier: 4.0.0-beta-tremor-v4.4 - version: 4.0.0-beta-tremor-v4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))) + version: 4.0.0-beta-tremor-v4.4(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))) '@trpc/client': specifier: ^11.4.4 version: 11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2) '@trpc/next': specifier: ^11.4.4 - version: 11.4.4(@tanstack/react-query@5.85.1(react@19.2.0))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/react-query@11.4.4(@tanstack/react-query@5.85.1(react@19.2.0))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2) + version: 11.4.4(@tanstack/react-query@5.85.1(react@19.2.1))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/react-query@11.4.4(@tanstack/react-query@5.85.1(react@19.2.1))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.9.2) '@trpc/react-query': specifier: ^11.4.4 - version: 11.4.4(@tanstack/react-query@5.85.1(react@19.2.0))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2) + version: 11.4.4(@tanstack/react-query@5.85.1(react@19.2.1))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.9.2) '@trpc/server': specifier: ^11.4.4 version: 11.4.4(typescript@5.9.2) @@ -563,10 +563,10 @@ importers: version: 4.23.7(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1) '@uiw/react-codemirror': specifier: ^4.24.1 - version: 4.24.1(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.17.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1)(@lezer/common@1.3.0))(@codemirror/language@6.11.2)(@codemirror/lint@6.8.5)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.38.1)(codemirror@6.0.1(@lezer/common@1.3.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 4.24.1(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.17.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1)(@lezer/common@1.3.0))(@codemirror/language@6.11.2)(@codemirror/lint@6.8.5)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.38.1)(codemirror@6.0.1(@lezer/common@1.3.0))(react-dom@19.2.1(react@19.2.1))(react@19.2.1) ai: specifier: ^3.4.9 - version: 3.4.9(openai@4.104.0(zod@3.25.62))(react@19.2.0)(solid-js@1.8.18)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.27(typescript@5.9.2))(zod@3.25.62) + version: 3.4.9(openai@4.104.0(zod@3.25.62))(react@19.2.1)(solid-js@1.8.18)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.27(typescript@5.9.2))(zod@3.25.62) bcryptjs: specifier: ^2.4.3 version: 2.4.3 @@ -584,7 +584,7 @@ importers: version: 2.1.1 cmdk: specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.0.4(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) core-js: specifier: ^3.38.1 version: 3.38.1 @@ -641,22 +641,22 @@ importers: version: 4.17.21 lucide-react: specifier: ^0.552.0 - version: 0.552.0(react@19.2.0) + version: 0.552.0(react@19.2.1) nanoid: specifier: ^3.3.8 version: 3.3.11 next: - specifier: 15.5.4 - version: 15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: 15.5.7 + version: 15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) next-auth: specifier: ^4.24.12 - version: 4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(nodemailer@7.0.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(nodemailer@7.0.10)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) next-query-params: specifier: ^5.1.0 - version: 5.1.0(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)(use-query-params@2.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) + version: 5.1.0(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react@19.2.1)(use-query-params@2.2.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)) next-themes: specifier: ^0.4.6 - version: 0.4.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.4.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) posthog-js: specifier: ^1.273.1 version: 1.273.1 @@ -668,7 +668,7 @@ importers: version: 2.2.0 prism-react-renderer: specifier: ^2.4.1 - version: 2.4.1(react@19.2.0) + version: 2.4.1(react@19.2.1) prisma: specifier: ^6.17.1 version: 6.17.1(typescript@5.9.2) @@ -679,41 +679,41 @@ importers: specifier: ^5.0.3 version: 5.0.3 react: - specifier: 19.2.0 - version: 19.2.0 + specifier: 19.2.1 + version: 19.2.1 react-day-picker: specifier: ^9.9.0 - version: 9.9.0(react@19.2.0) + version: 9.9.0(react@19.2.1) react-dom: - specifier: 19.2.0 - version: 19.2.0(react@19.2.0) + specifier: 19.2.1 + version: 19.2.1(react@19.2.1) react-dropzone: specifier: ^14.3.8 - version: 14.3.8(react@19.2.0) + version: 14.3.8(react@19.2.1) react-grid-layout: specifier: ^1.5.2 - version: 1.5.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.5.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) react-hook-form: specifier: ^7.62.0 - version: 7.62.0(react@19.2.0) + version: 7.62.0(react@19.2.1) react-icons: specifier: ^5.5.0 - version: 5.5.0(react@19.2.0) + version: 5.5.0(react@19.2.1) react-markdown: specifier: ^10.1.0 - version: 10.1.0(@types/react@19.2.2)(react@19.2.0) + version: 10.1.0(@types/react@19.2.2)(react@19.2.1) react-resizable-panels: specifier: ^3.0.6 - version: 3.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 3.0.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) react-responsive: specifier: ^10.0.1 - version: 10.0.1(react@19.2.0) + version: 10.0.1(react@19.2.1) react18-json-view: specifier: ^0.2.8-canary.6 - version: 0.2.8-canary.6(react@19.2.0) + version: 0.2.8-canary.6(react@19.2.1) recharts: specifier: ^2.15.2 - version: 2.15.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 2.15.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) remark-gfm: specifier: ^4.0.0 version: 4.0.0 @@ -731,7 +731,7 @@ importers: version: 11.0.0 sonner: specifier: ^2.0.7 - version: 2.0.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 2.0.7(react-dom@19.2.1(react@19.2.1))(react@19.2.1) stripe: specifier: ^18.5.0 version: 18.5.0(@types/node@24.3.0) @@ -749,13 +749,13 @@ importers: version: 11.0.5 use-query-params: specifier: ^2.2.1 - version: 2.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 2.2.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) uuid: specifier: ^9.0.1 version: 9.0.1 vaul: specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 1.1.2(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) vis-network: specifier: ^9.1.9 version: 9.1.9(@egjs/hammerjs@2.0.17)(component-emitter@1.3.1)(keycharm@0.4.0)(uuid@9.0.1)(vis-data@7.1.9(uuid@9.0.1)(vis-util@5.0.7(@egjs/hammerjs@2.0.17)(component-emitter@1.3.1)))(vis-util@5.0.7(@egjs/hammerjs@2.0.17)(component-emitter@1.3.1)) @@ -770,8 +770,8 @@ importers: specifier: ^11.2.0 version: 11.2.0(puppeteer@19.11.1(typescript@5.9.2)) '@next/bundle-analyzer': - specifier: 15.5.4 - version: 15.5.4 + specifier: 15.5.7 + version: 15.5.7 '@playwright/test': specifier: ^1.47.2 version: 1.47.2 @@ -789,7 +789,7 @@ importers: version: 6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@24.3.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)))(vitest@3.2.4(@types/node@24.3.0)) '@testing-library/react': specifier: ^15.0.7 - version: 15.0.7(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 15.0.7(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@types/bcryptjs': specifier: ^2.4.6 version: 2.4.6 @@ -848,8 +848,8 @@ importers: specifier: ^8.56.0 version: 8.57.0 eslint-config-next: - specifier: 15.5.4 - version: 15.5.4(eslint@8.57.0)(typescript@5.9.2) + specifier: 15.5.7 + version: 15.5.7(eslint@8.57.0)(typescript@5.9.2) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@24.3.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) @@ -3341,62 +3341,62 @@ packages: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4 - '@next/bundle-analyzer@15.5.4': - resolution: {integrity: sha512-wMtpIjEHi+B/wC34ZbEcacGIPgQTwTFjjp0+F742s9TxC6QwT0MwB/O0QEgalMe8s3SH/K09DO0gmTvUSJrLRA==} + '@next/bundle-analyzer@15.5.7': + resolution: {integrity: sha512-bKCGI9onUYyLaAQKvJOTeSv1vt3CYtF4Or+CRlCP/1Yu8NR9W4A2kd4qBs2OYFbT+/38fKg8BIPNt7IcMLKZCA==} - '@next/env@15.5.4': - resolution: {integrity: sha512-27SQhYp5QryzIT5uO8hq99C69eLQ7qkzkDPsk3N+GuS2XgOgoYEeOav7Pf8Tn4drECOVDsDg8oj+/DVy8qQL2A==} + '@next/env@15.5.7': + resolution: {integrity: sha512-4h6Y2NyEkIEN7Z8YxkA27pq6zTkS09bUSYC0xjd0NpwFxjnIKeZEeH591o5WECSmjpUhLn3H2QLJcDye3Uzcvg==} '@next/eslint-plugin-next@14.2.15': resolution: {integrity: sha512-pKU0iqKRBlFB/ocOI1Ip2CkKePZpYpnw5bEItEkuZ/Nr9FQP1+p7VDWr4VfOdff4i9bFmrOaeaU1bFEyAcxiMQ==} - '@next/eslint-plugin-next@15.5.4': - resolution: {integrity: sha512-SR1vhXNNg16T4zffhJ4TS7Xn7eq4NfKfcOsRwea7RIAHrjRpI9ALYbamqIJqkAhowLlERffiwk0FMvTLNdnVtw==} + '@next/eslint-plugin-next@15.5.7': + resolution: {integrity: sha512-DtRU2N7BkGr8r+pExfuWHwMEPX5SD57FeA6pxdgCHODo+b/UgIgjE+rgWKtJAbEbGhVZ2jtHn4g3wNhWFoNBQQ==} - '@next/swc-darwin-arm64@15.5.4': - resolution: {integrity: sha512-nopqz+Ov6uvorej8ndRX6HlxCYWCO3AHLfKK2TYvxoSB2scETOcfm/HSS3piPqc3A+MUgyHoqE6je4wnkjfrOA==} + '@next/swc-darwin-arm64@15.5.7': + resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@15.5.4': - resolution: {integrity: sha512-QOTCFq8b09ghfjRJKfb68kU9k2K+2wsC4A67psOiMn849K9ZXgCSRQr0oVHfmKnoqCbEmQWG1f2h1T2vtJJ9mA==} + '@next/swc-darwin-x64@15.5.7': + resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@15.5.4': - resolution: {integrity: sha512-eRD5zkts6jS3VfE/J0Kt1VxdFqTnMc3QgO5lFE5GKN3KDI/uUpSyK3CjQHmfEkYR4wCOl0R0XrsjpxfWEA++XA==} + '@next/swc-linux-arm64-gnu@15.5.7': + resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.5.4': - resolution: {integrity: sha512-TOK7iTxmXFc45UrtKqWdZ1shfxuL4tnVAOuuJK4S88rX3oyVV4ZkLjtMT85wQkfBrOOvU55aLty+MV8xmcJR8A==} + '@next/swc-linux-arm64-musl@15.5.7': + resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@15.5.4': - resolution: {integrity: sha512-7HKolaj+481FSW/5lL0BcTkA4Ueam9SPYWyN/ib/WGAFZf0DGAN8frNpNZYFHtM4ZstrHZS3LY3vrwlIQfsiMA==} + '@next/swc-linux-x64-gnu@15.5.7': + resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.5.4': - resolution: {integrity: sha512-nlQQ6nfgN0nCO/KuyEUwwOdwQIGjOs4WNMjEUtpIQJPR2NUfmGpW2wkJln1d4nJ7oUzd1g4GivH5GoEPBgfsdw==} + '@next/swc-linux-x64-musl@15.5.7': + resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@15.5.4': - resolution: {integrity: sha512-PcR2bN7FlM32XM6eumklmyWLLbu2vs+D7nJX8OAIoWy69Kef8mfiN4e8TUv2KohprwifdpFKPzIP1njuCjD0YA==} + '@next/swc-win32-arm64-msvc@15.5.7': + resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@15.5.4': - resolution: {integrity: sha512-1ur2tSHZj8Px/KMAthmuI9FMp/YFusMMGoRNJaRZMOlSkgvLjzosSdQI0cJAKogdHl3qXUQKL9MGaYvKwA7DXg==} + '@next/swc-win32-x64-msvc@15.5.7': + resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -6710,18 +6710,10 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} - array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} - array-includes@3.1.9: resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} @@ -6730,34 +6722,18 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.findlast@1.2.4: - resolution: {integrity: sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==} - engines: {node: '>= 0.4'} - array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} - array.prototype.findlastindex@1.2.4: - resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} - engines: {node: '>= 0.4'} - array.prototype.findlastindex@1.2.6: resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} engines: {node: '>= 0.4'} - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - array.prototype.flat@1.3.3: resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.3: resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} engines: {node: '>= 0.4'} @@ -6765,17 +6741,10 @@ packages: array.prototype.toreversed@1.1.2: resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} - array.prototype.tosorted@1.1.3: - resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} - array.prototype.tosorted@1.1.4: resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} engines: {node: '>= 0.4'} - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - arraybuffer.prototype.slice@1.0.4: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} @@ -7052,12 +7021,6 @@ packages: caniuse-lite@1.0.30001599: resolution: {integrity: sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==} - caniuse-lite@1.0.30001723: - resolution: {integrity: sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==} - - caniuse-lite@1.0.30001749: - resolution: {integrity: sha512-0rw2fJOmLfnzCRbkm8EyHL8SvI2Apu5UbnQuTsJ0ClgrH8hcwFooJ1s5R0EP8o8aVrFu8++ae29Kt9/gZAZp/Q==} - caniuse-lite@1.0.30001754: resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} @@ -7660,26 +7623,14 @@ packages: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - data-view-byte-length@1.0.2: resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} engines: {node: '>= 0.4'} - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - data-view-byte-offset@1.0.1: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} @@ -8082,10 +8033,6 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - es-abstract@1.24.0: resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} engines: {node: '>= 0.4'} @@ -8102,10 +8049,6 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-iterator-helpers@1.0.18: - resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} - engines: {node: '>= 0.4'} - es-iterator-helpers@1.2.1: resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} engines: {node: '>= 0.4'} @@ -8113,10 +8056,6 @@ packages: es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -8125,17 +8064,10 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - es-shim-unscopables@1.1.0: resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} engines: {node: '>= 0.4'} - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - es-to-primitive@1.3.0: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} @@ -8188,8 +8120,8 @@ packages: typescript: optional: true - eslint-config-next@15.5.4: - resolution: {integrity: sha512-BzgVVuT3kfJes8i2GHenC1SRJ+W3BTML11lAOYFOOPzrk2xp66jBOAGEFRw+3LkYCln5UzvFsLhojrshb5Zfaw==} + eslint-config-next@15.5.7: + resolution: {integrity: sha512-nU/TRGHHeG81NeLW5DeQT5t6BDUqbpsNQTvef1ld/tqHT+/zTx60/TIhKnmPISTTe++DVo+DLxDmk4rnwHaZVw==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 typescript: '>=3.3.1' @@ -8255,27 +8187,6 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-module-utils@2.8.1: - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - eslint-plugin-es-x@7.8.0: resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -8723,9 +8634,6 @@ packages: debug: optional: true - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} @@ -8806,10 +8714,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - function.prototype.name@1.1.8: resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} engines: {node: '>= 0.4'} @@ -8873,10 +8777,6 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -8977,9 +8877,6 @@ packages: resolution: {integrity: sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ==} engines: {node: '>=14'} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -9236,10 +9133,6 @@ packages: '@types/node': optional: true - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} @@ -9281,10 +9174,6 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.5: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} @@ -9299,9 +9188,6 @@ packages: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - is-bigint@1.1.0: resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} @@ -9310,10 +9196,6 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - is-boolean-object@1.2.2: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} @@ -9334,18 +9216,10 @@ packages: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - is-data-view@1.0.2: resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} engines: {node: '>= 0.4'} - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - is-date-object@1.1.0: resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} @@ -9370,9 +9244,6 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - is-finalizationregistry@1.1.1: resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} engines: {node: '>= 0.4'} @@ -9416,10 +9287,6 @@ packages: is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - is-number-object@1.1.1: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} @@ -9456,10 +9323,6 @@ packages: is-reference@3.0.3: resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -9468,10 +9331,6 @@ packages: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.4: resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} engines: {node: '>= 0.4'} @@ -9487,26 +9346,14 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - is-symbol@1.1.1: resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} @@ -9523,9 +9370,6 @@ packages: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakref@1.1.1: resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} engines: {node: '>= 0.4'} @@ -9587,9 +9431,6 @@ packages: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - iterator.prototype@1.1.5: resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} engines: {node: '>= 0.4'} @@ -10776,8 +10617,8 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@15.5.4: - resolution: {integrity: sha512-xH4Yjhb82sFYQfY3vbkJfgSDgXvBB6a8xPs9i35k6oZJRoQRihZH+4s9Yo2qsWpzBmZ3lPXaJ2KPXLfkvW4LnA==} + next@15.5.7: + resolution: {integrity: sha512-+t2/0jIJ48kUpGKkdlhgkv+zPTEOoXyr60qXe68eB/pl3CMJaLeIGjzp5D6Oqt25hCBiBTt8wEeeAzfJvUKnPQ==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: @@ -10953,18 +10794,10 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - object.assign@4.1.7: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} - engines: {node: '>= 0.4'} - object.entries@1.1.9: resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} engines: {node: '>= 0.4'} @@ -10980,10 +10813,6 @@ packages: object.hasown@1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} - object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} - object.values@1.2.1: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} @@ -11772,10 +11601,10 @@ packages: peerDependencies: react: '>=16.8.0' - react-dom@19.2.0: - resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==} + react-dom@19.2.1: + resolution: {integrity: sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==} peerDependencies: - react: ^19.2.0 + react: ^19.2.1 react-draggable@4.5.0: resolution: {integrity: sha512-VC+HBLEZ0XJxnOxVAZsdRi8rD04Iz3SiiKOoYzamjylUcju/hP9np/aZdLHf/7WOD268WMoNJMvYfB5yAK45cw==} @@ -11897,8 +11726,8 @@ packages: peerDependencies: react: '>=16.8.0' - react@19.2.0: - resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} + react@19.2.1: + resolution: {integrity: sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -11968,10 +11797,6 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} - regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -11982,10 +11807,6 @@ packages: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} @@ -12065,11 +11886,6 @@ packages: resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} - hasBin: true - resolve@1.22.11: resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} @@ -12143,10 +11959,6 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - safe-array-concat@1.1.3: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} @@ -12161,10 +11973,6 @@ packages: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - safe-regex-test@1.1.0: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} @@ -12530,9 +12338,6 @@ packages: resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} engines: {node: '>= 0.4'} - string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} - string.prototype.matchall@4.0.12: resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} engines: {node: '>= 0.4'} @@ -12544,13 +12349,6 @@ packages: resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - string.prototype.trimend@1.0.9: resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} engines: {node: '>= 0.4'} @@ -13060,34 +12858,18 @@ packages: resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} engines: {node: '>= 0.6'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.3: resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.4: resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} engines: {node: '>= 0.4'} - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - typed-array-length@1.0.7: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} @@ -13108,9 +12890,6 @@ packages: engines: {node: '>=0.8.0'} hasBin: true - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -13525,17 +13304,10 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} - which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} - which-builtin-type@1.2.1: resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} engines: {node: '>= 0.4'} @@ -13544,10 +13316,6 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - which-typed-array@1.1.19: resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} engines: {node: '>= 0.4'} @@ -13745,13 +13513,13 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/react@0.0.62(react@19.2.0)(zod@3.25.62)': + '@ai-sdk/react@0.0.62(react@19.2.1)(zod@3.25.62)': dependencies: '@ai-sdk/provider-utils': 1.0.20(zod@3.25.62) '@ai-sdk/ui-utils': 0.0.46(zod@3.25.62) - swr: 2.2.5(react@19.2.0) + swr: 2.2.5(react@19.2.1) optionalDependencies: - react: 19.2.0 + react: 19.2.1 zod: 3.25.62 '@ai-sdk/solid@0.0.49(solid-js@1.8.18)(zod@3.25.62)': @@ -14238,7 +14006,7 @@ snapshots: '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -14498,7 +14266,7 @@ snapshots: '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -14514,7 +14282,7 @@ snapshots: '@smithy/types': 3.5.0 '@smithy/util-middleware': 3.0.7 fast-xml-parser: 4.4.1 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/core@3.679.0': dependencies: @@ -14768,7 +14536,7 @@ snapshots: '@smithy/property-provider': 3.1.7 '@smithy/shared-ini-file-loader': 3.1.8 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/client-sts' @@ -15061,7 +14829,7 @@ snapshots: '@aws-sdk/types': 3.667.0 '@smithy/protocol-http': 4.1.4 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/middleware-host-header@3.821.0': dependencies: @@ -15094,7 +14862,7 @@ snapshots: dependencies: '@aws-sdk/types': 3.667.0 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/middleware-logger@3.821.0': dependencies: @@ -15119,7 +14887,7 @@ snapshots: '@aws-sdk/types': 3.667.0 '@smithy/protocol-http': 4.1.4 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/middleware-recursion-detection@3.821.0': dependencies: @@ -15217,7 +14985,7 @@ snapshots: '@smithy/core': 2.4.8 '@smithy/protocol-http': 4.1.4 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/middleware-user-agent@3.825.0': dependencies: @@ -15441,7 +15209,7 @@ snapshots: '@smithy/types': 3.5.0 '@smithy/util-config-provider': 3.0.0 '@smithy/util-middleware': 3.0.7 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/region-config-resolver@3.821.0': dependencies: @@ -15566,7 +15334,7 @@ snapshots: '@aws-sdk/types@3.667.0': dependencies: '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/types@3.679.0': dependencies: @@ -15605,7 +15373,7 @@ snapshots: '@aws-sdk/types': 3.667.0 '@smithy/types': 3.5.0 '@smithy/util-endpoints': 2.1.3 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/util-endpoints@3.821.0': dependencies: @@ -15653,7 +15421,7 @@ snapshots: '@aws-sdk/types': 3.667.0 '@smithy/types': 3.5.0 bowser: 2.11.0 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/util-user-agent-browser@3.821.0': dependencies: @@ -15682,7 +15450,7 @@ snapshots: '@aws-sdk/types': 3.667.0 '@smithy/node-config-provider': 3.1.8 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@aws-sdk/util-user-agent-node@3.825.0': dependencies: @@ -15736,13 +15504,13 @@ snapshots: '@azure/abort-controller@2.1.2': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@azure/core-auth@1.9.0': dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-util': 1.11.0 - tslib: 2.6.3 + tslib: 2.8.1 '@azure/core-client@1.9.2': dependencies: @@ -15752,7 +15520,7 @@ snapshots: '@azure/core-tracing': 1.2.0 '@azure/core-util': 1.11.0 '@azure/logger': 1.1.4 - tslib: 2.6.3 + tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -15769,11 +15537,11 @@ snapshots: '@azure/abort-controller': 2.1.2 '@azure/core-util': 1.11.0 '@azure/logger': 1.1.4 - tslib: 2.6.3 + tslib: 2.8.1 '@azure/core-paging@1.6.2': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@azure/core-rest-pipeline@1.18.0': dependencies: @@ -15784,27 +15552,27 @@ snapshots: '@azure/logger': 1.1.4 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 - tslib: 2.6.3 + tslib: 2.8.1 transitivePeerDependencies: - supports-color '@azure/core-tracing@1.2.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@azure/core-util@1.11.0': dependencies: '@azure/abort-controller': 2.1.2 - tslib: 2.6.3 + tslib: 2.8.1 '@azure/core-xml@1.4.4': dependencies: fast-xml-parser: 4.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@azure/logger@1.1.4': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@azure/storage-blob@12.26.0': dependencies: @@ -15858,7 +15626,7 @@ snapshots: '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 convert-source-map: 2.0.0 - debug: 4.4.1 + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -16128,7 +15896,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - debug: 4.4.1 + debug: 4.4.3 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -16161,14 +15929,14 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@base-ui-components/utils@0.1.2(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@base-ui-components/utils@0.1.2(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@babel/runtime': 7.28.4 '@floating-ui/utils': 0.2.10 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) reselect: 5.1.1 - use-sync-external-store: 1.6.0(react@19.2.0) + use-sync-external-store: 1.6.0(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 @@ -16372,36 +16140,36 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@dnd-kit/accessibility@3.1.0(react@19.2.0)': + '@dnd-kit/accessibility@3.1.0(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 tslib: 2.6.3 - '@dnd-kit/core@6.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@dnd-kit/core@6.1.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@dnd-kit/accessibility': 3.1.0(react@19.2.0) - '@dnd-kit/utilities': 3.2.2(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@dnd-kit/accessibility': 3.1.0(react@19.2.1) + '@dnd-kit/utilities': 3.2.2(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) tslib: 2.6.3 - '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)': + '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.1.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react@19.2.1)': dependencies: - '@dnd-kit/core': 6.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@dnd-kit/utilities': 3.2.2(react@19.2.0) - react: 19.2.0 + '@dnd-kit/core': 6.1.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@dnd-kit/utilities': 3.2.2(react@19.2.1) + react: 19.2.1 tslib: 2.6.3 - '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)': + '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react@19.2.1)': dependencies: - '@dnd-kit/core': 6.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@dnd-kit/utilities': 3.2.2(react@19.2.0) - react: 19.2.0 + '@dnd-kit/core': 6.1.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@dnd-kit/utilities': 3.2.2(react@19.2.1) + react: 19.2.1 tslib: 2.6.3 - '@dnd-kit/utilities@3.2.2(react@19.2.0)': + '@dnd-kit/utilities@3.2.2(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 tslib: 2.6.3 '@egjs/hammerjs@2.0.17': @@ -16447,17 +16215,17 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0)': + '@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1)': dependencies: '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.0) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.1) '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.3.1 hoist-non-react-statics: 3.3.2 - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 transitivePeerDependencies: @@ -16474,16 +16242,16 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)': + '@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1)': dependencies: '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.4.0 - '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.0) + '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.1) '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.0) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.1) '@emotion/utils': 1.4.2 - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 transitivePeerDependencies: @@ -16492,9 +16260,9 @@ snapshots: '@emotion/unitless@0.10.0': {} - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.0)': + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optional: true '@emotion/utils@1.4.2': {} @@ -16617,14 +16385,14 @@ snapshots: '@eslint/js@8.57.0': {} - '@ferrucc-io/emoji-picker@0.0.47(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)))': + '@ferrucc-io/emoji-picker@0.0.47(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)))': dependencies: - '@tanstack/react-virtual': 3.13.12(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@tanstack/react-virtual': 3.13.12(react-dom@19.2.1(react@19.2.1))(react@19.2.1) clsx: 2.1.1 - jotai: 2.15.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react@19.2.0) + jotai: 2.15.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react@19.2.1) node-emoji: 2.2.0 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) tailwind-merge: 2.6.0 tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) unicode-emoji-json: 0.8.0 @@ -16642,48 +16410,48 @@ snapshots: '@floating-ui/core': 1.7.3 '@floating-ui/utils': 0.2.10 - '@floating-ui/react-dom@1.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@floating-ui/react-dom@1.3.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@floating-ui/dom': 1.7.4 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@floating-ui/react-dom@2.1.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@floating-ui/react-dom@2.1.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@floating-ui/dom': 1.7.4 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@floating-ui/react@0.19.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@floating-ui/react@0.19.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@floating-ui/react-dom': 1.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@floating-ui/react-dom': 1.3.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) aria-hidden: 1.2.6 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) tabbable: 6.2.0 - '@floating-ui/react@0.26.24(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@floating-ui/react@0.26.24(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@floating-ui/react-dom': 2.1.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@floating-ui/react-dom': 2.1.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@floating-ui/utils': 0.2.10 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) tabbable: 6.2.0 - '@floating-ui/react@0.26.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@floating-ui/react@0.26.28(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@floating-ui/react-dom': 2.1.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@floating-ui/react-dom': 2.1.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@floating-ui/utils': 0.2.10 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) tabbable: 6.2.0 - '@floating-ui/react@0.27.16(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@floating-ui/react@0.27.16(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@floating-ui/react-dom': 2.1.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@floating-ui/react-dom': 2.1.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@floating-ui/utils': 0.2.10 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) tabbable: 6.2.0 '@floating-ui/utils@0.2.10': {} @@ -16736,34 +16504,34 @@ snapshots: protobufjs: 7.4.0 yargs: 17.7.2 - '@headlessui/react@2.2.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@headlessui/react@2.2.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@floating-ui/react': 0.26.24(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-aria/focus': 3.18.3(react@19.2.0) - '@react-aria/interactions': 3.22.3(react@19.2.0) - '@tanstack/react-virtual': 3.10.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@floating-ui/react': 0.26.24(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-aria/focus': 3.18.3(react@19.2.1) + '@react-aria/interactions': 3.22.3(react@19.2.1) + '@tanstack/react-virtual': 3.10.8(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@headlessui/react@2.2.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@headlessui/react@2.2.7(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@floating-ui/react': 0.26.24(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-aria/focus': 3.21.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-aria/interactions': 3.25.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@tanstack/react-virtual': 3.13.12(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - use-sync-external-store: 1.5.0(react@19.2.0) + '@floating-ui/react': 0.26.24(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-aria/focus': 3.21.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-aria/interactions': 3.25.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@tanstack/react-virtual': 3.13.12(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + use-sync-external-store: 1.5.0(react@19.2.1) - '@headlessui/react@2.2.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@headlessui/react@2.2.9(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@floating-ui/react': 0.26.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@tanstack/react-virtual': 3.13.12(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - use-sync-external-store: 1.6.0(react@19.2.0) + '@floating-ui/react': 0.26.28(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-aria/focus': 3.21.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-aria/interactions': 3.25.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@tanstack/react-virtual': 3.13.12(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + use-sync-external-store: 1.6.0(react@19.2.1) '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)))': dependencies: @@ -16773,14 +16541,14 @@ snapshots: dependencies: tailwindcss: 3.4.18(tsx@4.20.5)(yaml@2.8.1) - '@heroicons/react@2.1.5(react@19.2.0)': + '@heroicons/react@2.1.5(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@hookform/resolvers@5.1.1(react-hook-form@7.62.0(react@19.2.0))': + '@hookform/resolvers@5.1.1(react-hook-form@7.62.0(react@19.2.1))': dependencies: '@standard-schema/utils': 0.3.0 - react-hook-form: 7.62.0(react@19.2.0) + react-hook-form: 7.62.0(react@19.2.1) '@humanwhocodes/config-array@0.11.14': dependencies: @@ -16803,7 +16571,7 @@ snapshots: '@antfu/install-pkg': 0.4.1 '@antfu/utils': 0.7.10 '@iconify/types': 2.0.0 - debug: 4.4.1 + debug: 4.4.3 kolorist: 1.8.0 local-pkg: 0.5.0 mlly: 1.7.1 @@ -17499,10 +17267,10 @@ snapshots: '@marijn/find-cluster-break@1.0.2': {} - '@marsidev/react-turnstile@0.5.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@marsidev/react-turnstile@0.5.4(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) '@mermaid-js/mermaid-cli@11.12.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(puppeteer@19.11.1(typescript@5.9.2))(tsx@4.20.5)(yaml@2.8.1)': dependencies: @@ -17591,37 +17359,37 @@ snapshots: '@mui/core-downloads-tracker@7.3.1': {} - '@mui/material@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@mui/material@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@babel/runtime': 7.28.3 '@mui/core-downloads-tracker': 7.3.1 - '@mui/system': 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0) + '@mui/system': 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1) '@mui/types': 7.4.5(@types/react@19.2.2) - '@mui/utils': 7.3.1(@types/react@19.2.2)(react@19.2.0) + '@mui/utils': 7.3.1(@types/react@19.2.2)(react@19.2.1) '@popperjs/core': 2.11.8 '@types/react-transition-group': 4.4.12(@types/react@19.2.2) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) react-is: 19.1.1 - react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-transition-group: 4.4.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) optionalDependencies: - '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.0) - '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0) + '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.1) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1) '@types/react': 19.2.2 - '@mui/private-theming@7.3.1(@types/react@19.2.2)(react@19.2.0)': + '@mui/private-theming@7.3.1(@types/react@19.2.2)(react@19.2.1)': dependencies: '@babel/runtime': 7.28.3 - '@mui/utils': 7.3.1(@types/react@19.2.2)(react@19.2.0) + '@mui/utils': 7.3.1(@types/react@19.2.2)(react@19.2.1) prop-types: 15.8.1 - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@mui/styled-engine@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(react@19.2.0)': + '@mui/styled-engine@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(react@19.2.1)': dependencies: '@babel/runtime': 7.28.3 '@emotion/cache': 11.14.0 @@ -17629,25 +17397,25 @@ snapshots: '@emotion/sheet': 1.4.0 csstype: 3.1.3 prop-types: 15.8.1 - react: 19.2.0 + react: 19.2.1 optionalDependencies: - '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.0) - '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0) + '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.1) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1) - '@mui/system@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)': + '@mui/system@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1)': dependencies: '@babel/runtime': 7.28.3 - '@mui/private-theming': 7.3.1(@types/react@19.2.2)(react@19.2.0) - '@mui/styled-engine': 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(react@19.2.0) + '@mui/private-theming': 7.3.1(@types/react@19.2.2)(react@19.2.1) + '@mui/styled-engine': 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(react@19.2.1) '@mui/types': 7.4.5(@types/react@19.2.2) - '@mui/utils': 7.3.1(@types/react@19.2.2)(react@19.2.0) + '@mui/utils': 7.3.1(@types/react@19.2.2)(react@19.2.1) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 - react: 19.2.0 + react: 19.2.1 optionalDependencies: - '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.0) - '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0) + '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.1) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1) '@types/react': 19.2.2 '@mui/types@7.4.5(@types/react@19.2.2)': @@ -17662,104 +17430,104 @@ snapshots: optionalDependencies: '@types/react': 19.2.2 - '@mui/utils@7.3.1(@types/react@19.2.2)(react@19.2.0)': + '@mui/utils@7.3.1(@types/react@19.2.2)(react@19.2.1)': dependencies: '@babel/runtime': 7.28.3 '@mui/types': 7.4.5(@types/react@19.2.2) '@types/prop-types': 15.7.15 clsx: 2.1.1 prop-types: 15.8.1 - react: 19.2.0 + react: 19.2.1 react-is: 19.1.1 optionalDependencies: '@types/react': 19.2.2 - '@mui/utils@7.3.5(@types/react@19.2.2)(react@19.2.0)': + '@mui/utils@7.3.5(@types/react@19.2.2)(react@19.2.1)': dependencies: '@babel/runtime': 7.28.4 '@mui/types': 7.4.8(@types/react@19.2.2) '@types/prop-types': 15.7.15 clsx: 2.1.1 prop-types: 15.8.1 - react: 19.2.0 + react: 19.2.1 react-is: 19.2.0 optionalDependencies: '@types/react': 19.2.2 - '@mui/x-internals@8.17.0(@types/react@19.2.2)(react@19.2.0)': + '@mui/x-internals@8.17.0(@types/react@19.2.2)(react@19.2.1)': dependencies: '@babel/runtime': 7.28.4 - '@mui/utils': 7.3.5(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@mui/utils': 7.3.5(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 reselect: 5.1.1 - use-sync-external-store: 1.6.0(react@19.2.0) + use-sync-external-store: 1.6.0(react@19.2.1) transitivePeerDependencies: - '@types/react' - '@mui/x-tree-view@8.17.0(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@mui/material@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@mui/system@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@mui/x-tree-view@8.17.0(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@mui/material@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(@mui/system@7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@babel/runtime': 7.28.4 - '@base-ui-components/utils': 0.1.2(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@mui/material': 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@mui/system': 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0) - '@mui/utils': 7.3.5(@types/react@19.2.2)(react@19.2.0) - '@mui/x-internals': 8.17.0(@types/react@19.2.2)(react@19.2.0) + '@base-ui-components/utils': 0.1.2(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@mui/material': 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@mui/system': 7.3.1(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1) + '@mui/utils': 7.3.5(@types/react@19.2.2)(react@19.2.1) + '@mui/x-internals': 8.17.0(@types/react@19.2.2)(react@19.2.1) '@types/react-transition-group': 4.4.12(@types/react@19.2.2) clsx: 2.1.1 prop-types: 15.8.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + react-transition-group: 4.4.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) optionalDependencies: - '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.0) - '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0) + '@emotion/react': 11.11.4(@types/react@19.2.2)(react@19.2.1) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@19.2.2)(react@19.2.1))(@types/react@19.2.2)(react@19.2.1) transitivePeerDependencies: - '@types/react' - '@next-auth/prisma-adapter@1.0.7(@prisma/client@6.17.1(prisma@6.17.1(typescript@5.9.2))(typescript@5.9.2))(next-auth@4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(nodemailer@7.0.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))': + '@next-auth/prisma-adapter@1.0.7(@prisma/client@6.17.1(prisma@6.17.1(typescript@5.9.2))(typescript@5.9.2))(next-auth@4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(nodemailer@7.0.10)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))': dependencies: '@prisma/client': 6.17.1(prisma@6.17.1(typescript@5.9.2))(typescript@5.9.2) - next-auth: 4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(nodemailer@7.0.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + next-auth: 4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(nodemailer@7.0.10)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@next/bundle-analyzer@15.5.4': + '@next/bundle-analyzer@15.5.7': dependencies: webpack-bundle-analyzer: 4.10.1 transitivePeerDependencies: - bufferutil - utf-8-validate - '@next/env@15.5.4': {} + '@next/env@15.5.7': {} '@next/eslint-plugin-next@14.2.15': dependencies: glob: 10.3.10 - '@next/eslint-plugin-next@15.5.4': + '@next/eslint-plugin-next@15.5.7': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@15.5.4': + '@next/swc-darwin-arm64@15.5.7': optional: true - '@next/swc-darwin-x64@15.5.4': + '@next/swc-darwin-x64@15.5.7': optional: true - '@next/swc-linux-arm64-gnu@15.5.4': + '@next/swc-linux-arm64-gnu@15.5.7': optional: true - '@next/swc-linux-arm64-musl@15.5.4': + '@next/swc-linux-arm64-musl@15.5.7': optional: true - '@next/swc-linux-x64-gnu@15.5.4': + '@next/swc-linux-x64-gnu@15.5.7': optional: true - '@next/swc-linux-x64-musl@15.5.4': + '@next/swc-linux-x64-musl@15.5.7': optional: true - '@next/swc-win32-arm64-msvc@15.5.4': + '@next/swc-win32-arm64-msvc@15.5.7': optional: true - '@next/swc-win32-x64-msvc@15.5.4': + '@next/swc-win32-x64-msvc@15.5.7': optional: true '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': @@ -18607,866 +18375,866 @@ snapshots: '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-compose-refs@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-compose-refs@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-context@1.1.2(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) aria-hidden: 1.2.6 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-direction@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-direction@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-icons@1.3.2(react@19.2.0)': + '@radix-ui/react-icons@1.3.2(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@radix-ui/react-id@1.1.0(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-id@1.1.0(@types/react@19.2.2)(react@19.2.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-id@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-label@2.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-label@2.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) aria-hidden: 1.2.6 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) aria-hidden: 1.2.6 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': - dependencies: - '@floating-ui/react-dom': 2.1.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.0) + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': + dependencies: + '@floating-ui/react-dom': 2.1.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.1) '@radix-ui/rect': 1.1.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-slot': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-slot': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-progress@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-progress@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-radio-group@1.3.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-radio-group@1.3.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) aria-hidden: 1.2.6 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-slider@1.3.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-slider@1.3.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-slot@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-slot@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-slot@1.2.3(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.2)(react@19.2.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.2)(react@19.2.1)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.2)(react@19.2.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 - use-sync-external-store: 1.5.0(react@19.2.0) + react: 19.2.1 + use-sync-external-store: 1.5.0(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: '@radix-ui/rect': 1.1.1 - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-use-size@1.1.1(@types/react@19.2.2)(react@19.2.0)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.2)(react@19.2.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0) - react: 19.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.1) + react: 19.2.1 optionalDependencies: '@types/react': 19.2.2 - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 '@types/react-dom': 19.2.1(@types/react@19.2.2) '@radix-ui/rect@1.1.1': {} - '@react-aria/focus@3.18.3(react@19.2.0)': + '@react-aria/focus@3.18.3(react@19.2.1)': dependencies: - '@react-aria/interactions': 3.22.3(react@19.2.0) - '@react-aria/utils': 3.25.3(react@19.2.0) - '@react-types/shared': 3.25.0(react@19.2.0) + '@react-aria/interactions': 3.22.3(react@19.2.1) + '@react-aria/utils': 3.25.3(react@19.2.1) + '@react-types/shared': 3.25.0(react@19.2.1) '@swc/helpers': 0.5.17 clsx: 2.1.1 - react: 19.2.0 + react: 19.2.1 - '@react-aria/focus@3.21.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@react-aria/focus@3.21.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@react-aria/interactions': 3.25.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-aria/utils': 3.30.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-types/shared': 3.32.0(react@19.2.0) + '@react-aria/interactions': 3.25.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-aria/utils': 3.30.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-types/shared': 3.32.0(react@19.2.1) '@swc/helpers': 0.5.17 clsx: 2.1.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@react-aria/focus@3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@react-aria/focus@3.21.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-types/shared': 3.32.1(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-aria/utils': 3.31.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-types/shared': 3.32.1(react@19.2.1) '@swc/helpers': 0.5.17 clsx: 2.1.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@react-aria/interactions@3.22.3(react@19.2.0)': + '@react-aria/interactions@3.22.3(react@19.2.1)': dependencies: - '@react-aria/ssr': 3.9.6(react@19.2.0) - '@react-aria/utils': 3.25.3(react@19.2.0) - '@react-types/shared': 3.25.0(react@19.2.0) + '@react-aria/ssr': 3.9.6(react@19.2.1) + '@react-aria/utils': 3.25.3(react@19.2.1) + '@react-types/shared': 3.25.0(react@19.2.1) '@swc/helpers': 0.5.17 - react: 19.2.0 + react: 19.2.1 - '@react-aria/interactions@3.25.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@react-aria/interactions@3.25.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@19.2.0) - '@react-aria/utils': 3.30.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.1) + '@react-aria/utils': 3.30.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@react-stately/flags': 3.1.2 - '@react-types/shared': 3.32.0(react@19.2.0) + '@react-types/shared': 3.32.0(react@19.2.1) '@swc/helpers': 0.5.17 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@react-aria/interactions@3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@react-aria/interactions@3.25.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@19.2.0) - '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.1) + '@react-aria/utils': 3.31.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@react-stately/flags': 3.1.2 - '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.1) '@swc/helpers': 0.5.17 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@react-aria/ssr@3.9.10(react@19.2.0)': + '@react-aria/ssr@3.9.10(react@19.2.1)': dependencies: '@swc/helpers': 0.5.17 - react: 19.2.0 + react: 19.2.1 - '@react-aria/ssr@3.9.6(react@19.2.0)': + '@react-aria/ssr@3.9.6(react@19.2.1)': dependencies: '@swc/helpers': 0.5.17 - react: 19.2.0 + react: 19.2.1 - '@react-aria/utils@3.25.3(react@19.2.0)': + '@react-aria/utils@3.25.3(react@19.2.1)': dependencies: - '@react-aria/ssr': 3.9.6(react@19.2.0) - '@react-stately/utils': 3.10.4(react@19.2.0) - '@react-types/shared': 3.25.0(react@19.2.0) + '@react-aria/ssr': 3.9.6(react@19.2.1) + '@react-stately/utils': 3.10.4(react@19.2.1) + '@react-types/shared': 3.25.0(react@19.2.1) '@swc/helpers': 0.5.17 clsx: 2.1.1 - react: 19.2.0 + react: 19.2.1 - '@react-aria/utils@3.30.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@react-aria/utils@3.30.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.1) '@react-stately/flags': 3.1.2 - '@react-stately/utils': 3.10.8(react@19.2.0) - '@react-types/shared': 3.32.0(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.1) + '@react-types/shared': 3.32.0(react@19.2.1) '@swc/helpers': 0.5.17 clsx: 2.1.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@react-aria/utils@3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@react-aria/utils@3.31.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.1) '@react-stately/flags': 3.1.2 - '@react-stately/utils': 3.10.8(react@19.2.0) - '@react-types/shared': 3.32.1(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.1) + '@react-types/shared': 3.32.1(react@19.2.1) '@swc/helpers': 0.5.17 clsx: 2.1.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@react-email/body@0.1.0(react@19.2.0)': + '@react-email/body@0.1.0(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/button@0.2.0(react@19.2.0)': + '@react-email/button@0.2.0(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/code-block@0.1.0(react@19.2.0)': + '@react-email/code-block@0.1.0(react@19.2.1)': dependencies: prismjs: 1.30.0 - react: 19.2.0 - - '@react-email/code-inline@0.0.5(react@19.2.0)': - dependencies: - react: 19.2.0 - - '@react-email/column@0.0.13(react@19.2.0)': - dependencies: - react: 19.2.0 - - '@react-email/components@0.5.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': - dependencies: - '@react-email/body': 0.1.0(react@19.2.0) - '@react-email/button': 0.2.0(react@19.2.0) - '@react-email/code-block': 0.1.0(react@19.2.0) - '@react-email/code-inline': 0.0.5(react@19.2.0) - '@react-email/column': 0.0.13(react@19.2.0) - '@react-email/container': 0.0.15(react@19.2.0) - '@react-email/font': 0.0.9(react@19.2.0) - '@react-email/head': 0.0.12(react@19.2.0) - '@react-email/heading': 0.0.15(react@19.2.0) - '@react-email/hr': 0.0.11(react@19.2.0) - '@react-email/html': 0.0.11(react@19.2.0) - '@react-email/img': 0.0.11(react@19.2.0) - '@react-email/link': 0.0.12(react@19.2.0) - '@react-email/markdown': 0.0.15(react@19.2.0) - '@react-email/preview': 0.0.13(react@19.2.0) - '@react-email/render': 1.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@react-email/row': 0.0.12(react@19.2.0) - '@react-email/section': 0.0.16(react@19.2.0) - '@react-email/tailwind': 1.2.2(react@19.2.0) - '@react-email/text': 0.1.5(react@19.2.0) - react: 19.2.0 + react: 19.2.1 + + '@react-email/code-inline@0.0.5(react@19.2.1)': + dependencies: + react: 19.2.1 + + '@react-email/column@0.0.13(react@19.2.1)': + dependencies: + react: 19.2.1 + + '@react-email/components@0.5.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': + dependencies: + '@react-email/body': 0.1.0(react@19.2.1) + '@react-email/button': 0.2.0(react@19.2.1) + '@react-email/code-block': 0.1.0(react@19.2.1) + '@react-email/code-inline': 0.0.5(react@19.2.1) + '@react-email/column': 0.0.13(react@19.2.1) + '@react-email/container': 0.0.15(react@19.2.1) + '@react-email/font': 0.0.9(react@19.2.1) + '@react-email/head': 0.0.12(react@19.2.1) + '@react-email/heading': 0.0.15(react@19.2.1) + '@react-email/hr': 0.0.11(react@19.2.1) + '@react-email/html': 0.0.11(react@19.2.1) + '@react-email/img': 0.0.11(react@19.2.1) + '@react-email/link': 0.0.12(react@19.2.1) + '@react-email/markdown': 0.0.15(react@19.2.1) + '@react-email/preview': 0.0.13(react@19.2.1) + '@react-email/render': 1.2.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@react-email/row': 0.0.12(react@19.2.1) + '@react-email/section': 0.0.16(react@19.2.1) + '@react-email/tailwind': 1.2.2(react@19.2.1) + '@react-email/text': 0.1.5(react@19.2.1) + react: 19.2.1 transitivePeerDependencies: - react-dom - '@react-email/container@0.0.15(react@19.2.0)': + '@react-email/container@0.0.15(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/font@0.0.9(react@19.2.0)': + '@react-email/font@0.0.9(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/head@0.0.12(react@19.2.0)': + '@react-email/head@0.0.12(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/heading@0.0.15(react@19.2.0)': + '@react-email/heading@0.0.15(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/hr@0.0.11(react@19.2.0)': + '@react-email/hr@0.0.11(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/html@0.0.11(react@19.2.0)': + '@react-email/html@0.0.11(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/img@0.0.11(react@19.2.0)': + '@react-email/img@0.0.11(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/link@0.0.12(react@19.2.0)': + '@react-email/link@0.0.12(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/markdown@0.0.15(react@19.2.0)': + '@react-email/markdown@0.0.15(react@19.2.1)': dependencies: - md-to-react-email: 5.0.5(react@19.2.0) - react: 19.2.0 + md-to-react-email: 5.0.5(react@19.2.1) + react: 19.2.1 - '@react-email/preview@0.0.13(react@19.2.0)': + '@react-email/preview@0.0.13(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/render@1.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@react-email/render@1.2.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: html-to-text: 9.0.5 prettier: 3.6.2 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) react-promise-suspense: 0.3.4 - '@react-email/row@0.0.12(react@19.2.0)': + '@react-email/row@0.0.12(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/section@0.0.16(react@19.2.0)': + '@react-email/section@0.0.16(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/tailwind@1.2.2(react@19.2.0)': + '@react-email/tailwind@1.2.2(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-email/text@0.1.5(react@19.2.0)': + '@react-email/text@0.1.5(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 '@react-stately/flags@3.1.2': dependencies: '@swc/helpers': 0.5.17 - '@react-stately/utils@3.10.4(react@19.2.0)': + '@react-stately/utils@3.10.4(react@19.2.1)': dependencies: '@swc/helpers': 0.5.17 - react: 19.2.0 + react: 19.2.1 - '@react-stately/utils@3.10.8(react@19.2.0)': + '@react-stately/utils@3.10.8(react@19.2.1)': dependencies: '@swc/helpers': 0.5.17 - react: 19.2.0 + react: 19.2.1 - '@react-types/shared@3.25.0(react@19.2.0)': + '@react-types/shared@3.25.0(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-types/shared@3.32.0(react@19.2.0)': + '@react-types/shared@3.32.0(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 - '@react-types/shared@3.32.1(react@19.2.0)': + '@react-types/shared@3.32.1(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 '@release-it/bumper@7.0.5(release-it@19.0.4(@types/node@24.10.0))': dependencies: @@ -19480,9 +19248,9 @@ snapshots: release-it: 19.0.4(@types/node@24.10.0) semver: 7.7.2 - '@remixicon/react@4.2.0(react@19.2.0)': + '@remixicon/react@4.2.0(react@19.2.1)': dependencies: - react: 19.2.0 + react: 19.2.1 '@rollup/plugin-commonjs@28.0.1(rollup@4.52.4)': dependencies: @@ -19669,7 +19437,7 @@ snapshots: '@sentry/core@10.18.0': {} - '@sentry/nextjs@10.18.0(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)(webpack@5.97.1)': + '@sentry/nextjs@10.18.0(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react@19.2.1)(webpack@5.97.1)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.37.0 @@ -19679,11 +19447,11 @@ snapshots: '@sentry/core': 10.18.0 '@sentry/node': 10.18.0 '@sentry/opentelemetry': 10.18.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.1.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) - '@sentry/react': 10.18.0(react@19.2.0) + '@sentry/react': 10.18.0(react@19.2.1) '@sentry/vercel-edge': 10.18.0 '@sentry/webpack-plugin': 4.3.0(webpack@5.97.1) chalk: 3.0.0 - next: 15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + next: 15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) resolve: 1.22.8 rollup: 4.52.4 stacktrace-parser: 0.1.11 @@ -19770,12 +19538,12 @@ snapshots: '@opentelemetry/semantic-conventions': 1.37.0 '@sentry/core': 10.18.0 - '@sentry/react@10.18.0(react@19.2.0)': + '@sentry/react@10.18.0(react@19.2.1)': dependencies: '@sentry/browser': 10.18.0 '@sentry/core': 10.18.0 hoist-non-react-statics: 3.3.2 - react: 19.2.0 + react: 19.2.1 '@sentry/vercel-edge@10.18.0': dependencies: @@ -19863,7 +19631,7 @@ snapshots: '@smithy/types': 3.5.0 '@smithy/util-config-provider': 3.0.0 '@smithy/util-middleware': 3.0.7 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/config-resolver@4.3.3': dependencies: @@ -19893,7 +19661,7 @@ snapshots: '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-middleware': 3.0.7 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/core@3.17.0': dependencies: @@ -20033,7 +19801,7 @@ snapshots: '@smithy/querystring-builder': 3.0.7 '@smithy/types': 3.5.0 '@smithy/util-base64': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/fetch-http-handler@5.3.4': dependencies: @@ -20055,7 +19823,7 @@ snapshots: '@smithy/types': 3.5.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/hash-node@4.2.3': dependencies: @@ -20073,7 +19841,7 @@ snapshots: '@smithy/invalid-dependency@3.0.7': dependencies: '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/invalid-dependency@4.2.3': dependencies: @@ -20108,13 +19876,13 @@ snapshots: '@smithy/util-middleware': 3.0.7 '@smithy/util-utf8': 3.0.0 fflate: 0.8.1 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/middleware-content-length@3.0.9': dependencies: '@smithy/protocol-http': 4.1.4 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/middleware-content-length@4.2.3': dependencies: @@ -20130,7 +19898,7 @@ snapshots: '@smithy/types': 3.5.0 '@smithy/url-parser': 3.0.7 '@smithy/util-middleware': 3.0.7 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/middleware-endpoint@4.3.4': dependencies: @@ -20163,7 +19931,7 @@ snapshots: '@smithy/types': 3.5.0 '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 - tslib: 2.6.3 + tslib: 2.8.1 uuid: 9.0.1 '@smithy/middleware-retry@4.4.4': @@ -20193,7 +19961,7 @@ snapshots: '@smithy/middleware-serde@3.0.7': dependencies: '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/middleware-serde@4.2.3': dependencies: @@ -20204,7 +19972,7 @@ snapshots: '@smithy/middleware-stack@3.0.7': dependencies: '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/middleware-stack@4.2.3': dependencies: @@ -20216,7 +19984,7 @@ snapshots: '@smithy/property-provider': 3.1.7 '@smithy/shared-ini-file-loader': 3.1.8 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/node-config-provider@4.3.3': dependencies: @@ -20231,7 +19999,7 @@ snapshots: '@smithy/protocol-http': 4.1.4 '@smithy/querystring-builder': 3.0.7 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/node-http-handler@4.4.2': dependencies: @@ -20262,7 +20030,7 @@ snapshots: '@smithy/protocol-http@4.1.4': dependencies: '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/protocol-http@5.3.3': dependencies: @@ -20338,7 +20106,7 @@ snapshots: '@smithy/protocol-http': 4.1.4 '@smithy/types': 3.5.0 '@smithy/util-stream': 3.1.9 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/smithy-client@4.9.0': dependencies: @@ -20362,7 +20130,7 @@ snapshots: '@smithy/types@3.5.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/types@4.3.1': dependencies: @@ -20376,7 +20144,7 @@ snapshots: dependencies: '@smithy/querystring-parser': 3.0.7 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/url-parser@4.2.3': dependencies: @@ -20388,7 +20156,7 @@ snapshots: dependencies: '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-base64@4.3.0': dependencies: @@ -20398,7 +20166,7 @@ snapshots: '@smithy/util-body-length-browser@3.0.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-body-length-browser@4.2.0': dependencies: @@ -20406,7 +20174,7 @@ snapshots: '@smithy/util-body-length-node@3.0.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-body-length-node@4.2.1': dependencies: @@ -20441,7 +20209,7 @@ snapshots: '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 bowser: 2.11.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-defaults-mode-browser@4.3.3': dependencies: @@ -20465,7 +20233,7 @@ snapshots: '@smithy/property-provider': 3.1.7 '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-defaults-mode-node@4.2.4': dependencies: @@ -20491,7 +20259,7 @@ snapshots: dependencies: '@smithy/node-config-provider': 3.1.8 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-endpoints@3.2.3': dependencies: @@ -20510,7 +20278,7 @@ snapshots: '@smithy/util-middleware@3.0.7': dependencies: '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-middleware@4.2.3': dependencies: @@ -20521,7 +20289,7 @@ snapshots: dependencies: '@smithy/service-error-classification': 3.0.7 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-retry@4.2.3': dependencies: @@ -20578,7 +20346,7 @@ snapshots: '@smithy/util-utf8@3.0.0': dependencies: '@smithy/util-buffer-from': 3.0.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/util-utf8@4.2.0': dependencies: @@ -20589,7 +20357,7 @@ snapshots: dependencies: '@smithy/abort-controller': 3.1.5 '@smithy/types': 3.5.0 - tslib: 2.6.3 + tslib: 2.8.1 '@smithy/uuid@1.1.0': dependencies: @@ -20631,28 +20399,28 @@ snapshots: '@tanstack/query-core@5.85.1': {} - '@tanstack/react-query@5.85.1(react@19.2.0)': + '@tanstack/react-query@5.85.1(react@19.2.1)': dependencies: '@tanstack/query-core': 5.85.1 - react: 19.2.0 + react: 19.2.1 - '@tanstack/react-table@8.20.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@tanstack/react-table@8.20.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@tanstack/table-core': 8.20.5 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@tanstack/react-virtual@3.10.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@tanstack/react-virtual@3.10.8(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@tanstack/virtual-core': 3.10.8 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - '@tanstack/react-virtual@3.13.12(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@tanstack/react-virtual@3.13.12(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@tanstack/virtual-core': 3.13.12 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) '@tanstack/table-core@8.20.5': {} @@ -20696,13 +20464,13 @@ snapshots: jest: 29.7.0(@types/node@24.3.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)) vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(jiti@2.6.1)(jsdom@20.0.3)(msw@2.6.5(@types/node@24.3.0)(typescript@5.9.2))(terser@5.44.1)(tsx@4.20.5)(yaml@2.8.1) - '@testing-library/react@15.0.7(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@testing-library/react@15.0.7(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@babel/runtime': 7.24.5 '@testing-library/dom': 10.0.0 '@types/react-dom': 18.2.25 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 @@ -20710,15 +20478,15 @@ snapshots: '@tootallnate/quickjs-emscripten@0.23.0': {} - '@tremor/react@4.0.0-beta-tremor-v4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)))': + '@tremor/react@4.0.0-beta-tremor-v4.4(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2)))': dependencies: - '@floating-ui/react': 0.19.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@headlessui/react': 2.2.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@floating-ui/react': 0.19.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@headlessui/react': 2.2.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) date-fns: 3.6.0 - react: 19.2.0 - react-day-picker: 8.10.1(date-fns@3.6.0)(react@19.2.0) - react-dom: 19.2.0(react@19.2.0) - recharts: 2.15.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.1 + react-day-picker: 8.10.1(date-fns@3.6.0)(react@19.2.1) + react-dom: 19.2.1(react@19.2.1) + recharts: 2.15.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) tailwind-merge: 2.6.0 tailwind-variants: 0.3.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.3.0)(typescript@5.9.2))) transitivePeerDependencies: @@ -20729,25 +20497,25 @@ snapshots: '@trpc/server': 11.4.4(typescript@5.9.2) typescript: 5.9.2 - '@trpc/next@11.4.4(@tanstack/react-query@5.85.1(react@19.2.0))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/react-query@11.4.4(@tanstack/react-query@5.85.1(react@19.2.0))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2)': + '@trpc/next@11.4.4(@tanstack/react-query@5.85.1(react@19.2.1))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/react-query@11.4.4(@tanstack/react-query@5.85.1(react@19.2.1))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.9.2)': dependencies: '@trpc/client': 11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2) '@trpc/server': 11.4.4(typescript@5.9.2) - next: 15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + next: 15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) typescript: 5.9.2 optionalDependencies: - '@tanstack/react-query': 5.85.1(react@19.2.0) - '@trpc/react-query': 11.4.4(@tanstack/react-query@5.85.1(react@19.2.0))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2) + '@tanstack/react-query': 5.85.1(react@19.2.1) + '@trpc/react-query': 11.4.4(@tanstack/react-query@5.85.1(react@19.2.1))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.9.2) - '@trpc/react-query@11.4.4(@tanstack/react-query@5.85.1(react@19.2.0))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2)': + '@trpc/react-query@11.4.4(@tanstack/react-query@5.85.1(react@19.2.1))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.4.4(typescript@5.9.2))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.9.2)': dependencies: - '@tanstack/react-query': 5.85.1(react@19.2.0) + '@tanstack/react-query': 5.85.1(react@19.2.1) '@trpc/client': 11.4.4(@trpc/server@11.4.4(typescript@5.9.2))(typescript@5.9.2) '@trpc/server': 11.4.4(typescript@5.9.2) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) typescript: 5.9.2 '@trpc/server@11.4.4(typescript@5.9.2)': @@ -21398,7 +21166,7 @@ snapshots: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.2) eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color - typescript @@ -21467,7 +21235,7 @@ snapshots: '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.1 - '@uiw/react-codemirror@4.24.1(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.17.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1)(@lezer/common@1.3.0))(@codemirror/language@6.11.2)(@codemirror/lint@6.8.5)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.38.1)(codemirror@6.0.1(@lezer/common@1.3.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@uiw/react-codemirror@4.24.1(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.17.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1)(@lezer/common@1.3.0))(@codemirror/language@6.11.2)(@codemirror/lint@6.8.5)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.38.1)(codemirror@6.0.1(@lezer/common@1.3.0))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': dependencies: '@babel/runtime': 7.28.4 '@codemirror/commands': 6.8.1 @@ -21476,8 +21244,8 @@ snapshots: '@codemirror/view': 6.38.1 '@uiw/codemirror-extensions-basic-setup': 4.24.1(@codemirror/autocomplete@6.17.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1)(@lezer/common@1.3.0))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.2)(@codemirror/lint@6.8.5)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1) codemirror: 6.0.1(@lezer/common@1.3.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) transitivePeerDependencies: - '@codemirror/autocomplete' - '@codemirror/language' @@ -21709,8 +21477,8 @@ snapshots: '@zenuml/core@3.41.6(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(tsx@4.20.5)(yaml@2.8.1)': dependencies: - '@floating-ui/react': 0.27.16(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@headlessui/react': 2.2.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@floating-ui/react': 0.27.16(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@headlessui/react': 2.2.9(react-dom@19.2.1(react@19.2.1))(react@19.2.1) '@headlessui/tailwindcss': 0.2.2(tailwindcss@3.4.18(tsx@4.20.5)(yaml@2.8.1)) antlr4: 4.11.0 class-variance-authority: 0.7.1 @@ -21720,15 +21488,15 @@ snapshots: highlight.js: 10.7.3 html-to-image: 1.11.13 immer: 10.1.3 - jotai: 2.15.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react@19.2.0) + jotai: 2.15.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react@19.2.1) lodash: 4.17.21 marked: 4.3.0 pako: 2.1.0 pino: 8.21.0 radash: 12.1.1 ramda: 0.28.0 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) tailwind-merge: 3.3.1 tailwindcss: 3.4.18(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: @@ -21804,11 +21572,11 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@3.4.9(openai@4.104.0(zod@3.25.62))(react@19.2.0)(solid-js@1.8.18)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.27(typescript@5.9.2))(zod@3.25.62): + ai@3.4.9(openai@4.104.0(zod@3.25.62))(react@19.2.1)(solid-js@1.8.18)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.27(typescript@5.9.2))(zod@3.25.62): dependencies: '@ai-sdk/provider': 0.0.24 '@ai-sdk/provider-utils': 1.0.20(zod@3.25.62) - '@ai-sdk/react': 0.0.62(react@19.2.0)(zod@3.25.62) + '@ai-sdk/react': 0.0.62(react@19.2.1)(zod@3.25.62) '@ai-sdk/solid': 0.0.49(solid-js@1.8.18)(zod@3.25.62) '@ai-sdk/svelte': 0.0.51(svelte@4.2.19)(zod@3.25.62) '@ai-sdk/ui-utils': 0.0.46(zod@3.25.62) @@ -21822,7 +21590,7 @@ snapshots: zod-to-json-schema: 3.23.2(zod@3.25.62) optionalDependencies: openai: 4.104.0(zod@3.25.62) - react: 19.2.0 + react: 19.2.1 sswr: 2.1.0(svelte@4.2.19) svelte: 4.2.19 zod: 3.25.62 @@ -21946,24 +21714,11 @@ snapshots: aria-query@5.3.2: {} - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 is-array-buffer: 3.0.5 - array-includes@3.1.7: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - array-includes@3.1.9: dependencies: call-bind: 1.0.8 @@ -21977,14 +21732,6 @@ snapshots: array-union@2.1.0: {} - array.prototype.findlast@1.2.4: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-shim-unscopables: 1.0.2 - array.prototype.findlast@1.2.5: dependencies: call-bind: 1.0.8 @@ -21994,14 +21741,6 @@ snapshots: es-object-atoms: 1.1.1 es-shim-unscopables: 1.1.0 - array.prototype.findlastindex@1.2.4: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-shim-unscopables: 1.0.2 - array.prototype.findlastindex@1.2.6: dependencies: call-bind: 1.0.8 @@ -22012,13 +21751,6 @@ snapshots: es-object-atoms: 1.1.1 es-shim-unscopables: 1.1.0 - array.prototype.flat@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - array.prototype.flat@1.3.3: dependencies: call-bind: 1.0.8 @@ -22026,13 +21758,6 @@ snapshots: es-abstract: 1.24.0 es-shim-unscopables: 1.1.0 - array.prototype.flatmap@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - array.prototype.flatmap@1.3.3: dependencies: call-bind: 1.0.8 @@ -22042,18 +21767,10 @@ snapshots: array.prototype.toreversed@1.1.2: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - - array.prototype.tosorted@1.1.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-shim-unscopables: 1.0.2 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 array.prototype.tosorted@1.1.4: dependencies: @@ -22063,17 +21780,6 @@ snapshots: es-errors: 1.3.0 es-shim-unscopables: 1.1.0 - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - arraybuffer.prototype.slice@1.0.4: dependencies: array-buffer-byte-length: 1.0.2 @@ -22266,21 +21972,21 @@ snapshots: browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001723 + caniuse-lite: 1.0.30001754 electron-to-chromium: 1.4.710 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) browserslist@4.24.0: dependencies: - caniuse-lite: 1.0.30001749 + caniuse-lite: 1.0.30001754 electron-to-chromium: 1.5.33 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.0) browserslist@4.25.0: dependencies: - caniuse-lite: 1.0.30001749 + caniuse-lite: 1.0.30001754 electron-to-chromium: 1.5.167 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.0) @@ -22288,7 +21994,7 @@ snapshots: browserslist@4.26.3: dependencies: baseline-browser-mapping: 2.8.14 - caniuse-lite: 1.0.30001749 + caniuse-lite: 1.0.30001754 electron-to-chromium: 1.5.233 node-releases: 2.0.23 update-browserslist-db: 1.1.3(browserslist@4.26.3) @@ -22404,10 +22110,6 @@ snapshots: caniuse-lite@1.0.30001599: {} - caniuse-lite@1.0.30001723: {} - - caniuse-lite@1.0.30001749: {} - caniuse-lite@1.0.30001754: {} ccount@2.0.1: {} @@ -22597,14 +22299,14 @@ snapshots: cluster-key-slot@1.1.2: {} - cmdk@1.0.4(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + cmdk@1.0.4(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@19.2.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - use-sync-external-store: 1.4.0(react@19.2.0) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@19.2.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + use-sync-external-store: 1.4.0(react@19.2.1) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -23093,36 +22795,18 @@ snapshots: whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - data-view-byte-length@1.0.2: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - data-view-byte-offset@1.0.1: dependencies: call-bound: 1.0.4 @@ -23481,55 +23165,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.3.0 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.4 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - es-abstract@1.24.0: dependencies: array-buffer-byte-length: 1.0.2 @@ -23595,23 +23230,6 @@ snapshots: es-errors@1.3.0: {} - es-iterator-helpers@1.0.18: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-set-tostringtag: 2.1.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - iterator.prototype: 1.1.2 - safe-array-concat: 1.1.2 - es-iterator-helpers@1.2.1: dependencies: call-bind: 1.0.8 @@ -23633,10 +23251,6 @@ snapshots: es-module-lexer@1.7.0: {} - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -23648,20 +23262,10 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - es-shim-unscopables@1.1.0: dependencies: hasown: 2.0.2 - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 @@ -23741,9 +23345,9 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-config-next@15.5.4(eslint@8.57.0)(typescript@5.9.2): + eslint-config-next@15.5.7(eslint@8.57.0)(typescript@5.9.2): dependencies: - '@next/eslint-plugin-next': 15.5.4 + '@next/eslint-plugin-next': 15.5.7 '@rushstack/eslint-patch': 1.12.0 '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint@8.57.0)(typescript@5.9.2) '@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.9.2) @@ -23791,14 +23395,14 @@ snapshots: eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: - debug: 4.4.1 + debug: 4.4.3 enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.3 get-tsconfig: 4.10.1 - is-core-module: 2.15.1 + is-core-module: 2.16.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -23808,14 +23412,14 @@ snapshots: eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.0): dependencies: - debug: 4.4.1 + debug: 4.4.3 enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.3 get-tsconfig: 4.10.1 - is-core-module: 2.15.1 + is-core-module: 2.16.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -23825,14 +23429,14 @@ snapshots: eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: - debug: 4.4.1 + debug: 4.4.3 enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.3 get-tsconfig: 4.10.1 - is-core-module: 2.15.1 + is-core-module: 2.16.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -23840,18 +23444,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.0))(eslint@8.57.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.9.2) - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.0) - transitivePeerDependencies: - - supports-color - - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: @@ -23862,7 +23455,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: @@ -23873,7 +23466,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: @@ -23899,22 +23492,22 @@ snapshots: eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.4 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.9.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 - is-core-module: 2.15.1 + is-core-module: 2.16.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 object.groupby: 1.0.3 - object.values: 1.2.0 + object.values: 1.2.1 semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: @@ -23987,20 +23580,20 @@ snapshots: dependencies: '@babel/runtime': 7.28.3 aria-query: 5.3.2 - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 + array-includes: 3.1.9 + array.prototype.flatmap: 1.3.3 ast-types-flow: 0.0.8 axe-core: 4.7.0 axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.18 + es-iterator-helpers: 1.2.1 eslint: 8.57.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 - object.entries: 1.1.8 + object.entries: 1.1.9 object.fromentries: 2.0.8 eslint-plugin-n@16.6.2(eslint@8.57.0): @@ -24051,25 +23644,25 @@ snapshots: eslint-plugin-react@7.34.1(eslint@8.57.0): dependencies: - array-includes: 3.1.7 - array.prototype.findlast: 1.2.4 - array.prototype.flatmap: 1.3.2 + array-includes: 3.1.9 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.3 array.prototype.toreversed: 1.1.2 - array.prototype.tosorted: 1.1.3 + array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.0.18 + es-iterator-helpers: 1.2.1 eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.8 + object.entries: 1.1.9 object.fromentries: 2.0.8 object.hasown: 1.1.3 - object.values: 1.2.0 + object.values: 1.2.1 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.10 + string.prototype.matchall: 4.0.12 eslint-plugin-react@7.37.5(eslint@8.57.0): dependencies: @@ -24129,7 +23722,7 @@ snapshots: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.7.2 + semver: 7.7.3 strip-indent: 3.0.0 transitivePeerDependencies: - supports-color @@ -24492,10 +24085,6 @@ snapshots: follow-redirects@1.15.11: {} - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - for-each@0.3.5: dependencies: is-callable: 1.2.7 @@ -24574,13 +24163,6 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 - function.prototype.name@1.1.8: dependencies: call-bind: 1.0.8 @@ -24658,12 +24240,6 @@ snapshots: get-stream@8.0.1: {} - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -24682,7 +24258,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -24780,7 +24356,7 @@ snapshots: globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.0.1 + gopd: 1.2.0 globby@11.1.0: dependencies: @@ -24813,10 +24389,6 @@ snapshots: google-logging-utils@0.0.2: {} - gopd@1.0.1: - dependencies: - get-intrinsic: 1.3.0 - gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -24977,7 +24549,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -25106,12 +24678,6 @@ snapshots: optionalDependencies: '@types/node': 24.10.0 - internal-slot@1.0.7: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 - internal-slot@1.1.0: dependencies: es-errors: 1.3.0 @@ -25156,11 +24722,6 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.3.0 - is-array-buffer@3.0.5: dependencies: call-bind: 1.0.8 @@ -25175,10 +24736,6 @@ snapshots: dependencies: has-tostringtag: 1.0.2 - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 - is-bigint@1.1.0: dependencies: has-bigints: 1.0.2 @@ -25187,11 +24744,6 @@ snapshots: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-boolean-object@1.2.2: dependencies: call-bound: 1.0.4 @@ -25211,20 +24763,12 @@ snapshots: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - is-data-view@1.0.2: dependencies: call-bound: 1.0.4 get-intrinsic: 1.3.0 is-typed-array: 1.1.15 - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - is-date-object@1.1.0: dependencies: call-bound: 1.0.4 @@ -25240,10 +24784,6 @@ snapshots: is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: - dependencies: - call-bind: 1.0.7 - is-finalizationregistry@1.1.1: dependencies: call-bound: 1.0.4 @@ -25274,10 +24814,6 @@ snapshots: is-node-process@1.2.0: {} - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-number-object@1.1.1: dependencies: call-bound: 1.0.4 @@ -25305,11 +24841,6 @@ snapshots: dependencies: '@types/estree': 1.0.8 - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -25319,10 +24850,6 @@ snapshots: is-set@2.0.3: {} - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - is-shared-array-buffer@1.0.4: dependencies: call-bound: 1.0.4 @@ -25335,29 +24862,17 @@ snapshots: is-stream@3.0.0: {} - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-string@1.1.1: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-symbol@1.0.4: - dependencies: - has-symbols: 1.1.0 - is-symbol@1.1.1: dependencies: call-bound: 1.0.4 has-symbols: 1.1.0 safe-regex-test: 1.1.0 - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.19 @@ -25368,17 +24883,13 @@ snapshots: is-weakmap@2.0.2: {} - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - is-weakref@1.1.1: dependencies: call-bound: 1.0.4 is-weakset@2.0.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 get-intrinsic: 1.3.0 is-what@4.1.16: {} @@ -25437,7 +24948,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.1 + debug: 4.4.3 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -25448,14 +24959,6 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - iterator.prototype@1.1.2: - dependencies: - define-properties: 1.2.1 - get-intrinsic: 1.3.0 - has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.6 - set-function-name: 2.0.2 - iterator.prototype@1.1.5: dependencies: define-data-property: 1.1.4 @@ -25722,7 +25225,7 @@ snapshots: jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.10 + resolve: 1.22.11 resolve.exports: 2.0.2 slash: 3.0.0 @@ -25800,7 +25303,7 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color @@ -25879,12 +25382,12 @@ snapshots: jose@4.15.9: {} - jotai@2.15.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react@19.2.0): + jotai@2.15.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@types/react@19.2.2)(react@19.2.1): optionalDependencies: '@babel/core': 7.28.4 '@babel/template': 7.27.2 '@types/react': 19.2.2 - react: 19.2.0 + react: 19.2.1 js-tiktoken@1.0.15: dependencies: @@ -26023,10 +25526,10 @@ snapshots: jsx-ast-utils@3.3.5: dependencies: - array-includes: 3.1.7 - array.prototype.flat: 1.3.2 - object.assign: 4.1.5 - object.values: 1.2.0 + array-includes: 3.1.9 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 jwa@1.4.2: dependencies: @@ -26379,9 +25882,9 @@ snapshots: lru-cache@7.18.3: {} - lucide-react@0.552.0(react@19.2.0): + lucide-react@0.552.0(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 luxon@3.4.4: {} @@ -26437,10 +25940,10 @@ snapshots: math-intrinsics@1.1.0: {} - md-to-react-email@5.0.5(react@19.2.0): + md-to-react-email@5.0.5(react@19.2.1): dependencies: marked: 7.0.4 - react: 19.2.0 + react: 19.2.1 mdast-util-find-and-replace@3.0.1: dependencies: @@ -27186,53 +26689,53 @@ snapshots: dependencies: type-fest: 2.19.0 - next-auth@4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(nodemailer@7.0.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + next-auth@4.24.12(patch_hash=x447yy4qrylml2g7vrfko5ivki)(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(nodemailer@7.0.10)(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: '@babel/runtime': 7.28.4 '@panva/hkdf': 1.2.1 cookie: 0.7.2 jose: 4.15.9 - next: 15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + next: 15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) oauth: 0.9.15 openid-client: 5.7.1 preact: 10.27.2 preact-render-to-string: 5.2.6(preact@10.27.2) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) uuid: 8.3.2 optionalDependencies: nodemailer: 7.0.10 - next-query-params@5.1.0(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)(use-query-params@2.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)): + next-query-params@5.1.0(next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(react@19.2.1)(use-query-params@2.2.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)): dependencies: - next: 15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 + next: 15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 tslib: 2.8.1 - use-query-params: 2.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + use-query-params: 2.2.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - next-themes@0.4.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + next-themes@0.4.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + next@15.5.7(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: - '@next/env': 15.5.4 + '@next/env': 15.5.7 '@swc/helpers': 0.5.15 - caniuse-lite: 1.0.30001749 + caniuse-lite: 1.0.30001754 postcss: 8.4.31 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - styled-jsx: 5.1.6(@babel/core@7.28.4)(babel-plugin-macros@3.1.0)(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + styled-jsx: 5.1.6(@babel/core@7.28.4)(babel-plugin-macros@3.1.0)(react@19.2.1) optionalDependencies: - '@next/swc-darwin-arm64': 15.5.4 - '@next/swc-darwin-x64': 15.5.4 - '@next/swc-linux-arm64-gnu': 15.5.4 - '@next/swc-linux-arm64-musl': 15.5.4 - '@next/swc-linux-x64-gnu': 15.5.4 - '@next/swc-linux-x64-musl': 15.5.4 - '@next/swc-win32-arm64-msvc': 15.5.4 - '@next/swc-win32-x64-msvc': 15.5.4 + '@next/swc-darwin-arm64': 15.5.7 + '@next/swc-darwin-x64': 15.5.7 + '@next/swc-linux-arm64-gnu': 15.5.7 + '@next/swc-linux-arm64-musl': 15.5.7 + '@next/swc-linux-x64-gnu': 15.5.7 + '@next/swc-linux-x64-musl': 15.5.7 + '@next/swc-win32-arm64-msvc': 15.5.7 + '@next/swc-win32-x64-msvc': 15.5.7 '@opentelemetry/api': 1.9.0 '@playwright/test': 1.47.2 sharp: 0.34.3 @@ -27310,7 +26813,7 @@ snapshots: normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.10 + resolve: 1.22.11 semver: 5.7.2 validate-npm-package-license: 3.0.4 @@ -27367,13 +26870,6 @@ snapshots: object-keys@1.1.1: {} - object.assign@4.1.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - object.assign@4.1.7: dependencies: call-bind: 1.0.8 @@ -27383,12 +26879,6 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 - object.entries@1.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - object.entries@1.1.9: dependencies: call-bind: 1.0.8 @@ -27398,27 +26888,21 @@ snapshots: object.fromentries@2.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 object.groupby@1.0.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.0 object.hasown@1.1.3: dependencies: define-properties: 1.2.1 - es-abstract: 1.23.3 - - object.values@1.2.0: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-abstract: 1.24.0 object.values@1.2.1: dependencies: @@ -27604,7 +27088,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -28000,11 +27484,11 @@ snapshots: prexit@2.2.0: {} - prism-react-renderer@2.4.1(react@19.2.0): + prism-react-renderer@2.4.1(react@19.2.1): dependencies: '@types/prismjs': 1.26.5 clsx: 2.1.1 - react: 19.2.0 + react: 19.2.1 prisma-erd-generator@2.1.0(@babel/core@7.28.4)(@babel/template@7.27.2)(@prisma/client@6.17.1(prisma@6.17.1(typescript@5.9.2))(typescript@5.9.2))(@types/react@19.2.2)(puppeteer@19.11.1(typescript@5.9.2))(tsx@4.20.5)(yaml@2.8.1): dependencies: @@ -28108,7 +27592,7 @@ snapshots: proxy-agent@6.5.0: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -28213,55 +27697,55 @@ snapshots: defu: 6.1.4 destr: 2.0.5 - react-day-picker@8.10.1(date-fns@3.6.0)(react@19.2.0): + react-day-picker@8.10.1(date-fns@3.6.0)(react@19.2.1): dependencies: date-fns: 3.6.0 - react: 19.2.0 + react: 19.2.1 - react-day-picker@9.9.0(react@19.2.0): + react-day-picker@9.9.0(react@19.2.1): dependencies: '@date-fns/tz': 1.4.1 date-fns: 4.1.0 date-fns-jalali: 4.1.0-0 - react: 19.2.0 + react: 19.2.1 - react-dom@19.2.0(react@19.2.0): + react-dom@19.2.1(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 scheduler: 0.27.0 - react-draggable@4.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-draggable@4.5.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: clsx: 2.1.1 prop-types: 15.8.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - react-dropzone@14.3.8(react@19.2.0): + react-dropzone@14.3.8(react@19.2.1): dependencies: attr-accept: 2.2.5 file-selector: 2.1.2 prop-types: 15.8.1 - react: 19.2.0 + react: 19.2.1 - react-grid-layout@1.5.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-grid-layout@1.5.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: clsx: 2.1.1 fast-equals: 4.0.3 prop-types: 15.8.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-draggable: 4.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react-resizable: 3.0.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + react-draggable: 4.5.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react-resizable: 3.0.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) resize-observer-polyfill: 1.5.1 - react-hook-form@7.62.0(react@19.2.0): + react-hook-form@7.62.0(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 - react-icons@5.5.0(react@19.2.0): + react-icons@5.5.0(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 react-is@16.13.1: {} @@ -28275,7 +27759,7 @@ snapshots: react-is@19.2.0: {} - react-markdown@10.1.0(@types/react@19.2.2)(react@19.2.0): + react-markdown@10.1.0(@types/react@19.2.2)(react@19.2.1): dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -28284,7 +27768,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 html-url-attributes: 3.0.1 mdast-util-to-hast: 13.2.0 - react: 19.2.0 + react: 19.2.1 remark-parse: 11.0.0 remark-rehype: 11.1.1 unified: 11.0.5 @@ -28297,76 +27781,76 @@ snapshots: dependencies: fast-deep-equal: 2.0.1 - react-remove-scroll-bar@2.3.8(@types/react@19.2.2)(react@19.2.0): + react-remove-scroll-bar@2.3.8(@types/react@19.2.2)(react@19.2.1): dependencies: - react: 19.2.0 - react-style-singleton: 2.2.3(@types/react@19.2.2)(react@19.2.0) + react: 19.2.1 + react-style-singleton: 2.2.3(@types/react@19.2.2)(react@19.2.1) tslib: 2.8.1 optionalDependencies: '@types/react': 19.2.2 - react-remove-scroll@2.7.1(@types/react@19.2.2)(react@19.2.0): + react-remove-scroll@2.7.1(@types/react@19.2.2)(react@19.2.1): dependencies: - react: 19.2.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.2)(react@19.2.0) - react-style-singleton: 2.2.3(@types/react@19.2.2)(react@19.2.0) + react: 19.2.1 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.2)(react@19.2.1) + react-style-singleton: 2.2.3(@types/react@19.2.2)(react@19.2.1) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.2)(react@19.2.0) - use-sidecar: 1.1.3(@types/react@19.2.2)(react@19.2.0) + use-callback-ref: 1.3.3(@types/react@19.2.2)(react@19.2.1) + use-sidecar: 1.1.3(@types/react@19.2.2)(react@19.2.1) optionalDependencies: '@types/react': 19.2.2 - react-resizable-panels@3.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-resizable-panels@3.0.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - react-resizable@3.0.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-resizable@3.0.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: prop-types: 15.8.1 - react: 19.2.0 - react-draggable: 4.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.1 + react-draggable: 4.5.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1) transitivePeerDependencies: - react-dom - react-responsive@10.0.1(react@19.2.0): + react-responsive@10.0.1(react@19.2.1): dependencies: hyphenate-style-name: 1.1.0 matchmediaquery: 0.4.2 prop-types: 15.8.1 - react: 19.2.0 + react: 19.2.1 shallow-equal: 3.1.0 - react-smooth@4.0.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-smooth@4.0.4(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: fast-equals: 5.2.2 prop-types: 15.8.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) + react-transition-group: 4.4.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - react-style-singleton@2.2.3(@types/react@19.2.2)(react@19.2.0): + react-style-singleton@2.2.3(@types/react@19.2.2)(react@19.2.1): dependencies: get-nonce: 1.0.1 - react: 19.2.0 + react: 19.2.1 tslib: 2.8.1 optionalDependencies: '@types/react': 19.2.2 - react-transition-group@4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-transition-group@4.4.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: '@babel/runtime': 7.28.4 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) - react18-json-view@0.2.8-canary.6(react@19.2.0): + react18-json-view@0.2.8-canary.6(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 - react@19.2.0: {} + react@19.2.1: {} read-cache@1.0.0: dependencies: @@ -28425,22 +27909,22 @@ snapshots: dependencies: decimal.js-light: 2.5.1 - recharts@2.15.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + recharts@2.15.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: clsx: 2.1.1 eventemitter3: 4.0.7 lodash: 4.17.21 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) react-is: 18.3.1 - react-smooth: 4.0.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-smooth: 4.0.4(react-dom@19.2.1(react@19.2.1))(react@19.2.1) recharts-scale: 0.4.5 tiny-invariant: 1.3.3 victory-vendor: 36.9.2 rechoir@0.6.2: dependencies: - resolve: 1.22.10 + resolve: 1.22.11 redent@3.0.0: dependencies: @@ -28464,29 +27948,12 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 - reflect.getprototypeof@1.0.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - globalthis: 1.0.4 - which-builtin-type: 1.1.3 - regenerator-runtime@0.14.1: {} regexp-to-ast@0.5.0: {} regexp-tree@0.1.27: {} - regexp.prototype.flags@1.5.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 @@ -28591,7 +28058,7 @@ snapshots: dependencies: debug: 4.4.3 module-details-from-path: 1.0.4 - resolve: 1.22.8 + resolve: 1.22.11 transitivePeerDependencies: - supports-color @@ -28618,12 +28085,6 @@ snapshots: is-core-module: 2.16.1 path-parse: 1.0.7 - resolve@1.22.10: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - resolve@1.22.11: dependencies: is-core-module: 2.16.1 @@ -28644,7 +28105,7 @@ snapshots: resolve@2.0.0-next.5: dependencies: - is-core-module: 2.15.1 + is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -28733,13 +28194,6 @@ snapshots: dependencies: tslib: 2.8.1 - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.3.0 - has-symbols: 1.0.3 - isarray: 2.0.5 - safe-array-concat@1.1.3: dependencies: call-bind: 1.0.8 @@ -28757,12 +28211,6 @@ snapshots: es-errors: 1.3.0 isarray: 2.0.5 - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - safe-regex-test@1.1.0: dependencies: call-bound: 1.0.4 @@ -29007,7 +28455,7 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -29028,10 +28476,10 @@ snapshots: dependencies: atomic-sleep: 1.0.0 - sonner@2.0.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + sonner@2.0.7(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) sort-object-keys@1.1.3: {} @@ -29170,18 +28618,6 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.24.0 - string.prototype.matchall@4.0.10: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.2 - set-function-name: 2.0.2 - side-channel: 1.1.0 - string.prototype.matchall@4.0.12: dependencies: call-bind: 1.0.8 @@ -29213,19 +28649,6 @@ snapshots: es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.1.1 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - string.prototype.trimend@1.0.9: dependencies: call-bind: 1.0.8 @@ -29235,7 +28658,7 @@ snapshots: string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.1.1 @@ -29307,10 +28730,10 @@ snapshots: dependencies: inline-style-parser: 0.2.4 - styled-jsx@5.1.6(@babel/core@7.28.4)(babel-plugin-macros@3.1.0)(react@19.2.0): + styled-jsx@5.1.6(@babel/core@7.28.4)(babel-plugin-macros@3.1.0)(react@19.2.1): dependencies: client-only: 0.0.1 - react: 19.2.0 + react: 19.2.1 optionalDependencies: '@babel/core': 7.28.4 babel-plugin-macros: 3.1.0 @@ -29371,11 +28794,11 @@ snapshots: magic-string: 0.30.21 periscopic: 3.1.0 - swr@2.2.5(react@19.2.0): + swr@2.2.5(react@19.2.1): dependencies: client-only: 0.0.1 - react: 19.2.0 - use-sync-external-store: 1.5.0(react@19.2.0) + react: 19.2.1 + use-sync-external-store: 1.5.0(react@19.2.1) swrev@4.0.0: {} @@ -29463,7 +28886,7 @@ snapshots: postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(tsx@4.20.5)(yaml@2.8.1) postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser: 6.1.2 - resolve: 1.22.10 + resolve: 1.22.11 sucrase: 3.35.0 transitivePeerDependencies: - tsx @@ -29747,26 +29170,12 @@ snapshots: media-typer: 1.1.0 mime-types: 3.0.1 - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-typed-array: 1.1.15 - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - typed-array-byte-length@1.0.3: dependencies: call-bind: 1.0.8 @@ -29775,15 +29184,6 @@ snapshots: has-proto: 1.2.0 is-typed-array: 1.1.15 - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - typed-array-byte-offset@1.0.4: dependencies: available-typed-arrays: 1.0.7 @@ -29794,15 +29194,6 @@ snapshots: is-typed-array: 1.1.15 reflect.getprototypeof: 1.0.10 - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - typed-array-length@1.0.7: dependencies: call-bind: 1.0.8 @@ -29821,13 +29212,6 @@ snapshots: uglify-js@3.18.0: optional: true - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.1.0 - which-boxed-primitive: 1.0.2 - unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -29953,38 +29337,38 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-callback-ref@1.3.3(@types/react@19.2.2)(react@19.2.0): + use-callback-ref@1.3.3(@types/react@19.2.2)(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 tslib: 2.8.1 optionalDependencies: '@types/react': 19.2.2 - use-query-params@2.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + use-query-params@2.2.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) serialize-query-params: 2.0.2 - use-sidecar@1.1.3(@types/react@19.2.2)(react@19.2.0): + use-sidecar@1.1.3(@types/react@19.2.2)(react@19.2.1): dependencies: detect-node-es: 1.1.0 - react: 19.2.0 + react: 19.2.1 tslib: 2.8.1 optionalDependencies: '@types/react': 19.2.2 - use-sync-external-store@1.4.0(react@19.2.0): + use-sync-external-store@1.4.0(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 - use-sync-external-store@1.5.0(react@19.2.0): + use-sync-external-store@1.5.0(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 - use-sync-external-store@1.6.0(react@19.2.0): + use-sync-external-store@1.6.0(react@19.2.1): dependencies: - react: 19.2.0 + react: 19.2.1 util-deprecate@1.0.2: {} @@ -30013,11 +29397,11 @@ snapshots: vary@1.1.2: {} - vaul@1.1.2(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + vaul@1.1.2(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + react: 19.2.1 + react-dom: 19.2.1(react@19.2.1) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -30082,7 +29466,7 @@ snapshots: vite-node@3.2.4(@types/node@24.10.0): dependencies: cac: 6.7.14 - debug: 4.4.1 + debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 vite: 7.0.5(@types/node@24.10.0) @@ -30104,7 +29488,7 @@ snapshots: vite-node@3.2.4(@types/node@24.3.0)(jiti@2.6.1)(terser@5.44.1)(tsx@4.20.5)(yaml@2.8.1): dependencies: cac: 6.7.14 - debug: 4.4.1 + debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 vite: 7.0.5(@types/node@24.3.0)(jiti@2.6.1)(terser@5.44.1)(tsx@4.20.5)(yaml@2.8.1) @@ -30363,14 +29747,6 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 @@ -30379,21 +29755,6 @@ snapshots: is-string: 1.1.1 is-symbol: 1.1.1 - which-builtin-type@1.1.3: - dependencies: - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 - isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - which-builtin-type@1.2.1: dependencies: call-bound: 1.0.4 @@ -30417,14 +29778,6 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.3 - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - which-typed-array@1.1.19: dependencies: available-typed-arrays: 1.0.7 diff --git a/web/package.json b/web/package.json index ace188627fe1..520e1064ef6f 100644 --- a/web/package.json +++ b/web/package.json @@ -126,7 +126,7 @@ "lodash": "^4.17.21", "lucide-react": "^0.552.0", "nanoid": "^3.3.8", - "next": "15.5.4", + "next": "16.1.5", "next-auth": "^4.24.12", "next-query-params": "^5.1.0", "next-themes": "^0.4.6", @@ -137,9 +137,9 @@ "prisma": "^6.17.1", "protobufjs": "^7.4.0", "rate-limiter-flexible": "^5.0.3", - "react": "19.2.0", + "react": "19.2.1", "react-day-picker": "^9.9.0", - "react-dom": "19.2.0", + "react-dom": "19.2.1", "react-dropzone": "^14.3.8", "react-grid-layout": "^1.5.2", "react-hook-form": "^7.62.0", @@ -169,7 +169,7 @@ "devDependencies": { "@jedmao/location": "^3.0.0", "@mermaid-js/mermaid-cli": "^11.2.0", - "@next/bundle-analyzer": "15.5.4", + "@next/bundle-analyzer": "15.5.7", "@playwright/test": "^1.47.2", "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", @@ -195,7 +195,7 @@ "cross-env": "^7.0.3", "dotenv-cli": "^7.4.2", "eslint": "^8.56.0", - "eslint-config-next": "15.5.4", + "eslint-config-next": "15.5.7", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "node-mocks-http": "^1.14.1", diff --git a/web/src/components/layouts/routes.tsx b/web/src/components/layouts/routes.tsx index d152c094df70..769b93dd27b5 100644 --- a/web/src/components/layouts/routes.tsx +++ b/web/src/components/layouts/routes.tsx @@ -88,6 +88,12 @@ export const ROUTES: Route[] = [ icon: Home, section: RouteSection.Main, }, + { + title: "Session Analytics v2", + pathname: `/project/[projectId]/juspay-dashboard`, + icon: LayoutDashboard, + section: RouteSection.Main, + }, { title: "Dashboards", pathname: `/project/[projectId]/dashboards`, diff --git a/web/src/pages/project/[projectId]/juspay-dashboard.tsx b/web/src/pages/project/[projectId]/juspay-dashboard.tsx new file mode 100644 index 000000000000..a21fd034d629 --- /dev/null +++ b/web/src/pages/project/[projectId]/juspay-dashboard.tsx @@ -0,0 +1,4087 @@ +import React, { useState } from "react"; +import { useRouter } from "next/router"; +import Page from "@/src/components/layouts/page"; +import { api } from "@/src/utils/api"; +import { Card } from "@/src/components/ui/card"; +import { Badge } from "@/src/components/ui/badge"; +import { Input } from "@/src/components/ui/input"; +import { ScrollArea } from "@/src/components/ui/scroll-area"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/src/components/ui/select"; +import { + User, + Search, + Filter, + CheckCircle2, + XCircle, + Clock, + Calendar, + GripVertical, + Menu, + X, + BarChart3, +} from "lucide-react"; +import { cn } from "@/src/utils/tailwind"; +import { Skeleton } from "@/src/components/ui/skeleton"; +import { Button } from "@/src/components/ui/button"; +import { + Collapsible, + CollapsibleContent, + CollapsibleTrigger, +} from "@/src/components/ui/collapsible"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/src/components/ui/popover"; +import { + Dialog, + DialogContent, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "@/src/components/ui/dialog"; +import { + Table, + TableBody, + TableCell, + TableHead, + TableHeader, + TableRow, +} from "@/src/components/ui/table"; +import { Calendar as CalendarComponent } from "@/src/components/ui/calendar"; +import { MarkdownJsonView } from "@/src/components/ui/MarkdownJsonView"; +import { PrettyJsonView } from "@/src/components/ui/PrettyJsonView"; +import { toast } from "sonner"; +import { useTableDateRange } from "@/src/hooks/useTableDateRange"; +import { toAbsoluteTimeRange } from "@/src/utils/date-range-utils"; + +export default function JuspayDashboard() { + const router = useRouter(); + const projectId = router.query.projectId as string; + + React.useEffect(() => { + console.log("🚀 PRODUCTION DEBUG - JuspayDashboard loaded:", { + timestamp: new Date().toISOString(), + environment: process.env.NODE_ENV, + userAgent: + typeof window !== "undefined" ? window.navigator.userAgent : "SSR", + url: typeof window !== "undefined" ? window.location.href : "SSR", + }); + }, []); + + // Use the same date range approach as traces page for consistency + const { timeRange, setTimeRange } = useTableDateRange(projectId, { + defaultRelativeAggregation: "last1Day", + }); + + // Ensure URL is updated with default date range on first visit (for sharing) + React.useEffect(() => { + if (router.isReady && typeof window !== "undefined") { + const params = new URLSearchParams(window.location.search); + + // If no dateRange parameter exists in URL, ensure it gets set + if (!params.has("dateRange")) { + // The hook should handle this, but let's ensure it happens + // by triggering a setTimeRange with the current timeRange + if (timeRange) { + setTimeRange(timeRange); + } + } + } + }, [router.isReady, timeRange, setTimeRange]); + + // Convert timeRange to absolute date range for compatibility + const tableDateRange = React.useMemo(() => { + return toAbsoluteTimeRange(timeRange); + }, [timeRange]); + + // Use tableDateRange as our dateRange with proper fallback + const dateRange = React.useMemo(() => { + if (tableDateRange) { + return tableDateRange; + } + // Create fallback date range + const today = new Date(); + return { + from: new Date( + today.getFullYear(), + today.getMonth(), + today.getDate(), + 0, + 0, + 0, + 0, + ), + to: new Date( + today.getFullYear(), + today.getMonth(), + today.getDate(), + 23, + 59, + 59, + 999, + ), + }; + }, [tableDateRange]); + + // Filter persistence using localStorage (same approach as before but simpler) + const filterStorageKey = `juspay-dashboard-filters-${projectId}`; + + // Get other URL parameters (not date range - that's handled by useTableDateRange) + const sessionIdFromUrl = router.query.sessionId as string | undefined; + const merchantFilterUrl = router.query.merchantOnly as string | undefined; + const teamFilterUrl = router.query.teamOnly as string | undefined; + const juspayOthersFilterUrl = router.query.juspayOthersOnly as + | string + | undefined; + const tagFilterUrl = router.query.tag as string | undefined; + const correctFilterUrl = router.query.correct as string | undefined; + const incorrectFilterUrl = router.query.incorrect as string | undefined; + const hideUnknownUrl = router.query.hideUnknown as string | undefined; + const teamEmailsFromUrl = router.query.teamEmails as string | undefined; + + // Check if URL has any filter parameters (shared link) + const hasUrlFilters = !!( + merchantFilterUrl || + teamFilterUrl || + juspayOthersFilterUrl || + tagFilterUrl || + correctFilterUrl || + incorrectFilterUrl || + hideUnknownUrl || + teamEmailsFromUrl + ); + + // Load filters from localStorage + const loadFiltersFromStorage = () => { + if (typeof window === "undefined") return null; + try { + const stored = localStorage.getItem(filterStorageKey); + return stored ? JSON.parse(stored) : null; + } catch { + return null; + } + }; + + // Save filters to localStorage + const saveFiltersToStorage = React.useCallback( + (filters: any) => { + if (typeof window === "undefined") return; + try { + localStorage.setItem(filterStorageKey, JSON.stringify(filters)); + } catch (error) { + console.error("Failed to save filters:", error); + } + }, + [filterStorageKey], + ); + + // Update URL for sharing (but don't trigger navigation) + const updateUrlForSharing = React.useCallback((filters: any) => { + if (typeof window === "undefined") return; + + const params = new URLSearchParams(window.location.search); + + // Add filter parameters (dateRange is handled by useTableDateRange) + if (filters.showOnlyMerchant) { + params.set("merchantOnly", "true"); + } else { + params.delete("merchantOnly"); + } + + if (filters.showOnlyTeam) { + params.set("teamOnly", "true"); + } else { + params.delete("teamOnly"); + } + + if (filters.showOnlyJuspayOthers) { + params.set("juspayOthersOnly", "true"); + } else { + params.delete("juspayOthersOnly"); + } + + if (filters.selectedTag && filters.selectedTag !== "all") { + params.set("tag", filters.selectedTag); + } else { + params.delete("tag"); + } + + if (filters.filterCorrect) { + params.set("correct", "true"); + } else { + params.delete("correct"); + } + + if (filters.filterIncorrect) { + params.set("incorrect", "true"); + } else { + params.delete("incorrect"); + } + + if (!filters.hideUnknownUser) { + params.set("hideUnknown", "false"); + } else { + params.delete("hideUnknown"); + } + + // Add team emails to URL for sharing + if (filters.teamEmails && filters.teamEmails.length > 0) { + params.set( + "teamEmails", + encodeURIComponent(JSON.stringify(filters.teamEmails)), + ); + } else { + params.delete("teamEmails"); + } + + // Update URL without navigation + const newUrl = `${window.location.pathname}?${params.toString()}`; + window.history.replaceState({}, "", newUrl); + console.log("🔗 URL updated for sharing:", newUrl); + }, []); + + const [selectedSessionId, setSelectedSessionId] = useState( + sessionIdFromUrl || null, + ); + const [searchQuery, setSearchQuery] = useState(""); + const [selectedToolCall, setSelectedToolCall] = useState(null); + const [showFilters, setShowFilters] = useState(false); + const [showAdvancedFilters, setShowAdvancedFilters] = useState(false); + + const [showOnlyMerchant, setShowOnlyMerchant] = useState(() => { + if (hasUrlFilters && merchantFilterUrl !== undefined) + return merchantFilterUrl === "true"; + const stored = loadFiltersFromStorage(); + return stored?.showOnlyMerchant ?? false; + }); + + const [showOnlyTeam, setShowOnlyTeam] = useState(() => { + if (hasUrlFilters && teamFilterUrl !== undefined) + return teamFilterUrl === "true"; + const stored = loadFiltersFromStorage(); + return stored?.showOnlyTeam ?? false; + }); + + const [showOnlyJuspayOthers, setShowOnlyJuspayOthers] = useState(() => { + if (hasUrlFilters && juspayOthersFilterUrl !== undefined) + return juspayOthersFilterUrl === "true"; + const stored = loadFiltersFromStorage(); + return stored?.showOnlyJuspayOthers ?? false; + }); + + const [selectedTag, setSelectedTag] = useState(() => { + if (hasUrlFilters && tagFilterUrl !== undefined) return tagFilterUrl; + const stored = loadFiltersFromStorage(); + return stored?.selectedTag ?? "all"; + }); + + const [filterCorrect, setFilterCorrect] = useState(() => { + if (hasUrlFilters && correctFilterUrl !== undefined) + return correctFilterUrl === "true"; + const stored = loadFiltersFromStorage(); + return stored?.filterCorrect ?? false; + }); + + const [filterIncorrect, setFilterIncorrect] = useState(() => { + if (hasUrlFilters && incorrectFilterUrl !== undefined) + return incorrectFilterUrl === "true"; + const stored = loadFiltersFromStorage(); + return stored?.filterIncorrect ?? false; + }); + + const [hideUnknownUser, setHideUnknownUser] = useState(() => { + if (hasUrlFilters && hideUnknownUrl !== undefined) + return hideUnknownUrl !== "false"; + const stored = loadFiltersFromStorage(); + return stored?.hideUnknownUser ?? true; + }); + + // Team whitelist state + const [teamEmails, setTeamEmails] = useState(() => { + // If URL has team emails, use those (for shared links) + if (hasUrlFilters && teamEmailsFromUrl !== undefined) { + try { + return JSON.parse(decodeURIComponent(teamEmailsFromUrl)); + } catch { + return []; + } + } + // Otherwise use localStorage + const stored = loadFiltersFromStorage(); + return stored?.teamEmails ?? []; + }); + const [newEmailInput, setNewEmailInput] = useState(""); + + // Fetch traces for all sessions within date range with pagination + const [allTraces, setAllTraces] = React.useState([]); + const [currentPage, setCurrentPage] = React.useState(0); + const [hasMoreTraces, setHasMoreTraces] = React.useState(true); + + const allSessionsTraces = api.traces.all.useQuery( + { + projectId, + filter: [ + { + column: "timestamp", + type: "datetime", + operator: ">=", + value: dateRange.from, + }, + { + column: "timestamp", + type: "datetime", + operator: "<=", + value: dateRange.to, + }, + ], + searchQuery: null, + searchType: [], + page: currentPage, + limit: 99, + orderBy: { column: "timestamp", order: "DESC" }, + }, + { + enabled: !!projectId && hasMoreTraces, + }, + ); + + // Accumulate traces from pagination + React.useEffect(() => { + if (allSessionsTraces.data?.traces) { + const newTraces = allSessionsTraces.data.traces; + if (currentPage === 0) { + setAllTraces(newTraces); + } else { + setAllTraces((prev) => [...prev, ...newTraces]); + } + + if (newTraces.length < 99) { + setHasMoreTraces(false); + } + } + }, [allSessionsTraces.data?.traces, currentPage]); + + // Auto-load more traces when there are more available + React.useEffect(() => { + if ( + hasMoreTraces && + !allSessionsTraces.isLoading && + allSessionsTraces.data?.traces + ) { + setCurrentPage((prev) => prev + 1); + } + }, [ + hasMoreTraces, + allSessionsTraces.isLoading, + allSessionsTraces.data?.traces, + ]); + + // Reset trace pagination when date range changes + React.useEffect(() => { + if (dateRange?.from && dateRange?.to) { + setAllTraces([]); + setCurrentPage(0); + setHasMoreTraces(true); + } + }, [dateRange?.from, dateRange?.to]); + + // Create a wrapper object + const allSessionsTracesData = React.useMemo( + () => ({ + traces: allTraces, + }), + [allTraces], + ); + + // Fetch manual ratings from database + const manualRatingsQuery = api.scores.getManualRatings.useMutation(); + + // Fetch ratings + React.useEffect(() => { + if (projectId && dateRange?.from && dateRange?.to) { + manualRatingsQuery.mutate({ + projectId, + fromDate: dateRange.from, + toDate: dateRange.to, + }); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [projectId, dateRange?.from, dateRange?.to]); + + // Create manual ratings mutation + const createManualRatingMutation = api.scores.createManualRating.useMutation({ + onSuccess: () => { + // Re-fetch manual ratings after successful creation + if (projectId && dateRange?.from && dateRange?.to) { + manualRatingsQuery.mutate({ + projectId, + fromDate: dateRange.from, + toDate: dateRange.to, + }); + } + }, + onError: (error) => { + console.error("Failed to create manual rating:", error); + toast.error("Failed to save rating"); + }, + }); + + // Delete manual rating mutation + const deleteManualRatingMutation = api.scores.deleteManualRating.useMutation({ + onSuccess: () => { + // Re-fetch manual ratings after successful deletion + if (projectId && dateRange?.from && dateRange?.to) { + manualRatingsQuery.mutate({ + projectId, + fromDate: dateRange.from, + toDate: dateRange.to, + }); + } + }, + onError: (error) => { + console.error("Failed to delete manual rating:", error); + toast.error("Failed to clear rating"); + }, + }); + + // Convert manual ratings data to Map for easier access + const manualRatings = React.useMemo(() => { + const ratingsMap = new Map(); + if (manualRatingsQuery.data && allTraces.length > 0) { + // Create a Set of trace IDs for fast lookup + const traceIds = new Set(allTraces.map((t) => t.id)); + + manualRatingsQuery.data.forEach((rating) => { + // Only include rating if the trace exists in current date range + if (traceIds.has(rating.traceId)) { + ratingsMap.set(rating.traceId, rating.rating); + } + }); + } + return ratingsMap; + }, [manualRatingsQuery.data, allTraces]); + + // Function to update manual rating for a trace + const updateManualRating = React.useCallback( + (traceId: string, rating: string | null) => { + if (rating === null) { + // Delete the rating + deleteManualRatingMutation.mutate({ + projectId, + traceId, + }); + } else { + // Create or update the rating + createManualRatingMutation.mutate({ + projectId, + traceId, + rating: rating as "correct" | "needs-work" | "wrong", + }); + } + }, + [projectId, createManualRatingMutation, deleteManualRatingMutation], + ); + + const [showDatePicker, setShowDatePicker] = useState(false); + const [sessionPage, setSessionPage] = useState(0); + + // Resizable panels state + const [rightPanelWidth, setRightPanelWidth] = useState(450); + const [isResizing, setIsResizing] = useState<"right" | null>(null); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + const [isMobileRightPanelOpen, setIsMobileRightPanelOpen] = useState(false); + const [showStatsModal, setShowStatsModal] = useState(false); + const [showManualRatingsModal, setShowManualRatingsModal] = useState(false); + const [isLoadingData, setIsLoadingData] = useState(false); + + const handleDateRangeChange = React.useCallback( + (newDateRange: { from: Date; to: Date }) => { + console.log("📅 Date range changed:", { + from: newDateRange.from.toISOString(), + to: newDateRange.to.toISOString(), + }); + + // Cancel previous loading and start new one immediately + setIsLoadingData(true); + + // Clear existing data immediately to show loading state + setAllSessions([]); + setAllTraces([]); + setAllScores([]); + + // Reset pagination + setSessionPage(0); + setCurrentPage(0); + setScoresPage(0); + setHasMoreSessions(true); + setHasMoreTraces(true); + setHasMoreScores(true); + + // Set new date range (this will trigger new API calls) + setTimeRange({ from: newDateRange.from, to: newDateRange.to }); + }, + [setTimeRange], + ); + + const handleShowOnlyMerchantChange = (value: boolean) => { + setShowOnlyMerchant(value); + }; + + const handleSelectedTagChange = (value: string) => { + setSelectedTag(value); + }; + + const handleFilterCorrectChange = (value: boolean) => { + setFilterCorrect(value); + }; + + const handleFilterIncorrectChange = (value: boolean) => { + setFilterIncorrect(value); + }; + + const handleHideUnknownUserChange = (value: boolean) => { + setHideUnknownUser(value); + }; + + const handleShowOnlyTeamChange = (value: boolean) => { + setShowOnlyTeam(value); + }; + + const handleShowOnlyJuspayOthersChange = (value: boolean) => { + setShowOnlyJuspayOthers(value); + }; + + // Save filters to localStorage AND update URL for sharing whenever they change + React.useEffect(() => { + const filters = { + showOnlyMerchant, + showOnlyTeam, + showOnlyJuspayOthers, + selectedTag, + filterCorrect, + filterIncorrect, + hideUnknownUser, + teamEmails, + }; + + // Save to localStorage for personal persistence + saveFiltersToStorage(filters); + + // Update URL for sharing (only after initial load) + if (router.isReady) { + updateUrlForSharing(filters); + } + }, [ + showOnlyMerchant, + showOnlyTeam, + showOnlyJuspayOthers, + selectedTag, + filterCorrect, + filterIncorrect, + hideUnknownUser, + teamEmails, + router.isReady, + updateUrlForSharing, + saveFiltersToStorage, + ]); + + // Clear selected tool call when session changes + React.useEffect(() => { + setSelectedToolCall(null); + setSelectedTraceForDetails(null); + }, [selectedSessionId]); + + // Session selection handler with URL update for sharing + const handleSessionSelect = (sessionId: string) => { + setSelectedSessionId(sessionId); + + // Update URL to include selected session for sharing + if (typeof window !== "undefined" && router.isReady) { + const params = new URLSearchParams(window.location.search); + params.set("sessionId", sessionId); + const newUrl = `${window.location.pathname}?${params.toString()}`; + window.history.replaceState({}, "", newUrl); + console.log("🔗 Session URL updated for sharing:", newUrl); + } + }; + + // Fetch sessions based on date range with pagination + const [allSessions, setAllSessions] = useState([]); + const [hasMoreSessions, setHasMoreSessions] = useState(true); + + const sessions = api.sessions.all.useQuery( + { + projectId, + filter: [ + { + column: "createdAt", + type: "datetime", + operator: ">=", + value: dateRange.from, + }, + { + column: "createdAt", + type: "datetime", + operator: "<=", + value: dateRange.to, + }, + ], + page: sessionPage, + limit: 99, + orderBy: { column: "createdAt", order: "DESC" }, + }, + { + enabled: !!projectId && !!dateRange?.from && !!dateRange?.to, + }, + ); + + // Accumulate sessions from pagination + React.useEffect(() => { + if (sessions.data?.sessions) { + const newSessions = sessions.data.sessions; + if (sessionPage === 0) { + // First page - replace all sessions + setAllSessions(newSessions); + } else { + // Subsequent pages - append to existing sessions + setAllSessions((prev) => [...prev, ...newSessions]); + } + + // Check if we have more sessions to load + if (newSessions.length < 99) { + setHasMoreSessions(false); + } + } + }, [sessions.data?.sessions, sessionPage]); + + // Auto-load more sessions when there are more available + React.useEffect(() => { + if (hasMoreSessions && !sessions.isLoading && sessions.data?.sessions) { + setSessionPage((prev) => prev + 1); + } + }, [hasMoreSessions, sessions.isLoading, sessions.data?.sessions]); + + // Reset session pagination when date range changes with loading state + React.useEffect(() => { + if (dateRange?.from && dateRange?.to) { + setIsLoadingData(true); + setAllSessions([]); + setSessionPage(0); + setHasMoreSessions(true); + + // Clear loading state after a short delay to prevent race conditions + const timer = setTimeout(() => { + setIsLoadingData(false); + }, 100); + + return () => clearTimeout(timer); + } + }, [projectId, dateRange?.from, dateRange?.to]); + + // Create wrapper for sessions + const allSessionsData = React.useMemo( + () => ({ + sessions: allSessions, + }), + [allSessions], + ); + + // Reset when date range changes + React.useEffect(() => { + if (dateRange?.from && dateRange?.to) { + console.log("🔄 SESSIONS - Date range changed, will refetch:", { + from: dateRange.from.toISOString(), + to: dateRange.to.toISOString(), + }); + } + }, [dateRange?.from, dateRange?.to]); + + // Fetch all tags for filtering (no limit issues!) + const traceFilterOptions = api.traces.filterOptions.useQuery( + { + projectId, + timestampFilter: [ + { + column: "timestamp", + type: "datetime", + operator: ">=", + value: dateRange.from, + }, + ], + }, + { + enabled: !!projectId, + }, + ); + + // Fetch scores with pagination + const [allScores, setAllScores] = React.useState([]); + const [scoresPage, setScoresPage] = React.useState(0); + const [hasMoreScores, setHasMoreScores] = React.useState(true); + + const scoresQuery = api.scores.all.useQuery( + { + projectId, + filter: [ + { + column: "name", + type: "string", + operator: "=", + value: "genius-feedback", + }, + ], + page: scoresPage, + limit: 99, + orderBy: { column: "timestamp", order: "DESC" }, + }, + { + enabled: !!projectId && !!allTraces.length && hasMoreScores, + }, + ); + + // Accumulate scores from pagination + React.useEffect(() => { + if (scoresQuery.data?.scores) { + const newScores = scoresQuery.data.scores; + if (scoresPage === 0) { + setAllScores(newScores); + } else { + setAllScores((prev) => [...prev, ...newScores]); + } + + if (newScores.length < 99) { + setHasMoreScores(false); + } + } + }, [scoresQuery.data?.scores, scoresPage]); + + // Auto-load more scores when there are more available + React.useEffect(() => { + if (hasMoreScores && !scoresQuery.isLoading && scoresQuery.data?.scores) { + setScoresPage((prev) => prev + 1); + } + }, [hasMoreScores, scoresQuery.isLoading, scoresQuery.data?.scores]); + + // Reset scores pagination when date range changes + React.useEffect(() => { + if (dateRange?.from && dateRange?.to) { + setAllScores([]); + setScoresPage(0); + setHasMoreScores(true); + } + }, [dateRange?.from, dateRange?.to]); + + // Simple scores data wrapper + const allScoresData = React.useMemo( + () => ({ + scores: allScores, + }), + [allScores], + ); + + // Create a map of session IDs to their evaluation status (correct/incorrect) + const sessionEvaluationMap = React.useMemo(() => { + if (!allScoresData.scores.length || !allSessionsTracesData.traces.length) { + return new Map(); + } + + const map = new Map(); + + // Group scores by session + const sessionScores = new Map(); + allScoresData.scores.forEach((score: any) => { + const trace = allSessionsTracesData.traces.find( + (t) => t.id === score.traceId, + ); + if (trace?.sessionId) { + if (!sessionScores.has(trace.sessionId)) { + sessionScores.set(trace.sessionId, []); + } + sessionScores.get(trace.sessionId)!.push(score.value); + } + }); + + // Determine session evaluation status + sessionScores.forEach((scores, sessionId) => { + const hasCorrect = scores.some((v) => v === 1); + const hasIncorrect = scores.some((v) => v === 0); + + if (hasCorrect && hasIncorrect) { + map.set(sessionId, "mixed"); + } else if (hasCorrect) { + map.set(sessionId, "correct"); + } else if (hasIncorrect) { + map.set(sessionId, "incorrect"); + } + }); + + return map; + }, [allScoresData.scores, allSessionsTracesData.traces]); + + // Create a map of session IDs to their tags + const sessionToTagsMap = React.useMemo(() => { + if (!allSessionsTracesData.traces.length) + return new Map(); + + const map = new Map(); + allSessionsTracesData.traces.forEach((trace) => { + if (trace.sessionId && trace.tags && trace.tags.length > 0) { + // Store all tags for each session + if (!map.has(trace.sessionId)) { + map.set(trace.sessionId, trace.tags); + } else { + // Merge tags if session already exists + const existingTags = map.get(trace.sessionId) || []; + map.set(trace.sessionId, [ + ...new Set([...existingTags, ...trace.tags]), + ]); + } + } + }); + return map; + }, [allSessionsTracesData.traces]); + + // Get unique tags from filterOptions API (no 100-trace limit!) + const uniqueTags = React.useMemo(() => { + if (!traceFilterOptions.data?.tags) return []; + return traceFilterOptions.data.tags.map((t) => t.value).sort(); + }, [traceFilterOptions.data?.tags]); + + // Fetch traces for selected session + const sessionTraces = api.traces.all.useQuery( + { + projectId, + filter: selectedSessionId + ? [ + { + column: "sessionId", + type: "string", + operator: "=", + value: selectedSessionId, + }, + ] + : [], + searchQuery: null, + searchType: [], + page: 0, + limit: 100, + orderBy: { column: "timestamp", order: "ASC" }, + }, + { + enabled: !!projectId && !!selectedSessionId, + }, + ); + + // Fetch full trace details for input/output + const [selectedTraceForDetails, setSelectedTraceForDetails] = useState<{ + traceId: string; + timestamp: Date; + } | null>(null); + + const traceDetails = api.traces.byIdWithObservationsAndScores.useQuery( + { + traceId: selectedTraceForDetails?.traceId ?? "", + projectId, + timestamp: selectedTraceForDetails?.timestamp ?? new Date(), + }, + { + enabled: !!selectedTraceForDetails && !!projectId, + }, + ); + + // Get observations (tool calls) from trace details - filter out GENERATION type (llm-call) and sort by startTime + const observations = (traceDetails.data?.observations || []) + .filter((obs: any) => { + // Filter out llm-call observations by checking the name + const name = obs.name || ""; + return !name.toLowerCase().includes("llm-call"); + }) + .sort((a: any, b: any) => a.startTime.getTime() - b.startTime.getTime()); // Sort chronologically (earliest first) + + // Fetch metrics for traces to get level information + const traceMetrics = api.traces.metrics.useQuery( + { + projectId, + filter: selectedSessionId + ? [ + { + column: "sessionId", + type: "string", + operator: "=", + value: selectedSessionId, + }, + ] + : [], + traceIds: sessionTraces.data?.traces.map((t) => t.id) ?? [], + }, + { + enabled: + !!projectId && !!selectedSessionId && !!sessionTraces.data?.traces, + }, + ); + + const filteredSessions = React.useMemo(() => { + return allSessionsData.sessions.filter((session) => { + // Search filter + const matchesSearch = searchQuery + ? session.id.toLowerCase().includes(searchQuery.toLowerCase()) || + session.userIds?.some((uid: string) => + uid.toLowerCase().includes(searchQuery.toLowerCase()), + ) + : true; + + if (!matchesSearch) return false; + + // Helper function to categorize user for filtering + const categorizeUserForFilter = (userIds: string[] | undefined) => { + if (!userIds || userIds.length === 0 || userIds[0] === "Unknown User") { + return "unknown"; + } + + const userId = userIds[0]; + + // Check if user is in team whitelist - more flexible matching + if ( + teamEmails.some((email) => { + const emailLower = email.toLowerCase().trim(); + const userIdLower = userId.toLowerCase().trim(); + + // Try exact match first + if (userIdLower === emailLower) return true; + + // Try contains match (user ID contains the email) + if (userIdLower.includes(emailLower)) return true; + + // Try email contains user ID (for partial email matches) + if (emailLower.includes(userIdLower)) return true; + + // Try domain matching if email has @ symbol + if (emailLower.includes("@")) { + const emailUsername = emailLower.split("@")[0]; + + // Check if user ID matches username part + if (userIdLower === emailUsername) return true; + + // Check if user ID contains username + if (userIdLower.includes(emailUsername)) return true; + } + + return false; + }) + ) { + return "team"; + } + + // Check if user is juspay internal (contains @juspay) + if (userId.toLowerCase().includes("@juspay")) { + return "juspay-genius-merchant"; + } + + // Otherwise it's a merchant + return "merchant"; + }; + + const userCategory = categorizeUserForFilter(session.userIds); + + // Category filters - if any are checked, show only those categories + if (showOnlyMerchant || showOnlyTeam || showOnlyJuspayOthers) { + const matchesSelectedCategories = + (showOnlyMerchant && userCategory === "merchant") || + (showOnlyTeam && userCategory === "team") || + (showOnlyJuspayOthers && userCategory === "juspay-genius-merchant"); + + if (!matchesSelectedCategories) { + return false; + } + } + + // Tag filter + if (selectedTag !== "all") { + const sessionTags = sessionToTagsMap.get(session.id); + if (!sessionTags || !sessionTags.includes(selectedTag)) return false; + } + + // Correct/Incorrect filter + if (filterCorrect || filterIncorrect) { + const evaluation = sessionEvaluationMap.get(session.id); + + // If both filters are checked, show sessions that match either + if (filterCorrect && filterIncorrect) { + if (!evaluation) return false; + } + // If only correct is checked + else if (filterCorrect) { + if (evaluation !== "correct") return false; + } + // If only incorrect is checked + else if (filterIncorrect) { + if (evaluation !== "incorrect" && evaluation !== "mixed") + return false; + } + } + + // Hide Unknown User filter + if (hideUnknownUser) { + const isUnknownUser = + !session.userIds || + session.userIds.length === 0 || + session.userIds[0] === "Unknown User"; + if (isUnknownUser) return false; + } + + return true; + }); + }, [ + allSessionsData.sessions, + searchQuery, + showOnlyMerchant, + showOnlyTeam, + showOnlyJuspayOthers, + selectedTag, + filterCorrect, + filterIncorrect, + hideUnknownUser, + sessionToTagsMap, + sessionEvaluationMap, + teamEmails, + ]); + + // Enhanced statistics with three categories + const statistics = React.useMemo(() => { + if (!allSessionsTracesData.traces.length) { + return { + totalQueries: 0, + merchantQueries: 0, + geniusTeamQueries: 0, + juspayGeniusMerchantQueries: 0, + correctQueries: 0, + incorrectQueries: 0, + correctPercentage: 0, + totalSessions: 0, + }; + } + + // Helper function to categorize user + const categorizeUser = (userIds: string[] | undefined) => { + if (!userIds || userIds.length === 0 || userIds[0] === "Unknown User") { + return "unknown"; + } + + const userId = userIds[0]; + + // Check if user is in team whitelist - more flexible matching + if ( + teamEmails.some((email) => { + const emailLower = email.toLowerCase().trim(); + const userIdLower = userId.toLowerCase().trim(); + + // Try exact match first + if (userIdLower === emailLower) return true; + + // Try contains match (user ID contains the email) + if (userIdLower.includes(emailLower)) return true; + + // Try email contains user ID (for partial email matches) + if (emailLower.includes(userIdLower)) return true; + + // Try domain matching if email has @ symbol + if (emailLower.includes("@")) { + const emailUsername = emailLower.split("@")[0]; + + // Check if user ID matches username part + if (userIdLower === emailUsername) return true; + + // Check if user ID contains username + if (userIdLower.includes(emailUsername)) return true; + } + + return false; + }) + ) { + return "team"; + } + + // Check if user is juspay internal (contains @juspay) + if (userId.toLowerCase().includes("@juspay")) { + return "juspay-genius-merchant"; + } + + // Otherwise it's a merchant + return "merchant"; + }; + + // Filter sessions for statistics + const sessionsForStats = allSessionsData.sessions.filter((session) => { + // Search filter + const matchesSearch = searchQuery + ? session.id.toLowerCase().includes(searchQuery.toLowerCase()) || + session.userIds?.some((uid: string) => + uid.toLowerCase().includes(searchQuery.toLowerCase()), + ) + : true; + + if (!matchesSearch) return false; + + const userCategory = categorizeUser(session.userIds); + + // Category filters - if any are checked, show only those categories + if (showOnlyMerchant || showOnlyTeam || showOnlyJuspayOthers) { + const matchesSelectedCategories = + (showOnlyMerchant && userCategory === "merchant") || + (showOnlyTeam && userCategory === "team") || + (showOnlyJuspayOthers && userCategory === "juspay-genius-merchant"); + + if (!matchesSelectedCategories) { + return false; + } + } + + // Tag filter + if (selectedTag !== "all") { + const sessionTags = sessionToTagsMap.get(session.id); + if (!sessionTags || !sessionTags.includes(selectedTag)) return false; + } + + // Hide Unknown User filter + if (hideUnknownUser) { + const userCategory = categorizeUser(session.userIds); + if (userCategory === "unknown") return false; + } + + // NOTE: We deliberately exclude filterCorrect and filterIncorrect here + // so statistics show overall numbers regardless of these filters + + return true; + }); + + // Get session IDs from sessions for statistics + const sessionIdsForStats = new Set( + sessionsForStats.map((session) => session.id), + ); + + // Filter traces to only include those from sessions for statistics + const tracesForStats = allSessionsTracesData.traces.filter((trace) => { + // Only include traces from sessions for statistics + if (!trace.sessionId || !sessionIdsForStats.has(trace.sessionId)) { + return false; + } + + // Apply tag filter if selected + if (selectedTag !== "all") { + if (!trace.tags || !trace.tags.includes(selectedTag)) return false; + } + return true; + }); + + // Total queries = traces for statistics + const totalQueries = tracesForStats.length; + + // Count correct/incorrect queries from genius-feedback scores + let correctQueries = 0; + let incorrectQueries = 0; + + if (allScoresData.scores.length > 0) { + allScoresData.scores.forEach((score: any) => { + // Check if this score belongs to a trace for statistics + const trace = tracesForStats.find((t) => t.id === score.traceId); + if (trace) { + if (score.value === 1) { + correctQueries++; + } else if (score.value === 0) { + incorrectQueries++; + } + } + }); + } + + // Calculate percentage based on evaluated queries only (correct + incorrect) + const evaluatedQueries = correctQueries + incorrectQueries; + const correctPercentage = + evaluatedQueries > 0 + ? Math.round((correctQueries / evaluatedQueries) * 100) + : 0; + const totalSessions = filteredSessions?.length || 0; + + return { + totalQueries, + merchantQueries: 0, // Will be calculated separately + geniusTeamQueries: 0, // Will be calculated separately + juspayGeniusMerchantQueries: 0, // Will be calculated separately + correctQueries, + incorrectQueries, + correctPercentage, + totalSessions, + }; + }, [ + allScoresData.scores, + allSessionsTracesData.traces, + allSessionsData.sessions, + filteredSessions, + searchQuery, + showOnlyMerchant, + showOnlyTeam, + showOnlyJuspayOthers, + selectedTag, + hideUnknownUser, + sessionToTagsMap, + teamEmails, + ]); + + // Separate statistics for filter cards - always show total counts regardless of category filters + const cardStatistics = React.useMemo(() => { + if (!allSessionsTracesData.traces.length) { + return { + merchantQueries: 0, + geniusTeamQueries: 0, + juspayGeniusMerchantQueries: 0, + }; + } + + // Helper function to categorize user + const categorizeUser = (userIds: string[] | undefined) => { + if (!userIds || userIds.length === 0 || userIds[0] === "Unknown User") { + return "unknown"; + } + + const userId = userIds[0]; + + // Check if user is in team whitelist - more flexible matching + if ( + teamEmails.some((email) => { + const emailLower = email.toLowerCase().trim(); + const userIdLower = userId.toLowerCase().trim(); + + // Try exact match first + if (userIdLower === emailLower) return true; + + // Try contains match (user ID contains the email) + if (userIdLower.includes(emailLower)) return true; + + // Try email contains user ID (for partial email matches) + if (emailLower.includes(userIdLower)) return true; + + // Try domain matching if email has @ symbol + if (emailLower.includes("@")) { + const emailUsername = emailLower.split("@")[0]; + + // Check if user ID matches username part + if (userIdLower === emailUsername) return true; + + // Check if user ID contains username + if (userIdLower.includes(emailUsername)) return true; + } + + return false; + }) + ) { + return "team"; + } + + // Check if user is juspay internal (contains @juspay) + if (userId.toLowerCase().includes("@juspay")) { + return "juspay-genius-merchant"; + } + + // Otherwise it's a merchant + return "merchant"; + }; + + // Filter sessions for card statistics - exclude category filters but include other filters + const sessionsForCardStats = allSessionsData.sessions.filter((session) => { + // Search filter + const matchesSearch = searchQuery + ? session.id.toLowerCase().includes(searchQuery.toLowerCase()) || + session.userIds?.some((uid: string) => + uid.toLowerCase().includes(searchQuery.toLowerCase()), + ) + : true; + + if (!matchesSearch) return false; + + const userCategory = categorizeUser(session.userIds); + + // Tag filter + if (selectedTag !== "all") { + const sessionTags = sessionToTagsMap.get(session.id); + if (!sessionTags || !sessionTags.includes(selectedTag)) return false; + } + + // Hide Unknown User filter + if (hideUnknownUser) { + if (userCategory === "unknown") return false; + } + + // NOTE: We deliberately exclude category filters (showOnlyMerchant, showOnlyTeam, showOnlyJuspayOthers) + // and evaluation filters (filterCorrect, filterIncorrect) here + // so card statistics always show total counts + + return true; + }); + + // Get session IDs from sessions for card statistics + const sessionIdsForCardStats = new Set( + sessionsForCardStats.map((session) => session.id), + ); + + // Filter traces to only include those from sessions for card statistics + const tracesForCardStats = allSessionsTracesData.traces.filter((trace) => { + // Only include traces from sessions for card statistics + if (!trace.sessionId || !sessionIdsForCardStats.has(trace.sessionId)) { + return false; + } + + // Apply tag filter if selected + if (selectedTag !== "all") { + if (!trace.tags || !trace.tags.includes(selectedTag)) return false; + } + return true; + }); + + // Categorize queries by user type for cards + let merchantQueries = 0; + let geniusTeamQueries = 0; + let juspayGeniusMerchantQueries = 0; + + tracesForCardStats.forEach((trace) => { + const session = allSessionsData.sessions.find( + (s) => s.id === trace.sessionId, + ); + if (session) { + const userCategory = categorizeUser(session.userIds); + switch (userCategory) { + case "merchant": + merchantQueries++; + break; + case "team": + geniusTeamQueries++; + break; + case "juspay-genius-merchant": + juspayGeniusMerchantQueries++; + break; + } + } + }); + + return { + merchantQueries, + geniusTeamQueries, + juspayGeniusMerchantQueries, + }; + }, [ + allSessionsTracesData.traces, + allSessionsData.sessions, + searchQuery, + selectedTag, + hideUnknownUser, + sessionToTagsMap, + teamEmails, + ]); + + // Extract agent name from the first trace's tags (since we can't access input from list query) + const selectedSessionAgentName = React.useMemo(() => { + if (!sessionTraces.data?.traces || sessionTraces.data.traces.length === 0) { + return null; + } + + // Get the first trace's tags + const firstTrace = sessionTraces.data.traces[0]; + if (!firstTrace?.tags || firstTrace.tags.length === 0) return null; + + // Return the first tag as the agent name + return firstTrace.tags[0]; + }, [sessionTraces.data?.traces]); + + // Auto-scroll to selected session only when needed (page refresh or URL navigation) + const [hasAutoScrolled, setHasAutoScrolled] = React.useState(false); + + React.useEffect(() => { + if ( + selectedSessionId && + filteredSessions.length > 0 && + !sessions.isLoading && + !hasAutoScrolled && + sessionIdFromUrl + ) { + const timer = setTimeout(() => { + const selectedElement = document.querySelector( + `[data-session-id="${selectedSessionId}"]`, + ); + if (selectedElement) { + // Check if element is already visible + const rect = selectedElement.getBoundingClientRect(); + const isVisible = rect.top >= 0 && rect.bottom <= window.innerHeight; + + // Only scroll if not visible + if (!isVisible) { + selectedElement.scrollIntoView({ + behavior: "smooth", + block: "center", + }); + } + setHasAutoScrolled(true); + } + }, 200); + + return () => clearTimeout(timer); + } + }, [ + selectedSessionId, + filteredSessions.length, + sessions.isLoading, + hasAutoScrolled, + sessionIdFromUrl, + ]); + + // Reset auto-scroll flag when session changes manually (not from URL) + React.useEffect(() => { + if (!sessionIdFromUrl) { + setHasAutoScrolled(false); + } + }, [sessionIdFromUrl]); + + // Mouse event handlers for resizing (right panel only) + const [dragStartX, setDragStartX] = React.useState(0); + const [dragStartWidth, setDragStartWidth] = React.useState(0); + + const handleMouseDown = React.useCallback( + (e: React.MouseEvent) => { + e.preventDefault(); + setIsResizing("right"); + setDragStartX(e.clientX); + setDragStartWidth(rightPanelWidth); + }, + [rightPanelWidth], + ); + + const handleMouseMove = React.useCallback( + (e: MouseEvent) => { + if (!isResizing) return; + + const deltaX = e.clientX - dragStartX; + + // For right panel, subtract the delta from the starting width + const newWidth = Math.max(300, Math.min(800, dragStartWidth - deltaX)); + setRightPanelWidth(newWidth); + }, + [isResizing, dragStartX, dragStartWidth], + ); + + const handleMouseUp = React.useCallback(() => { + setIsResizing(null); + }, []); + + // Add mouse event listeners + React.useEffect(() => { + if (isResizing) { + document.addEventListener("mousemove", handleMouseMove); + document.addEventListener("mouseup", handleMouseUp); + document.body.style.cursor = "col-resize"; + document.body.style.userSelect = "none"; + + return () => { + document.removeEventListener("mousemove", handleMouseMove); + document.removeEventListener("mouseup", handleMouseUp); + document.body.style.cursor = ""; + document.body.style.userSelect = ""; + }; + } + }, [isResizing, handleMouseMove, handleMouseUp]); + + // Responsive breakpoints + const [windowWidth, setWindowWidth] = React.useState(0); + + React.useEffect(() => { + const handleResize = () => { + setWindowWidth(window.innerWidth); + }; + + if (typeof window !== "undefined") { + setWindowWidth(window.innerWidth); + window.addEventListener("resize", handleResize); + return () => window.removeEventListener("resize", handleResize); + } + }, []); + + const isMobile = windowWidth < 768; + const isTablet = windowWidth >= 768 && windowWidth < 1024; + const isDesktop = windowWidth >= 1024; + + // Calculate detailed statistics for the table + const detailedStatistics = React.useMemo(() => { + if (!allSessionsTracesData.traces.length) { + return { + merchant: { + totalSessions: 0, + totalQueries: 0, + incorrectQueries: 0, + accuracy: 0, + }, + team: { + totalSessions: 0, + totalQueries: 0, + incorrectQueries: 0, + accuracy: 0, + }, + other: { + totalSessions: 0, + totalQueries: 0, + incorrectQueries: 0, + accuracy: 0, + }, + }; + } + + // Helper function to categorize user + const categorizeUser = (userIds: string[] | undefined) => { + if (!userIds || userIds.length === 0 || userIds[0] === "Unknown User") { + return "unknown"; + } + + const userId = userIds[0]; + + // Check if user is in team whitelist + if ( + teamEmails.some((email) => { + const emailLower = email.toLowerCase().trim(); + const userIdLower = userId.toLowerCase().trim(); + + return ( + userIdLower === emailLower || + userIdLower.includes(emailLower) || + emailLower.includes(userIdLower) || + (emailLower.includes("@") && + userIdLower === emailLower.split("@")[0]) + ); + }) + ) { + return "team"; + } + + // Check if user is juspay internal + if (userId.toLowerCase().includes("@juspay")) { + return "juspay-genius-merchant"; + } + + return "merchant"; + }; + + // Filter sessions based on current filters (excluding correct/incorrect filters) + const sessionsForStats = allSessionsData.sessions.filter((session) => { + const matchesSearch = searchQuery + ? session.id.toLowerCase().includes(searchQuery.toLowerCase()) || + session.userIds?.some((uid: string) => + uid.toLowerCase().includes(searchQuery.toLowerCase()), + ) + : true; + + if (!matchesSearch) return false; + + const userCategory = categorizeUser(session.userIds); + + if (showOnlyMerchant || showOnlyTeam || showOnlyJuspayOthers) { + const matchesSelectedCategories = + (showOnlyMerchant && userCategory === "merchant") || + (showOnlyTeam && userCategory === "team") || + (showOnlyJuspayOthers && userCategory === "juspay-genius-merchant"); + + if (!matchesSelectedCategories) return false; + } + + if (selectedTag !== "all") { + const sessionTags = sessionToTagsMap.get(session.id); + if (!sessionTags || !sessionTags.includes(selectedTag)) return false; + } + + if (hideUnknownUser && userCategory === "unknown") return false; + + return true; + }); + + // Group sessions by category + const sessionsByCategory = { + merchant: sessionsForStats.filter( + (s) => categorizeUser(s.userIds) === "merchant", + ), + team: sessionsForStats.filter( + (s) => categorizeUser(s.userIds) === "team", + ), + other: sessionsForStats.filter( + (s) => categorizeUser(s.userIds) === "juspay-genius-merchant", + ), + }; + + // Calculate stats for each category + const calculateCategoryStats = (sessions: any[]) => { + const sessionIds = new Set(sessions.map((s) => s.id)); + + // Get traces for these sessions + const categoryTraces = allSessionsTracesData.traces.filter( + (trace) => trace.sessionId && sessionIds.has(trace.sessionId), + ); + + // Get scores for these traces + const categoryScores = allScoresData.scores.filter((score) => + categoryTraces.some((trace) => trace.id === score.traceId), + ); + + const correctQueries = categoryScores.filter( + (score) => score.value === 1, + ).length; + const incorrectQueries = categoryScores.filter( + (score) => score.value === 0, + ).length; + const totalEvaluated = correctQueries + incorrectQueries; + const accuracy = + totalEvaluated > 0 + ? Math.round((correctQueries / totalEvaluated) * 100) + : 0; + + return { + totalSessions: sessions.length, + totalQueries: categoryTraces.length, + incorrectQueries, + accuracy, + }; + }; + + return { + merchant: calculateCategoryStats(sessionsByCategory.merchant), + team: calculateCategoryStats(sessionsByCategory.team), + other: calculateCategoryStats(sessionsByCategory.other), + }; + }, [ + allSessionsTracesData.traces, + allSessionsData.sessions, + allScoresData.scores, + searchQuery, + showOnlyMerchant, + showOnlyTeam, + showOnlyJuspayOthers, + selectedTag, + hideUnknownUser, + sessionToTagsMap, + teamEmails, + ]); + + return ( + +
+ {/* Mobile Menu Button - Only show when sidebar is closed */} + {isMobile && !isMobileMenuOpen && ( +
+ +
+ )} + + {/* Mobile Overlay */} + {isMobile && isMobileMenuOpen && ( +
setIsMobileMenuOpen(false)} + /> + )} + + {/* Left Sidebar - Sessions List */} +
+
+ {/* Mobile Close Button - Inside sidebar */} + {isMobile && ( +
+

Filters

+ +
+ )} + + {/* Date Range Filter - Always visible */} +
+ + + + + + +
+
+ Quick select +
+
+ + + + + + + {/* Custom Date Picker */} + + + + + + { + if (range?.from) { + const fromDate = new Date( + range.from.getTime(), + ); + const toDate = range.to + ? new Date(range.to.getTime()) + : new Date(range.from.getTime()); + + const newRange = { + from: new Date( + fromDate.getFullYear(), + fromDate.getMonth(), + fromDate.getDate(), + 0, + 0, + 0, + 0, + ), + to: new Date( + toDate.getFullYear(), + toDate.getMonth(), + toDate.getDate(), + 23, + 59, + 59, + 999, + ), + }; + handleDateRangeChange(newRange); + } + }} + numberOfMonths={2} + /> + + +
+
+
+
+
+
+ + {/* Enhanced Statistics Section */} +
+ {sessions.isLoading ? ( + + ) : ( +
+ {/* Main Stats Card */} +
+
+ + 📊 + + + {filteredSessions && filteredSessions.length > 100 + ? "100+" + : filteredSessions?.length || 0} + + + sessions + +
+ +
+
+ + {statistics.incorrectQueries} + + + incorrect + +
+ +
+ / + + {statistics.totalQueries} + + + total + +
+ +
+ + ({statistics.correctPercentage}% + + + correct) + +
+
+
+ + {/* Query Categories - Now Clickable Filter Buttons */} +
+ {/* Merchant Queries - Clickable */} +
+ handleShowOnlyMerchantChange(!showOnlyMerchant) + } + > +
+ {cardStatistics.merchantQueries > 9999 + ? "9999+" + : cardStatistics.merchantQueries} + {showOnlyMerchant && ( +
+ +
+ )} +
+
+ Merchant +
+
+ + {/* Genius Team Queries - Clickable */} +
handleShowOnlyTeamChange(!showOnlyTeam)} + > +
+ {cardStatistics.geniusTeamQueries > 9999 + ? "9999+" + : cardStatistics.geniusTeamQueries} + {showOnlyTeam && ( +
+ +
+ )} +
+
+ Team +
+
+ + {/* Juspay-Genius-Merchant Queries - Clickable */} +
+ handleShowOnlyJuspayOthersChange(!showOnlyJuspayOthers) + } + > +
+ {cardStatistics.juspayGeniusMerchantQueries > 9999 + ? "9999+" + : cardStatistics.juspayGeniusMerchantQueries} + {showOnlyJuspayOthers && ( +
+ +
+ )} +
+
+ Other +
+
+
+
+ )} +
+ + {/* Search and Filters */} +
+
+ + setSearchQuery(e.target.value)} + className="pl-9" + /> +
+ + + + + + +
+ {/* Tag Filter */} +
+ + +
+ + {/* Correct/Incorrect Filters */} +
+ +
+ + + +
+
+ + {/* Show More Filters Button */} + +
+
+
+ + {/* Advanced Filters Overlay */} + {showAdvancedFilters && ( + <> + {/* Overlay Background */} +
setShowAdvancedFilters(false)} + /> + + {/* Advanced Filters Modal */} +
+ +
+

+ Advanced Filters +

+ +
+ +
+ {/* Team Email Selection with Dropdown */} +
+ +
+ {/* Email Dropdown with Search */} + + + + + +
+
+ Select Team Members +
+ + {/* Search Input */} +
+ + + setNewEmailInput(e.target.value) + } + className="pl-7 text-xs" + /> +
+ + {/* Available Emails List */} + +
+ {(() => { + // Get unique user emails from current date range + const uniqueEmails = new Set(); + allSessionsData.sessions.forEach( + (session) => { + if ( + session.userIds && + session.userIds.length > 0 + ) { + const userId = session.userIds[0]; + if ( + userId && + userId !== "Unknown User" && + (userId.includes("@") || + userId.includes(".")) + ) { + uniqueEmails.add(userId); + } + } + }, + ); + + // Filter emails based on search + const filteredEmails = Array.from( + uniqueEmails, + ) + .filter( + (email) => + newEmailInput === "" || + email + .toLowerCase() + .includes( + newEmailInput.toLowerCase(), + ), + ) + .sort(); + + return filteredEmails.map((email) => ( + + )); + })()} +
+
+ + {/* Quick Actions */} +
+ + +
+
+
+
+ + {/* Selected Emails Display */} + {teamEmails.length > 0 && ( +
+ {teamEmails.map((email, index) => ( + { + setTeamEmails((prev) => + prev.filter((_, i) => i !== index), + ); + }} + > + {email} × + + ))} +
+ )} +
+
+ + {/* Apply Filters Button - For Team Email Settings */} +
+ +
+ + {/* Manual Ratings Section */} +
+ + +
+
+ + + Rate Assistant Responses + +
+ +

+ Click the button below to open the manual + ratings interface +

+ + + + {/* Show rating statistics if any ratings exist */} + {manualRatings.size > 0 && ( +
+
+ Current Ratings: +
+
+
+
+ { + Array.from( + manualRatings.values(), + ).filter((r) => r === "correct") + .length + } +
+
+ Correct +
+
+
+
+ { + Array.from( + manualRatings.values(), + ).filter((r) => r === "needs-work") + .length + } +
+
+ Needs Work +
+
+
+
+ { + Array.from( + manualRatings.values(), + ).filter((r) => r === "wrong").length + } +
+
Wrong
+
+
+
+ )} +
+
+
+
+
+
+ + )} + +
+ Showing: {filteredSessions?.length || 0} of{" "} + {allSessionsData.sessions.length || 0} sessions +
+
+ + {/* Sessions List */} + + {sessions.isLoading || isLoadingData ? ( +
+ {[...Array(5)].map((_, i) => ( + + ))} + {isLoadingData && ( +
+ Loading data for new date range... +
+ )} +
+ ) : ( +
+ {filteredSessions?.map((session) => { + // Get the most recent trace timestamp for this session + const sessionTraceTimestamp = allSessionsTracesData.traces + .filter((trace) => trace.sessionId === session.id) + .sort( + (a, b) => b.timestamp.getTime() - a.timestamp.getTime(), + )[0]?.timestamp; + + const displayTime = + sessionTraceTimestamp || session.createdAt; + + return ( + handleSessionSelect(session.id)} + > +
+
+
+ + + {session.userIds?.[0] || "Unknown User"} + +
+ + {session.countTraces} traces + +
+ +
+ Session: {session.id.slice(0, 16)}... +
+ +
+ + {new Date(displayTime).toLocaleString()} +
+
+
+ ); + })} +
+ )} +
+
+
+ + {/* Middle Section - Conversation Flow */} +
+ {selectedSessionId ? ( + <> + {/* Session Header */} +
+
+
+

+ Session: {selectedSessionId} +

+

+ {sessionTraces.data?.traces.length || 0} messages +

+
+ {selectedSessionAgentName && ( + + Agent: {selectedSessionAgentName} + + )} +
+
+ + {/* Conversation Messages */} + + {sessionTraces.isLoading ? ( +
+ {[...Array(3)].map((_, i) => ( + + ))} +
+ ) : ( +
+ {sessionTraces.data?.traces.map((trace, _index) => { + const traceMetric = traceMetrics.data?.find( + (m) => m.id === trace.id, + ); + return ( + { + setSelectedTraceForDetails({ traceId, timestamp }); + setSelectedToolCall({ + ...trace, + metric: traceMetric, + }); + // Auto-open right panel on mobile when tool call is selected + if (isMobile) { + setIsMobileRightPanelOpen(true); + } + }} + /> + ); + })} +
+ )} +
+ + ) : ( +
+
+ +

Select a session to view conversation

+
+
+ )} + + {/* Manual Ratings Modal */} + + + + + + Manual Ratings Management + + + +
+ { + handleSessionSelect(sessionId); + setShowManualRatingsModal(false); + }} + /> +
+
+
+ + {/* Total Stats Button - Positioned in Middle Section */} + + + + + + + + + Total Statistics Overview + + + +
+
+ {/* Summary Cards */} +
+ +
+
+ {statistics.totalSessions} +
+
+ Total Sessions +
+
+
+ + +
+
+ {statistics.totalQueries} +
+
+ Total Queries +
+
+
+ + +
+
+ {statistics.correctPercentage}% +
+
+ Overall Accuracy +
+
+
+
+ + {/* Detailed Statistics Table */} + +
+

+ Detailed Breakdown by User Category +

+

+ Statistics filtered by current date range and applied + filters +

+
+ + + + + + Category + + + Total Sessions + + + Total Queries + + + Incorrect Queries + + + Accuracy + + + + + + +
+
+ Merchant +
+
+ + {detailedStatistics.merchant.totalSessions} + + + {detailedStatistics.merchant.totalQueries} + + + + {detailedStatistics.merchant.incorrectQueries} + + + + = 80 + ? "default" + : "destructive" + } + className={cn( + "font-semibold", + detailedStatistics.merchant.accuracy >= 80 + ? "bg-green-600 hover:bg-green-700" + : "", + )} + > + {detailedStatistics.merchant.accuracy}% + + +
+ + + +
+
+ Team +
+
+ + {detailedStatistics.team.totalSessions} + + + {detailedStatistics.team.totalQueries} + + + + {detailedStatistics.team.incorrectQueries} + + + + = 80 + ? "default" + : "destructive" + } + className={cn( + "font-semibold", + detailedStatistics.team.accuracy >= 80 + ? "bg-green-600 hover:bg-green-700" + : "", + )} + > + {detailedStatistics.team.accuracy}% + + +
+ + + +
+
+ Other +
+
+ + {detailedStatistics.other.totalSessions} + + + {detailedStatistics.other.totalQueries} + + + + {detailedStatistics.other.incorrectQueries} + + + + = 80 + ? "default" + : "destructive" + } + className={cn( + "font-semibold", + detailedStatistics.other.accuracy >= 80 + ? "bg-green-600 hover:bg-green-700" + : "", + )} + > + {detailedStatistics.other.accuracy}% + + +
+
+
+
+ + {/* Additional Insights */} + +

+ Current Filters Applied: +

+
+ + Date: {dateRange.from.toLocaleDateString()} -{" "} + {dateRange.to.toLocaleDateString()} + + {selectedTag !== "all" && ( + Agent: {selectedTag} + )} + {showOnlyMerchant && ( + Merchant Only + )} + {showOnlyTeam && ( + Team Only + )} + {showOnlyJuspayOthers && ( + Other Only + )} + {filterCorrect && ( + Correct Only + )} + {filterIncorrect && ( + Incorrect Only + )} + {hideUnknownUser && ( + Hide Unknown + )} + {teamEmails.length > 0 && ( + + Team Emails: {teamEmails.length} + + )} +
+
+
+
+
+
+
+ + {/* Right Resizer Handle */} + {isDesktop && !isMobile && ( +
+
+ +
+
+ )} + + {/* Mobile Right Panel Overlay */} + {isMobile && isMobileRightPanelOpen && ( +
setIsMobileRightPanelOpen(false)} + /> + )} + + {/* Right Sidebar - Tool Call Details */} + {(!isMobile || isMobileRightPanelOpen) && ( +
+
+
+
+

+ {selectedToolCall + ? "Tool Call Details" + : "Response Details"} +

+ {isMobile && ( + + )} +
+
+ + + {selectedToolCall ? ( +
+ {/* Show all tool calls/observations */} + {traceDetails.isLoading ? ( +
+ Loading tool calls... +
+ ) : ( + <> + {observations && observations.length > 0 ? ( + observations.map((obs: any, index: number) => ( + + + +
+
+
+ {index + 1} +
+ + Tool call {index + 1} + + + {obs.name || obs.type} + +
+
+
+ +
+ +
+
+
+
+ )) + ) : ( +
+ No tool calls found for this trace +
+ )} + + {/* Final Response Section - Green Highlighted */} + {traceDetails.data && ( + + )} + + )} +
+ ) : ( +
+ Click on a message to view details +
+ )} +
+
+
+ )} +
+ + ); +} + +// Manual Ratings Content Component +function ManualRatingsContent({ + manualRatings, + allTraces, + allSessions, + onUpdateRating, + onNavigateToSession, +}: { + manualRatings: Map; + allTraces: any[]; + allSessions: any[]; + onUpdateRating: (traceId: string, rating: string | null) => void; + onNavigateToSession: (sessionId: string) => void; +}) { + const [filterRating, setFilterRating] = useState("all"); + + // Get all rated traces with their details + const ratedTraces = React.useMemo(() => { + const traces = Array.from(manualRatings.entries()) + .map(([traceId, rating]) => { + const trace = allTraces.find((t) => t.id === traceId); + if (!trace) return null; + + const session = allSessions.find((s) => s.id === trace.sessionId); + return { + traceId, + rating, + trace, + session, + timestamp: trace.timestamp, + }; + }) + .filter((item): item is NonNullable => item !== null); + + // Filter by rating type + if (filterRating !== "all") { + return traces.filter((item) => item.rating === filterRating); + } + + // Sort by timestamp (newest first) + return traces.sort( + (a, b) => + new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime(), + ); + }, [manualRatings, allTraces, allSessions, filterRating]); + + // Statistics + const stats = React.useMemo(() => { + const total = manualRatings.size; + const correct = Array.from(manualRatings.values()).filter( + (r) => r === "correct", + ).length; + const needsWork = Array.from(manualRatings.values()).filter( + (r) => r === "needs-work", + ).length; + const wrong = Array.from(manualRatings.values()).filter( + (r) => r === "wrong", + ).length; + + return { total, correct, needsWork, wrong }; + }, [manualRatings]); + + const getRatingIcon = (rating: string) => { + switch (rating) { + case "correct": + return ; + case "needs-work": + return ; + case "wrong": + return ; + default: + return null; + } + }; + + const getRatingColor = (rating: string) => { + switch (rating) { + case "correct": + return "text-green-600 bg-green-50 border-green-200"; + case "needs-work": + return "text-yellow-600 bg-yellow-50 border-yellow-200"; + case "wrong": + return "text-red-600 bg-red-50 border-red-200"; + default: + return "text-gray-600 bg-gray-50 border-gray-200"; + } + }; + + if (manualRatings.size === 0) { + return ( +
+ +

+ No Manual Ratings Yet +

+

+ Start rating responses by clicking the "Correct", + "Needs Work", or "Wrong" buttons on any assistant + response. +

+
+ ); + } + + return ( +
+ {/* Statistics Cards */} +
+ +
{stats.total}
+
Total Rated
+
+ +
+ {stats.correct} +
+
Correct
+
+ +
+ {stats.needsWork} +
+
Needs Work
+
+ +
{stats.wrong}
+
Wrong
+
+
+ + {/* Filter Controls */} +
+ + + +
+ + {/* Ratings Table */} + + + + + Rating + Session + User + Timestamp + Actions + + + + {ratedTraces.map((item) => ( + + +
+ {getRatingIcon(item.rating)} + {item.rating === "needs-work" + ? "Needs Work" + : item.rating.charAt(0).toUpperCase() + + item.rating.slice(1)} +
+
+ +
+ {item.session?.id.slice(0, 8)}... +
+
+ +
+ {item.session?.userIds?.[0] || "Unknown User"} +
+
+ +
+ {new Date(item.timestamp).toLocaleString()} +
+
+ +
+ + +
+
+
+ ))} +
+
+
+ + {ratedTraces.length === 0 && filterRating !== "all" && ( +
+

+ No ratings found for " + {filterRating === "needs-work" ? "Needs Work" : filterRating}" + filter. +

+
+ )} +
+ ); +} + +// Observation Details Component - Fetches full observation with input/output +function ObservationDetails({ + observationId, + traceId, + projectId, + startTime, + name, +}: { + observationId: string; + traceId: string; + projectId: string; + startTime: Date; + name: string; +}) { + const observation = api.observations.byId.useQuery( + { + observationId, + traceId, + projectId, + startTime, + }, + { + enabled: !!observationId && !!projectId, + }, + ); + + // Extract arguments from input - return as object for PrettyJsonView + const inputArguments = (() => { + if (!observation.data?.input) return null; + + try { + const parsed = + typeof observation.data.input === "string" + ? JSON.parse(observation.data.input) + : observation.data.input; + + // Extract only the arguments field + if (parsed.arguments) { + return parsed.arguments; + } + return parsed; + } catch { + return null; + } + })(); + + // Extract only the nested result.result from output - return as object for rendering + const outputResult = (() => { + if (!observation.data?.output) return null; + + try { + let parsed: any = observation.data.output; + + // If it's a string, parse it + if (typeof parsed === "string") { + parsed = JSON.parse(parsed); + } + + // If result is a string, parse it again (double-stringified) + if (parsed.result && typeof parsed.result === "string") { + parsed.result = JSON.parse(parsed.result); + } + + // Extract result.result (the nested result field) + if (parsed.result && parsed.result.result) { + return parsed.result.result; + } + + // Fallback to just result if nested result doesn't exist + if (parsed.result) { + return parsed.result; + } + + return parsed; + } catch (e) { + console.error("Error parsing output:", e); + return null; + } + })(); + + if (observation.isLoading) { + return
Loading...
; + } + + return ( +
+ {/* Request/Input - Light Blue Border */} +
+
+ Req → {name} +
+
+ +
+
+ + {/* Response/Output - Purple Border */} +
+
+
+ Res +
+ + Response ({name}) + +
+
+ {name}_jaf +
+
+ +
+
+
+ ); +} + +// Final Response Section Component - Shows the final output with green highlight +function FinalResponseSection({ + trace, + projectId, +}: { + trace: any; + projectId: string; +}) { + // Fetch the trace data the same way TraceMessage does + const traceData = api.traces.byId.useQuery( + { + traceId: trace.id, + projectId, + timestamp: trace.timestamp, + }, + { + enabled: !!trace.id && !!projectId, + staleTime: 60 * 1000, + }, + ); + + // Use the EXACT same extraction logic as TraceMessage component + const finalOutputText = (() => { + if (!traceData.data?.output) return null; + + try { + let parsed: any = traceData.data.output; + + // Parse if it's a string + if (typeof parsed === "string") { + parsed = JSON.parse(parsed); + } + + let text = ""; + + // Extract outcome.output.text + if (parsed.outcome?.output?.text) { + text = parsed.outcome.output.text; + } + // Fallback: try output.text + else if (parsed.output?.text) { + text = parsed.output.text; + } + // Fallback: try just output + else if (parsed.output) { + text = + typeof parsed.output === "string" + ? parsed.output + : JSON.stringify(parsed.output); + } + // Last resort: stringify the whole thing + else { + text = typeof parsed === "string" ? parsed : JSON.stringify(parsed); + } + + // Replace placeholders with actual values from replacements + if (parsed.outcome?.output?.replacements) { + const replacements = parsed.outcome.output.replacements; + Object.entries(replacements).forEach(([key, value]) => { + // Replace {key} with the actual value + const placeholder = `{${key}}`; + text = text.replace( + new RegExp(placeholder.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g"), + String(value), + ); + }); + } + + return text; + } catch (e) { + console.error("Error parsing final output:", e); + return null; + } + })(); + + if (traceData.isLoading) { + return ( + +
+
+ Loading final response... +
+
+
+ ); + } + + if (!finalOutputText) return null; + + return ( + +
+
+ + Final Response + +
+
+ +
+
+
+ ); +} + +// Trace Message Component +function TraceMessage({ + trace, + traceMetric, + projectId, + isSelected, + onSelect, + manualRating, + onManualRatingChange, +}: { + trace: any; + traceMetric: any; + projectId: string; + isSelected: boolean; + onSelect: (traceId: string, timestamp: Date) => void; + manualRating?: string; + onManualRatingChange: (traceId: string, rating: string | null) => void; +}) { + // Use the manual rating from props instead of local state + const selectedRating = manualRating || null; + + const traceData = api.traces.byId.useQuery( + { + traceId: trace.id, + projectId, + timestamp: trace.timestamp, + }, + { + enabled: !!trace.id && !!projectId, + staleTime: 60 * 1000, + }, + ); + + // Fetch scores for this trace to get LLM eval feedback + const traceWithScores = api.traces.byIdWithObservationsAndScores.useQuery( + { + traceId: trace.id, + projectId, + timestamp: trace.timestamp, + }, + { + enabled: !!trace.id && !!projectId, + // Poll every 5 seconds if we don't have a genius-feedback score yet + refetchInterval: (query) => { + if (!query.state.data) return false; + const hasGeniusFeedback = query.state.data.scores?.some( + (score: any) => score.name === "genius-feedback", + ); + return hasGeniusFeedback ? false : 5000; + }, + }, + ); + + // Extract genius-feedback score + const geniusFeedbackScore = React.useMemo(() => { + if (!traceWithScores.data?.scores) return null; + return traceWithScores.data.scores.find( + (score: any) => score.name === "genius-feedback", + ); + }, [traceWithScores.data?.scores]); + + // Extract user_query from input, or return formatted JSON + const inputContent = (() => { + if (!traceData.data?.input) + return { text: trace.name || "Query", isJson: false }; + + if (typeof traceData.data.input === "string") { + try { + const parsed = JSON.parse(traceData.data.input); + // If user_query exists, return it as text + if (parsed.user_query) { + return { text: parsed.user_query, isJson: false }; + } + // Otherwise return the whole object as JSON + return { json: parsed, isJson: true }; + } catch { + return { text: traceData.data.input, isJson: false }; + } + } + + // If it's already an object + const input = traceData.data.input as any; + if (input.user_query) { + return { text: input.user_query, isJson: false }; + } + return { json: input, isJson: true }; + })(); + + // Extract output text or return formatted JSON + const outputContent = (() => { + if (!traceData.data?.output) return { text: "Response", isJson: false }; + + try { + let parsed: any = traceData.data.output; + + // Parse if it's a string + if (typeof parsed === "string") { + parsed = JSON.parse(parsed); + // Check if it's still a string (double-stringified) + if (typeof parsed === "string") { + parsed = JSON.parse(parsed); + } + } + + // IMPORTANT: Parse outcome.output if it's a string (double-stringified at nested level) + if (parsed.outcome?.output && typeof parsed.outcome.output === "string") { + // Check if it starts with { or [ (likely JSON) + const trimmed = parsed.outcome.output.trim(); + if (trimmed.startsWith("{") || trimmed.startsWith("[")) { + try { + // Try to parse as JSON - but handle malformed escape sequences first + // Some strings may have invalid escape sequences like \_ which are not valid JSON + let sanitizedOutput = parsed.outcome.output; + sanitizedOutput = sanitizedOutput.replace( + /\\([^"\\\/bfnrtu])/g, + "$1", + ); + parsed.outcome.output = JSON.parse(sanitizedOutput); + } catch (e) { + // If parsing fails, treat the string itself as the text content + parsed.outcome.output = { text: parsed.outcome.output }; + } + } else { + // It's plain text (markdown), not JSON - wrap it directly + parsed.outcome.output = { text: parsed.outcome.output }; + } + } + + // Try 1: Extract outcome.output.text with replacements FIRST + if (parsed.outcome?.output?.text) { + let text = parsed.outcome.output.text; + + // Replace placeholders with actual values from replacements + if (parsed.outcome?.output?.replacements) { + const replacements = parsed.outcome.output.replacements; + Object.entries(replacements).forEach(([key, value]) => { + const placeholder = `{${key}}`; + text = text.replace( + new RegExp( + placeholder.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), + "g", + ), + String(value), + ); + }); + } + + return { text, isJson: false }; + } + // Try 2: Check if outcome.output exists (for cases without .text) + else if (parsed.outcome?.output !== undefined) { + // If outcome.output is a string, return it directly + if (typeof parsed.outcome.output === "string") { + return { text: parsed.outcome.output, isJson: false }; + } + // If outcome.output is an object with text field, extract it + else if (parsed.outcome.output.text) { + return { text: parsed.outcome.output.text, isJson: false }; + } + // If outcome.output is an object without text, return as JSON + else { + return { json: parsed.outcome.output, isJson: true }; + } + } + // Final fallback: show the whole parsed object as JSON + else { + return { json: parsed, isJson: true }; + } + } catch (e) { + console.error("Error parsing output:", e); + return { + text: + typeof traceData.data.output === "string" + ? traceData.data.output + : JSON.stringify(traceData.data.output), + isJson: false, + }; + } + })(); + + return ( +
+ {/* User Query */} +
+ +
+ +
+
+ User Q • {new Date(trace.timestamp).toLocaleTimeString()} +
+ {inputContent.isJson ? ( +
+ +
+ ) : ( +
+ {inputContent.text} +
+ )} +
+
+
+
+ + {/* Assistant Response */} +
+ onSelect(trace.id, trace.timestamp)} + > +
+
+ AI +
+
+
+ Assistant Ans + + {new Date(trace.timestamp).toLocaleTimeString()} + + {traceMetric?.level === "ERROR" && ( + + Error + + )} +
+ {outputContent.isJson ? ( +
+ +
+ ) : ( +
+ +
+ )} + + {/* Rate Buttons */} +
+ Rate: + + + + {selectedRating && ( + + )} +
+ + {/* LLM Eval Section - Shows when genius-feedback score is available */} + {geniusFeedbackScore && ( +
+
+
+ +
+ + LLM Eval + +
+ +
+ {/* Judge Response */} +
+
+ Judge Response: +
+
+ + {geniusFeedbackScore.value === 1 + ? "CORRECT" + : "INCORRECT"} + +
+
+ + {/* Judgement Reason */} + {geniusFeedbackScore.comment && ( +
+
+ Judgement Reason: +
+
+
+ {geniusFeedbackScore.comment} +
+
+
+ )} +
+
+ )} + +
+ Click to view tool calls → +
+
+
+
+
+
+ ); +} diff --git a/web/src/server/api/routers/scores.ts b/web/src/server/api/routers/scores.ts index 6bcb64e2533f..56e6d8dcf449 100644 --- a/web/src/server/api/routers/scores.ts +++ b/web/src/server/api/routers/scores.ts @@ -361,7 +361,7 @@ export const scoresRouter = createTRPCRouter({ const score = !!clickhouseScore ? { ...clickhouseScore, - value: input.value, + value: input.value ?? null, stringValue: input.stringValue ?? null, comment: input.comment ?? null, metadata: {}, @@ -376,7 +376,7 @@ export const scoresRouter = createTRPCRouter({ ...inflatedParams, // only trace and session scores are supported for annotation datasetRunId: null, - value: input.value, + value: input.value ?? null, stringValue: input.stringValue ?? null, dataType: input.dataType ?? null, configId: input.configId ?? null, @@ -547,7 +547,7 @@ export const scoresRouter = createTRPCRouter({ sessionId: inflatedParams.sessionId, datasetRunId: null, name: input.name, - value: input.value, + value: input.value ?? null, dataType: input.dataType, configId: input.configId ?? null, metadata: {}, @@ -642,7 +642,7 @@ export const scoresRouter = createTRPCRouter({ const baseScore = { ...score, - value: input.value, + value: input.value ?? null, comment: input.comment ?? null, authorUserId: ctx.session.user.id, queueId: input.queueId ?? null, @@ -786,4 +786,212 @@ export const scoresRouter = createTRPCRouter({ .query(async ({ input }) => { return (await getScoreMetadataById(input.projectId, input.id)) ?? null; }), + + // Manual rating endpoints for Juspay Dashboard + createManualRating: protectedProjectProcedure + .input( + z.object({ + projectId: z.string(), + traceId: z.string(), + rating: z.enum(["correct", "needs-work", "wrong"]), + comment: z.string().optional(), + }), + ) + .mutation(async ({ input, ctx }) => { + throwIfNoProjectAccess({ + session: ctx.session, + projectId: input.projectId, + scope: "scores:CUD", + }); + + // Check if trace exists + const clickhouseTrace = await getTraceById({ + traceId: input.traceId, + projectId: input.projectId, + clickhouseFeatureTag: "manual-rating", + }); + + if (!clickhouseTrace) { + throw new LangfuseNotFoundError( + `No trace with id ${input.traceId} in project ${input.projectId}`, + ); + } + + // Check if manual rating already exists for this trace + const existingScore = await searchExistingAnnotationScore( + input.projectId, + null, // observationId + input.traceId, + null, // sessionId + "manual-rating", + undefined, // configId + "CATEGORICAL", + ); + + const scoreId = existingScore?.id ?? v4(); + const now = new Date(); + + await upsertScore({ + id: scoreId, + timestamp: convertDateToClickhouseDateTime(now), + project_id: input.projectId, + environment: "default", + trace_id: input.traceId, + observation_id: null, + session_id: null, + name: "manual-rating", + source: ScoreSourceEnum.ANNOTATION, + comment: input.comment || `Manual rating: ${input.rating}`, + author_user_id: ctx.session.user.id, + config_id: null, + data_type: "CATEGORICAL", + string_value: input.rating, + queue_id: null, + created_at: convertDateToClickhouseDateTime(now), + updated_at: convertDateToClickhouseDateTime(now), + metadata: {}, + }); + + await auditLog({ + session: ctx.session, + resourceType: "score", + resourceId: scoreId, + action: existingScore ? "update" : "create", + after: { + id: scoreId, + projectId: input.projectId, + traceId: input.traceId, + name: "manual-rating", + stringValue: input.rating, + comment: input.comment || `Manual rating: ${input.rating}`, + authorUserId: ctx.session.user.id, + source: ScoreSourceEnum.ANNOTATION, + dataType: "CATEGORICAL", + timestamp: now, + }, + }); + + return { success: true, scoreId }; + }), + + getManualRatings: protectedProjectProcedure + .input( + z.object({ + projectId: z.string(), + fromDate: z.date().optional(), + toDate: z.date().optional(), + }), + ) + .mutation(async ({ input }) => { + try { + const filters: any[] = [ + { + column: "name", + type: "string", + operator: "=", + value: "manual-rating", + }, + ]; + + // Add date range filters if provided + if (input.fromDate) { + filters.push({ + column: "timestamp", + type: "datetime", + operator: ">=", + value: input.fromDate, + }); + } + if (input.toDate) { + filters.push({ + column: "timestamp", + type: "datetime", + operator: "<=", + value: input.toDate, + }); + } + + const scores = await getScoresUiTable({ + projectId: input.projectId, + filter: filters, + orderBy: { column: "timestamp", order: "DESC" as const }, + limit: 100, + offset: 0, + excludeMetadata: true, + includeHasMetadataFlag: false, + }); + + return scores.map((score) => ({ + traceId: score.traceId!, + rating: score.stringValue!, + comment: score.comment, + authorUserId: score.authorUserId, + timestamp: score.timestamp, + scoreId: score.id, + })); + } catch (error) { + logger.error("Error fetching manual ratings:", error); + // Return empty array instead of throwing to prevent UI breakage + return []; + } + }), + + deleteManualRating: protectedProjectProcedure + .input( + z.object({ + projectId: z.string(), + traceId: z.string(), + }), + ) + .mutation(async ({ input, ctx }) => { + throwIfNoProjectAccess({ + session: ctx.session, + projectId: input.projectId, + scope: "scores:CUD", + }); + + // Find the manual rating score for this trace + const scores = await getScoresUiTable({ + projectId: input.projectId, + filter: [ + { + column: "name", + type: "string", + operator: "=", + value: "manual-rating", + }, + { + column: "traceId", + type: "string", + operator: "=", + value: input.traceId, + }, + ], + orderBy: { column: "timestamp", order: "DESC" as const }, + limit: 1, + offset: 0, + excludeMetadata: true, + includeHasMetadataFlag: false, + }); + + if (scores.length === 0) { + throw new LangfuseNotFoundError( + `No manual rating found for trace ${input.traceId} in project ${input.projectId}`, + ); + } + + const score = scores[0]; + + await auditLog({ + session: ctx.session, + resourceType: "score", + resourceId: score.id, + action: "delete", + before: score, + }); + + await deleteScores(input.projectId, [score.id]); + + return { success: true }; + }), });