From 8e116bf62d3145927d5b3114cbe7d42f8b322942 Mon Sep 17 00:00:00 2001 From: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com> Date: Wed, 29 Jan 2025 11:34:22 +0530 Subject: [PATCH 01/44] fix: recall in follow up (#4680) --- .../modules/survey-follow-ups/components/follow-up-modal.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/web/modules/survey-follow-ups/components/follow-up-modal.tsx b/apps/web/modules/survey-follow-ups/components/follow-up-modal.tsx index 5eadd79c43..7bda78a600 100644 --- a/apps/web/modules/survey-follow-ups/components/follow-up-modal.tsx +++ b/apps/web/modules/survey-follow-ups/components/follow-up-modal.tsx @@ -33,6 +33,7 @@ import toast from "react-hot-toast"; import { TSurveyFollowUpAction, TSurveyFollowUpTrigger } from "@formbricks/database/types/survey-follow-up"; import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; import { QUESTIONS_ICON_MAP } from "@formbricks/lib/utils/questions"; +import { recallToHeadline } from "@formbricks/lib/utils/recall"; import { TSurvey, TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; import { @@ -101,7 +102,9 @@ export const FollowUpModal = ({ return [ ...openTextAndContactQuestions.map((question) => ({ - label: getLocalizedValue(question.headline, selectedLanguageCode), + label: recallToHeadline(question.headline, localSurvey, false, selectedLanguageCode)[ + selectedLanguageCode + ], id: question.id, type: question.type === TSurveyQuestionTypeEnum.OpenText From 458f135ee10fcffd076bf7ce6a4c4d97e0f32b95 Mon Sep 17 00:00:00 2001 From: Matti Nannt Date: Wed, 29 Jan 2025 10:18:16 +0100 Subject: [PATCH 02/44] chore(cloud): move from customer-io to brevo (#4681) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> --- .env.example | 6 +-- apps/web/modules/auth/lib/authOptions.ts | 4 ++ apps/web/modules/auth/lib/brevo.test.ts | 58 +++++++++++++++++++++ apps/web/modules/auth/lib/brevo.ts | 42 +++++++++++++++ apps/web/modules/auth/lib/user.test.ts | 9 ---- apps/web/modules/auth/lib/user.ts | 3 -- apps/web/modules/ee/sso/lib/sso-handlers.ts | 4 ++ apps/web/package.json | 1 + packages/lib/constants.ts | 5 +- packages/lib/customerio.ts | 31 ----------- packages/lib/env.ts | 8 +-- pnpm-lock.yaml | 7 ++- turbo.json | 4 +- 13 files changed, 126 insertions(+), 56 deletions(-) create mode 100644 apps/web/modules/auth/lib/brevo.test.ts create mode 100644 apps/web/modules/auth/lib/brevo.ts delete mode 100644 packages/lib/customerio.ts diff --git a/.env.example b/.env.example index 2a8ba5eebb..1d3dd9e019 100644 --- a/.env.example +++ b/.env.example @@ -167,9 +167,9 @@ ENTERPRISE_LICENSE_KEY= # DEFAULT_ORGANIZATION_ID= # DEFAULT_ORGANIZATION_ROLE=owner -# Send new users to customer.io -# CUSTOMER_IO_API_KEY= -# CUSTOMER_IO_SITE_ID= +# Send new users to Brevo +# BREVO_API_KEY= +# BREVO_LIST_ID= # Ignore Rate Limiting across the Formbricks app # RATE_LIMITING_DISABLED=1 diff --git a/apps/web/modules/auth/lib/authOptions.ts b/apps/web/modules/auth/lib/authOptions.ts index a12f9aecae..73a09f3e46 100644 --- a/apps/web/modules/auth/lib/authOptions.ts +++ b/apps/web/modules/auth/lib/authOptions.ts @@ -13,6 +13,7 @@ import { import { symmetricDecrypt, symmetricEncrypt } from "@formbricks/lib/crypto"; import { verifyToken } from "@formbricks/lib/jwt"; import { TUser } from "@formbricks/types/user"; +import { createBrevoCustomer } from "./brevo"; export const authOptions: NextAuthOptions = { providers: [ @@ -162,6 +163,9 @@ export const authOptions: NextAuthOptions = { user = await updateUser(user.id, { emailVerified: new Date() }); + // send new user to brevo after email verification + createBrevoCustomer({ id: user.id, email: user.email }); + return user; }, }), diff --git a/apps/web/modules/auth/lib/brevo.test.ts b/apps/web/modules/auth/lib/brevo.test.ts new file mode 100644 index 0000000000..e789485673 --- /dev/null +++ b/apps/web/modules/auth/lib/brevo.test.ts @@ -0,0 +1,58 @@ +import { Response } from "node-fetch"; +import { beforeEach, describe, expect, it, vi } from "vitest"; +import { validateInputs } from "@formbricks/lib/utils/validate"; +import { createBrevoCustomer } from "./brevo"; + +vi.mock("@formbricks/lib/constants", () => ({ + BREVO_API_KEY: "mock_api_key", + BREVO_LIST_ID: "123", +})); + +vi.mock("@formbricks/lib/utils/validate", () => ({ + validateInputs: vi.fn(), +})); + +global.fetch = vi.fn(); + +describe("createBrevoCustomer", () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it("should return early if BREVO_API_KEY is not defined", async () => { + vi.doMock("@formbricks/lib/constants", () => ({ + BREVO_API_KEY: undefined, + BREVO_LIST_ID: "123", + })); + + const { createBrevoCustomer } = await import("./brevo"); + + const result = await createBrevoCustomer({ id: "123", email: "test@example.com" }); + + expect(result).toBeUndefined(); + expect(global.fetch).not.toHaveBeenCalled(); + expect(validateInputs).not.toHaveBeenCalled(); + }); + + it("should log an error if fetch fails", async () => { + const consoleSpy = vi.spyOn(console, "error"); + + vi.mocked(global.fetch).mockRejectedValueOnce(new Error("Fetch failed")); + + await createBrevoCustomer({ id: "123", email: "test@example.com" }); + + expect(consoleSpy).toHaveBeenCalledWith("Error sending user to Brevo:", expect.any(Error)); + }); + + it("should log the error response if fetch status is not 200", async () => { + const consoleSpy = vi.spyOn(console, "error"); + + vi.mocked(global.fetch).mockResolvedValueOnce( + new Response("Bad Request", { status: 400, statusText: "Bad Request" }) + ); + + await createBrevoCustomer({ id: "123", email: "test@example.com" }); + + expect(consoleSpy).toHaveBeenCalledWith("Error sending user to Brevo:", "Bad Request"); + }); +}); diff --git a/apps/web/modules/auth/lib/brevo.ts b/apps/web/modules/auth/lib/brevo.ts new file mode 100644 index 0000000000..4308f4857b --- /dev/null +++ b/apps/web/modules/auth/lib/brevo.ts @@ -0,0 +1,42 @@ +import { BREVO_API_KEY, BREVO_LIST_ID } from "@formbricks/lib/constants"; +import { validateInputs } from "@formbricks/lib/utils/validate"; +import { ZId } from "@formbricks/types/common"; +import { TUserEmail, ZUserEmail } from "@formbricks/types/user"; + +export const createBrevoCustomer = async ({ id, email }: { id: string; email: TUserEmail }) => { + if (!BREVO_API_KEY) { + return; + } + + validateInputs([id, ZId], [email, ZUserEmail]); + + try { + const requestBody: any = { + email, + ext_id: id, + updateEnabled: false, + }; + + // Add `listIds` only if `BREVO_LIST_ID` is defined + const listId = BREVO_LIST_ID ? parseInt(BREVO_LIST_ID, 10) : null; + if (listId && !Number.isNaN(listId)) { + requestBody.listIds = [listId]; + } + + const res = await fetch("https://api.brevo.com/v3/contacts", { + method: "POST", + headers: { + Accept: "application/json", + "Content-Type": "application/json", + "api-key": BREVO_API_KEY, + }, + body: JSON.stringify(requestBody), + }); + + if (res.status !== 200) { + console.error("Error sending user to Brevo:", await res.text()); + } + } catch (error) { + console.error("Error sending user to Brevo:", error); + } +}; diff --git a/apps/web/modules/auth/lib/user.test.ts b/apps/web/modules/auth/lib/user.test.ts index ee5ef11ce0..1cbbd63dc8 100644 --- a/apps/web/modules/auth/lib/user.test.ts +++ b/apps/web/modules/auth/lib/user.test.ts @@ -1,7 +1,6 @@ import { Prisma } from "@prisma/client"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { prisma } from "@formbricks/database"; -import { createCustomerIoCustomer } from "@formbricks/lib/customerio"; import { userCache } from "@formbricks/lib/user/cache"; import { InvalidInputError, ResourceNotFoundError } from "@formbricks/types/errors"; import { mockUser } from "./mock-data"; @@ -27,10 +26,6 @@ vi.mock("@formbricks/database", () => ({ }, })); -vi.mock("@formbricks/lib/customerio", () => ({ - createCustomerIoCustomer: vi.fn(), -})); - vi.mock("@formbricks/lib/user/cache", () => ({ userCache: { revalidate: vi.fn(), @@ -57,10 +52,6 @@ describe("User Management", () => { }); expect(result).toEqual(mockPrismaUser); - expect(createCustomerIoCustomer).toHaveBeenCalledWith({ - id: mockPrismaUser.id, - email: mockPrismaUser.email, - }); expect(userCache.revalidate).toHaveBeenCalled(); }); diff --git a/apps/web/modules/auth/lib/user.ts b/apps/web/modules/auth/lib/user.ts index e156a6ef28..ab47f40e6e 100644 --- a/apps/web/modules/auth/lib/user.ts +++ b/apps/web/modules/auth/lib/user.ts @@ -2,7 +2,6 @@ import { Prisma } from "@prisma/client"; import { cache as reactCache } from "react"; import { prisma } from "@formbricks/database"; import { cache } from "@formbricks/lib/cache"; -import { createCustomerIoCustomer } from "@formbricks/lib/customerio"; import { userCache } from "@formbricks/lib/user/cache"; import { validateInputs } from "@formbricks/lib/utils/validate"; import { ZId } from "@formbricks/types/common"; @@ -128,8 +127,6 @@ export const createUser = async (data: TUserCreateInput) => { count: true, }); - // send new user customer.io to customer.io - createCustomerIoCustomer({ id: user.id, email: user.email }); return user; } catch (error) { if (error instanceof Prisma.PrismaClientKnownRequestError && error.code === "P2002") { diff --git a/apps/web/modules/ee/sso/lib/sso-handlers.ts b/apps/web/modules/ee/sso/lib/sso-handlers.ts index ef44bf599c..be6433fd44 100644 --- a/apps/web/modules/ee/sso/lib/sso-handlers.ts +++ b/apps/web/modules/ee/sso/lib/sso-handlers.ts @@ -1,3 +1,4 @@ +import { createBrevoCustomer } from "@/modules/auth/lib/brevo"; import { getUserByEmail, updateUser } from "@/modules/auth/lib/user"; import { createUser } from "@/modules/auth/lib/user"; import type { IdentityProvider } from "@prisma/client"; @@ -78,6 +79,9 @@ export const handleSSOCallback = async ({ user, account }: { user: TUser; accoun locale: await findMatchingLocale(), }); + // send new user to brevo + createBrevoCustomer({ id: user.id, email: user.email }); + // Default organization assignment if env variable is set if (DEFAULT_ORGANIZATION_ID && DEFAULT_ORGANIZATION_ID.length > 0) { // check if organization exists diff --git a/apps/web/package.json b/apps/web/package.json index 91ca49058e..83d44b170b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -92,6 +92,7 @@ "next-auth": "4.24.11", "next-intl": "3.26.1", "next-safe-action": "7.10.2", + "node-fetch": "3.3.2", "nodemailer": "6.9.16", "optional": "0.1.4", "otplib": "12.0.1", diff --git a/packages/lib/constants.ts b/packages/lib/constants.ts index 8b1ca0e9e0..24c7dc7905 100644 --- a/packages/lib/constants.ts +++ b/packages/lib/constants.ts @@ -188,8 +188,9 @@ export const REDIS_URL = env.REDIS_URL; export const REDIS_HTTP_URL = env.REDIS_HTTP_URL; export const RATE_LIMITING_DISABLED = env.RATE_LIMITING_DISABLED === "1"; -export const CUSTOMER_IO_SITE_ID = env.CUSTOMER_IO_SITE_ID; -export const CUSTOMER_IO_API_KEY = env.CUSTOMER_IO_API_KEY; +export const BREVO_API_KEY = env.BREVO_API_KEY; +export const BREVO_LIST_ID = env.BREVO_LIST_ID; + export const UNSPLASH_ACCESS_KEY = env.UNSPLASH_ACCESS_KEY; export const UNSPLASH_ALLOWED_DOMAINS = ["api.unsplash.com"]; diff --git a/packages/lib/customerio.ts b/packages/lib/customerio.ts deleted file mode 100644 index 9c7f5f5f8b..0000000000 --- a/packages/lib/customerio.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ZId } from "@formbricks/types/common"; -import { TUserEmail, ZUserEmail } from "@formbricks/types/user"; -import { CUSTOMER_IO_API_KEY, CUSTOMER_IO_SITE_ID } from "./constants"; -import { validateInputs } from "./utils/validate"; - -export const createCustomerIoCustomer = async ({ id, email }: { id: string; email: TUserEmail }) => { - if (!CUSTOMER_IO_SITE_ID || !CUSTOMER_IO_API_KEY) { - return; - } - - validateInputs([id, ZId], [email, ZUserEmail]); - - try { - const auth = Buffer.from(`${CUSTOMER_IO_SITE_ID}:${CUSTOMER_IO_API_KEY}`).toString("base64"); - const res = await fetch(`https://track-eu.customer.io/api/v1/customers/${id}`, { - method: "PUT", - headers: { - Authorization: `Basic ${auth}`, - }, - body: JSON.stringify({ - id: id, - email: email, - }), - }); - if (res.status !== 200) { - console.log("Error sending user to CustomerIO:", await res.text()); - } - } catch (error) { - console.log("error sending user to CustomerIO:", error); - } -}; diff --git a/packages/lib/env.ts b/packages/lib/env.ts index 879b5d5093..66e421f1ee 100644 --- a/packages/lib/env.ts +++ b/packages/lib/env.ts @@ -18,8 +18,8 @@ export const env = createEnv({ AZUREAD_CLIENT_SECRET: z.string().optional(), AZUREAD_TENANT_ID: z.string().optional(), CRON_SECRET: z.string().min(10), - CUSTOMER_IO_API_KEY: z.string().optional(), - CUSTOMER_IO_SITE_ID: z.string().optional(), + BREVO_API_KEY: z.string().optional(), + BREVO_LIST_ID: z.string().optional(), DATABASE_URL: z.string().url(), DEBUG: z.enum(["1", "0"]).optional(), DEFAULT_ORGANIZATION_ID: z.string().optional(), @@ -141,9 +141,9 @@ export const env = createEnv({ AZUREAD_CLIENT_ID: process.env.AZUREAD_CLIENT_ID, AZUREAD_CLIENT_SECRET: process.env.AZUREAD_CLIENT_SECRET, AZUREAD_TENANT_ID: process.env.AZUREAD_TENANT_ID, + BREVO_API_KEY: process.env.BREVO_API_KEY, + BREVO_LIST_ID: process.env.BREVO_LIST_ID, CRON_SECRET: process.env.CRON_SECRET, - CUSTOMER_IO_API_KEY: process.env.CUSTOMER_IO_API_KEY, - CUSTOMER_IO_SITE_ID: process.env.CUSTOMER_IO_SITE_ID, DATABASE_URL: process.env.DATABASE_URL, DEBUG: process.env.DEBUG, DEFAULT_ORGANIZATION_ID: process.env.DEFAULT_ORGANIZATION_ID, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 916ab22514..f95ed8af66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -154,7 +154,7 @@ importers: version: 8.14.0 autoprefixer: specifier: 10.4.20 - version: 10.4.20(postcss@8.4.49) + version: 10.4.20(postcss@8.5.1) clsx: specifier: 2.1.1 version: 2.1.1 @@ -513,7 +513,7 @@ importers: version: 4.0.18(react@19.0.0)(zod@3.24.1) autoprefixer: specifier: 10.4.20 - version: 10.4.20(postcss@8.5.1) + version: 10.4.20(postcss@8.4.49) bcryptjs: specifier: 2.4.3 version: 2.4.3 @@ -586,6 +586,9 @@ importers: next-safe-action: specifier: 7.10.2 version: 7.10.2(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1) + node-fetch: + specifier: 3.3.2 + version: 3.3.2 nodemailer: specifier: 6.9.16 version: 6.9.16 diff --git a/turbo.json b/turbo.json index 6a752b0aff..32d10489ce 100644 --- a/turbo.json +++ b/turbo.json @@ -84,12 +84,12 @@ "AZUREAD_CLIENT_ID", "AZUREAD_CLIENT_SECRET", "AZUREAD_TENANT_ID", + "BREVO_API_KEY", + "BREVO_LIST_ID", "DEFAULT_ORGANIZATION_ID", "DEFAULT_ORGANIZATION_ROLE", "CRON_SECRET", "CUSTOM_CACHE_DISABLED", - "CUSTOMER_IO_API_KEY", - "CUSTOMER_IO_SITE_ID", "DATABASE_URL", "DEBUG", "E2E_TESTING", From f7f5737abf5d500f1477bf5544e84ed7140e3aea Mon Sep 17 00:00:00 2001 From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Date: Thu, 30 Jan 2025 15:24:48 +0530 Subject: [PATCH 03/44] fix: email inconsistencies (#4678) --- .../[surveyId]/(analysis)/summary/actions.ts | 5 +-- .../(analysis)/summary/lib/emailTemplate.tsx | 4 +- apps/web/modules/auth/signup/actions.ts | 7 +++- .../whitelabel/email-customization/actions.ts | 1 - .../modules/email/components/email-footer.tsx | 11 ++++-- .../email/components/email-template.tsx | 13 ++++--- .../components/preview-email-template.tsx | 34 ++++++++++------ .../emails/auth/forgot-password-email.tsx | 4 +- .../auth/password-reset-notify-email.tsx | 4 +- .../email/emails/auth/verification-email.tsx | 4 +- .../email-customization-preview-email.tsx | 2 +- .../emails/invite/invite-accepted-email.tsx | 4 +- .../email/emails/invite/invite-email.tsx | 6 +-- .../emails/invite/onboarding-invite-email.tsx | 9 +++-- .../survey/embed-survey-preview-email.tsx | 2 +- .../email/emails/survey/link-survey-email.tsx | 4 +- .../emails/survey/response-finished-email.tsx | 2 +- .../weekly-summary-notification-email.tsx | 2 +- apps/web/modules/email/index.tsx | 39 +++++++++++-------- packages/lib/invite/service.ts | 2 + packages/lib/messages/de-DE.json | 25 +++++++++++- packages/lib/messages/en-US.json | 25 +++++++++++- packages/lib/messages/fr-FR.json | 25 +++++++++++- packages/lib/messages/pt-BR.json | 25 +++++++++++- 24 files changed, 192 insertions(+), 67 deletions(-) diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/actions.ts b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/actions.ts index a10f20f9d8..8ddaff95db 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/actions.ts +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/actions.ts @@ -43,7 +43,7 @@ export const sendEmbedSurveyPreviewEmailAction = authenticatedActionClient throw new ResourceNotFoundError("Survey", parsedInput.surveyId); } - const rawEmailHtml = await getEmailTemplateHtml(parsedInput.surveyId); + const rawEmailHtml = await getEmailTemplateHtml(parsedInput.surveyId, ctx.user.locale); const emailHtml = rawEmailHtml .replaceAll("?preview=true&", "?") .replaceAll("?preview=true&;", "?") @@ -51,7 +51,6 @@ export const sendEmbedSurveyPreviewEmailAction = authenticatedActionClient return await sendEmbedSurveyPreviewEmail( ctx.user.email, - "Formbricks Email Survey Preview", emailHtml, survey.environmentId, ctx.user.locale, @@ -182,5 +181,5 @@ export const getEmailHtmlAction = authenticatedActionClient ], }); - return await getEmailTemplateHtml(parsedInput.surveyId); + return await getEmailTemplateHtml(parsedInput.surveyId, ctx.user.locale); }); diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/lib/emailTemplate.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/lib/emailTemplate.tsx index 3c65ef968c..0861c1b7b4 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/lib/emailTemplate.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/lib/emailTemplate.tsx @@ -4,7 +4,7 @@ import { getProjectByEnvironmentId } from "@formbricks/lib/project/service"; import { getSurvey } from "@formbricks/lib/survey/service"; import { getStyling } from "@formbricks/lib/utils/styling"; -export const getEmailTemplateHtml = async (surveyId: string) => { +export const getEmailTemplateHtml = async (surveyId: string, locale: string) => { const survey = await getSurvey(surveyId); if (!survey) { throw new Error("Survey not found"); @@ -16,7 +16,7 @@ export const getEmailTemplateHtml = async (surveyId: string) => { const styling = getStyling(project, survey); const surveyUrl = WEBAPP_URL + "/s/" + survey.id; - const html = await getPreviewEmailTemplateHtml(survey, surveyUrl, styling); + const html = await getPreviewEmailTemplateHtml(survey, surveyUrl, styling, locale); const doctype = ''; const htmlCleaned = html.toString().replace(doctype, ""); diff --git a/apps/web/modules/auth/signup/actions.ts b/apps/web/modules/auth/signup/actions.ts index 1bfd22dab2..483dacbaeb 100644 --- a/apps/web/modules/auth/signup/actions.ts +++ b/apps/web/modules/auth/signup/actions.ts @@ -85,7 +85,12 @@ export const createUserAction = actionClient.schema(ZCreateUserAction).action(as }, }); - await sendInviteAcceptedEmail(invite.creator.name ?? "", user.name, invite.creator.email, user.locale); + await sendInviteAcceptedEmail( + invite.creator.name ?? "", + user.name, + invite.creator.email, + invite.creator.locale + ); await deleteInvite(invite.id); } // Handle organization assignment diff --git a/apps/web/modules/ee/whitelabel/email-customization/actions.ts b/apps/web/modules/ee/whitelabel/email-customization/actions.ts index 3d6d5eb95b..89e5c7bca7 100644 --- a/apps/web/modules/ee/whitelabel/email-customization/actions.ts +++ b/apps/web/modules/ee/whitelabel/email-customization/actions.ts @@ -90,7 +90,6 @@ export const sendTestEmailAction = authenticatedActionClient await sendEmailCustomizationPreviewEmail( ctx.user.email, - "Formbricks Email Customization Preview", ctx.user.name, ctx.user.locale, organization?.whitelabel?.logoUrl || "" diff --git a/apps/web/modules/email/components/email-footer.tsx b/apps/web/modules/email/components/email-footer.tsx index 27f93026be..400c661c0a 100644 --- a/apps/web/modules/email/components/email-footer.tsx +++ b/apps/web/modules/email/components/email-footer.tsx @@ -1,10 +1,15 @@ +import { translateEmailText } from "@/modules/email/lib/utils"; import { Text } from "@react-email/components"; -export function EmailFooter(): React.JSX.Element { +interface EmailFooterProps { + locale: string; +} + +export function EmailFooter({ locale }: EmailFooterProps): React.JSX.Element { return ( - Have a great day! -
The Formbricks Team + {translateEmailText("email_footer_text_1", locale)} +
{translateEmailText("email_footer_text_2", locale)}
); } diff --git a/apps/web/modules/email/components/email-template.tsx b/apps/web/modules/email/components/email-template.tsx index c32b0aedf0..26d3aca15f 100644 --- a/apps/web/modules/email/components/email-template.tsx +++ b/apps/web/modules/email/components/email-template.tsx @@ -1,3 +1,4 @@ +import { translateEmailText } from "@/modules/email/lib/utils"; import { Body, Container, Html, Img, Link, Section, Tailwind, Text } from "@react-email/components"; import { IMPRINT_ADDRESS, IMPRINT_URL, PRIVACY_URL } from "@formbricks/lib/constants"; @@ -8,9 +9,10 @@ const logoLink = "https://formbricks.com?utm_source=email_header&utm_medium=emai interface EmailTemplateProps { children: React.ReactNode; logoUrl?: string; + locale: string; } -export function EmailTemplate({ children, logoUrl }: EmailTemplateProps): React.JSX.Element { +export function EmailTemplate({ children, logoUrl, locale }: EmailTemplateProps): React.JSX.Element { const isDefaultLogo = !logoUrl || logoUrl === fbLogoUrl; return ( @@ -35,21 +37,22 @@ export function EmailTemplate({ children, logoUrl }: EmailTemplateProps): React.
- This email was sent via Formbricks. + + {translateEmailText("email_template_text_1", locale)} + {IMPRINT_ADDRESS && ( {IMPRINT_ADDRESS} )} {IMPRINT_URL && ( - Imprint{" "} + {translateEmailText("imprint", locale)} )} {IMPRINT_URL && PRIVACY_URL && "‱"} {PRIVACY_URL && ( - {" "} - Privacy Policy + {translateEmailText("privacy_policy", locale)} )} diff --git a/apps/web/modules/email/components/preview-email-template.tsx b/apps/web/modules/email/components/preview-email-template.tsx index 3d749f4933..851efea501 100644 --- a/apps/web/modules/email/components/preview-email-template.tsx +++ b/apps/web/modules/email/components/preview-email-template.tsx @@ -18,28 +18,34 @@ import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; import { COLOR_DEFAULTS } from "@formbricks/lib/styling/constants"; import { isLight, mixColor } from "@formbricks/lib/utils/colors"; import { type TSurvey, TSurveyQuestionTypeEnum, type TSurveyStyling } from "@formbricks/types/surveys/types"; -import { getNPSOptionColor, getRatingNumberOptionColor } from "../lib/utils"; +import { getNPSOptionColor, getRatingNumberOptionColor, translateEmailText } from "../lib/utils"; interface PreviewEmailTemplateProps { survey: TSurvey; surveyUrl: string; styling: TSurveyStyling; + locale: string; } export const getPreviewEmailTemplateHtml = async ( survey: TSurvey, surveyUrl: string, - styling: TSurveyStyling + styling: TSurveyStyling, + locale: string ): Promise => { - return render(, { - pretty: true, - }); + return render( + , + { + pretty: true, + } + ); }; export function PreviewEmailTemplate({ survey, surveyUrl, styling, + locale, }: PreviewEmailTemplateProps): React.JSX.Element { const url = `${surveyUrl}?preview=true`; const urlWithPrefilling = `${surveyUrl}?preview=true&skipPrefilled=true&`; @@ -87,7 +93,7 @@ export function PreviewEmailTemplate({ - Reject + {translateEmailText("reject", locale)} )} - Accept + {translateEmailText("accept", locale)} @@ -365,17 +371,17 @@ export function PreviewEmailTemplate({ - {getLocalizedValue(firstQuestion.subheader, defaultLanguageCode)} + {getLocalizedValue(firstQuestion.headline, defaultLanguageCode)} - You have been invited to schedule a meet via cal.com. + {getLocalizedValue(firstQuestion.subheader, defaultLanguageCode)} - Schedule your meeting + {translateEmailText("schedule_your_meeting", defaultLanguageCode)} @@ -392,7 +398,9 @@ export function PreviewEmailTemplate({
- Select a date + + {translateEmailText("select_a_date", defaultLanguageCode)} +
@@ -478,7 +486,9 @@ export function PreviewEmailTemplate({
- Click or drag to upload files. + + {translateEmailText("click_or_drag_to_upload_files", defaultLanguageCode)} +
diff --git a/apps/web/modules/email/emails/auth/forgot-password-email.tsx b/apps/web/modules/email/emails/auth/forgot-password-email.tsx index 37c845fd16..80263c62d9 100644 --- a/apps/web/modules/email/emails/auth/forgot-password-email.tsx +++ b/apps/web/modules/email/emails/auth/forgot-password-email.tsx @@ -12,7 +12,7 @@ interface ForgotPasswordEmailProps { export function ForgotPasswordEmail({ verifyLink, locale }: ForgotPasswordEmailProps): React.JSX.Element { return ( - + {translateEmailText("forgot_password_email_heading", locale)} {translateEmailText("forgot_password_email_text", locale)} @@ -24,7 +24,7 @@ export function ForgotPasswordEmail({ verifyLink, locale }: ForgotPasswordEmailP {translateEmailText("forgot_password_email_link_valid_for_24_hours", locale)} {translateEmailText("forgot_password_email_did_not_request", locale)} - + ); diff --git a/apps/web/modules/email/emails/auth/password-reset-notify-email.tsx b/apps/web/modules/email/emails/auth/password-reset-notify-email.tsx index ec0eeb720a..51f2840738 100644 --- a/apps/web/modules/email/emails/auth/password-reset-notify-email.tsx +++ b/apps/web/modules/email/emails/auth/password-reset-notify-email.tsx @@ -10,11 +10,11 @@ interface PasswordResetNotifyEmailProps { export function PasswordResetNotifyEmail({ locale }: PasswordResetNotifyEmailProps): React.JSX.Element { return ( - + {translateEmailText("password_changed_email_heading", locale)} {translateEmailText("password_changed_email_text", locale)} - + ); diff --git a/apps/web/modules/email/emails/auth/verification-email.tsx b/apps/web/modules/email/emails/auth/verification-email.tsx index 0da20d8c62..2967e4238d 100644 --- a/apps/web/modules/email/emails/auth/verification-email.tsx +++ b/apps/web/modules/email/emails/auth/verification-email.tsx @@ -17,7 +17,7 @@ export function VerificationEmail({ locale, }: VerificationEmailProps): React.JSX.Element { return ( - + {translateEmailText("verification_email_heading", locale)} {translateEmailText("verification_email_text", locale)} @@ -38,7 +38,7 @@ export function VerificationEmail({ {translateEmailText("verification_email_request_new_verification", locale)} - + ); diff --git a/apps/web/modules/email/emails/general/email-customization-preview-email.tsx b/apps/web/modules/email/emails/general/email-customization-preview-email.tsx index 9084604019..f230dae8d6 100644 --- a/apps/web/modules/email/emails/general/email-customization-preview-email.tsx +++ b/apps/web/modules/email/emails/general/email-customization-preview-email.tsx @@ -15,7 +15,7 @@ export function EmailCustomizationPreviewEmail({ logoUrl, }: EmailCustomizationPreviewEmailProps): React.JSX.Element { return ( - + {translateEmailText("email_customization_preview_email_heading", locale, { diff --git a/apps/web/modules/email/emails/invite/invite-accepted-email.tsx b/apps/web/modules/email/emails/invite/invite-accepted-email.tsx index fa6828fd7e..e8505d5f13 100644 --- a/apps/web/modules/email/emails/invite/invite-accepted-email.tsx +++ b/apps/web/modules/email/emails/invite/invite-accepted-email.tsx @@ -16,7 +16,7 @@ export function InviteAcceptedEmail({ locale, }: InviteAcceptedEmailProps): React.JSX.Element { return ( - + {translateEmailText("invite_accepted_email_heading", locale)} {inviterName}, @@ -25,7 +25,7 @@ export function InviteAcceptedEmail({ {translateEmailText("invite_accepted_email_text_par1", locale)} {inviteeName}{" "} {translateEmailText("invite_accepted_email_text_par2", locale)} - + ); diff --git a/apps/web/modules/email/emails/invite/invite-email.tsx b/apps/web/modules/email/emails/invite/invite-email.tsx index 8015a78bec..cc66066a65 100644 --- a/apps/web/modules/email/emails/invite/invite-email.tsx +++ b/apps/web/modules/email/emails/invite/invite-email.tsx @@ -19,7 +19,7 @@ export function InviteEmail({ locale, }: InviteEmailProps): React.JSX.Element { return ( - + {translateEmailText("invite_email_heading", locale)} {inviteeName}, @@ -28,8 +28,8 @@ export function InviteEmail({ {translateEmailText("invite_email_text_par1", locale)} {inviterName}{" "} {translateEmailText("invite_email_text_par2", locale)} - - + + ); diff --git a/apps/web/modules/email/emails/invite/onboarding-invite-email.tsx b/apps/web/modules/email/emails/invite/onboarding-invite-email.tsx index fc8b7a6b7c..0948958140 100644 --- a/apps/web/modules/email/emails/invite/onboarding-invite-email.tsx +++ b/apps/web/modules/email/emails/invite/onboarding-invite-email.tsx @@ -20,7 +20,7 @@ export function OnboardingInviteEmail({ inviteeName, }: OnboardingInviteEmailProps): React.JSX.Element { return ( - + {translateEmailText("onboarding_invite_email_heading", locale)} {inviteeName} 👋 @@ -34,8 +34,11 @@ export function OnboardingInviteEmail({
  • {translateEmailText("onboarding_invite_email_connect_formbricks", locale)}
  • {translateEmailText("onboarding_invite_email_done", locale)} ✅
  • - - + +
    ); diff --git a/apps/web/modules/email/emails/survey/embed-survey-preview-email.tsx b/apps/web/modules/email/emails/survey/embed-survey-preview-email.tsx index 15b60922c2..f572900f08 100644 --- a/apps/web/modules/email/emails/survey/embed-survey-preview-email.tsx +++ b/apps/web/modules/email/emails/survey/embed-survey-preview-email.tsx @@ -17,7 +17,7 @@ export function EmbedSurveyPreviewEmail({ logoUrl, }: EmbedSurveyPreviewEmailProps): React.JSX.Element { return ( - + {translateEmailText("embed_survey_preview_email_heading", locale)} {translateEmailText("embed_survey_preview_email_text", locale)} diff --git a/apps/web/modules/email/emails/survey/link-survey-email.tsx b/apps/web/modules/email/emails/survey/link-survey-email.tsx index 37e0238692..43d65f977d 100644 --- a/apps/web/modules/email/emails/survey/link-survey-email.tsx +++ b/apps/web/modules/email/emails/survey/link-survey-email.tsx @@ -19,7 +19,7 @@ export function LinkSurveyEmail({ logoUrl, }: LinkSurveyEmailProps): React.JSX.Element { return ( - + {translateEmailText("verification_email_hey", locale)} {translateEmailText("verification_email_thanks", locale)} @@ -28,7 +28,7 @@ export function LinkSurveyEmail({ {translateEmailText("verification_email_survey_name", locale)}: {surveyName} - + ); diff --git a/apps/web/modules/email/emails/survey/response-finished-email.tsx b/apps/web/modules/email/emails/survey/response-finished-email.tsx index 46bd9392ad..2d48e394fc 100644 --- a/apps/web/modules/email/emails/survey/response-finished-email.tsx +++ b/apps/web/modules/email/emails/survey/response-finished-email.tsx @@ -93,7 +93,7 @@ export function ResponseFinishedEmail({ const questions = getQuestionResponseMapping(survey, response); return ( - + diff --git a/apps/web/modules/email/emails/weekly-summary/weekly-summary-notification-email.tsx b/apps/web/modules/email/emails/weekly-summary/weekly-summary-notification-email.tsx index c7987c8a30..85069bf732 100644 --- a/apps/web/modules/email/emails/weekly-summary/weekly-summary-notification-email.tsx +++ b/apps/web/modules/email/emails/weekly-summary/weekly-summary-notification-email.tsx @@ -24,7 +24,7 @@ export function WeeklySummaryNotificationEmail({ locale, }: WeeklySummaryNotificationEmailProps): React.JSX.Element { return ( - + { - return `${projectName} User Insights - Last Week by Formbricks`; +const getEmailSubject = (projectName: string, locale: string): string => { + return translateEmailText("weekly_summary_email_subject", locale, { + projectName, + }); }; export const sendEmail = async (emailData: SendEmailDataProps): Promise => { @@ -117,7 +119,7 @@ export const sendForgotPasswordEmail = async (user: { const html = await render(ForgotPasswordEmail({ verifyLink, locale: user.locale })); return await sendEmail({ to: user.email, - subject: "Reset your Formbricks password", + subject: translateEmailText("forgot_password_email_subject", user.locale), html, }); }; @@ -129,7 +131,7 @@ export const sendPasswordResetNotifyEmail = async (user: { const html = await render(PasswordResetNotifyEmail({ locale: user.locale })); return await sendEmail({ to: user.email, - subject: "Your Formbricks password has been changed", + subject: translateEmailText("password_reset_notify_email_subject", user.locale), html, }); }; @@ -155,14 +157,16 @@ export const sendInviteMemberEmail = async ( ); return await sendEmail({ to: email, - subject: `${inviterName} needs a hand setting up Formbricks. Can you help out?`, + subject: translateEmailText("onboarding_invite_email_subject", locale, { + inviterName, + }), html, }); } else { const html = await render(InviteEmail({ inviteeName, inviterName, verifyLink, locale })); return await sendEmail({ to: email, - subject: `You're invited to collaborate on Formbricks!`, + subject: translateEmailText("invite_member_email_subject", locale), html, }); } @@ -177,7 +181,7 @@ export const sendInviteAcceptedEmail = async ( const html = await render(InviteAcceptedEmail({ inviteeName, inviterName, locale })); await sendEmail({ to: email, - subject: `You've got a new organization member!`, + subject: translateEmailText("invite_accepted_email_subject", locale), html, }); }; @@ -212,8 +216,13 @@ export const sendResponseFinishedEmail = async ( await sendEmail({ to: email, subject: personEmail - ? `${personEmail} just completed your ${survey.name} survey ✅` - : `A response for ${survey.name} was completed ✅`, + ? translateEmailText("response_finished_email_subject_with_email", locale, { + personEmail, + surveyName: survey.name, + }) + : translateEmailText("response_finished_email_subject", locale, { + surveyName: survey.name, + }), replyTo: personEmail?.toString() ?? MAIL_FROM, html, }); @@ -221,7 +230,6 @@ export const sendResponseFinishedEmail = async ( export const sendEmbedSurveyPreviewEmail = async ( to: string, - subject: string, innerHtml: string, environmentId: string, locale: string, @@ -230,14 +238,13 @@ export const sendEmbedSurveyPreviewEmail = async ( const html = await render(EmbedSurveyPreviewEmail({ html: innerHtml, environmentId, locale, logoUrl })); return await sendEmail({ to, - subject, + subject: translateEmailText("embed_survey_preview_email_subject", locale), html, }); }; export const sendEmailCustomizationPreviewEmail = async ( to: string, - subject: string, userName: string, locale: string, logoUrl?: string @@ -246,7 +253,7 @@ export const sendEmailCustomizationPreviewEmail = async ( return await sendEmail({ to, - subject, + subject: translateEmailText("email_customization_preview_email_subject", locale), html: emailHtmlBody, }); }; @@ -270,7 +277,7 @@ export const sendLinkSurveyToVerifiedEmail = async (data: TLinkSurveyEmailData): const html = await render(LinkSurveyEmail({ surveyName, surveyLink, locale, logoUrl })); return await sendEmail({ to: data.email, - subject: "Your survey is ready to be filled out.", + subject: translateEmailText("verified_link_survey_email_subject", locale), html, }); }; @@ -302,7 +309,7 @@ export const sendWeeklySummaryNotificationEmail = async ( ); await sendEmail({ to: email, - subject: getEmailSubject(notificationData.projectName), + subject: getEmailSubject(notificationData.projectName, locale), html, }); }; @@ -334,7 +341,7 @@ export const sendNoLiveSurveyNotificationEmail = async ( ); await sendEmail({ to: email, - subject: getEmailSubject(notificationData.projectName), + subject: getEmailSubject(notificationData.projectName, locale), html, }); }; diff --git a/packages/lib/invite/service.ts b/packages/lib/invite/service.ts index 163e137dca..eafea49112 100644 --- a/packages/lib/invite/service.ts +++ b/packages/lib/invite/service.ts @@ -38,6 +38,7 @@ interface InviteWithCreator extends TInvite { creator: { name: string | null; email: string; + locale: string; }; } export const getInvitesByOrganizationId = reactCache( @@ -144,6 +145,7 @@ export const getInvite = reactCache( select: { name: true, email: true, + locale: true, }, }, }, diff --git a/packages/lib/messages/de-DE.json b/packages/lib/messages/de-DE.json index 8285658624..87abee8bbb 100644 --- a/packages/lib/messages/de-DE.json +++ b/packages/lib/messages/de-DE.json @@ -443,24 +443,36 @@ "you_will_be_downgraded_to_the_community_edition_on_date": "Du wirst am {Datum} auf die Community Edition herabgestuft." }, "emails": { + "accept": "Annehmen", + "click_or_drag_to_upload_files": "Klicke oder ziehe, um Dateien hochzuladen.", "email_customization_preview_email_heading": "Hey {userName}", + "email_customization_preview_email_subject": "Formbricks E-Mail-Umfrage Vorschau", "email_customization_preview_email_text": "Dies ist eine E-Mail-Vorschau, um dir zu zeigen, welches Logo in den E-Mails gerendert wird.", + "email_footer_text_1": "Einen schönen Tag noch!", + "email_footer_text_2": "Dein Formbricks Team", + "email_template_text_1": "Diese E-Mail wurde via Formbricks gesendet.", "embed_survey_preview_email_didnt_request": "Kein Interesse?", "embed_survey_preview_email_environment_id": "Umgebungs-ID", "embed_survey_preview_email_fight_spam": "Hilf uns, Spam zu bekĂ€mpfen, und leite diese Mail an hola@formbricks.com weiter.", "embed_survey_preview_email_heading": "Vorschau Einbettung in E-Mail", + "embed_survey_preview_email_subject": "Formbricks E-Mail-Umfrage Vorschau", "embed_survey_preview_email_text": "So sieht die Umfrage eingebettet in eine E-Mail aus:", "forgot_password_email_change_password": "Passwort Ă€ndern", "forgot_password_email_did_not_request": "Wenn Du sie nicht angefordert hast, ignoriere bitte diese E-Mail.", "forgot_password_email_heading": "Passwort Ă€ndern", "forgot_password_email_link_valid_for_24_hours": "Der Link ist 24 Stunden gĂŒltig.", + "forgot_password_email_subject": "Setz dein Formbricks-Passwort zurĂŒck", "forgot_password_email_text": "Du hast einen Link angefordert, um dein Passwort zu Ă€ndern. Du kannst dies tun, indem Du auf den untenstehenden Link klickst:", + "imprint": "Impressum", "invite_accepted_email_heading": "Hey", + "invite_accepted_email_subject": "Du hast einen neuen Organisation-Mitglied!", "invite_accepted_email_text_par1": "Wollte dir nur Bescheid geben, dass", "invite_accepted_email_text_par2": "deine Einladung angenommen hat. Viel Spaß bei der Zusammenarbeit!", + "invite_email_button_label": "Organisation beitreten", "invite_email_heading": "Hey", "invite_email_text_par1": "Dein Kollege", "invite_email_text_par2": "hat Dich eingeladen, Formbricks zu nutzen. Um die Einladung anzunehmen, klicke bitte auf den untenstehenden Link:", + "invite_member_email_subject": "Du wurdest eingeladen, Formbricks zu nutzen!", "live_survey_notification_completed": "Abgeschlossen", "live_survey_notification_draft": "Entwurf", "live_survey_notification_in_progress": "In Bearbeitung", @@ -483,13 +495,22 @@ "notification_insight_displays": "Displays", "notification_insight_responses": "Antworten", "notification_insight_surveys": "Umfragen", + "onboarding_invite_email_button_label": "Tritt {inviterName}s Organisation bei", "onboarding_invite_email_connect_formbricks": "Verbinde Formbricks in nur wenigen Minuten ĂŒber ein HTML-Snippet oder via NPM mit deiner App oder Website.", "onboarding_invite_email_create_account": "Erstelle ein Konto, um {inviterName}s Organisation beizutreten.", "onboarding_invite_email_done": "Erledigt ✅", "onboarding_invite_email_get_started_in_minutes": "Dauert nur wenige Minuten", "onboarding_invite_email_heading": "Hey ", + "onboarding_invite_email_subject": "{inviterName} braucht Hilfe bei Formbricks. Kannst Du ihm helfen?", "password_changed_email_heading": "Passwort geĂ€ndert", "password_changed_email_text": "Dein Passwort wurde erfolgreich geĂ€ndert.", + "password_reset_notify_email_subject": "Dein Formbricks-Passwort wurde geĂ€ndert", + "privacy_policy": "DatenschutzerklĂ€rung", + "reject": "Ablehnen", + "response_finished_email_subject": "Eine Antwort fĂŒr {surveyName} wurde abgeschlossen ✅", + "response_finished_email_subject_with_email": "{personEmail} hat deine Umfrage {surveyName} abgeschlossen ✅", + "schedule_your_meeting": "Termin planen", + "select_a_date": "Datum auswĂ€hlen", "survey_response_finished_email_congrats": "GlĂŒckwunsch, Du hast eine neue Antwort auf deine Umfrage {surveyName} erhalten!", "survey_response_finished_email_dont_want_notifications": "Möchtest Du diese Benachrichtigungen nicht erhalten?", "survey_response_finished_email_hey": "Hey 👋", @@ -512,12 +533,14 @@ "verification_email_thanks": "Danke, dass Du deine E-Mail bestĂ€tigt hast!", "verification_email_to_fill_survey": "Um die Umfrage auszufĂŒllen, klicke bitte auf den untenstehenden Button:", "verification_email_verify_email": "E-Mail bestĂ€tigen", + "verified_link_survey_email_subject": "Deine Umfrage ist bereit zum AusfĂŒllen.", "weekly_summary_create_reminder_notification_body_cal_slot": "WĂ€hle einen 15-minĂŒtigen Termin im Kalender unseres GrĂŒnders aus.", "weekly_summary_create_reminder_notification_body_dont_let_a_week_pass": "Lass keine Woche vergehen, ohne etwas ĂŒber deine Nutzer zu lernen:", "weekly_summary_create_reminder_notification_body_need_help": "Brauchst Du Hilfe, die richtige Umfrage fĂŒr dein Produkt zu finden?", "weekly_summary_create_reminder_notification_body_reply_email": "oder antworte auf diese E-Mail :)", "weekly_summary_create_reminder_notification_body_setup_a_new_survey": "Neue Umfrage einrichten", - "weekly_summary_create_reminder_notification_body_text": "Wir wĂŒrden dir gerne eine wöchentliche Zusammenfassung schicken, aber momentan laufen keine Umfragen fĂŒr {projectName}." + "weekly_summary_create_reminder_notification_body_text": "Wir wĂŒrden dir gerne eine wöchentliche Zusammenfassung schicken, aber momentan laufen keine Umfragen fĂŒr {projectName}.", + "weekly_summary_email_subject": "{projectName} Nutzer-Insights – Letzte Woche von Formbricks" }, "environments": { "actions": { diff --git a/packages/lib/messages/en-US.json b/packages/lib/messages/en-US.json index c16e36672d..67a95ef285 100644 --- a/packages/lib/messages/en-US.json +++ b/packages/lib/messages/en-US.json @@ -443,24 +443,36 @@ "you_will_be_downgraded_to_the_community_edition_on_date": "You will be downgraded to the Community Edition on {date}." }, "emails": { + "accept": "Accept", + "click_or_drag_to_upload_files": "Click or drag to upload files.", "email_customization_preview_email_heading": "Hey {userName}", + "email_customization_preview_email_subject": "Formbricks Email Customization Preview", "email_customization_preview_email_text": "This is an email preview to show you which logo will be rendered in the emails.", + "email_footer_text_1": "Have a great day!", + "email_footer_text_2": "The Formbricks Team", + "email_template_text_1": "This email was sent via Formbricks.", "embed_survey_preview_email_didnt_request": "Didn't request this?", "embed_survey_preview_email_environment_id": "Environment ID", "embed_survey_preview_email_fight_spam": "Help us fight spam and forward this mail to hola@formbricks.com", "embed_survey_preview_email_heading": "Preview Email Embed", + "embed_survey_preview_email_subject": "Formbricks Email Survey Preview", "embed_survey_preview_email_text": "This is how the code snippet looks embedded into an email:", "forgot_password_email_change_password": "Change password", "forgot_password_email_did_not_request": "If you didn't request this, please ignore this email.", "forgot_password_email_heading": "Change password", "forgot_password_email_link_valid_for_24_hours": "The link is valid for 24 hours.", + "forgot_password_email_subject": "Reset your Formbricks password", "forgot_password_email_text": "You have requested a link to change your password. You can do this by clicking the link below:", + "imprint": "Imprint", "invite_accepted_email_heading": "Hey", + "invite_accepted_email_subject": "You've got a new organization member!", "invite_accepted_email_text_par1": "Just letting you know that", "invite_accepted_email_text_par2": "accepted your invitation. Have fun collaborating!", + "invite_email_button_label": "Join organization", "invite_email_heading": "Hey", "invite_email_text_par1": "Your colleague", "invite_email_text_par2": "invited you to join them at Formbricks. To accept the invitation, please click the link below:", + "invite_member_email_subject": "You're invited to collaborate on Formbricks!", "live_survey_notification_completed": "Completed", "live_survey_notification_draft": "Draft", "live_survey_notification_in_progress": "In Progress", @@ -483,13 +495,22 @@ "notification_insight_displays": "Displays", "notification_insight_responses": "Responses", "notification_insight_surveys": "Surveys", + "onboarding_invite_email_button_label": "Join {inviterName}'s organization", "onboarding_invite_email_connect_formbricks": "Connect Formbricks to your app or website via HTML Snippet or NPM in just a few minutes.", "onboarding_invite_email_create_account": "Create an account to join {inviterName}'s organization.", "onboarding_invite_email_done": "Done ✅", "onboarding_invite_email_get_started_in_minutes": "Get Started in Minutes", "onboarding_invite_email_heading": "Hey ", + "onboarding_invite_email_subject": "{inviterName} needs a hand setting up Formbricks. Can you help out?", "password_changed_email_heading": "Password changed", "password_changed_email_text": "Your password has been changed successfully.", + "password_reset_notify_email_subject": "Your Formbricks password has been changed", + "privacy_policy": "Privacy Policy", + "reject": "Reject", + "response_finished_email_subject": "A response for {surveyName} was completed ✅", + "response_finished_email_subject_with_email": "{personEmail} just completed your {surveyName} survey ✅", + "schedule_your_meeting": "Schedule your meeting", + "select_a_date": "Select a date", "survey_response_finished_email_congrats": "Congrats, you received a new response to your survey! Someone just completed your survey: {surveyName}", "survey_response_finished_email_dont_want_notifications": "Don't want to get these notifications?", "survey_response_finished_email_hey": "Hey 👋", @@ -512,12 +533,14 @@ "verification_email_thanks": "Thanks for validating your email!", "verification_email_to_fill_survey": "To fill out the survey please click on the button below:", "verification_email_verify_email": "Verify email", + "verified_link_survey_email_subject": "Your survey is ready to be filled out.", "weekly_summary_create_reminder_notification_body_cal_slot": "Pick a 15-minute slot in our CEOs calendar", "weekly_summary_create_reminder_notification_body_dont_let_a_week_pass": "Don't let a week pass without learning about your users:", "weekly_summary_create_reminder_notification_body_need_help": "Need help finding the right survey for your product?", "weekly_summary_create_reminder_notification_body_reply_email": "or reply to this email :)", "weekly_summary_create_reminder_notification_body_setup_a_new_survey": "Setup a new survey", - "weekly_summary_create_reminder_notification_body_text": "We'd love to send you a Weekly Summary, but currently there are no surveys running for {projectName}." + "weekly_summary_create_reminder_notification_body_text": "We'd love to send you a Weekly Summary, but currently there are no surveys running for {projectName}.", + "weekly_summary_email_subject": "{projectName} User Insights - Last Week by Formbricks" }, "environments": { "actions": { diff --git a/packages/lib/messages/fr-FR.json b/packages/lib/messages/fr-FR.json index 8bf6938fa5..1bd689ee22 100644 --- a/packages/lib/messages/fr-FR.json +++ b/packages/lib/messages/fr-FR.json @@ -443,24 +443,36 @@ "you_will_be_downgraded_to_the_community_edition_on_date": "Vous serez rĂ©trogradĂ© Ă  l'Ă©dition communautaire le {date}." }, "emails": { + "accept": "Accepter", + "click_or_drag_to_upload_files": "Cliquez ou faites glisser pour tĂ©lĂ©charger des fichiers.", "email_customization_preview_email_heading": "Salut {userName}", + "email_customization_preview_email_subject": "Aperçu de la personnalisation des e-mails Formbricks", "email_customization_preview_email_text": "C'est une prĂ©visualisation d'e-mail pour vous montrer quel logo sera rendu dans les e-mails.", + "email_footer_text_1": "Passe une belle journĂ©e !", + "email_footer_text_2": "L'Ă©quipe Formbricks", + "email_template_text_1": "Cet e-mail a Ă©tĂ© envoyĂ© via Formbricks.", "embed_survey_preview_email_didnt_request": "Vous n'avez pas demandĂ© cela ?", "embed_survey_preview_email_environment_id": "ID d'environnement", "embed_survey_preview_email_fight_spam": "Aidez-nous Ă  lutter contre le spam et transfĂ©rez ce mail Ă  hola@formbricks.com.", "embed_survey_preview_email_heading": "Aperçu de l'email intĂ©grĂ©", + "embed_survey_preview_email_subject": "Aperçu du sondage par e-mail Formbricks", "embed_survey_preview_email_text": "C'est ainsi que le code s'affiche intĂ©grĂ© dans un e-mail :", "forgot_password_email_change_password": "Changer le mot de passe", "forgot_password_email_did_not_request": "Si vous n'avez pas demandĂ© cela, veuillez ignorer cet e-mail.", "forgot_password_email_heading": "Changer le mot de passe", "forgot_password_email_link_valid_for_24_hours": "Le lien est valable pendant 24 heures.", + "forgot_password_email_subject": "RĂ©initialise ton mot de passe Formbricks", "forgot_password_email_text": "Vous avez demandĂ© un lien pour changer votre mot de passe. Vous pouvez le faire en cliquant sur le lien ci-dessous :", + "imprint": "Impressum", "invite_accepted_email_heading": "Salut", + "invite_accepted_email_subject": "Vous avez un nouveau membre dans votre organisation !", "invite_accepted_email_text_par1": "Je te fais savoir que", "invite_accepted_email_text_par2": "acceptĂ© votre invitation. Amusez-vous bien Ă  collaborer !", + "invite_email_button_label": "Rejoindre l'organisation", "invite_email_heading": "Salut", "invite_email_text_par1": "Votre collĂšgue", "invite_email_text_par2": "vous a invitĂ© Ă  les rejoindre sur Formbricks. Pour accepter l'invitation, veuillez cliquer sur le lien ci-dessous :", + "invite_member_email_subject": "Vous avez Ă©tĂ© invitĂ© Ă  collaborer sur Formbricks !", "live_survey_notification_completed": "TerminĂ©", "live_survey_notification_draft": "Brouillon", "live_survey_notification_in_progress": "En cours", @@ -483,13 +495,22 @@ "notification_insight_displays": "Affichages", "notification_insight_responses": "RĂ©ponses", "notification_insight_surveys": "EnquĂȘtes", + "onboarding_invite_email_button_label": "Rejoins l'organisation de {inviterName}", "onboarding_invite_email_connect_formbricks": "Connectez Formbricks Ă  votre application ou site web via un extrait HTML ou NPM en quelques minutes seulement.", "onboarding_invite_email_create_account": "CrĂ©ez un compte pour rejoindre l'organisation de {inviterName}.", "onboarding_invite_email_done": "Fait ✅", "onboarding_invite_email_get_started_in_minutes": "Commencez en quelques minutes", "onboarding_invite_email_heading": "Salut ", + "onboarding_invite_email_subject": "{inviterName} a besoin d'aide pour configurer Formbricks. Peux-tu l'aider ?", "password_changed_email_heading": "Mot de passe changĂ©", "password_changed_email_text": "Votre mot de passe a Ă©tĂ© changĂ© avec succĂšs.", + "password_reset_notify_email_subject": "Ton mot de passe Formbricks a Ă©tĂ© changĂ©", + "privacy_policy": "Politique de confidentialitĂ©", + "reject": "Rejeter", + "response_finished_email_subject": "Une rĂ©ponse pour {surveyName} a Ă©tĂ© complĂ©tĂ©e ✅", + "response_finished_email_subject_with_email": "{personEmail} vient de complĂ©ter votre enquĂȘte {surveyName} ✅", + "schedule_your_meeting": "Planifier votre rendez-vous", + "select_a_date": "SĂ©lectionner une date", "survey_response_finished_email_congrats": "FĂ©licitations, vous avez reçu une nouvelle rĂ©ponse Ă  votre enquĂȘte ! Quelqu'un vient de complĂ©ter votre enquĂȘte : {surveyName}", "survey_response_finished_email_dont_want_notifications": "Vous ne voulez pas recevoir ces notifications ?", "survey_response_finished_email_hey": "Salut 👋", @@ -512,12 +533,14 @@ "verification_email_thanks": "Merci de valider votre email !", "verification_email_to_fill_survey": "Pour remplir le questionnaire, veuillez cliquer sur le bouton ci-dessous :", "verification_email_verify_email": "VĂ©rifier l'email", + "verified_link_survey_email_subject": "Votre enquĂȘte est prĂȘte Ă  ĂȘtre remplie.", "weekly_summary_create_reminder_notification_body_cal_slot": "Choisissez un crĂ©neau de 15 minutes dans le calendrier de notre PDG.", "weekly_summary_create_reminder_notification_body_dont_let_a_week_pass": "Ne laissez pas une semaine passer sans en apprendre davantage sur vos utilisateurs :", "weekly_summary_create_reminder_notification_body_need_help": "Besoin d'aide pour trouver le bon sondage pour votre produit ?", "weekly_summary_create_reminder_notification_body_reply_email": "ou rĂ©pondez Ă  cet e-mail :)", "weekly_summary_create_reminder_notification_body_setup_a_new_survey": "Configurer une nouvelle enquĂȘte", - "weekly_summary_create_reminder_notification_body_text": "Nous aimerions vous envoyer un rĂ©sumĂ© hebdomadaire, mais actuellement, il n'y a pas d'enquĂȘtes en cours pour {projectName}." + "weekly_summary_create_reminder_notification_body_text": "Nous aimerions vous envoyer un rĂ©sumĂ© hebdomadaire, mais actuellement, il n'y a pas d'enquĂȘtes en cours pour {projectName}.", + "weekly_summary_email_subject": "Aperçu des utilisateurs de {projectName} – La semaine derniĂšre par Formbricks" }, "environments": { "actions": { diff --git a/packages/lib/messages/pt-BR.json b/packages/lib/messages/pt-BR.json index 40171fe4c0..2b90124cbf 100644 --- a/packages/lib/messages/pt-BR.json +++ b/packages/lib/messages/pt-BR.json @@ -443,24 +443,36 @@ "you_will_be_downgraded_to_the_community_edition_on_date": "VocĂȘ serĂĄ rebaixado para a Edição ComunitĂĄria em {data}." }, "emails": { + "accept": "Aceitar", + "click_or_drag_to_upload_files": "Clique ou arraste para fazer o upload de arquivos.", "email_customization_preview_email_heading": "Oi {userName}", + "email_customization_preview_email_subject": "PrĂ©via da personalização de e-mails do Formbricks", "email_customization_preview_email_text": "Esta Ă© uma prĂ©-visualização de e-mail para mostrar qual logo serĂĄ renderizado nos e-mails.", + "email_footer_text_1": "Tenha um Ăłtimo dia!", + "email_footer_text_2": "O time Formbricks", + "email_template_text_1": "Este e-mail foi enviado atravĂ©s do Formbricks.", "embed_survey_preview_email_didnt_request": "NĂŁo pediu isso?", "embed_survey_preview_email_environment_id": "ID do Ambiente", "embed_survey_preview_email_fight_spam": "Ajude a gente a combater spam e encaminhe este e-mail para hola@formbricks.com", "embed_survey_preview_email_heading": "PrĂ©-visualizar Incorporação de Email", + "embed_survey_preview_email_subject": "PrĂ©via da pesquisa por e-mail do Formbricks", "embed_survey_preview_email_text": "É assim que o trecho de cĂłdigo fica embutido em um e-mail:", "forgot_password_email_change_password": "Mudar senha", "forgot_password_email_did_not_request": "Se vocĂȘ nĂŁo solicitou isso, por favor ignore este e-mail.", "forgot_password_email_heading": "Mudar senha", "forgot_password_email_link_valid_for_24_hours": "O link Ă© vĂĄlido por 24 horas.", + "forgot_password_email_subject": "Redefinir sua senha Formbricks", "forgot_password_email_text": "VocĂȘ pediu um link pra trocar sua senha. VocĂȘ pode fazer isso clicando no link abaixo:", + "imprint": "Impressum", "invite_accepted_email_heading": "E aĂ­", + "invite_accepted_email_subject": "VocĂȘ tem um novo membro na sua organização!", "invite_accepted_email_text_par1": "SĂł pra te avisar que", "invite_accepted_email_text_par2": "aceitou seu convite. Divirta-se colaborando!", + "invite_email_button_label": "Entrar na organização", "invite_email_heading": "E aĂ­", "invite_email_text_par1": "Seu colega", "invite_email_text_par2": "te convidou para se juntar a eles na Formbricks. Para aceitar o convite, por favor clique no link abaixo:", + "invite_member_email_subject": "VocĂȘ foi convidado a colaborar no Formbricks!", "live_survey_notification_completed": "ConcluĂ­do", "live_survey_notification_draft": "Rascunho", "live_survey_notification_in_progress": "Em andamento", @@ -483,13 +495,22 @@ "notification_insight_displays": "telas", "notification_insight_responses": "Respostas", "notification_insight_surveys": "pesquisas", + "onboarding_invite_email_button_label": "Entre na organização de {inviterName}", "onboarding_invite_email_connect_formbricks": "Conecte o Formbricks ao seu app ou site via HTML Snippet ou NPM em apenas alguns minutos.", "onboarding_invite_email_create_account": "Crie uma conta para entrar na organização de {inviterName}.", "onboarding_invite_email_done": "Feito ✅", "onboarding_invite_email_get_started_in_minutes": "Comece em Minutos", "onboarding_invite_email_heading": "Oi ", + "onboarding_invite_email_subject": "{inviterName} precisa de ajuda para configurar o Formbricks. VocĂȘ pode ajudar?", "password_changed_email_heading": "Senha alterada", "password_changed_email_text": "Sua senha foi alterada com sucesso.", + "password_reset_notify_email_subject": "Sua senha Formbricks foi alterada", + "privacy_policy": "PolĂ­tica de Privacidade", + "reject": "Rejeitar", + "response_finished_email_subject": "Uma resposta para {surveyName} foi concluĂ­da ✅", + "response_finished_email_subject_with_email": "{personEmail} acabou de completar sua pesquisa {surveyName} ✅", + "schedule_your_meeting": "Agendar sua reuniĂŁo", + "select_a_date": "Selecione uma data", "survey_response_finished_email_congrats": "ParabĂ©ns, vocĂȘ recebeu uma nova resposta na sua pesquisa! AlguĂ©m acabou de completar sua pesquisa: {surveyName}", "survey_response_finished_email_dont_want_notifications": "NĂŁo quer receber essas notificaçÔes?", "survey_response_finished_email_hey": "E aĂ­ 👋", @@ -512,12 +533,14 @@ "verification_email_thanks": "Valeu por validar seu e-mail!", "verification_email_to_fill_survey": "Para preencher a pesquisa, por favor clique no botĂŁo abaixo:", "verification_email_verify_email": "Verificar e-mail", + "verified_link_survey_email_subject": "Sua pesquisa estĂĄ pronta para ser preenchida.", "weekly_summary_create_reminder_notification_body_cal_slot": "Escolha um horĂĄrio de 15 minutos na agenda do nosso CEO", "weekly_summary_create_reminder_notification_body_dont_let_a_week_pass": "NĂŁo deixe uma semana passar sem aprender sobre seus usuĂĄrios:", "weekly_summary_create_reminder_notification_body_need_help": "Precisa de ajuda pra encontrar a pesquisa certa pro seu produto?", "weekly_summary_create_reminder_notification_body_reply_email": "ou responde a esse e-mail :)", "weekly_summary_create_reminder_notification_body_setup_a_new_survey": "Configurar uma nova pesquisa", - "weekly_summary_create_reminder_notification_body_text": "AdorarĂ­amos te enviar um Resumo Semanal, mas no momento nĂŁo hĂĄ pesquisas em andamento para {projectName}." + "weekly_summary_create_reminder_notification_body_text": "AdorarĂ­amos te enviar um Resumo Semanal, mas no momento nĂŁo hĂĄ pesquisas em andamento para {projectName}.", + "weekly_summary_email_subject": "Insights de usuĂĄrios do {projectName} – Semana passada por Formbricks" }, "environments": { "actions": { From 9b3d4096957559f2994512cfb0f6828785624211 Mon Sep 17 00:00:00 2001 From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Date: Fri, 31 Jan 2025 09:29:26 +0530 Subject: [PATCH 04/44] fix: org leaving issue and minor tweaks (#4691) --- .../landing/components/landing-sidebar.tsx | 2 +- .../components/MainNavigation.tsx | 2 +- .../edit-memberships/organization-actions.tsx | 2 ++ .../components/delete-project-render.tsx | 25 ++++++++++++++----- .../general/components/delete-project.tsx | 13 +++++++--- .../projects/settings/general/page.tsx | 7 ++++-- 6 files changed, 38 insertions(+), 13 deletions(-) diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar.tsx index 803c756f12..6056d9f72c 100644 --- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar.tsx +++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar.tsx @@ -127,7 +127,7 @@ export const LandingSidebar = ({ await signOut({ callbackUrl: "/auth/login" }); await formbricksLogout(); }} - icon={}> + icon={}> {t("common.logout")} diff --git a/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx b/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx index 22f275f6a8..71ce2067cb 100644 --- a/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx @@ -392,7 +392,7 @@ export const MainNavigation = ({ router.push(route.url); await formbricksLogout(); }} - icon={}> + icon={}> {t("common.logout")} diff --git a/apps/web/modules/organization/settings/teams/components/edit-memberships/organization-actions.tsx b/apps/web/modules/organization/settings/teams/components/edit-memberships/organization-actions.tsx index 48af1bbb76..1e8aed2117 100644 --- a/apps/web/modules/organization/settings/teams/components/edit-memberships/organization-actions.tsx +++ b/apps/web/modules/organization/settings/teams/components/edit-memberships/organization-actions.tsx @@ -11,6 +11,7 @@ import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; +import { FORMBRICKS_ENVIRONMENT_ID_LS } from "@formbricks/lib/localStorage"; import { TInvitee } from "@formbricks/types/invites"; import { TOrganizationRole } from "@formbricks/types/memberships"; import { TOrganization } from "@formbricks/types/organizations"; @@ -53,6 +54,7 @@ export const OrganizationActions = ({ toast.success(t("environments.settings.general.member_deleted_successfully")); router.refresh(); setLoading(false); + localStorage.removeItem(FORMBRICKS_ENVIRONMENT_ID_LS); router.push("/"); } catch (err) { toast.error(`Error: ${err.message}`); diff --git a/apps/web/modules/projects/settings/general/components/delete-project-render.tsx b/apps/web/modules/projects/settings/general/components/delete-project-render.tsx index 7444a74269..1255a0d57a 100644 --- a/apps/web/modules/projects/settings/general/components/delete-project-render.tsx +++ b/apps/web/modules/projects/settings/general/components/delete-project-render.tsx @@ -16,13 +16,15 @@ import { TProject } from "@formbricks/types/project"; interface DeleteProjectRenderProps { isDeleteDisabled: boolean; isOwnerOrManager: boolean; - project: TProject; + currentProject: TProject; + organizationProjects: TProject[]; } export const DeleteProjectRender = ({ isDeleteDisabled, isOwnerOrManager, - project, + currentProject, + organizationProjects, }: DeleteProjectRenderProps) => { const t = useTranslations(); const router = useRouter(); @@ -30,9 +32,20 @@ export const DeleteProjectRender = ({ const [isDeleting, setIsDeleting] = useState(false); const handleDeleteProject = async () => { setIsDeleting(true); - const deleteProjectResponse = await deleteProjectAction({ projectId: project.id }); + const deleteProjectResponse = await deleteProjectAction({ projectId: currentProject.id }); if (deleteProjectResponse?.data) { - localStorage.removeItem(FORMBRICKS_ENVIRONMENT_ID_LS); + if (organizationProjects.length === 1) { + localStorage.removeItem(FORMBRICKS_ENVIRONMENT_ID_LS); + } else if (organizationProjects.length > 1) { + // prevents changing of organization when deleting project + const remainingProjects = organizationProjects.filter((project) => project.id !== currentProject.id); + const productionEnvironment = remainingProjects[0].environments.find( + (environment) => environment.type === "production" + ); + if (productionEnvironment) { + localStorage.setItem(FORMBRICKS_ENVIRONMENT_ID_LS, productionEnvironment.id); + } + } toast.success(t("environments.project.general.project_deleted_successfully")); router.push("/"); } else { @@ -51,7 +64,7 @@ export const DeleteProjectRender = ({ {t( "environments.project.general.delete_project_name_includes_surveys_responses_people_and_more", { - projectName: truncate(project.name, 30), + projectName: truncate(currentProject.name, 30), } )}{" "} {t("environments.project.general.this_action_cannot_be_undone")} @@ -81,7 +94,7 @@ export const DeleteProjectRender = ({ setOpen={setIsDeleteDialogOpen} onDelete={handleDeleteProject} text={t("environments.project.general.delete_project_confirmation", { - projectName: truncate(project.name, 30), + projectName: truncate(currentProject.name, 30), })} isDeleting={isDeleting} /> diff --git a/apps/web/modules/projects/settings/general/components/delete-project.tsx b/apps/web/modules/projects/settings/general/components/delete-project.tsx index 406e5ef16a..0658993ea2 100644 --- a/apps/web/modules/projects/settings/general/components/delete-project.tsx +++ b/apps/web/modules/projects/settings/general/components/delete-project.tsx @@ -8,11 +8,17 @@ import { TProject } from "@formbricks/types/project"; interface DeleteProjectProps { environmentId: string; - project: TProject; + currentProject: TProject; + organizationProjects: TProject[]; isOwnerOrManager: boolean; } -export const DeleteProject = async ({ environmentId, project, isOwnerOrManager }: DeleteProjectProps) => { +export const DeleteProject = async ({ + environmentId, + currentProject, + organizationProjects, + isOwnerOrManager, +}: DeleteProjectProps) => { const t = await getTranslations(); const session = await getServerSession(authOptions); if (!session) { @@ -31,7 +37,8 @@ export const DeleteProject = async ({ environmentId, project, isOwnerOrManager } ); }; diff --git a/apps/web/modules/projects/settings/general/page.tsx b/apps/web/modules/projects/settings/general/page.tsx index 2b8b236dc4..8d9404a304 100644 --- a/apps/web/modules/projects/settings/general/page.tsx +++ b/apps/web/modules/projects/settings/general/page.tsx @@ -17,7 +17,7 @@ import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; -import { getProjectByEnvironmentId } from "@formbricks/lib/project/service"; +import { getProjectByEnvironmentId, getProjects } from "@formbricks/lib/project/service"; import { DeleteProject } from "./components/delete-project"; import { EditProjectNameForm } from "./components/edit-project-name-form"; import { EditWaitingTimeForm } from "./components/edit-waiting-time-form"; @@ -41,6 +41,8 @@ export const GeneralSettingsPage = async (props: { params: Promise<{ environment throw new Error(t("common.organization_not_found")); } + const organizationProjects = await getProjects(organization.id); + const currentUserMembership = await getMembershipByUserIdOrganizationId(session?.user.id, organization.id); const projectPermission = await getProjectPermissionByUserId(session.user.id, project.id); @@ -79,7 +81,8 @@ export const GeneralSettingsPage = async (props: { params: Promise<{ environment description={t("environments.project.general.delete_project_settings_description")}> From 06e00f3066c653bf89f6829b6bd9ae7c7b86bfa3 Mon Sep 17 00:00:00 2001 From: Piyush Gupta <56182734+gupta-piyush19@users.noreply.github.com> Date: Fri, 31 Jan 2025 12:26:55 +0530 Subject: [PATCH 05/44] chore: invite types (#4613) Co-authored-by: pandeymangg --- .../[environmentId]/project/layout.tsx | 3 +- apps/web/app/(auth)/auth/login/page.tsx | 3 +- apps/web/app/(auth)/invite/page.tsx | 134 +------- .../app/setup/(fresh-instance)/intro/page.tsx | 37 +-- .../web/app/setup/(fresh-instance)/layout.tsx | 15 +- .../setup/(fresh-instance)/signup/page.tsx | 59 +--- apps/web/app/setup/layout.tsx | 21 +- .../[organizationId]/invite/page.tsx | 42 +-- .../app/setup/organization/create/page.tsx | 49 +-- .../cache.ts => apps/web/lib/cache/invite.ts | 0 apps/web/lib/utils/services.ts | 2 +- .../invite/components/content-layout.tsx} | 0 apps/web/modules/auth/invite/lib/invite.ts | 78 +++++ .../web/modules/{ => auth}/invite/lib/team.ts | 8 +- apps/web/modules/auth/invite/page.tsx | 147 +++++++++ apps/web/modules/auth/invite/types/invites.ts | 11 + apps/web/modules/auth/signup/actions.ts | 17 +- apps/web/modules/auth/signup/lib/invite.ts | 78 +++++ apps/web/modules/auth/signup/lib/team.ts | 65 ++++ apps/web/modules/auth/signup/types/invites.ts | 7 + .../web/modules/ee/role-management/actions.ts | 4 +- .../modules/ee/role-management/lib/invite.ts | 31 ++ .../ee/role-management/types/invites.ts | 8 + .../organization/settings/teams/actions.ts | 10 +- .../edit-memberships/edit-memberships.tsx | 2 +- .../edit-memberships/member-actions.tsx | 2 +- .../edit-memberships/members-info.tsx | 4 +- .../edit-memberships/organization-actions.tsx | 4 +- .../invite-member/bulk-invite-tab.tsx | 2 +- .../organization/settings/teams/lib/invite.ts | 292 ++++++++---------- .../settings/teams/lib/utilts.ts} | 2 +- .../settings/teams/types/invites.ts | 25 ++ .../setup/(fresh-instance)/intro/page.tsx | 33 ++ .../modules/setup/(fresh-instance)/layout.tsx | 14 + .../setup/(fresh-instance)/signup/page.tsx | 55 ++++ apps/web/modules/setup/layout.tsx | 20 ++ .../[organizationId]/invite/actions.ts | 10 +- .../invite/components/invite-members.tsx | 7 +- .../[organizationId]/invite/lib/invite.ts | 64 ++++ .../[organizationId]/invite/page.tsx | 35 +++ .../[organizationId]/invite/types/invites.ts | 24 ++ .../create/components/create-organization.tsx | 0 .../components/removed-from-organization.tsx | 0 .../setup/organization/create/page.tsx | 45 +++ apps/web/playwright/organization.spec.ts | 1 + packages/database/zod/invites.ts | 15 + packages/types/invites.ts | 47 --- 47 files changed, 938 insertions(+), 594 deletions(-) rename packages/lib/invite/cache.ts => apps/web/lib/cache/invite.ts (100%) rename apps/web/{app/(auth)/invite/components/ContentLayout.tsx => modules/auth/invite/components/content-layout.tsx} (100%) create mode 100644 apps/web/modules/auth/invite/lib/invite.ts rename apps/web/modules/{ => auth}/invite/lib/team.ts (84%) create mode 100644 apps/web/modules/auth/invite/page.tsx create mode 100644 apps/web/modules/auth/invite/types/invites.ts create mode 100644 apps/web/modules/auth/signup/lib/invite.ts create mode 100644 apps/web/modules/auth/signup/lib/team.ts create mode 100644 apps/web/modules/auth/signup/types/invites.ts create mode 100644 apps/web/modules/ee/role-management/lib/invite.ts create mode 100644 apps/web/modules/ee/role-management/types/invites.ts rename packages/lib/invite/service.ts => apps/web/modules/organization/settings/teams/lib/invite.ts (67%) rename apps/web/{app/lib/utils.ts => modules/organization/settings/teams/lib/utilts.ts} (66%) create mode 100644 apps/web/modules/organization/settings/teams/types/invites.ts create mode 100644 apps/web/modules/setup/(fresh-instance)/intro/page.tsx create mode 100644 apps/web/modules/setup/(fresh-instance)/layout.tsx create mode 100644 apps/web/modules/setup/(fresh-instance)/signup/page.tsx create mode 100644 apps/web/modules/setup/layout.tsx rename apps/web/{app => modules}/setup/organization/[organizationId]/invite/actions.ts (88%) rename apps/web/{app => modules}/setup/organization/[organizationId]/invite/components/invite-members.tsx (95%) create mode 100644 apps/web/modules/setup/organization/[organizationId]/invite/lib/invite.ts create mode 100644 apps/web/modules/setup/organization/[organizationId]/invite/page.tsx create mode 100644 apps/web/modules/setup/organization/[organizationId]/invite/types/invites.ts rename apps/web/{app => modules}/setup/organization/create/components/create-organization.tsx (100%) rename apps/web/{app => modules}/setup/organization/create/components/removed-from-organization.tsx (100%) create mode 100644 apps/web/modules/setup/organization/create/page.tsx create mode 100644 packages/database/zod/invites.ts delete mode 100644 packages/types/invites.ts diff --git a/apps/web/app/(app)/environments/[environmentId]/project/layout.tsx b/apps/web/app/(app)/environments/[environmentId]/project/layout.tsx index 7fea4aafdd..b9f03a9b63 100644 --- a/apps/web/app/(app)/environments/[environmentId]/project/layout.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/project/layout.tsx @@ -1,3 +1,4 @@ -import { ProjectSettingsLayout } from "@/modules/projects/settings/layout"; +import { ProjectSettingsLayout, metadata } from "@/modules/projects/settings/layout"; +export { metadata }; export default ProjectSettingsLayout; diff --git a/apps/web/app/(auth)/auth/login/page.tsx b/apps/web/app/(auth)/auth/login/page.tsx index 3ef2005e4b..d676c3e07b 100644 --- a/apps/web/app/(auth)/auth/login/page.tsx +++ b/apps/web/app/(auth)/auth/login/page.tsx @@ -1,3 +1,4 @@ -import { LoginPage } from "@/modules/auth/login/page"; +import { LoginPage, metadata } from "@/modules/auth/login/page"; +export { metadata }; export default LoginPage; diff --git a/apps/web/app/(auth)/invite/page.tsx b/apps/web/app/(auth)/invite/page.tsx index a480cba9d3..485b8f90b5 100644 --- a/apps/web/app/(auth)/invite/page.tsx +++ b/apps/web/app/(auth)/invite/page.tsx @@ -1,133 +1,3 @@ -import { authOptions } from "@/modules/auth/lib/authOptions"; -import { sendInviteAcceptedEmail } from "@/modules/email"; -import { createTeamMembership } from "@/modules/invite/lib/team"; -import { Button } from "@/modules/ui/components/button"; -import { getServerSession } from "next-auth"; -import { getTranslations } from "next-intl/server"; -import Link from "next/link"; -import { after } from "next/server"; -import { DEFAULT_LOCALE, WEBAPP_URL } from "@formbricks/lib/constants"; -import { deleteInvite, getInvite } from "@formbricks/lib/invite/service"; -import { verifyInviteToken } from "@formbricks/lib/jwt"; -import { createMembership } from "@formbricks/lib/membership/service"; -import { getUser, updateUser } from "@formbricks/lib/user/service"; -import { ContentLayout } from "./components/ContentLayout"; +import { InvitePage } from "@/modules/auth/invite/page"; -const Page = async (props) => { - const searchParams = await props.searchParams; - const t = await getTranslations(); - const session = await getServerSession(authOptions); - const user = session?.user.id ? await getUser(session.user.id) : null; - - try { - const { inviteId, email } = verifyInviteToken(searchParams.token); - - const invite = await getInvite(inviteId); - - if (!invite) { - return ( - - ); - } - - const isInviteExpired = new Date(invite.expiresAt) < new Date(); - - const createMembershipAction = async () => { - "use server"; - - if (!session || !user) return; - - await createMembership(invite.organizationId, session.user.id, { - accepted: true, - role: invite.role, - }); - if (invite.teamIds) { - await createTeamMembership(invite, user.id); - } - await deleteInvite(inviteId); - await sendInviteAcceptedEmail( - invite.creator.name ?? "", - user?.name ?? "", - invite.creator.email, - user?.locale ?? DEFAULT_LOCALE - ); - await updateUser(session.user.id, { - notificationSettings: { - ...user.notificationSettings, - alert: user.notificationSettings.alert ?? {}, - weeklySummary: user.notificationSettings.weeklySummary ?? {}, - unsubscribedOrganizationIds: Array.from( - new Set([ - ...(user.notificationSettings?.unsubscribedOrganizationIds || []), - invite.organizationId, - ]) - ), - }, - }); - }; - - if (isInviteExpired) { - return ( - - ); - } else if (!session) { - const redirectUrl = WEBAPP_URL + "/invite?token=" + searchParams.token; - const encodedEmail = encodeURIComponent(email); - return ( - - - - - ); - } else if (user?.email?.toLowerCase() !== email?.toLowerCase()) { - return ( - - - - ); - } else { - after(async () => { - await createMembershipAction(); - }); - return ( - - - - ); - } - } catch (e) { - console.error(e); - return ( - - ); - } -}; - -export default Page; +export default InvitePage; diff --git a/apps/web/app/setup/(fresh-instance)/intro/page.tsx b/apps/web/app/setup/(fresh-instance)/intro/page.tsx index 70f3ddbb83..a1d0c89566 100644 --- a/apps/web/app/setup/(fresh-instance)/intro/page.tsx +++ b/apps/web/app/setup/(fresh-instance)/intro/page.tsx @@ -1,35 +1,4 @@ -import { Button } from "@/modules/ui/components/button"; -import { Metadata } from "next"; -import { getTranslations } from "next-intl/server"; -import Link from "next/link"; +import { IntroPage, metadata } from "@/modules/setup/(fresh-instance)/intro/page"; -export const metadata: Metadata = { - title: "Intro", - description: "Open-source Experience Management. Free & open source.", -}; - -const renderRichText = async (text: string) => { - const t = await getTranslations(); - return

    {t.rich(text, { b: (chunks) => {chunks} })}

    ; -}; - -const Page = async () => { - const t = await getTranslations(); - return ( -
    -

    {t("setup.intro.welcome_to_formbricks")}

    -
    - {renderRichText("setup.intro.paragraph_1")} - {renderRichText("setup.intro.paragraph_2")} - {renderRichText("setup.intro.paragraph_3")} -
    - - -

    {t("setup.intro.made_with_love_in_kiel")}

    -
    - ); -}; - -export default Page; +export { metadata }; +export default IntroPage; diff --git a/apps/web/app/setup/(fresh-instance)/layout.tsx b/apps/web/app/setup/(fresh-instance)/layout.tsx index f0ae3ea0b2..d8fd828ba5 100644 --- a/apps/web/app/setup/(fresh-instance)/layout.tsx +++ b/apps/web/app/setup/(fresh-instance)/layout.tsx @@ -1,16 +1,3 @@ -import { authOptions } from "@/modules/auth/lib/authOptions"; -import { getServerSession } from "next-auth"; -import { notFound } from "next/navigation"; -import { getIsFreshInstance } from "@formbricks/lib/instance/service"; - -const FreshInstanceLayout = async ({ children }: { children: React.ReactNode }) => { - const session = await getServerSession(authOptions); - const isFreshInstance = await getIsFreshInstance(); - - if (session ?? !isFreshInstance) { - return notFound(); - } - return <>{children}; -}; +import { FreshInstanceLayout } from "@/modules/setup/(fresh-instance)/layout"; export default FreshInstanceLayout; diff --git a/apps/web/app/setup/(fresh-instance)/signup/page.tsx b/apps/web/app/setup/(fresh-instance)/signup/page.tsx index 86b2356fce..9eae7c8b3b 100644 --- a/apps/web/app/setup/(fresh-instance)/signup/page.tsx +++ b/apps/web/app/setup/(fresh-instance)/signup/page.tsx @@ -1,57 +1,4 @@ -import { SignupForm } from "@/modules/auth/signup/components/signup-form"; -import { getIsSSOEnabled } from "@/modules/ee/license-check/lib/utils"; -import { Metadata } from "next"; -import { getTranslations } from "next-intl/server"; -import { - AZURE_OAUTH_ENABLED, - DEFAULT_ORGANIZATION_ID, - DEFAULT_ORGANIZATION_ROLE, - EMAIL_AUTH_ENABLED, - EMAIL_VERIFICATION_DISABLED, - GITHUB_OAUTH_ENABLED, - GOOGLE_OAUTH_ENABLED, - IS_TURNSTILE_CONFIGURED, - OIDC_DISPLAY_NAME, - OIDC_OAUTH_ENABLED, - PRIVACY_URL, - TERMS_URL, - WEBAPP_URL, -} from "@formbricks/lib/constants"; -import { findMatchingLocale } from "@formbricks/lib/utils/locale"; +import { SignupPage, metadata } from "@/modules/setup/(fresh-instance)/signup/page"; -export const metadata: Metadata = { - title: "Sign up", - description: "Open-source Experience Management. Free & open source.", -}; - -const Page = async () => { - const locale = await findMatchingLocale(); - const isSSOEnabled = await getIsSSOEnabled(); - const t = await getTranslations(); - return ( -
    -

    {t("setup.signup.create_administrator")}

    -

    {t("setup.signup.this_user_has_all_the_power")}

    -
    - -
    - ); -}; - -export default Page; +export { metadata }; +export default SignupPage; diff --git a/apps/web/app/setup/layout.tsx b/apps/web/app/setup/layout.tsx index fdea39aa02..5a4138afb0 100644 --- a/apps/web/app/setup/layout.tsx +++ b/apps/web/app/setup/layout.tsx @@ -1,22 +1,3 @@ -import { FormbricksLogo } from "@/modules/ui/components/formbricks-logo"; -import { Toaster } from "react-hot-toast"; - -const SetupLayout = ({ children }: { children: React.ReactNode }) => { - return ( - <> - -
    -
    -
    - -
    - {children} -
    -
    - - ); -}; +import { SetupLayout } from "@/modules/setup/layout"; export default SetupLayout; diff --git a/apps/web/app/setup/organization/[organizationId]/invite/page.tsx b/apps/web/app/setup/organization/[organizationId]/invite/page.tsx index 44cb556384..62aec844aa 100644 --- a/apps/web/app/setup/organization/[organizationId]/invite/page.tsx +++ b/apps/web/app/setup/organization/[organizationId]/invite/page.tsx @@ -1,40 +1,4 @@ -import { InviteMembers } from "@/app/setup/organization/[organizationId]/invite/components/invite-members"; -import { authOptions } from "@/modules/auth/lib/authOptions"; -import { Metadata } from "next"; -import { getServerSession } from "next-auth"; -import { getTranslations } from "next-intl/server"; -import { notFound } from "next/navigation"; -import { SMTP_HOST, SMTP_PASSWORD, SMTP_PORT, SMTP_USER } from "@formbricks/lib/constants"; -import { verifyUserRoleAccess } from "@formbricks/lib/organization/auth"; -import { AuthenticationError } from "@formbricks/types/errors"; +import { InvitePage, metadata } from "@/modules/setup/organization/[organizationId]/invite/page"; -type Params = Promise<{ - organizationId: string; -}>; -export const metadata: Metadata = { - title: "Invite", - description: "Open-source Experience Management. Free & open source.", -}; - -interface InvitePageProps { - params: Params; -} - -const Page = async (props: InvitePageProps) => { - const params = await props.params; - const t = await getTranslations(); - const IS_SMTP_CONFIGURED = Boolean(SMTP_HOST && SMTP_PORT && SMTP_USER && SMTP_PASSWORD); - const session = await getServerSession(authOptions); - if (!session) throw new AuthenticationError(t("common.session_not_found")); - - const { hasCreateOrUpdateMembersAccess } = await verifyUserRoleAccess( - params.organizationId, - session.user.id - ); - - if (!hasCreateOrUpdateMembersAccess) return notFound(); - - return ; -}; - -export default Page; +export { metadata }; +export default InvitePage; diff --git a/apps/web/app/setup/organization/create/page.tsx b/apps/web/app/setup/organization/create/page.tsx index 030ea5a128..7fdaf27827 100644 --- a/apps/web/app/setup/organization/create/page.tsx +++ b/apps/web/app/setup/organization/create/page.tsx @@ -1,47 +1,4 @@ -import { RemovedFromOrganization } from "@/app/setup/organization/create/components/removed-from-organization"; -import { authOptions } from "@/modules/auth/lib/authOptions"; -import { getIsMultiOrgEnabled } from "@/modules/ee/license-check/lib/utils"; -import { ClientLogout } from "@/modules/ui/components/client-logout"; -import { Metadata } from "next"; -import { getServerSession } from "next-auth"; -import { getTranslations } from "next-intl/server"; -import { notFound } from "next/navigation"; -import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; -import { gethasNoOrganizations } from "@formbricks/lib/instance/service"; -import { getOrganizationsByUserId } from "@formbricks/lib/organization/service"; -import { getUser } from "@formbricks/lib/user/service"; -import { AuthenticationError } from "@formbricks/types/errors"; -import { CreateOrganization } from "./components/create-organization"; +import { CreateOrganizationPage, metadata } from "@/modules/setup/organization/create/page"; -export const metadata: Metadata = { - title: "Create Organization", - description: "Open-source Experience Management. Free & open source.", -}; - -const Page = async () => { - const t = await getTranslations(); - const session = await getServerSession(authOptions); - - if (!session) throw new AuthenticationError(t("common.session_not_found")); - - const user = await getUser(session.user.id); - if (!user) { - return ; - } - - const hasNoOrganizations = await gethasNoOrganizations(); - const isMultiOrgEnabled = await getIsMultiOrgEnabled(); - const userOrganizations = await getOrganizationsByUserId(session.user.id); - - if (hasNoOrganizations || isMultiOrgEnabled) { - return ; - } - - if (userOrganizations.length === 0) { - return ; - } - - return notFound(); -}; - -export default Page; +export { metadata }; +export default CreateOrganizationPage; diff --git a/packages/lib/invite/cache.ts b/apps/web/lib/cache/invite.ts similarity index 100% rename from packages/lib/invite/cache.ts rename to apps/web/lib/cache/invite.ts diff --git a/apps/web/lib/utils/services.ts b/apps/web/lib/utils/services.ts index 6829f1bd90..8f80fdb7c1 100644 --- a/apps/web/lib/utils/services.ts +++ b/apps/web/lib/utils/services.ts @@ -2,6 +2,7 @@ import { apiKeyCache } from "@/lib/cache/api-key"; import { contactCache } from "@/lib/cache/contact"; +import { inviteCache } from "@/lib/cache/invite"; import { teamCache } from "@/lib/cache/team"; import { webhookCache } from "@/lib/cache/webhook"; import { Prisma } from "@prisma/client"; @@ -12,7 +13,6 @@ import { cache } from "@formbricks/lib/cache"; import { segmentCache } from "@formbricks/lib/cache/segment"; import { environmentCache } from "@formbricks/lib/environment/cache"; import { integrationCache } from "@formbricks/lib/integration/cache"; -import { inviteCache } from "@formbricks/lib/invite/cache"; import { projectCache } from "@formbricks/lib/project/cache"; import { responseCache } from "@formbricks/lib/response/cache"; import { responseNoteCache } from "@formbricks/lib/responseNote/cache"; diff --git a/apps/web/app/(auth)/invite/components/ContentLayout.tsx b/apps/web/modules/auth/invite/components/content-layout.tsx similarity index 100% rename from apps/web/app/(auth)/invite/components/ContentLayout.tsx rename to apps/web/modules/auth/invite/components/content-layout.tsx diff --git a/apps/web/modules/auth/invite/lib/invite.ts b/apps/web/modules/auth/invite/lib/invite.ts new file mode 100644 index 0000000000..ae007c2081 --- /dev/null +++ b/apps/web/modules/auth/invite/lib/invite.ts @@ -0,0 +1,78 @@ +import { inviteCache } from "@/lib/cache/invite"; +import { type InviteWithCreator } from "@/modules/auth/invite/types/invites"; +import { Prisma } from "@prisma/client"; +import { cache as reactCache } from "react"; +import { prisma } from "@formbricks/database"; +import { cache } from "@formbricks/lib/cache"; +import { DatabaseError, ResourceNotFoundError } from "@formbricks/types/errors"; + +export const deleteInvite = async (inviteId: string): Promise => { + try { + const invite = await prisma.invite.delete({ + where: { + id: inviteId, + }, + select: { + id: true, + organizationId: true, + }, + }); + + if (!invite) { + throw new ResourceNotFoundError("Invite", inviteId); + } + + inviteCache.revalidate({ + id: invite.id, + organizationId: invite.organizationId, + }); + + return true; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } +}; + +export const getInvite = reactCache( + async (inviteId: string): Promise => + cache( + async () => { + try { + const invite = await prisma.invite.findUnique({ + where: { + id: inviteId, + }, + select: { + id: true, + expiresAt: true, + organizationId: true, + role: true, + teamIds: true, + creator: { + select: { + name: true, + email: true, + }, + }, + }, + }); + + return invite; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } + }, + [`invite-getInvite-${inviteId}`], + { + tags: [inviteCache.tag.byId(inviteId)], + } + )() +); diff --git a/apps/web/modules/invite/lib/team.ts b/apps/web/modules/auth/invite/lib/team.ts similarity index 84% rename from apps/web/modules/invite/lib/team.ts rename to apps/web/modules/auth/invite/lib/team.ts index e923716587..00ddc6dab6 100644 --- a/apps/web/modules/invite/lib/team.ts +++ b/apps/web/modules/auth/invite/lib/team.ts @@ -1,17 +1,13 @@ import "server-only"; import { teamCache } from "@/lib/cache/team"; +import { CreateMembershipInvite } from "@/modules/auth/invite/types/invites"; import { Prisma } from "@prisma/client"; import { prisma } from "@formbricks/database"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { projectCache } from "@formbricks/lib/project/cache"; -import { validateInputs } from "@formbricks/lib/utils/validate"; -import { ZString } from "@formbricks/types/common"; import { DatabaseError } from "@formbricks/types/errors"; -import { TInvite, ZInvite } from "@formbricks/types/invites"; - -export const createTeamMembership = async (invite: TInvite, userId: string): Promise => { - validateInputs([invite, ZInvite], [userId, ZString]); +export const createTeamMembership = async (invite: CreateMembershipInvite, userId: string): Promise => { const teamIds = invite.teamIds || []; const userMembershipRole = invite.role; const { isOwner, isManager } = getAccessFlags(userMembershipRole); diff --git a/apps/web/modules/auth/invite/page.tsx b/apps/web/modules/auth/invite/page.tsx new file mode 100644 index 0000000000..4f02c2f9e2 --- /dev/null +++ b/apps/web/modules/auth/invite/page.tsx @@ -0,0 +1,147 @@ +import { deleteInvite, getInvite } from "@/modules/auth/invite/lib/invite"; +import { createTeamMembership } from "@/modules/auth/invite/lib/team"; +import { authOptions } from "@/modules/auth/lib/authOptions"; +import { sendInviteAcceptedEmail } from "@/modules/email"; +import { Button } from "@/modules/ui/components/button"; +import { getServerSession } from "next-auth"; +import { getTranslations } from "next-intl/server"; +import Link from "next/link"; +import { after } from "next/server"; +import { DEFAULT_LOCALE, WEBAPP_URL } from "@formbricks/lib/constants"; +import { verifyInviteToken } from "@formbricks/lib/jwt"; +import { createMembership } from "@formbricks/lib/membership/service"; +import { getUser, updateUser } from "@formbricks/lib/user/service"; +import { ContentLayout } from "./components/content-layout"; + +interface InvitePageProps { + searchParams: Promise<{ token: string }>; +} + +export const InvitePage = async (props: InvitePageProps) => { + const searchParams = await props.searchParams; + const t = await getTranslations(); + const session = await getServerSession(authOptions); + const user = session?.user.id ? await getUser(session.user.id) : null; + + try { + const { inviteId, email } = verifyInviteToken(searchParams.token); + + const invite = await getInvite(inviteId); + + if (!invite) { + return ( + + ); + } + + const isInviteExpired = new Date(invite.expiresAt) < new Date(); + + if (isInviteExpired) { + return ( + + ); + } + + if (!session) { + const redirectUrl = WEBAPP_URL + "/invite?token=" + searchParams.token; + const encodedEmail = encodeURIComponent(email); + return ( + + + + + ); + } + + if (user?.email?.toLowerCase() !== email?.toLowerCase()) { + return ( + + + + ); + } + + const createMembershipAction = async () => { + "use server"; + + if (!session || !user) return; + + await createMembership(invite.organizationId, session.user.id, { + accepted: true, + role: invite.role, + }); + if (invite.teamIds) { + await createTeamMembership( + { + organizationId: invite.organizationId, + role: invite.role, + teamIds: invite.teamIds, + }, + user.id + ); + } + await deleteInvite(inviteId); + await sendInviteAcceptedEmail( + invite.creator.name ?? "", + user?.name ?? "", + invite.creator.email, + user?.locale ?? DEFAULT_LOCALE + ); + await updateUser(session.user.id, { + notificationSettings: { + ...user.notificationSettings, + alert: user.notificationSettings.alert ?? {}, + weeklySummary: user.notificationSettings.weeklySummary ?? {}, + unsubscribedOrganizationIds: Array.from( + new Set([ + ...(user.notificationSettings?.unsubscribedOrganizationIds || []), + invite.organizationId, + ]) + ), + }, + }); + }; + + after(async () => { + await createMembershipAction(); + }); + + return ( + + + + ); + } catch (e) { + console.error(e); + return ( + + ); + } +}; diff --git a/apps/web/modules/auth/invite/types/invites.ts b/apps/web/modules/auth/invite/types/invites.ts new file mode 100644 index 0000000000..224799d4df --- /dev/null +++ b/apps/web/modules/auth/invite/types/invites.ts @@ -0,0 +1,11 @@ +import { Invite } from "@prisma/client"; + +export interface InviteWithCreator + extends Pick { + creator: { + name: string | null; + email: string; + }; +} + +export interface CreateMembershipInvite extends Pick {} diff --git a/apps/web/modules/auth/signup/actions.ts b/apps/web/modules/auth/signup/actions.ts index 483dacbaeb..51129503b9 100644 --- a/apps/web/modules/auth/signup/actions.ts +++ b/apps/web/modules/auth/signup/actions.ts @@ -1,17 +1,15 @@ "use server"; import { actionClient } from "@/lib/utils/action-client"; -import { createUser } from "@/modules/auth/lib/user"; -import { updateUser } from "@/modules/auth/lib/user"; +import { createUser, updateUser } from "@/modules/auth/lib/user"; +import { deleteInvite, getInvite } from "@/modules/auth/signup/lib/invite"; +import { createTeamMembership } from "@/modules/auth/signup/lib/team"; import { captureFailedSignup, verifyTurnstileToken } from "@/modules/auth/signup/lib/utils"; import { getIsMultiOrgEnabled } from "@/modules/ee/license-check/lib/utils"; import { sendInviteAcceptedEmail, sendVerificationEmail } from "@/modules/email"; -import { createTeamMembership } from "@/modules/invite/lib/team"; import { z } from "zod"; import { hashPassword } from "@formbricks/lib/auth"; import { IS_TURNSTILE_CONFIGURED, TURNSTILE_SECRET_KEY } from "@formbricks/lib/constants"; -import { getInvite } from "@formbricks/lib/invite/service"; -import { deleteInvite } from "@formbricks/lib/invite/service"; import { verifyInviteToken } from "@formbricks/lib/jwt"; import { createMembership } from "@formbricks/lib/membership/service"; import { createOrganization, getOrganization } from "@formbricks/lib/organization/service"; @@ -74,7 +72,14 @@ export const createUserAction = actionClient.schema(ZCreateUserAction).action(as }); if (invite.teamIds) { - await createTeamMembership(invite, user.id); + await createTeamMembership( + { + organizationId: invite.organizationId, + role: invite.role, + teamIds: invite.teamIds, + }, + user.id + ); } await updateUser(user.id, { diff --git a/apps/web/modules/auth/signup/lib/invite.ts b/apps/web/modules/auth/signup/lib/invite.ts new file mode 100644 index 0000000000..6a2cd7be03 --- /dev/null +++ b/apps/web/modules/auth/signup/lib/invite.ts @@ -0,0 +1,78 @@ +import { inviteCache } from "@/lib/cache/invite"; +import { InviteWithCreator } from "@/modules/auth/signup/types/invites"; +import { Prisma } from "@prisma/client"; +import { cache as reactCache } from "react"; +import { prisma } from "@formbricks/database"; +import { cache } from "@formbricks/lib/cache"; +import { DatabaseError, ResourceNotFoundError } from "@formbricks/types/errors"; + +export const deleteInvite = async (inviteId: string): Promise => { + try { + const invite = await prisma.invite.delete({ + where: { + id: inviteId, + }, + select: { + id: true, + organizationId: true, + }, + }); + + if (!invite) { + throw new ResourceNotFoundError("Invite", inviteId); + } + + inviteCache.revalidate({ + id: invite.id, + organizationId: invite.organizationId, + }); + + return true; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } +}; + +export const getInvite = reactCache( + async (inviteId: string): Promise => + cache( + async () => { + try { + const invite = await prisma.invite.findUnique({ + where: { + id: inviteId, + }, + select: { + id: true, + organizationId: true, + role: true, + teamIds: true, + creator: { + select: { + name: true, + email: true, + locale: true, + }, + }, + }, + }); + + return invite; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } + }, + [`signup-getInvite-${inviteId}`], + { + tags: [inviteCache.tag.byId(inviteId)], + } + )() +); diff --git a/apps/web/modules/auth/signup/lib/team.ts b/apps/web/modules/auth/signup/lib/team.ts new file mode 100644 index 0000000000..d3564a1512 --- /dev/null +++ b/apps/web/modules/auth/signup/lib/team.ts @@ -0,0 +1,65 @@ +import "server-only"; +import { teamCache } from "@/lib/cache/team"; +import { CreateMembershipInvite } from "@/modules/auth/signup/types/invites"; +import { Prisma } from "@prisma/client"; +import { prisma } from "@formbricks/database"; +import { getAccessFlags } from "@formbricks/lib/membership/utils"; +import { projectCache } from "@formbricks/lib/project/cache"; +import { DatabaseError } from "@formbricks/types/errors"; + +export const createTeamMembership = async (invite: CreateMembershipInvite, userId: string): Promise => { + const teamIds = invite.teamIds || []; + const userMembershipRole = invite.role; + const { isOwner, isManager } = getAccessFlags(userMembershipRole); + + const validTeamIds: string[] = []; + const validProjectIds: string[] = []; + + const isOwnerOrManager = isOwner || isManager; + try { + for (const teamId of teamIds) { + const team = await prisma.team.findUnique({ + where: { + id: teamId, + }, + select: { + projectTeams: { + select: { + projectId: true, + }, + }, + }, + }); + + if (team) { + await prisma.teamUser.create({ + data: { + teamId, + userId, + role: isOwnerOrManager ? "admin" : "contributor", + }, + }); + + validTeamIds.push(teamId); + validProjectIds.push(...team.projectTeams.map((pt) => pt.projectId)); + } + } + + for (const projectId of validProjectIds) { + teamCache.revalidate({ id: projectId }); + } + + for (const teamId of validTeamIds) { + teamCache.revalidate({ id: teamId }); + } + + teamCache.revalidate({ userId, organizationId: invite.organizationId }); + projectCache.revalidate({ userId, organizationId: invite.organizationId }); + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } +}; diff --git a/apps/web/modules/auth/signup/types/invites.ts b/apps/web/modules/auth/signup/types/invites.ts new file mode 100644 index 0000000000..957e2c5ff2 --- /dev/null +++ b/apps/web/modules/auth/signup/types/invites.ts @@ -0,0 +1,7 @@ +import { Invite, User } from "@prisma/client"; + +export interface InviteWithCreator extends Pick { + creator: Pick; +} + +export interface CreateMembershipInvite extends Pick {} diff --git a/apps/web/modules/ee/role-management/actions.ts b/apps/web/modules/ee/role-management/actions.ts index 92a2f71cc7..8142652064 100644 --- a/apps/web/modules/ee/role-management/actions.ts +++ b/apps/web/modules/ee/role-management/actions.ts @@ -3,14 +3,14 @@ import { authenticatedActionClient } from "@/lib/utils/action-client"; import { checkAuthorizationUpdated } from "@/lib/utils/action-client-middleware"; import { getRoleManagementPermission } from "@/modules/ee/license-check/lib/utils"; +import { updateInvite } from "@/modules/ee/role-management/lib/invite"; import { updateMembership } from "@/modules/ee/role-management/lib/membership"; +import { ZInviteUpdateInput } from "@/modules/ee/role-management/types/invites"; import { z } from "zod"; import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; -import { updateInvite } from "@formbricks/lib/invite/service"; import { getOrganization } from "@formbricks/lib/organization/service"; import { ZId, ZUuid } from "@formbricks/types/common"; import { OperationNotAllowedError, ValidationError } from "@formbricks/types/errors"; -import { ZInviteUpdateInput } from "@formbricks/types/invites"; import { ZMembershipUpdateInput } from "@formbricks/types/memberships"; export const checkRoleManagementPermission = async (organizationId: string) => { diff --git a/apps/web/modules/ee/role-management/lib/invite.ts b/apps/web/modules/ee/role-management/lib/invite.ts new file mode 100644 index 0000000000..4b5f0124ef --- /dev/null +++ b/apps/web/modules/ee/role-management/lib/invite.ts @@ -0,0 +1,31 @@ +import { inviteCache } from "@/lib/cache/invite"; +import { type TInviteUpdateInput } from "@/modules/ee/role-management/types/invites"; +import { Prisma } from "@prisma/client"; +import { prisma } from "@formbricks/database"; +import { ResourceNotFoundError } from "@formbricks/types/errors"; + +export const updateInvite = async (inviteId: string, data: TInviteUpdateInput): Promise => { + try { + const invite = await prisma.invite.update({ + where: { id: inviteId }, + data, + }); + + if (invite === null) { + throw new ResourceNotFoundError("Invite", inviteId); + } + + inviteCache.revalidate({ + id: invite.id, + organizationId: invite.organizationId, + }); + + return true; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError && error.code === "P2016") { + throw new ResourceNotFoundError("Invite", inviteId); + } else { + throw error; // Re-throw any other errors + } + } +}; diff --git a/apps/web/modules/ee/role-management/types/invites.ts b/apps/web/modules/ee/role-management/types/invites.ts new file mode 100644 index 0000000000..92c2772dbe --- /dev/null +++ b/apps/web/modules/ee/role-management/types/invites.ts @@ -0,0 +1,8 @@ +import { z } from "zod"; +import { ZInvite } from "@formbricks/database/zod/invites"; + +export const ZInviteUpdateInput = ZInvite.pick({ + role: true, +}); + +export type TInviteUpdateInput = z.infer; diff --git a/apps/web/modules/organization/settings/teams/actions.ts b/apps/web/modules/organization/settings/teams/actions.ts index e09ecee678..e0ad1e7368 100644 --- a/apps/web/modules/organization/settings/teams/actions.ts +++ b/apps/web/modules/organization/settings/teams/actions.ts @@ -14,13 +14,13 @@ import { import { OrganizationRole } from "@prisma/client"; import { z } from "zod"; import { INVITE_DISABLED, IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; -import { deleteInvite, getInvite, inviteUser, resendInvite } from "@formbricks/lib/invite/service"; import { createInviteToken } from "@formbricks/lib/jwt"; import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { ZId, ZUuid } from "@formbricks/types/common"; import { AuthenticationError, OperationNotAllowedError, ValidationError } from "@formbricks/types/errors"; import { ZOrganizationRole } from "@formbricks/types/memberships"; +import { deleteInvite, getInvite, inviteUser, resendInvite } from "./lib/invite"; const ZDeleteInviteAction = z.object({ inviteId: ZUuid, @@ -206,7 +206,7 @@ export const inviteUserAction = authenticatedActionClient await checkRoleManagementPermission(parsedInput.organizationId); } - const invite = await inviteUser({ + const inviteId = await inviteUser({ organizationId: parsedInput.organizationId, invitee: { email: parsedInput.email, @@ -217,9 +217,9 @@ export const inviteUserAction = authenticatedActionClient currentUserId: ctx.user.id, }); - if (invite) { + if (inviteId) { await sendInviteMemberEmail( - invite.id, + inviteId, parsedInput.email, ctx.user.name ?? "", parsedInput.name ?? "", @@ -229,7 +229,7 @@ export const inviteUserAction = authenticatedActionClient ); } - return invite; + return inviteId; }); const ZLeaveOrganizationAction = z.object({ diff --git a/apps/web/modules/organization/settings/teams/components/edit-memberships/edit-memberships.tsx b/apps/web/modules/organization/settings/teams/components/edit-memberships/edit-memberships.tsx index 19abec9a44..e6bf66ded3 100644 --- a/apps/web/modules/organization/settings/teams/components/edit-memberships/edit-memberships.tsx +++ b/apps/web/modules/organization/settings/teams/components/edit-memberships/edit-memberships.tsx @@ -1,8 +1,8 @@ import { MembersInfo } from "@/modules/organization/settings/teams/components/edit-memberships/members-info"; +import { getInvitesByOrganizationId } from "@/modules/organization/settings/teams/lib/invite"; import { getMembershipByOrganizationId } from "@/modules/organization/settings/teams/lib/membership"; import { getTranslations } from "next-intl/server"; import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; -import { getInvitesByOrganizationId } from "@formbricks/lib/invite/service"; import { TOrganizationRole } from "@formbricks/types/memberships"; import { TOrganization } from "@formbricks/types/organizations"; diff --git a/apps/web/modules/organization/settings/teams/components/edit-memberships/member-actions.tsx b/apps/web/modules/organization/settings/teams/components/edit-memberships/member-actions.tsx index 316b8e8749..ef5e265689 100644 --- a/apps/web/modules/organization/settings/teams/components/edit-memberships/member-actions.tsx +++ b/apps/web/modules/organization/settings/teams/components/edit-memberships/member-actions.tsx @@ -8,6 +8,7 @@ import { resendInviteAction, } from "@/modules/organization/settings/teams/actions"; import { ShareInviteModal } from "@/modules/organization/settings/teams/components/invite-member/share-invite-modal"; +import { TInvite } from "@/modules/organization/settings/teams/types/invites"; import { Button } from "@/modules/ui/components/button"; import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; import { TooltipRenderer } from "@/modules/ui/components/tooltip"; @@ -16,7 +17,6 @@ import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import React, { useMemo, useState } from "react"; import toast from "react-hot-toast"; -import { TInvite } from "@formbricks/types/invites"; import { TMember } from "@formbricks/types/memberships"; import { TOrganization } from "@formbricks/types/organizations"; diff --git a/apps/web/modules/organization/settings/teams/components/edit-memberships/members-info.tsx b/apps/web/modules/organization/settings/teams/components/edit-memberships/members-info.tsx index 6d686168fe..dd9bad16a9 100644 --- a/apps/web/modules/organization/settings/teams/components/edit-memberships/members-info.tsx +++ b/apps/web/modules/organization/settings/teams/components/edit-memberships/members-info.tsx @@ -1,12 +1,12 @@ -import { isInviteExpired } from "@/app/lib/utils"; import { EditMembershipRole } from "@/modules/ee/role-management/components/edit-membership-role"; import { MemberActions } from "@/modules/organization/settings/teams/components/edit-memberships/member-actions"; +import { isInviteExpired } from "@/modules/organization/settings/teams/lib/utilts"; +import { TInvite } from "@/modules/organization/settings/teams/types/invites"; import { Badge } from "@/modules/ui/components/badge"; import { TooltipRenderer } from "@/modules/ui/components/tooltip"; import { useTranslations } from "next-intl"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getFormattedDateTimeString } from "@formbricks/lib/utils/datetime"; -import { TInvite } from "@formbricks/types/invites"; import { TMember, TOrganizationRole } from "@formbricks/types/memberships"; import { TOrganization } from "@formbricks/types/organizations"; diff --git a/apps/web/modules/organization/settings/teams/components/edit-memberships/organization-actions.tsx b/apps/web/modules/organization/settings/teams/components/edit-memberships/organization-actions.tsx index 1e8aed2117..d771bafef9 100644 --- a/apps/web/modules/organization/settings/teams/components/edit-memberships/organization-actions.tsx +++ b/apps/web/modules/organization/settings/teams/components/edit-memberships/organization-actions.tsx @@ -4,6 +4,7 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { TOrganizationTeam } from "@/modules/ee/teams/team-list/types/team"; import { inviteUserAction, leaveOrganizationAction } from "@/modules/organization/settings/teams/actions"; import { InviteMemberModal } from "@/modules/organization/settings/teams/components/invite-member/invite-member-modal"; +import { TInvitee } from "@/modules/organization/settings/teams/types/invites"; import { Button } from "@/modules/ui/components/button"; import { CustomDialog } from "@/modules/ui/components/custom-dialog"; import { XIcon } from "lucide-react"; @@ -12,7 +13,6 @@ import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; import { FORMBRICKS_ENVIRONMENT_ID_LS } from "@formbricks/lib/localStorage"; -import { TInvitee } from "@formbricks/types/invites"; import { TOrganizationRole } from "@formbricks/types/memberships"; import { TOrganization } from "@formbricks/types/organizations"; @@ -86,7 +86,7 @@ export const OrganizationActions = ({ email: email.toLowerCase(), name, role, - teamIds: teamIds, + teamIds, }); return { email, diff --git a/apps/web/modules/organization/settings/teams/components/invite-member/bulk-invite-tab.tsx b/apps/web/modules/organization/settings/teams/components/invite-member/bulk-invite-tab.tsx index c359c64c47..94dfdc088c 100644 --- a/apps/web/modules/organization/settings/teams/components/invite-member/bulk-invite-tab.tsx +++ b/apps/web/modules/organization/settings/teams/components/invite-member/bulk-invite-tab.tsx @@ -1,5 +1,6 @@ "use client"; +import { ZInvitees } from "@/modules/organization/settings/teams/types/invites"; import { Alert, AlertDescription } from "@/modules/ui/components/alert"; import { Button } from "@/modules/ui/components/button"; import { Uploader } from "@/modules/ui/components/file-input/components/uploader"; @@ -9,7 +10,6 @@ import Link from "next/link"; import Papa, { type ParseResult } from "papaparse"; import { useState } from "react"; import toast from "react-hot-toast"; -import { ZInvitees } from "@formbricks/types/invites"; import { TOrganizationRole } from "@formbricks/types/memberships"; interface BulkInviteTabProps { diff --git a/packages/lib/invite/service.ts b/apps/web/modules/organization/settings/teams/lib/invite.ts similarity index 67% rename from packages/lib/invite/service.ts rename to apps/web/modules/organization/settings/teams/lib/invite.ts index eafea49112..b3443b7f8b 100644 --- a/packages/lib/invite/service.ts +++ b/apps/web/modules/organization/settings/teams/lib/invite.ts @@ -1,175 +1,21 @@ -import "server-only"; -import { Prisma } from "@prisma/client"; +import { inviteCache } from "@/lib/cache/invite"; +import { Invite, Prisma } from "@prisma/client"; import { cache as reactCache } from "react"; +import { z } from "zod"; import { prisma } from "@formbricks/database"; -import { ZOptionalNumber, ZString } from "@formbricks/types/common"; +import { cache } from "@formbricks/lib/cache"; +import { ITEMS_PER_PAGE } from "@formbricks/lib/constants"; +import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service"; +import { validateInputs } from "@formbricks/lib/utils/validate"; import { DatabaseError, InvalidInputError, ResourceNotFoundError, ValidationError, } from "@formbricks/types/errors"; -import { - TInvite, - TInviteUpdateInput, - TInvitee, - ZInviteUpdateInput, - ZInvitee, -} from "@formbricks/types/invites"; -import { cache } from "../cache"; -import { ITEMS_PER_PAGE } from "../constants"; -import { getMembershipByUserIdOrganizationId } from "../membership/service"; -import { validateInputs } from "../utils/validate"; -import { inviteCache } from "./cache"; - -const inviteSelect: Prisma.InviteSelect = { - id: true, - email: true, - name: true, - organizationId: true, - creatorId: true, - acceptorId: true, - createdAt: true, - expiresAt: true, - role: true, - teamIds: true, -}; -interface InviteWithCreator extends TInvite { - creator: { - name: string | null; - email: string; - locale: string; - }; -} -export const getInvitesByOrganizationId = reactCache( - async (organizationId: string, page?: number): Promise => - cache( - async () => { - validateInputs([organizationId, ZString], [page, ZOptionalNumber]); - - try { - const invites = await prisma.invite.findMany({ - where: { organizationId }, - select: inviteSelect, - take: page ? ITEMS_PER_PAGE : undefined, - skip: page ? ITEMS_PER_PAGE * (page - 1) : undefined, - }); - - return invites; - } catch (error) { - if (error instanceof Prisma.PrismaClientKnownRequestError) { - throw new DatabaseError(error.message); - } - - throw error; - } - }, - [`getInvitesByOrganizationId-${organizationId}-${page}`], - { - tags: [inviteCache.tag.byOrganizationId(organizationId)], - } - )() -); - -export const updateInvite = async (inviteId: string, data: TInviteUpdateInput): Promise => { - validateInputs([inviteId, ZString], [data, ZInviteUpdateInput]); - - try { - const invite = await prisma.invite.update({ - where: { id: inviteId }, - data, - select: inviteSelect, - }); - - if (invite === null) { - throw new ResourceNotFoundError("Invite", inviteId); - } - - inviteCache.revalidate({ - id: invite.id, - organizationId: invite.organizationId, - }); - - return invite; - } catch (error) { - if (error instanceof Prisma.PrismaClientKnownRequestError && error.code === "P2016") { - throw new ResourceNotFoundError("Invite", inviteId); - } else { - throw error; // Re-throw any other errors - } - } -}; - -export const deleteInvite = async (inviteId: string): Promise => { - validateInputs([inviteId, ZString]); - - try { - const invite = await prisma.invite.delete({ - where: { - id: inviteId, - }, - }); - - if (invite === null) { - throw new ResourceNotFoundError("Invite", inviteId); - } - - inviteCache.revalidate({ - id: invite.id, - organizationId: invite.organizationId, - }); - - return invite; - } catch (error) { - if (error instanceof Prisma.PrismaClientKnownRequestError) { - throw new DatabaseError(error.message); - } - - throw error; - } -}; - -export const getInvite = reactCache( - async (inviteId: string): Promise => - cache( - async () => { - validateInputs([inviteId, ZString]); - - try { - const invite = await prisma.invite.findUnique({ - where: { - id: inviteId, - }, - include: { - creator: { - select: { - name: true, - email: true, - locale: true, - }, - }, - }, - }); - - return invite; - } catch (error) { - if (error instanceof Prisma.PrismaClientKnownRequestError) { - throw new DatabaseError(error.message); - } - - throw error; - } - }, - [`getInvite-${inviteId}`], - { - tags: [inviteCache.tag.byId(inviteId)], - } - )() -); - -export const resendInvite = async (inviteId: string): Promise => { - validateInputs([inviteId, ZString]); +import { type InviteWithCreator, type TInvite, type TInvitee } from "../types/invites"; +export const resendInvite = async (inviteId: string): Promise> => { try { const invite = await prisma.invite.findUnique({ where: { @@ -193,6 +39,12 @@ export const resendInvite = async (inviteId: string): Promise => { data: { expiresAt: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7), }, + select: { + id: true, + email: true, + name: true, + organizationId: true, + }, }); inviteCache.revalidate({ @@ -200,7 +52,10 @@ export const resendInvite = async (inviteId: string): Promise => { organizationId: updatedInvite.organizationId, }); - return updatedInvite; + return { + email: updatedInvite.email, + name: updatedInvite.name, + }; } catch (error) { if (error instanceof Prisma.PrismaClientKnownRequestError) { throw new DatabaseError(error.message); @@ -210,6 +65,43 @@ export const resendInvite = async (inviteId: string): Promise => { } }; +export const getInvitesByOrganizationId = reactCache( + async (organizationId: string, page?: number): Promise => + cache( + async () => { + validateInputs([organizationId, z.string()], [page, z.number().optional()]); + + try { + const invites = await prisma.invite.findMany({ + where: { organizationId }, + select: { + expiresAt: true, + role: true, + email: true, + name: true, + id: true, + createdAt: true, + }, + take: page ? ITEMS_PER_PAGE : undefined, + skip: page ? ITEMS_PER_PAGE * (page - 1) : undefined, + }); + + return invites; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } + }, + [`getInvitesByOrganizationId-${organizationId}-${page}`], + { + tags: [inviteCache.tag.byOrganizationId(organizationId)], + } + )() +); + export const inviteUser = async ({ invitee, organizationId, @@ -218,9 +110,7 @@ export const inviteUser = async ({ organizationId: string; invitee: TInvitee; currentUserId: string; -}): Promise => { - validateInputs([organizationId, ZString], [invitee, ZInvitee]); - +}): Promise => { try { const { name, email, role, teamIds } = invitee; @@ -278,7 +168,7 @@ export const inviteUser = async ({ organizationId: invite.organizationId, }); - return invite; + return invite.id; } catch (error) { if (error instanceof Prisma.PrismaClientKnownRequestError) { throw new DatabaseError(error.message); @@ -287,3 +177,69 @@ export const inviteUser = async ({ throw error; } }; + +export const deleteInvite = async (inviteId: string): Promise => { + try { + const invite = await prisma.invite.delete({ + where: { + id: inviteId, + }, + select: { + id: true, + organizationId: true, + }, + }); + + if (!invite) { + throw new ResourceNotFoundError("Invite", inviteId); + } + + inviteCache.revalidate({ + id: invite.id, + organizationId: invite.organizationId, + }); + + return true; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } +}; + +export const getInvite = reactCache( + async (inviteId: string): Promise => + cache( + async () => { + try { + const invite = await prisma.invite.findUnique({ + where: { + id: inviteId, + }, + select: { + email: true, + creator: { + select: { + name: true, + }, + }, + }, + }); + + return invite; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } + }, + [`teams-getInvite-${inviteId}`], + { + tags: [inviteCache.tag.byId(inviteId)], + } + )() +); diff --git a/apps/web/app/lib/utils.ts b/apps/web/modules/organization/settings/teams/lib/utilts.ts similarity index 66% rename from apps/web/app/lib/utils.ts rename to apps/web/modules/organization/settings/teams/lib/utilts.ts index a64262d1b0..6f370d0705 100644 --- a/apps/web/app/lib/utils.ts +++ b/apps/web/modules/organization/settings/teams/lib/utilts.ts @@ -1,4 +1,4 @@ -import { TInvite } from "@formbricks/types/invites"; +import { TInvite } from "@/modules/organization/settings/teams/types/invites"; export const isInviteExpired = (invite: TInvite) => { const now = new Date(); diff --git a/apps/web/modules/organization/settings/teams/types/invites.ts b/apps/web/modules/organization/settings/teams/types/invites.ts new file mode 100644 index 0000000000..3434a2c06c --- /dev/null +++ b/apps/web/modules/organization/settings/teams/types/invites.ts @@ -0,0 +1,25 @@ +import { Invite } from "@prisma/client"; +import { z } from "zod"; +import { ZInvite } from "@formbricks/database/zod/invites"; +import { ZUserName } from "@formbricks/types/user"; + +export interface TInvite + extends Omit {} + +export interface InviteWithCreator extends Pick { + creator: { + name: string; + }; +} + +export const ZInvitee = ZInvite.pick({ + email: true, + role: true, + teamIds: true, +}).extend({ + name: ZUserName, +}); + +export type TInvitee = z.infer; + +export const ZInvitees = z.array(ZInvitee); diff --git a/apps/web/modules/setup/(fresh-instance)/intro/page.tsx b/apps/web/modules/setup/(fresh-instance)/intro/page.tsx new file mode 100644 index 0000000000..0cde887aec --- /dev/null +++ b/apps/web/modules/setup/(fresh-instance)/intro/page.tsx @@ -0,0 +1,33 @@ +import { Button } from "@/modules/ui/components/button"; +import { Metadata } from "next"; +import { getTranslations } from "next-intl/server"; +import Link from "next/link"; + +export const metadata: Metadata = { + title: "Intro", + description: "Open-source Experience Management. Free & open source.", +}; + +const renderRichText = async (text: string) => { + const t = await getTranslations(); + return

    {t.rich(text, { b: (chunks) => {chunks} })}

    ; +}; + +export const IntroPage = async () => { + const t = await getTranslations(); + return ( +
    +

    {t("setup.intro.welcome_to_formbricks")}

    +
    + {renderRichText("setup.intro.paragraph_1")} + {renderRichText("setup.intro.paragraph_2")} + {renderRichText("setup.intro.paragraph_3")} +
    + + +

    {t("setup.intro.made_with_love_in_kiel")}

    +
    + ); +}; diff --git a/apps/web/modules/setup/(fresh-instance)/layout.tsx b/apps/web/modules/setup/(fresh-instance)/layout.tsx new file mode 100644 index 0000000000..fa16495a7a --- /dev/null +++ b/apps/web/modules/setup/(fresh-instance)/layout.tsx @@ -0,0 +1,14 @@ +import { authOptions } from "@/modules/auth/lib/authOptions"; +import { getServerSession } from "next-auth"; +import { notFound } from "next/navigation"; +import { getIsFreshInstance } from "@formbricks/lib/instance/service"; + +export const FreshInstanceLayout = async ({ children }: { children: React.ReactNode }) => { + const session = await getServerSession(authOptions); + const isFreshInstance = await getIsFreshInstance(); + + if (session || !isFreshInstance) { + return notFound(); + } + return <>{children}; +}; diff --git a/apps/web/modules/setup/(fresh-instance)/signup/page.tsx b/apps/web/modules/setup/(fresh-instance)/signup/page.tsx new file mode 100644 index 0000000000..41117f1e3a --- /dev/null +++ b/apps/web/modules/setup/(fresh-instance)/signup/page.tsx @@ -0,0 +1,55 @@ +import { SignupForm } from "@/modules/auth/signup/components/signup-form"; +import { getIsSSOEnabled } from "@/modules/ee/license-check/lib/utils"; +import { Metadata } from "next"; +import { getTranslations } from "next-intl/server"; +import { + AZURE_OAUTH_ENABLED, + DEFAULT_ORGANIZATION_ID, + DEFAULT_ORGANIZATION_ROLE, + EMAIL_AUTH_ENABLED, + EMAIL_VERIFICATION_DISABLED, + GITHUB_OAUTH_ENABLED, + GOOGLE_OAUTH_ENABLED, + IS_TURNSTILE_CONFIGURED, + OIDC_DISPLAY_NAME, + OIDC_OAUTH_ENABLED, + PRIVACY_URL, + TERMS_URL, + WEBAPP_URL, +} from "@formbricks/lib/constants"; +import { findMatchingLocale } from "@formbricks/lib/utils/locale"; + +export const metadata: Metadata = { + title: "Sign up", + description: "Open-source Experience Management. Free & open source.", +}; + +export const SignupPage = async () => { + const locale = await findMatchingLocale(); + const isSSOEnabled = await getIsSSOEnabled(); + const t = await getTranslations(); + return ( +
    +

    {t("setup.signup.create_administrator")}

    +

    {t("setup.signup.this_user_has_all_the_power")}

    +
    + +
    + ); +}; diff --git a/apps/web/modules/setup/layout.tsx b/apps/web/modules/setup/layout.tsx new file mode 100644 index 0000000000..2e4722ec5f --- /dev/null +++ b/apps/web/modules/setup/layout.tsx @@ -0,0 +1,20 @@ +import { FormbricksLogo } from "@/modules/ui/components/formbricks-logo"; +import { Toaster } from "react-hot-toast"; + +export const SetupLayout = ({ children }: { children: React.ReactNode }) => { + return ( + <> + +
    +
    +
    + +
    + {children} +
    +
    + + ); +}; diff --git a/apps/web/app/setup/organization/[organizationId]/invite/actions.ts b/apps/web/modules/setup/organization/[organizationId]/invite/actions.ts similarity index 88% rename from apps/web/app/setup/organization/[organizationId]/invite/actions.ts rename to apps/web/modules/setup/organization/[organizationId]/invite/actions.ts index e9cd07a0bb..d1e5e7e429 100644 --- a/apps/web/app/setup/organization/[organizationId]/invite/actions.ts +++ b/apps/web/modules/setup/organization/[organizationId]/invite/actions.ts @@ -3,9 +3,9 @@ import { authenticatedActionClient } from "@/lib/utils/action-client"; import { checkAuthorizationUpdated } from "@/lib/utils/action-client-middleware"; import { sendInviteMemberEmail } from "@/modules/email"; +import { inviteUser } from "@/modules/setup/organization/[organizationId]/invite/lib/invite"; import { z } from "zod"; import { INVITE_DISABLED } from "@formbricks/lib/constants"; -import { inviteUser } from "@formbricks/lib/invite/service"; import { ZId } from "@formbricks/types/common"; import { AuthenticationError } from "@formbricks/types/errors"; import { ZUserEmail, ZUserName } from "@formbricks/types/user"; @@ -34,19 +34,17 @@ export const inviteOrganizationMemberAction = authenticatedActionClient ], }); - const invite = await inviteUser({ + const invitedUserId = await inviteUser({ organizationId: parsedInput.organizationId, invitee: { email: parsedInput.email, name: parsedInput.name, - role: "owner", - teamIds: [], }, currentUserId: ctx.user.id, }); await sendInviteMemberEmail( - invite.id, + invitedUserId, parsedInput.email, ctx.user.name, "", @@ -55,5 +53,5 @@ export const inviteOrganizationMemberAction = authenticatedActionClient ctx.user.locale ); - return invite; + return invitedUserId; }); diff --git a/apps/web/app/setup/organization/[organizationId]/invite/components/invite-members.tsx b/apps/web/modules/setup/organization/[organizationId]/invite/components/invite-members.tsx similarity index 95% rename from apps/web/app/setup/organization/[organizationId]/invite/components/invite-members.tsx rename to apps/web/modules/setup/organization/[organizationId]/invite/components/invite-members.tsx index ccef3ddf30..ff91a79f92 100644 --- a/apps/web/app/setup/organization/[organizationId]/invite/components/invite-members.tsx +++ b/apps/web/modules/setup/organization/[organizationId]/invite/components/invite-members.tsx @@ -1,7 +1,11 @@ "use client"; -import { inviteOrganizationMemberAction } from "@/app/setup/organization/[organizationId]/invite/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { inviteOrganizationMemberAction } from "@/modules/setup/organization/[organizationId]/invite/actions"; +import { + type TInviteMembersFormSchema, + ZInviteMembersFormSchema, +} from "@/modules/setup/organization/[organizationId]/invite/types/invites"; import { Alert, AlertDescription, AlertTitle } from "@/modules/ui/components/alert"; import { Button } from "@/modules/ui/components/button"; import { FormControl, FormError, FormField, FormItem, FormProvider } from "@/modules/ui/components/form"; @@ -13,7 +17,6 @@ import { useRouter } from "next/navigation"; import React, { useState } from "react"; import { useForm } from "react-hook-form"; import { toast } from "react-hot-toast"; -import { TInviteMembersFormSchema, ZInviteMembersFormSchema } from "@formbricks/types/invites"; interface InviteMembersProps { IS_SMTP_CONFIGURED: boolean; diff --git a/apps/web/modules/setup/organization/[organizationId]/invite/lib/invite.ts b/apps/web/modules/setup/organization/[organizationId]/invite/lib/invite.ts new file mode 100644 index 0000000000..e5bd95c136 --- /dev/null +++ b/apps/web/modules/setup/organization/[organizationId]/invite/lib/invite.ts @@ -0,0 +1,64 @@ +import { inviteCache } from "@/lib/cache/invite"; +import { TInvitee } from "@/modules/setup/organization/[organizationId]/invite/types/invites"; +import { Prisma } from "@prisma/client"; +import { prisma } from "@formbricks/database"; +import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service"; +import { DatabaseError, InvalidInputError } from "@formbricks/types/errors"; + +export const inviteUser = async ({ + invitee, + organizationId, + currentUserId, +}: { + organizationId: string; + invitee: TInvitee; + currentUserId: string; +}): Promise => { + try { + const { name, email } = invitee; + + const existingInvite = await prisma.invite.findFirst({ where: { email, organizationId } }); + + if (existingInvite) { + throw new InvalidInputError("Invite already exists"); + } + + const user = await prisma.user.findUnique({ where: { email } }); + + if (user) { + const member = await getMembershipByUserIdOrganizationId(user.id, organizationId); + + if (member) { + throw new InvalidInputError("User is already a member of this organization"); + } + } + + const expiresIn = 7 * 24 * 60 * 60 * 1000; // 7 days + const expiresAt = new Date(Date.now() + expiresIn); + + const invite = await prisma.invite.create({ + data: { + email, + name, + organization: { connect: { id: organizationId } }, + creator: { connect: { id: currentUserId } }, + acceptor: user ? { connect: { id: user.id } } : undefined, + role: "owner", + expiresAt, + }, + }); + + inviteCache.revalidate({ + id: invite.id, + organizationId: invite.organizationId, + }); + + return invite.id; + } catch (error) { + if (error instanceof Prisma.PrismaClientKnownRequestError) { + throw new DatabaseError(error.message); + } + + throw error; + } +}; diff --git a/apps/web/modules/setup/organization/[organizationId]/invite/page.tsx b/apps/web/modules/setup/organization/[organizationId]/invite/page.tsx new file mode 100644 index 0000000000..bd2a635436 --- /dev/null +++ b/apps/web/modules/setup/organization/[organizationId]/invite/page.tsx @@ -0,0 +1,35 @@ +import { authOptions } from "@/modules/auth/lib/authOptions"; +import { InviteMembers } from "@/modules/setup/organization/[organizationId]/invite/components/invite-members"; +import { Metadata } from "next"; +import { getServerSession } from "next-auth"; +import { getTranslations } from "next-intl/server"; +import { notFound } from "next/navigation"; +import { SMTP_HOST, SMTP_PASSWORD, SMTP_PORT, SMTP_USER } from "@formbricks/lib/constants"; +import { verifyUserRoleAccess } from "@formbricks/lib/organization/auth"; +import { AuthenticationError } from "@formbricks/types/errors"; + +export const metadata: Metadata = { + title: "Invite", + description: "Open-source Experience Management. Free & open source.", +}; + +interface InvitePageProps { + params: Promise<{ organizationId: string }>; +} + +export const InvitePage = async (props: InvitePageProps) => { + const params = await props.params; + const t = await getTranslations(); + const IS_SMTP_CONFIGURED = Boolean(SMTP_HOST && SMTP_PORT && SMTP_USER && SMTP_PASSWORD); + const session = await getServerSession(authOptions); + if (!session) throw new AuthenticationError(t("common.session_not_found")); + + const { hasCreateOrUpdateMembersAccess } = await verifyUserRoleAccess( + params.organizationId, + session.user.id + ); + + if (!hasCreateOrUpdateMembersAccess) return notFound(); + + return ; +}; diff --git a/apps/web/modules/setup/organization/[organizationId]/invite/types/invites.ts b/apps/web/modules/setup/organization/[organizationId]/invite/types/invites.ts new file mode 100644 index 0000000000..e28ac58e24 --- /dev/null +++ b/apps/web/modules/setup/organization/[organizationId]/invite/types/invites.ts @@ -0,0 +1,24 @@ +import { z } from "zod"; +import { ZInvite } from "@formbricks/database/zod/invites"; +import { ZUserName } from "@formbricks/types/user"; + +export const ZInvitee = ZInvite.pick({ + name: true, + email: true, +}).extend({ + name: ZUserName, +}); + +export type TInvitee = z.infer; + +export const ZInviteMembersFormSchema = z.record( + ZInvite.pick({ + email: true, + name: true, + }).extend({ + email: z.string().email("Invalid email address"), + name: ZUserName, + }) +); + +export type TInviteMembersFormSchema = z.infer; diff --git a/apps/web/app/setup/organization/create/components/create-organization.tsx b/apps/web/modules/setup/organization/create/components/create-organization.tsx similarity index 100% rename from apps/web/app/setup/organization/create/components/create-organization.tsx rename to apps/web/modules/setup/organization/create/components/create-organization.tsx diff --git a/apps/web/app/setup/organization/create/components/removed-from-organization.tsx b/apps/web/modules/setup/organization/create/components/removed-from-organization.tsx similarity index 100% rename from apps/web/app/setup/organization/create/components/removed-from-organization.tsx rename to apps/web/modules/setup/organization/create/components/removed-from-organization.tsx diff --git a/apps/web/modules/setup/organization/create/page.tsx b/apps/web/modules/setup/organization/create/page.tsx new file mode 100644 index 0000000000..bd8953fd2c --- /dev/null +++ b/apps/web/modules/setup/organization/create/page.tsx @@ -0,0 +1,45 @@ +import { authOptions } from "@/modules/auth/lib/authOptions"; +import { getIsMultiOrgEnabled } from "@/modules/ee/license-check/lib/utils"; +import { RemovedFromOrganization } from "@/modules/setup/organization/create/components/removed-from-organization"; +import { ClientLogout } from "@/modules/ui/components/client-logout"; +import { Metadata } from "next"; +import { getServerSession } from "next-auth"; +import { getTranslations } from "next-intl/server"; +import { notFound } from "next/navigation"; +import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; +import { gethasNoOrganizations } from "@formbricks/lib/instance/service"; +import { getOrganizationsByUserId } from "@formbricks/lib/organization/service"; +import { getUser } from "@formbricks/lib/user/service"; +import { AuthenticationError } from "@formbricks/types/errors"; +import { CreateOrganization } from "./components/create-organization"; + +export const metadata: Metadata = { + title: "Create Organization", + description: "Open-source Experience Management. Free & open source.", +}; + +export const CreateOrganizationPage = async () => { + const t = await getTranslations(); + const session = await getServerSession(authOptions); + + if (!session) throw new AuthenticationError(t("common.session_not_found")); + + const user = await getUser(session.user.id); + if (!user) { + return ; + } + + const hasNoOrganizations = await gethasNoOrganizations(); + const isMultiOrgEnabled = await getIsMultiOrgEnabled(); + const userOrganizations = await getOrganizationsByUserId(session.user.id); + + if (hasNoOrganizations || isMultiOrgEnabled) { + return ; + } + + if (userOrganizations.length === 0) { + return ; + } + + return notFound(); +}; diff --git a/apps/web/playwright/organization.spec.ts b/apps/web/playwright/organization.spec.ts index a04863a468..e1ef5aaa44 100644 --- a/apps/web/playwright/organization.spec.ts +++ b/apps/web/playwright/organization.spec.ts @@ -138,6 +138,7 @@ test.describe("Create, update and delete team", async () => { await page.getByRole("link", { name: "Organization" }).click(); await page.waitForURL(/\/environments\/[^/]+\/settings\/general/); + await page.waitForTimeout(2000); await page.waitForLoadState("networkidle"); await expect(page.getByText("Teams")).toBeVisible(); await page.getByText("Teams").click(); diff --git a/packages/database/zod/invites.ts b/packages/database/zod/invites.ts new file mode 100644 index 0000000000..f5adbb5e34 --- /dev/null +++ b/packages/database/zod/invites.ts @@ -0,0 +1,15 @@ +import { type Invite } from "@prisma/client"; +import { z } from "zod"; + +export const ZInvite = z.object({ + id: z.string(), + email: z.string().email(), + name: z.string().nullable(), + organizationId: z.string(), + creatorId: z.string(), + acceptorId: z.string().nullable(), + createdAt: z.date(), + expiresAt: z.date(), + role: z.enum(["owner", "manager", "member", "billing"]), + teamIds: z.array(z.string()), +}) satisfies z.ZodType>; diff --git a/packages/types/invites.ts b/packages/types/invites.ts deleted file mode 100644 index 346764297f..0000000000 --- a/packages/types/invites.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { z } from "zod"; -import { ZOrganizationRole } from "./memberships"; -import { ZUserName } from "./user"; - -export const ZInvite = z.object({ - id: z.string(), - email: z.string().email(), - name: z.string().nullish(), - organizationId: z.string(), - creatorId: z.string(), - acceptorId: z.string().nullish(), - createdAt: z.date(), - expiresAt: z.date(), - role: ZOrganizationRole, - teamIds: z.array(z.string()), -}); -export type TInvite = z.infer; - -export const ZInvitee = z.object({ - email: z.string().email(), - name: ZUserName, - role: ZOrganizationRole, - teamIds: z.array(z.string()), -}); -export type TInvitee = z.infer; - -export const ZInvitees = z.array(ZInvitee); - -export const ZCurrentUser = z.object({ - id: z.string(), - name: z.string().nullable(), -}); -export type TCurrentUser = z.infer; - -export const ZInviteUpdateInput = z.object({ - role: ZOrganizationRole, -}); -export type TInviteUpdateInput = z.infer; - -export const ZInviteMembersFormSchema = z.record( - z.object({ - email: z.string().email("Invalid email address"), - name: ZUserName, - }) -); - -export type TInviteMembersFormSchema = z.infer; From 2bc23594adb88e023f1cbb9e207a55324f3aae92 Mon Sep 17 00:00:00 2001 From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Date: Fri, 31 Jan 2025 12:38:02 +0530 Subject: [PATCH 06/44] fix: open file in new tab (#4697) --- .../(analysis)/summary/components/FileUploadSummary.tsx | 7 +------ .../modules/ui/components/file-upload-response/index.tsx | 6 ++---- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/FileUploadSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/FileUploadSummary.tsx index d8a6168b47..1329d7d22d 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/FileUploadSummary.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/FileUploadSummary.tsx @@ -77,12 +77,7 @@ export const FileUploadSummary = ({ return (
    - +
    diff --git a/apps/web/modules/ui/components/file-upload-response/index.tsx b/apps/web/modules/ui/components/file-upload-response/index.tsx index 0b2cefc390..bf71389218 100644 --- a/apps/web/modules/ui/components/file-upload-response/index.tsx +++ b/apps/web/modules/ui/components/file-upload-response/index.tsx @@ -7,23 +7,21 @@ import { getOriginalFileNameFromUrl } from "@formbricks/lib/storage/utils"; interface FileUploadResponseProps { selected: string[]; } - export const FileUploadResponse = ({ selected }: FileUploadResponseProps) => { const t = useTranslations(); if (selected.length === 0) { return
    {t("common.skipped")}
    ; } - return (
    {selected.map((fileUrl, index) => { const fileName = getOriginalFileNameFromUrl(fileUrl); - return (

    {fileName ? fileName : "Download"} From 510fe3902e6555593481e47fb3490ed176f93397 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Feb 2025 11:05:27 +0100 Subject: [PATCH 07/44] chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates (#4686) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apps/web/package.json | 2 +- pnpm-lock.yaml | 696 +++++++++++++++++++++++++----------------- 2 files changed, 419 insertions(+), 279 deletions(-) diff --git a/apps/web/package.json b/apps/web/package.json index 83d44b170b..a2a83f6e83 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -58,7 +58,7 @@ "@radix-ui/react-toggle-group": "1.1.1", "@radix-ui/react-tooltip": "1.1.5", "@react-email/components": "0.0.31", - "@sentry/nextjs": "8.45.1", + "@sentry/nextjs": "8.52.0", "@tailwindcss/forms": "0.5.9", "@tailwindcss/typography": "0.5.15", "@tanstack/react-table": "8.20.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f95ed8af66..fe7bfe6180 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,7 +50,7 @@ importers: version: 0.468.0(react@19.0.0) next: specifier: 15.1.2 - version: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: specifier: 19.0.0 version: 19.0.0 @@ -127,7 +127,7 @@ importers: version: 2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@headlessui/tailwindcss': specifier: 0.2.1 - version: 0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) + version: 0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2))) '@mapbox/rehype-prism': specifier: 0.9.0 version: 0.9.0 @@ -148,13 +148,13 @@ importers: version: 2.2.1 '@tailwindcss/typography': specifier: 0.5.15 - version: 0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) + version: 0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2))) acorn: specifier: 8.14.0 version: 8.14.0 autoprefixer: specifier: 10.4.20 - version: 10.4.20(postcss@8.5.1) + version: 10.4.20(postcss@8.4.49) clsx: specifier: 2.1.1 version: 2.1.1 @@ -184,7 +184,7 @@ importers: version: 0.1.4 next: specifier: 15.1.2 - version: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-plausible: specifier: 3.12.4 version: 3.12.4(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -247,7 +247,7 @@ importers: version: 1.2.1 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) unist-util-filter: specifier: 5.0.1 version: 5.0.1 @@ -269,7 +269,7 @@ importers: version: 3.2.0 '@types/react-dom': specifier: 19.0.2 - version: 19.0.2(@types/react@19.0.1) + version: 19.0.2(@types/react@18.3.11) '@types/react-highlight-words': specifier: 0.20.0 version: 0.20.0 @@ -315,7 +315,7 @@ importers: version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2) '@storybook/react-vite': specifier: 8.4.7 - version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.31.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.31.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@storybook/test': specifier: 8.4.7 version: 8.4.7(storybook@8.4.7(prettier@3.4.2)) @@ -327,7 +327,7 @@ importers: version: 8.18.0(eslint@8.57.0)(typescript@5.7.2) '@vitejs/plugin-react': specifier: 4.3.4 - version: 4.3.4(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.4(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) esbuild: specifier: 0.24.0 version: 0.24.0 @@ -342,10 +342,10 @@ importers: version: 8.4.7(prettier@3.4.2) tsup: specifier: 8.3.5 - version: 8.3.5(@microsoft/api-extractor@7.49.1(@types/node@22.10.2))(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@microsoft/api-extractor@7.49.1(@types/node@22.12.0))(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) apps/web: dependencies: @@ -485,14 +485,14 @@ importers: specifier: 0.0.31 version: 0.0.31(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@sentry/nextjs': - specifier: 8.45.1 - version: 8.45.1(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1) + specifier: 8.52.0 + version: 8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1) '@tailwindcss/forms': specifier: 0.5.9 - version: 0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) + version: 0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2))) '@tailwindcss/typography': specifier: 0.5.15 - version: 0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) + version: 0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2))) '@tanstack/react-table': specifier: 8.20.6 version: 8.20.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -504,16 +504,16 @@ importers: version: 0.6.4 '@vercel/otel': specifier: 1.10.0 - version: 1.10.0(@opentelemetry/api-logs@0.56.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0)) + version: 1.10.0(@opentelemetry/api-logs@0.56.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)) '@vercel/speed-insights': specifier: 1.1.0 - version: 1.1.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) + version: 1.1.0(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) ai: specifier: 4.0.18 version: 4.0.18(react@19.0.0)(zod@3.24.1) autoprefixer: specifier: 10.4.20 - version: 10.4.20(postcss@8.4.49) + version: 10.4.20(postcss@8.5.1) bcryptjs: specifier: 2.4.3 version: 2.4.3 @@ -576,16 +576,16 @@ importers: version: 4.0.4 next: specifier: 15.1.2 - version: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-auth: specifier: 4.24.11 - version: 4.24.11(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 4.24.11(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-intl: specifier: 3.26.1 - version: 3.26.1(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) + version: 3.26.1(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) next-safe-action: specifier: 7.10.2 - version: 7.10.2(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1) + version: 7.10.2(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1) node-fetch: specifier: 3.3.2 version: 3.3.2 @@ -654,7 +654,7 @@ importers: version: 2.5.5 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) ua-parser-js: specifier: 2.0.0 version: 2.0.0 @@ -676,7 +676,7 @@ importers: version: link:../../packages/config-eslint '@neshca/cache-handler': specifier: 1.9.0 - version: 1.9.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(redis@4.7.0) + version: 1.9.0(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(redis@4.7.0) '@types/bcryptjs': specifier: 2.4.6 version: 2.4.6 @@ -697,13 +697,13 @@ importers: version: 1.5.5 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + version: 2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) vitest-mock-extended: specifier: 2.0.2 - version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) packages/api: devDependencies: @@ -727,13 +727,13 @@ importers: version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.10.2)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) vite-plugin-node-polyfills: specifier: 0.22.0 - version: 0.22.0(rollup@4.31.0)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 0.22.0(rollup@4.31.0)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/config-eslint: devDependencies: @@ -748,7 +748,7 @@ importers: version: 8.18.0(eslint@8.57.0)(typescript@5.7.2) '@vercel/style-guide': specifier: 6.0.0 - version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) eslint-config-next: specifier: 15.1.0 version: 15.1.0(eslint@8.57.0)(typescript@5.7.2) @@ -833,7 +833,7 @@ importers: version: 3.1.1(prisma@6.0.1)(typescript@5.7.2) ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) + version: 10.9.2(@types/node@22.12.0)(typescript@5.7.2) zod: specifier: 3.24.1 version: 3.24.1 @@ -861,10 +861,10 @@ importers: version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.10.2)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/js-core: devDependencies: @@ -888,10 +888,10 @@ importers: version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.10.2)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/lib: dependencies: @@ -945,7 +945,7 @@ importers: version: 5.0.9 next-auth: specifier: 4.24.11 - version: 4.24.11(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 4.24.11(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) posthog-node: specifier: 4.3.2 version: 4.3.2 @@ -982,13 +982,13 @@ importers: version: 16.4.7 ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) + version: 10.9.2(@types/node@22.12.0)(typescript@5.7.2) vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + version: 2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) vitest-mock-extended: specifier: 2.0.2 - version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) packages/react-native: dependencies: @@ -1025,10 +1025,10 @@ importers: version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.10.2)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/surveys: dependencies: @@ -1056,7 +1056,7 @@ importers: version: link:../types '@preact/preset-vite': specifier: 2.9.3 - version: 2.9.3(@babel/core@7.26.0)(preact@10.25.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 2.9.3(@babel/core@7.26.7)(preact@10.25.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@types/react': specifier: 19.0.1 version: 19.0.1 @@ -1083,19 +1083,19 @@ importers: version: 14.2.4 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) terser: specifier: 5.37.0 version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.10.2)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) vite-tsconfig-paths: specifier: 5.1.4 - version: 5.1.4(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 5.1.4(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/types: dependencies: @@ -1120,7 +1120,7 @@ importers: version: link:../config-eslint vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) packages: @@ -1549,6 +1549,10 @@ packages: resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} engines: {node: '>=6.9.0'} + '@babel/core@7.26.7': + resolution: {integrity: sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==} + engines: {node: '>=6.9.0'} + '@babel/eslint-parser@7.25.9': resolution: {integrity: sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} @@ -1665,6 +1669,10 @@ packages: resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.26.7': + resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.25.9': resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} engines: {node: '>=6.9.0'} @@ -1679,6 +1687,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.26.7': + resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} engines: {node: '>=6.9.0'} @@ -2233,8 +2246,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.25.9': - resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + '@babel/plugin-transform-typeof-symbol@7.26.7': + resolution: {integrity: sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2316,8 +2329,8 @@ packages: resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.5': - resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==} + '@babel/traverse@7.26.7': + resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==} engines: {node: '>=6.9.0'} '@babel/types@7.26.3': @@ -2328,6 +2341,10 @@ packages: resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} engines: {node: '>=6.9.0'} + '@babel/types@7.26.7': + resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} + engines: {node: '>=6.9.0'} + '@calcom/embed-core@1.5.1': resolution: {integrity: sha512-wykzh1GKj5xhGxDJeCRJ7OulAgn9GVMYD/mmOBbvn06c3m9Lqoqn09E5kJ+DY+aokUncQPcstNsdiHsURjMuVw==} @@ -3667,8 +3684,8 @@ packages: resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@opentelemetry/api-logs@0.52.1': - resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==} + '@opentelemetry/api-logs@0.53.0': + resolution: {integrity: sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==} engines: {node: '>=14'} '@opentelemetry/api-logs@0.56.0': @@ -3683,8 +3700,8 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@opentelemetry/context-async-hooks@1.30.0': - resolution: {integrity: sha512-roCetrG/cz0r/gugQm/jFo75UxblVvHaNSRoR0kSSRSzXFAiIBqFCZuH458BHBNRtRe+0yJdIJ21L9t94bw7+g==} + '@opentelemetry/context-async-hooks@1.30.1': + resolution: {integrity: sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -3701,6 +3718,12 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@1.30.1': + resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/instrumentation-amqplib@0.45.0': resolution: {integrity: sha512-SlKLsOS65NGMIBG1Lh/hLrMDU9WzTUF25apnV6ZmWZB1bBmUwan7qrwwrTu1cL5LzJWCXOdZPuTaxP7pC9qxnQ==} engines: {node: '>=14'} @@ -3845,8 +3868,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.7.0 - '@opentelemetry/instrumentation@0.52.1': - resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==} + '@opentelemetry/instrumentation@0.53.0': + resolution: {integrity: sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -3873,6 +3896,12 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/resources@1.30.1': + resolution: {integrity: sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/sdk-logs@0.56.0': resolution: {integrity: sha512-OS0WPBJF++R/cSl+terUjQH5PebloidB1Jbbecgg2rnCmQbTST9xsRes23bLfDQVRvmegmHqDh884h0aRdJyLw==} engines: {node: '>=14'} @@ -3885,8 +3914,8 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-base@1.30.0': - resolution: {integrity: sha512-RKQDaDIkV7PwizmHw+rE/FgfB2a6MBx+AEVVlAHXRG1YYxLiBpPX2KhmoB99R5vA4b72iJrjle68NDWnbrE9Dg==} + '@opentelemetry/sdk-trace-base@1.30.1': + resolution: {integrity: sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -4013,8 +4042,8 @@ packages: '@prisma/get-platform@6.0.1': resolution: {integrity: sha512-zspC9vlxAqx4E6epMPMLLBMED2VD8axDe8sPnquZ8GOsn6tiacWK0oxrGK4UAHYzYUVuMVUApJbdXB2dFpLhvg==} - '@prisma/instrumentation@5.19.1': - resolution: {integrity: sha512-VLnzMQq7CWroL5AeaW0Py2huiNKeoMfCH3SUxstdzPrlWQi6UQ9UrfcbUkNHlVFqOMacqy8X/8YtE0kuKDpD9w==} + '@prisma/instrumentation@5.22.0': + resolution: {integrity: sha512-LxccF392NN37ISGxIurUljZSh1YWnphO34V5a0+T7FVQG2u9bhAXRTJpgmQ3483woVhkraQZFF7cbRrpbw/F4Q==} '@prisma/internals@5.0.0': resolution: {integrity: sha512-VGWyFk6QlSBXT8z65Alq5F3o9E8IiTtaBoa3rmKkGpZjUk85kJy3jZz4xkRv53TaeghGE5rWfwkfak26KtY5yQ==} @@ -5125,28 +5154,28 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} - '@sentry-internal/browser-utils@8.45.1': - resolution: {integrity: sha512-sZwtP3zAzDsjUS7WkMW5VGbvSl7hGKTMc8gAJbpEsrybMxllIP13zzMRwpeFF11RnnvbrZ/FtAeX58Mvj0jahA==} + '@sentry-internal/browser-utils@8.52.0': + resolution: {integrity: sha512-ojFldpRpGrgacIQMbbMZeqLYetNJJ61n+Pz29FpggaIRrbkq84ocoy4FCy+9BuLo6ywgxtUFrjOXD9pPRcZtUA==} engines: {node: '>=14.18'} - '@sentry-internal/feedback@8.45.1': - resolution: {integrity: sha512-zCKptzki4SLnG+s8je8dgnppOKFjiiO4GVBc4fh7uL8zjNPBnxW8wK4SrPfAEKVYaHUzkKc5vixwUqcpmfLLGw==} + '@sentry-internal/feedback@8.52.0': + resolution: {integrity: sha512-r62Ufg4uGlvQsQ+nRSiq9y0ieVFRlZvUaoT/zMjmPuMg29O9rRAMdPJuiCpBH4++x8KJoJ9c2HBRizn6/3uc5Q==} engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@8.45.1': - resolution: {integrity: sha512-qiPg6XwOwkiMMe/8Qf3EhXCqkSlSnWLlorYngIbdkV2klbWjd7vKnqkFJF4PnaS0g7kkZr7nh+MdzpyLyuj2Mw==} + '@sentry-internal/replay-canvas@8.52.0': + resolution: {integrity: sha512-4ES2uCUb9yEO1cbg15UBqiYU/syQYj5GviI+TvYvnPX3I8K2mK941ZRqfHh2HpFMhMxLgfX4jDqDGizNhXWdqg==} engines: {node: '>=14.18'} - '@sentry-internal/replay@8.45.1': - resolution: {integrity: sha512-cOA9CodNSR9+hmICDaGIDUvWiwxQxeMHk/esbjB8uAW8HG4CYTG3CTYTZmlmou7DuysfMd4JNuFmDFBj+YU5/A==} + '@sentry-internal/replay@8.52.0': + resolution: {integrity: sha512-b4hQPni1G2tcV5XuAPSV4RTX3vqPXO9RfUXLuTBzOTNzBHDoj8nQv0yVvcysGy5tBAuVRo5ya5A+PG/iC6FA9A==} engines: {node: '>=14.18'} '@sentry/babel-plugin-component-annotate@2.22.7': resolution: {integrity: sha512-aa7XKgZMVl6l04NY+3X7BP7yvQ/s8scn8KzQfTLrGRarziTlMGrsCOBQtCNWXOPEbtxAIHpZ9dsrAn5EJSivOQ==} engines: {node: '>= 14'} - '@sentry/browser@8.45.1': - resolution: {integrity: sha512-/KvYhQSRg8m9kotG8h9FrfXCWRlebrvdfXKjj1oE9SyZ2LmR8Ze9AcEw1qzsBsa1F1D/a5FQbUJahSoLBkaQPA==} + '@sentry/browser@8.52.0': + resolution: {integrity: sha512-7JpJ9zpInozBzy61eJf/6RPHoKUCFcoFuKd9rttkN1gyY9xkU1cQK+x1f0deiIHnF9ydftmDtXW+kGFI/+xqtw==} engines: {node: '>=14.18'} '@sentry/bundler-plugin-core@2.22.7': @@ -5199,22 +5228,22 @@ packages: engines: {node: '>= 10'} hasBin: true - '@sentry/core@8.45.1': - resolution: {integrity: sha512-1fGmkr0paZshh38mD29c4CfkRkgFoYDaAGyDLoGYfTbEph/lU8RHB2HWzN93McqNdMEhl1DRRyqIasUZoPlqSA==} + '@sentry/core@8.52.0': + resolution: {integrity: sha512-2j3B7IKmseTKFm6AyheJ+RSgXqIsx+3blFSuxpkdvsEt60Lbzva2uDkCENfBDOclioo1kvHgsyuXLfWW4A+wwA==} engines: {node: '>=14.18'} - '@sentry/nextjs@8.45.1': - resolution: {integrity: sha512-EcUuQHGAk8cheuPfjRCXacjoD5ClDsB9qssYBVIvJozNEW5C+A0eJwPj/Qd1C05tdcJ6MMdMRv0NrTHdCN1v1A==} + '@sentry/nextjs@8.52.0': + resolution: {integrity: sha512-0tPt780x0XpX0QdedXYuesJ0Caqf8zMk9zAAhA8H6NdA94eJ7ztHwCgX7tOWkzNCnAozcfiC/mMNKIrkmmV0Gg==} engines: {node: '>=14.18'} peerDependencies: next: ^13.2.0 || ^14.0 || ^15.0.0-rc.0 - '@sentry/node@8.45.1': - resolution: {integrity: sha512-xvlXifM/FSOQdLAqQBuo04SiOh7RP8rRRr+c5G/YbBtgJA867Pve0X8JZK2BJpDZ3OrGvzXV1Ubnt9ao4rBfYA==} + '@sentry/node@8.52.0': + resolution: {integrity: sha512-k+GuWbLDcqIS766zF+TvVRnfbshNy6XKRd+HRNIEaeYa9Tm4LH/ZgCxz39AhFAQGWlZUHm/G2KkCt3AvgswJEg==} engines: {node: '>=14.18'} - '@sentry/opentelemetry@8.45.1': - resolution: {integrity: sha512-khnR5TS21ksITTXmXnpniRN7brlZS5RNNQuMZ9n3MYi/L1/s9LT73skNh1gder28OV6ZxGUgrTZ+1dtKqn9tig==} + '@sentry/opentelemetry@8.52.0': + resolution: {integrity: sha512-NbGPsCZmXQW/B2wlgIjeIn9bCsNKhZGenB0DLK8ZIS/eDOI0JRBjHWMpLS9H9Q0xqgFBjyp+Gwyu3nEZcN4lXw==} engines: {node: '>=14.18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -5223,14 +5252,14 @@ packages: '@opentelemetry/sdk-trace-base': ^1.29.0 '@opentelemetry/semantic-conventions': ^1.28.0 - '@sentry/react@8.45.1': - resolution: {integrity: sha512-ooMR2Lt4YSc5CMJklBKiL/mb+uidcZMpflxUvVUbtWMif+PqTUkfPRyICv6vs7muxK9i84Rr4iCkyZ4ns4H27A==} + '@sentry/react@8.52.0': + resolution: {integrity: sha512-7tbRuTFOgKLM2fM5/TjrfDWbkqOOsxkb2QldnAUHTAcArIx77DpsurAgEx5L9lqn+UAhuw1X2IGbzk9fVV/ZDQ==} engines: {node: '>=14.18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - '@sentry/vercel-edge@8.45.1': - resolution: {integrity: sha512-taCKf2ESNzpYRwuaikS17YA2upqzzPbemT+If+kOafgSUrLEq2YRYRvgoruyFLmjOGO9+634+HmGo7Nyn5CGjQ==} + '@sentry/vercel-edge@8.52.0': + resolution: {integrity: sha512-6YiAUp4zJeMhVr1hx06c4Ygjzu8b9Kfv/GkmYA0sYPP+wa9shSKdqfD3ROQdWSsI7RtY4qDd22H9/acxchLmlA==} engines: {node: '>=14.18'} '@sentry/webpack-plugin@2.22.7': @@ -5893,6 +5922,9 @@ packages: '@types/node@22.10.2': resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.12.0': + resolution: {integrity: sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==} + '@types/nodemailer@6.4.17': resolution: {integrity: sha512-I9CCaIp6DTldEg7vyUTZi8+9Vo0hi1/T8gv3C89yk1rSAAzoKQ8H8ki/jBYJSFoH/BisgLP8tkZMlQ91CIquww==} @@ -8358,6 +8390,14 @@ packages: picomatch: optional: true + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -9717,6 +9757,7 @@ packages: lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. lodash.includes@4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} @@ -9726,6 +9767,7 @@ packages: lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. lodash.isinteger@4.0.4: resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} @@ -11896,6 +11938,10 @@ packages: resolution: {integrity: sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==} engines: {node: '>=8.6.0'} + require-in-the-middle@7.5.0: + resolution: {integrity: sha512-/Tvpny/RVVicqlYTKwt/GtpZRsPG1CmJNhxVKGz+Sy/4MONfXCVNK69MFgGKdUt0/324q3ClI2dICcPgISrC8g==} + engines: {node: '>=8.6.0'} + require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} @@ -14647,6 +14693,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.26.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.5 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) + '@babel/helpers': 7.26.7 + '@babel/parser': 7.26.7 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/eslint-parser@7.25.9(@babel/core@7.26.0)(eslint@8.57.0)': dependencies: '@babel/core': 7.26.0 @@ -14665,8 +14731,8 @@ snapshots: '@babel/generator@7.26.5': dependencies: - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 @@ -14714,7 +14780,7 @@ snapshots: '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.25.9 debug: 4.4.0 lodash.debounce: 4.0.8 @@ -14724,12 +14790,12 @@ snapshots: '@babel/helper-environment-visitor@7.24.7': dependencies: - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 '@babel/helper-member-expression-to-functions@7.25.9': dependencies: '@babel/traverse': 7.26.4 - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color @@ -14749,9 +14815,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.7)': + dependencies: + '@babel/core': 7.26.7 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 '@babel/helper-plugin-utils@7.25.9': {} @@ -14780,14 +14855,14 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: '@babel/traverse': 7.26.4 - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color @@ -14801,7 +14876,7 @@ snapshots: dependencies: '@babel/template': 7.25.9 '@babel/traverse': 7.26.4 - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color @@ -14810,6 +14885,11 @@ snapshots: '@babel/template': 7.25.9 '@babel/types': 7.26.3 + '@babel/helpers@7.26.7': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.7 + '@babel/highlight@7.25.9': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -14823,13 +14903,17 @@ snapshots: '@babel/parser@7.26.5': dependencies: - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 + + '@babel/parser@7.26.7': + dependencies: + '@babel/types': 7.26.7 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -14856,7 +14940,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -15003,6 +15087,11 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.7)': + dependencies: + '@babel/core': 7.26.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -15223,7 +15312,7 @@ snapshots: '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.5 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -15328,6 +15417,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.7)': + dependencies: + '@babel/core': 7.26.7 + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.7) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -15349,6 +15445,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.7)': + dependencies: + '@babel/core': 7.26.7 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.7) + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-react-pure-annotations@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -15407,7 +15514,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 @@ -15507,7 +15614,7 @@ snapshots: '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.0) '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) @@ -15532,7 +15639,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 esutils: 2.0.3 '@babel/preset-react@7.26.3(@babel/core@7.26.0)': @@ -15589,13 +15696,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/traverse@7.26.5': + '@babel/traverse@7.26.7': dependencies: '@babel/code-frame': 7.26.2 '@babel/generator': 7.26.5 - '@babel/parser': 7.26.5 + '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: @@ -15611,6 +15718,11 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@babel/types@7.26.7': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@calcom/embed-core@1.5.1': {} '@calcom/embed-react@1.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': @@ -16544,9 +16656,9 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': + '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)))': dependencies: - tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) '@hookform/resolvers@3.9.1(react-hook-form@7.54.1(react@19.0.0))': dependencies: @@ -16737,11 +16849,11 @@ snapshots: '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.7.2) - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) optionalDependencies: typescript: 5.7.2 @@ -17003,23 +17115,23 @@ snapshots: '@types/mdx': 2.0.13 react: 19.0.0 - '@microsoft/api-extractor-model@7.30.2(@types/node@22.10.2)': + '@microsoft/api-extractor-model@7.30.2(@types/node@22.12.0)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.10.2(@types/node@22.10.2) + '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.49.1(@types/node@22.10.2)': + '@microsoft/api-extractor@7.49.1(@types/node@22.12.0)': dependencies: - '@microsoft/api-extractor-model': 7.30.2(@types/node@22.10.2) + '@microsoft/api-extractor-model': 7.30.2(@types/node@22.12.0) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.10.2(@types/node@22.10.2) + '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.5(@types/node@22.10.2) - '@rushstack/ts-command-line': 4.23.3(@types/node@22.10.2) + '@rushstack/terminal': 0.14.5(@types/node@22.12.0) + '@rushstack/ts-command-line': 4.23.3(@types/node@22.12.0) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.10 @@ -17047,11 +17159,11 @@ snapshots: '@microsoft/tsdoc@0.15.1': {} - '@neshca/cache-handler@1.9.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(redis@4.7.0)': + '@neshca/cache-handler@1.9.0(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(redis@4.7.0)': dependencies: cluster-key-slot: 1.1.2 lru-cache: 10.4.3 - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) redis: 4.7.0 '@next/env@13.5.8': {} @@ -17117,7 +17229,7 @@ snapshots: dependencies: semver: 7.6.3 - '@opentelemetry/api-logs@0.52.1': + '@opentelemetry/api-logs@0.53.0': dependencies: '@opentelemetry/api': 1.9.0 @@ -17129,7 +17241,7 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@opentelemetry/context-async-hooks@1.30.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -17143,10 +17255,15 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 + '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.28.0 + '@opentelemetry/instrumentation-amqplib@0.45.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 transitivePeerDependencies: @@ -17155,7 +17272,7 @@ snapshots: '@opentelemetry/instrumentation-connect@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 '@types/connect': 3.4.36 @@ -17172,7 +17289,7 @@ snapshots: '@opentelemetry/instrumentation-express@0.46.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 transitivePeerDependencies: @@ -17181,7 +17298,7 @@ snapshots: '@opentelemetry/instrumentation-fastify@0.43.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 transitivePeerDependencies: @@ -17190,7 +17307,7 @@ snapshots: '@opentelemetry/instrumentation-fs@0.18.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -17212,7 +17329,7 @@ snapshots: '@opentelemetry/instrumentation-hapi@0.44.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 transitivePeerDependencies: @@ -17257,7 +17374,7 @@ snapshots: '@opentelemetry/instrumentation-koa@0.46.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 transitivePeerDependencies: @@ -17281,7 +17398,7 @@ snapshots: '@opentelemetry/instrumentation-mongoose@0.45.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 transitivePeerDependencies: @@ -17316,7 +17433,7 @@ snapshots: '@opentelemetry/instrumentation-pg@0.49.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) @@ -17346,18 +17463,18 @@ snapshots: '@opentelemetry/instrumentation-undici@0.9.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.52.1 + '@opentelemetry/api-logs': 0.53.0 '@types/shimmer': 1.2.0 import-in-the-middle: 1.12.0 - require-in-the-middle: 7.4.0 + require-in-the-middle: 7.5.0 semver: 7.6.3 shimmer: 1.2.1 transitivePeerDependencies: @@ -17389,6 +17506,12 @@ snapshots: '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 + '@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.28.0 + '@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -17402,11 +17525,11 @@ snapshots: '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 1.30.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 '@opentelemetry/semantic-conventions@1.27.0': {} @@ -17416,7 +17539,7 @@ snapshots: '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@otplib/core@12.0.1': {} @@ -17456,22 +17579,22 @@ snapshots: dependencies: playwright: 1.49.1 - '@preact/preset-vite@2.9.3(@babel/core@7.26.0)(preact@10.25.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@preact/preset-vite@2.9.3(@babel/core@7.26.7)(preact@10.25.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/code-frame': 7.26.2 - '@babel/core': 7.26.0 - '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) - '@prefresh/vite': 2.4.6(preact@10.25.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + '@babel/core': 7.26.7 + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.7) + '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.7) + '@prefresh/vite': 2.4.6(preact@10.25.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.0) + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.7) debug: 4.4.0 kolorist: 1.8.0 magic-string: 0.30.5 node-html-parser: 6.1.13 source-map: 0.7.4 stack-trace: 1.0.0-pre2 - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - preact - supports-color @@ -17484,7 +17607,7 @@ snapshots: '@prefresh/utils@1.2.0': {} - '@prefresh/vite@2.4.6(preact@10.25.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@prefresh/vite@2.4.6(preact@10.25.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 '@prefresh/babel-plugin': 0.5.1 @@ -17492,7 +17615,7 @@ snapshots: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.25.2 - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -17588,11 +17711,11 @@ snapshots: dependencies: '@prisma/debug': 6.0.1 - '@prisma/instrumentation@5.19.1': + '@prisma/instrumentation@5.22.0': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -18807,7 +18930,7 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@3.29.5) commondir: 1.0.1 estree-walker: 2.0.2 - fdir: 6.4.2(picomatch@4.0.2) + fdir: 6.4.3(picomatch@4.0.2) is-reference: 1.2.1 magic-string: 0.30.17 picomatch: 4.0.2 @@ -18961,7 +19084,7 @@ snapshots: '@rushstack/eslint-patch@1.10.5': {} - '@rushstack/node-core-library@5.10.2(@types/node@22.10.2)': + '@rushstack/node-core-library@5.10.2(@types/node@22.12.0)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -18972,23 +19095,23 @@ snapshots: resolve: 1.22.10 semver: 7.5.4 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.14.5(@types/node@22.10.2)': + '@rushstack/terminal@0.14.5(@types/node@22.12.0)': dependencies: - '@rushstack/node-core-library': 5.10.2(@types/node@22.10.2) + '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 - '@rushstack/ts-command-line@4.23.3(@types/node@22.10.2)': + '@rushstack/ts-command-line@4.23.3(@types/node@22.12.0)': dependencies: - '@rushstack/terminal': 0.14.5(@types/node@22.10.2) + '@rushstack/terminal': 0.14.5(@types/node@22.12.0) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -19005,37 +19128,37 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@sentry-internal/browser-utils@8.45.1': + '@sentry-internal/browser-utils@8.52.0': dependencies: - '@sentry/core': 8.45.1 + '@sentry/core': 8.52.0 - '@sentry-internal/feedback@8.45.1': + '@sentry-internal/feedback@8.52.0': dependencies: - '@sentry/core': 8.45.1 + '@sentry/core': 8.52.0 - '@sentry-internal/replay-canvas@8.45.1': + '@sentry-internal/replay-canvas@8.52.0': dependencies: - '@sentry-internal/replay': 8.45.1 - '@sentry/core': 8.45.1 + '@sentry-internal/replay': 8.52.0 + '@sentry/core': 8.52.0 - '@sentry-internal/replay@8.45.1': + '@sentry-internal/replay@8.52.0': dependencies: - '@sentry-internal/browser-utils': 8.45.1 - '@sentry/core': 8.45.1 + '@sentry-internal/browser-utils': 8.52.0 + '@sentry/core': 8.52.0 '@sentry/babel-plugin-component-annotate@2.22.7': {} - '@sentry/browser@8.45.1': + '@sentry/browser@8.52.0': dependencies: - '@sentry-internal/browser-utils': 8.45.1 - '@sentry-internal/feedback': 8.45.1 - '@sentry-internal/replay': 8.45.1 - '@sentry-internal/replay-canvas': 8.45.1 - '@sentry/core': 8.45.1 + '@sentry-internal/browser-utils': 8.52.0 + '@sentry-internal/feedback': 8.52.0 + '@sentry-internal/replay': 8.52.0 + '@sentry-internal/replay-canvas': 8.52.0 + '@sentry/core': 8.52.0 '@sentry/bundler-plugin-core@2.22.7(encoding@0.1.13)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.7 '@sentry/babel-plugin-component-annotate': 2.22.7 '@sentry/cli': 2.39.1(encoding@0.1.13) dotenv: 16.4.7 @@ -19087,22 +19210,22 @@ snapshots: - encoding - supports-color - '@sentry/core@8.45.1': {} + '@sentry/core@8.52.0': {} - '@sentry/nextjs@8.45.1(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1)': + '@sentry/nextjs@8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 '@rollup/plugin-commonjs': 28.0.1(rollup@3.29.5) - '@sentry-internal/browser-utils': 8.45.1 - '@sentry/core': 8.45.1 - '@sentry/node': 8.45.1 - '@sentry/opentelemetry': 8.45.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0) - '@sentry/react': 8.45.1(react@19.0.0) - '@sentry/vercel-edge': 8.45.1 + '@sentry-internal/browser-utils': 8.52.0 + '@sentry/core': 8.52.0 + '@sentry/node': 8.52.0 + '@sentry/opentelemetry': 8.52.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0) + '@sentry/react': 8.52.0(react@19.0.0) + '@sentry/vercel-edge': 8.52.0 '@sentry/webpack-plugin': 2.22.7(encoding@0.1.13)(webpack@5.97.1) chalk: 3.0.0 - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) resolve: 1.22.8 rollup: 3.29.5 stacktrace-parser: 0.1.10 @@ -19115,11 +19238,11 @@ snapshots: - supports-color - webpack - '@sentry/node@8.45.1': + '@sentry/node@8.52.0': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 1.30.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-amqplib': 0.45.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-connect': 0.42.0(@opentelemetry/api@1.9.0) @@ -19145,36 +19268,36 @@ snapshots: '@opentelemetry/instrumentation-redis-4': 0.45.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-tedious': 0.17.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-undici': 0.9.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 - '@prisma/instrumentation': 5.19.1 - '@sentry/core': 8.45.1 - '@sentry/opentelemetry': 8.45.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0) + '@prisma/instrumentation': 5.22.0 + '@sentry/core': 8.52.0 + '@sentry/opentelemetry': 8.52.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0) import-in-the-middle: 1.12.0 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@8.45.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0)': + '@sentry/opentelemetry@8.52.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 - '@sentry/core': 8.45.1 + '@sentry/core': 8.52.0 - '@sentry/react@8.45.1(react@19.0.0)': + '@sentry/react@8.52.0(react@19.0.0)': dependencies: - '@sentry/browser': 8.45.1 - '@sentry/core': 8.45.1 + '@sentry/browser': 8.52.0 + '@sentry/core': 8.52.0 hoist-non-react-statics: 3.3.2 react: 19.0.0 - '@sentry/vercel-edge@8.45.1': + '@sentry/vercel-edge@8.52.0': dependencies: '@opentelemetry/api': 1.9.0 - '@sentry/core': 8.45.1 + '@sentry/core': 8.52.0 '@sentry/webpack-plugin@2.22.7(encoding@0.1.13)(webpack@5.97.1)': dependencies: @@ -19705,13 +19828,13 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@storybook/builder-vite@8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@storybook/builder-vite@8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@storybook/csf-plugin': 8.4.7(storybook@8.4.7(prettier@3.4.2)) browser-assert: 1.2.1 storybook: 8.4.7(prettier@3.4.2) ts-dedent: 2.2.0 - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) '@storybook/components@8.4.7(storybook@8.4.7(prettier@3.4.2))': dependencies: @@ -19784,11 +19907,11 @@ snapshots: react-dom: 19.0.0(react@19.0.0) storybook: 8.4.7(prettier@3.4.2) - '@storybook/react-vite@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.31.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@storybook/react-vite@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.31.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@rollup/pluginutils': 5.1.4(rollup@4.31.0) - '@storybook/builder-vite': 8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + '@storybook/builder-vite': 8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@storybook/react': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2) find-up: 5.0.0 magic-string: 0.30.17 @@ -19798,7 +19921,7 @@ snapshots: resolve: 1.22.10 storybook: 8.4.7(prettier@3.4.2) tsconfig-paths: 4.2.0 - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@storybook/test' - rollup @@ -19857,18 +19980,18 @@ snapshots: optionalDependencies: typescript: 5.7.2 - '@tailwindcss/forms@0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': + '@tailwindcss/forms@0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) - '@tailwindcss/typography@0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': + '@tailwindcss/typography@0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)))': dependencies: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) '@tanstack/react-table@8.20.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: @@ -19964,7 +20087,7 @@ snapshots: '@types/connect@3.4.36': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 '@types/cross-spawn@6.0.2': dependencies: @@ -20057,7 +20180,7 @@ snapshots: '@types/mysql@2.15.26': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 '@types/node-forge@1.3.11': dependencies: @@ -20073,6 +20196,10 @@ snapshots: dependencies: undici-types: 6.20.0 + '@types/node@22.12.0': + dependencies: + undici-types: 6.20.0 + '@types/nodemailer@6.4.17': dependencies: '@types/node': 22.10.2 @@ -20089,7 +20216,7 @@ snapshots: '@types/pg@8.6.1': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 pg-protocol: 1.7.0 pg-types: 2.2.0 @@ -20104,7 +20231,6 @@ snapshots: '@types/react-dom@19.0.2(@types/react@18.3.11)': dependencies: '@types/react': 18.3.11 - optional: true '@types/react-dom@19.0.2(@types/react@19.0.1)': dependencies: @@ -20137,7 +20263,7 @@ snapshots: '@types/tedious@4.0.14': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 '@types/trusted-types@2.0.7': optional: true @@ -20424,22 +20550,22 @@ snapshots: satori: 0.12.0 yoga-wasm-web: 0.3.3 - '@vercel/otel@1.10.0(@opentelemetry/api-logs@0.56.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))': + '@vercel/otel@1.10.0(@opentelemetry/api-logs@0.56.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.56.0 '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-logs': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-metrics': 1.30.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - '@vercel/speed-insights@1.1.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': + '@vercel/speed-insights@1.1.0(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': optionalDependencies: - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 - '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0))': + '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0))': dependencies: '@babel/core': 7.26.0 '@babel/eslint-parser': 7.25.9(@babel/core@7.26.0)(eslint@8.57.0) @@ -20459,7 +20585,7 @@ snapshots: eslint-plugin-testing-library: 6.5.0(eslint@8.57.0)(typescript@5.7.2) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) - eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) prettier-plugin-packagejson: 2.5.6(prettier@3.4.2) optionalDependencies: '@next/eslint-plugin-next': 15.1.0 @@ -20473,14 +20599,14 @@ snapshots: - supports-color - vitest - '@vitejs/plugin-react@4.3.4(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@vitejs/plugin-react@4.3.4(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -20498,13 +20624,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0))': + '@vitest/mocker@2.1.8(vite@5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) + vite: 5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0) '@vitest/pretty-format@2.0.5': dependencies: @@ -21150,9 +21276,9 @@ snapshots: transitivePeerDependencies: - '@babel/core' - babel-plugin-transform-hook-names@1.0.2(@babel/core@7.26.0): + babel-plugin-transform-hook-names@1.0.2(@babel/core@7.26.7): dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.7 babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): dependencies: @@ -22570,7 +22696,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.0) eslint-plugin-react: 7.37.2(eslint@8.57.0) eslint-plugin-react-hooks: 5.1.0(eslint@8.57.0) @@ -22592,7 +22718,7 @@ snapshots: eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0): dependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) eslint-import-resolver-node@0.3.9: dependencies: @@ -22614,7 +22740,7 @@ snapshots: is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -22691,7 +22817,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -22840,13 +22966,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): + eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2) - vitest: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + vitest: 2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) transitivePeerDependencies: - supports-color - typescript @@ -23204,6 +23330,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -25220,7 +25350,7 @@ snapshots: metro-source-map@0.81.0: dependencies: '@babel/traverse': 7.26.4 - '@babel/traverse--for-generate-function-map': '@babel/traverse@7.26.5' + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.26.7' '@babel/types': 7.26.3 flow-enums-runtime: 0.0.6 invariant: 2.2.4 @@ -25270,7 +25400,7 @@ snapshots: metro-transform-plugins@0.81.0: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.5 + '@babel/generator': 7.26.3 '@babel/template': 7.25.9 '@babel/traverse': 7.26.4 flow-enums-runtime: 0.0.6 @@ -25301,9 +25431,9 @@ snapshots: metro-transform-worker@0.81.0: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 flow-enums-runtime: 0.0.6 metro: 0.81.0 metro-babel-transformer: 0.81.0 @@ -25912,13 +26042,13 @@ snapshots: new-github-issue-url@0.2.1: {} - next-auth@4.24.11(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next-auth@4.24.11(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 '@panva/hkdf': 1.2.1 cookie: 0.7.2 jose: 4.15.9 - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) oauth: 0.9.15 openid-client: 5.7.1 preact: 10.25.2 @@ -25929,23 +26059,23 @@ snapshots: optionalDependencies: nodemailer: 6.9.16 - next-intl@3.26.1(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0): + next-intl@3.26.1(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0): dependencies: '@formatjs/intl-localematcher': 0.5.10 negotiator: 1.0.0 - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 use-intl: 3.26.3(react@19.0.0) next-plausible@3.12.4(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - next-safe-action@7.10.2(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1): + next-safe-action@7.10.2(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1): dependencies: - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: @@ -25953,7 +26083,7 @@ snapshots: next-seo@6.6.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -25963,14 +26093,14 @@ snapshots: '@next/env': 13.5.8 fast-glob: 3.3.2 minimist: 1.2.8 - next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@next/env': 15.1.2 '@swc/counter': 0.1.3 @@ -25980,7 +26110,7 @@ snapshots: postcss: 8.4.31 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - styled-jsx: 5.1.6(react@19.0.0) + styled-jsx: 5.1.6(@babel/core@7.26.7)(react@19.0.0) optionalDependencies: '@next/swc-darwin-arm64': 15.1.2 '@next/swc-darwin-x64': 15.1.2 @@ -26089,7 +26219,7 @@ snapshots: normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.2 + resolve: 1.22.10 semver: 5.7.2 validate-npm-package-license: 3.0.4 @@ -26618,13 +26748,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.49 - postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)): + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)): dependencies: lilconfig: 3.1.3 yaml: 2.7.0 optionalDependencies: postcss: 8.4.49 - ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) + ts-node: 10.9.2(@types/node@22.12.0)(typescript@5.7.2) postcss-load-config@6.0.1(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(yaml@2.7.0): dependencies: @@ -27556,6 +27686,14 @@ snapshots: transitivePeerDependencies: - supports-color + require-in-the-middle@7.5.0: + dependencies: + debug: 4.4.0 + module-details-from-path: 1.0.3 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + require-main-filename@2.0.0: {} requireg@0.2.2: @@ -28387,10 +28525,12 @@ snapshots: stylis: 4.3.2 tslib: 2.6.2 - styled-jsx@5.1.6(react@19.0.0): + styled-jsx@5.1.6(@babel/core@7.26.7)(react@19.0.0): dependencies: client-only: 0.0.1 react: 19.0.0 + optionalDependencies: + '@babel/core': 7.26.7 stylis@4.3.2: {} @@ -28468,7 +28608,7 @@ snapshots: tailwind-merge@2.5.5: {} - tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)): + tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -28487,7 +28627,7 @@ snapshots: postcss: 8.4.49 postcss-import: 15.1.0(postcss@8.4.49) postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.10 @@ -28685,14 +28825,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2): + ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.2 + '@types/node': 22.12.0 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -28730,7 +28870,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.5(@microsoft/api-extractor@7.49.1(@types/node@22.10.2))(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0): + tsup@8.3.5(@microsoft/api-extractor@7.49.1(@types/node@22.12.0))(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0): dependencies: bundle-require: 5.1.0(esbuild@0.24.0) cac: 6.7.14 @@ -28749,7 +28889,7 @@ snapshots: tinyglobby: 0.2.10 tree-kill: 1.2.2 optionalDependencies: - '@microsoft/api-extractor': 7.49.1(@types/node@22.10.2) + '@microsoft/api-extractor': 7.49.1(@types/node@22.12.0) postcss: 8.5.1 typescript: 5.7.2 transitivePeerDependencies: @@ -29100,13 +29240,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.8(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) + vite: 5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -29118,9 +29258,9 @@ snapshots: - supports-color - terser - vite-plugin-dts@4.3.0(@types/node@22.10.2)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + vite-plugin-dts@4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: - '@microsoft/api-extractor': 7.49.1(@types/node@22.10.2) + '@microsoft/api-extractor': 7.49.1(@types/node@22.12.0) '@rollup/pluginutils': 5.1.4(rollup@4.31.0) '@volar/typescript': 2.4.11 '@vue/language-core': 2.1.6(typescript@5.7.2) @@ -29131,49 +29271,49 @@ snapshots: magic-string: 0.30.17 typescript: 5.7.2 optionalDependencies: - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-node-polyfills@0.22.0(rollup@4.31.0)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + vite-plugin-node-polyfills@0.22.0(rollup@4.31.0)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.31.0) node-stdlib-browser: 1.3.0 - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - rollup - vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.7.2) optionalDependencies: - vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0): + vite@5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 rollup: 4.31.0 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 fsevents: 2.3.3 lightningcss: 1.27.0 terser: 5.37.0 - vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): + vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): dependencies: esbuild: 0.24.2 postcss: 8.4.49 rollup: 4.31.0 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 fsevents: 2.3.3 jiti: 2.4.1 lightningcss: 1.27.0 @@ -29181,16 +29321,16 @@ snapshots: tsx: 4.19.2 yaml: 2.7.0 - vitest-mock-extended@2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): + vitest-mock-extended@2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): dependencies: ts-essentials: 10.0.4(typescript@5.7.2) typescript: 5.7.2 - vitest: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + vitest: 2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) - vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0): + vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -29206,11 +29346,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) + vite: 5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0) + vite-node: 2.1.8(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.12.0 jsdom: 25.0.1 transitivePeerDependencies: - less From 6ac73d3f254df039729012005e3731aadaf21c9b Mon Sep 17 00:00:00 2001 From: Matthias Nannt Date: Mon, 3 Feb 2025 20:22:36 +0100 Subject: [PATCH 08/44] chore: use latest node:22 version in Dockerfile --- apps/web/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 188f7710a2..ed7eb7228c 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22-alpine3.20 AS base +FROM node:22 AS base # ## step 1: Prune monorepo From 5a919018c58ff11bc1d0e5842275a8b7c8a6cd89 Mon Sep 17 00:00:00 2001 From: Matthias Nannt Date: Mon, 3 Feb 2025 20:28:53 +0100 Subject: [PATCH 09/44] chore: prepare 3.1.4 release --- apps/web/Dockerfile | 2 +- apps/web/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index ed7eb7228c..35afbbae6c 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22 AS base +FROM node:22-alpine AS base # ## step 1: Prune monorepo diff --git a/apps/web/package.json b/apps/web/package.json index a2a83f6e83..344bcc4309 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@formbricks/web", - "version": "3.1.3", + "version": "3.1.4", "private": true, "scripts": { "clean": "rimraf .turbo node_modules .next", From 14374b55d2ddea52700dfc6509bc232f82a18e84 Mon Sep 17 00:00:00 2001 From: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com> Date: Tue, 4 Feb 2025 02:29:32 +0530 Subject: [PATCH 10/44] fix(client-api): apis openapi spec (#4706) --- apps/docs/public/openapi.yaml | 823 ++++++++++++++++++++++++++++------ 1 file changed, 695 insertions(+), 128 deletions(-) diff --git a/apps/docs/public/openapi.yaml b/apps/docs/public/openapi.yaml index ca0ca0ea75..aa6bedd978 100644 --- a/apps/docs/public/openapi.yaml +++ b/apps/docs/public/openapi.yaml @@ -35,33 +35,41 @@ tags: sessions, and responses within the Formbricks platform. This API is ideal for client-side interactions, as it doesn't expose sensitive information. - - - [Actions - API](https://go.postman.co/workspace/90ba379a-0de2-47d2-a94c-8eb541e47082/documentation/11026000-927c954f-85a9-4f8f-b0ec-14191b903737?entity=folder-b8f3a10e-1642-4d82-a629-fef0a8c6c86c) - - Create actions for a person - - - [Displays API](https://formbricks.com/docs/api/client/displays) - Mark + - Displays API - Mark Survey as Displayed or Responded for a Person - - [People API](https://formbricks.com/docs/api/client/people) - Create & - update people (e.g. attributes) + - Responses API - Create & update responses for a survey + + - Environment API - Get the environment state to be used in Formbricks SDKs + + - Contacts API - Identify & update contacts (e.g. attributes) + + - User API - Identify & track users based on their attributes, device type, etc. - - [Responses API](https://formbricks.com/docs/api/client/responses) - - Create & update responses for a survey - name: Client API > Display description: >- Displays are metrics used to measure the number of times a survey was viewed both by unidentified or identified users. - - name: Client API > People - description: >- - Persons are the identified users on Formbricks app that get initated when - you pass a userId and have user activation enabled. This now allows you to - track & show them targeted surveys based on their actions, attributes, - etc. - name: Client API > Response description: >- Responses are captured whenever a user fills in your survey either partially or completely. + - name: Client API > Environment + description: >- + Get the environment state to be used in Formbricks SDKs + - name: Client API > Contacts + description: >- + Contacts are the identified users on Formbricks app that get initated when + you pass a userId and have user activation enabled. This now allows you to + track & show them targeted surveys based on their attributes, device type, + etc. + - name: Client API > User + description: >- + Users are the identified users on Formbricks app that get initated when + you pass a userId and have user activation enabled. This now allows you to + track & show them targeted surveys based on their attributes, device type, + etc. Currently, this api is only being used in the react-native sdk. + - name: Management API description: "The Management API provides access to all data and settings that are visible in the Formbricks App. This API requires a personal API Key for authentication, which can be generated in the Settings section of the Formbricks App. With the Management API, you can manage your Formbricks account programmatically, accessing and modifying data and settings as needed.\n\n> **For Auth:**\_we use the `x-api-key` header \n \n\nAPI requests made to the Management API are authorized using a personal API key. This key grants the same rights and access as if you were logged in at formbricks.com. It's essential to keep your API key secure and not share it with others.\n\nTo generate, store, or delete an API key, follow the instructions provided on the following page\_[API Key](https://formbricks.com/docs/api/management/api-key-setup)." - name: Management API > Action Class @@ -436,139 +444,424 @@ paths: code: internal_server_error message: Person with ID 2 not found details: {} - /api/v1/client/{environmentId}/people: - post: + /api/v1/client/{environmentId}/environment: + get: tags: - - Client API > People - summary: Create Person - description: Creates a person in Formbricks with the given userId, it must be unique. - requestBody: - content: - application/json: - schema: - type: object - example: - userId: "{{userId}}" + - Client API > Environment + summary: Get Environment State + description: >- + Retrieves the environment state to be used in Formbricks SDKs parameters: - name: environmentId in: path + required: true schema: type: string + description: The ID of the environment + responses: + "200": + description: "HTTP Status 200" + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + surveys: + type: array + description: List of surveys in the environment + items: + type: object + properties: + id: + type: string + example: "cm6orr901000g19wjwwa690eo" + welcomeCard: + type: object + properties: + html: + type: string + example: "Thanks for providing your feedback - let's go!" + enabled: + type: boolean + example: false + headline: + type: string + example: "Welcome!" + buttonLabel: + type: string + example: "Next" + timeToFinish: + type: boolean + example: false + showResponseCount: + type: boolean + example: false + name: + type: string + example: "Start from scratch" + questions: + type: array + items: + type: object + properties: + id: + type: string + example: "dd5c8w2a4ttkbnjb9nwhtb17" + type: + type: string + example: "openText" + headline: + type: string + example: "What would you like to know?" + required: + type: boolean + example: true + charLimit: + type: boolean + example: false + inputType: + type: string + example: "text" + buttonLabel: + type: string + example: "Next" + placeholder: + type: string + example: "Type your answer here..." + variables: + type: array + items: + type: string + type: + type: string + example: "app" + showLanguageSwitch: + type: boolean + example: null + languages: + type: array + items: + type: string + endings: + type: array + items: + type: object + properties: + id: + type: string + example: "o729tod5klhix62njmk262dk" + type: + type: string + example: "endScreen" + headline: + type: string + example: "Thank you!" + subheader: + type: string + example: "We appreciate your feedback." + buttonLink: + type: string + example: "https://formbricks.com" + buttonLabel: + type: string + example: "Create your own Survey" + autoClose: + type: boolean + example: null + styling: + type: object + example: null + status: + type: string + example: "inProgress" + segment: + type: object + properties: + id: + type: string + example: "cm6orr90h000h19wj1lnwoxwg" + createdAt: + type: string + example: "2025-02-03T08:08:33.377Z" + updatedAt: + type: string + example: "2025-02-03T08:08:33.377Z" + title: + type: string + example: "cm6orr901000g19wjwwa690eo" + description: + type: string + example: null + isPrivate: + type: boolean + example: true + filters: + type: array + items: + type: string + recontactDays: + type: integer + example: 0 + displayLimit: + type: integer + example: 5 + displayOption: + type: string + example: "respondMultiple" + hiddenFields: + type: object + properties: + enabled: + type: boolean + example: true + fieldIds: + type: array + items: + type: string + triggers: + type: array + items: + type: object + properties: + actionClass: + type: string + example: "code action" + displayPercentage: + type: integer + example: null + delay: + type: integer + example: 0 + actionClasses: + type: array + items: + type: object + properties: + id: + type: string + example: "cm6orqtdd000b19wjec82bpp2" + type: + type: string + example: "automatic" + name: + type: string + example: "New Session" + key: + type: string + nullable: true + example: null + noCodeConfig: + type: object + nullable: true + example: null + example: + - id: "cm6orqtdd000b19wjec82bpp2" + type: "automatic" + name: "New Session" + key: null + noCodeConfig: null + - id: "cm6oryki3000i19wj860utcnn" + type: "code" + name: "code action" + key: "code" + noCodeConfig: null + project: + type: object + properties: + id: + type: string + example: "cm6orqtcl000319wj9wb7dltl" + recontactDays: + type: integer + example: 7 + clickOutsideClose: + type: boolean + example: true + darkOverlay: + type: boolean + example: false + placement: + type: string + example: "bottomRight" + inAppSurveyBranding: + type: boolean + example: true + styling: + type: object + properties: + brandColor: + type: object + properties: + light: + type: string + example: "#64748b" + allowStyleOverwrite: + type: boolean + example: true + "404": + description: Not Found + content: + application/json: + schema: + type: object + properties: + code: + type: string + example: "not_found" + message: + type: string + example: "Environment not found" + details: + type: object + properties: + resource_id: + type: string + example: "tpywklouw2p7tebdu4zv01an" + resource_type: + type: string + example: "environment" + "500": + description: Internal Server Error + content: + application/json: + schema: + type: object + properties: + code: + type: string + example: "internal_server_error" + message: + type: string + example: "Unable to complete request: Expected property name or '}' in JSON at position 29" + details: + type: object + /api/v1/client/{environmentId}/identify/contacts/{userId}: + get: + tags: + - Client API > Contacts + summary: Get Contact State + description: >- + Retrieves a contact's state including their segments, displays, responses + and other tracking information. If the contact doesn't exist, it will be created. + parameters: + - name: environmentId + in: path required: true + schema: + type: string + description: The ID of the environment + - name: userId + in: path + required: true + schema: + type: string + description: The user ID to identify the contact responses: "200": description: OK - headers: - Access-Control-Allow-Credentials: - schema: - type: boolean - example: "true" - Access-Control-Allow-Origin: - schema: - type: string - example: "*" - access-control-allow-methods: - schema: - type: string - example: GET, POST, PUT, DELETE, OPTIONS - access-control-allow-headers: - schema: - type: string - example: Content-Type, Authorization - vary: - schema: - type: string - example: RSC, Next-Router-State-Tree, Next-Router-Prefetch - cache-control: - schema: - type: string - example: private, no-store - content-type: - schema: - type: string - example: application/json - Date: - schema: - type: string - example: Tue, 23 Apr 2024 07:35:47 GMT - Connection: - schema: - type: string - example: keep-alive - Keep-Alive: - schema: - type: string - example: timeout=5 - Transfer-Encoding: - schema: - type: string - example: chunked content: application/json: schema: type: object - example: - data: - userId: Shubham - "400": - description: Bad Request - headers: - Access-Control-Allow-Credentials: - schema: - type: boolean - example: "true" - Access-Control-Allow-Origin: - schema: - type: string - example: "*" - access-control-allow-methods: - schema: - type: string - example: GET, POST, PUT, DELETE, OPTIONS - access-control-allow-headers: - schema: - type: string - example: Content-Type, Authorization - vary: - schema: - type: string - example: RSC, Next-Router-State-Tree, Next-Router-Prefetch - content-type: - schema: - type: string - example: application/json - Date: - schema: - type: string - example: Tue, 23 Apr 2024 07:36:43 GMT - Connection: - schema: - type: string - example: keep-alive - Keep-Alive: - schema: - type: string - example: timeout=5 - Transfer-Encoding: - schema: - type: string - example: chunked + properties: + data: + type: object + properties: + userId: + type: string + description: The user ID of the contact + segments: + type: array + description: List of segment IDs the contact belongs to + items: + type: string + displays: + type: array + description: List of survey displays for this contact + items: + type: object + properties: + surveyId: + type: string + createdAt: + type: string + format: date-time + responses: + type: array + description: List of survey IDs the contact has responded to + items: + type: string + lastDisplayAt: + type: string + format: date-time + nullable: true + description: Timestamp of the last survey display + example: + userId: "user-123" + segments: ["fi8f9oekza95wwszrptidivq", "zgwrv8eg7vfavdhzv1s0po1w"] + displays: [{ surveyId: "pjogp5a1wyxon6umplmf49b8", createdAt: "2024-04-23T08:59:37.550Z" }] + responses: ["pjogp5a1wyxon6umplmf49b8"] + lastDisplayAt: "2024-04-23T08:59:37.550Z" + "403": + description: Forbidden content: application/json: schema: type: object - example: - code: bad_request - message: userId is required - details: - environmentId: clurwouax000azffxt7n5unn3 - /api/v1/client/{environmentId}/people/{userId}/attributes: + properties: + code: + type: string + example: "forbidden" + message: + type: string + example: "User identification is only available for enterprise users." + "404": + description: Not Found + content: + application/json: + schema: + type: object + properties: + code: + type: string + example: "not_found" + message: + type: string + example: "Environment not found" + details: + type: object + properties: + resource_id: + type: string + example: "tpywklouw2p7tebdu4zv01an" + resource_type: + type: string + example: "environment" + "500": + description: Internal Server Error + content: + application/json: + schema: + type: object + properties: + code: + type: string + example: "internal_server_error" + message: + type: string + example: "Unable to complete request: Expected property name or '}' in JSON at position 29" + details: + type: object + /api/v1/client/{environmentId}/contacts/{userId}/attributes: put: tags: - - Client API > People - summary: Update Person + - Client API > Contacts + summary: Update Contact (Attributes) description: >- - Update a person's attributes in Formbricks to keep them in sync with + Update a contact's attributes in Formbricks to keep them in sync with your app or when you want to set a custom attribute in Formbricks. requestBody: content: @@ -713,6 +1006,280 @@ paths: Unable to complete request: Expected property name or '}' in JSON at position 29 details: {} + /api/v1/client/{environmentId}/user: + post: + tags: + - Client API > User + summary: Create or Identify User + description: > + Endpoint for creating or identifying a user within the specified environment. + If the user already exists, this will identify them and potentially + update user attributes. If they don't exist, it will create a new user. + requestBody: + content: + application/json: + schema: + type: object + example: + userId: "hello-user" + attributes: + plan: "free" + parameters: + - name: environmentId + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + headers: + Access-Control-Allow-Credentials: + schema: + type: boolean + example: "true" + Access-Control-Allow-Origin: + schema: + type: string + example: "*" + access-control-allow-methods: + schema: + type: string + example: GET, POST, PUT, DELETE, OPTIONS + access-control-allow-headers: + schema: + type: string + example: Content-Type, Authorization + vary: + schema: + type: string + example: RSC, Next-Router-State-Tree, Next-Router-Prefetch + content-type: + schema: + type: string + example: application/json + Date: + schema: + type: string + example: Tue, 23 Apr 2024 07:36:43 GMT + Connection: + schema: + type: string + example: keep-alive + Keep-Alive: + schema: + type: string + example: timeout=5 + Transfer-Encoding: + schema: + type: string + example: chunked + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + state: + type: object + properties: + data: + type: object + properties: + userId: + type: string + example: "hello-user" + segments: + type: array + items: + type: string + example: "cm6onrezn000hw2ahcokiz41v" + displays: + type: array + items: + type: object + properties: + surveyId: + type: string + example: "cm6orqtdd000a19wjhnbces5s" + createdAt: + type: string + example: "2025-02-03T11:23:13.050Z" + responses: + type: array + items: + type: string + example: "cm6orqtdd000a19wjhnbces5s" + lastDisplayAt: + type: string + example: "2025-02-03T11:23:13.050Z" + expiresAt: + type: string + example: "2025-02-03T11:23:13.050Z" + "400": + description: Bad Request + headers: + Access-Control-Allow-Credentials: + schema: + type: boolean + example: "true" + Access-Control-Allow-Origin: + schema: + type: string + example: "*" + access-control-allow-methods: + schema: + type: string + example: GET, POST, PUT, DELETE, OPTIONS + access-control-allow-headers: + schema: + type: string + example: Content-Type, Authorization + vary: + schema: + type: string + example: RSC, Next-Router-State-Tree, Next-Router-Prefetch + content-type: + schema: + type: string + example: application/json + Date: + schema: + type: string + example: Tue, 23 Apr 2024 07:36:43 GMT + Connection: + schema: + type: string + example: keep-alive + Keep-Alive: + schema: + type: string + example: timeout=5 + Transfer-Encoding: + schema: + type: string + example: chunked + content: + application/json: + schema: + type: object + example: + code: bad_request + message: userId is required + "404": + description: Not Found + headers: + Access-Control-Allow-Credentials: + schema: + type: boolean + example: "true" + Access-Control-Allow-Origin: + schema: + type: string + example: "*" + access-control-allow-methods: + schema: + type: string + example: GET, POST, PUT, DELETE, OPTIONS + access-control-allow-headers: + schema: + type: string + example: Content-Type, Authorization + vary: + schema: + type: string + example: RSC, Next-Router-State-Tree, Next-Router-Prefetch + cache-control: + schema: + type: string + example: private, no-store + content-type: + schema: + type: string + example: application/json + Date: + schema: + type: string + example: Tue, 23 Apr 2024 07:56:29 GMT + Connection: + schema: + type: string + example: keep-alive + Keep-Alive: + schema: + type: string + example: timeout=5 + Transfer-Encoding: + schema: + type: string + example: chunked + content: + application/json: + schema: + type: object + example: + code: not_found + message: Environment not found + details: + resource_id: f16ttdvtkx85k5m4s561ruqj + resource_type: Environment + "500": + description: Internal Server Error + headers: + Access-Control-Allow-Credentials: + schema: + type: boolean + example: "true" + Access-Control-Allow-Origin: + schema: + type: string + example: "*" + access-control-allow-methods: + schema: + type: string + example: GET, POST, PUT, DELETE, OPTIONS + access-control-allow-headers: + schema: + type: string + example: Content-Type, Authorization + vary: + schema: + type: string + example: RSC, Next-Router-State-Tree, Next-Router-Prefetch + cache-control: + schema: + type: string + example: private, no-store + content-type: + schema: + type: string + example: application/json + Date: + schema: + type: string + example: Tue, 23 Apr 2024 07:56:29 GMT + Connection: + schema: + type: string + example: keep-alive + Keep-Alive: + schema: + type: string + example: timeout=5 + Transfer-Encoding: + schema: + type: string + example: chunked + content: + application/json: + schema: + type: object + example: + code: internal_server_error + message: An unexpected error occurred + details: {} /api/v1/client/{environmentId}/responses: post: tags: From b35cf14d326b0bc606e961616574366895cc8b50 Mon Sep 17 00:00:00 2001 From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Date: Tue, 4 Feb 2025 02:47:15 +0530 Subject: [PATCH 11/44] fix: line height in description (#4687) Co-authored-by: Matti Nannt --- packages/surveys/src/components/general/subheader.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/surveys/src/components/general/subheader.tsx b/packages/surveys/src/components/general/subheader.tsx index 705886bbf2..66443fe75c 100644 --- a/packages/surveys/src/components/general/subheader.tsx +++ b/packages/surveys/src/components/general/subheader.tsx @@ -9,7 +9,7 @@ export function Subheader({ subheader, questionId }: SubheaderProps) { return ( From 92ae4786f06fa2aa7f56e97bcf24349dd934eb17 Mon Sep 17 00:00:00 2001 From: Piyush Gupta <56182734+gupta-piyush19@users.noreply.github.com> Date: Tue, 4 Feb 2025 13:29:16 +0530 Subject: [PATCH 12/44] feat: test-coverage (#4701) --- .github/workflows/sonarqube.yml | 39 +- apps/web/package.json | 4 +- apps/web/vite.config.mts | 18 +- pnpm-lock.yaml | 3504 +++++++++++++++---------------- sonar-project.properties | 1 + 5 files changed, 1793 insertions(+), 1773 deletions(-) diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml index 8903418c61..1104dbbd0f 100644 --- a/.github/workflows/sonarqube.yml +++ b/.github/workflows/sonarqube.yml @@ -1,11 +1,11 @@ name: SonarQube on: workflow_dispatch: -# push: -# branches: -# - main -# pull_request: -# types: [opened, synchronize, reopened] + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] permissions: contents: read jobs: @@ -16,6 +16,35 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + + - name: Setup Node.js 20.x + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af + with: + node-version: 20.x + + - name: Install pnpm + uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 + + - name: Install dependencies + run: pnpm install --config.platform=linux --config.architecture=x64 + + - name: create .env + run: cp .env.example .env + + - name: Generate Random ENCRYPTION_KEY, CRON_SECRET & NEXTAUTH_SECRET and fill in .env + run: | + RANDOM_KEY=$(openssl rand -hex 32) + sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${RANDOM_KEY}/" .env + sed -i "s/CRON_SECRET=.*/CRON_SECRET=${RANDOM_KEY}/" .env + sed -i "s/NEXTAUTH_SECRET=.*/NEXTAUTH_SECRET=${RANDOM_KEY}/" .env + + - name: Run tests with coverage + run: | + cd apps/web + pnpm test:coverage + cd ../../ + # The Vitest coverage config is in your vite.config.mts + - name: SonarQube Scan uses: SonarSource/sonarqube-scan-action@bfd4e558cda28cda6b5defafb9232d191be8c203 env: diff --git a/apps/web/package.json b/apps/web/package.json index 344bcc4309..74c7e21be3 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -10,7 +10,8 @@ "build:dev": "next build", "start": "next start", "lint": "next lint", - "test": "dotenv -e ../../.env -- vitest run" + "test": "dotenv -e ../../.env -- vitest run", + "test:coverage": "dotenv -e ../../.env -- vitest run --coverage" }, "dependencies": { "@ai-sdk/azure": "1.0.10", @@ -130,6 +131,7 @@ "@types/nodemailer": "6.4.17", "@types/papaparse": "5.3.15", "@types/qrcode": "1.5.5", + "@vitest/coverage-v8": "2.1.8", "vite": "6.0.9", "vitest": "2.1.8", "vitest-mock-extended": "2.0.2" diff --git a/apps/web/vite.config.mts b/apps/web/vite.config.mts index 2333c6a18f..e829c79c83 100644 --- a/apps/web/vite.config.mts +++ b/apps/web/vite.config.mts @@ -1,10 +1,18 @@ -import tsconfigPaths from "vite-tsconfig-paths"; -import { defineConfig } from "vitest/config"; +// vitest.config.ts +import tsconfigPaths from 'vite-tsconfig-paths'; +import { loadEnv } from 'vite' +import { defineConfig } from 'vitest/config'; export default defineConfig({ test: { - exclude: ["playwright/**", "node_modules/**"], - setupFiles: ["../../packages/lib/vitestSetup.ts"], + exclude: ['playwright/**', 'node_modules/**'], + setupFiles: ['../../packages/lib/vitestSetup.ts'], + env: loadEnv('', process.cwd(), ''), + coverage: { + provider: 'v8', // Use V8 as the coverage provider + reporter: ['text', 'html', 'lcov'], // Generate text summary and HTML reports + reportsDirectory: './coverage', // Output coverage reports to the coverage/ directory + }, }, plugins: [tsconfigPaths()], -}); +}); \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe7bfe6180..0c374a3c2a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,7 +50,7 @@ importers: version: 0.468.0(react@19.0.0) next: specifier: 15.1.2 - version: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: specifier: 19.0.0 version: 19.0.0 @@ -75,10 +75,10 @@ importers: version: link:../../packages/react-native expo: specifier: 52.0.18 - version: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + version: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) expo-status-bar: specifier: 2.0.0 - version: 2.0.0(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + version: 2.0.0(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) react: specifier: 18.3.1 version: 18.3.1 @@ -87,10 +87,10 @@ importers: version: 18.3.1(react@18.3.1) react-native: specifier: 0.76.5 - version: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) + version: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) react-native-webview: specifier: 13.12.5 - version: 13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + version: 13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) devDependencies: '@babel/core': specifier: 7.26.0 @@ -106,16 +106,16 @@ importers: dependencies: '@algolia/autocomplete-core': specifier: 1.17.8 - version: 1.17.8(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3) + version: 1.17.8(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3) '@calcom/embed-react': specifier: 1.5.1 version: 1.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docsearch/css': specifier: '3' - version: 3.8.2 + version: 3.8.3 '@docsearch/react': specifier: 3.8.0 - version: 3.8.0(@algolia/client-search@5.19.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.17.3) + version: 3.8.0(@algolia/client-search@5.20.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.17.3) '@formbricks/lib': specifier: workspace:* version: link:../../packages/lib @@ -127,7 +127,7 @@ importers: version: 2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@headlessui/tailwindcss': specifier: 0.2.1 - version: 0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2))) + version: 0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) '@mapbox/rehype-prism': specifier: 0.9.0 version: 0.9.0 @@ -148,7 +148,7 @@ importers: version: 2.2.1 '@tailwindcss/typography': specifier: 0.5.15 - version: 0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2))) + version: 0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) acorn: specifier: 8.14.0 version: 8.14.0 @@ -184,7 +184,7 @@ importers: version: 0.1.4 next: specifier: 15.1.2 - version: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-plausible: specifier: 3.12.4 version: 3.12.4(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -247,7 +247,7 @@ importers: version: 1.2.1 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) unist-util-filter: specifier: 5.0.1 version: 5.0.1 @@ -269,7 +269,7 @@ importers: version: 3.2.0 '@types/react-dom': specifier: 19.0.2 - version: 19.0.2(@types/react@18.3.11) + version: 19.0.2(@types/react@19.0.1) '@types/react-highlight-words': specifier: 0.20.0 version: 0.20.0 @@ -315,7 +315,7 @@ importers: version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2) '@storybook/react-vite': specifier: 8.4.7 - version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.31.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.32.1)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@storybook/test': specifier: 8.4.7 version: 8.4.7(storybook@8.4.7(prettier@3.4.2)) @@ -327,7 +327,7 @@ importers: version: 8.18.0(eslint@8.57.0)(typescript@5.7.2) '@vitejs/plugin-react': specifier: 4.3.4 - version: 4.3.4(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.4(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) esbuild: specifier: 0.24.0 version: 0.24.0 @@ -342,10 +342,10 @@ importers: version: 8.4.7(prettier@3.4.2) tsup: specifier: 8.3.5 - version: 8.3.5(@microsoft/api-extractor@7.49.1(@types/node@22.12.0))(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@microsoft/api-extractor@7.49.1(@types/node@22.10.2))(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) apps/web: dependencies: @@ -408,7 +408,7 @@ importers: version: 0.21.0 '@lexical/react': specifier: 0.21.0 - version: 0.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.21) + version: 0.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.23) '@lexical/rich-text': specifier: 0.21.0 version: 0.21.0 @@ -432,67 +432,67 @@ importers: version: 6.0.1(prisma@6.0.1) '@radix-ui/react-accordion': specifier: 1.2.2 - version: 1.2.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.2.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-checkbox': specifier: 1.1.3 - version: 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-collapsible': specifier: 1.1.2 - version: 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-dialog': specifier: 1.1.3 - version: 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-dropdown-menu': specifier: 2.1.3 - version: 2.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 2.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-label': specifier: 2.1.1 - version: 2.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 2.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-popover': specifier: 1.1.3 - version: 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-radio-group': specifier: 1.2.2 - version: 1.2.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.2.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-select': specifier: 2.1.3 - version: 2.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 2.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-separator': specifier: 1.1.1 - version: 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-slider': specifier: 1.2.2 - version: 1.2.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.2.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-slot': specifier: 1.1.1 - version: 1.1.1(@types/react@18.3.11)(react@19.0.0) + version: 1.1.1(@types/react@18.3.18)(react@19.0.0) '@radix-ui/react-switch': specifier: 1.1.2 - version: 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-tabs': specifier: 1.1.2 - version: 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-toggle': specifier: 1.1.1 - version: 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-toggle-group': specifier: 1.1.1 - version: 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-tooltip': specifier: 1.1.5 - version: 1.1.5(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.1.5(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@react-email/components': specifier: 0.0.31 version: 0.0.31(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@sentry/nextjs': specifier: 8.52.0 - version: 8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1) + version: 8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1) '@tailwindcss/forms': specifier: 0.5.9 - version: 0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2))) + version: 0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) '@tailwindcss/typography': specifier: 0.5.15 - version: 0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2))) + version: 0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) '@tanstack/react-table': specifier: 8.20.6 version: 8.20.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -504,16 +504,16 @@ importers: version: 0.6.4 '@vercel/otel': specifier: 1.10.0 - version: 1.10.0(@opentelemetry/api-logs@0.56.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)) + version: 1.10.0(@opentelemetry/api-logs@0.56.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)) '@vercel/speed-insights': specifier: 1.1.0 - version: 1.1.0(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) + version: 1.1.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) ai: specifier: 4.0.18 version: 4.0.18(react@19.0.0)(zod@3.24.1) autoprefixer: specifier: 10.4.20 - version: 10.4.20(postcss@8.5.1) + version: 10.4.20(postcss@8.4.49) bcryptjs: specifier: 2.4.3 version: 2.4.3 @@ -528,7 +528,7 @@ importers: version: 2.1.1 cmdk: specifier: 1.0.4 - version: 1.0.4(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.0.4(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) csv-parse: specifier: 5.6.0 version: 5.6.0 @@ -576,16 +576,16 @@ importers: version: 4.0.4 next: specifier: 15.1.2 - version: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-auth: specifier: 4.24.11 - version: 4.24.11(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 4.24.11(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-intl: specifier: 3.26.1 - version: 3.26.1(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) + version: 3.26.1(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) next-safe-action: specifier: 7.10.2 - version: 7.10.2(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1) + version: 7.10.2(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1) node-fetch: specifier: 3.3.2 version: 3.3.2 @@ -654,7 +654,7 @@ importers: version: 2.5.5 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) ua-parser-js: specifier: 2.0.0 version: 2.0.0 @@ -676,7 +676,7 @@ importers: version: link:../../packages/config-eslint '@neshca/cache-handler': specifier: 1.9.0 - version: 1.9.0(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(redis@4.7.0) + version: 1.9.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(redis@4.7.0) '@types/bcryptjs': specifier: 2.4.6 version: 2.4.6 @@ -695,15 +695,18 @@ importers: '@types/qrcode': specifier: 1.5.5 version: 1.5.5 + '@vitest/coverage-v8': + specifier: 2.1.8 + version: 2.1.8(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) vitest-mock-extended: specifier: 2.0.2 - version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) packages/api: devDependencies: @@ -718,7 +721,7 @@ importers: version: link:../types '@rollup/plugin-inject': specifier: 5.0.5 - version: 5.0.5(rollup@4.31.0) + version: 5.0.5(rollup@4.32.1) buffer: specifier: 6.0.3 version: 6.0.3 @@ -727,13 +730,13 @@ importers: version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.10.2)(rollup@4.32.1)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) vite-plugin-node-polyfills: specifier: 0.22.0 - version: 0.22.0(rollup@4.31.0)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 0.22.0(rollup@4.32.1)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/config-eslint: devDependencies: @@ -748,7 +751,7 @@ importers: version: 8.18.0(eslint@8.57.0)(typescript@5.7.2) '@vercel/style-guide': specifier: 6.0.0 - version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) eslint-config-next: specifier: 15.1.0 version: 15.1.0(eslint@8.57.0)(typescript@5.7.2) @@ -833,7 +836,7 @@ importers: version: 3.1.1(prisma@6.0.1)(typescript@5.7.2) ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@22.12.0)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) zod: specifier: 3.24.1 version: 3.24.1 @@ -861,10 +864,10 @@ importers: version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.10.2)(rollup@4.32.1)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/js-core: devDependencies: @@ -888,10 +891,10 @@ importers: version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.10.2)(rollup@4.32.1)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/lib: dependencies: @@ -945,7 +948,7 @@ importers: version: 5.0.9 next-auth: specifier: 4.24.11 - version: 4.24.11(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 4.24.11(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) posthog-node: specifier: 4.3.2 version: 4.3.2 @@ -982,19 +985,19 @@ importers: version: 16.4.7 ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@22.12.0)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) vitest-mock-extended: specifier: 2.0.2 - version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) packages/react-native: dependencies: react-native-webview: specifier: '>=13.0.0' - version: 13.12.5(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + version: 13.12.5(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) devDependencies: '@formbricks/api': specifier: workspace:* @@ -1010,7 +1013,7 @@ importers: version: link:../types '@react-native-async-storage/async-storage': specifier: 2.1.0 - version: 2.1.0(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1)) + version: 2.1.0(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1)) '@types/react': specifier: 18.3.11 version: 18.3.11 @@ -1019,16 +1022,16 @@ importers: version: 18.3.1 react-native: specifier: 0.74.5 - version: 0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1) + version: 0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1) terser: specifier: 5.37.0 version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.10.2)(rollup@4.32.1)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/surveys: dependencies: @@ -1056,7 +1059,7 @@ importers: version: link:../types '@preact/preset-vite': specifier: 2.9.3 - version: 2.9.3(@babel/core@7.26.7)(preact@10.25.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 2.9.3(@babel/core@7.26.0)(preact@10.25.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@types/react': specifier: 19.0.1 version: 19.0.1 @@ -1083,19 +1086,19 @@ importers: version: 14.2.4 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) terser: specifier: 5.37.0 version: 5.37.0 vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.0(@types/node@22.10.2)(rollup@4.32.1)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) vite-tsconfig-paths: specifier: 5.1.4 - version: 5.1.4(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 5.1.4(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/types: dependencies: @@ -1120,7 +1123,7 @@ importers: version: link:../config-eslint vite: specifier: 6.0.9 - version: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) packages: @@ -1215,56 +1218,56 @@ packages: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-abtesting@5.19.0': - resolution: {integrity: sha512-dMHwy2+nBL0SnIsC1iHvkBao64h4z+roGelOz11cxrDBrAdASxLxmfVMop8gmodQ2yZSacX0Rzevtxa+9SqxCw==} + '@algolia/client-abtesting@5.20.0': + resolution: {integrity: sha512-YaEoNc1Xf2Yk6oCfXXkZ4+dIPLulCx8Ivqj0OsdkHWnsI3aOJChY5qsfyHhDBNSOhqn2ilgHWxSfyZrjxBcAww==} engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.19.0': - resolution: {integrity: sha512-CDW4RwnCHzU10upPJqS6N6YwDpDHno7w6/qXT9KPbPbt8szIIzCHrva4O9KIfx1OhdsHzfGSI5hMAiOOYl4DEQ==} + '@algolia/client-analytics@5.20.0': + resolution: {integrity: sha512-CIT9ni0+5sYwqehw+t5cesjho3ugKQjPVy/iPiJvtJX4g8Cdb6je6SPt2uX72cf2ISiXCAX9U3cY0nN0efnRDw==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.19.0': - resolution: {integrity: sha512-2ERRbICHXvtj5kfFpY5r8qu9pJII/NAHsdgUXnUitQFwPdPL7wXiupcvZJC7DSntOnE8AE0lM7oDsPhrJfj5nQ==} + '@algolia/client-common@5.20.0': + resolution: {integrity: sha512-iSTFT3IU8KNpbAHcBUJw2HUrPnMXeXLyGajmCL7gIzWOsYM4GabZDHXOFx93WGiXMti1dymz8k8R+bfHv1YZmA==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.19.0': - resolution: {integrity: sha512-xPOiGjo6I9mfjdJO7Y+p035aWePcbsItizIp+qVyfkfZiGgD+TbNxM12g7QhFAHIkx/mlYaocxPY/TmwPzTe+A==} + '@algolia/client-insights@5.20.0': + resolution: {integrity: sha512-w9RIojD45z1csvW1vZmAko82fqE/Dm+Ovsy2ElTsjFDB0HMAiLh2FO86hMHbEXDPz6GhHKgGNmBRiRP8dDPgJg==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.19.0': - resolution: {integrity: sha512-B9eoce/fk8NLboGje+pMr72pw+PV7c5Z01On477heTZ7jkxoZ4X92dobeGuEQop61cJ93Gaevd1of4mBr4hu2A==} + '@algolia/client-personalization@5.20.0': + resolution: {integrity: sha512-p/hftHhrbiHaEcxubYOzqVV4gUqYWLpTwK+nl2xN3eTrSW9SNuFlAvUBFqPXSVBqc6J5XL9dNKn3y8OA1KElSQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.19.0': - resolution: {integrity: sha512-6fcP8d4S8XRDtVogrDvmSM6g5g6DndLc0pEm1GCKe9/ZkAzCmM3ZmW1wFYYPxdjMeifWy1vVEDMJK7sbE4W7MA==} + '@algolia/client-query-suggestions@5.20.0': + resolution: {integrity: sha512-m4aAuis5vZi7P4gTfiEs6YPrk/9hNTESj3gEmGFgfJw3hO2ubdS4jSId1URd6dGdt0ax2QuapXufcrN58hPUcw==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.19.0': - resolution: {integrity: sha512-Ctg3xXD/1VtcwmkulR5+cKGOMj4r0wC49Y/KZdGQcqpydKn+e86F6l3tb3utLJQVq4lpEJud6kdRykFgcNsp8Q==} + '@algolia/client-search@5.20.0': + resolution: {integrity: sha512-KL1zWTzrlN4MSiaK1ea560iCA/UewMbS4ZsLQRPoDTWyrbDKVbztkPwwv764LAqgXk0fvkNZvJ3IelcK7DqhjQ==} engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.19.0': - resolution: {integrity: sha512-LO7w1MDV+ZLESwfPmXkp+KLeYeFrYEgtbCZG6buWjddhYraPQ9MuQWLhLLiaMlKxZ/sZvFTcZYuyI6Jx4WBhcg==} + '@algolia/ingestion@1.20.0': + resolution: {integrity: sha512-shj2lTdzl9un4XJblrgqg54DoK6JeKFO8K8qInMu4XhE2JuB8De6PUuXAQwiRigZupbI0xq8aM0LKdc9+qiLQA==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.19.0': - resolution: {integrity: sha512-Mg4uoS0aIKeTpu6iv6O0Hj81s8UHagi5TLm9k2mLIib4vmMtX7WgIAHAcFIaqIZp5D6s5EVy1BaDOoZ7buuJHA==} + '@algolia/monitoring@1.20.0': + resolution: {integrity: sha512-aF9blPwOhKtWvkjyyXh9P5peqmhCA1XxLBRgItT+K6pbT0q4hBDQrCid+pQZJYy4HFUKjB/NDDwyzFhj/rwKhw==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.19.0': - resolution: {integrity: sha512-PbgrMTbUPlmwfJsxjFhal4XqZO2kpBNRjemLVTkUiti4w/+kzcYO4Hg5zaBgVqPwvFDNQ8JS4SS3TBBem88u+g==} + '@algolia/recommend@5.20.0': + resolution: {integrity: sha512-T6B/WPdZR3b89/F9Vvk6QCbt/wrLAtrGoL8z4qPXDFApQ8MuTFWbleN/4rHn6APWO3ps+BUePIEbue2rY5MlRw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.19.0': - resolution: {integrity: sha512-GfnhnQBT23mW/VMNs7m1qyEyZzhZz093aY2x8p0era96MMyNv8+FxGek5pjVX0b57tmSCZPf4EqNCpkGcGsmbw==} + '@algolia/requester-browser-xhr@5.20.0': + resolution: {integrity: sha512-t6//lXsq8E85JMenHrI6mhViipUT5riNhEfCcvtRsTV+KIBpC6Od18eK864dmBhoc5MubM0f+sGpKOqJIlBSCg==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.19.0': - resolution: {integrity: sha512-oyTt8ZJ4T4fYvW5avAnuEc6Laedcme9fAFryMD9ndUTIUe/P0kn3BuGcCLFjN3FDmdrETHSFkgPPf1hGy3sLCw==} + '@algolia/requester-fetch@5.20.0': + resolution: {integrity: sha512-FHxYGqRY+6bgjKsK4aUsTAg6xMs2S21elPe4Y50GB0Y041ihvw41Vlwy2QS6K9ldoftX4JvXodbKTcmuQxywdQ==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.19.0': - resolution: {integrity: sha512-p6t8ue0XZNjcRiqNkb5QAM0qQRAKsCiebZ6n9JjWA+p8fWf8BvnhO55y2fO28g3GW0Imj7PrAuyBuxq8aDVQwQ==} + '@algolia/requester-node-http@5.20.0': + resolution: {integrity: sha512-kmtQClq/w3vtPteDSPvaW9SPZL/xrIgMrxZyAgsFwrJk0vJxqyC5/hwHmrCraDnStnGSADnLpBf4SpZnwnkwWw==} engines: {node: '>= 14.0.0'} '@alloc/quick-lru@5.2.0': @@ -1279,8 +1282,8 @@ packages: resolution: {integrity: sha512-O0Uv9LbLDSoEg26fnMDdDRiPwFJnQSoD4WnrflDwKCJm8Cx/0mV4cGxwBLXan5mGIrpK4Dd7vizf4rQm0QCEAA==} hasBin: true - '@asamuzakjp/css-color@2.8.2': - resolution: {integrity: sha512-RtWv9jFN2/bLExuZgFFZ0I3pWWeezAHGgrmjqGGWclATl1aDe3yhCUaI0Ilkp6OCk9zX7+FjvDasEX8Q9Rxc5w==} + '@asamuzakjp/css-color@2.8.3': + resolution: {integrity: sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw==} '@aws-crypto/crc32@5.2.0': resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} @@ -1500,8 +1503,8 @@ packages: resolution: {integrity: sha512-J4FYAqakGXcbfeZjwjMzjNcpcH4E+JtEBv+xcV1yL0Ydn/6wbQfeFKTCHh9wttAi0lmajHw7yBbHPRG+YHckZQ==} engines: {node: '>=18.0.0'} - '@azure/identity@4.5.0': - resolution: {integrity: sha512-EknvVmtBuSIic47xkOqyNabAme0RYTw52BTMz8eBgU1ysTyMrD1uOoM+JdS0J/4Yfp98IBT3osqq3BfwSaNaGQ==} + '@azure/identity@4.6.0': + resolution: {integrity: sha512-ANpO1iAvcZmpD4QY7/kaE/P2n66pRXsDp3nMUC6Ow3c9KfXOZF7qMU9VgqPw8m7adP7TVIbVyrCEmD9cth3KQQ==} engines: {node: '>=18.0.0'} '@azure/logger@1.1.4': @@ -1514,14 +1517,18 @@ packages: peerDependencies: '@playwright/test': ^1.43.1 - '@azure/msal-browser@3.28.0': - resolution: {integrity: sha512-1c1qUF6vB52mWlyoMem4xR1gdwiQWYEQB2uhDkbAL4wVJr8WmAcXybc1Qs33y19N4BdPI8/DHI7rPE8L5jMtWw==} + '@azure/msal-browser@4.0.2': + resolution: {integrity: sha512-bq6PasUpJgBSOSMeSlh8gXh4LZGgAaPoJFNcu5u0zxwueh+I8NpMb9oxlCfS/8CJHyXUhTUAMLSnvThemNdyQw==} engines: {node: '>=0.8.0'} '@azure/msal-common@14.16.0': resolution: {integrity: sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA==} engines: {node: '>=0.8.0'} + '@azure/msal-common@15.0.2': + resolution: {integrity: sha512-RQHmI5vOMYLNSO0ER7d/O9TojWWEn4m0YtWbL8mZthkKGQI7ALn5ONHUVTUSxSVYwGYdHGNrwiHAzQhboqwZzQ==} + engines: {node: '>=0.8.0'} + '@azure/msal-node@2.16.2': resolution: {integrity: sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ==} engines: {node: '>=16'} @@ -1537,10 +1544,6 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} - engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.5': resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==} engines: {node: '>=6.9.0'} @@ -1549,21 +1552,13 @@ packages: resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.7': - resolution: {integrity: sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==} - engines: {node: '>=6.9.0'} - - '@babel/eslint-parser@7.25.9': - resolution: {integrity: sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==} + '@babel/eslint-parser@7.26.5': + resolution: {integrity: sha512-Kkm8C8uxI842AwQADxl0GbcG1rupELYLShazYEZO/2DYjhyWXJIOUVOE3tBYm6JXzUCNJOZEzqc4rCW/jsEQYQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - '@babel/generator@7.26.3': - resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} - engines: {node: '>=6.9.0'} - '@babel/generator@7.26.5': resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} engines: {node: '>=6.9.0'} @@ -1572,10 +1567,6 @@ packages: resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.26.5': resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} engines: {node: '>=6.9.0'} @@ -1619,10 +1610,6 @@ packages: resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.25.9': - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.26.5': resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} engines: {node: '>=6.9.0'} @@ -1633,12 +1620,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.25.9': - resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.26.5': resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} engines: {node: '>=6.9.0'} @@ -1665,10 +1646,6 @@ packages: resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.26.7': resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==} engines: {node: '>=6.9.0'} @@ -1677,16 +1654,6 @@ packages: resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.3': - resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.26.5': - resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.26.7': resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} engines: {node: '>=6.0.0'} @@ -2018,8 +1985,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-flow-strip-types@7.25.9': - resolution: {integrity: sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==} + '@babel/plugin-transform-flow-strip-types@7.26.5': + resolution: {integrity: sha512-eGK26RsbIkYUns3Y8qKl362juDDYK+wEdPGHGrhzUl6CewZFo55VZ7hg+CyMFU4dd5QQakBN86nBMpRsFpRvbQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2096,12 +2063,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': - resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.26.6': resolution: {integrity: sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==} engines: {node: '>=6.9.0'} @@ -2252,8 +2213,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.26.3': - resolution: {integrity: sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==} + '@babel/plugin-transform-typescript@7.26.7': + resolution: {integrity: sha512-5cJurntg+AT+cgelGP9Bt788DKiAw9gIMSMU2NJrLAilnj0m8WZWUNZPSLOmadYsujHutpgElO+50foX+ib/Wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2282,8 +2243,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.26.0': - resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + '@babel/preset-env@7.26.7': + resolution: {integrity: sha512-Ycg2tnXwixaXOVb29rana8HNPgLVBof8qqtNQ9LE22IoyZboQbGSxI6ZySMdW3K5nAe6gu35IaJefUJflhUFTQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2317,34 +2278,25 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + '@babel/runtime@7.26.7': + resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==} engines: {node: '>=6.9.0'} '@babel/template@7.25.9': resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.4': - resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} - engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.7': resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.3': - resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.5': - resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} - engines: {node: '>=6.9.0'} - '@babel/types@7.26.7': resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@calcom/embed-core@1.5.1': resolution: {integrity: sha512-wykzh1GKj5xhGxDJeCRJ7OulAgn9GVMYD/mmOBbvn06c3m9Lqoqn09E5kJ+DY+aokUncQPcstNsdiHsURjMuVw==} @@ -2364,8 +2316,8 @@ packages: react: '>=18' react-dom: '>=18' - '@changesets/apply-release-plan@7.0.7': - resolution: {integrity: sha512-qnPOcmmmnD0MfMg9DjU1/onORFyRpDXkMMl2IJg9mECY6RnxL3wN0TCCc92b2sXt1jt8DgjAUUsZYGUGTdYIXA==} + '@changesets/apply-release-plan@7.0.8': + resolution: {integrity: sha512-qjMUj4DYQ1Z6qHawsn7S71SujrExJ+nceyKKyI9iB+M5p9lCL55afuEd6uLBPRpLGWQwkwvWegDHtwHJb1UjpA==} '@changesets/assemble-release-plan@6.0.5': resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} @@ -2494,8 +2446,8 @@ packages: '@docsearch/css@3.8.0': resolution: {integrity: sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==} - '@docsearch/css@3.8.2': - resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==} + '@docsearch/css@3.8.3': + resolution: {integrity: sha512-1nELpMV40JDLJ6rpVVFX48R1jsBFIQ6RnEQDsLFGmzOjPWTOMlZqUcXcvRx8VmYV/TqnS1l784Ofz+ZEb+wEOQ==} '@docsearch/react@3.8.0': resolution: {integrity: sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==} @@ -3134,46 +3086,49 @@ packages: '@expo/code-signing-certificates@0.0.5': resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==} - '@expo/config-plugins@9.0.13': - resolution: {integrity: sha512-9mSjuMoCijA0O4JONJwWXg+xaD4tVeVv7pXWQovnQGxorgMNgygOGEzGi9GXFMki8FJ1Zlt2gyXrcPFXiId7Hw==} + '@expo/config-plugins@9.0.14': + resolution: {integrity: sha512-Lx1ebV95rTFKKQmbu4wMPLz65rKn7mqSpfANdCx+KwRxuLY2JQls8V4h3lQjG6dW8NWf9qV5QaEFAgNB6VMyOQ==} - '@expo/config-types@52.0.2': - resolution: {integrity: sha512-4hYwnaCxOLlXXF1TE17RY+GU1CyBqzRx7s13VUDhU1PQ8Zr9/kzGoJI0McmfayncO9RIeSqeDWO6dELZWk/0uw==} + '@expo/config-types@52.0.3': + resolution: {integrity: sha512-muxvuARmbysH5OGaiBRlh1Y6vfdmL56JtpXxB+y2Hfhu0ezG1U4FjZYBIacthckZPvnDCcP3xIu1R+eTo7/QFA==} - '@expo/config@10.0.7': - resolution: {integrity: sha512-fS9xuxH3U9tuiXofwxrmsan8TfzlDXgPiX38SDMkq/AQctmRtWllD8GNHRIk9Bdz3vODeBv7vRVGKXPBYG72cQ==} + '@expo/config@10.0.8': + resolution: {integrity: sha512-RaKwi8e6PbkMilRexdsxObLMdQwxhY6mlgel+l/eW+IfIw8HEydSU0ERlzYUjlGJxHLHUXe4rC2vw8FEvaowyQ==} '@expo/devcert@1.1.4': resolution: {integrity: sha512-fqBODr8c72+gBSX5Ty3SIzaY4bXainlpab78+vEYEKL3fXmsOswMLf0+KE36mUEAa36BYabX7K3EiXOXX5OPMw==} - '@expo/env@0.4.0': - resolution: {integrity: sha512-g2JYFqck3xKIwJyK+8LxZ2ENZPWtRgjFWpeht9abnKgzXVXBeSNECFBkg+WQjQocSIdxXhEWM6hz4ZAe7Tc4ng==} + '@expo/env@0.4.1': + resolution: {integrity: sha512-oDtbO3i9yXD1nx93acWiPTWGljJ3vABn35x1NAbqtQ2JL6mFOcRcArt1dwi4imZyLnG4VCcjabT9irj+LgYntw==} '@expo/fingerprint@0.11.3': resolution: {integrity: sha512-9lgXmcIePvZ7Wef63XtvuN3HfCUevF4E4tQPdEbH9/dUWwpOvvwQ3KT4OJ9jdh8JJ3nTdO9eDQ/8k8xr1aQ5Kg==} hasBin: true - '@expo/image-utils@0.6.3': - resolution: {integrity: sha512-v/JbCKBrHeudxn1gN1TgfPE/pWJSlLPrl29uXJBgrJFQVkViQvUHQNDhaS+UEa9wYI5HHh7XYmtzAehyG4L+GA==} + '@expo/image-utils@0.6.4': + resolution: {integrity: sha512-L++1PBzSvf5iYc6UHJ8Db8GcYNkfLDw+a+zqEFBQ3xqRXP/muxb/O7wuiMFlXrj/cfkx4e0U+z1a4ceV0A7S7Q==} - '@expo/json-file@9.0.0': - resolution: {integrity: sha512-M+55xFVrFzDcgMDf+52lPDLjKB5xwRfStWlv/b/Vu2OLgxGZLWpxoPYjlRoHqxjPbCQIi2ZCbobK+0KuNhsELg==} + '@expo/json-file@9.0.1': + resolution: {integrity: sha512-ZVPhbbEBEwafPCJ0+kI25O2Iivt3XKHEKAADCml1q2cmOIbQnKgLyn8DpOJXqWEyRQr/VWS+hflBh8DU2YFSqg==} '@expo/metro-config@0.19.7': resolution: {integrity: sha512-6Ti05d6AyvXstMpaRGh2EsdGSJzmOh9ju3gMmcjxckn/cimNL39qRQSrnqYc0R/DEZiRFL7N9mVE/0uG668ojw==} - '@expo/osascript@2.1.4': - resolution: {integrity: sha512-LcPjxJ5FOFpqPORm+5MRLV0CuYWMthJYV6eerF+lQVXKlvgSn3EOqaHC3Vf3H+vmB0f6G4kdvvFtg40vG4bIhA==} + '@expo/metro-config@0.19.9': + resolution: {integrity: sha512-JAsLWhFQqwLH0KsI4OMbPXsKFji5KJEmsi+/02Sz1GCT17YrjRmv1fZ91regUS/FUH2Y/PDAE/+2ulrTgMeG7A==} + + '@expo/osascript@2.1.5': + resolution: {integrity: sha512-Cp7YF7msGiTAIbFdzNovwHBfecdMLVL5XzSqq4xQz72ALFCQ3uSIUXRph1QV2r61ugH7Yem0gY8yi7RcDlI4qg==} engines: {node: '>=12'} - '@expo/package-manager@1.7.0': - resolution: {integrity: sha512-yWn5TIjd42wLHZjNtdZkvCkcxqUGxlI4YHb+bQmgm3tWZ8aBHnLhPb0rgU8+hVHCofmRvVUXfVZv8Uh+kkLXgw==} + '@expo/package-manager@1.7.1': + resolution: {integrity: sha512-DKbELrTOdl7U3KT0C07Aka9P+sUP3LL+1UTKf1KmLx2x2gPH1IC+c68N7iQlwNt+yA37qIw6/vKoqyTGu5EL9g==} - '@expo/plist@0.2.0': - resolution: {integrity: sha512-F/IZJQaf8OIVnVA6XWUeMPC3OH6MV00Wxf0WC0JhTQht2QgjyHUa3U5Gs3vRtDq8tXNsZneOQRDVwpaOnd4zTQ==} + '@expo/plist@0.2.1': + resolution: {integrity: sha512-9TaXGuNxa0LQwHQn4rYiU6YaERv6dPnQgsdKWq2rKKTr6LWOtGNQCi/yOk/HBLeZSxBm59APT5/6x60uRvr0Mg==} - '@expo/prebuild-config@8.0.24': - resolution: {integrity: sha512-zxbKW+oHn0/QwKaShjbxD7tv+5WtK2+C5ZJTHztyXJXrBP6BOL5dK4lP2djQVzpHYU1p6ZzKFvp9d1bW/+S32Q==} + '@expo/prebuild-config@8.0.25': + resolution: {integrity: sha512-xYHV8eiydZEDedf2AGaOFRFwcGlaSzrqQH94dwX42urNCU03FO0RUb7yPp4nkb7WNFg5Ov6PDsV7ES+YwzNgYQ==} '@expo/rudder-sdk-node@1.1.1': resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==} @@ -3220,8 +3175,8 @@ packages: '@formatjs/fast-memoize@2.2.6': resolution: {integrity: sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==} - '@formatjs/icu-messageformat-parser@2.9.8': - resolution: {integrity: sha512-hZlLNI3+Lev8IAXuwehLoN7QTKqbx3XXwFW1jh0AdIA9XJdzn9Uzr+2LLBspPm/PX0+NLIfykj/8IKxQqHUcUQ==} + '@formatjs/icu-messageformat-parser@2.11.0': + resolution: {integrity: sha512-Hp81uTjjdTk3FLh/dggU5NK7EIsVWc5/ZDWrIldmf2rBuPejuZ13CZ/wpVE2SToyi4EiroPTQ1XJcJuZFIxTtw==} '@formatjs/icu-skeleton-parser@1.8.12': resolution: {integrity: sha512-QRAY2jC1BomFQHYDMcZtClqHR55EEnB96V7Xbk/UiBodsuFc5kujybzt87+qj1KqmJozFhk6n4KiT1HKwAkcfg==} @@ -3660,8 +3615,8 @@ packages: '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} - '@noble/hashes@1.7.0': - resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} + '@noble/hashes@1.7.1': + resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==} engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': @@ -3684,8 +3639,8 @@ packages: resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@opentelemetry/api-logs@0.53.0': - resolution: {integrity: sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==} + '@opentelemetry/api-logs@0.52.1': + resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==} engines: {node: '>=14'} '@opentelemetry/api-logs@0.56.0': @@ -3712,12 +3667,6 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@1.30.0': - resolution: {integrity: sha512-Q/3u/K73KUjTCnFUP97ZY+pBjQ1kPEgjOfXj/bJl8zW7GbXdkw6cwuyZk6ZTXkVgCBsYRYUzx4fvYK1jxdb9MA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@1.30.1': resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==} engines: {node: '>=14'} @@ -3868,8 +3817,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.7.0 - '@opentelemetry/instrumentation@0.53.0': - resolution: {integrity: sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A==} + '@opentelemetry/instrumentation@0.52.1': + resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -3890,12 +3839,6 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/resources@1.30.0': - resolution: {integrity: sha512-5mGMjL0Uld/99t7/pcd7CuVtJbkARckLVuiOX84nO8RtLtIz0/J6EOHM2TGvPZ6F4K+XjUq13gMx14w80SVCQg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/resources@1.30.1': resolution: {integrity: sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==} engines: {node: '>=14'} @@ -3908,8 +3851,8 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' - '@opentelemetry/sdk-metrics@1.30.0': - resolution: {integrity: sha512-5kcj6APyRMvv6dEIP5plz2qfJAD4OMipBRT11u/pa1a68rHKI2Ln+iXVkAGKgx8o7CXbD7FdPypTUY88ZQgP4Q==} + '@opentelemetry/sdk-metrics@1.30.1': + resolution: {integrity: sha512-q9zcZ0Okl8jRgmy7eNW3Ku1XSgg3sDLa5evHZpCwjspw7E8Is4K/haRPDJrBcX3YSn/Y7gUvFnByNYEKQNbNog==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' @@ -4528,15 +4471,17 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} - '@react-aria/focus@3.19.0': - resolution: {integrity: sha512-hPF9EXoUQeQl1Y21/rbV2H4FdUR2v+4/I0/vB+8U3bT1CJ+1AFj1hc/rqx2DqEwDlEwOHN+E4+mRahQmlybq0A==} + '@react-aria/focus@3.19.1': + resolution: {integrity: sha512-bix9Bu1Ue7RPcYmjwcjhB14BMu2qzfJ3tMQLqDc9pweJA66nOw8DThy3IfVr8Z7j2PHktOLf9kcbiZpydKHqzg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/interactions@3.22.5': - resolution: {integrity: sha512-kMwiAD9E0TQp+XNnOs13yVJghiy8ET8L0cbkeuTgNI96sOAp/63EJ1FSrDf17iD8sdjt41LafwX/dKXW9nCcLQ==} + '@react-aria/interactions@3.23.0': + resolution: {integrity: sha512-0qR1atBIWrb7FzQ+Tmr3s8uH5mQdyRH78n0krYaG8tng9+u1JlSi8DGRSaC9ezKyNB84m7vHT207xnHXGeJ3Fg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 '@react-aria/ssr@3.9.7': resolution: {integrity: sha512-GQygZaGlmYjmYM+tiNBA5C6acmiDWF52Nqd40bBp0Znk4M4hP+LTmI0lpI1BuKMw45T8RIhrAsICIfKwZvi2Gg==} @@ -4544,10 +4489,11 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/utils@3.26.0': - resolution: {integrity: sha512-LkZouGSjjQ0rEqo4XJosS4L3YC/zzQkfRM3KoqK6fUOmUJ9t0jQ09WjiF+uOoG9u+p30AVg3TrZRUWmoTS+koQ==} + '@react-aria/utils@3.27.0': + resolution: {integrity: sha512-p681OtApnKOdbeN8ITfnnYqfdHS0z7GE+4l8EXlfLnr70Rp/9xicBO6d2rU+V/B3JujDw2gPWxYKEnEeh0CGCw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 '@react-email/body@0.0.11': resolution: {integrity: sha512-ZSD2SxVSgUjHGrB0Wi+4tu3MEpB4fYSbezsFNEJk2xCWDBkFiOeEsjTmR5dvi+CxTK691hQTQlHv0XWuP7ENTg==} @@ -4733,6 +4679,10 @@ packages: resolution: {integrity: sha512-xe7HSQGop4bnOLMaXt0aU+rIatMNEQbz242SDl8V9vx5oOTI0VbZV9yLy6yBc6poUlYbcboF20YVjoRsxX4yww==} engines: {node: '>=18'} + '@react-native/babel-plugin-codegen@0.76.6': + resolution: {integrity: sha512-yFC9I/aDBOBz3ZMlqKn2NY/mDUtCksUNZ7AQmBiTAeVTUP0ujEjE0hTOx5Qd+kok7A7hwZEX87HdSgjiJZfr5g==} + engines: {node: '>=18'} + '@react-native/babel-preset@0.74.87': resolution: {integrity: sha512-hyKpfqzN2nxZmYYJ0tQIHG99FQO0OWXp/gVggAfEUgiT+yNKas1C60LuofUsK7cd+2o9jrpqgqW4WzEDZoBlTg==} engines: {node: '>=18'} @@ -4745,6 +4695,12 @@ packages: peerDependencies: '@babel/core': '*' + '@react-native/babel-preset@0.76.6': + resolution: {integrity: sha512-ojlVWY6S/VE/nb9hIRetPMTsW9ZmGb2R3dnToEXAtQQDz41eHMHXbkw/k2h0THp6qhas25ruNvn3N5n2o+lBzg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + '@react-native/codegen@0.74.87': resolution: {integrity: sha512-GMSYDiD+86zLKgMMgz9z0k6FxmRn+z6cimYZKkucW4soGbxWsbjUAZoZ56sJwt2FJ3XVRgXCrnOCgXoH/Bkhcg==} engines: {node: '>=18'} @@ -4757,6 +4713,12 @@ packages: peerDependencies: '@babel/preset-env': ^7.1.6 + '@react-native/codegen@0.76.6': + resolution: {integrity: sha512-BABb3e5G/+hyQYEYi0AODWh2km2d8ERoASZr6Hv90pVXdUHRYR+yxCatX7vSd9rnDUYndqRTzD0hZWAucPNAKg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + '@react-native/community-cli-plugin@0.74.87': resolution: {integrity: sha512-EgJG9lSr8x3X67dHQKQvU6EkO+3ksVlJHYIVv6U/AmW9dN80BEFxgYbSJ7icXS4wri7m4kHdgeq2PQ7/3vvrTQ==} engines: {node: '>=18'} @@ -4820,6 +4782,9 @@ packages: '@react-native/normalize-colors@0.76.5': resolution: {integrity: sha512-6QRLEok1r55gLqj+94mEWUENuU5A6wsr2OoXpyq/CgQ7THWowbHtru/kRGRr6o3AQXrVnZheR60JNgFcpNYIug==} + '@react-native/normalize-colors@0.76.6': + resolution: {integrity: sha512-1n4udXH2Cla31iA/8eLRdhFHpYUYK1NKWCn4m1Sr9L4SarWKAYuRFliK1fcLvPPALCFoFlWvn8I0ekdUOHMzDQ==} + '@react-native/virtualized-lists@0.74.87': resolution: {integrity: sha512-lsGxoFMb0lyK/MiplNKJpD+A1EoEUumkLrCjH4Ht+ZlG8S0BfCxmskLZ6qXn3BiDSkLjfjI/qyZ3pnxNBvkXpQ==} engines: {node: '>=18'} @@ -4847,8 +4812,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/shared@3.26.0': - resolution: {integrity: sha512-6FuPqvhmjjlpEDLTiYx29IJCbCNWPlsyO+ZUmCUXzhUv2ttShOXfw8CmeHWHftT/b2KweAWuzqSlfeXPR76jpw==} + '@react-types/shared@3.27.0': + resolution: {integrity: sha512-gvznmLhi6JPEf0bsq7SwRYTHAKKq/wcmKqFez9sRdbED+SPMUmK5omfZ6w3EwUFQHbYUa4zPBYedQ7Knv70RMw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -4884,11 +4849,11 @@ packages: '@redocly/ajv@8.11.2': resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} - '@redocly/config@0.17.1': - resolution: {integrity: sha512-CEmvaJuG7pm2ylQg53emPmtgm4nW2nxBgwXzbVEHpGas/lGnMyN8Zlkgiz6rPw0unASg6VW3wlz27SOL5XFHYQ==} + '@redocly/config@0.20.3': + resolution: {integrity: sha512-Nyyv1Bj7GgYwj/l46O0nkH1GTKWbO3Ixe7KFcn021aZipkZd+z8Vlu1BwkhqtVgivcKaClaExtWU/lDHkjBzag==} - '@redocly/openapi-core@1.27.1': - resolution: {integrity: sha512-zQ47/A+Drk2Y75/af69MD3Oad4H9LxkUDzcm7XBkyLNDKIWQrDKDnS5476oDq77+zciymNxgMVtxxVXlnGS8kw==} + '@redocly/openapi-core@1.27.2': + resolution: {integrity: sha512-qVrDc27DHpeO2NRCMeRdb4299nijKQE3BY0wrA+WUHlOLScorIi/y7JzammLk22IaTvjR9Mv9aTAdjE1aUwJnA==} engines: {node: '>=14.19.0', npm: '>=7.0.0'} '@resvg/resvg-wasm@2.4.0': @@ -4930,193 +4895,98 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.30.1': - resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} + '@rollup/rollup-android-arm-eabi@4.32.1': + resolution: {integrity: sha512-/pqA4DmqyCm8u5YIDzIdlLcEmuvxb0v8fZdFhVMszSpDTgbQKdw3/mB3eMUHIbubtJ6F9j+LtmyCnHTEqIHyzA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.31.0': - resolution: {integrity: sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.30.1': - resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} + '@rollup/rollup-android-arm64@4.32.1': + resolution: {integrity: sha512-If3PDskT77q7zgqVqYuj7WG3WC08G1kwXGVFi9Jr8nY6eHucREHkfpX79c0ACAjLj3QIWKPJR7w4i+f5EdLH5Q==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.31.0': - resolution: {integrity: sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.30.1': - resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} + '@rollup/rollup-darwin-arm64@4.32.1': + resolution: {integrity: sha512-zCpKHioQ9KgZToFp5Wvz6zaWbMzYQ2LJHQ+QixDKq52KKrF65ueu6Af4hLlLWHjX1Wf/0G5kSJM9PySW9IrvHA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.31.0': - resolution: {integrity: sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.30.1': - resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} + '@rollup/rollup-darwin-x64@4.32.1': + resolution: {integrity: sha512-sFvF+t2+TyUo/ZQqUcifrJIgznx58oFZbdHS9TvHq3xhPVL9nOp+yZ6LKrO9GWTP+6DbFtoyLDbjTpR62Mbr3Q==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.31.0': - resolution: {integrity: sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.30.1': - resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} + '@rollup/rollup-freebsd-arm64@4.32.1': + resolution: {integrity: sha512-NbOa+7InvMWRcY9RG+B6kKIMD/FsnQPH0MWUvDlQB1iXnF/UcKSudCXZtv4lW+C276g3w5AxPbfry5rSYvyeYA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.31.0': - resolution: {integrity: sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.30.1': - resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} + '@rollup/rollup-freebsd-x64@4.32.1': + resolution: {integrity: sha512-JRBRmwvHPXR881j2xjry8HZ86wIPK2CcDw0EXchE1UgU0ubWp9nvlT7cZYKc6bkypBt745b4bglf3+xJ7hXWWw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.31.0': - resolution: {integrity: sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.30.1': - resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} + '@rollup/rollup-linux-arm-gnueabihf@4.32.1': + resolution: {integrity: sha512-PKvszb+9o/vVdUzCCjL0sKHukEQV39tD3fepXxYrHE3sTKrRdCydI7uldRLbjLmDA3TFDmh418XH19NOsDRH8g==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.31.0': - resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==} + '@rollup/rollup-linux-arm-musleabihf@4.32.1': + resolution: {integrity: sha512-9WHEMV6Y89eL606ReYowXuGF1Yb2vwfKWKdD1A5h+OYnPZSJvxbEjxTRKPgi7tkP2DSnW0YLab1ooy+i/FQp/Q==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.30.1': - resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.31.0': - resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.30.1': - resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} + '@rollup/rollup-linux-arm64-gnu@4.32.1': + resolution: {integrity: sha512-tZWc9iEt5fGJ1CL2LRPw8OttkCBDs+D8D3oEM8mH8S1ICZCtFJhD7DZ3XMGM8kpqHvhGUTvNUYVDnmkj4BDXnw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.31.0': - resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==} + '@rollup/rollup-linux-arm64-musl@4.32.1': + resolution: {integrity: sha512-FTYc2YoTWUsBz5GTTgGkRYYJ5NGJIi/rCY4oK/I8aKowx1ToXeoVVbIE4LGAjsauvlhjfl0MYacxClLld1VrOw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.30.1': - resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.31.0': - resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loongarch64-gnu@4.30.1': - resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.32.1': + resolution: {integrity: sha512-F51qLdOtpS6P1zJVRzYM0v6MrBNypyPEN1GfMiz0gPu9jN8ScGaEFIZQwteSsGKg799oR5EaP7+B2jHgL+d+Kw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.31.0': - resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': - resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.32.1': + resolution: {integrity: sha512-wO0WkfSppfX4YFm5KhdCCpnpGbtgQNj/tgvYzrVYFKDpven8w2N6Gg5nB6w+wAMO3AIfSTWeTjfVe+uZ23zAlg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.31.0': - resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.30.1': - resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} + '@rollup/rollup-linux-riscv64-gnu@4.32.1': + resolution: {integrity: sha512-iWswS9cIXfJO1MFYtI/4jjlrGb/V58oMu4dYJIKnR5UIwbkzR0PJ09O0PDZT0oJ3LYWXBSWahNf/Mjo6i1E5/g==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.31.0': - resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.30.1': - resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} + '@rollup/rollup-linux-s390x-gnu@4.32.1': + resolution: {integrity: sha512-RKt8NI9tebzmEthMnfVgG3i/XeECkMPS+ibVZjZ6mNekpbbUmkNWuIN2yHsb/mBPyZke4nlI4YqIdFPgKuoyQQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.31.0': - resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.30.1': - resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} + '@rollup/rollup-linux-x64-gnu@4.32.1': + resolution: {integrity: sha512-WQFLZ9c42ECqEjwg/GHHsouij3pzLXkFdz0UxHa/0OM12LzvX7DzedlY0SIEly2v18YZLRhCRoHZDxbBSWoGYg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.31.0': - resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==} + '@rollup/rollup-linux-x64-musl@4.32.1': + resolution: {integrity: sha512-BLoiyHDOWoS3uccNSADMza6V6vCNiphi94tQlVIL5de+r6r/CCQuNnerf+1g2mnk2b6edp5dk0nhdZ7aEjOBsA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.30.1': - resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.31.0': - resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.30.1': - resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} + '@rollup/rollup-win32-arm64-msvc@4.32.1': + resolution: {integrity: sha512-w2l3UnlgYTNNU+Z6wOR8YdaioqfEnwPjIsJ66KxKAf0p+AuL2FHeTX6qvM+p/Ue3XPBVNyVSfCrfZiQh7vZHLQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.31.0': - resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.30.1': - resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} + '@rollup/rollup-win32-ia32-msvc@4.32.1': + resolution: {integrity: sha512-Am9H+TGLomPGkBnaPWie4F3x+yQ2rr4Bk2jpwy+iV+Gel9jLAu/KqT8k3X4jxFPW6Zf8OMnehyutsd+eHoq1WQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.31.0': - resolution: {integrity: sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.30.1': - resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.31.0': - resolution: {integrity: sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==} + '@rollup/rollup-win32-x64-msvc@4.32.1': + resolution: {integrity: sha512-ar80GhdZb4DgmW3myIS9nRFYcpJRSME8iqWgzH2i44u+IdrzmiXVxeFnExQ5v4JYUSpg94bWjevMG8JHf1Da5Q==} cpu: [x64] os: [win32] @@ -5633,8 +5503,8 @@ packages: '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} - '@storybook/icons@1.3.0': - resolution: {integrity: sha512-Nz/UzeYQdUZUhacrPyfkiiysSjydyjgg/p0P9HxB4p/WaJUUjMAcaoaLgy3EXx61zZJ3iD36WPuDkZs5QYrA0A==} + '@storybook/icons@1.3.2': + resolution: {integrity: sha512-t3xcbCKkPvqyef8urBM0j/nP6sKtnlRkVgC+8JTbTAZQjaTmOjes3byEgzs89p4B/K6cJsg9wLW2k3SknLtYJw==} engines: {node: '>=14.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta @@ -5740,8 +5610,8 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/react-virtual@3.11.2': - resolution: {integrity: sha512-OuFzMXPF4+xZgx8UzJha0AieuMihhhaWG0tCqpp6tDzlFwOmNBPYMuLOtMJ1Tr4pXLHmgjcWhG6RlknY2oNTdQ==} + '@tanstack/react-virtual@3.11.3': + resolution: {integrity: sha512-vCU+OTylXN3hdC8RKg68tPlBPjjxtzon7Ys46MgrSLE+JhSjSTPvoQifV6DQJeJmA8Q3KT6CphJbejupx85vFw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -5750,8 +5620,8 @@ packages: resolution: {integrity: sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==} engines: {node: '>=12'} - '@tanstack/virtual-core@3.11.2': - resolution: {integrity: sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==} + '@tanstack/virtual-core@3.11.3': + resolution: {integrity: sha512-v2mrNSnMwnPJtcVqNvV0c5roGCBqeogN8jDtgtuHCphdwBasOZ17x8UV8qpHUh+u0MLfX43c0uUHKje0s+Zb0w==} '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} @@ -5904,8 +5774,8 @@ packages: '@types/mime-types@2.1.4': resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} - '@types/ms@0.7.34': - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} '@types/mysql@2.15.26': resolution: {integrity: sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==} @@ -5916,15 +5786,12 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.70': - resolution: {integrity: sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==} + '@types/node@18.19.74': + resolution: {integrity: sha512-HMwEkkifei3L605gFdV+/UwtpxP6JSzM+xFk2Ia6DNFSwSVBRh9qp5Tgf4lNFOMfPVuU0WnkcWpXZpgn5ufO4A==} '@types/node@22.10.2': resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} - '@types/node@22.12.0': - resolution: {integrity: sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==} - '@types/nodemailer@6.4.17': resolution: {integrity: sha512-I9CCaIp6DTldEg7vyUTZi8+9Vo0hi1/T8gv3C89yk1rSAAzoKQ8H8ki/jBYJSFoH/BisgLP8tkZMlQ91CIquww==} @@ -5960,6 +5827,9 @@ packages: '@types/react@18.3.11': resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} + '@types/react@18.3.18': + resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==} + '@types/react@19.0.1': resolution: {integrity: sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==} @@ -5999,8 +5869,8 @@ packages: '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - '@types/ws@8.5.13': - resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + '@types/ws@8.5.14': + resolution: {integrity: sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==} '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -6059,8 +5929,8 @@ packages: resolution: {integrity: sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.19.1': - resolution: {integrity: sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==} + '@typescript-eslint/scope-manager@8.22.0': + resolution: {integrity: sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@7.18.0': @@ -6092,8 +5962,8 @@ packages: resolution: {integrity: sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.19.1': - resolution: {integrity: sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==} + '@typescript-eslint/types@8.22.0': + resolution: {integrity: sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@5.62.0': @@ -6120,8 +5990,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/typescript-estree@8.19.1': - resolution: {integrity: sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==} + '@typescript-eslint/typescript-estree@8.22.0': + resolution: {integrity: sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' @@ -6145,8 +6015,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.19.1': - resolution: {integrity: sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==} + '@typescript-eslint/utils@8.22.0': + resolution: {integrity: sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -6164,8 +6034,8 @@ packages: resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.19.1': - resolution: {integrity: sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==} + '@typescript-eslint/visitor-keys@8.22.0': + resolution: {integrity: sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.1': @@ -6251,12 +6121,24 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + '@vitest/coverage-v8@2.1.8': + resolution: {integrity: sha512-2Y7BPlKH18mAZYAW1tYByudlCYrQyl5RGvnnDYJKW5tCiO5qg3KSAy3XAxcxKz900a0ZXxWtKrMuZLe3lKBpJw==} + peerDependencies: + '@vitest/browser': 2.1.8 + vitest: 2.1.8 + peerDependenciesMeta: + '@vitest/browser': + optional: true + '@vitest/expect@2.0.5': resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} '@vitest/expect@2.1.8': resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} + '@vitest/expect@3.0.4': + resolution: {integrity: sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==} + '@vitest/mocker@2.1.8': resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} peerDependencies: @@ -6268,30 +6150,56 @@ packages: vite: optional: true + '@vitest/mocker@3.0.4': + resolution: {integrity: sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + '@vitest/pretty-format@2.0.5': resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} '@vitest/pretty-format@2.1.8': resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} + '@vitest/pretty-format@3.0.4': + resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==} + '@vitest/runner@2.1.8': resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} + '@vitest/runner@3.0.4': + resolution: {integrity: sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==} + '@vitest/snapshot@2.1.8': resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} + '@vitest/snapshot@3.0.4': + resolution: {integrity: sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==} + '@vitest/spy@2.0.5': resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} '@vitest/spy@2.1.8': resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} + '@vitest/spy@3.0.4': + resolution: {integrity: sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==} + '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} '@vitest/utils@2.1.8': resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} + '@vitest/utils@3.0.4': + resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==} + '@volar/language-core@2.4.11': resolution: {integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==} @@ -6491,8 +6399,8 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch@5.19.0: - resolution: {integrity: sha512-zrLtGhC63z3sVLDDKGW+SlCRN9eJHFTgdEmoAOpsVh6wgGL1GgTTDou7tpCBjevzgIvi3AIyDAQO3Xjbg5eqZg==} + algoliasearch@5.20.0: + resolution: {integrity: sha512-groO71Fvi5SWpxjI9Ia+chy0QBwT61mg6yxJV27f5YFf+Mw+STT75K6SHySpP8Co5LsCrtsbCH5dJZSRtkSKaQ==} engines: {node: '>= 14.0.0'} anser@1.4.10: @@ -6675,6 +6583,10 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} @@ -6769,8 +6681,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - babel-preset-expo@12.0.5: - resolution: {integrity: sha512-rEFjN1CoMYEWSRpE+Hvw+zv+nLbDXyRM8vGAoYJtFPJovHupX2VRWPVaqtHlnMTrzsGFQDf4WfQJrjAQ9e2hAQ==} + babel-preset-expo@12.0.6: + resolution: {integrity: sha512-az3H7gDVo0wxNBAFES8h5vLLWE8NPGkD9g5P962hDEOqZUdyPacb9MOzicypeLmcq9zQWr6E3iVtEHoNagCTTQ==} peerDependencies: babel-plugin-react-compiler: ^19.0.0-beta-9ee70a1-20241017 react-compiler-runtime: ^19.0.0-beta-8a03594-20241020 @@ -7017,8 +6929,8 @@ packages: camelize@1.0.1: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - caniuse-lite@1.0.30001692: - resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} + caniuse-lite@1.0.30001696: + resolution: {integrity: sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -7112,8 +7024,8 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - chromatic@11.22.2: - resolution: {integrity: sha512-Z7+9hD1yp1fUm34XX1wojIco0lQlXOVYhzDSE8v1ZU6qLD2r4N6UHKD+N+XY1Jj+gpsDFWYMTpSnDfcHZf5mhg==} + chromatic@11.25.1: + resolution: {integrity: sha512-D0NdcGOSy84hqgNnSY7FM4TzB77RymRTowjm4hb1CV4wbk1djKTV4SJbbYVCzHFD+n/NOg/wtZ9Y7sjiRdy8dA==} hasBin: true peerDependencies: '@chromatic-com/cypress': ^0.*.* || ^1.0.0 @@ -7351,8 +7263,8 @@ packages: resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} engines: {node: '>= 0.10.0'} - consola@3.3.3: - resolution: {integrity: sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==} + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} engines: {node: ^14.18.0 || >=16.10.0} console-browserify@1.2.0: @@ -7561,8 +7473,8 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} decko@1.2.0: resolution: {integrity: sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==} @@ -7766,8 +7678,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.80: - resolution: {integrity: sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw==} + electron-to-chromium@1.5.88: + resolution: {integrity: sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==} elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -7875,10 +7787,6 @@ packages: es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - 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'} @@ -8250,33 +8158,33 @@ packages: resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} engines: {node: '>=12.0.0'} - expo-asset@11.0.1: - resolution: {integrity: sha512-WatvD7JVC89EsllXFYcS/rji3ajVzE2B/USo0TqedsETixwyVCQfrrvCdCPQyuKghrxVNEj8bQ/Qbea/RZLYjg==} + expo-asset@11.0.2: + resolution: {integrity: sha512-We3Td5WsNsNQyXoheLnuwic6JCOt/pqXqIIyWaZ3z/PeHrA+SwoQdI18MjDhkudLK08tbIVyDSUW8IJHXa04eg==} peerDependencies: expo: '*' react: '*' react-native: '*' - expo-constants@17.0.3: - resolution: {integrity: sha512-lnbcX2sAu8SucHXEXxSkhiEpqH+jGrf+TF+MO6sHWIESjwOUVVYlT8qYdjR9xbxWmqFtrI4KV44FkeJf2DaFjQ==} + expo-constants@17.0.5: + resolution: {integrity: sha512-6SHXh32jCB+vrp2TRDNkoGoM421eOBPZIXX9ixI0hKKz71tIjD+LMr/P+rGUd/ks312MP3WK3j5vcYYPkCD8tQ==} peerDependencies: expo: '*' react-native: '*' - expo-file-system@18.0.6: - resolution: {integrity: sha512-gGEwIJCXV3/wpIJ/wRyhmieLOSAY7HeFFjb+wEfHs04aE63JYR+rXXV4b7rBpEh1ZgNV9U91zfet/iQG7J8HBQ==} + expo-file-system@18.0.7: + resolution: {integrity: sha512-6PpbQfogMXdzOsJzlJayy5qf40IfIHhudtAOzr32RlRYL4Hkmk3YcR9jG0PWQ0rklJfAhbAdP63yOcN+wDgzaA==} peerDependencies: expo: '*' react-native: '*' - expo-font@13.0.2: - resolution: {integrity: sha512-H9FaXM7ZW5+EfV38w80BgJG3H17kB7CuVXwHoiszIYyoPfWz9bWesFe4QwNZjTq3pzKes28sSd8irFuflIrSIA==} + expo-font@13.0.3: + resolution: {integrity: sha512-9IdYz+A+b3KvuCYP7DUUXF4VMZjPU+IsvAnLSVJ2TfP6zUD2JjZFx3jeo/cxWRkYk/aLj5+53Te7elTAScNl4Q==} peerDependencies: expo: '*' react: '*' - expo-keep-awake@14.0.1: - resolution: {integrity: sha512-c5mGCAIk2YM+Vsdy90BlEJ4ZX+KG5Au9EkJUIxXWlpnuKmDAJ3N+5nEZ7EUO1ZTheqoSBeAo4jJ8rTWPU+JXdw==} + expo-keep-awake@14.0.2: + resolution: {integrity: sha512-71XAMnoWjKZrN8J7Q3+u0l9Ytp4OfhNAYz8BCWF1/9aFUw09J3I7Z5DuI3MUsVMa/KWi+XhG+eDUFP8cVA19Uw==} peerDependencies: expo: '*' react: '*' @@ -8350,8 +8258,8 @@ packages: fast-shallow-equal@1.0.0: resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} - fast-uri@3.0.5: - resolution: {integrity: sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==} + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} fast-write-atomic@0.2.1: resolution: {integrity: sha512-WvJe06IfNYlr+6cO3uQkdKdy3Cb1LlCJSF8zRs2eT8yuhdbSlR9nIt+TgQ92RUxiRrQm+/S7RARnMfCs5iuAjw==} @@ -8382,14 +8290,6 @@ packages: fbjs@3.0.5: resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} - fdir@6.4.2: - resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - fdir@6.4.3: resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} peerDependencies: @@ -8466,8 +8366,8 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - flow-parser@0.258.1: - resolution: {integrity: sha512-Y8CrO98EcXVCiYE4s5z0LTMbeYjKyd3MAEUJqxA7B8yGRlmdrG5UDqq4pVrUAfAu2tMFgpQESvBhBu9Xg1tpow==} + flow-parser@0.259.1: + resolution: {integrity: sha512-xiXLmMH2Z7OmdE9Q+MjljUMr/rbemFqZIRxaeZieVScG4HzQrKKhNcCYZbWTGpoN7ZPi7z8ClQbeVPq6t5AszQ==} engines: {node: '>=0.4.0'} follow-redirects@1.15.9: @@ -8482,8 +8382,9 @@ packages: fontfaceobserver@2.3.0: resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.4: + resolution: {integrity: sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==} + engines: {node: '>= 0.4'} foreach@2.0.6: resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} @@ -8660,8 +8561,8 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.8.1: - resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} get-user-locale@2.3.2: resolution: {integrity: sha512-O2GWvQkhnbDoWFUJfaBlDIKUEdND8ATpBXD6KXcbhxlfktyD/d8w6mkzM/IlQEqGZAMz/PW6j6Hv53BiigKLUQ==} @@ -8734,8 +8635,8 @@ packages: peerDependencies: csstype: ^3.0.10 - google-auth-library@9.15.0: - resolution: {integrity: sha512-7ccSEJFDFO7exFbO6NRyC+xH8/mZ1GZGG2xxx9iHxZWcjUjJpjWxIMw3cofAKcueZ6DATiukmmprD7yavQHOyQ==} + google-auth-library@9.15.1: + resolution: {integrity: sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng==} engines: {node: '>=14'} googleapis-common@7.2.0: @@ -8889,6 +8790,9 @@ packages: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-to-text@9.0.5: resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} engines: {node: '>=14'} @@ -9033,8 +8937,8 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - intl-messageformat@10.7.11: - resolution: {integrity: sha512-IB2N1tmI24k2EFH3PWjU7ivJsnWyLwOWOva0jnXFa29WzB6fb0JZ5EMQGu+XN5lDtjHYFo0/UooP67zBwUg7rQ==} + intl-messageformat@10.7.14: + resolution: {integrity: sha512-mMGnE4E1otdEutV5vLUdCxRJygHB5ozUBxsPB5qhitewssrS/qGruq9bmvIRkkGsNeK5ZWLfYRld18UHGTIifQ==} invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -9077,8 +8981,8 @@ packages: is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - is-async-function@2.1.0: - resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} is-bigint@1.1.0: @@ -9337,6 +9241,18 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + iterator.prototype@1.1.5: resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} engines: {node: '>= 0.4'} @@ -9569,8 +9485,8 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - langfuse-core@3.32.0: - resolution: {integrity: sha512-8wWnPtmhMBBgVicLR9SjQ1O29fgvTJyRDE5kaF8b908TvE0PXZmxs068GGhLCCdTMUGpU6WXqKRHTZfXAuIzXA==} + langfuse-core@3.33.1: + resolution: {integrity: sha512-RW+pDwYVSpJTfht4i7IfbNm5HoMAytZ1+LBjjMsdlsrWlZm23siWRWOGS/xcDk5kDNWa0qHIAkjC/nnDa8dObQ==} engines: {node: '>=18'} langfuse-vercel@3.31.3: @@ -9579,8 +9495,8 @@ packages: peerDependencies: ai: '>=3.2.44' - langfuse@3.32.0: - resolution: {integrity: sha512-Qto8+CW8ZulNaZ/gn4JgVe5v/yeKbvMyvQ/s2DXO5bP5o1PmqE6YOCHQ3Uep6W94B8kpXUgOHg7ZS5Wg8Xljsw==} + langfuse@3.33.1: + resolution: {integrity: sha512-FIxZZpB3236u+iNsAYx2ikGtVDE6Ozvq+A79addNIeEZ+4yWHIFpQSz+Spqss5SeL5BUZaZ5hfX7FK6v859OLQ==} engines: {node: '>=18'} language-subtag-registry@0.3.23: @@ -9831,8 +9747,8 @@ packages: lottie-web@5.12.2: resolution: {integrity: sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==} - loupe@3.1.2: - resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + loupe@3.1.3: + resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -9878,6 +9794,9 @@ packages: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} + magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -9886,6 +9805,10 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -9976,8 +9899,8 @@ packages: mdast-util-mdx-expression@2.0.1: resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - mdast-util-mdx-jsx@3.1.3: - resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} mdast-util-mdx@3.0.0: resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} @@ -10158,8 +10081,8 @@ packages: micromark-extension-gfm-strikethrough@2.1.0: resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - micromark-extension-gfm-table@2.1.0: - resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} micromark-extension-gfm-tagfilter@2.0.0: resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} @@ -10239,8 +10162,8 @@ packages: micromark-util-sanitize-uri@2.0.1: resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - micromark-util-subtokenize@2.0.3: - resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} + micromark-util-subtokenize@2.0.4: + resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} @@ -10394,8 +10317,8 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.7.3: - resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} mobx-react-lite@4.1.0: resolution: {integrity: sha512-QEP10dpHHBeQNv1pks3WnHRCem2Zp636lq54M2nKO2Sarr13pL4u6diQXf65yzXUn0mkk18SyIDCm9UOJYTi1w==} @@ -10432,11 +10355,11 @@ packages: moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - motion-dom@11.16.4: - resolution: {integrity: sha512-2wuCie206pCiP2K23uvwJeci4pMFfyQKpWI0Vy6HrCTDzDCer4TsYtT7IVnuGbDeoIV37UuZiUr6SZMHEc1Vww==} + motion-dom@11.18.1: + resolution: {integrity: sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw==} - motion-utils@11.16.0: - resolution: {integrity: sha512-ngdWPjg31rD4WGXFi0eZ00DQQqKKu04QExyv/ymlC+3k+WIgYVFbt6gS5JsFPbJODTF/r8XiE/X+SsoT9c0ocw==} + motion-utils@11.18.1: + resolution: {integrity: sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA==} mqtt-packet@6.10.0: resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} @@ -11057,6 +10980,9 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.2: + resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} + pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} @@ -11129,8 +11055,8 @@ packages: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} engines: {node: '>=10'} - pkg-types@1.3.0: - resolution: {integrity: sha512-kS7yWjVFCkIw9hqdJBoMxDdzEngmkr5FXeWZZfQ6GoYacjVnsW6l2CcYW/0ThD0vF4LPJgVYnrg4d0uuhwYQbg==} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} playwright-core@1.49.1: resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==} @@ -11241,10 +11167,6 @@ packages: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.1: - resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} - engines: {node: ^10 || ^12 || >=14} - postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} @@ -11280,8 +11202,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-packagejson@2.5.6: - resolution: {integrity: sha512-TY7KiLtyt6Tlf53BEbXUWkN0+TRdHKgIMmtXtDCyHH6yWnZ50Lwq6Vb6lyjapZrhDTXooC4EtlY5iLe1sCgi5w==} + prettier-plugin-packagejson@2.5.8: + resolution: {integrity: sha512-BaGOF63I0IJZoudxpuQe17naV93BRtK8b3byWktkJReKEMX9CC4qdGUzThPDVO/AUhPzlqDiAXbp18U6X8wLKA==} peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: @@ -11479,8 +11401,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - qs@6.13.1: - resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} querystring-es3@0.2.1: @@ -11572,8 +11494,8 @@ packages: peerDependencies: typescript: '>= 4.3.x' - react-docgen@7.1.0: - resolution: {integrity: sha512-APPU8HB2uZnpl6Vt/+0AFoVYgSRtfiP6FLrZgPPTDmqSb2R4qZRbgd0A3VzIFxDt5e+Fozjx79WjLWnF69DK8g==} + react-docgen@7.1.1: + resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==} engines: {node: '>=16.14.0'} react-dom@18.3.1: @@ -11786,9 +11708,9 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - readdirp@4.0.2: - resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} - engines: {node: '>= 14.16.0'} + readdirp@4.1.1: + resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} + engines: {node: '>= 14.18.0'} readline@1.3.0: resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} @@ -11934,10 +11856,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-in-the-middle@7.4.0: - resolution: {integrity: sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==} - engines: {node: '>=8.6.0'} - require-in-the-middle@7.5.0: resolution: {integrity: sha512-/Tvpny/RVVicqlYTKwt/GtpZRsPG1CmJNhxVKGz+Sy/4MONfXCVNK69MFgGKdUt0/324q3ClI2dICcPgISrC8g==} engines: {node: '>=8.6.0'} @@ -12047,13 +11965,8 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.30.1: - resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rollup@4.31.0: - resolution: {integrity: sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==} + rollup@4.32.1: + resolution: {integrity: sha512-z+aeEsOeEa3mEbS1Tjl6sAZ8NE3+AalQz1RJGj81M+fizusbdDMoEJwdJNHfaB40Scr4qNu+welOfes7maKonA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -12350,8 +12263,8 @@ packages: sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - sort-package-json@2.12.0: - resolution: {integrity: sha512-/HrPQAeeLaa+vbAH/znjuhwUluuiM/zL5XX9kop8UpDgjtyWKt43hGDk2vd/TBdDpzIyzIHVUgmYofzYrAQjew==} + sort-package-json@2.14.0: + resolution: {integrity: sha512-xBRdmMjFB/KW3l51mP31dhlaiFmqkHLfWTfZAno8prb/wbDxwBPWFpxB16GZbiPbYr3wL41H8Kx22QIDWRe8WQ==} hasBin: true source-map-js@1.2.1: @@ -12399,8 +12312,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.20: - resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} @@ -12624,8 +12537,8 @@ packages: stylis@4.3.2: resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} - stylis@4.3.4: - resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} + stylis@4.3.5: + resolution: {integrity: sha512-K7npNOKGRYuhAFFzkzMGfxFDpN6gDwf8hcMiE+uveTVbBgm93HrNP3ZDUpKqzZ4pG7TP6fmb+EMAQPjq9FqqvA==} sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} @@ -12764,6 +12677,10 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} + test-exclude@7.0.1: + resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} + engines: {node: '>=18'} + text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -12823,15 +12740,19 @@ packages: resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} + engines: {node: '>=14.0.0'} + tinyspy@3.0.2: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tldts-core@6.1.71: - resolution: {integrity: sha512-LRbChn2YRpic1KxY+ldL1pGXN/oVvKfCVufwfVzEQdFYNo39uF7AJa/WXdo+gYO7PTvdfkCPCed6Hkvz/kR7jg==} + tldts-core@6.1.75: + resolution: {integrity: sha512-AOvV5YYIAFFBfransBzSTyztkc3IMfz5Eq3YluaRiEu55nn43Fzaufx70UqEKYr8BoLCach4q8g/bg6e5+/aFw==} - tldts@6.1.71: - resolution: {integrity: sha512-LQIHmHnuzfZgZWAf2HzL83TIIrD8NhhI0DVxqo9/FdOd4ilec+NTNZOlDZf7EwrTNoutccbsHjvWHYXLAtvxjw==} + tldts@6.1.75: + resolution: {integrity: sha512-+lFzEXhpl7JXgWYaXcB6DqTYXbUArvrWAE/5ioq/X3CdWLbDjpPP4XTrQBmEJ91y3xbe4Fkw7Lxv4P3GWeJaNg==} hasBin: true tmp@0.0.33: @@ -13113,10 +13034,6 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - undici@6.21.0: - resolution: {integrity: sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==} - engines: {node: '>=18.17'} - undici@6.21.1: resolution: {integrity: sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==} engines: {node: '>=18.17'} @@ -13328,6 +13245,11 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-node@3.0.4: + resolution: {integrity: sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + vite-plugin-dts@4.3.0: resolution: {integrity: sha512-LkBJh9IbLwL6/rxh0C1/bOurDrIEmRE7joC+jFdOEEciAFPbpEKOLSAr5nNh5R7CJ45cMbksTrFfy52szzC5eA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -13453,6 +13375,34 @@ packages: jsdom: optional: true + vitest@3.0.4: + resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.0.4 + '@vitest/ui': 3.0.4 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/debug': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vlq@1.0.1: resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} @@ -13740,8 +13690,8 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yjs@13.6.21: - resolution: {integrity: sha512-/fzzyeCAfr3Qwx1D71zvumm64x+Q5MEFel6EhWlA1IBFxWPb7tei4J2a8CJyjpYHfVrRij5q3RJTK9W2Iqjouw==} + yjs@13.6.23: + resolution: {integrity: sha512-ExtnT5WIOVpkL56bhLeisG/N5c4fmzKn4k0ROVfJa5TY2QHbH7F0Wu2T5ZhR7ErsFWQEFafyrnSI8TPKVF9Few==} engines: {node: '>=16.0.0', npm: '>=8.0.0'} yn@3.1.1: @@ -13838,132 +13788,132 @@ snapshots: optionalDependencies: zod: 3.24.1 - '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-core@1.17.8(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.17.8(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.8(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.8(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.8(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.8(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-plugin-algolia-insights@1.17.8(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.8(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-shared': 1.17.8(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) + '@algolia/autocomplete-shared': 1.17.8(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) - '@algolia/client-search': 5.19.0 - algoliasearch: 5.19.0 + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) + '@algolia/client-search': 5.20.0 + algoliasearch: 5.20.0 - '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)': dependencies: - '@algolia/client-search': 5.19.0 - algoliasearch: 5.19.0 + '@algolia/client-search': 5.20.0 + algoliasearch: 5.20.0 - '@algolia/autocomplete-shared@1.17.8(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': + '@algolia/autocomplete-shared@1.17.8(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)': dependencies: - '@algolia/client-search': 5.19.0 - algoliasearch: 5.19.0 + '@algolia/client-search': 5.20.0 + algoliasearch: 5.20.0 - '@algolia/client-abtesting@5.19.0': + '@algolia/client-abtesting@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/client-analytics@5.19.0': + '@algolia/client-analytics@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/client-common@5.19.0': {} + '@algolia/client-common@5.20.0': {} - '@algolia/client-insights@5.19.0': + '@algolia/client-insights@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/client-personalization@5.19.0': + '@algolia/client-personalization@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/client-query-suggestions@5.19.0': + '@algolia/client-query-suggestions@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/client-search@5.19.0': + '@algolia/client-search@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/ingestion@1.19.0': + '@algolia/ingestion@1.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/monitoring@1.19.0': + '@algolia/monitoring@1.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/recommend@5.19.0': + '@algolia/recommend@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 - '@algolia/requester-browser-xhr@5.19.0': + '@algolia/requester-browser-xhr@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 + '@algolia/client-common': 5.20.0 - '@algolia/requester-fetch@5.19.0': + '@algolia/requester-fetch@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 + '@algolia/client-common': 5.20.0 - '@algolia/requester-node-http@5.19.0': + '@algolia/requester-node-http@5.20.0': dependencies: - '@algolia/client-common': 5.19.0 + '@algolia/client-common': 5.20.0 '@alloc/quick-lru@5.2.0': {} @@ -13974,13 +13924,13 @@ snapshots: '@antfu/ni@0.21.4': {} - '@asamuzakjp/css-color@2.8.2': + '@asamuzakjp/css-color@2.8.3': dependencies: '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) '@csstools/css-color-parser': 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-tokenizer': 3.0.3 - lru-cache: 11.0.2 + lru-cache: 10.4.3 '@aws-crypto/crc32@5.2.0': dependencies: @@ -14595,7 +14545,7 @@ snapshots: fast-xml-parser: 4.5.1 tslib: 2.8.1 - '@azure/identity@4.5.0': + '@azure/identity@4.6.0': dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.9.0 @@ -14604,7 +14554,7 @@ snapshots: '@azure/core-tracing': 1.2.0 '@azure/core-util': 1.11.0 '@azure/logger': 1.1.4 - '@azure/msal-browser': 3.28.0 + '@azure/msal-browser': 4.0.2 '@azure/msal-node': 2.16.2 events: 3.3.0 jws: 4.0.0 @@ -14621,7 +14571,7 @@ snapshots: '@azure/microsoft-playwright-testing@1.0.0-beta.6(@playwright/test@1.49.1)': dependencies: '@azure/core-rest-pipeline': 1.18.2 - '@azure/identity': 4.5.0 + '@azure/identity': 4.6.0 '@azure/logger': 1.1.4 '@azure/storage-blob': 12.26.0 '@playwright/test': 1.49.1 @@ -14629,12 +14579,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/msal-browser@3.28.0': + '@azure/msal-browser@4.0.2': dependencies: - '@azure/msal-common': 14.16.0 + '@azure/msal-common': 15.0.2 '@azure/msal-common@14.16.0': {} + '@azure/msal-common@15.0.2': {} + '@azure/msal-node@2.16.2': dependencies: '@azure/msal-common': 14.16.0 @@ -14669,37 +14621,15 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.3': {} - '@babel/compat-data@7.26.5': {} '@babel/core@7.26.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.26.7': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 '@babel/generator': 7.26.5 '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helpers': 7.26.7 '@babel/parser': 7.26.7 '@babel/template': 7.25.9 @@ -14713,7 +14643,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/eslint-parser@7.25.9(@babel/core@7.26.0)(eslint@8.57.0)': + '@babel/eslint-parser@7.26.5(@babel/core@7.26.0)(eslint@8.57.0)': dependencies: '@babel/core': 7.26.0 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 @@ -14721,14 +14651,6 @@ snapshots: eslint-visitor-keys: 2.1.0 semver: 6.3.1 - '@babel/generator@7.26.3': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - '@babel/generator@7.26.5': dependencies: '@babel/parser': 7.26.7 @@ -14739,15 +14661,7 @@ snapshots: '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-compilation-targets@7.25.9': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.4 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/types': 7.26.7 '@babel/helper-compilation-targets@7.26.5': dependencies: @@ -14763,9 +14677,9 @@ snapshots: '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -14781,7 +14695,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 debug: 4.4.0 lodash.debounce: 4.0.8 resolve: 1.22.10 @@ -14794,15 +14708,15 @@ snapshots: '@babel/helper-member-expression-to-functions@7.25.9': dependencies: - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color @@ -14811,16 +14725,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.7)': - dependencies: - '@babel/core': 7.26.7 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -14828,8 +14733,6 @@ snapshots: dependencies: '@babel/types': 7.26.7 - '@babel/helper-plugin-utils@7.25.9': {} - '@babel/helper-plugin-utils@7.26.5': {} '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': @@ -14837,16 +14740,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -14861,7 +14755,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color @@ -14875,16 +14769,11 @@ snapshots: '@babel/helper-wrap-function@7.25.9': dependencies: '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color - '@babel/helpers@7.26.0': - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - '@babel/helpers@7.26.7': dependencies: '@babel/template': 7.25.9 @@ -14897,14 +14786,6 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/parser@7.26.3': - dependencies: - '@babel/types': 7.26.3 - - '@babel/parser@7.26.5': - dependencies: - '@babel/types': 7.26.7 - '@babel/parser@7.26.7': dependencies: '@babel/types': 7.26.7 @@ -14948,7 +14829,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) transitivePeerDependencies: @@ -14958,7 +14839,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -14966,7 +14847,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) transitivePeerDependencies: - supports-color @@ -14974,45 +14855,45 @@ snapshots: '@babel/plugin-proposal-export-default-from@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.26.0)': dependencies: - '@babel/compat-data': 7.26.3 + '@babel/compat-data': 7.26.5 '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) transitivePeerDependencies: @@ -15025,42 +14906,42 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-export-default-from@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': dependencies: @@ -15070,72 +14951,67 @@ snapshots: '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.7)': - dependencies: - '@babel/core': 7.26.7 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': dependencies: @@ -15146,14 +15022,14 @@ snapshots: '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -15161,7 +15037,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) transitivePeerDependencies: - supports-color @@ -15174,13 +15050,13 @@ snapshots: '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -15196,10 +15072,10 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) + '@babel/traverse': 7.26.7 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -15207,13 +15083,13 @@ snapshots: '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/template': 7.25.9 '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': dependencies: @@ -15245,18 +15121,18 @@ snapshots: '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-flow-strip-types@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-flow-strip-types@7.26.5(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.0) '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -15264,9 +15140,9 @@ snapshots: '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -15278,12 +15154,12 @@ snapshots: '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': dependencies: @@ -15302,7 +15178,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -15328,18 +15204,13 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -15348,13 +15219,13 @@ snapshots: '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': @@ -15368,12 +15239,12 @@ snapshots: '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -15381,13 +15252,13 @@ snapshots: '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -15396,7 +15267,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -15408,7 +15279,7 @@ snapshots: '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.0)': dependencies: @@ -15417,42 +15288,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.7)': - dependencies: - '@babel/core': 7.26.7 - '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.7) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.7)': - dependencies: - '@babel/core': 7.26.7 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.7) - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color @@ -15460,12 +15313,12 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 regenerator-transform: 0.15.2 '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': @@ -15483,7 +15336,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) @@ -15494,12 +15347,12 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -15507,7 +15360,7 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': dependencies: @@ -15519,12 +15372,12 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-typescript@7.26.3(@babel/core@7.26.0)': + '@babel/plugin-transform-typescript@7.26.7(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) transitivePeerDependencies: @@ -15545,7 +15398,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': dependencies: @@ -15553,7 +15406,7 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 - '@babel/preset-env@7.26.0(@babel/core@7.26.0)': + '@babel/preset-env@7.26.7(@babel/core@7.26.0)': dependencies: '@babel/compat-data': 7.26.5 '@babel/core': 7.26.0 @@ -15631,9 +15484,9 @@ snapshots: '@babel/preset-flow@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-transform-flow-strip-types': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.0) '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': dependencies: @@ -15645,7 +15498,7 @@ snapshots: '@babel/preset-react@7.26.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) @@ -15657,11 +15510,11 @@ snapshots: '@babel/preset-typescript@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) - '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.26.7(@babel/core@7.26.0) transitivePeerDependencies: - supports-color @@ -15674,27 +15527,15 @@ snapshots: pirates: 4.0.6 source-map-support: 0.5.21 - '@babel/runtime@7.26.0': + '@babel/runtime@7.26.7': dependencies: regenerator-runtime: 0.14.1 '@babel/template@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - - '@babel/traverse@7.26.4': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - debug: 4.4.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 '@babel/traverse@7.26.7': dependencies: @@ -15708,21 +15549,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.26.3': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@babel/types@7.26.5': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/types@7.26.7': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@bcoe/v8-coverage@0.2.3': {} + '@calcom/embed-core@1.5.1': {} '@calcom/embed-react@1.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': @@ -15747,7 +15580,7 @@ snapshots: react-is: 18.3.1 react-shallow-renderer: 16.15.0(react@19.0.0) - '@changesets/apply-release-plan@7.0.7': + '@changesets/apply-release-plan@7.0.8': dependencies: '@changesets/config': 3.0.5 '@changesets/get-version-range-type': 0.4.0 @@ -15778,7 +15611,7 @@ snapshots: '@changesets/cli@2.27.10': dependencies: - '@changesets/apply-release-plan': 7.0.7 + '@changesets/apply-release-plan': 7.0.8 '@changesets/assemble-release-plan': 6.0.5 '@changesets/changelog-git': 0.2.0 '@changesets/config': 3.0.5 @@ -15891,7 +15724,7 @@ snapshots: '@chromatic-com/storybook@3.2.2(react@19.0.0)(storybook@8.4.7(prettier@3.4.2))': dependencies: - chromatic: 11.22.2 + chromatic: 11.25.1 filesize: 10.1.6 jsonfile: 6.1.0 react-confetti: 6.1.0(react@19.0.0) @@ -15964,14 +15797,14 @@ snapshots: '@docsearch/css@3.8.0': {} - '@docsearch/css@3.8.2': {} + '@docsearch/css@3.8.3': {} - '@docsearch/react@3.8.0(@algolia/client-search@5.19.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.17.3)': + '@docsearch/react@3.8.0(@algolia/client-search@5.20.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) '@docsearch/css': 3.8.0 - algoliasearch: 5.19.0 + algoliasearch: 5.20.0 optionalDependencies: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -16312,19 +16145,19 @@ snapshots: '@expo/cli@0.22.5(encoding@0.1.13)': dependencies: '@0no-co/graphql.web': 1.0.13 - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@expo/code-signing-certificates': 0.0.5 - '@expo/config': 10.0.7 - '@expo/config-plugins': 9.0.13 + '@expo/config': 10.0.8 + '@expo/config-plugins': 9.0.14 '@expo/devcert': 1.1.4 - '@expo/env': 0.4.0 - '@expo/image-utils': 0.6.3 - '@expo/json-file': 9.0.0 - '@expo/metro-config': 0.19.7 - '@expo/osascript': 2.1.4 - '@expo/package-manager': 1.7.0 - '@expo/plist': 0.2.0 - '@expo/prebuild-config': 8.0.24 + '@expo/env': 0.4.1 + '@expo/image-utils': 0.6.4 + '@expo/json-file': 9.0.1 + '@expo/metro-config': 0.19.9 + '@expo/osascript': 2.1.5 + '@expo/package-manager': 1.7.1 + '@expo/plist': 0.2.1 + '@expo/prebuild-config': 8.0.25 '@expo/rudder-sdk-node': 1.1.1(encoding@0.1.13) '@expo/spawn-async': 1.7.2 '@expo/xcpretty': 4.3.2 @@ -16378,7 +16211,7 @@ snapshots: temp-dir: 2.0.0 tempy: 0.7.1 terminal-link: 2.1.1 - undici: 6.21.0 + undici: 6.21.1 unique-string: 2.0.0 wrap-ansi: 7.0.0 ws: 8.18.0 @@ -16394,11 +16227,11 @@ snapshots: node-forge: 1.3.1 nullthrows: 1.1.1 - '@expo/config-plugins@9.0.13': + '@expo/config-plugins@9.0.14': dependencies: - '@expo/config-types': 52.0.2 - '@expo/json-file': 9.0.0 - '@expo/plist': 0.2.0 + '@expo/config-types': 52.0.3 + '@expo/json-file': 9.0.1 + '@expo/plist': 0.2.1 '@expo/sdk-runtime-versions': 1.0.0 chalk: 4.1.2 debug: 4.4.0 @@ -16413,14 +16246,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/config-types@52.0.2': {} + '@expo/config-types@52.0.3': {} - '@expo/config@10.0.7': + '@expo/config@10.0.8': dependencies: '@babel/code-frame': 7.10.4 - '@expo/config-plugins': 9.0.13 - '@expo/config-types': 52.0.2 - '@expo/json-file': 9.0.0 + '@expo/config-plugins': 9.0.14 + '@expo/config-types': 52.0.3 + '@expo/json-file': 9.0.1 deepmerge: 4.3.1 getenv: 1.0.0 glob: 10.4.5 @@ -16450,7 +16283,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/env@0.4.0': + '@expo/env@0.4.1': dependencies: chalk: 4.1.2 debug: 4.4.0 @@ -16475,7 +16308,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/image-utils@0.6.3': + '@expo/image-utils@0.6.4': dependencies: '@expo/spawn-async': 1.7.2 chalk: 4.1.2 @@ -16488,7 +16321,7 @@ snapshots: temp-dir: 2.0.0 unique-string: 2.0.0 - '@expo/json-file@9.0.0': + '@expo/json-file@9.0.1': dependencies: '@babel/code-frame': 7.10.4 json5: 2.2.3 @@ -16497,12 +16330,12 @@ snapshots: '@expo/metro-config@0.19.7': dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@expo/config': 10.0.7 - '@expo/env': 0.4.0 - '@expo/json-file': 9.0.0 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 + '@expo/config': 10.0.8 + '@expo/env': 0.4.1 + '@expo/json-file': 9.0.1 '@expo/spawn-async': 1.7.2 chalk: 4.1.2 debug: 4.4.0 @@ -16517,14 +16350,37 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/osascript@2.1.4': + '@expo/metro-config@0.19.9': + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 + '@expo/config': 10.0.8 + '@expo/env': 0.4.1 + '@expo/json-file': 9.0.1 + '@expo/spawn-async': 1.7.2 + chalk: 4.1.2 + debug: 4.4.0 + fs-extra: 9.1.0 + getenv: 1.0.0 + glob: 10.4.5 + jsc-safe-url: 0.2.4 + lightningcss: 1.27.0 + minimatch: 3.1.2 + postcss: 8.4.49 + resolve-from: 5.0.0 + transitivePeerDependencies: + - supports-color + + '@expo/osascript@2.1.5': dependencies: '@expo/spawn-async': 1.7.2 exec-async: 2.2.0 - '@expo/package-manager@1.7.0': + '@expo/package-manager@1.7.1': dependencies: - '@expo/json-file': 9.0.0 + '@expo/json-file': 9.0.1 '@expo/spawn-async': 1.7.2 ansi-regex: 5.0.1 chalk: 4.1.2 @@ -16537,20 +16393,20 @@ snapshots: split: 1.0.1 sudo-prompt: 9.1.1 - '@expo/plist@0.2.0': + '@expo/plist@0.2.1': dependencies: '@xmldom/xmldom': 0.7.13 base64-js: 1.5.1 xmlbuilder: 14.0.0 - '@expo/prebuild-config@8.0.24': + '@expo/prebuild-config@8.0.25': dependencies: - '@expo/config': 10.0.7 - '@expo/config-plugins': 9.0.13 - '@expo/config-types': 52.0.2 - '@expo/image-utils': 0.6.3 - '@expo/json-file': 9.0.0 - '@react-native/normalize-colors': 0.76.5 + '@expo/config': 10.0.8 + '@expo/config-plugins': 9.0.14 + '@expo/config-types': 52.0.3 + '@expo/image-utils': 0.6.4 + '@expo/json-file': 9.0.1 + '@react-native/normalize-colors': 0.76.6 debug: 4.4.0 fs-extra: 9.1.0 resolve-from: 5.0.0 @@ -16617,14 +16473,14 @@ snapshots: dependencies: '@formatjs/fast-memoize': 2.2.6 '@formatjs/intl-localematcher': 0.5.10 - decimal.js: 10.4.3 + decimal.js: 10.5.0 tslib: 2.8.1 '@formatjs/fast-memoize@2.2.6': dependencies: tslib: 2.8.1 - '@formatjs/icu-messageformat-parser@2.9.8': + '@formatjs/icu-messageformat-parser@2.11.0': dependencies: '@formatjs/ecma402-abstract': 2.3.2 '@formatjs/icu-skeleton-parser': 1.8.12 @@ -16650,15 +16506,15 @@ snapshots: '@headlessui/react@2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@react-aria/focus': 3.19.0(react@19.0.0) - '@react-aria/interactions': 3.22.5(react@19.0.0) - '@tanstack/react-virtual': 3.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@tanstack/react-virtual': 3.11.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)))': + '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': dependencies: - tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) '@hookform/resolvers@3.9.1(react-hook-form@7.54.1(react@19.0.0))': dependencies: @@ -16666,7 +16522,7 @@ snapshots: '@httptoolkit/websocket-stream@6.0.1': dependencies: - '@types/ws': 8.5.13 + '@types/ws': 8.5.14 duplexify: 3.7.1 inherits: 2.0.4 isomorphic-ws: 4.0.1(ws@8.18.0) @@ -16849,11 +16705,11 @@ snapshots: '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.7.2) - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) optionalDependencies: typescript: 5.7.2 @@ -16980,7 +16836,7 @@ snapshots: '@lexical/utils': 0.21.0 lexical: 0.21.0 - '@lexical/react@0.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.21)': + '@lexical/react@0.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.23)': dependencies: '@lexical/clipboard': 0.21.0 '@lexical/code': 0.21.0 @@ -16999,7 +16855,7 @@ snapshots: '@lexical/table': 0.21.0 '@lexical/text': 0.21.0 '@lexical/utils': 0.21.0 - '@lexical/yjs': 0.21.0(yjs@13.6.21) + '@lexical/yjs': 0.21.0(yjs@13.6.23) lexical: 0.21.0 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -17035,23 +16891,23 @@ snapshots: '@lexical/table': 0.21.0 lexical: 0.21.0 - '@lexical/yjs@0.21.0(yjs@13.6.21)': + '@lexical/yjs@0.21.0(yjs@13.6.23)': dependencies: '@lexical/offset': 0.21.0 '@lexical/selection': 0.21.0 lexical: 0.21.0 - yjs: 13.6.21 + yjs: 13.6.23 '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -17115,23 +16971,23 @@ snapshots: '@types/mdx': 2.0.13 react: 19.0.0 - '@microsoft/api-extractor-model@7.30.2(@types/node@22.12.0)': + '@microsoft/api-extractor-model@7.30.2(@types/node@22.10.2)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) + '@rushstack/node-core-library': 5.10.2(@types/node@22.10.2) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.49.1(@types/node@22.12.0)': + '@microsoft/api-extractor@7.49.1(@types/node@22.10.2)': dependencies: - '@microsoft/api-extractor-model': 7.30.2(@types/node@22.12.0) + '@microsoft/api-extractor-model': 7.30.2(@types/node@22.10.2) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) + '@rushstack/node-core-library': 5.10.2(@types/node@22.10.2) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.5(@types/node@22.12.0) - '@rushstack/ts-command-line': 4.23.3(@types/node@22.12.0) + '@rushstack/terminal': 0.14.5(@types/node@22.10.2) + '@rushstack/ts-command-line': 4.23.3(@types/node@22.10.2) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.10 @@ -17159,11 +17015,11 @@ snapshots: '@microsoft/tsdoc@0.15.1': {} - '@neshca/cache-handler@1.9.0(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(redis@4.7.0)': + '@neshca/cache-handler@1.9.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(redis@4.7.0)': dependencies: cluster-key-slot: 1.1.2 lru-cache: 10.4.3 - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) redis: 4.7.0 '@next/env@13.5.8': {} @@ -17209,7 +17065,7 @@ snapshots: dependencies: eslint-scope: 5.1.1 - '@noble/hashes@1.7.0': {} + '@noble/hashes@1.7.1': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -17229,7 +17085,7 @@ snapshots: dependencies: semver: 7.6.3 - '@opentelemetry/api-logs@0.53.0': + '@opentelemetry/api-logs@0.52.1': dependencies: '@opentelemetry/api': 1.9.0 @@ -17250,11 +17106,6 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 - '@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.28.0 - '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -17468,10 +17319,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.53.0 + '@opentelemetry/api-logs': 0.52.1 '@types/shimmer': 1.2.0 import-in-the-middle: 1.12.0 require-in-the-middle: 7.5.0 @@ -17486,7 +17337,7 @@ snapshots: '@opentelemetry/api-logs': 0.56.0 '@types/shimmer': 1.2.0 import-in-the-middle: 1.12.0 - require-in-the-middle: 7.4.0 + require-in-the-middle: 7.5.0 semver: 7.6.3 shimmer: 1.2.1 transitivePeerDependencies: @@ -17500,12 +17351,6 @@ snapshots: '@opentelemetry/core': 1.29.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 - '@opentelemetry/resources@1.30.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.28.0 - '@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -17519,11 +17364,11 @@ snapshots: '@opentelemetry/core': 1.29.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 1.29.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics@1.30.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-metrics@1.30.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)': dependencies: @@ -17568,7 +17413,7 @@ snapshots: '@paralleldrive/cuid2@2.2.2': dependencies: - '@noble/hashes': 1.7.0 + '@noble/hashes': 1.7.1 '@pkgjs/parseargs@0.11.0': optional: true @@ -17579,22 +17424,22 @@ snapshots: dependencies: playwright: 1.49.1 - '@preact/preset-vite@2.9.3(@babel/core@7.26.7)(preact@10.25.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@preact/preset-vite@2.9.3(@babel/core@7.26.0)(preact@10.25.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/code-frame': 7.26.2 - '@babel/core': 7.26.7 - '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.7) - '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.7) - '@prefresh/vite': 2.4.6(preact@10.25.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) + '@prefresh/vite': 2.4.6(preact@10.25.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.7) + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.0) debug: 4.4.0 kolorist: 1.8.0 magic-string: 0.30.5 node-html-parser: 6.1.13 source-map: 0.7.4 stack-trace: 1.0.0-pre2 - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - preact - supports-color @@ -17607,7 +17452,7 @@ snapshots: '@prefresh/utils@1.2.0': {} - '@prefresh/vite@2.4.6(preact@10.25.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@prefresh/vite@2.4.6(preact@10.25.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 '@prefresh/babel-plugin': 0.5.1 @@ -17615,7 +17460,7 @@ snapshots: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.25.2 - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -17714,7 +17559,7 @@ snapshots: '@prisma/instrumentation@5.22.0': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -17774,536 +17619,539 @@ snapshots: '@radix-ui/primitive@1.1.1': {} - '@radix-ui/react-accordion@1.2.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-accordion@1.2.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-arrow@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-arrow@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-checkbox@1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-checkbox@1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-collapsible@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-collapsible@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-collection@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-collection@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.18)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-context@1.1.1(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-dialog@1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dialog@1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) aria-hidden: 1.2.4 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.0(@types/react@18.3.11)(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@18.3.18)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-direction@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-direction@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-dismissable-layer@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dismissable-layer@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-dropdown-menu@2.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dropdown-menu@2.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-menu': 2.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-menu': 2.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.18)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-id@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-id@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-label@2.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-label@2.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-menu@2.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-menu@2.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@19.0.0) aria-hidden: 1.2.4 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.0(@types/react@18.3.11)(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@18.3.18)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-popover@1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-popover@1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) aria-hidden: 1.2.4 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.0(@types/react@18.3.11)(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@18.3.18)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-popper@1.2.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-popper@1.2.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-arrow': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-arrow': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@19.0.0) '@radix-ui/rect': 1.1.0 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-portal@1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-portal@1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-radio-group@1.2.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-radio-group@1.2.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-select@2.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-select@2.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) aria-hidden: 1.2.4 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.0(@types/react@18.3.11)(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@18.3.18)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-separator@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-separator@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-slider@1.2.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-slider@1.2.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-slot@1.1.1(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-slot@1.1.1(@types/react@18.3.18)(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-switch@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-switch@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-tabs@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-tabs@1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-toggle': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-toggle': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-toggle@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-toggle@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-tooltip@1.1.5(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-tooltip@1.1.5(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: '@radix-ui/rect': 1.1.0 react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-use-size@1.1.0(@types/react@18.3.11)(react@19.0.0)': + '@radix-ui/react-use-size@1.1.0(@types/react@18.3.18)(react@19.0.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@19.0.0) react: 19.0.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 - '@types/react-dom': 19.0.2(@types/react@18.3.11) + '@types/react': 18.3.18 + '@types/react-dom': 19.0.2(@types/react@18.3.18) '@radix-ui/rect@1.1.0': {} - '@react-aria/focus@3.19.0(react@19.0.0)': + '@react-aria/focus@3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@react-aria/interactions': 3.22.5(react@19.0.0) - '@react-aria/utils': 3.26.0(react@19.0.0) - '@react-types/shared': 3.26.0(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) '@swc/helpers': 0.5.15 clsx: 2.1.1 react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@react-aria/interactions@3.22.5(react@19.0.0)': + '@react-aria/interactions@3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@react-aria/ssr': 3.9.7(react@19.0.0) - '@react-aria/utils': 3.26.0(react@19.0.0) - '@react-types/shared': 3.26.0(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) '@swc/helpers': 0.5.15 react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@react-aria/ssr@3.9.7(react@19.0.0)': dependencies: '@swc/helpers': 0.5.15 react: 19.0.0 - '@react-aria/utils@3.26.0(react@19.0.0)': + '@react-aria/utils@3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@react-aria/ssr': 3.9.7(react@19.0.0) '@react-stately/utils': 3.10.5(react@19.0.0) - '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) '@swc/helpers': 0.5.15 clsx: 2.1.1 react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@react-email/body@0.0.11(react@19.0.0)': dependencies: @@ -18417,10 +18265,10 @@ snapshots: dependencies: react: 19.0.0 - '@react-native-async-storage/async-storage@2.1.0(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))': + '@react-native-async-storage/async-storage@2.1.0(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))': dependencies: merge-options: 3.0.4 - react-native: 0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1) + react-native: 0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1) '@react-native-community/cli-clean@13.6.9(encoding@0.1.13)': dependencies: @@ -18573,21 +18421,28 @@ snapshots: '@react-native/assets-registry@0.76.5': {} - '@react-native/babel-plugin-codegen@0.74.87(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/babel-plugin-codegen@0.74.87(@babel/preset-env@7.26.7(@babel/core@7.26.0))': dependencies: - '@react-native/codegen': 0.74.87(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/codegen': 0.74.87(@babel/preset-env@7.26.7(@babel/core@7.26.0)) transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/babel-plugin-codegen@0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/babel-plugin-codegen@0.76.5(@babel/preset-env@7.26.7(@babel/core@7.26.0))': dependencies: - '@react-native/codegen': 0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/codegen': 0.76.5(@babel/preset-env@7.26.7(@babel/core@7.26.0)) transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/babel-preset@0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/babel-plugin-codegen@0.76.6(@babel/preset-env@7.26.7(@babel/core@7.26.0))': + dependencies: + '@react-native/codegen': 0.76.6(@babel/preset-env@7.26.7(@babel/core@7.26.0)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.26.0) @@ -18610,7 +18465,7 @@ snapshots: '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-flow-strip-types': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.0) '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) @@ -18626,17 +18481,17 @@ snapshots: '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.26.7(@babel/core@7.26.0) '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) '@babel/template': 7.25.9 - '@react-native/babel-plugin-codegen': 0.74.87(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/babel-plugin-codegen': 0.74.87(@babel/preset-env@7.26.7(@babel/core@7.26.0)) babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.0) react-refresh: 0.14.2 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/babel-preset@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/babel-preset@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-proposal-export-default-from': 7.25.9(@babel/core@7.26.0) @@ -18652,14 +18507,14 @@ snapshots: '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-flow-strip-types': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.0) '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.0) '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) @@ -18676,10 +18531,10 @@ snapshots: '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.26.7(@babel/core@7.26.0) '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) '@babel/template': 7.25.9 - '@react-native/babel-plugin-codegen': 0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/babel-plugin-codegen': 0.76.5(@babel/preset-env@7.26.7(@babel/core@7.26.0)) babel-plugin-syntax-hermes-parser: 0.25.1 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.0) react-refresh: 0.14.2 @@ -18687,39 +18542,104 @@ snapshots: - '@babel/preset-env' - supports-color - '@react-native/codegen@0.74.87(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/babel-preset@0.76.6(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))': dependencies: - '@babel/parser': 7.26.3 - '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/core': 7.26.0 + '@babel/plugin-proposal-export-default-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-export-default-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.26.7(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/template': 7.25.9 + '@react-native/babel-plugin-codegen': 0.76.6(@babel/preset-env@7.26.7(@babel/core@7.26.0)) + babel-plugin-syntax-hermes-parser: 0.25.1 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.0) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/codegen@0.74.87(@babel/preset-env@7.26.7(@babel/core@7.26.0))': + dependencies: + '@babel/parser': 7.26.7 + '@babel/preset-env': 7.26.7(@babel/core@7.26.0) glob: 7.2.3 hermes-parser: 0.19.1 invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + jscodeshift: 0.14.0(@babel/preset-env@7.26.7(@babel/core@7.26.0)) mkdirp: 0.5.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - '@react-native/codegen@0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/codegen@0.76.5(@babel/preset-env@7.26.7(@babel/core@7.26.0))': dependencies: - '@babel/parser': 7.26.3 - '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/parser': 7.26.7 + '@babel/preset-env': 7.26.7(@babel/core@7.26.0) glob: 7.2.3 hermes-parser: 0.23.1 invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + jscodeshift: 0.14.0(@babel/preset-env@7.26.7(@babel/core@7.26.0)) mkdirp: 0.5.6 nullthrows: 1.1.1 yargs: 17.7.2 transitivePeerDependencies: - supports-color - '@react-native/community-cli-plugin@0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)': + '@react-native/codegen@0.76.6(@babel/preset-env@7.26.7(@babel/core@7.26.0))': + dependencies: + '@babel/parser': 7.26.7 + '@babel/preset-env': 7.26.7(@babel/core@7.26.0) + glob: 7.2.3 + hermes-parser: 0.23.1 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.26.7(@babel/core@7.26.0)) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@react-native/community-cli-plugin@0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)': dependencies: '@react-native-community/cli-server-api': 13.6.9(encoding@0.1.13) '@react-native-community/cli-tools': 13.6.9(encoding@0.1.13) '@react-native/dev-middleware': 0.74.87(encoding@0.1.13) - '@react-native/metro-babel-transformer': 0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/metro-babel-transformer': 0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0)) chalk: 4.1.2 execa: 5.1.1 metro: 0.80.12 @@ -18736,10 +18656,10 @@ snapshots: - supports-color - utf-8-validate - '@react-native/community-cli-plugin@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(encoding@0.1.13)': + '@react-native/community-cli-plugin@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(encoding@0.1.13)': dependencies: '@react-native/dev-middleware': 0.76.5 - '@react-native/metro-babel-transformer': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/metro-babel-transformer': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0)) chalk: 4.1.2 execa: 5.1.1 invariant: 2.2.4 @@ -18810,20 +18730,20 @@ snapshots: '@react-native/js-polyfills@0.76.5': {} - '@react-native/metro-babel-transformer@0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/metro-babel-transformer@0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))': dependencies: '@babel/core': 7.26.0 - '@react-native/babel-preset': 0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/babel-preset': 0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0)) hermes-parser: 0.19.1 nullthrows: 1.1.1 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/metro-babel-transformer@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/metro-babel-transformer@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))': dependencies: '@babel/core': 7.26.0 - '@react-native/babel-preset': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/babel-preset': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0)) hermes-parser: 0.23.1 nullthrows: 1.1.1 transitivePeerDependencies: @@ -18834,21 +18754,23 @@ snapshots: '@react-native/normalize-colors@0.76.5': {} - '@react-native/virtualized-lists@0.74.87(@types/react@18.3.11)(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))(react@18.3.1)': + '@react-native/normalize-colors@0.76.6': {} + + '@react-native/virtualized-lists@0.74.87(@types/react@18.3.11)(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))(react@18.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 18.3.1 - react-native: 0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1) + react-native: 0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1) optionalDependencies: '@types/react': 18.3.11 - '@react-native/virtualized-lists@0.76.5(@types/react@19.0.1)(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1)': + '@react-native/virtualized-lists@0.76.5(@types/react@19.0.1)(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 18.3.1 - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) + react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) optionalDependencies: '@types/react': 19.0.1 @@ -18857,7 +18779,7 @@ snapshots: '@swc/helpers': 0.5.15 react: 19.0.0 - '@react-types/shared@3.26.0(react@19.0.0)': + '@react-types/shared@3.27.0(react@19.0.0)': dependencies: react: 19.0.0 @@ -18894,12 +18816,12 @@ snapshots: require-from-string: 2.0.2 uri-js-replace: 1.0.1 - '@redocly/config@0.17.1': {} + '@redocly/config@0.20.3': {} - '@redocly/openapi-core@1.27.1(encoding@0.1.13)': + '@redocly/openapi-core@1.27.2(encoding@0.1.13)': dependencies: '@redocly/ajv': 8.11.2 - '@redocly/config': 0.17.1 + '@redocly/config': 0.20.3 colorette: 1.4.0 https-proxy-agent: 7.0.6 js-levenshtein: 1.1.6 @@ -18916,7 +18838,7 @@ snapshots: '@rnx-kit/chromium-edge-launcher@1.0.0': dependencies: - '@types/node': 18.19.70 + '@types/node': 18.19.74 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -18937,13 +18859,13 @@ snapshots: optionalDependencies: rollup: 3.29.5 - '@rollup/plugin-inject@5.0.5(rollup@4.31.0)': + '@rollup/plugin-inject@5.0.5(rollup@4.32.1)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.31.0) + '@rollup/pluginutils': 5.1.4(rollup@4.32.1) estree-walker: 2.0.2 magic-string: 0.30.17 optionalDependencies: - rollup: 4.31.0 + rollup: 4.32.1 '@rollup/pluginutils@4.2.1': dependencies: @@ -18958,133 +18880,76 @@ snapshots: optionalDependencies: rollup: 3.29.5 - '@rollup/pluginutils@5.1.4(rollup@4.31.0)': + '@rollup/pluginutils@5.1.4(rollup@4.32.1)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.31.0 + rollup: 4.32.1 - '@rollup/rollup-android-arm-eabi@4.30.1': + '@rollup/rollup-android-arm-eabi@4.32.1': optional: true - '@rollup/rollup-android-arm-eabi@4.31.0': + '@rollup/rollup-android-arm64@4.32.1': optional: true - '@rollup/rollup-android-arm64@4.30.1': + '@rollup/rollup-darwin-arm64@4.32.1': optional: true - '@rollup/rollup-android-arm64@4.31.0': + '@rollup/rollup-darwin-x64@4.32.1': optional: true - '@rollup/rollup-darwin-arm64@4.30.1': + '@rollup/rollup-freebsd-arm64@4.32.1': optional: true - '@rollup/rollup-darwin-arm64@4.31.0': + '@rollup/rollup-freebsd-x64@4.32.1': optional: true - '@rollup/rollup-darwin-x64@4.30.1': + '@rollup/rollup-linux-arm-gnueabihf@4.32.1': optional: true - '@rollup/rollup-darwin-x64@4.31.0': + '@rollup/rollup-linux-arm-musleabihf@4.32.1': optional: true - '@rollup/rollup-freebsd-arm64@4.30.1': + '@rollup/rollup-linux-arm64-gnu@4.32.1': optional: true - '@rollup/rollup-freebsd-arm64@4.31.0': + '@rollup/rollup-linux-arm64-musl@4.32.1': optional: true - '@rollup/rollup-freebsd-x64@4.30.1': + '@rollup/rollup-linux-loongarch64-gnu@4.32.1': optional: true - '@rollup/rollup-freebsd-x64@4.31.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.32.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.30.1': + '@rollup/rollup-linux-riscv64-gnu@4.32.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.31.0': + '@rollup/rollup-linux-s390x-gnu@4.32.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.30.1': + '@rollup/rollup-linux-x64-gnu@4.32.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.31.0': + '@rollup/rollup-linux-x64-musl@4.32.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.30.1': + '@rollup/rollup-win32-arm64-msvc@4.32.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.31.0': + '@rollup/rollup-win32-ia32-msvc@4.32.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.30.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.31.0': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.31.0': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.31.0': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.31.0': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.31.0': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.31.0': - optional: true - - '@rollup/rollup-linux-x64-musl@4.30.1': - optional: true - - '@rollup/rollup-linux-x64-musl@4.31.0': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.30.1': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.31.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.30.1': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.31.0': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.30.1': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.31.0': + '@rollup/rollup-win32-x64-msvc@4.32.1': optional: true '@rtsao/scc@1.1.0': {} '@rushstack/eslint-patch@1.10.5': {} - '@rushstack/node-core-library@5.10.2(@types/node@22.12.0)': + '@rushstack/node-core-library@5.10.2(@types/node@22.10.2)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -19095,23 +18960,23 @@ snapshots: resolve: 1.22.10 semver: 7.5.4 optionalDependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.14.5(@types/node@22.12.0)': + '@rushstack/terminal@0.14.5(@types/node@22.10.2)': dependencies: - '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) + '@rushstack/node-core-library': 5.10.2(@types/node@22.10.2) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 - '@rushstack/ts-command-line@4.23.3(@types/node@22.12.0)': + '@rushstack/ts-command-line@4.23.3(@types/node@22.10.2)': dependencies: - '@rushstack/terminal': 0.14.5(@types/node@22.12.0) + '@rushstack/terminal': 0.14.5(@types/node@22.10.2) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -19158,7 +19023,7 @@ snapshots: '@sentry/bundler-plugin-core@2.22.7(encoding@0.1.13)': dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.0 '@sentry/babel-plugin-component-annotate': 2.22.7 '@sentry/cli': 2.39.1(encoding@0.1.13) dotenv: 16.4.7 @@ -19212,7 +19077,7 @@ snapshots: '@sentry/core@8.52.0': {} - '@sentry/nextjs@8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1)': + '@sentry/nextjs@8.52.0(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 @@ -19225,7 +19090,7 @@ snapshots: '@sentry/vercel-edge': 8.52.0 '@sentry/webpack-plugin': 2.22.7(encoding@0.1.13)(webpack@5.97.1) chalk: 3.0.0 - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) resolve: 1.22.8 rollup: 3.29.5 stacktrace-parser: 0.1.10 @@ -19811,7 +19676,7 @@ snapshots: '@storybook/blocks@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2))': dependencies: '@storybook/csf': 0.1.13 - '@storybook/icons': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/icons': 1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) storybook: 8.4.7(prettier@3.4.2) ts-dedent: 2.2.0 optionalDependencies: @@ -19821,20 +19686,20 @@ snapshots: '@storybook/blocks@8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(prettier@3.4.2))': dependencies: '@storybook/csf': 0.1.13 - '@storybook/icons': 1.3.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@storybook/icons': 1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) storybook: 8.4.7(prettier@3.4.2) ts-dedent: 2.2.0 optionalDependencies: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@storybook/builder-vite@8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@storybook/builder-vite@8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@storybook/csf-plugin': 8.4.7(storybook@8.4.7(prettier@3.4.2)) browser-assert: 1.2.1 storybook: 8.4.7(prettier@3.4.2) ts-dedent: 2.2.0 - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) '@storybook/components@8.4.7(storybook@8.4.7(prettier@3.4.2))': dependencies: @@ -19871,12 +19736,12 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/icons@1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/icons@1.3.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@storybook/icons@1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -19907,21 +19772,21 @@ snapshots: react-dom: 19.0.0(react@19.0.0) storybook: 8.4.7(prettier@3.4.2) - '@storybook/react-vite@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.31.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@storybook/react-vite@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.32.1)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) - '@rollup/pluginutils': 5.1.4(rollup@4.31.0) - '@storybook/builder-vite': 8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + '@rollup/pluginutils': 5.1.4(rollup@4.32.1) + '@storybook/builder-vite': 8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@storybook/react': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(prettier@3.4.2)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.2) find-up: 5.0.0 magic-string: 0.30.17 react: 19.0.0 - react-docgen: 7.1.0 + react-docgen: 7.1.1 react-dom: 19.0.0(react@19.0.0) resolve: 1.22.10 storybook: 8.4.7(prettier@3.4.2) tsconfig-paths: 4.2.0 - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@storybook/test' - rollup @@ -19980,18 +19845,18 @@ snapshots: optionalDependencies: typescript: 5.7.2 - '@tailwindcss/forms@0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)))': + '@tailwindcss/forms@0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) - '@tailwindcss/typography@0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)))': + '@tailwindcss/typography@0.5.15(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': dependencies: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) '@tanstack/react-table@8.20.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: @@ -19999,20 +19864,20 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@tanstack/react-virtual@3.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@tanstack/react-virtual@3.11.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@tanstack/virtual-core': 3.11.2 + '@tanstack/virtual-core': 3.11.3 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) '@tanstack/table-core@8.20.5': {} - '@tanstack/virtual-core@3.11.2': {} + '@tanstack/virtual-core@3.11.3': {} '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.26.2 - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -20036,10 +19901,10 @@ snapshots: '@trivago/prettier-plugin-sort-imports@5.2.0(prettier@3.4.2)': dependencies: - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 javascript-natural-sort: 0.7.1 lodash: 4.17.21 prettier: 3.4.2 @@ -20064,30 +19929,30 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 '@types/bcryptjs@2.4.6': {} '@types/connect@3.4.36': dependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 '@types/cross-spawn@6.0.2': dependencies: @@ -20095,11 +19960,11 @@ snapshots: '@types/debug@4.1.12': dependencies: - '@types/ms': 0.7.34 + '@types/ms': 2.1.0 '@types/debug@4.1.8': dependencies: - '@types/ms': 0.7.34 + '@types/ms': 2.1.0 '@types/diff-match-patch@1.0.36': {} @@ -20176,11 +20041,11 @@ snapshots: '@types/mime-types@2.1.4': {} - '@types/ms@0.7.34': {} + '@types/ms@2.1.0': {} '@types/mysql@2.15.26': dependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 '@types/node-forge@1.3.11': dependencies: @@ -20188,7 +20053,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@18.19.70': + '@types/node@18.19.74': dependencies: undici-types: 5.26.5 @@ -20196,10 +20061,6 @@ snapshots: dependencies: undici-types: 6.20.0 - '@types/node@22.12.0': - dependencies: - undici-types: 6.20.0 - '@types/nodemailer@6.4.17': dependencies: '@types/node': 22.10.2 @@ -20216,7 +20077,7 @@ snapshots: '@types/pg@8.6.1': dependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 pg-protocol: 1.7.0 pg-types: 2.2.0 @@ -20228,9 +20089,10 @@ snapshots: dependencies: '@types/node': 22.10.2 - '@types/react-dom@19.0.2(@types/react@18.3.11)': + '@types/react-dom@19.0.2(@types/react@18.3.18)': dependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 + optional: true '@types/react-dom@19.0.2(@types/react@19.0.1)': dependencies: @@ -20245,6 +20107,12 @@ snapshots: '@types/prop-types': 15.7.14 csstype: 3.1.3 + '@types/react@18.3.18': + dependencies: + '@types/prop-types': 15.7.14 + csstype: 3.1.3 + optional: true + '@types/react@19.0.1': dependencies: csstype: 3.1.3 @@ -20263,7 +20131,7 @@ snapshots: '@types/tedious@4.0.14': dependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 '@types/trusted-types@2.0.7': optional: true @@ -20276,7 +20144,7 @@ snapshots: '@types/uuid@9.0.8': {} - '@types/ws@8.5.13': + '@types/ws@8.5.14': dependencies: '@types/node': 22.10.2 @@ -20365,10 +20233,10 @@ snapshots: '@typescript-eslint/types': 8.18.0 '@typescript-eslint/visitor-keys': 8.18.0 - '@typescript-eslint/scope-manager@8.19.1': + '@typescript-eslint/scope-manager@8.22.0': dependencies: - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/visitor-keys': 8.22.0 '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.7.2)': dependencies: @@ -20399,7 +20267,7 @@ snapshots: '@typescript-eslint/types@8.18.0': {} - '@typescript-eslint/types@8.19.1': {} + '@typescript-eslint/types@8.22.0': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.7.2)': dependencies: @@ -20444,10 +20312,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.19.1(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.22.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/visitor-keys': 8.22.0 debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -20495,12 +20363,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.19.1(eslint@8.57.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.22.0(eslint@8.57.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.0) - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.22.0 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.2) eslint: 8.57.0 typescript: 5.7.2 transitivePeerDependencies: @@ -20521,9 +20389,9 @@ snapshots: '@typescript-eslint/types': 8.18.0 eslint-visitor-keys: 4.2.0 - '@typescript-eslint/visitor-keys@8.19.1': + '@typescript-eslint/visitor-keys@8.22.0': dependencies: - '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/types': 8.22.0 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.1': {} @@ -20550,25 +20418,25 @@ snapshots: satori: 0.12.0 yoga-wasm-web: 0.3.3 - '@vercel/otel@1.10.0(@opentelemetry/api-logs@0.56.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))': + '@vercel/otel@1.10.0(@opentelemetry/api-logs@0.56.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.56.0 '@opentelemetry/instrumentation': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-logs': 0.56.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.30.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - '@vercel/speed-insights@1.1.0(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': + '@vercel/speed-insights@1.1.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': optionalDependencies: - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 - '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0))': + '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 - '@babel/eslint-parser': 7.25.9(@babel/core@7.26.0)(eslint@8.57.0) + '@babel/eslint-parser': 7.26.5(@babel/core@7.26.0)(eslint@8.57.0) '@rushstack/eslint-patch': 1.10.5 '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2) '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.7.2) @@ -20585,8 +20453,8 @@ snapshots: eslint-plugin-testing-library: 6.5.0(eslint@8.57.0)(typescript@5.7.2) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) - eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) - prettier-plugin-packagejson: 2.5.6(prettier@3.4.2) + eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + prettier-plugin-packagejson: 2.5.8(prettier@3.4.2) optionalDependencies: '@next/eslint-plugin-next': 15.1.0 eslint: 8.57.0 @@ -20599,14 +20467,32 @@ snapshots: - supports-color - vitest - '@vitejs/plugin-react@4.3.4(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@vitejs/plugin-react@4.3.4(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + transitivePeerDependencies: + - supports-color + + '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.4.0 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.1.7 + magic-string: 0.30.17 + magicast: 0.3.5 + std-env: 3.8.0 + test-exclude: 7.0.1 + tinyrainbow: 1.2.0 + vitest: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) transitivePeerDependencies: - supports-color @@ -20624,13 +20510,30 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0))': + '@vitest/expect@3.0.4': + dependencies: + '@vitest/spy': 3.0.4 + '@vitest/utils': 3.0.4 + chai: 5.1.2 + tinyrainbow: 2.0.0 + optional: true + + '@vitest/mocker@2.1.8(vite@5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0) + vite: 5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) + + '@vitest/mocker@3.0.4(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + dependencies: + '@vitest/spy': 3.0.4 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + optional: true '@vitest/pretty-format@2.0.5': dependencies: @@ -20640,17 +20543,35 @@ snapshots: dependencies: tinyrainbow: 1.2.0 + '@vitest/pretty-format@3.0.4': + dependencies: + tinyrainbow: 2.0.0 + optional: true + '@vitest/runner@2.1.8': dependencies: '@vitest/utils': 2.1.8 pathe: 1.1.2 + '@vitest/runner@3.0.4': + dependencies: + '@vitest/utils': 3.0.4 + pathe: 2.0.2 + optional: true + '@vitest/snapshot@2.1.8': dependencies: '@vitest/pretty-format': 2.1.8 magic-string: 0.30.17 pathe: 1.1.2 + '@vitest/snapshot@3.0.4': + dependencies: + '@vitest/pretty-format': 3.0.4 + magic-string: 0.30.17 + pathe: 2.0.2 + optional: true + '@vitest/spy@2.0.5': dependencies: tinyspy: 3.0.2 @@ -20659,19 +20580,31 @@ snapshots: dependencies: tinyspy: 3.0.2 + '@vitest/spy@3.0.4': + dependencies: + tinyspy: 3.0.2 + optional: true + '@vitest/utils@2.0.5': dependencies: '@vitest/pretty-format': 2.0.5 estree-walker: 3.0.3 - loupe: 3.1.2 + loupe: 3.1.3 tinyrainbow: 1.2.0 '@vitest/utils@2.1.8': dependencies: '@vitest/pretty-format': 2.1.8 - loupe: 3.1.2 + loupe: 3.1.3 tinyrainbow: 1.2.0 + '@vitest/utils@3.0.4': + dependencies: + '@vitest/pretty-format': 3.0.4 + loupe: 3.1.3 + tinyrainbow: 2.0.0 + optional: true + '@volar/language-core@2.4.11': dependencies: '@volar/source-map': 2.4.11 @@ -20686,7 +20619,7 @@ snapshots: '@vue/compiler-core@3.5.13': dependencies: - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.7 '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 @@ -20903,25 +20836,25 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.5 + fast-uri: 3.0.6 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch@5.19.0: + algoliasearch@5.20.0: dependencies: - '@algolia/client-abtesting': 5.19.0 - '@algolia/client-analytics': 5.19.0 - '@algolia/client-common': 5.19.0 - '@algolia/client-insights': 5.19.0 - '@algolia/client-personalization': 5.19.0 - '@algolia/client-query-suggestions': 5.19.0 - '@algolia/client-search': 5.19.0 - '@algolia/ingestion': 1.19.0 - '@algolia/monitoring': 1.19.0 - '@algolia/recommend': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-abtesting': 5.20.0 + '@algolia/client-analytics': 5.20.0 + '@algolia/client-common': 5.20.0 + '@algolia/client-insights': 5.20.0 + '@algolia/client-personalization': 5.20.0 + '@algolia/client-query-suggestions': 5.20.0 + '@algolia/client-search': 5.20.0 + '@algolia/ingestion': 1.20.0 + '@algolia/monitoring': 1.20.0 + '@algolia/recommend': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 anser@1.4.10: {} @@ -21044,7 +20977,7 @@ snapshots: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-intrinsic: 1.2.7 is-string: 1.1.1 @@ -21065,7 +20998,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 es-shim-unscopables: 1.0.2 array.prototype.findlastindex@1.2.5: @@ -21074,7 +21007,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 es-shim-unscopables: 1.0.2 array.prototype.flat@1.3.3: @@ -21143,6 +21076,8 @@ snapshots: astring@1.9.0: {} + async-function@1.0.0: {} + async-limiter@1.0.1: {} async@3.2.6: {} @@ -21154,23 +21089,13 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001692 + caniuse-lite: 1.0.30001696 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 postcss: 8.4.49 postcss-value-parser: 4.2.0 - autoprefixer@10.4.20(postcss@8.5.1): - dependencies: - browserslist: 4.24.4 - caniuse-lite: 1.0.30001692 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.1 - postcss-value-parser: 4.2.0 - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 @@ -21221,7 +21146,7 @@ snapshots: babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -21232,13 +21157,13 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.5 + '@babel/types': 7.26.7 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): dependencies: - '@babel/compat-data': 7.26.3 + '@babel/compat-data': 7.26.5 '@babel/core': 7.26.0 '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) semver: 6.3.1 @@ -21276,9 +21201,9 @@ snapshots: transitivePeerDependencies: - '@babel/core' - babel-plugin-transform-hook-names@1.0.2(@babel/core@7.26.7): + babel-plugin-transform-hook-names@1.0.2(@babel/core@7.26.0): dependencies: - '@babel/core': 7.26.7 + '@babel/core': 7.26.0 babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): dependencies: @@ -21299,7 +21224,7 @@ snapshots: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) - babel-preset-expo@12.0.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)): + babel-preset-expo@12.0.6(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0)): dependencies: '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) @@ -21307,7 +21232,7 @@ snapshots: '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) '@babel/preset-react': 7.26.3(@babel/core@7.26.0) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) - '@react-native/babel-preset': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/babel-preset': 0.76.6(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0)) babel-plugin-react-native-web: 0.19.13 react-refresh: 0.14.2 transitivePeerDependencies: @@ -21367,7 +21292,7 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.0.1 + chalk: 5.4.1 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -21458,8 +21383,8 @@ snapshots: browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001692 - electron-to-chromium: 1.5.80 + caniuse-lite: 1.0.30001696 + electron-to-chromium: 1.5.88 node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) @@ -21569,7 +21494,7 @@ snapshots: camelize@1.0.1: {} - caniuse-lite@1.0.30001692: {} + caniuse-lite@1.0.30001696: {} ccount@2.0.1: {} @@ -21583,7 +21508,7 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.2 + loupe: 3.1.3 pathval: 2.0.0 chalk-template@0.4.0: @@ -21681,11 +21606,11 @@ snapshots: chokidar@4.0.3: dependencies: - readdirp: 4.0.2 + readdirp: 4.1.1 chownr@2.0.0: {} - chromatic@11.22.2: {} + chromatic@11.25.1: {} chrome-launcher@0.15.2: dependencies: @@ -21794,11 +21719,11 @@ snapshots: cluster-key-slot@1.1.2: {} - cmdk@1.0.4(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + cmdk@1.0.4(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@radix-ui/react-dialog': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.11))(@types/react@18.3.11)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-dialog': 1.1.3(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) use-sync-external-store: 1.4.0(react@19.0.0) @@ -21934,7 +21859,7 @@ snapshots: transitivePeerDependencies: - supports-color - consola@3.3.3: {} + consola@3.4.0: {} console-browserify@1.2.0: {} @@ -22086,7 +22011,7 @@ snapshots: cssstyle@4.2.1: dependencies: - '@asamuzakjp/css-color': 2.8.2 + '@asamuzakjp/css-color': 2.8.3 rrweb-cssom: 0.8.0 csstype@3.1.3: {} @@ -22144,7 +22069,7 @@ snapshots: decamelize@1.2.0: {} - decimal.js@10.4.3: {} + decimal.js@10.5.0: {} decko@1.2.0: {} @@ -22334,7 +22259,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.80: {} + electron-to-chromium@1.5.88: {} elliptic@6.6.1: dependencies: @@ -22450,7 +22375,7 @@ snapshots: data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 es-set-tostringtag: 2.1.0 es-to-primitive: 1.3.0 function.prototype.name: 1.1.8 @@ -22519,10 +22444,6 @@ snapshots: es-module-lexer@1.6.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 @@ -22696,7 +22617,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.0) eslint-plugin-react: 7.37.2(eslint@8.57.0) eslint-plugin-react-hooks: 5.1.0(eslint@8.57.0) @@ -22718,7 +22639,7 @@ snapshots: eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0): dependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) eslint-import-resolver-node@0.3.9: dependencies: @@ -22735,12 +22656,12 @@ snapshots: enhanced-resolve: 5.18.0 eslint: 8.57.0 fast-glob: 3.3.2 - get-tsconfig: 4.8.1 + get-tsconfig: 4.10.0 is-bun-module: 1.3.0 is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -22774,7 +22695,7 @@ snapshots: eslint-plugin-i18n-json@4.0.0(eslint@8.57.0): dependencies: - '@formatjs/icu-messageformat-parser': 2.9.8 + '@formatjs/icu-messageformat-parser': 2.11.0 chalk: 2.4.2 eslint: 8.57.0 indent-string: 3.2.0 @@ -22817,7 +22738,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -22919,7 +22840,7 @@ snapshots: eslint-plugin-storybook@0.11.1(eslint@8.57.0)(typescript@5.7.2): dependencies: '@storybook/csf': 0.1.13 - '@typescript-eslint/utils': 8.19.1(eslint@8.57.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.22.0(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -22966,13 +22887,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): + eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2) - vitest: 2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + vitest: 3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript @@ -23151,42 +23072,42 @@ snapshots: expect-type@1.1.0: {} - expo-asset@11.0.1(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): + expo-asset@11.0.2(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): dependencies: - '@expo/image-utils': 0.6.3 - expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) - expo-constants: 17.0.3(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)) + '@expo/image-utils': 0.6.4 + expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + expo-constants: 17.0.5(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)) invariant: 2.2.4 md5-file: 3.2.3 react: 18.3.1 - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) + react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) transitivePeerDependencies: - supports-color - expo-constants@17.0.3(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)): + expo-constants@17.0.5(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)): dependencies: - '@expo/config': 10.0.7 - '@expo/env': 0.4.0 - expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) + '@expo/config': 10.0.8 + '@expo/env': 0.4.1 + expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) transitivePeerDependencies: - supports-color - expo-file-system@18.0.6(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)): + expo-file-system@18.0.7(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)): dependencies: - expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) + expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) web-streams-polyfill: 3.3.3 - expo-font@13.0.2(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react@18.3.1): + expo-font@13.0.3(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react@18.3.1): dependencies: - expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) fontfaceobserver: 2.3.0 react: 18.3.1 - expo-keep-awake@14.0.1(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react@18.3.1): + expo-keep-awake@14.0.2(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react@18.3.1): dependencies: - expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + expo: 52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) react: 18.3.1 expo-modules-autolinking@2.0.4: @@ -23204,35 +23125,35 @@ snapshots: dependencies: invariant: 2.2.4 - expo-status-bar@2.0.0(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): + expo-status-bar@2.0.0(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) + react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) - expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): + expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@expo/cli': 0.22.5(encoding@0.1.13) - '@expo/config': 10.0.7 - '@expo/config-plugins': 9.0.13 + '@expo/config': 10.0.8 + '@expo/config-plugins': 9.0.14 '@expo/fingerprint': 0.11.3 '@expo/metro-config': 0.19.7 '@expo/vector-icons': 14.0.4 - babel-preset-expo: 12.0.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) - expo-asset: 11.0.1(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) - expo-constants: 17.0.3(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)) - expo-file-system: 18.0.6(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)) - expo-font: 13.0.2(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react@18.3.1) - expo-keep-awake: 14.0.1(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react@18.3.1) + babel-preset-expo: 12.0.6(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0)) + expo-asset: 11.0.2(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + expo-constants: 17.0.5(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)) + expo-file-system: 18.0.7(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1)) + expo-font: 13.0.3(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react@18.3.1) + expo-keep-awake: 14.0.2(expo@52.0.18(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13)(react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))(react@18.3.1) expo-modules-autolinking: 2.0.4 expo-modules-core: 2.1.1 fbemitter: 3.0.0(encoding@0.1.13) react: 18.3.1 - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) + react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) web-streams-polyfill: 3.3.3 whatwg-url-without-unicode: 8.0.0-3 optionalDependencies: - react-native-webview: 13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + react-native-webview: 13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@babel/core' - '@babel/preset-env' @@ -23284,7 +23205,7 @@ snapshots: fast-shallow-equal@1.0.0: {} - fast-uri@3.0.5: {} + fast-uri@3.0.6: {} fast-write-atomic@0.2.1: {} @@ -23326,10 +23247,6 @@ snapshots: transitivePeerDependencies: - encoding - fdir@6.4.2(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - fdir@6.4.3(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -23411,13 +23328,13 @@ snapshots: flow-enums-runtime@0.0.6: {} - flow-parser@0.258.1: {} + flow-parser@0.259.1: {} follow-redirects@1.15.9: {} fontfaceobserver@2.3.0: {} - for-each@0.3.3: + for-each@0.3.4: dependencies: is-callable: 1.2.7 @@ -23454,8 +23371,8 @@ snapshots: framer-motion@11.15.0(@emotion/is-prop-valid@1.2.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - motion-dom: 11.16.4 - motion-utils: 11.16.0 + motion-dom: 11.18.1 + motion-utils: 11.18.1 tslib: 2.8.1 optionalDependencies: '@emotion/is-prop-valid': 1.2.2 @@ -23565,7 +23482,7 @@ snapshots: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 @@ -23582,7 +23499,7 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-stdin@9.0.0: {} @@ -23600,7 +23517,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.7 - get-tsconfig@4.8.1: + get-tsconfig@4.10.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -23694,7 +23611,7 @@ snapshots: dependencies: csstype: 3.1.3 - google-auth-library@9.15.0(encoding@0.1.13): + google-auth-library@9.15.1(encoding@0.1.13): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 @@ -23710,8 +23627,8 @@ snapshots: dependencies: extend: 3.0.2 gaxios: 6.7.1(encoding@0.1.13) - google-auth-library: 9.15.0(encoding@0.1.13) - qs: 6.13.1 + google-auth-library: 9.15.1(encoding@0.1.13) + qs: 6.14.0 url-template: 2.0.8 uuid: 9.0.1 transitivePeerDependencies: @@ -23720,7 +23637,7 @@ snapshots: googleapis@144.0.0(encoding@0.1.13): dependencies: - google-auth-library: 9.15.0(encoding@0.1.13) + google-auth-library: 9.15.1(encoding@0.1.13) googleapis-common: 7.2.0(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -23794,7 +23711,7 @@ snapshots: estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 property-information: 6.5.0 space-separated-tokens: 2.0.2 @@ -23828,7 +23745,7 @@ snapshots: estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 property-information: 6.5.0 space-separated-tokens: 2.0.2 @@ -23916,6 +23833,8 @@ snapshots: dependencies: whatwg-encoding: 3.1.1 + html-escaper@2.0.2: {} + html-to-text@9.0.5: dependencies: '@selderee/plugin-htmlparser2': 0.11.0 @@ -24072,11 +23991,11 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - intl-messageformat@10.7.11: + intl-messageformat@10.7.14: dependencies: '@formatjs/ecma402-abstract': 2.3.2 '@formatjs/fast-memoize': 2.2.6 - '@formatjs/icu-messageformat-parser': 2.9.8 + '@formatjs/icu-messageformat-parser': 2.11.0 tslib: 2.8.1 invariant@2.2.4: @@ -24118,8 +24037,9 @@ snapshots: is-arrayish@0.3.2: {} - is-async-function@2.1.0: + is-async-function@2.1.1: dependencies: + async-function: 1.0.0 call-bound: 1.0.3 get-proto: 1.0.1 has-tostringtag: 1.0.2 @@ -24336,17 +24256,36 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.5 + '@babel/parser': 7.26.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 transitivePeerDependencies: - supports-color + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@5.0.6: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + debug: 4.4.0 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + iterator.prototype@1.1.5: dependencies: define-data-property: 1.1.4 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-intrinsic: 1.2.7 get-proto: 1.0.1 has-symbols: 1.1.0 @@ -24494,21 +24433,21 @@ snapshots: jsc-safe-url@0.2.4: {} - jscodeshift@0.14.0(@babel/preset-env@7.26.0(@babel/core@7.26.0)): + jscodeshift@0.14.0(@babel/preset-env@7.26.7(@babel/core@7.26.0)): dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.26.0) '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) - '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/preset-env': 7.26.7(@babel/core@7.26.0) '@babel/preset-flow': 7.25.9(@babel/core@7.26.0) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) '@babel/register': 7.25.9(@babel/core@7.26.0) babel-core: 7.0.0-bridge.0(@babel/core@7.26.0) chalk: 4.1.2 - flow-parser: 0.258.1 + flow-parser: 0.259.1 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 @@ -24525,7 +24464,7 @@ snapshots: dependencies: cssstyle: 4.2.1 data-urls: 5.0.0 - decimal.js: 10.4.3 + decimal.js: 10.5.0 form-data: 4.0.1 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 @@ -24653,19 +24592,19 @@ snapshots: kolorist@1.8.0: {} - langfuse-core@3.32.0: + langfuse-core@3.33.1: dependencies: mustache: 4.2.0 langfuse-vercel@3.31.3(ai@4.0.18(react@19.0.0)(zod@3.24.1)): dependencies: ai: 4.0.18(react@19.0.0)(zod@3.24.1) - langfuse: 3.32.0 - langfuse-core: 3.32.0 + langfuse: 3.33.1 + langfuse-core: 3.33.1 - langfuse@3.32.0: + langfuse@3.33.1: dependencies: - langfuse-core: 3.32.0 + langfuse-core: 3.33.1 language-subtag-registry@0.3.23: {} @@ -24795,8 +24734,8 @@ snapshots: local-pkg@0.5.1: dependencies: - mlly: 1.7.3 - pkg-types: 1.3.0 + mlly: 1.7.4 + pkg-types: 1.3.1 locate-path@3.0.0: dependencies: @@ -24888,7 +24827,7 @@ snapshots: lottie-web@5.12.2: {} - loupe@3.1.2: {} + loupe@3.1.3: {} lru-cache@10.4.3: {} @@ -24928,6 +24867,12 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magicast@0.3.5: + dependencies: + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 + source-map-js: 1.2.1 + make-dir@2.1.0: dependencies: pify: 4.0.1 @@ -24937,6 +24882,10 @@ snapshots: dependencies: semver: 6.3.1 + make-dir@4.0.0: + dependencies: + semver: 7.6.3 + make-error@1.3.6: {} make-event-props@1.6.2: {} @@ -25087,7 +25036,7 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-mdx-jsx@3.1.3: + mdast-util-mdx-jsx@3.2.0: dependencies: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 @@ -25108,7 +25057,7 @@ snapshots: dependencies: mdast-util-from-markdown: 2.0.2 mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: @@ -25325,18 +25274,18 @@ snapshots: metro-runtime@0.80.12: dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 flow-enums-runtime: 0.0.6 metro-runtime@0.81.0: dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 flow-enums-runtime: 0.0.6 metro-source-map@0.80.12: dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 flow-enums-runtime: 0.0.6 invariant: 2.2.4 metro-symbolicate: 0.80.12 @@ -25349,9 +25298,9 @@ snapshots: metro-source-map@0.81.0: dependencies: - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 '@babel/traverse--for-generate-function-map': '@babel/traverse@7.26.7' - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 flow-enums-runtime: 0.0.6 invariant: 2.2.4 metro-symbolicate: 0.81.0 @@ -25389,9 +25338,9 @@ snapshots: metro-transform-plugins@0.80.12: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 + '@babel/generator': 7.26.5 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -25400,9 +25349,9 @@ snapshots: metro-transform-plugins@0.81.0: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 + '@babel/generator': 7.26.5 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -25411,9 +25360,9 @@ snapshots: metro-transform-worker@0.80.12: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 flow-enums-runtime: 0.0.6 metro: 0.80.12 metro-babel-transformer: 0.80.12 @@ -25431,9 +25380,9 @@ snapshots: metro-transform-worker@0.81.0: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 flow-enums-runtime: 0.0.6 metro: 0.81.0 metro-babel-transformer: 0.81.0 @@ -25452,11 +25401,11 @@ snapshots: dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -25501,11 +25450,11 @@ snapshots: dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -25561,7 +25510,7 @@ snapshots: micromark-util-html-tag-name: 2.0.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.0.4 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 @@ -25592,7 +25541,7 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 - micromark-extension-gfm-table@2.1.0: + micromark-extension-gfm-table@2.1.1: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.1 @@ -25617,7 +25566,7 @@ snapshots: micromark-extension-gfm-autolink-literal: 2.1.0 micromark-extension-gfm-footnote: 2.1.0 micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-table: 2.1.1 micromark-extension-gfm-tagfilter: 2.0.0 micromark-extension-gfm-task-list-item: 2.1.0 micromark-util-combine-extensions: 2.0.1 @@ -25779,7 +25728,7 @@ snapshots: micromark-util-encode: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-subtokenize@2.0.3: + micromark-util-subtokenize@2.0.4: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.1 @@ -25806,7 +25755,7 @@ snapshots: micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.0.4 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 transitivePeerDependencies: @@ -25919,11 +25868,11 @@ snapshots: mkdirp@1.0.4: {} - mlly@1.7.3: + mlly@1.7.4: dependencies: acorn: 8.14.0 - pathe: 1.1.2 - pkg-types: 1.3.0 + pathe: 2.0.2 + pkg-types: 1.3.1 ufo: 1.5.4 mobx-react-lite@4.1.0(mobx@6.13.5)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): @@ -25948,11 +25897,11 @@ snapshots: moo@0.5.2: {} - motion-dom@11.16.4: + motion-dom@11.18.1: dependencies: - motion-utils: 11.16.0 + motion-utils: 11.18.1 - motion-utils@11.16.0: {} + motion-utils@11.18.1: {} mqtt-packet@6.10.0: dependencies: @@ -26015,7 +25964,7 @@ snapshots: react-dom: 19.0.0(react@19.0.0) rtl-css-js: 1.16.1 stacktrace-js: 2.0.2 - stylis: 4.3.4 + stylis: 4.3.5 nanoid@3.3.8: {} @@ -26042,13 +25991,13 @@ snapshots: new-github-issue-url@0.2.1: {} - next-auth@4.24.11(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next-auth@4.24.11(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@panva/hkdf': 1.2.1 cookie: 0.7.2 jose: 4.15.9 - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) oauth: 0.9.15 openid-client: 5.7.1 preact: 10.25.2 @@ -26059,23 +26008,23 @@ snapshots: optionalDependencies: nodemailer: 6.9.16 - next-intl@3.26.1(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0): + next-intl@3.26.1(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0): dependencies: '@formatjs/intl-localematcher': 0.5.10 negotiator: 1.0.0 - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 use-intl: 3.26.3(react@19.0.0) next-plausible@3.12.4(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - next-safe-action@7.10.2(next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1): + next-safe-action@7.10.2(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.1): dependencies: - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: @@ -26083,7 +26032,7 @@ snapshots: next-seo@6.6.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -26093,24 +26042,24 @@ snapshots: '@next/env': 13.5.8 fast-glob: 3.3.2 minimist: 1.2.8 - next: 15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - next@15.1.2(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@next/env': 15.1.2 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.15 busboy: 1.6.0 - caniuse-lite: 1.0.30001692 + caniuse-lite: 1.0.30001696 postcss: 8.4.31 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - styled-jsx: 5.1.6(@babel/core@7.26.7)(react@19.0.0) + styled-jsx: 5.1.6(react@19.0.0) optionalDependencies: '@next/swc-darwin-arm64': 15.1.2 '@next/swc-darwin-x64': 15.1.2 @@ -26335,7 +26284,7 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -26343,14 +26292,14 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 object.fromentries@2.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 object.groupby@1.0.3: dependencies: @@ -26363,7 +26312,7 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 oidc-token-hash@5.0.3: {} @@ -26644,6 +26593,8 @@ snapshots: pathe@1.1.2: {} + pathe@2.0.2: {} + pathval@2.0.0: {} pbkdf2@3.1.2: @@ -26700,11 +26651,11 @@ snapshots: dependencies: find-up: 5.0.0 - pkg-types@1.3.0: + pkg-types@1.3.1: dependencies: confbox: 0.1.8 - mlly: 1.7.3 - pathe: 1.1.2 + mlly: 1.7.4 + pathe: 2.0.2 playwright-core@1.49.1: {} @@ -26732,7 +26683,7 @@ snapshots: polished@4.3.1: dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 possible-typed-array-names@1.0.0: {} @@ -26748,20 +26699,20 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.49 - postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)): + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)): dependencies: lilconfig: 3.1.3 yaml: 2.7.0 optionalDependencies: postcss: 8.4.49 - ts-node: 10.9.2(@types/node@22.12.0)(typescript@5.7.2) + ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) - postcss-load-config@6.0.1(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(yaml@2.7.0): + postcss-load-config@6.0.1(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.7.0): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 2.4.1 - postcss: 8.5.1 + postcss: 8.4.49 tsx: 4.19.2 yaml: 2.7.0 @@ -26800,12 +26751,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.1: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postgres-array@2.0.0: {} postgres-bytea@1.0.0: {} @@ -26839,9 +26784,9 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-packagejson@2.5.6(prettier@3.4.2): + prettier-plugin-packagejson@2.5.8(prettier@3.4.2): dependencies: - sort-package-json: 2.12.0 + sort-package-json: 2.14.0 synckit: 0.9.2 optionalDependencies: prettier: 3.4.2 @@ -26984,7 +26929,7 @@ snapshots: pngjs: 5.0.0 yargs: 15.4.1 - qs@6.13.1: + qs@6.14.0: dependencies: side-channel: 1.1.0 @@ -27084,11 +27029,11 @@ snapshots: dependencies: typescript: 5.7.2 - react-docgen@7.1.0: + react-docgen@7.1.1: dependencies: '@babel/core': 7.26.0 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 '@types/doctrine': 0.0.9 @@ -27112,7 +27057,7 @@ snapshots: react-error-boundary@3.1.4(react@19.0.0): dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 react: 19.0.0 react-fit@2.0.1(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): @@ -27169,33 +27114,33 @@ snapshots: transitivePeerDependencies: - supports-color - react-native-webview@13.12.5(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): + react-native-webview@13.12.5(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): dependencies: escape-string-regexp: 4.0.0 invariant: 2.2.4 react: 18.3.1 - react-native: 0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1) + react-native: 0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1) - react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): + react-native-webview@13.12.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1): dependencies: escape-string-regexp: 4.0.0 invariant: 2.2.4 react: 18.3.1 - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) + react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1) - react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1): + react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native-community/cli': 13.6.9(encoding@0.1.13) '@react-native-community/cli-platform-android': 13.6.9(encoding@0.1.13) '@react-native-community/cli-platform-ios': 13.6.9(encoding@0.1.13) '@react-native/assets-registry': 0.74.87 - '@react-native/codegen': 0.74.87(@babel/preset-env@7.26.0(@babel/core@7.26.0)) - '@react-native/community-cli-plugin': 0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(encoding@0.1.13) + '@react-native/codegen': 0.74.87(@babel/preset-env@7.26.7(@babel/core@7.26.0)) + '@react-native/community-cli-plugin': 0.74.87(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(encoding@0.1.13) '@react-native/gradle-plugin': 0.74.87 '@react-native/js-polyfills': 0.74.87 '@react-native/normalize-colors': 0.74.87 - '@react-native/virtualized-lists': 0.74.87(@types/react@18.3.11)(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + '@react-native/virtualized-lists': 0.74.87(@types/react@18.3.11)(react-native@0.74.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@types/react@18.3.11)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -27233,16 +27178,16 @@ snapshots: - supports-color - utf-8-validate - react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1): + react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native/assets-registry': 0.76.5 - '@react-native/codegen': 0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0)) - '@react-native/community-cli-plugin': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(encoding@0.1.13) + '@react-native/codegen': 0.76.5(@babel/preset-env@7.26.7(@babel/core@7.26.0)) + '@react-native/community-cli-plugin': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(encoding@0.1.13) '@react-native/gradle-plugin': 0.76.5 '@react-native/js-polyfills': 0.76.5 '@react-native/normalize-colors': 0.76.5 - '@react-native/virtualized-lists': 0.76.5(@types/react@19.0.1)(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) + '@react-native/virtualized-lists': 0.76.5(@types/react@19.0.1)(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.7(@babel/core@7.26.0))(@react-native-community/cli-server-api@13.6.9(encoding@0.1.13))(@types/react@19.0.1)(encoding@0.1.13)(react@18.3.1))(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -27297,24 +27242,24 @@ snapshots: react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.8(@types/react@18.3.11)(react@19.0.0): + react-remove-scroll-bar@2.3.8(@types/react@18.3.18)(react@19.0.0): dependencies: react: 19.0.0 - react-style-singleton: 2.2.3(@types/react@18.3.11)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@18.3.18)(react@19.0.0) tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 - react-remove-scroll@2.6.0(@types/react@18.3.11)(react@19.0.0): + react-remove-scroll@2.6.0(@types/react@18.3.18)(react@19.0.0): dependencies: react: 19.0.0 - react-remove-scroll-bar: 2.3.8(@types/react@18.3.11)(react@19.0.0) - react-style-singleton: 2.2.3(@types/react@18.3.11)(react@19.0.0) + react-remove-scroll-bar: 2.3.8(@types/react@18.3.18)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@18.3.18)(react@19.0.0) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@18.3.11)(react@19.0.0) - use-sidecar: 1.1.3(@types/react@18.3.11)(react@19.0.0) + use-callback-ref: 1.3.3(@types/react@18.3.18)(react@19.0.0) + use-sidecar: 1.1.3(@types/react@18.3.18)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 react-responsive-embed@2.1.0(prop-types@15.8.1)(react@19.0.0): dependencies: @@ -27333,13 +27278,13 @@ snapshots: react: 19.0.0 react-is: 18.3.1 - react-style-singleton@2.2.3(@types/react@18.3.11)(react@19.0.0): + react-style-singleton@2.2.3(@types/react@18.3.18)(react@19.0.0): dependencies: get-nonce: 1.0.1 react: 19.0.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 react-tabs@6.1.0(react@19.0.0): dependencies: @@ -27430,7 +27375,7 @@ snapshots: dependencies: picomatch: 2.3.1 - readdirp@4.0.2: {} + readdirp@4.1.1: {} readline@1.3.0: {} @@ -27496,7 +27441,7 @@ snapshots: redoc@2.2.0(core-js@3.40.0)(encoding@0.1.13)(enzyme@3.11.0)(mobx@6.13.5)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(styled-components@6.1.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0)): dependencies: '@cfaester/enzyme-adapter-react-18': 0.8.0(enzyme@3.11.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@redocly/openapi-core': 1.27.1(encoding@0.1.13) + '@redocly/openapi-core': 1.27.2(encoding@0.1.13) classnames: 2.5.1 core-js: 3.40.0 decko: 1.2.0 @@ -27534,7 +27479,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-intrinsic: 1.2.7 get-proto: 1.0.1 which-builtin-type: 1.2.1 @@ -27559,7 +27504,7 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 regex-recursion@4.3.0: dependencies: @@ -27678,19 +27623,11 @@ snapshots: require-from-string@2.0.2: {} - require-in-the-middle@7.4.0: - dependencies: - debug: 4.4.0 - module-details-from-path: 1.0.3 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - require-in-the-middle@7.5.0: dependencies: debug: 4.4.0 module-details-from-path: 1.0.3 - resolve: 1.22.8 + resolve: 1.22.10 transitivePeerDependencies: - supports-color @@ -27794,54 +27731,29 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.30.1: + rollup@4.32.1: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.30.1 - '@rollup/rollup-android-arm64': 4.30.1 - '@rollup/rollup-darwin-arm64': 4.30.1 - '@rollup/rollup-darwin-x64': 4.30.1 - '@rollup/rollup-freebsd-arm64': 4.30.1 - '@rollup/rollup-freebsd-x64': 4.30.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 - '@rollup/rollup-linux-arm-musleabihf': 4.30.1 - '@rollup/rollup-linux-arm64-gnu': 4.30.1 - '@rollup/rollup-linux-arm64-musl': 4.30.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 - '@rollup/rollup-linux-riscv64-gnu': 4.30.1 - '@rollup/rollup-linux-s390x-gnu': 4.30.1 - '@rollup/rollup-linux-x64-gnu': 4.30.1 - '@rollup/rollup-linux-x64-musl': 4.30.1 - '@rollup/rollup-win32-arm64-msvc': 4.30.1 - '@rollup/rollup-win32-ia32-msvc': 4.30.1 - '@rollup/rollup-win32-x64-msvc': 4.30.1 - fsevents: 2.3.3 - - rollup@4.31.0: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.31.0 - '@rollup/rollup-android-arm64': 4.31.0 - '@rollup/rollup-darwin-arm64': 4.31.0 - '@rollup/rollup-darwin-x64': 4.31.0 - '@rollup/rollup-freebsd-arm64': 4.31.0 - '@rollup/rollup-freebsd-x64': 4.31.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.31.0 - '@rollup/rollup-linux-arm-musleabihf': 4.31.0 - '@rollup/rollup-linux-arm64-gnu': 4.31.0 - '@rollup/rollup-linux-arm64-musl': 4.31.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.31.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.31.0 - '@rollup/rollup-linux-riscv64-gnu': 4.31.0 - '@rollup/rollup-linux-s390x-gnu': 4.31.0 - '@rollup/rollup-linux-x64-gnu': 4.31.0 - '@rollup/rollup-linux-x64-musl': 4.31.0 - '@rollup/rollup-win32-arm64-msvc': 4.31.0 - '@rollup/rollup-win32-ia32-msvc': 4.31.0 - '@rollup/rollup-win32-x64-msvc': 4.31.0 + '@rollup/rollup-android-arm-eabi': 4.32.1 + '@rollup/rollup-android-arm64': 4.32.1 + '@rollup/rollup-darwin-arm64': 4.32.1 + '@rollup/rollup-darwin-x64': 4.32.1 + '@rollup/rollup-freebsd-arm64': 4.32.1 + '@rollup/rollup-freebsd-x64': 4.32.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.32.1 + '@rollup/rollup-linux-arm-musleabihf': 4.32.1 + '@rollup/rollup-linux-arm64-gnu': 4.32.1 + '@rollup/rollup-linux-arm64-musl': 4.32.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.32.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.32.1 + '@rollup/rollup-linux-riscv64-gnu': 4.32.1 + '@rollup/rollup-linux-s390x-gnu': 4.32.1 + '@rollup/rollup-linux-x64-gnu': 4.32.1 + '@rollup/rollup-linux-x64-musl': 4.32.1 + '@rollup/rollup-win32-arm64-msvc': 4.32.1 + '@rollup/rollup-win32-ia32-msvc': 4.32.1 + '@rollup/rollup-win32-x64-msvc': 4.32.1 fsevents: 2.3.3 rrweb-cssom@0.7.1: {} @@ -27855,7 +27767,7 @@ snapshots: rtl-css-js@1.16.1: dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 run-parallel@1.2.0: dependencies: @@ -28067,7 +27979,7 @@ snapshots: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 setimmediate@1.0.5: {} @@ -28241,7 +28153,7 @@ snapshots: sort-object-keys@1.1.3: {} - sort-package-json@2.12.0: + sort-package-json@2.14.0: dependencies: detect-indent: 7.0.1 detect-newline: 4.0.1 @@ -28283,16 +28195,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.20 + spdx-license-ids: 3.0.21 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.20 + spdx-license-ids: 3.0.21 - spdx-license-ids@3.0.20: {} + spdx-license-ids@3.0.21: {} split2@3.2.2: dependencies: @@ -28416,7 +28328,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-intrinsic: 1.2.7 gopd: 1.2.0 has-symbols: 1.1.0 @@ -28437,7 +28349,7 @@ snapshots: define-data-property: 1.1.4 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 string.prototype.trimend@1.0.9: @@ -28445,13 +28357,13 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 string_decoder@1.1.1: dependencies: @@ -28501,7 +28413,7 @@ snapshots: stripe@16.7.0: dependencies: '@types/node': 22.10.2 - qs: 6.13.1 + qs: 6.14.0 strnum@1.0.5: {} @@ -28525,16 +28437,14 @@ snapshots: stylis: 4.3.2 tslib: 2.6.2 - styled-jsx@5.1.6(@babel/core@7.26.7)(react@19.0.0): + styled-jsx@5.1.6(react@19.0.0): dependencies: client-only: 0.0.1 react: 19.0.0 - optionalDependencies: - '@babel/core': 7.26.7 stylis@4.3.2: {} - stylis@4.3.4: {} + stylis@4.3.5: {} sucrase@3.35.0: dependencies: @@ -28608,7 +28518,7 @@ snapshots: tailwind-merge@2.5.5: {} - tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)): + tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -28627,7 +28537,7 @@ snapshots: postcss: 8.4.49 postcss-import: 15.1.0(postcss@8.4.49) postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2)) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.10 @@ -28715,6 +28625,12 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + test-exclude@7.0.1: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 10.4.5 + minimatch: 9.0.5 + text-table@0.2.0: {} thenify-all@1.6.0: @@ -28754,20 +28670,23 @@ snapshots: tinyglobby@0.2.10: dependencies: - fdir: 6.4.2(picomatch@4.0.2) + fdir: 6.4.3(picomatch@4.0.2) picomatch: 4.0.2 tinypool@1.0.2: {} tinyrainbow@1.2.0: {} + tinyrainbow@2.0.0: + optional: true + tinyspy@3.0.2: {} - tldts-core@6.1.71: {} + tldts-core@6.1.75: {} - tldts@6.1.71: + tldts@6.1.75: dependencies: - tldts-core: 6.1.71 + tldts-core: 6.1.75 tmp@0.0.33: dependencies: @@ -28789,7 +28708,7 @@ snapshots: tough-cookie@5.1.0: dependencies: - tldts: 6.1.71 + tldts: 6.1.75 tr46@0.0.3: {} @@ -28825,14 +28744,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@22.12.0)(typescript@5.7.2): + ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.12.0 + '@types/node': 22.10.2 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -28870,27 +28789,27 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.5(@microsoft/api-extractor@7.49.1(@types/node@22.12.0))(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0): + tsup@8.3.5(@microsoft/api-extractor@7.49.1(@types/node@22.10.2))(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0): dependencies: bundle-require: 5.1.0(esbuild@0.24.0) cac: 6.7.14 chokidar: 4.0.3 - consola: 3.3.3 + consola: 3.4.0 debug: 4.4.0 esbuild: 0.24.0 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.1)(postcss@8.5.1)(tsx@4.19.2)(yaml@2.7.0) + postcss-load-config: 6.0.1(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.7.0) resolve-from: 5.0.0 - rollup: 4.30.1 + rollup: 4.32.1 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 tinyglobby: 0.2.10 tree-kill: 1.2.2 optionalDependencies: - '@microsoft/api-extractor': 7.49.1(@types/node@22.12.0) - postcss: 8.5.1 + '@microsoft/api-extractor': 7.49.1(@types/node@22.10.2) + postcss: 8.4.49 typescript: 5.7.2 transitivePeerDependencies: - jiti @@ -28906,7 +28825,7 @@ snapshots: tsx@4.19.2: dependencies: esbuild: 0.23.1 - get-tsconfig: 4.8.1 + get-tsconfig: 4.10.0 optionalDependencies: fsevents: 2.3.3 @@ -28970,7 +28889,7 @@ snapshots: typed-array-byte-length@1.0.3: dependencies: call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 @@ -28979,7 +28898,7 @@ snapshots: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 @@ -28988,7 +28907,7 @@ snapshots: typed-array-length@1.0.7: dependencies: call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 is-typed-array: 1.1.15 possible-typed-array-names: 1.0.0 @@ -29023,8 +28942,6 @@ snapshots: undici-types@6.20.0: {} - undici@6.21.0: {} - undici@6.21.1: {} unicode-canonical-property-names-ecmascript@2.0.1: {} @@ -29170,28 +29087,28 @@ snapshots: url@0.11.4: dependencies: punycode: 1.4.1 - qs: 6.13.1 + qs: 6.14.0 - use-callback-ref@1.3.3(@types/react@18.3.11)(react@19.0.0): + use-callback-ref@1.3.3(@types/react@18.3.18)(react@19.0.0): dependencies: react: 19.0.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 use-intl@3.26.3(react@19.0.0): dependencies: '@formatjs/fast-memoize': 2.2.6 - intl-messageformat: 10.7.11 + intl-messageformat: 10.7.14 react: 19.0.0 - use-sidecar@1.1.3(@types/react@18.3.11)(react@19.0.0): + use-sidecar@1.1.3(@types/react@18.3.18)(react@19.0.0): dependencies: detect-node-es: 1.1.0 react: 19.0.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.18 use-sync-external-store@1.4.0(react@19.0.0): dependencies: @@ -29240,13 +29157,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.8(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0) + vite: 5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -29258,10 +29175,32 @@ snapshots: - supports-color - terser - vite-plugin-dts@4.3.0(@types/node@22.12.0)(rollup@4.31.0)(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + vite-node@3.0.4(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): dependencies: - '@microsoft/api-extractor': 7.49.1(@types/node@22.12.0) - '@rollup/pluginutils': 5.1.4(rollup@4.31.0) + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 2.0.2 + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + optional: true + + vite-plugin-dts@4.3.0(@types/node@22.10.2)(rollup@4.32.1)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + dependencies: + '@microsoft/api-extractor': 7.49.1(@types/node@22.10.2) + '@rollup/pluginutils': 5.1.4(rollup@4.32.1) '@volar/typescript': 2.4.11 '@vue/language-core': 2.1.6(typescript@5.7.2) compare-versions: 6.1.1 @@ -29271,49 +29210,49 @@ snapshots: magic-string: 0.30.17 typescript: 5.7.2 optionalDependencies: - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-node-polyfills@0.22.0(rollup@4.31.0)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + vite-plugin-node-polyfills@0.22.0(rollup@4.32.1)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.31.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.32.1) node-stdlib-browser: 1.3.0 - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - rollup - vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.7.2) optionalDependencies: - vite: 6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0): + vite@5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.31.0 + rollup: 4.32.1 optionalDependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 fsevents: 2.3.3 lightningcss: 1.27.0 terser: 5.37.0 - vite@6.0.9(@types/node@22.12.0)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): + vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): dependencies: esbuild: 0.24.2 postcss: 8.4.49 - rollup: 4.31.0 + rollup: 4.32.1 optionalDependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 fsevents: 2.3.3 jiti: 2.4.1 lightningcss: 1.27.0 @@ -29321,16 +29260,16 @@ snapshots: tsx: 4.19.2 yaml: 2.7.0 - vitest-mock-extended@2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): + vitest-mock-extended@2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): dependencies: ts-essentials: 10.0.4(typescript@5.7.2) typescript: 5.7.2 - vitest: 2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + vitest: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) - vitest@2.1.8(@types/node@22.12.0)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0): + vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -29346,11 +29285,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.14(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.12.0)(lightningcss@1.27.0)(terser@5.37.0) + vite: 5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) + vite-node: 2.1.8(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.12.0 + '@types/node': 22.10.2 jsdom: 25.0.1 transitivePeerDependencies: - less @@ -29363,6 +29302,47 @@ snapshots: - supports-color - terser + vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): + dependencies: + '@vitest/expect': 3.0.4 + '@vitest/mocker': 3.0.4(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + '@vitest/pretty-format': 3.0.4 + '@vitest/runner': 3.0.4 + '@vitest/snapshot': 3.0.4 + '@vitest/spy': 3.0.4 + '@vitest/utils': 3.0.4 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.17 + pathe: 2.0.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 2.0.0 + vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite-node: 3.0.4(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/debug': 4.1.12 + '@types/node': 22.10.2 + jsdom: 25.0.1 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + optional: true + vlq@1.0.1: {} vm-browserify@1.1.2: {} @@ -29481,7 +29461,7 @@ snapshots: call-bound: 1.0.3 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.1.0 + is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 is-generator-function: 1.1.0 @@ -29506,7 +29486,7 @@ snapshots: available-typed-arrays: 1.0.7 call-bind: 1.0.8 call-bound: 1.0.3 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-tostringtag: 1.0.2 @@ -29659,7 +29639,7 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yjs@13.6.21: + yjs@13.6.23: dependencies: lib0: 0.2.99 diff --git a/sonar-project.properties b/sonar-project.properties index e98a715567..68ca14c10d 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,5 +1,6 @@ sonar.projectKey=formbricks_formbricks sonar.organization=formbricks +sonar.javascript.lcov.reportPaths=./apps/web/coverage/lcov.info # This is the name and version displayed in the SonarCloud UI. #sonar.projectName=formbricks From db9a53f92307bd019637f4deed5d8ae648cf83e2 Mon Sep 17 00:00:00 2001 From: Paribesh Nepal <100255987+Paribesh01@users.noreply.github.com> Date: Tue, 4 Feb 2025 15:02:57 +0530 Subject: [PATCH 13/44] fix: userError (#4703) Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Co-authored-by: Dhruwang --- apps/web/modules/auth/verification-requested/page.tsx | 3 ++- apps/web/modules/auth/verify/page.tsx | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/web/modules/auth/verification-requested/page.tsx b/apps/web/modules/auth/verification-requested/page.tsx index bd1c5eef1b..fd3dcf6114 100644 --- a/apps/web/modules/auth/verification-requested/page.tsx +++ b/apps/web/modules/auth/verification-requested/page.tsx @@ -6,8 +6,9 @@ import { ZUserEmail } from "@formbricks/types/user"; export const VerificationRequestedPage = async ({ searchParams }) => { const t = await getTranslations(); + const { token } = await searchParams; try { - const email = getEmailFromEmailToken(searchParams.token); + const email = getEmailFromEmailToken(token); const parsedEmail = ZUserEmail.safeParse(email); if (parsedEmail.success) { return ( diff --git a/apps/web/modules/auth/verify/page.tsx b/apps/web/modules/auth/verify/page.tsx index 19319d2bf8..2975507889 100644 --- a/apps/web/modules/auth/verify/page.tsx +++ b/apps/web/modules/auth/verify/page.tsx @@ -4,10 +4,12 @@ import { getTranslations } from "next-intl/server"; export const VerifyPage = async ({ searchParams }) => { const t = await getTranslations(); - return searchParams && searchParams.token ? ( + const { token } = await searchParams; + + return token ? (

    {t("auth.verify.verifying")}

    - + ) : (

    {t("auth.verify.no_token_provided")}

    From 7e3dd7d6248d6aa5ed59b06aeab7e63ce47c4afd Mon Sep 17 00:00:00 2001 From: Kartik Saini <41051387+kart1ka@users.noreply.github.com> Date: Tue, 4 Feb 2025 15:15:16 +0530 Subject: [PATCH 14/44] fix: what_is_a_pannel_answer text key missing (#4679) --- .../summary/components/shareEmbedModal/PanelInfoView.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx index 6027ef6b53..6e9e32990a 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx @@ -30,7 +30,7 @@ export const PanelInfoView = ({ disableBack, handleInitialPageButton }: PanelInf Prolific panel selection UI

    {t("environments.surveys.summary.what_is_a_panel")}

    -

    {t("environments.surveys.summary.what_is_a_pannel_answer")}

    +

    {t("environments.surveys.summary.what_is_a_panel_answer")}

    {t("environments.surveys.summary.when_do_i_need_it")}

    From 26cca5c2f8c7bfd4f758c9f1570f41af399383c8 Mon Sep 17 00:00:00 2001 From: Matti Nannt Date: Tue, 4 Feb 2025 13:25:50 +0100 Subject: [PATCH 15/44] fix: docker corepack issues (#4709) --- apps/web/Dockerfile | 2 +- apps/web/package.json | 4 +- packages/lib/package.json | 22 +- pnpm-lock.yaml | 1878 ++++++++++++++++++------------------- 4 files changed, 929 insertions(+), 977 deletions(-) diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 35afbbae6c..473dd0aaca 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -18,7 +18,7 @@ FROM node:22-alpine AS base FROM base AS installer # Enable corepack and prepare pnpm -RUN corepack enable +RUN npm install -g pnpm@9.15.0 # Install necessary build tools and compilers RUN apk update && apk add --no-cache g++ cmake make gcc python3 openssl-dev jq diff --git a/apps/web/package.json b/apps/web/package.json index 74c7e21be3..d8e3c4e11b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -14,7 +14,7 @@ "test:coverage": "dotenv -e ../../.env -- vitest run --coverage" }, "dependencies": { - "@ai-sdk/azure": "1.0.10", + "@ai-sdk/azure": "1.1.9", "@dnd-kit/core": "6.3.1", "@dnd-kit/modifiers": "9.0.0", "@dnd-kit/sortable": "10.0.0", @@ -67,7 +67,7 @@ "@vercel/og": "0.6.4", "@vercel/otel": "1.10.0", "@vercel/speed-insights": "1.1.0", - "ai": "4.0.18", + "ai": "4.1.17", "autoprefixer": "10.4.20", "bcryptjs": "2.4.3", "boring-avatars": "1.11.2", diff --git a/packages/lib/package.json b/packages/lib/package.json index 3e3e6a110c..9f23a0abb0 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -15,38 +15,38 @@ "test": "dotenv -e ../../.env -- vitest run" }, "dependencies": { - "@ai-sdk/azure": "1.0.10", - "@aws-sdk/client-s3": "3.712.0", - "@aws-sdk/s3-presigned-post": "3.712.0", - "@aws-sdk/s3-request-presigner": "3.712.0", + "@ai-sdk/azure": "1.1.9", + "@aws-sdk/client-s3": "3.741.0", + "@aws-sdk/s3-presigned-post": "3.741.0", + "@aws-sdk/s3-request-presigner": "3.741.0", "@formbricks/api": "workspace:*", "@formbricks/database": "workspace:*", "@formbricks/types": "workspace:*", "@paralleldrive/cuid2": "2.2.2", - "@t3-oss/env-nextjs": "0.11.1", - "@ungap/structured-clone": "1.2.1", - "aws-crt": "1.24.0", + "@t3-oss/env-nextjs": "0.12.0", + "@ungap/structured-clone": "1.3.0", + "aws-crt": "1.25.3", "date-fns": "4.1.0", "jsonwebtoken": "9.0.2", "markdown-it": "14.1.0", "mime-types": "2.1.35", "nanoid": "5.0.9", "next-auth": "4.24.11", - "posthog-node": "4.3.2", + "posthog-node": "4.4.1", "qrcode": "1.5.4", "server-only": "0.0.1", "superjson": "2.2.2", - "tailwind-merge": "2.5.5" + "tailwind-merge": "3.0.1" }, "devDependencies": { "@formbricks/config-typescript": "workspace:*", "@formbricks/eslint-config": "workspace:*", - "@types/jsonwebtoken": "9.0.7", + "@types/jsonwebtoken": "9.0.8", "@types/mime-types": "2.1.4", "@types/ungap__structured-clone": "1.2.0", "dotenv": "16.4.7", "ts-node": "10.9.2", - "vitest": "2.1.8", + "vitest": "3.0.5", "vitest-mock-extended": "2.0.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0c374a3c2a..23ec500b01 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -350,8 +350,8 @@ importers: apps/web: dependencies: '@ai-sdk/azure': - specifier: 1.0.10 - version: 1.0.10(zod@3.24.1) + specifier: 1.1.9 + version: 1.1.9(zod@3.24.1) '@dnd-kit/core': specifier: 6.3.1 version: 6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -498,7 +498,7 @@ importers: version: 8.20.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@vercel/functions': specifier: 1.5.2 - version: 1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))) + version: 1.5.2(@aws-sdk/credential-provider-web-identity@3.734.0) '@vercel/og': specifier: 0.6.4 version: 0.6.4 @@ -509,8 +509,8 @@ importers: specifier: 1.1.0 version: 1.1.0(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) ai: - specifier: 4.0.18 - version: 4.0.18(react@19.0.0)(zod@3.24.1) + specifier: 4.1.17 + version: 4.1.17(react@19.0.0)(zod@3.24.1) autoprefixer: specifier: 10.4.20 version: 10.4.20(postcss@8.4.49) @@ -558,7 +558,7 @@ importers: version: 9.0.2 langfuse-vercel: specifier: 3.31.3 - version: 3.31.3(ai@4.0.18(react@19.0.0)(zod@3.24.1)) + version: 3.31.3(ai@4.1.17(react@19.0.0)(zod@3.24.1)) lexical: specifier: 0.21.0 version: 0.21.0 @@ -751,7 +751,7 @@ importers: version: 8.18.0(eslint@8.57.0)(typescript@5.7.2) '@vercel/style-guide': specifier: 6.0.0 - version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) eslint-config-next: specifier: 15.1.0 version: 15.1.0(eslint@8.57.0)(typescript@5.7.2) @@ -899,17 +899,17 @@ importers: packages/lib: dependencies: '@ai-sdk/azure': - specifier: 1.0.10 - version: 1.0.10(zod@3.24.1) + specifier: 1.1.9 + version: 1.1.9(zod@3.24.1) '@aws-sdk/client-s3': - specifier: 3.712.0 - version: 3.712.0(aws-crt@1.24.0) + specifier: 3.741.0 + version: 3.741.0(aws-crt@1.25.3) '@aws-sdk/s3-presigned-post': - specifier: 3.712.0 - version: 3.712.0(aws-crt@1.24.0) + specifier: 3.741.0 + version: 3.741.0(aws-crt@1.25.3) '@aws-sdk/s3-request-presigner': - specifier: 3.712.0 - version: 3.712.0 + specifier: 3.741.0 + version: 3.741.0 '@formbricks/api': specifier: workspace:* version: link:../api @@ -923,14 +923,14 @@ importers: specifier: 2.2.2 version: 2.2.2 '@t3-oss/env-nextjs': - specifier: 0.11.1 - version: 0.11.1(typescript@5.7.2)(zod@3.24.1) + specifier: 0.12.0 + version: 0.12.0(typescript@5.7.2)(zod@3.24.1) '@ungap/structured-clone': - specifier: 1.2.1 - version: 1.2.1 + specifier: 1.3.0 + version: 1.3.0 aws-crt: - specifier: 1.24.0 - version: 1.24.0 + specifier: 1.25.3 + version: 1.25.3 date-fns: specifier: 4.1.0 version: 4.1.0 @@ -950,8 +950,8 @@ importers: specifier: 4.24.11 version: 4.24.11(next@15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@6.9.16)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) posthog-node: - specifier: 4.3.2 - version: 4.3.2 + specifier: 4.4.1 + version: 4.4.1 qrcode: specifier: 1.5.4 version: 1.5.4 @@ -962,8 +962,8 @@ importers: specifier: 2.2.2 version: 2.2.2 tailwind-merge: - specifier: 2.5.5 - version: 2.5.5 + specifier: 3.0.1 + version: 3.0.1 devDependencies: '@formbricks/config-typescript': specifier: workspace:* @@ -972,8 +972,8 @@ importers: specifier: workspace:* version: link:../config-eslint '@types/jsonwebtoken': - specifier: 9.0.7 - version: 9.0.7 + specifier: 9.0.8 + version: 9.0.8 '@types/mime-types': specifier: 2.1.4 version: 2.1.4 @@ -987,11 +987,11 @@ importers: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) vitest: - specifier: 2.1.8 - version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + specifier: 3.0.5 + version: 3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vitest-mock-extended: specifier: 2.0.2 - version: 2.0.2(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + version: 2.0.2(typescript@5.7.2)(vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) packages/react-native: dependencies: @@ -1138,20 +1138,20 @@ packages: '@adobe/css-tools@4.4.1': resolution: {integrity: sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==} - '@ai-sdk/azure@1.0.10': - resolution: {integrity: sha512-drbmzYS0iPRU/I3xnzphxNsYvSMjYhoq8gK34zShjeJGpPbewZPsXbPrncX6gdrkD4JR021yCahPc9E6RpXr5Q==} + '@ai-sdk/azure@1.1.9': + resolution: {integrity: sha512-bQL/HGsj8NndoXomgZ7m3LVj/hyRy3alTZNPT8OkUL24Uj3P0mWad4sejaRdSVLr2joBb74YqQ2jlMvRGGG/bw==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 - '@ai-sdk/openai@1.0.8': - resolution: {integrity: sha512-wcTHM9qgRWGYVO3WxPSTN/RwnZ9R5/17xyo61iUCCSCZaAuJyh6fKddO0/oamwDp3BG7g+4wbfAyuTo32H+fHw==} + '@ai-sdk/openai@1.1.9': + resolution: {integrity: sha512-t/CpC4TLipdbgBJTMX/otzzqzCMBSPQwUOkYPGbT/jyuC86F+YO9o+LS0Ty2pGUE1kyT+B3WmJ318B16ZCg4hw==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 - '@ai-sdk/provider-utils@2.0.4': - resolution: {integrity: sha512-GMhcQCZbwM6RoZCri0MWeEWXRt/T+uCxsmHEsTwNvEH3GDjNzchfX25C8ftry2MeEOOn6KfqCLSKomcgK6RoOg==} + '@ai-sdk/provider-utils@2.1.6': + resolution: {integrity: sha512-Pfyaj0QZS22qyVn5Iz7IXcJ8nKIKlu2MeSAdKJzTwkAks7zdLaKVB+396Rqcp1bfQnxl7vaduQVMQiXUrgK8Gw==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -1159,12 +1159,12 @@ packages: zod: optional: true - '@ai-sdk/provider@1.0.2': - resolution: {integrity: sha512-YYtP6xWQyaAf5LiWLJ+ycGTOeBLWrED7LUrvc+SQIWhGaneylqbaGsyQL7VouQUeQ4JZ1qKYZuhmi3W56HADPA==} + '@ai-sdk/provider@1.0.7': + resolution: {integrity: sha512-q1PJEZ0qD9rVR+8JFEd01/QM++csMT5UVwYXSN2u54BrVw/D8TZLTeg2FEfKK00DgAx0UtWd8XOhhwITP9BT5g==} engines: {node: '>=18'} - '@ai-sdk/react@1.0.6': - resolution: {integrity: sha512-8Hkserq0Ge6AEi7N4hlv2FkfglAGbkoAXEZ8YSp255c3PbnZz6+/5fppw+aROmZMOfNwallSRuy1i/iPa2rBpQ==} + '@ai-sdk/react@1.1.8': + resolution: {integrity: sha512-buHm7hP21xEOksnRQtJX9fKbi7cAUwanEBa5niddTDibCDKd+kIXP2vaJGy8+heB3rff+XSW3BWlA8pscK+n1g==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -1175,8 +1175,8 @@ packages: zod: optional: true - '@ai-sdk/ui-utils@1.0.5': - resolution: {integrity: sha512-DGJSbDf+vJyWmFNexSPUsS1AAy7gtsmFmoSyNbNbJjwl9hRIf2dknfA1V0ahx6pg3NNklNYFm53L8Nphjovfvg==} + '@ai-sdk/ui-utils@1.1.8': + resolution: {integrity: sha512-nbok53K1EalO2sZjBLFB33cqs+8SxiL6pe7ekZ7+5f2MJTwdvpShl6d9U4O8fO3DnZ9pYLzaVC0XNMxnJt030Q==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -1308,148 +1308,136 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.712.0': - resolution: {integrity: sha512-Hq1IIwOFutmHtTz3mROR1XhTDL8rxcYbYw3ajjgeMJB5tjcvodpfkfz/L4dxXZMwqylWf6SNQNAiaGh5mlsGGQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/client-s3@3.741.0': + resolution: {integrity: sha512-sZvdbRZ+E9/GcOMUOkZvYvob95N6c9LdzDneXHFASA7OIaEOQxQT1Arimz7JpEhfq/h9K2/j7wNO4jh4x80bmA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/client-sso-oidc@3.712.0': - resolution: {integrity: sha512-xNFrG9syrG6pxUP7Ld/nu3afQ9+rbJM9qrE+wDNz4VnNZ3vLiJty4fH85zBFhOQ5OF2DIJTWsFzXGi2FYjsCMA==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.712.0 + '@aws-sdk/client-sso@3.734.0': + resolution: {integrity: sha512-oerepp0mut9VlgTwnG5Ds/lb0C0b2/rQ+hL/rF6q+HGKPfGsCuPvFx1GtwGKCXd49ase88/jVgrhcA9OQbz3kg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/client-sso@3.712.0': - resolution: {integrity: sha512-tBo/eW3YpZ9f3Q1qA7aA8uliNFJJX0OP7R2IUJ8t6rqVTk15wWCEPNmXzUZKgruDnKUfCaF4+r9q/Yy4fBc9PA==} - engines: {node: '>=16.0.0'} + '@aws-sdk/core@3.734.0': + resolution: {integrity: sha512-SxnDqf3vobdm50OLyAKfqZetv6zzwnSqwIwd3jrbopxxHKqNIM/I0xcYjD6Tn+mPig+u7iRKb9q3QnEooFTlmg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/client-sts@3.712.0': - resolution: {integrity: sha512-gIO6BD+hkEe3GKQhbiFP0zcNQv0EkP1Cl9SOstxS+X9CeudEgVX/xEPUjyoFVkfkntPBJ1g0I1u5xOzzRExl4g==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-env@3.734.0': + resolution: {integrity: sha512-gtRkzYTGafnm1FPpiNO8VBmJrYMoxhDlGPYDVcijzx3DlF8dhWnowuSBCxLSi+MJMx5hvwrX2A+e/q0QAeHqmw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/core@3.709.0': - resolution: {integrity: sha512-7kuSpzdOTAE026j85wq/fN9UDZ70n0OHw81vFqMWwlEFtm5IQ/MRCLKcC4HkXxTdfy1PqFlmoXxWqeBa15tujw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-http@3.734.0': + resolution: {integrity: sha512-JFSL6xhONsq+hKM8xroIPhM5/FOhiQ1cov0lZxhzZWj6Ai3UAjucy3zyIFDr9MgP1KfCYNdvyaUq9/o+HWvEDg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-env@3.709.0': - resolution: {integrity: sha512-ZMAp9LSikvHDFVa84dKpQmow6wsg956Um20cKuioPpX2GGreJFur7oduD+tRJT6FtIOHn+64YH+0MwiXLhsaIQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-ini@3.741.0': + resolution: {integrity: sha512-/XvnVp6zZXsyUlP1FtmspcWnd+Z1u2WK0wwzTE/x277M0oIhAezCW79VmcY4jcDQbYH+qMbtnBexfwgFDARxQg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-http@3.709.0': - resolution: {integrity: sha512-lIS7XLwCOyJnLD70f+VIRr8DNV1HPQe9oN6aguYrhoczqz7vDiVZLe3lh714cJqq9rdxzFypK5DqKHmcscMEPQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-node@3.741.0': + resolution: {integrity: sha512-iz/puK9CZZkZjrKXX2W+PaiewHtlcD7RKUIsw4YHFyb8lrOt7yTYpM6VjeI+T//1sozjymmAnnp1SST9TXApLQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-ini@3.712.0': - resolution: {integrity: sha512-sTsdQ/Fm/suqMdpjhMuss/5uKL18vcuWnNTQVrG9iGNRqZLbq65MXquwbUpgzfoUmIcH+4CrY6H2ebpTIECIag==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.712.0 + '@aws-sdk/credential-provider-process@3.734.0': + resolution: {integrity: sha512-zvjsUo+bkYn2vjT+EtLWu3eD6me+uun+Hws1IyWej/fKFAqiBPwyeyCgU7qjkiPQSXqk1U9+/HG9IQ6Iiz+eBw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-node@3.712.0': - resolution: {integrity: sha512-gXrHymW3rMRYORkPVQwL8Gi5Lu92F16SoZR543x03qCi7rm00oL9tRD85ACxkhprS1Wh8lUIUMNoeiwnYWTNuQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-sso@3.734.0': + resolution: {integrity: sha512-cCwwcgUBJOsV/ddyh1OGb4gKYWEaTeTsqaAK19hiNINfYV/DO9r4RMlnWAo84sSBfJuj9shUNsxzyoe6K7R92Q==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-process@3.709.0': - resolution: {integrity: sha512-IAC+jPlGQII6jhIylHOwh3RgSobqlgL59nw2qYTURr8hMCI0Z1p5y2ee646HTVt4WeCYyzUAXfxr6YI/Vitv+Q==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-web-identity@3.734.0': + resolution: {integrity: sha512-t4OSOerc+ppK541/Iyn1AS40+2vT/qE+MFMotFkhCgCJbApeRF2ozEdnDN6tGmnl4ybcUuxnp9JWLjwDVlR/4g==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-sso@3.712.0': - resolution: {integrity: sha512-8lCMxY7Lb9VK9qdlNXRJXE3W1UDVURnJZ3a4XWYNY6yr1TfQaN40mMyXX1oNlXXJtMV0szRvjM8dZj37E/ESAw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-bucket-endpoint@3.734.0': + resolution: {integrity: sha512-etC7G18aF7KdZguW27GE/wpbrNmYLVT755EsFc8kXpZj8D6AFKxc7OuveinJmiy0bYXAMspJUWsF6CrGpOw6CQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-web-identity@3.709.0': - resolution: {integrity: sha512-2lbDfE0IQ6gma/7BB2JpkjW5G0wGe4AS0x80oybYAYYviJmUtIR3Cn2pXun6bnAWElt4wYKl4su7oC36rs5rNA==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.709.0 + '@aws-sdk/middleware-expect-continue@3.734.0': + resolution: {integrity: sha512-P38/v1l6HjuB2aFUewt7ueAW5IvKkFcv5dalPtbMGRhLeyivBOHwbCyuRKgVs7z7ClTpu9EaViEGki2jEQqEsQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-bucket-endpoint@3.709.0': - resolution: {integrity: sha512-03+tJOd7KIZOiqWH7Z8BOfQIWkKJgjcpKOJKZ6FR2KjWGUOE1G+bo11wF4UuHQ0RmpKnApt+pQghZmSnE7WEeg==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-flexible-checksums@3.735.0': + resolution: {integrity: sha512-Tx7lYTPwQFRe/wQEHMR6Drh/S+X0ToAEq1Ava9QyxV1riwtepzRLojpNDELFb3YQVVYbX7FEiBMCJLMkmIIY+A==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-expect-continue@3.709.0': - resolution: {integrity: sha512-Tbl/DFvE4rHl8lMb9IzetwK4tf5R3VeHZkvEXQalsWoK0tbEQ8kXWi7wAYO4qbE7bFVvaxKX+irjJjTxf3BrCQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-host-header@3.734.0': + resolution: {integrity: sha512-LW7RRgSOHHBzWZnigNsDIzu3AiwtjeI2X66v+Wn1P1u+eXssy1+up4ZY/h+t2sU4LU36UvEf+jrZti9c6vRnFw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.709.0': - resolution: {integrity: sha512-wbYm9tkyCaqMeU82yjaXw7V5BxCSlSLNupENW63LC7Fvyo/aQzj6LjSMHcBpR2QwjBEhXCtF47L7aQ8SPTNhdw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-location-constraint@3.734.0': + resolution: {integrity: sha512-EJEIXwCQhto/cBfHdm3ZOeLxd2NlJD+X2F+ZTOxzokuhBtY0IONfC/91hOo5tWQweerojwshSMHRCKzRv1tlwg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-host-header@3.709.0': - resolution: {integrity: sha512-8gQYCYAaIw4lOCd5WYdf15Y/61MgRsAnrb2eiTl+icMlUOOzl8aOl5iDwm/Idp0oHZTflwxM4XSvGXO83PRWcw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-logger@3.734.0': + resolution: {integrity: sha512-mUMFITpJUW3LcKvFok176eI5zXAUomVtahb9IQBwLzkqFYOrMJvWAvoV4yuxrJ8TlQBG8gyEnkb9SnhZvjg67w==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-location-constraint@3.709.0': - resolution: {integrity: sha512-5YQWPXfZq7OE0jB2G0PP8K10GBod/YPJXb+1CfJS6FbQaglRoIm8KZmVEvJNnptSKyGtE62veeCcCQcfAUfFig==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-recursion-detection@3.734.0': + resolution: {integrity: sha512-CUat2d9ITsFc2XsmeiRQO96iWpxSKYFjxvj27Hc7vo87YUHRnfMfnc8jw1EpxEwMcvBD7LsRa6vDNky6AjcrFA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-logger@3.709.0': - resolution: {integrity: sha512-jDoGSccXv9zebnpUoisjWd5u5ZPIalrmm6TjvPzZ8UqzQt3Beiz0tnQwmxQD6KRc7ADweWP5Ntiqzbw9xpVajg==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-sdk-s3@3.740.0': + resolution: {integrity: sha512-VML9TzNoQdAs5lSPQSEgZiPgMUSz2H7SltaLb9g4tHwKK5xQoTq5WcDd6V1d2aPxSN5Q2Q63aiVUBby6MdUN/Q==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-recursion-detection@3.709.0': - resolution: {integrity: sha512-PObL/wLr4lkfbQ0yXUWaoCWu/jcwfwZzCjsUiXW/H6hW9b/00enZxmx7OhtJYaR6xmh/Lcx5wbhIoDCbzdv0tw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-ssec@3.734.0': + resolution: {integrity: sha512-d4yd1RrPW/sspEXizq2NSOUivnheac6LPeLSLnaeTbBG9g1KqIqvCzP1TfXEqv2CrWfHEsWtJpX7oyjySSPvDQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-sdk-s3@3.709.0': - resolution: {integrity: sha512-FwtOG9t9xsLoLOQZ6qAdsWOjx9dsO6t28IjIDV1l6Ixiu2oC0Yks7goONjJUH0IDE4pDDDGzmuq0sn1XtHhheA==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-user-agent@3.734.0': + resolution: {integrity: sha512-MFVzLWRkfFz02GqGPjqSOteLe5kPfElUrXZft1eElnqulqs6RJfVSpOV7mO90gu293tNAeggMWAVSGRPKIYVMg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-ssec@3.709.0': - resolution: {integrity: sha512-2muiLe7YkmlwZp2SKz+goZrDThGfRq3o0FcJF3Puc0XGmcEPEDjih537mCoTrGgcXNFlBc7YChd84r3t72ySaQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/nested-clients@3.734.0': + resolution: {integrity: sha512-iph2XUy8UzIfdJFWo1r0Zng9uWj3253yvW9gljhtu+y/LNmNvSnJxQk1f3D2BC5WmcoPZqTS3UsycT3mLPSzWA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-user-agent@3.709.0': - resolution: {integrity: sha512-ooc9ZJvgkjPhi9q05XwSfNTXkEBEIfL4hleo5rQBKwHG3aTHvwOM7LLzhdX56QZVa6sorPBp6fwULuRDSqiQHw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/region-config-resolver@3.734.0': + resolution: {integrity: sha512-Lvj1kPRC5IuJBr9DyJ9T9/plkh+EfKLy+12s/mykOy1JaKHDpvj+XGy2YO6YgYVOb8JFtaqloid+5COtje4JTQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/region-config-resolver@3.709.0': - resolution: {integrity: sha512-/NoCAMEVKAg3kBKOrNtgOfL+ECt6nrl+L7q2SyYmrcY4tVCmwuECVqewQaHc03fTnJijfKLccw0Fj+6wOCnB6w==} - engines: {node: '>=16.0.0'} + '@aws-sdk/s3-presigned-post@3.741.0': + resolution: {integrity: sha512-zWGTVKT+RWXaPvkwr3zURvTau8NTfsAnCKCYqjkkKwWuntKNeS0XCbClrUSkIeGjlQNA/8B5Z3cXFFZbyJmQAg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/s3-presigned-post@3.712.0': - resolution: {integrity: sha512-79cP6Wejee3JNdxwo/tn49nT6JfL+ncex7fL773JHQTOYTj9czVprxL2sfbfgJ+e0mclg3PTujetwIm9LEHSyw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/s3-request-presigner@3.741.0': + resolution: {integrity: sha512-qrYYS+XG6wRwNDt60tcFKDCkQoLiBHhNlHaUtsHwdmSnlwA4aIuxCGXMkuskX93FsoLUDpuxtA0MZth3JL36dw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/s3-request-presigner@3.712.0': - resolution: {integrity: sha512-LE+uNtGDyypRMxBfrJmkpWaW+x0QFp4qYH+nZYMDLdD0um8UrTrbVSfvIxcVm9QsL1gVy6WkpUj+5cU3YZBgyQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/signature-v4-multi-region@3.740.0': + resolution: {integrity: sha512-w+psidN3i+kl51nQEV3V+fKjKUqcEbqUA1GtubruDBvBqrl5El/fU2NF3Lo53y8CfI9wCdf3V7KOEpHIqxHNng==} + engines: {node: '>=18.0.0'} - '@aws-sdk/signature-v4-multi-region@3.709.0': - resolution: {integrity: sha512-m0vhJEy6SLbjL11K9cHzX/ZhCIj//1GkTbYk2d4tTQFSuPyJEkjmoeHk9dYm2mJy0wH48j29OJadI1JUsR5bOw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/token-providers@3.734.0': + resolution: {integrity: sha512-2U6yWKrjWjZO8Y5SHQxkFvMVWHQWbS0ufqfAIBROqmIZNubOL7jXCiVdEFekz6MZ9LF2tvYGnOW4jX8OKDGfIw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/token-providers@3.709.0': - resolution: {integrity: sha512-q5Ar6k71nci43IbULFgC8a89d/3EHpmd7HvBzqVGRcHnoPwh8eZDBfbBXKH83NGwcS1qPSRYiDbVfeWPm4/1jA==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.709.0 + '@aws-sdk/types@3.734.0': + resolution: {integrity: sha512-o11tSPTT70nAkGV1fN9wm/hAIiLPyWX6SuGf+9JyTp7S/rC2cFWhR26MvA69nplcjNaXVzB0f+QFrLXXjOqCrg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/types@3.709.0': - resolution: {integrity: sha512-ArtLTMxgjf13Kfu3gWH3Ez9Q5TkDdcRZUofpKH3pMGB/C6KAbeSCtIIDKfoRTUABzyGlPyCrZdnFjKyH+ypIpg==} - engines: {node: '>=16.0.0'} + '@aws-sdk/util-arn-parser@3.723.0': + resolution: {integrity: sha512-ZhEfvUwNliOQROcAk34WJWVYTlTa4694kSVhDSjW6lE1bMataPnIN8A0ycukEzBXmd8ZSoBcQLn6lKGl7XIJ5w==} + engines: {node: '>=18.0.0'} - '@aws-sdk/util-arn-parser@3.693.0': - resolution: {integrity: sha512-WC8x6ca+NRrtpAH64rWu+ryDZI3HuLwlEr8EU6/dbC/pt+r/zC0PBoC15VEygUaBA+isppCikQpGyEDu0Yj7gQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/util-endpoints@3.734.0': + resolution: {integrity: sha512-w2+/E88NUbqql6uCVAsmMxDQKu7vsKV0KqhlQb0lL+RCq4zy07yXYptVNs13qrnuTfyX7uPXkXrlugvK9R1Ucg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/util-endpoints@3.709.0': - resolution: {integrity: sha512-Mbc7AtL5WGCTKC16IGeUTz+sjpC3ptBda2t0CcK0kMVw3THDdcSq6ZlNKO747cNqdbwUvW34oHteUiHv4/z88Q==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-format-url@3.709.0': - resolution: {integrity: sha512-HGR11hx1KeFfoub/TACf+Yyal37lR85791Di2QPaElQThaqztLlppxale3EohKboOFf7Q/zvslJyM0fmgrlpQw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/util-format-url@3.734.0': + resolution: {integrity: sha512-TxZMVm8V4aR/QkW9/NhujvYpPZjUYqzLwSge5imKZbWFR806NP7RMwc5ilVuHF/bMOln/cVHkl42kATElWBvNw==} + engines: {node: '>=18.0.0'} '@aws-sdk/util-locate-window@3.723.0': resolution: {integrity: sha512-Yf2CS10BqK688DRsrKI/EO6B8ff5J86NXe4C+VCysK7UOgN0l1zOTeTukZ3H8Q9tYYX3oaF1961o8vRkFm7Nmw==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-user-agent-browser@3.709.0': - resolution: {integrity: sha512-/rL2GasJzdTWUURCQKFldw2wqBtY4k4kCiA2tVZSKg3y4Ey7zO34SW8ebaeCE2/xoWOyLR2/etdKyphoo4Zrtg==} + '@aws-sdk/util-user-agent-browser@3.734.0': + resolution: {integrity: sha512-xQTCus6Q9LwUuALW+S76OL0jcWtMOVu14q+GoLnWPUM7QeUw963oQcLhF7oq0CtaLLKyl4GOUfcwc773Zmwwng==} - '@aws-sdk/util-user-agent-node@3.712.0': - resolution: {integrity: sha512-26X21bZ4FWsVpqs33uOXiB60TOWQdVlr7T7XONDFL/XN7GEpUJkWuuIB4PTok6VOmh1viYcdxZQqekXPuzXexQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/util-user-agent-node@3.734.0': + resolution: {integrity: sha512-c6Iinh+RVQKs6jYUFQ64htOU2HUXFQ3TVx+8Tu3EDF19+9vzWi9UukhIMH9rqyyEXIAkk9XL7avt8y2Uyw2dGA==} + engines: {node: '>=18.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -1459,9 +1447,9 @@ packages: '@aws-sdk/util-utf8-browser@3.259.0': resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - '@aws-sdk/xml-builder@3.709.0': - resolution: {integrity: sha512-2GPCwlNxeHspoK/Mc8nbk9cBOkSpp3j2SJUQmFnyQK6V/pR6II2oPRyZkMomug1Rc10hqlBHByMecq4zhV2uUw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/xml-builder@3.734.0': + resolution: {integrity: sha512-Zrjxi5qwGEcUsJ0ru7fRtW74WcTS0rbLcehoFB+rN1GRi2hbLcFaYs4PwVA5diLeAJH0gszv3x4Hr/S87MfbKQ==} + engines: {node: '>=18.0.0'} '@azure/abort-controller@2.1.2': resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} @@ -5184,208 +5172,217 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - '@smithy/abort-controller@3.1.9': - resolution: {integrity: sha512-yiW0WI30zj8ZKoSYNx90no7ugVn3khlyH/z5W8qtKBtVE6awRALbhSG+2SAHA1r6bO/6M9utxYKVZ3PCJ1rWxw==} - engines: {node: '>=16.0.0'} + '@smithy/abort-controller@4.0.1': + resolution: {integrity: sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==} + engines: {node: '>=18.0.0'} - '@smithy/chunked-blob-reader-native@3.0.1': - resolution: {integrity: sha512-VEYtPvh5rs/xlyqpm5NRnfYLZn+q0SRPELbvBV+C/G7IQ+ouTuo+NKKa3ShG5OaFR8NYVMXls9hPYLTvIKKDrQ==} + '@smithy/chunked-blob-reader-native@4.0.0': + resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} + engines: {node: '>=18.0.0'} - '@smithy/chunked-blob-reader@4.0.0': - resolution: {integrity: sha512-jSqRnZvkT4egkq/7b6/QRCNXmmYVcHwnJldqJ3IhVpQE2atObVJ137xmGeuGFhjFUr8gCEVAOKwSY79OvpbDaQ==} + '@smithy/chunked-blob-reader@5.0.0': + resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} + engines: {node: '>=18.0.0'} - '@smithy/config-resolver@3.0.13': - resolution: {integrity: sha512-Gr/qwzyPaTL1tZcq8WQyHhTZREER5R1Wytmz4WnVGL4onA3dNk6Btll55c8Vr58pLdvWZmtG8oZxJTw3t3q7Jg==} - engines: {node: '>=16.0.0'} + '@smithy/config-resolver@4.0.1': + resolution: {integrity: sha512-Igfg8lKu3dRVkTSEm98QpZUvKEOa71jDX4vKRcvJVyRc3UgN3j7vFMf0s7xLQhYmKa8kyJGQgUJDOV5V3neVlQ==} + engines: {node: '>=18.0.0'} - '@smithy/core@2.5.7': - resolution: {integrity: sha512-8olpW6mKCa0v+ibCjoCzgZHQx1SQmZuW/WkrdZo73wiTprTH6qhmskT60QLFdT9DRa5mXxjz89kQPZ7ZSsoqqg==} - engines: {node: '>=16.0.0'} + '@smithy/core@3.1.2': + resolution: {integrity: sha512-htwQXkbdF13uwwDevz9BEzL5ABK+1sJpVQXywwGSH973AVOvisHNfpcB8A8761G6XgHoS2kHPqc9DqHJ2gp+/Q==} + engines: {node: '>=18.0.0'} - '@smithy/credential-provider-imds@3.2.8': - resolution: {integrity: sha512-ZCY2yD0BY+K9iMXkkbnjo+08T2h8/34oHd0Jmh6BZUSZwaaGlGCyBT/3wnS7u7Xl33/EEfN4B6nQr3Gx5bYxgw==} - engines: {node: '>=16.0.0'} + '@smithy/credential-provider-imds@4.0.1': + resolution: {integrity: sha512-l/qdInaDq1Zpznpmev/+52QomsJNZ3JkTl5yrTl02V6NBgJOQ4LY0SFw/8zsMwj3tLe8vqiIuwF6nxaEwgf6mg==} + engines: {node: '>=18.0.0'} - '@smithy/eventstream-codec@3.1.10': - resolution: {integrity: sha512-323B8YckSbUH0nMIpXn7HZsAVKHYHFUODa8gG9cHo0ySvA1fr5iWaNT+iIL0UCqUzG6QPHA3BSsBtRQou4mMqQ==} + '@smithy/eventstream-codec@4.0.1': + resolution: {integrity: sha512-Q2bCAAR6zXNVtJgifsU16ZjKGqdw/DyecKNgIgi7dlqw04fqDu0mnq+JmGphqheypVc64CYq3azSuCpAdFk2+A==} + engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-browser@3.0.14': - resolution: {integrity: sha512-kbrt0vjOIihW3V7Cqj1SXQvAI5BR8SnyQYsandva0AOR307cXAc+IhPngxIPslxTLfxwDpNu0HzCAq6g42kCPg==} - engines: {node: '>=16.0.0'} + '@smithy/eventstream-serde-browser@4.0.1': + resolution: {integrity: sha512-HbIybmz5rhNg+zxKiyVAnvdM3vkzjE6ccrJ620iPL8IXcJEntd3hnBl+ktMwIy12Te/kyrSbUb8UCdnUT4QEdA==} + engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-config-resolver@3.0.11': - resolution: {integrity: sha512-P2pnEp4n75O+QHjyO7cbw/vsw5l93K/8EWyjNCAAybYwUmj3M+hjSQZ9P5TVdUgEG08ueMAP5R4FkuSkElZ5tQ==} - engines: {node: '>=16.0.0'} + '@smithy/eventstream-serde-config-resolver@4.0.1': + resolution: {integrity: sha512-lSipaiq3rmHguHa3QFF4YcCM3VJOrY9oq2sow3qlhFY+nBSTF/nrO82MUQRPrxHQXA58J5G1UnU2WuJfi465BA==} + engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-node@3.0.13': - resolution: {integrity: sha512-zqy/9iwbj8Wysmvi7Lq7XFLeDgjRpTbCfwBhJa8WbrylTAHiAu6oQTwdY7iu2lxigbc9YYr9vPv5SzYny5tCXQ==} - engines: {node: '>=16.0.0'} + '@smithy/eventstream-serde-node@4.0.1': + resolution: {integrity: sha512-o4CoOI6oYGYJ4zXo34U8X9szDe3oGjmHgsMGiZM0j4vtNoT+h80TLnkUcrLZR3+E6HIxqW+G+9WHAVfl0GXK0Q==} + engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-universal@3.0.13': - resolution: {integrity: sha512-L1Ib66+gg9uTnqp/18Gz4MDpJPKRE44geOjOQ2SVc0eiaO5l255ADziATZgjQjqumC7yPtp1XnjHlF1srcwjKw==} - engines: {node: '>=16.0.0'} + '@smithy/eventstream-serde-universal@4.0.1': + resolution: {integrity: sha512-Z94uZp0tGJuxds3iEAZBqGU2QiaBHP4YytLUjwZWx+oUeohCsLyUm33yp4MMBmhkuPqSbQCXq5hDet6JGUgHWA==} + engines: {node: '>=18.0.0'} - '@smithy/fetch-http-handler@4.1.3': - resolution: {integrity: sha512-6SxNltSncI8s689nvnzZQc/dPXcpHQ34KUj6gR/HBroytKOd/isMG3gJF/zBE1TBmTT18TXyzhg3O3SOOqGEhA==} + '@smithy/fetch-http-handler@5.0.1': + resolution: {integrity: sha512-3aS+fP28urrMW2KTjb6z9iFow6jO8n3MFfineGbndvzGZit3taZhKWtTorf+Gp5RpFDDafeHlhfsGlDCXvUnJA==} + engines: {node: '>=18.0.0'} - '@smithy/hash-blob-browser@3.1.10': - resolution: {integrity: sha512-elwslXOoNunmfS0fh55jHggyhccobFkexLYC1ZeZ1xP2BTSrcIBaHV2b4xUQOdctrSNOpMqOZH1r2XzWTEhyfA==} + '@smithy/hash-blob-browser@4.0.1': + resolution: {integrity: sha512-rkFIrQOKZGS6i1D3gKJ8skJ0RlXqDvb1IyAphksaFOMzkn3v3I1eJ8m7OkLj0jf1McP63rcCEoLlkAn/HjcTRw==} + engines: {node: '>=18.0.0'} - '@smithy/hash-node@3.0.11': - resolution: {integrity: sha512-emP23rwYyZhQBvklqTtwetkQlqbNYirDiEEwXl2v0GYWMnCzxst7ZaRAnWuy28njp5kAH54lvkdG37MblZzaHA==} - engines: {node: '>=16.0.0'} + '@smithy/hash-node@4.0.1': + resolution: {integrity: sha512-TJ6oZS+3r2Xu4emVse1YPB3Dq3d8RkZDKcPr71Nj/lJsdAP1c7oFzYqEn1IBc915TsgLl2xIJNuxCz+gLbLE0w==} + engines: {node: '>=18.0.0'} - '@smithy/hash-stream-node@3.1.10': - resolution: {integrity: sha512-olomK/jZQ93OMayW1zfTHwcbwBdhcZOHsyWyiZ9h9IXvc1mCD/VuvzbLb3Gy/qNJwI4MANPLctTp2BucV2oU/Q==} - engines: {node: '>=16.0.0'} + '@smithy/hash-stream-node@4.0.1': + resolution: {integrity: sha512-U1rAE1fxmReCIr6D2o/4ROqAQX+GffZpyMt3d7njtGDr2pUNmAKRWa49gsNVhCh2vVAuf3wXzWwNr2YN8PAXIw==} + engines: {node: '>=18.0.0'} - '@smithy/invalid-dependency@3.0.11': - resolution: {integrity: sha512-NuQmVPEJjUX6c+UELyVz8kUx8Q539EDeNwbRyu4IIF8MeV7hUtq1FB3SHVyki2u++5XLMFqngeMKk7ccspnNyQ==} + '@smithy/invalid-dependency@4.0.1': + resolution: {integrity: sha512-gdudFPf4QRQ5pzj7HEnu6FhKRi61BfH/Gk5Yf6O0KiSbr1LlVhgjThcvjdu658VE6Nve8vaIWB8/fodmS1rBPQ==} + engines: {node: '>=18.0.0'} '@smithy/is-array-buffer@2.2.0': resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} engines: {node: '>=14.0.0'} - '@smithy/is-array-buffer@3.0.0': - resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} - engines: {node: '>=16.0.0'} + '@smithy/is-array-buffer@4.0.0': + resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + engines: {node: '>=18.0.0'} - '@smithy/md5-js@3.0.11': - resolution: {integrity: sha512-3NM0L3i2Zm4bbgG6Ymi9NBcxXhryi3uE8fIfHJZIOfZVxOkGdjdgjR9A06SFIZCfnEIWKXZdm6Yq5/aPXFFhsQ==} + '@smithy/md5-js@4.0.1': + resolution: {integrity: sha512-HLZ647L27APi6zXkZlzSFZIjpo8po45YiyjMGJZM3gyDY8n7dPGdmxIIljLm4gPt/7rRvutLTTkYJpZVfG5r+A==} + engines: {node: '>=18.0.0'} - '@smithy/middleware-content-length@3.0.13': - resolution: {integrity: sha512-zfMhzojhFpIX3P5ug7jxTjfUcIPcGjcQYzB9t+rv0g1TX7B0QdwONW+ATouaLoD7h7LOw/ZlXfkq4xJ/g2TrIw==} - engines: {node: '>=16.0.0'} + '@smithy/middleware-content-length@4.0.1': + resolution: {integrity: sha512-OGXo7w5EkB5pPiac7KNzVtfCW2vKBTZNuCctn++TTSOMpe6RZO/n6WEC1AxJINn3+vWLKW49uad3lo/u0WJ9oQ==} + engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@3.2.8': - resolution: {integrity: sha512-OEJZKVUEhMOqMs3ktrTWp7UvvluMJEvD5XgQwRePSbDg1VvBaL8pX8mwPltFn6wk1GySbcVwwyldL8S+iqnrEQ==} - engines: {node: '>=16.0.0'} + '@smithy/middleware-endpoint@4.0.3': + resolution: {integrity: sha512-YdbmWhQF5kIxZjWqPIgboVfi8i5XgiYMM7GGKFMTvBei4XjNQfNv8sukT50ITvgnWKKKpOtp0C0h7qixLgb77Q==} + engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@3.0.34': - resolution: {integrity: sha512-yVRr/AAtPZlUvwEkrq7S3x7Z8/xCd97m2hLDaqdz6ucP2RKHsBjEqaUA2ebNv2SsZoPEi+ZD0dZbOB1u37tGCA==} - engines: {node: '>=16.0.0'} + '@smithy/middleware-retry@4.0.4': + resolution: {integrity: sha512-wmxyUBGHaYUqul0wZiset4M39SMtDBOtUr2KpDuftKNN74Do9Y36Go6Eqzj9tL0mIPpr31ulB5UUtxcsCeGXsQ==} + engines: {node: '>=18.0.0'} - '@smithy/middleware-serde@3.0.11': - resolution: {integrity: sha512-KzPAeySp/fOoQA82TpnwItvX8BBURecpx6ZMu75EZDkAcnPtO6vf7q4aH5QHs/F1s3/snQaSFbbUMcFFZ086Mw==} - engines: {node: '>=16.0.0'} + '@smithy/middleware-serde@4.0.2': + resolution: {integrity: sha512-Sdr5lOagCn5tt+zKsaW+U2/iwr6bI9p08wOkCp6/eL6iMbgdtc2R5Ety66rf87PeohR0ExI84Txz9GYv5ou3iQ==} + engines: {node: '>=18.0.0'} - '@smithy/middleware-stack@3.0.11': - resolution: {integrity: sha512-1HGo9a6/ikgOMrTrWL/WiN9N8GSVYpuRQO5kjstAq4CvV59bjqnh7TbdXGQ4vxLD3xlSjfBjq5t1SOELePsLnA==} - engines: {node: '>=16.0.0'} + '@smithy/middleware-stack@4.0.1': + resolution: {integrity: sha512-dHwDmrtR/ln8UTHpaIavRSzeIk5+YZTBtLnKwDW3G2t6nAupCiQUvNzNoHBpik63fwUaJPtlnMzXbQrNFWssIA==} + engines: {node: '>=18.0.0'} - '@smithy/node-config-provider@3.1.12': - resolution: {integrity: sha512-O9LVEu5J/u/FuNlZs+L7Ikn3lz7VB9hb0GtPT9MQeiBmtK8RSY3ULmsZgXhe6VAlgTw0YO+paQx4p8xdbs43vQ==} - engines: {node: '>=16.0.0'} + '@smithy/node-config-provider@4.0.1': + resolution: {integrity: sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==} + engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@3.3.3': - resolution: {integrity: sha512-BrpZOaZ4RCbcJ2igiSNG16S+kgAc65l/2hmxWdmhyoGWHTLlzQzr06PXavJp9OBlPEG/sHlqdxjWmjzV66+BSQ==} - engines: {node: '>=16.0.0'} + '@smithy/node-http-handler@4.0.2': + resolution: {integrity: sha512-X66H9aah9hisLLSnGuzRYba6vckuFtGE+a5DcHLliI/YlqKrGoxhisD5XbX44KyoeRzoNlGr94eTsMVHFAzPOw==} + engines: {node: '>=18.0.0'} - '@smithy/property-provider@3.1.11': - resolution: {integrity: sha512-I/+TMc4XTQ3QAjXfOcUWbSS073oOEAxgx4aZy8jHaf8JQnRkq2SZWw8+PfDtBvLUjcGMdxl+YwtzWe6i5uhL/A==} - engines: {node: '>=16.0.0'} + '@smithy/property-provider@4.0.1': + resolution: {integrity: sha512-o+VRiwC2cgmk/WFV0jaETGOtX16VNPp2bSQEzu0whbReqE1BMqsP2ami2Vi3cbGVdKu1kq9gQkDAGKbt0WOHAQ==} + engines: {node: '>=18.0.0'} - '@smithy/protocol-http@4.1.8': - resolution: {integrity: sha512-hmgIAVyxw1LySOwkgMIUN0kjN8TG9Nc85LJeEmEE/cNEe2rkHDUWhnJf2gxcSRFLWsyqWsrZGw40ROjUogg+Iw==} - engines: {node: '>=16.0.0'} + '@smithy/protocol-http@5.0.1': + resolution: {integrity: sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==} + engines: {node: '>=18.0.0'} - '@smithy/querystring-builder@3.0.11': - resolution: {integrity: sha512-u+5HV/9uJaeLj5XTb6+IEF/dokWWkEqJ0XiaRRogyREmKGUgZnNecLucADLdauWFKUNbQfulHFEZEdjwEBjXRg==} - engines: {node: '>=16.0.0'} + '@smithy/querystring-builder@4.0.1': + resolution: {integrity: sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==} + engines: {node: '>=18.0.0'} - '@smithy/querystring-parser@3.0.11': - resolution: {integrity: sha512-Je3kFvCsFMnso1ilPwA7GtlbPaTixa3WwC+K21kmMZHsBEOZYQaqxcMqeFFoU7/slFjKDIpiiPydvdJm8Q/MCw==} - engines: {node: '>=16.0.0'} + '@smithy/querystring-parser@4.0.1': + resolution: {integrity: sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==} + engines: {node: '>=18.0.0'} - '@smithy/service-error-classification@3.0.11': - resolution: {integrity: sha512-QnYDPkyewrJzCyaeI2Rmp7pDwbUETe+hU8ADkXmgNusO1bgHBH7ovXJiYmba8t0fNfJx75fE8dlM6SEmZxheog==} - engines: {node: '>=16.0.0'} + '@smithy/service-error-classification@4.0.1': + resolution: {integrity: sha512-3JNjBfOWpj/mYfjXJHB4Txc/7E4LVq32bwzE7m28GN79+M1f76XHflUaSUkhOriprPDzev9cX/M+dEB80DNDKA==} + engines: {node: '>=18.0.0'} - '@smithy/shared-ini-file-loader@3.1.12': - resolution: {integrity: sha512-1xKSGI+U9KKdbG2qDvIR9dGrw3CNx+baqJfyr0igKEpjbHL5stsqAesYBzHChYHlelWtb87VnLWlhvfCz13H8Q==} - engines: {node: '>=16.0.0'} + '@smithy/shared-ini-file-loader@4.0.1': + resolution: {integrity: sha512-hC8F6qTBbuHRI/uqDgqqi6J0R4GtEZcgrZPhFQnMhfJs3MnUTGSnR1NSJCJs5VWlMydu0kJz15M640fJlRsIOw==} + engines: {node: '>=18.0.0'} - '@smithy/signature-v4@4.2.4': - resolution: {integrity: sha512-5JWeMQYg81TgU4cG+OexAWdvDTs5JDdbEZx+Qr1iPbvo91QFGzjy0IkXAKaXUHqmKUJgSHK0ZxnCkgZpzkeNTA==} - engines: {node: '>=16.0.0'} + '@smithy/signature-v4@5.0.1': + resolution: {integrity: sha512-nCe6fQ+ppm1bQuw5iKoeJ0MJfz2os7Ic3GBjOkLOPtavbD1ONoyE3ygjBfz2ythFWm4YnRm6OxW+8p/m9uCoIA==} + engines: {node: '>=18.0.0'} - '@smithy/smithy-client@3.7.0': - resolution: {integrity: sha512-9wYrjAZFlqWhgVo3C4y/9kpc68jgiSsKUnsFPzr/MSiRL93+QRDafGTfhhKAb2wsr69Ru87WTiqSfQusSmWipA==} - engines: {node: '>=16.0.0'} + '@smithy/smithy-client@4.1.3': + resolution: {integrity: sha512-A2Hz85pu8BJJaYFdX8yb1yocqigyqBzn+OVaVgm+Kwi/DkN8vhN2kbDVEfADo6jXf5hPKquMLGA3UINA64UZ7A==} + engines: {node: '>=18.0.0'} - '@smithy/types@3.7.2': - resolution: {integrity: sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg==} - engines: {node: '>=16.0.0'} + '@smithy/types@4.1.0': + resolution: {integrity: sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==} + engines: {node: '>=18.0.0'} - '@smithy/url-parser@3.0.11': - resolution: {integrity: sha512-TmlqXkSk8ZPhfc+SQutjmFr5FjC0av3GZP4B/10caK1SbRwe/v+Wzu/R6xEKxoNqL+8nY18s1byiy6HqPG37Aw==} + '@smithy/url-parser@4.0.1': + resolution: {integrity: sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==} + engines: {node: '>=18.0.0'} - '@smithy/util-base64@3.0.0': - resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} - engines: {node: '>=16.0.0'} + '@smithy/util-base64@4.0.0': + resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + engines: {node: '>=18.0.0'} - '@smithy/util-body-length-browser@3.0.0': - resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==} + '@smithy/util-body-length-browser@4.0.0': + resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + engines: {node: '>=18.0.0'} - '@smithy/util-body-length-node@3.0.0': - resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==} - engines: {node: '>=16.0.0'} + '@smithy/util-body-length-node@4.0.0': + resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + engines: {node: '>=18.0.0'} '@smithy/util-buffer-from@2.2.0': resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} engines: {node: '>=14.0.0'} - '@smithy/util-buffer-from@3.0.0': - resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==} - engines: {node: '>=16.0.0'} + '@smithy/util-buffer-from@4.0.0': + resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + engines: {node: '>=18.0.0'} - '@smithy/util-config-provider@3.0.0': - resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} - engines: {node: '>=16.0.0'} + '@smithy/util-config-provider@4.0.0': + resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@3.0.34': - resolution: {integrity: sha512-FumjjF631lR521cX+svMLBj3SwSDh9VdtyynTYDAiBDEf8YPP5xORNXKQ9j0105o5+ARAGnOOP/RqSl40uXddA==} - engines: {node: '>= 10.0.0'} + '@smithy/util-defaults-mode-browser@4.0.4': + resolution: {integrity: sha512-Ej1bV5sbrIfH++KnWxjjzFNq9nyP3RIUq2c9Iqq7SmMO/idUR24sqvKH2LUQFTSPy/K7G4sB2m8n7YYlEAfZaw==} + engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@3.0.34': - resolution: {integrity: sha512-vN6aHfzW9dVVzkI0wcZoUXvfjkl4CSbM9nE//08lmUMyf00S75uuCpTrqF9uD4bD9eldIXlt53colrlwKAT8Gw==} - engines: {node: '>= 10.0.0'} + '@smithy/util-defaults-mode-node@4.0.4': + resolution: {integrity: sha512-HE1I7gxa6yP7ZgXPCFfZSDmVmMtY7SHqzFF55gM/GPegzZKaQWZZ+nYn9C2Cc3JltCMyWe63VPR3tSFDEvuGjw==} + engines: {node: '>=18.0.0'} - '@smithy/util-endpoints@2.1.7': - resolution: {integrity: sha512-tSfcqKcN/Oo2STEYCABVuKgJ76nyyr6skGl9t15hs+YaiU06sgMkN7QYjo0BbVw+KT26zok3IzbdSOksQ4YzVw==} - engines: {node: '>=16.0.0'} + '@smithy/util-endpoints@3.0.1': + resolution: {integrity: sha512-zVdUENQpdtn9jbpD9SCFK4+aSiavRb9BxEtw9ZGUR1TYo6bBHbIoi7VkrFQ0/RwZlzx0wRBaRmPclj8iAoJCLA==} + engines: {node: '>=18.0.0'} - '@smithy/util-hex-encoding@3.0.0': - resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} - engines: {node: '>=16.0.0'} + '@smithy/util-hex-encoding@4.0.0': + resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + engines: {node: '>=18.0.0'} - '@smithy/util-middleware@3.0.11': - resolution: {integrity: sha512-dWpyc1e1R6VoXrwLoLDd57U1z6CwNSdkM69Ie4+6uYh2GC7Vg51Qtan7ITzczuVpqezdDTKJGJB95fFvvjU/ow==} - engines: {node: '>=16.0.0'} + '@smithy/util-middleware@4.0.1': + resolution: {integrity: sha512-HiLAvlcqhbzhuiOa0Lyct5IIlyIz0PQO5dnMlmQ/ubYM46dPInB+3yQGkfxsk6Q24Y0n3/JmcA1v5iEhmOF5mA==} + engines: {node: '>=18.0.0'} - '@smithy/util-retry@3.0.11': - resolution: {integrity: sha512-hJUC6W7A3DQgaee3Hp9ZFcOxVDZzmBIRBPlUAk8/fSOEl7pE/aX7Dci0JycNOnm9Mfr0KV2XjIlUOcGWXQUdVQ==} - engines: {node: '>=16.0.0'} + '@smithy/util-retry@4.0.1': + resolution: {integrity: sha512-WmRHqNVwn3kI3rKk1LsKcVgPBG6iLTBGC1iYOV3GQegwJ3E8yjzHytPt26VNzOWr1qu0xE03nK0Ug8S7T7oufw==} + engines: {node: '>=18.0.0'} - '@smithy/util-stream@3.3.4': - resolution: {integrity: sha512-SGhGBG/KupieJvJSZp/rfHHka8BFgj56eek9px4pp7lZbOF+fRiVr4U7A3y3zJD8uGhxq32C5D96HxsTC9BckQ==} - engines: {node: '>=16.0.0'} + '@smithy/util-stream@4.0.2': + resolution: {integrity: sha512-0eZ4G5fRzIoewtHtwaYyl8g2C+osYOT4KClXgfdNEDAgkbe2TYPqcnw4GAWabqkZCax2ihRGPe9LZnsPdIUIHA==} + engines: {node: '>=18.0.0'} - '@smithy/util-uri-escape@3.0.0': - resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} - engines: {node: '>=16.0.0'} + '@smithy/util-uri-escape@4.0.0': + resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + engines: {node: '>=18.0.0'} '@smithy/util-utf8@2.3.0': resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} engines: {node: '>=14.0.0'} - '@smithy/util-utf8@3.0.0': - resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} - engines: {node: '>=16.0.0'} + '@smithy/util-utf8@4.0.0': + resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + engines: {node: '>=18.0.0'} - '@smithy/util-waiter@3.2.0': - resolution: {integrity: sha512-PpjSboaDUE6yl+1qlg3Si57++e84oXdWGbuFUSAciXsVfEZJJJupR2Nb0QuXHiunt2vGR+1PTizOMvnUPaG2Qg==} - engines: {node: '>=16.0.0'} + '@smithy/util-waiter@4.0.2': + resolution: {integrity: sha512-piUTHyp2Axx3p/kc2CIJkYSv0BAaheBQmbACZgQSSfWUumWNW+R1lL+H9PDBxKJkvOeEX+hKYEFiwO8xagL8AQ==} + engines: {node: '>=18.0.0'} '@storybook/addon-a11y@8.4.7': resolution: {integrity: sha512-GpUvXp6n25U1ZSv+hmDC+05BEqxWdlWjQTb/GaboRXZQeMBlze6zckpVb66spjmmtQAIISo0eZxX1+mGcVR7lA==} @@ -5575,23 +5572,33 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@t3-oss/env-core@0.11.1': - resolution: {integrity: sha512-MaxOwEoG1ntCFoKJsS7nqwgcxLW1SJw238AJwfJeaz3P/8GtkxXZsPPolsz1AdYvUTbe3XvqZ/VCdfjt+3zmKw==} + '@t3-oss/env-core@0.12.0': + resolution: {integrity: sha512-lOPj8d9nJJTt81mMuN9GMk8x5veOt7q9m11OSnCBJhwp1QrL/qR+M8Y467ULBSm9SunosryWNbmQQbgoiMgcdw==} peerDependencies: typescript: '>=5.0.0' - zod: ^3.0.0 + valibot: ^1.0.0-beta.7 || ^1.0.0 + zod: ^3.24.0 peerDependenciesMeta: typescript: optional: true + valibot: + optional: true + zod: + optional: true - '@t3-oss/env-nextjs@0.11.1': - resolution: {integrity: sha512-rx2XL9+v6wtOqLNJbD5eD8OezKlQD1BtC0WvvtHwBgK66jnF5+wGqtgkKK4Ygie1LVmoDClths2T4tdFmRvGrQ==} + '@t3-oss/env-nextjs@0.12.0': + resolution: {integrity: sha512-rFnvYk1049RnNVUPvY8iQ55AuQh1Rr+qZzQBh3t++RttCGK4COpXGNxS4+45afuQq02lu+QAOy/5955aU8hRKw==} peerDependencies: typescript: '>=5.0.0' - zod: ^3.0.0 + valibot: ^1.0.0-beta.7 || ^1.0.0 + zod: ^3.24.0 peerDependenciesMeta: typescript: optional: true + valibot: + optional: true + zod: + optional: true '@tailwindcss/forms@0.5.9': resolution: {integrity: sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==} @@ -5750,8 +5757,8 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/jsonwebtoken@9.0.7': - resolution: {integrity: sha512-ugo316mmTYBl2g81zDFnZ7cfxlut3o+/EQdaP7J8QN2kY6lJ22hmQYCK5EHcJHbrW+dkCGSCPgbG8JtYj6qSrg==} + '@types/jsonwebtoken@9.0.8': + resolution: {integrity: sha512-7fx54m60nLFUVYlxAB1xpe9CBWX2vSrk50Y6ogRJ1v5xxtba7qXTg5BgYDN5dq+yuQQ9HaVlHJyAAt1/mxryFg==} '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -6038,8 +6045,8 @@ packages: resolution: {integrity: sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.1': - resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} '@urql/core@5.1.0': resolution: {integrity: sha512-yC3sw8yqjbX45GbXxfiBY8GLYCiyW/hLBbQF9l3TJrv4ro00Y0ChkKaD9I2KntRxAVm9IYBqh0awX8fwWAe/Yw==} @@ -6136,8 +6143,8 @@ packages: '@vitest/expect@2.1.8': resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} - '@vitest/expect@3.0.4': - resolution: {integrity: sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==} + '@vitest/expect@3.0.5': + resolution: {integrity: sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==} '@vitest/mocker@2.1.8': resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} @@ -6150,8 +6157,8 @@ packages: vite: optional: true - '@vitest/mocker@3.0.4': - resolution: {integrity: sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==} + '@vitest/mocker@3.0.5': + resolution: {integrity: sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -6167,20 +6174,20 @@ packages: '@vitest/pretty-format@2.1.8': resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} - '@vitest/pretty-format@3.0.4': - resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==} + '@vitest/pretty-format@3.0.5': + resolution: {integrity: sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==} '@vitest/runner@2.1.8': resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} - '@vitest/runner@3.0.4': - resolution: {integrity: sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==} + '@vitest/runner@3.0.5': + resolution: {integrity: sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==} '@vitest/snapshot@2.1.8': resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} - '@vitest/snapshot@3.0.4': - resolution: {integrity: sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==} + '@vitest/snapshot@3.0.5': + resolution: {integrity: sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==} '@vitest/spy@2.0.5': resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} @@ -6188,8 +6195,8 @@ packages: '@vitest/spy@2.1.8': resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} - '@vitest/spy@3.0.4': - resolution: {integrity: sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==} + '@vitest/spy@3.0.5': + resolution: {integrity: sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==} '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} @@ -6197,8 +6204,8 @@ packages: '@vitest/utils@2.1.8': resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} - '@vitest/utils@3.0.4': - resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==} + '@vitest/utils@3.0.5': + resolution: {integrity: sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==} '@volar/language-core@2.4.11': resolution: {integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==} @@ -6341,8 +6348,8 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} - ai@4.0.18: - resolution: {integrity: sha512-BTWzalLNE1LQphEka5xzJXDs5v4xXy1Uzr7dAVk+C/CnO3WNpuMBgrCymwUv0VrWaWc8xMQuh+OqsT7P7JyekQ==} + ai@4.1.17: + resolution: {integrity: sha512-5SW15tXDuxE/wlEOjRKxLxTOUIGD4C9bIee+FCFvXHTTAZhHiQjViC2s7RtMUW+hbFtGya302jUHY1Pe8A/YuQ==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -6611,8 +6618,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - aws-crt@1.24.0: - resolution: {integrity: sha512-23X764sRXf9P7luqwxbY47cuQd1pj2ZAQdI08Ih/YgXKz0DGptRXA2TZfj+mW9NJsZellqCXIYznnqEwqrlbtQ==} + aws-crt@1.25.3: + resolution: {integrity: sha512-MWV2Yy08xxAZqMJiFE1ZwSrVNq2Hy54SK4ooUx2Ts6DlDzdAizSfgoEKkh7ifyo7j5RVXu3924zAPjC8FBLiSg==} axe-core@4.10.2: resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} @@ -11186,8 +11193,8 @@ packages: posthog-js@1.200.2: resolution: {integrity: sha512-hDdnzn/FWz+lR0qoYn8TJ7UAVzJSH48ceM2rYXrrZZa8EqBKaUKLf1LWK505/s3QVjK972mbF8wjF+pRDSlwOg==} - posthog-node@4.3.2: - resolution: {integrity: sha512-vy8Mt9IEfniUgqQ1rOCQ31CBO1VNqDGd3ZtHlWR9/YfU6RiuK+9pUXPb4h6HTGzQmjL8NFnjd8K8NMXSX8S6MQ==} + posthog-node@4.4.1: + resolution: {integrity: sha512-o9G9sSvwWITrfSJgIUrPLJd//AYPGJNu5D+pSLxqiBvhUeicc/i639FvU0DPr1OsHiLDE2zHNMmLpa0mw4kBCg==} engines: {node: '>=15.0.0'} preact-render-to-string@5.2.6: @@ -11985,9 +11992,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rusha@0.8.14: - resolution: {integrity: sha512-cLgakCUf6PedEu15t8kbsjnwIFFR2D4RfL+W3iWFJ4iac7z4B0ZI8fxy4R3J956kAI68HclCFGL8MPoUVC3qVA==} - rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -12603,6 +12607,9 @@ packages: tailwind-merge@2.5.5: resolution: {integrity: sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA==} + tailwind-merge@3.0.1: + resolution: {integrity: sha512-AvzE8FmSoXC7nC+oU5GlQJbip2UO7tmOhOfQyOmPhrStOGXHU08j8mZEHZ4BmCqY5dWTCo4ClWkNyRNx1wpT0g==} + tailwindcss@3.4.16: resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==} engines: {node: '>=14.0.0'} @@ -13245,8 +13252,8 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-node@3.0.4: - resolution: {integrity: sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==} + vite-node@3.0.5: + resolution: {integrity: sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -13375,16 +13382,16 @@ packages: jsdom: optional: true - vitest@3.0.4: - resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==} + vitest@3.0.5: + resolution: {integrity: sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.4 - '@vitest/ui': 3.0.4 + '@vitest/browser': 3.0.5 + '@vitest/ui': 3.0.5 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -13744,46 +13751,46 @@ snapshots: '@adobe/css-tools@4.4.1': {} - '@ai-sdk/azure@1.0.10(zod@3.24.1)': + '@ai-sdk/azure@1.1.9(zod@3.24.1)': dependencies: - '@ai-sdk/openai': 1.0.8(zod@3.24.1) - '@ai-sdk/provider': 1.0.2 - '@ai-sdk/provider-utils': 2.0.4(zod@3.24.1) + '@ai-sdk/openai': 1.1.9(zod@3.24.1) + '@ai-sdk/provider': 1.0.7 + '@ai-sdk/provider-utils': 2.1.6(zod@3.24.1) zod: 3.24.1 - '@ai-sdk/openai@1.0.8(zod@3.24.1)': + '@ai-sdk/openai@1.1.9(zod@3.24.1)': dependencies: - '@ai-sdk/provider': 1.0.2 - '@ai-sdk/provider-utils': 2.0.4(zod@3.24.1) + '@ai-sdk/provider': 1.0.7 + '@ai-sdk/provider-utils': 2.1.6(zod@3.24.1) zod: 3.24.1 - '@ai-sdk/provider-utils@2.0.4(zod@3.24.1)': + '@ai-sdk/provider-utils@2.1.6(zod@3.24.1)': dependencies: - '@ai-sdk/provider': 1.0.2 + '@ai-sdk/provider': 1.0.7 eventsource-parser: 3.0.0 nanoid: 3.3.8 secure-json-parse: 2.7.0 optionalDependencies: zod: 3.24.1 - '@ai-sdk/provider@1.0.2': + '@ai-sdk/provider@1.0.7': dependencies: json-schema: 0.4.0 - '@ai-sdk/react@1.0.6(react@19.0.0)(zod@3.24.1)': + '@ai-sdk/react@1.1.8(react@19.0.0)(zod@3.24.1)': dependencies: - '@ai-sdk/provider-utils': 2.0.4(zod@3.24.1) - '@ai-sdk/ui-utils': 1.0.5(zod@3.24.1) + '@ai-sdk/provider-utils': 2.1.6(zod@3.24.1) + '@ai-sdk/ui-utils': 1.1.8(zod@3.24.1) swr: 2.3.0(react@19.0.0) throttleit: 2.1.0 optionalDependencies: react: 19.0.0 zod: 3.24.1 - '@ai-sdk/ui-utils@1.0.5(zod@3.24.1)': + '@ai-sdk/ui-utils@1.1.8(zod@3.24.1)': dependencies: - '@ai-sdk/provider': 1.0.2 - '@ai-sdk/provider-utils': 2.0.4(zod@3.24.1) + '@ai-sdk/provider': 1.0.7 + '@ai-sdk/provider-utils': 2.1.6(zod@3.24.1) zod-to-json-schema: 3.24.1(zod@3.24.1) optionalDependencies: zod: 3.24.1 @@ -13935,20 +13942,20 @@ snapshots: '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.709.0 + '@aws-sdk/types': 3.734.0 tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.709.0 + '@aws-sdk/types': 3.734.0 tslib: 2.8.1 '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.709.0 + '@aws-sdk/types': 3.734.0 '@aws-sdk/util-locate-window': 3.723.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -13958,7 +13965,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.709.0 + '@aws-sdk/types': 3.734.0 '@aws-sdk/util-locate-window': 3.723.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -13966,7 +13973,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.709.0 + '@aws-sdk/types': 3.734.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -13975,506 +13982,457 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.709.0 + '@aws-sdk/types': 3.734.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.712.0(aws-crt@1.24.0)': + '@aws-sdk/client-s3@3.741.0(aws-crt@1.25.3)': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/client-sts': 3.712.0(aws-crt@1.24.0) - '@aws-sdk/core': 3.709.0 - '@aws-sdk/credential-provider-node': 3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/middleware-bucket-endpoint': 3.709.0 - '@aws-sdk/middleware-expect-continue': 3.709.0 - '@aws-sdk/middleware-flexible-checksums': 3.709.0 - '@aws-sdk/middleware-host-header': 3.709.0 - '@aws-sdk/middleware-location-constraint': 3.709.0 - '@aws-sdk/middleware-logger': 3.709.0 - '@aws-sdk/middleware-recursion-detection': 3.709.0 - '@aws-sdk/middleware-sdk-s3': 3.709.0 - '@aws-sdk/middleware-ssec': 3.709.0 - '@aws-sdk/middleware-user-agent': 3.709.0 - '@aws-sdk/region-config-resolver': 3.709.0 - '@aws-sdk/signature-v4-multi-region': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-endpoints': 3.709.0 - '@aws-sdk/util-user-agent-browser': 3.709.0 - '@aws-sdk/util-user-agent-node': 3.712.0(aws-crt@1.24.0) - '@aws-sdk/xml-builder': 3.709.0 - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.7 - '@smithy/eventstream-serde-browser': 3.0.14 - '@smithy/eventstream-serde-config-resolver': 3.0.11 - '@smithy/eventstream-serde-node': 3.0.13 - '@smithy/fetch-http-handler': 4.1.3 - '@smithy/hash-blob-browser': 3.1.10 - '@smithy/hash-node': 3.0.11 - '@smithy/hash-stream-node': 3.1.10 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/md5-js': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.8 - '@smithy/middleware-retry': 3.0.34 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.34 - '@smithy/util-defaults-mode-node': 3.0.34 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-stream': 3.3.4 - '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.2.0 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/credential-provider-node': 3.741.0(aws-crt@1.25.3) + '@aws-sdk/middleware-bucket-endpoint': 3.734.0 + '@aws-sdk/middleware-expect-continue': 3.734.0 + '@aws-sdk/middleware-flexible-checksums': 3.735.0 + '@aws-sdk/middleware-host-header': 3.734.0 + '@aws-sdk/middleware-location-constraint': 3.734.0 + '@aws-sdk/middleware-logger': 3.734.0 + '@aws-sdk/middleware-recursion-detection': 3.734.0 + '@aws-sdk/middleware-sdk-s3': 3.740.0 + '@aws-sdk/middleware-ssec': 3.734.0 + '@aws-sdk/middleware-user-agent': 3.734.0 + '@aws-sdk/region-config-resolver': 3.734.0 + '@aws-sdk/signature-v4-multi-region': 3.740.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-endpoints': 3.734.0 + '@aws-sdk/util-user-agent-browser': 3.734.0 + '@aws-sdk/util-user-agent-node': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/xml-builder': 3.734.0 + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.2 + '@smithy/eventstream-serde-browser': 4.0.1 + '@smithy/eventstream-serde-config-resolver': 4.0.1 + '@smithy/eventstream-serde-node': 4.0.1 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-blob-browser': 4.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/hash-stream-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/md5-js': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/middleware-retry': 4.0.4 + '@smithy/middleware-serde': 4.0.2 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.4 + '@smithy/util-defaults-mode-node': 4.0.4 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-stream': 4.0.2 + '@smithy/util-utf8': 4.0.0 + '@smithy/util-waiter': 4.0.2 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0)': + '@aws-sdk/client-sso@3.734.0(aws-crt@1.25.3)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.712.0(aws-crt@1.24.0) - '@aws-sdk/core': 3.709.0 - '@aws-sdk/credential-provider-node': 3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/middleware-host-header': 3.709.0 - '@aws-sdk/middleware-logger': 3.709.0 - '@aws-sdk/middleware-recursion-detection': 3.709.0 - '@aws-sdk/middleware-user-agent': 3.709.0 - '@aws-sdk/region-config-resolver': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-endpoints': 3.709.0 - '@aws-sdk/util-user-agent-browser': 3.709.0 - '@aws-sdk/util-user-agent-node': 3.712.0(aws-crt@1.24.0) - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.7 - '@smithy/fetch-http-handler': 4.1.3 - '@smithy/hash-node': 3.0.11 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.8 - '@smithy/middleware-retry': 3.0.34 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.34 - '@smithy/util-defaults-mode-node': 3.0.34 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/middleware-host-header': 3.734.0 + '@aws-sdk/middleware-logger': 3.734.0 + '@aws-sdk/middleware-recursion-detection': 3.734.0 + '@aws-sdk/middleware-user-agent': 3.734.0 + '@aws-sdk/region-config-resolver': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-endpoints': 3.734.0 + '@aws-sdk/util-user-agent-browser': 3.734.0 + '@aws-sdk/util-user-agent-node': 3.734.0(aws-crt@1.25.3) + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.2 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/middleware-retry': 4.0.4 + '@smithy/middleware-serde': 4.0.2 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.4 + '@smithy/util-defaults-mode-node': 4.0.4 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.712.0(aws-crt@1.24.0)': + '@aws-sdk/core@3.734.0': dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.709.0 - '@aws-sdk/middleware-host-header': 3.709.0 - '@aws-sdk/middleware-logger': 3.709.0 - '@aws-sdk/middleware-recursion-detection': 3.709.0 - '@aws-sdk/middleware-user-agent': 3.709.0 - '@aws-sdk/region-config-resolver': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-endpoints': 3.709.0 - '@aws-sdk/util-user-agent-browser': 3.709.0 - '@aws-sdk/util-user-agent-node': 3.712.0(aws-crt@1.24.0) - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.7 - '@smithy/fetch-http-handler': 4.1.3 - '@smithy/hash-node': 3.0.11 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.8 - '@smithy/middleware-retry': 3.0.34 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.34 - '@smithy/util-defaults-mode-node': 3.0.34 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/core': 3.709.0 - '@aws-sdk/credential-provider-node': 3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/middleware-host-header': 3.709.0 - '@aws-sdk/middleware-logger': 3.709.0 - '@aws-sdk/middleware-recursion-detection': 3.709.0 - '@aws-sdk/middleware-user-agent': 3.709.0 - '@aws-sdk/region-config-resolver': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-endpoints': 3.709.0 - '@aws-sdk/util-user-agent-browser': 3.709.0 - '@aws-sdk/util-user-agent-node': 3.712.0(aws-crt@1.24.0) - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.7 - '@smithy/fetch-http-handler': 4.1.3 - '@smithy/hash-node': 3.0.11 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.8 - '@smithy/middleware-retry': 3.0.34 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.34 - '@smithy/util-defaults-mode-node': 3.0.34 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/core@3.709.0': - dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/core': 2.5.7 - '@smithy/node-config-provider': 3.1.12 - '@smithy/property-provider': 3.1.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/signature-v4': 4.2.4 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 - '@smithy/util-middleware': 3.0.11 + '@aws-sdk/types': 3.734.0 + '@smithy/core': 3.1.2 + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/signature-v4': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/util-middleware': 4.0.1 fast-xml-parser: 4.4.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.709.0': + '@aws-sdk/credential-provider-env@3.734.0': dependencies: - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@smithy/property-provider': 3.1.11 - '@smithy/types': 3.7.2 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.709.0': + '@aws-sdk/credential-provider-http@3.734.0': dependencies: - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@smithy/fetch-http-handler': 4.1.3 - '@smithy/node-http-handler': 3.3.3 - '@smithy/property-provider': 3.1.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 - '@smithy/util-stream': 3.3.4 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/property-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/util-stream': 4.0.2 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0)': + '@aws-sdk/credential-provider-ini@3.741.0(aws-crt@1.25.3)': dependencies: - '@aws-sdk/client-sts': 3.712.0(aws-crt@1.24.0) - '@aws-sdk/core': 3.709.0 - '@aws-sdk/credential-provider-env': 3.709.0 - '@aws-sdk/credential-provider-http': 3.709.0 - '@aws-sdk/credential-provider-process': 3.709.0 - '@aws-sdk/credential-provider-sso': 3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)) - '@aws-sdk/types': 3.709.0 - '@smithy/credential-provider-imds': 3.2.8 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/credential-provider-env': 3.734.0 + '@aws-sdk/credential-provider-http': 3.734.0 + '@aws-sdk/credential-provider-process': 3.734.0 + '@aws-sdk/credential-provider-sso': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/credential-provider-web-identity': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/nested-clients': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/types': 3.734.0 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-node@3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0)': + '@aws-sdk/credential-provider-node@3.741.0(aws-crt@1.25.3)': dependencies: - '@aws-sdk/credential-provider-env': 3.709.0 - '@aws-sdk/credential-provider-http': 3.709.0 - '@aws-sdk/credential-provider-ini': 3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/credential-provider-process': 3.709.0 - '@aws-sdk/credential-provider-sso': 3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)) - '@aws-sdk/types': 3.709.0 - '@smithy/credential-provider-imds': 3.2.8 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 + '@aws-sdk/credential-provider-env': 3.734.0 + '@aws-sdk/credential-provider-http': 3.734.0 + '@aws-sdk/credential-provider-ini': 3.741.0(aws-crt@1.25.3) + '@aws-sdk/credential-provider-process': 3.734.0 + '@aws-sdk/credential-provider-sso': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/credential-provider-web-identity': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/types': 3.734.0 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - '@aws-sdk/client-sts' - aws-crt - '@aws-sdk/credential-provider-process@3.709.0': + '@aws-sdk/credential-provider-process@3.734.0': dependencies: - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.712.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))(aws-crt@1.24.0)': + '@aws-sdk/credential-provider-sso@3.734.0(aws-crt@1.25.3)': dependencies: - '@aws-sdk/client-sso': 3.712.0(aws-crt@1.24.0) - '@aws-sdk/core': 3.709.0 - '@aws-sdk/token-providers': 3.709.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0)) - '@aws-sdk/types': 3.709.0 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 + '@aws-sdk/client-sso': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/core': 3.734.0 + '@aws-sdk/token-providers': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))': + '@aws-sdk/credential-provider-web-identity@3.734.0(aws-crt@1.25.3)': dependencies: - '@aws-sdk/client-sts': 3.712.0(aws-crt@1.24.0) - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@smithy/property-provider': 3.1.11 - '@smithy/types': 3.7.2 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/nested-clients': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/middleware-bucket-endpoint@3.734.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-arn-parser': 3.723.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-bucket-endpoint@3.709.0': + '@aws-sdk/middleware-expect-continue@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-arn-parser': 3.693.0 - '@smithy/node-config-provider': 3.1.12 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - '@smithy/util-config-provider': 3.0.0 + '@aws-sdk/types': 3.734.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.709.0': - dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/middleware-flexible-checksums@3.709.0': + '@aws-sdk/middleware-flexible-checksums@3.735.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@smithy/is-array-buffer': 3.0.0 - '@smithy/node-config-provider': 3.1.12 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-stream': 3.3.4 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@smithy/is-array-buffer': 4.0.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-stream': 4.0.2 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.709.0': + '@aws-sdk/middleware-host-header@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 + '@aws-sdk/types': 3.734.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.709.0': + '@aws-sdk/middleware-location-constraint@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/types': 3.7.2 + '@aws-sdk/types': 3.734.0 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.709.0': + '@aws-sdk/middleware-logger@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/types': 3.7.2 + '@aws-sdk/types': 3.734.0 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.709.0': + '@aws-sdk/middleware-recursion-detection@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 + '@aws-sdk/types': 3.734.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.709.0': + '@aws-sdk/middleware-sdk-s3@3.740.0': dependencies: - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-arn-parser': 3.693.0 - '@smithy/core': 2.5.7 - '@smithy/node-config-provider': 3.1.12 - '@smithy/protocol-http': 4.1.8 - '@smithy/signature-v4': 4.2.4 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-stream': 3.3.4 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-arn-parser': 3.723.0 + '@smithy/core': 3.1.2 + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/signature-v4': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-stream': 4.0.2 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.709.0': + '@aws-sdk/middleware-ssec@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/types': 3.7.2 + '@aws-sdk/types': 3.734.0 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.709.0': + '@aws-sdk/middleware-user-agent@3.734.0': dependencies: - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-endpoints': 3.709.0 - '@smithy/core': 2.5.7 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-endpoints': 3.734.0 + '@smithy/core': 3.1.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/region-config-resolver@3.709.0': + '@aws-sdk/nested-clients@3.734.0(aws-crt@1.25.3)': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/node-config-provider': 3.1.12 - '@smithy/types': 3.7.2 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.11 - tslib: 2.8.1 - - '@aws-sdk/s3-presigned-post@3.712.0(aws-crt@1.24.0)': - dependencies: - '@aws-sdk/client-s3': 3.712.0(aws-crt@1.24.0) - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-format-url': 3.709.0 - '@smithy/middleware-endpoint': 3.2.8 - '@smithy/signature-v4': 4.2.4 - '@smithy/types': 3.7.2 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.734.0 + '@aws-sdk/middleware-host-header': 3.734.0 + '@aws-sdk/middleware-logger': 3.734.0 + '@aws-sdk/middleware-recursion-detection': 3.734.0 + '@aws-sdk/middleware-user-agent': 3.734.0 + '@aws-sdk/region-config-resolver': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-endpoints': 3.734.0 + '@aws-sdk/util-user-agent-browser': 3.734.0 + '@aws-sdk/util-user-agent-node': 3.734.0(aws-crt@1.25.3) + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.2 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/middleware-retry': 4.0.4 + '@smithy/middleware-serde': 4.0.2 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.4 + '@smithy/util-defaults-mode-node': 4.0.4 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/s3-request-presigner@3.712.0': + '@aws-sdk/region-config-resolver@3.734.0': dependencies: - '@aws-sdk/signature-v4-multi-region': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-format-url': 3.709.0 - '@smithy/middleware-endpoint': 3.2.8 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 + '@aws-sdk/types': 3.734.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.1 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.709.0': + '@aws-sdk/s3-presigned-post@3.741.0(aws-crt@1.25.3)': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/signature-v4': 4.2.4 - '@smithy/types': 3.7.2 + '@aws-sdk/client-s3': 3.741.0(aws-crt@1.25.3) + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-format-url': 3.734.0 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/signature-v4': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/s3-request-presigner@3.741.0': + dependencies: + '@aws-sdk/signature-v4-multi-region': 3.740.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-format-url': 3.734.0 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/token-providers@3.709.0(@aws-sdk/client-sso-oidc@3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0))': + '@aws-sdk/signature-v4-multi-region@3.740.0': dependencies: - '@aws-sdk/client-sso-oidc': 3.712.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))(aws-crt@1.24.0) - '@aws-sdk/types': 3.709.0 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 + '@aws-sdk/middleware-sdk-s3': 3.740.0 + '@aws-sdk/types': 3.734.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/signature-v4': 5.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/types@3.709.0': + '@aws-sdk/token-providers@3.734.0(aws-crt@1.25.3)': dependencies: - '@smithy/types': 3.7.2 + '@aws-sdk/nested-clients': 3.734.0(aws-crt@1.25.3) + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/types@3.734.0': + dependencies: + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@aws-sdk/util-arn-parser@3.693.0': + '@aws-sdk/util-arn-parser@3.723.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.709.0': + '@aws-sdk/util-endpoints@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/types': 3.7.2 - '@smithy/util-endpoints': 2.1.7 + '@aws-sdk/types': 3.734.0 + '@smithy/types': 4.1.0 + '@smithy/util-endpoints': 3.0.1 tslib: 2.8.1 - '@aws-sdk/util-format-url@3.709.0': + '@aws-sdk/util-format-url@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/querystring-builder': 3.0.11 - '@smithy/types': 3.7.2 + '@aws-sdk/types': 3.734.0 + '@smithy/querystring-builder': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 '@aws-sdk/util-locate-window@3.723.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.709.0': + '@aws-sdk/util-user-agent-browser@3.734.0': dependencies: - '@aws-sdk/types': 3.709.0 - '@smithy/types': 3.7.2 + '@aws-sdk/types': 3.734.0 + '@smithy/types': 4.1.0 bowser: 2.11.0 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.712.0(aws-crt@1.24.0)': + '@aws-sdk/util-user-agent-node@3.734.0(aws-crt@1.25.3)': dependencies: - '@aws-sdk/middleware-user-agent': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@smithy/node-config-provider': 3.1.12 - '@smithy/types': 3.7.2 + '@aws-sdk/middleware-user-agent': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 optionalDependencies: - aws-crt: 1.24.0 + aws-crt: 1.25.3 '@aws-sdk/util-utf8-browser@3.259.0': dependencies: tslib: 2.8.1 - '@aws-sdk/xml-builder@3.709.0': + '@aws-sdk/xml-builder@3.734.0': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 '@azure/abort-controller@2.1.2': @@ -19233,250 +19191,250 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@smithy/abort-controller@3.1.9': + '@smithy/abort-controller@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/chunked-blob-reader-native@3.0.1': + '@smithy/chunked-blob-reader-native@4.0.0': dependencies: - '@smithy/util-base64': 3.0.0 + '@smithy/util-base64': 4.0.0 tslib: 2.8.1 - '@smithy/chunked-blob-reader@4.0.0': + '@smithy/chunked-blob-reader@5.0.0': dependencies: tslib: 2.8.1 - '@smithy/config-resolver@3.0.13': + '@smithy/config-resolver@4.0.1': dependencies: - '@smithy/node-config-provider': 3.1.12 - '@smithy/types': 3.7.2 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.11 + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.1 tslib: 2.8.1 - '@smithy/core@2.5.7': + '@smithy/core@3.1.2': dependencies: - '@smithy/middleware-serde': 3.0.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-stream': 3.3.4 - '@smithy/util-utf8': 3.0.0 + '@smithy/middleware-serde': 4.0.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-stream': 4.0.2 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/credential-provider-imds@3.2.8': + '@smithy/credential-provider-imds@4.0.1': dependencies: - '@smithy/node-config-provider': 3.1.12 - '@smithy/property-provider': 3.1.11 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 tslib: 2.8.1 - '@smithy/eventstream-codec@3.1.10': + '@smithy/eventstream-codec@4.0.1': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 3.7.2 - '@smithy/util-hex-encoding': 3.0.0 + '@smithy/types': 4.1.0 + '@smithy/util-hex-encoding': 4.0.0 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@3.0.14': + '@smithy/eventstream-serde-browser@4.0.1': dependencies: - '@smithy/eventstream-serde-universal': 3.0.13 - '@smithy/types': 3.7.2 + '@smithy/eventstream-serde-universal': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@3.0.11': + '@smithy/eventstream-serde-config-resolver@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/eventstream-serde-node@3.0.13': + '@smithy/eventstream-serde-node@4.0.1': dependencies: - '@smithy/eventstream-serde-universal': 3.0.13 - '@smithy/types': 3.7.2 + '@smithy/eventstream-serde-universal': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@3.0.13': + '@smithy/eventstream-serde-universal@4.0.1': dependencies: - '@smithy/eventstream-codec': 3.1.10 - '@smithy/types': 3.7.2 + '@smithy/eventstream-codec': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/fetch-http-handler@4.1.3': + '@smithy/fetch-http-handler@5.0.1': dependencies: - '@smithy/protocol-http': 4.1.8 - '@smithy/querystring-builder': 3.0.11 - '@smithy/types': 3.7.2 - '@smithy/util-base64': 3.0.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/querystring-builder': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-base64': 4.0.0 tslib: 2.8.1 - '@smithy/hash-blob-browser@3.1.10': + '@smithy/hash-blob-browser@4.0.1': dependencies: - '@smithy/chunked-blob-reader': 4.0.0 - '@smithy/chunked-blob-reader-native': 3.0.1 - '@smithy/types': 3.7.2 + '@smithy/chunked-blob-reader': 5.0.0 + '@smithy/chunked-blob-reader-native': 4.0.0 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/hash-node@3.0.11': + '@smithy/hash-node@4.0.1': dependencies: - '@smithy/types': 3.7.2 - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/types': 4.1.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/hash-stream-node@3.1.10': + '@smithy/hash-stream-node@4.0.1': dependencies: - '@smithy/types': 3.7.2 - '@smithy/util-utf8': 3.0.0 + '@smithy/types': 4.1.0 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/invalid-dependency@3.0.11': + '@smithy/invalid-dependency@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': dependencies: tslib: 2.8.1 - '@smithy/is-array-buffer@3.0.0': + '@smithy/is-array-buffer@4.0.0': dependencies: tslib: 2.8.1 - '@smithy/md5-js@3.0.11': + '@smithy/md5-js@4.0.1': dependencies: - '@smithy/types': 3.7.2 - '@smithy/util-utf8': 3.0.0 + '@smithy/types': 4.1.0 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/middleware-content-length@3.0.13': + '@smithy/middleware-content-length@4.0.1': dependencies: - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/middleware-endpoint@3.2.8': + '@smithy/middleware-endpoint@4.0.3': dependencies: - '@smithy/core': 2.5.7 - '@smithy/middleware-serde': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-middleware': 3.0.11 + '@smithy/core': 3.1.2 + '@smithy/middleware-serde': 4.0.2 + '@smithy/node-config-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-middleware': 4.0.1 tslib: 2.8.1 - '@smithy/middleware-retry@3.0.34': + '@smithy/middleware-retry@4.0.4': dependencies: - '@smithy/node-config-provider': 3.1.12 - '@smithy/protocol-http': 4.1.8 - '@smithy/service-error-classification': 3.0.11 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/service-error-classification': 4.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 tslib: 2.8.1 uuid: 9.0.1 - '@smithy/middleware-serde@3.0.11': + '@smithy/middleware-serde@4.0.2': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/middleware-stack@3.0.11': + '@smithy/middleware-stack@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/node-config-provider@3.1.12': + '@smithy/node-config-provider@4.0.1': dependencies: - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/node-http-handler@3.3.3': + '@smithy/node-http-handler@4.0.2': dependencies: - '@smithy/abort-controller': 3.1.9 - '@smithy/protocol-http': 4.1.8 - '@smithy/querystring-builder': 3.0.11 - '@smithy/types': 3.7.2 + '@smithy/abort-controller': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/querystring-builder': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/property-provider@3.1.11': + '@smithy/property-provider@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/protocol-http@4.1.8': + '@smithy/protocol-http@5.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/querystring-builder@3.0.11': + '@smithy/querystring-builder@4.0.1': dependencies: - '@smithy/types': 3.7.2 - '@smithy/util-uri-escape': 3.0.0 + '@smithy/types': 4.1.0 + '@smithy/util-uri-escape': 4.0.0 tslib: 2.8.1 - '@smithy/querystring-parser@3.0.11': + '@smithy/querystring-parser@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/service-error-classification@3.0.11': + '@smithy/service-error-classification@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 - '@smithy/shared-ini-file-loader@3.1.12': + '@smithy/shared-ini-file-loader@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/signature-v4@4.2.4': + '@smithy/signature-v4@5.0.1': dependencies: - '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-uri-escape': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/is-array-buffer': 4.0.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-uri-escape': 4.0.0 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/smithy-client@3.7.0': + '@smithy/smithy-client@4.1.3': dependencies: - '@smithy/core': 2.5.7 - '@smithy/middleware-endpoint': 3.2.8 - '@smithy/middleware-stack': 3.0.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - '@smithy/util-stream': 3.3.4 + '@smithy/core': 3.1.2 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/middleware-stack': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-stream': 4.0.2 tslib: 2.8.1 - '@smithy/types@3.7.2': + '@smithy/types@4.1.0': dependencies: tslib: 2.8.1 - '@smithy/url-parser@3.0.11': + '@smithy/url-parser@4.0.1': dependencies: - '@smithy/querystring-parser': 3.0.11 - '@smithy/types': 3.7.2 + '@smithy/querystring-parser': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/util-base64@3.0.0': + '@smithy/util-base64@4.0.0': dependencies: - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/util-body-length-browser@3.0.0': + '@smithy/util-body-length-browser@4.0.0': dependencies: tslib: 2.8.1 - '@smithy/util-body-length-node@3.0.0': + '@smithy/util-body-length-node@4.0.0': dependencies: tslib: 2.8.1 @@ -19485,66 +19443,66 @@ snapshots: '@smithy/is-array-buffer': 2.2.0 tslib: 2.8.1 - '@smithy/util-buffer-from@3.0.0': + '@smithy/util-buffer-from@4.0.0': dependencies: - '@smithy/is-array-buffer': 3.0.0 + '@smithy/is-array-buffer': 4.0.0 tslib: 2.8.1 - '@smithy/util-config-provider@3.0.0': + '@smithy/util-config-provider@4.0.0': dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@3.0.34': + '@smithy/util-defaults-mode-browser@4.0.4': dependencies: - '@smithy/property-provider': 3.1.11 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 + '@smithy/property-provider': 4.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 bowser: 2.11.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@3.0.34': + '@smithy/util-defaults-mode-node@4.0.4': dependencies: - '@smithy/config-resolver': 3.0.13 - '@smithy/credential-provider-imds': 3.2.8 - '@smithy/node-config-provider': 3.1.12 - '@smithy/property-provider': 3.1.11 - '@smithy/smithy-client': 3.7.0 - '@smithy/types': 3.7.2 + '@smithy/config-resolver': 4.0.1 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/util-endpoints@2.1.7': + '@smithy/util-endpoints@3.0.1': dependencies: - '@smithy/node-config-provider': 3.1.12 - '@smithy/types': 3.7.2 + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/util-hex-encoding@3.0.0': + '@smithy/util-hex-encoding@4.0.0': dependencies: tslib: 2.8.1 - '@smithy/util-middleware@3.0.11': + '@smithy/util-middleware@4.0.1': dependencies: - '@smithy/types': 3.7.2 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/util-retry@3.0.11': + '@smithy/util-retry@4.0.1': dependencies: - '@smithy/service-error-classification': 3.0.11 - '@smithy/types': 3.7.2 + '@smithy/service-error-classification': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 - '@smithy/util-stream@3.3.4': + '@smithy/util-stream@4.0.2': dependencies: - '@smithy/fetch-http-handler': 4.1.3 - '@smithy/node-http-handler': 3.3.3 - '@smithy/types': 3.7.2 - '@smithy/util-base64': 3.0.0 - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/types': 4.1.0 + '@smithy/util-base64': 4.0.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/util-uri-escape@3.0.0': + '@smithy/util-uri-escape@4.0.0': dependencies: tslib: 2.8.1 @@ -19553,15 +19511,15 @@ snapshots: '@smithy/util-buffer-from': 2.2.0 tslib: 2.8.1 - '@smithy/util-utf8@3.0.0': + '@smithy/util-utf8@4.0.0': dependencies: - '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-buffer-from': 4.0.0 tslib: 2.8.1 - '@smithy/util-waiter@3.2.0': + '@smithy/util-waiter@4.0.2': dependencies: - '@smithy/abort-controller': 3.1.9 - '@smithy/types': 3.7.2 + '@smithy/abort-controller': 4.0.1 + '@smithy/types': 4.1.0 tslib: 2.8.1 '@storybook/addon-a11y@8.4.7(storybook@8.4.7(prettier@3.4.2))': @@ -19832,18 +19790,17 @@ snapshots: dependencies: tslib: 2.8.1 - '@t3-oss/env-core@0.11.1(typescript@5.7.2)(zod@3.24.1)': - dependencies: - zod: 3.24.1 + '@t3-oss/env-core@0.12.0(typescript@5.7.2)(zod@3.24.1)': optionalDependencies: typescript: 5.7.2 + zod: 3.24.1 - '@t3-oss/env-nextjs@0.11.1(typescript@5.7.2)(zod@3.24.1)': + '@t3-oss/env-nextjs@0.12.0(typescript@5.7.2)(zod@3.24.1)': dependencies: - '@t3-oss/env-core': 0.11.1(typescript@5.7.2)(zod@3.24.1) - zod: 3.24.1 + '@t3-oss/env-core': 0.12.0(typescript@5.7.2)(zod@3.24.1) optionalDependencies: typescript: 5.7.2 + zod: 3.24.1 '@tailwindcss/forms@0.5.9(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': dependencies: @@ -20018,8 +19975,9 @@ snapshots: '@types/json5@0.0.29': {} - '@types/jsonwebtoken@9.0.7': + '@types/jsonwebtoken@9.0.8': dependencies: + '@types/ms': 2.1.0 '@types/node': 22.10.2 '@types/linkify-it@5.0.0': {} @@ -20394,7 +20352,7 @@ snapshots: '@typescript-eslint/types': 8.22.0 eslint-visitor-keys: 4.2.0 - '@ungap/structured-clone@1.2.1': {} + '@ungap/structured-clone@1.3.0': {} '@urql/core@5.1.0': dependencies: @@ -20408,9 +20366,9 @@ snapshots: '@urql/core': 5.1.0 wonka: 6.3.4 - '@vercel/functions@1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)))': + '@vercel/functions@1.5.2(@aws-sdk/credential-provider-web-identity@3.734.0)': optionalDependencies: - '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)) + '@aws-sdk/credential-provider-web-identity': 3.734.0(aws-crt@1.25.3) '@vercel/og@0.6.4': dependencies: @@ -20433,7 +20391,7 @@ snapshots: next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 - '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 '@babel/eslint-parser': 7.26.5(@babel/core@7.26.0)(eslint@8.57.0) @@ -20453,7 +20411,7 @@ snapshots: eslint-plugin-testing-library: 6.5.0(eslint@8.57.0)(typescript@5.7.2) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) - eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) prettier-plugin-packagejson: 2.5.8(prettier@3.4.2) optionalDependencies: '@next/eslint-plugin-next': 15.1.0 @@ -20510,13 +20468,12 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/expect@3.0.4': + '@vitest/expect@3.0.5': dependencies: - '@vitest/spy': 3.0.4 - '@vitest/utils': 3.0.4 + '@vitest/spy': 3.0.5 + '@vitest/utils': 3.0.5 chai: 5.1.2 tinyrainbow: 2.0.0 - optional: true '@vitest/mocker@2.1.8(vite@5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0))': dependencies: @@ -20526,14 +20483,13 @@ snapshots: optionalDependencies: vite: 5.4.14(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0) - '@vitest/mocker@3.0.4(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@vitest/mocker@3.0.5(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: - '@vitest/spy': 3.0.4 + '@vitest/spy': 3.0.5 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) - optional: true '@vitest/pretty-format@2.0.5': dependencies: @@ -20543,21 +20499,19 @@ snapshots: dependencies: tinyrainbow: 1.2.0 - '@vitest/pretty-format@3.0.4': + '@vitest/pretty-format@3.0.5': dependencies: tinyrainbow: 2.0.0 - optional: true '@vitest/runner@2.1.8': dependencies: '@vitest/utils': 2.1.8 pathe: 1.1.2 - '@vitest/runner@3.0.4': + '@vitest/runner@3.0.5': dependencies: - '@vitest/utils': 3.0.4 + '@vitest/utils': 3.0.5 pathe: 2.0.2 - optional: true '@vitest/snapshot@2.1.8': dependencies: @@ -20565,12 +20519,11 @@ snapshots: magic-string: 0.30.17 pathe: 1.1.2 - '@vitest/snapshot@3.0.4': + '@vitest/snapshot@3.0.5': dependencies: - '@vitest/pretty-format': 3.0.4 + '@vitest/pretty-format': 3.0.5 magic-string: 0.30.17 pathe: 2.0.2 - optional: true '@vitest/spy@2.0.5': dependencies: @@ -20580,10 +20533,9 @@ snapshots: dependencies: tinyspy: 3.0.2 - '@vitest/spy@3.0.4': + '@vitest/spy@3.0.5': dependencies: tinyspy: 3.0.2 - optional: true '@vitest/utils@2.0.5': dependencies: @@ -20598,12 +20550,11 @@ snapshots: loupe: 3.1.3 tinyrainbow: 1.2.0 - '@vitest/utils@3.0.4': + '@vitest/utils@3.0.5': dependencies: - '@vitest/pretty-format': 3.0.4 + '@vitest/pretty-format': 3.0.5 loupe: 3.1.3 tinyrainbow: 2.0.0 - optional: true '@volar/language-core@2.4.11': dependencies: @@ -20778,15 +20729,14 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@4.0.18(react@19.0.0)(zod@3.24.1): + ai@4.1.17(react@19.0.0)(zod@3.24.1): dependencies: - '@ai-sdk/provider': 1.0.2 - '@ai-sdk/provider-utils': 2.0.4(zod@3.24.1) - '@ai-sdk/react': 1.0.6(react@19.0.0)(zod@3.24.1) - '@ai-sdk/ui-utils': 1.0.5(zod@3.24.1) + '@ai-sdk/provider': 1.0.7 + '@ai-sdk/provider-utils': 2.1.6(zod@3.24.1) + '@ai-sdk/react': 1.1.8(react@19.0.0)(zod@3.24.1) + '@ai-sdk/ui-utils': 1.1.8(zod@3.24.1) '@opentelemetry/api': 1.9.0 jsondiffpatch: 0.6.0 - zod-to-json-schema: 3.24.1(zod@3.24.1) optionalDependencies: react: 19.0.0 zod: 3.24.1 @@ -21100,7 +21050,7 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - aws-crt@1.24.0: + aws-crt@1.25.3: dependencies: '@aws-sdk/util-utf8-browser': 3.259.0 '@httptoolkit/websocket-stream': 6.0.1 @@ -22617,7 +22567,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.0) eslint-plugin-react: 7.37.2(eslint@8.57.0) eslint-plugin-react-hooks: 5.1.0(eslint@8.57.0) @@ -22639,7 +22589,7 @@ snapshots: eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0): dependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) eslint-import-resolver-node@0.3.9: dependencies: @@ -22661,7 +22611,7 @@ snapshots: is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -22738,7 +22688,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -22887,13 +22837,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2) - vitest: 3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vitest: 3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript @@ -22923,7 +22873,7 @@ snapshots: '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.1 + '@ungap/structured-clone': 1.3.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 @@ -24596,9 +24546,9 @@ snapshots: dependencies: mustache: 4.2.0 - langfuse-vercel@3.31.3(ai@4.0.18(react@19.0.0)(zod@3.24.1)): + langfuse-vercel@3.31.3(ai@4.1.17(react@19.0.0)(zod@3.24.1)): dependencies: - ai: 4.0.18(react@19.0.0)(zod@3.24.1) + ai: 4.1.17(react@19.0.0)(zod@3.24.1) langfuse: 3.33.1 langfuse-core: 3.33.1 @@ -25083,7 +25033,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.1 + '@ungap/structured-clone': 1.3.0 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -26768,10 +26718,9 @@ snapshots: preact: 10.25.2 web-vitals: 4.2.4 - posthog-node@4.3.2: + posthog-node@4.4.1: dependencies: axios: 1.7.9 - rusha: 0.8.14 transitivePeerDependencies: - debug @@ -27773,8 +27722,6 @@ snapshots: dependencies: queue-microtask: 1.2.3 - rusha@0.8.14: {} - rxjs@7.8.1: dependencies: tslib: 2.8.1 @@ -28518,6 +28465,8 @@ snapshots: tailwind-merge@2.5.5: {} + tailwind-merge@3.0.1: {} + tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 @@ -28677,8 +28626,7 @@ snapshots: tinyrainbow@1.2.0: {} - tinyrainbow@2.0.0: - optional: true + tinyrainbow@2.0.0: {} tinyspy@3.0.2: {} @@ -29175,7 +29123,7 @@ snapshots: - supports-color - terser - vite-node@3.0.4(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): + vite-node@3.0.5(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 @@ -29195,7 +29143,6 @@ snapshots: - terser - tsx - yaml - optional: true vite-plugin-dts@4.3.0(@types/node@22.10.2)(rollup@4.32.1)(typescript@5.7.2)(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: @@ -29266,6 +29213,12 @@ snapshots: typescript: 5.7.2 vitest: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0) + vitest-mock-extended@2.0.2(typescript@5.7.2)(vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + dependencies: + ts-essentials: 10.0.4(typescript@5.7.2) + typescript: 5.7.2 + vitest: 3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 @@ -29302,15 +29255,15 @@ snapshots: - supports-color - terser - vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): + vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.10.2)(jiti@2.4.1)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): dependencies: - '@vitest/expect': 3.0.4 - '@vitest/mocker': 3.0.4(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) - '@vitest/pretty-format': 3.0.4 - '@vitest/runner': 3.0.4 - '@vitest/snapshot': 3.0.4 - '@vitest/spy': 3.0.4 - '@vitest/utils': 3.0.4 + '@vitest/expect': 3.0.5 + '@vitest/mocker': 3.0.5(vite@6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + '@vitest/pretty-format': 3.0.5 + '@vitest/runner': 3.0.5 + '@vitest/snapshot': 3.0.5 + '@vitest/spy': 3.0.5 + '@vitest/utils': 3.0.5 chai: 5.1.2 debug: 4.4.0 expect-type: 1.1.0 @@ -29322,7 +29275,7 @@ snapshots: tinypool: 1.0.2 tinyrainbow: 2.0.0 vite: 6.0.9(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) - vite-node: 3.0.4(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite-node: 3.0.5(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.27.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -29341,7 +29294,6 @@ snapshots: - terser - tsx - yaml - optional: true vlq@1.0.1: {} From bb6df783ab3a5dfc53bc71544dfc02031b3a936d Mon Sep 17 00:00:00 2001 From: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com> Date: Tue, 4 Feb 2025 21:02:04 +0530 Subject: [PATCH 16/44] feat: react native sdk v2 (#4616) Co-authored-by: Piyush Gupta --- apps/demo-react-native/.env.example | 4 +- apps/demo-react-native/app.json | 1 + apps/demo-react-native/package.json | 9 +- apps/demo-react-native/src/app.tsx | 110 +++- .../app/app-surveys/framework-guides/page.mdx | 10 +- .../environment/lib/environmentState.ts | 6 +- .../[environmentId]/environment/route.ts | 10 +- .../v1/client/[environmentId]/user/route.ts | 3 + .../ee/billing/components/pricing-table.tsx | 1 - apps/web/modules/ee/contacts/actions.ts | 4 +- .../[userId]/attributes/lib/contact.ts | 2 +- .../contacts/[userId]/attributes/route.ts | 29 +- .../identify/contacts/[userId]/route.ts | 4 +- .../[environmentId]/user/lib/contact.ts | 39 ++ .../[environmentId]/user/lib/segments.ts | 82 +++ .../[environmentId]/user/lib/update-user.ts | 129 +++++ .../[environmentId]/user/lib/user-state.ts | 89 +++ .../api/client/[environmentId]/user/route.ts | 92 +++ .../attributes => }/lib/attributes.ts | 60 +- apps/web/modules/ee/contacts/lib/contacts.ts | 3 + .../edit-memberships/member-actions.tsx | 1 - packages/api/src/api/client/attribute.ts | 4 +- packages/api/src/api/client/environment.ts | 18 + packages/api/src/api/client/index.ts | 6 + packages/api/src/api/client/user.ts | 44 ++ .../react-native-library.json | 3 +- packages/js-core/src/lib/attributes.ts | 28 +- packages/js-core/src/lib/constants.ts | 1 - packages/js-core/src/lib/environment-state.ts | 7 +- packages/react-native/README.md | 12 +- packages/react-native/package.json | 19 +- .../src/{ => components}/formbricks.tsx | 23 +- .../src/{ => components}/survey-web-view.tsx | 136 ++--- packages/react-native/src/index.ts | 44 +- packages/react-native/src/lib/attributes.ts | 57 -- .../src/lib/{ => common}/command-queue.ts | 13 +- .../src/lib/{ => common}/config.ts | 24 +- .../src/lib/{ => common}/event-listeners.ts | 12 +- .../lib/{storage.ts => common/file-upload.ts} | 12 +- .../react-native/src/lib/common/initialize.ts | 281 +++++++++ .../react-native/src/lib/common/logger.ts | 50 ++ .../src/lib/common/response-queue.ts | 119 ++++ .../react-native/src/lib/common/storage.ts | 9 + .../lib/common/tests/__mocks__/config.mock.ts | 126 ++++ .../tests/__mocks__/response-queue.mock.ts | 10 + .../lib/common/tests/command-queue.test.ts | 165 ++++++ .../src/lib/common/tests/config.test.ts | 127 ++++ .../src/lib/common/tests/file-upload.test.ts | 186 ++++++ .../src/lib/common/tests/initialize.test.ts | 366 ++++++++++++ .../src/lib/common/tests/logger.test.ts | 82 +++ .../lib/common/tests/response-queue.test.ts | 224 ++++++++ .../src/lib/common/tests/utils.test.ts | 394 +++++++++++++ packages/react-native/src/lib/common/utils.ts | 170 ++++++ .../react-native/src/lib/environment-state.ts | 130 ----- .../react-native/src/lib/environment/state.ts | 118 ++++ .../src/lib/environment/tests/state.test.ts | 306 ++++++++++ packages/react-native/src/lib/index.ts | 21 - packages/react-native/src/lib/initialize.ts | 274 --------- packages/react-native/src/lib/person-state.ts | 135 ----- packages/react-native/src/lib/person.ts | 30 - .../src/lib/{actions.ts => survey/action.ts} | 51 +- packages/react-native/src/lib/survey/state.ts | 98 ++++ .../lib/{survey-store.ts => survey/store.ts} | 15 +- .../lib/survey/tests/__mocks__/state.mock.ts | 8 + .../lib/survey/tests/__mocks__/store.mock.ts | 2 + .../src/lib/survey/tests/action.test.ts | 176 ++++++ .../src/lib/survey/tests/state.test.ts | 158 +++++ .../src/lib/survey/tests/store.test.ts | 129 +++++ .../react-native/src/lib/user/attribute.ts | 12 + packages/react-native/src/lib/user/state.ts | 54 ++ .../user/tests/__mocks__/update-queue.mock.ts | 6 + .../lib/user/tests/__mocks__/update.mock.ts | 7 + .../src/lib/user/tests/attribute.test.ts | 76 +++ .../src/lib/user/tests/state.test.ts | 103 ++++ .../src/lib/user/tests/update-queue.test.ts | 161 ++++++ .../src/lib/user/tests/update.test.ts | 221 +++++++ .../src/lib/user/tests/user.test.ts | 176 ++++++ .../react-native/src/lib/user/update-queue.ts | 153 +++++ packages/react-native/src/lib/user/update.ts | 114 ++++ packages/react-native/src/lib/user/user.ts | 63 ++ packages/react-native/src/types/config.ts | 154 +++++ packages/react-native/src/types/error.ts | 65 +++ packages/react-native/src/types/response.ts | 44 ++ packages/react-native/src/types/storage.ts | 35 ++ packages/react-native/src/types/survey.ts | 35 ++ packages/react-native/tsconfig.json | 4 + packages/react-native/vite.config.ts | 25 +- packages/react-native/vitest.setup.ts | 28 + packages/types/js.ts | 10 +- pnpm-lock.yaml | 541 ++++++++++-------- turbo.json | 3 + 91 files changed, 6021 insertions(+), 1180 deletions(-) create mode 100644 apps/web/app/api/v1/client/[environmentId]/user/route.ts create mode 100644 apps/web/modules/ee/contacts/api/client/[environmentId]/user/lib/contact.ts create mode 100644 apps/web/modules/ee/contacts/api/client/[environmentId]/user/lib/segments.ts create mode 100644 apps/web/modules/ee/contacts/api/client/[environmentId]/user/lib/update-user.ts create mode 100644 apps/web/modules/ee/contacts/api/client/[environmentId]/user/lib/user-state.ts create mode 100644 apps/web/modules/ee/contacts/api/client/[environmentId]/user/route.ts rename apps/web/modules/ee/contacts/{api/client/[environmentId]/contacts/[userId]/attributes => }/lib/attributes.ts (75%) create mode 100644 packages/api/src/api/client/environment.ts create mode 100644 packages/api/src/api/client/user.ts rename packages/react-native/src/{ => components}/formbricks.tsx (60%) rename packages/react-native/src/{ => components}/survey-web-view.tsx (77%) delete mode 100644 packages/react-native/src/lib/attributes.ts rename packages/react-native/src/lib/{ => common}/command-queue.ts (82%) rename packages/react-native/src/lib/{ => common}/config.ts (73%) rename packages/react-native/src/lib/{ => common}/event-listeners.ts (71%) rename packages/react-native/src/lib/{storage.ts => common/file-upload.ts} (91%) create mode 100644 packages/react-native/src/lib/common/initialize.ts create mode 100644 packages/react-native/src/lib/common/logger.ts create mode 100644 packages/react-native/src/lib/common/response-queue.ts create mode 100644 packages/react-native/src/lib/common/storage.ts create mode 100644 packages/react-native/src/lib/common/tests/__mocks__/config.mock.ts create mode 100644 packages/react-native/src/lib/common/tests/__mocks__/response-queue.mock.ts create mode 100644 packages/react-native/src/lib/common/tests/command-queue.test.ts create mode 100644 packages/react-native/src/lib/common/tests/config.test.ts create mode 100644 packages/react-native/src/lib/common/tests/file-upload.test.ts create mode 100644 packages/react-native/src/lib/common/tests/initialize.test.ts create mode 100644 packages/react-native/src/lib/common/tests/logger.test.ts create mode 100644 packages/react-native/src/lib/common/tests/response-queue.test.ts create mode 100644 packages/react-native/src/lib/common/tests/utils.test.ts create mode 100644 packages/react-native/src/lib/common/utils.ts delete mode 100644 packages/react-native/src/lib/environment-state.ts create mode 100644 packages/react-native/src/lib/environment/state.ts create mode 100644 packages/react-native/src/lib/environment/tests/state.test.ts delete mode 100644 packages/react-native/src/lib/index.ts delete mode 100644 packages/react-native/src/lib/initialize.ts delete mode 100644 packages/react-native/src/lib/person-state.ts delete mode 100644 packages/react-native/src/lib/person.ts rename packages/react-native/src/lib/{actions.ts => survey/action.ts} (52%) create mode 100644 packages/react-native/src/lib/survey/state.ts rename packages/react-native/src/lib/{survey-store.ts => survey/store.ts} (68%) create mode 100644 packages/react-native/src/lib/survey/tests/__mocks__/state.mock.ts create mode 100644 packages/react-native/src/lib/survey/tests/__mocks__/store.mock.ts create mode 100644 packages/react-native/src/lib/survey/tests/action.test.ts create mode 100644 packages/react-native/src/lib/survey/tests/state.test.ts create mode 100644 packages/react-native/src/lib/survey/tests/store.test.ts create mode 100644 packages/react-native/src/lib/user/attribute.ts create mode 100644 packages/react-native/src/lib/user/state.ts create mode 100644 packages/react-native/src/lib/user/tests/__mocks__/update-queue.mock.ts create mode 100644 packages/react-native/src/lib/user/tests/__mocks__/update.mock.ts create mode 100644 packages/react-native/src/lib/user/tests/attribute.test.ts create mode 100644 packages/react-native/src/lib/user/tests/state.test.ts create mode 100644 packages/react-native/src/lib/user/tests/update-queue.test.ts create mode 100644 packages/react-native/src/lib/user/tests/update.test.ts create mode 100644 packages/react-native/src/lib/user/tests/user.test.ts create mode 100644 packages/react-native/src/lib/user/update-queue.ts create mode 100644 packages/react-native/src/lib/user/update.ts create mode 100644 packages/react-native/src/lib/user/user.ts create mode 100644 packages/react-native/src/types/config.ts create mode 100644 packages/react-native/src/types/error.ts create mode 100644 packages/react-native/src/types/response.ts create mode 100644 packages/react-native/src/types/storage.ts create mode 100644 packages/react-native/src/types/survey.ts create mode 100644 packages/react-native/vitest.setup.ts diff --git a/apps/demo-react-native/.env.example b/apps/demo-react-native/.env.example index 3a2d97bdc4..340aecb341 100644 --- a/apps/demo-react-native/.env.example +++ b/apps/demo-react-native/.env.example @@ -1,2 +1,2 @@ -EXPO_PUBLIC_API_HOST=http://192.168.178.20:3000 -EXPO_PUBLIC_FORMBRICKS_ENVIRONMENT_ID=clzr04nkd000bcdl110j0ijyq +EXPO_PUBLIC_APP_URL=http://192.168.0.197:3000 +EXPO_PUBLIC_FORMBRICKS_ENVIRONMENT_ID=cm5p0cs7r000819182b32j0a1 \ No newline at end of file diff --git a/apps/demo-react-native/app.json b/apps/demo-react-native/app.json index 66cd17cbb8..31d6cb2a53 100644 --- a/apps/demo-react-native/app.json +++ b/apps/demo-react-native/app.json @@ -18,6 +18,7 @@ }, "jsEngine": "hermes", "name": "react-native-demo", + "newArchEnabled": true, "orientation": "portrait", "slug": "react-native-demo", "splash": { diff --git a/apps/demo-react-native/package.json b/apps/demo-react-native/package.json index 4dc5955136..acd06c3451 100644 --- a/apps/demo-react-native/package.json +++ b/apps/demo-react-native/package.json @@ -13,16 +13,17 @@ "dependencies": { "@formbricks/js": "workspace:*", "@formbricks/react-native": "workspace:*", - "expo": "52.0.18", - "expo-status-bar": "2.0.0", + "@react-native-async-storage/async-storage": "2.1.0", + "expo": "52.0.28", + "expo-status-bar": "2.0.1", "react": "18.3.1", "react-dom": "18.3.1", - "react-native": "0.76.5", + "react-native": "0.76.6", "react-native-webview": "13.12.5" }, "devDependencies": { "@babel/core": "7.26.0", - "@types/react": "19.0.1", + "@types/react": "18.3.18", "typescript": "5.7.2" }, "private": true diff --git a/apps/demo-react-native/src/app.tsx b/apps/demo-react-native/src/app.tsx index 28e0f50552..a4816481e3 100644 --- a/apps/demo-react-native/src/app.tsx +++ b/apps/demo-react-native/src/app.tsx @@ -1,7 +1,14 @@ import { StatusBar } from "expo-status-bar"; import React, { type JSX } from "react"; import { Button, LogBox, StyleSheet, Text, View } from "react-native"; -import Formbricks, { track } from "@formbricks/react-native"; +import Formbricks, { + logout, + setAttribute, + setAttributes, + setLanguage, + setUserId, + track, +} from "@formbricks/react-native"; LogBox.ignoreAllLogs(); @@ -10,35 +17,92 @@ export default function App(): JSX.Element { throw new Error("EXPO_PUBLIC_FORMBRICKS_ENVIRONMENT_ID is required"); } - if (!process.env.EXPO_PUBLIC_API_HOST) { - throw new Error("EXPO_PUBLIC_API_HOST is required"); + if (!process.env.EXPO_PUBLIC_APP_URL) { + throw new Error("EXPO_PUBLIC_APP_URL is required"); } - const config = { - environmentId: process.env.EXPO_PUBLIC_FORMBRICKS_ENVIRONMENT_ID as string, - apiHost: process.env.EXPO_PUBLIC_API_HOST as string, - userId: "random-user-id", - attributes: { - language: "en", - testAttr: "attr-test", - }, - }; - return ( Formbricks React Native SDK Demo -